@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&family=Urbanist:ital,wght@0,100..900;1,100..900&display=swap');
body,html{font-family:'Noto Sans JP',sans-serif!important;text-align:justify;text-justify:inter-ideograph;text-transform:none;font-variant:normal;word-spacing:auto;word-break:normal;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;font-feature-settings:"palt";}html{width:100%;font-size:62.5%;height: -webkit-fill-available;}body{background-color:#1a3a26;letter-spacing:0.06em;line-height:1.4;margin:0;padding:0;width:100%;overflow-y:auto;overflow-x:hidden;position:relative;-webkit-font-feature-settings:'palt' 1;font-feature-settings:'palt' 1;text-align:justify;text-justify:inter-ideograph;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing: grayscale;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;-o-text-size-adjust:100%;text-size-adjust:100%;-webkit-overflow-scrolling:touch;color:#313029;min-height: 100vh;}div,h1,h2,h3,h4,h5,p,ul,li,dl,dt,dd{margin:0;padding:0;}a{text-decoration:none;display: block;outline:none;-webkit-transition:all 0.3s ease 0s;transition:all 0.3s ease 0s;}a:-webkit-any-link{color:-webkit-link;text-decoration: none;cursor:pointer;display:inline;border-style:none;}a img{border-style:none;outline:none;}a:focus{border-style:none;outline:none;}a img:active{border-style:none;outline:none;}a:active{border-style:none;outline:none;}img{height: auto;max-width: 100%;display: block;}a:hover{opacity:0.5;}::selection{background-color:rgba(215,215,215,0.35);background-color:rgb(215 215 215 / 35%);}ul,ul li{list-style-type:none;}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}p{display:block;-webkit-margin-before:1em;-webkit-margin-after:1em;-webkit-margin-start:0px;-webkit-margin-end:0px;margin:0;font-size:14px;}br{line-height:1;}input[type="text"],input[type="password"],textarea,select,input[type="url"],input[type="date"],input[type=submit],input[type=file], input[type=checkbox]{outline:none;}select{-moz-appearance:none;text-indent:0.01px;text-overflow:'';}select::-ms-expand{display: none;}textarea{overflow:hidden;}[class^="icon-"],[class*="icon-"]{font-family:'icomoon';color:#ffffff;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}img[src$=".svg"]{width:100%;}svg {fill:currentColor;width:100%;}
div,h1,h2,h3,h4,h5,p,ul,li,dl,dt,dd,span,a{font-weight:500;box-sizing:border-box;}
::-webkit-scrollbar{width:10px;}::-webkit-scrollbar-track{background:#fff;border:none;border-radius:0;box-shadow:inset 0 0 1px #777;}::-webkit-scrollbar-thumb{background:#D0D0D0;border-radius:100px;box-shadow:none;}
video{max-width: 100%;width: 100%;height: auto;vertical-align: bottom;}
/*------------------------------------------------
common
------------------------------------------------*/
br.PcNone {display: none;}br.PcIpadNone {display: none;}.PcBlock{display: block!important;}.SpBlock{display: none!important;}
@media screen and (max-width: 751px) {br.PcNone {display: none;}br.PcIpadNone {display: block;}}
@media screen and (max-width: 681px) {.PcBlock{display: none!important;}.SpBlock{display: block!important;}}
@media screen and (max-width: 481px) {br.PcNone {display: block;}br.PcIpadNone {display: none;}br.SpNone {display: none;}}
img,input,svg,*:before,*:after,a,a:hover img,a:hover input,a:hover,input:hover {backface-visibility: hidden;-webkit-backface-visibility: hidden;}
img {image-rendering:-webkit-optimize-contrast;width:100%;}
/*------ Loading ------*/
.Header,.Footer,.Main {opacity: 0;visibility: hidden;-webkit-transition: opacity .8s ease 1s;transition: opacity .8s ease 1s}
/*------ アニメーション ------*/
.js-fadeup{opacity:0;transform:translate3d(0,50px,0);transition-property:opacity,transform;transition-duration:1s;transition-timing-function:cubic-bezier(.25,.1,.25,1);transition-delay:0s;will-change:opacity,transform;}
.js-fadeup.is-inview{opacity:1;transform:translate3d(0,0,0);}
/*------ Header ------*/
.Header {position: relative;z-index: 99;width: 100%;}
.Header_Line {background: #088A11;}
.Header .Header_Inner {padding-block: 20px;padding-inline: 40px;}
.Header .header__logo a{display: block;max-width: 110px;}
/*------ Footer ------*/
.Footer_Line {background: #fff;}
.Footer_Inner {padding-block: 15px;padding-inline: 60px;}
.footer__content {display: flex;gap: 20px;justify-content: space-between;align-items: center;}
.footer__logo .footer__logo-image {max-width: 110px;display: block;}
.footer__privacy .footer__privacy-image {display: block;max-width: 52px;}
a.footer__company-link {display: block;color: #000000;font-size: 1.25rem;letter-spacing: 0;}
/*------ Bg ------*/
.bg-gradient-canvas {
  position: fixed;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  background: #1a1a1a;
}

#gradientCanvas {
  display: block;
  width: 100%;
  height: 100%;
}
header,main,footer{
  background: rgba(42, 42, 42, 0.000001);
  -webkit-backdrop-filter: blur(0px);
  backdrop-filter: blur(0px);
}
/*------ Contents ------*/
.Main {
    overflow: clip;
}
.Contents_Line {
    position: relative;
    z-index: 0;
}
h1.fv__title {
    position: absolute;
    z-index: 2;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    pointer-events: none;
    transform: translate(0, -12%);
    font-size: clamp(2.4rem, 4.44vw, 5.3rem);
    font-weight: 700;
    color: #fff;
    -webkit-filter: drop-shadow(0 3px 8px rgba(0, 0, 0, 0.85));
    filter: drop-shadow(0 3px 8px rgba(0, 0, 0, 0.85));
    text-align: center;
}
h1.fv__title br{
    display: none;
}
.fv__title-anime {
    opacity: 0;
    -webkit-filter: blur(10px);
    filter: blur(10px);
    font-weight: 700;
    will-change: opacity,filter;
}
.fv__slider {
  position: absolute;
  bottom: -50px;
  left: 0;
  right: 0;
  width: 100%;
  overflow: hidden;
  z-index: 2;
}

.fv__slider-track {
  display: flex;
  width: max-content;
  will-change: transform;
}

.fv__slider-img {
  flex-shrink: 0;
}

.fv__slider-img img {
  display: block;
  width: 100vw;
  height: auto;
  max-width: none;
}
.about__loop {
    position: absolute;
    z-index: -1;
    opacity: 0.1;
    top: 17%;
    left: 0;
    width: 100%;
    overflow: hidden;
    pointer-events: none;
}
.about__loop-track {
  display: flex;
  width: max-content;
  will-change: transform;
}

.about__loop-item {
  flex-shrink: 0;
}

.about__loop-item img {
  display: block;
  width: 320vw;
  height: auto;
  max-width: none;
}
.Contents_Inner.Contents02_Inner {
    padding-block: 200px 100px;
    padding-inline: 80px;
    max-width: 1360px;
    margin-inline: auto;
}
.about__heading-ja {
    text-align: center;
    font-size: 3.2rem;
    display: block;
    color: #fff;
    font-weight: 700;
}
.about__heading-en {
    font-size: 9.6rem;
    text-align: center;
    display: block;
    color: #fff;
    font-family: "Urbanist", sans-serif;
    font-weight: 700;
    letter-spacing: 0;
}
.about__lead {
    text-align: center;
    font-size: 2.8rem;
    color: #fff;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.8;
    margin-block: 30px;
}
.about__content {
    margin-block: 100px;
    display: flex;
    position: relative;
    gap: 60px;
}
.about__figure {
    width: 518px;
    height: 518px;
    min-width: 518px;
    min-height: 518px;
    position: sticky;
    top: 60px;
}
.about-card {
  position: relative;
  border-radius: 16px;
  padding-block: 50px;
  padding-inline: 40px;
  margin-block: 0 100px;
  background: transparent;
}
.about-card:last-of-type {
  margin-block: 0 0;
}
.about-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 16px;
  padding: 3px;
  background: linear-gradient(
    135deg,
    #ffffff 0%,
    #9b9a9a 20%,
    #ffffff 37%,
    #9b9a9a 51%,
    #ffffff 73%,
    #999999 100%
  );
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}
.about-card__head {
    display: flex;
    gap: 15px;
    align-items: center;
    margin-block: 0 35px;
}
h4.about-card__title {
    font-size: 3.0rem;
    color: #fff;
    line-height: 1.3;
    font-weight: 600;
    letter-spacing: -0.06rem;
}
.about-card__num {
    max-width: 80px;
    min-width: 80px;
}
.about-card__image {
    margin-block: 0 30px;
}
.about-card__text {
    color: #fff;
    font-size: 1.8rem;
    line-height: 1.8;
    letter-spacing: 0;
}
.about__figure {
    width: 518px;
    height: 534px;
    min-width: 518px;
    min-height: 534px;
    position: sticky;
    top: 50px;
    background: url(../images/lp/About_Figure_Bg02.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 518px 534px;
    mix-blend-mode: overlay;
}
.about__balls {
  position: relative;
  width: 100%;
  height: 100%;
}

.about__ball img {
  width: 100%;
  height: auto;
  display: block;
}

.about__ball.is-active {
  opacity: 1;
  visibility: visible;
}
.about__ball {
  position: absolute;
}

.about__ball.about__ball--01 {
  top: 90px;
  left: 0;
  margin: auto;
  width: 142px;
}

.about__ball.about__ball--02 {
  top: 280px;
  left: 102px;
  width: 95px;
}

.about__ball.about__ball--03 {
  top: 280px;
  right: 102px;
  width: 95px;
}
.Contents_Line.Contents03_Line {
    background: rgba(42, 42, 42, 0);
    -webkit-backdrop-filter: blur(30px);
    backdrop-filter: blur(30px);
}
.Contents_Inner.Contents03_Inner {
    padding-block: 180px 60px;
    padding-inline: 80px;
    max-width: 1400px;
    margin-inline: auto;
}
.c-section-title{
    background: rgba(0, 0, 0, 0.75);
    text-align: center;
    color: #fff;
    font-size: 3.0rem;
    padding-block: 20px;
    padding-inline: 20px;
    border: solid 3px #088A11;
    border-radius: 16px;
    margin-block: 0 50px;
    min-height: 120px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.c-section-title br{
    display: none;
}
.c-section-title.service__title{
    background: rgba(0, 0, 0, 0);
}
.c-section-lead {
    font-size: 1.8rem;
    color: #fff;
    text-align: center;
    margin-block: 0 50px;
    line-height: 1.8;
}
.service__list {
    display: flex;
    gap: 50px;
}
.service-card {
    position: relative;
    border-radius: 16px;
    padding-block: 0;
    padding-inline: 0;
    margin-block: 0 30px;
    overflow: hidden;
    display: flex;
    flex-flow: column;
}
.service-card.Idol {
    background: #FF5CDE;
}
.service-card.Anime {
    background: #9D21D2;
}
.service-card.Sports {
    background: #2139D2;
}
.service-card::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 16px;
    padding: 3px;
    background: linear-gradient(135deg, #ffffff 0%, #9b9a9a 20%, #ffffff 37%, #9b9a9a 51%, #ffffff 73%, #999999 100%);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    z-index: 1;
}
.service-note {
    margin-block: 0 100px;
    color: #fff;
    font-size: 1.4rem;
    text-align: right;
    font-weight: 500;
}
.service-card__category {
    font-size: 2.6rem;
    text-align: center;
    color: #fff;
    letter-spacing: 0;
    font-weight: 500;
    padding-block: 18px;
}
.service-card__text {
    font-size: 1.8rem;
    text-align: center;
    padding-inline: 10px;
    padding-block: 25px;
    color: #fff;
    letter-spacing: 0;
    font-weight: 600;
}
.service-card__button {
    width: 96%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    background: #000000;
    cursor: pointer;
    padding-block: 12px;
    max-width: 300px;
    margin-inline: auto;
    border-radius: 100px;
    border: solid 2px rgb(255 255 255 / 90%);
    position: relative;
    z-index: 0;
    overflow: hidden;
}
.service-card__button:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    background: #fff;
    width: 100%;
    height: 0;
    transition: height .3s ease;
    z-index: -1;
}
.service-card__button:hover:before {
    height: 100%;
}
.service-card__button span {
    font-size: 1.8rem;
    color: #fff;
    transition: filter .3s ease;
}
.service-card__button:hover span {
    -webkit-filter: brightness(0) saturate(100%);
    filter: brightness(0) saturate(100%);
}
.service-card__button img{
    width: 20px;
    transition: filter .3s ease;
}
.service-card__button:hover img{
    -webkit-filter: brightness(0) saturate(100%);
    filter: brightness(0) saturate(100%);
}
.service-card__action {
    margin-block: auto 30px;
}
.service-modal__item {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .3s, visibility .3s;
}

.service-modal__item.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.service-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
}
.service-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(1000px, calc(100% - 40px));
  max-height: calc(100vh - 40px);
  margin: 20px auto;
  overflow-y: auto;
  background: rgb(255 255 255 / 85%);
  border-radius: 24px;
  padding: 40px 24px;
  border: solid 3px #fff;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.service-modal__dialog::-webkit-scrollbar {
  display: none;
}
.service-modal__close {
    position: absolute;
    top: 16px;
    right: 16px;
    border: none;
    background: #ffffff;
    font-size: 2.4rem;
    cursor: pointer;
    color: #016F50;
    border-radius: 100px;
    width: 40px;
    height: 40px;
    font-family: 'Noto Sans JP', sans-serif !important;
    font-weight: 900;
    line-height: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}
.is-modal-open {
  overflow: hidden;
}
.service-modal__title {
    text-align: center;
    color: #fff;
    background: #000000;
    border-radius: 8px;
    padding-block: 15px;
    padding-inline: 15px;
    font-size: 2.5rem;
    letter-spacing: 0;
    font-weight: 600;
    margin-block: 0 30px;
}
.Idol .service-modal__title {
    background: #FF5CDE;
}
.Anime .service-modal__title {
    background: #9D21D2;
}
.Sports .service-modal__title {
    background: #2139D2;
}
.service-modal__title br{
    display: none;
}
.service-modal__menu {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.service-menu-card {
    padding-block: 20px;
    padding-inline: 25px;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-flow: column;
}
.Idol .service-menu-card {
    background: #F4DCEA;
}
.Anime .service-menu-card {
    background: #DACDE6;
}
.service-menu-card {
    background: #B9C8E5;
}
.service-menu-card:before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 4px;
    padding: 6px;
    background: linear-gradient(135deg, #010900 0%, #177C18 20%, #010900 37%, #177C18 51%, #010900 73%, #177C18 100%);
    -webkit-mask: linear-gradient(#177C18 0 0) content-box, linear-gradient(#177C18 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}
.Contents_Line.Contents04_Line{
    background-color: rgba(42, 42, 42, 0.85);
    -webkit-backdrop-filter: blur(30px);
    backdrop-filter: blur(30px);
}
.Contents_Inner.Contents04_Inner {
    padding-block: 40px 100px;
    padding-inline: 80px;
    max-width: 1400px;
    margin-inline: auto;
}
.service-menu-card__title {
    text-align: center;
    color: #088A11;
    font-size: 2.2rem;
    letter-spacing: 0;
    font-weight: 600;
    padding-block: 0 10px;
    margin-block: 0 10px;
    border-bottom: solid 1px rgb(0 0 0 / 30%);
}
.service-menu-card__lead {
    font-size: 1.6rem;
    line-height: 1.6;
    font-weight: 600;
    margin-block: 0 15px;
    letter-spacing: 0;
}
.service-menu-card__text {
    font-size: 1.4rem;
    letter-spacing: 0;
    line-height: 1.5;
    margin-block: 15px 0;
}
.service-menu-card__image.Bottom {
    margin-block: auto 0;
}
.service-modal__caption {
    text-align: right;
    margin-block: 5px 0;
    font-size: 1.1rem;
    letter-spacing: 0;
}
.service-modal__note {
    text-align: center;
    font-size: 2.1rem;
    letter-spacing: 0;
    font-weight: 700;
    margin-block: 10px 0;
}
.modal__contact {
    margin-block: 10px 0;
}
.modal__contact a{
    width: 96%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    padding-block: 14px;
    max-width: 500px;
    margin-inline: auto;
    color: #fff;
    font-size: 2.0rem;
    border-radius: 100px;
    letter-spacing: 0;
    position: relative;
    overflow: hidden;
    opacity: 1;
    background: linear-gradient(0deg, #01B00D 0%, #006407 50%, #01B00D 100%);
    background-size: 100% 200%;
    background-position: 0 0;
    transition: background-position 0.6s cubic-bezier(.18, .06, .23, 1);
}
.Idol .modal__contact a {
    background: linear-gradient(0deg, #FF5CDE 0%, #db22b6 50%, #FF5CDE 100%);
    background-size: 100% 200%;
    background-position: 0 0;
    transition: background-position 0.6s cubic-bezier(.18, .06, .23, 1);
}
.Anime .modal__contact a {
    background: linear-gradient(0deg,#9D21D2 0%,#6F0FA5 50%,#9D21D2 100%);
    background-size: 100% 200%;
    background-position: 0 0;
    transition: background-position 0.6s cubic-bezier(.18, .06, .23, 1);
}
.Sports .modal__contact a {
    background: linear-gradient(0deg,#2139D2 0%,#1428A0 50%,#2139D2 100%);
    background-size: 100% 200%;
    background-position: 0 0;
    transition: background-position 0.6s cubic-bezier(.18, .06, .23, 1);
}
.modal__contact a:after {
    content: "";
    width: 10px;
    height: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    display: inline-block;
    position: absolute;
    right: 30px;
    top: 0;
    bottom: 0;
    margin: auto;
}
.modal__contact a:before {
    content: "";
    position: absolute;
    inset: 0;
    padding: 3px;
    background: linear-gradient(135deg, #ffffff 0%, #9b9a9a 20%, #ffffff 37%, #9b9a9a 51%, #ffffff 73%, #999999 100%);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    border-radius: 100px;
}
.Idol .modal__contact a:hover,.Anime .modal__contact a:hover,.Sports .modal__contact a:hover {
    background-position: 0 100%;
}
.zero-card {
    display: flex;
    background: #01B00D;
    background: linear-gradient(120deg, rgba(1, 176, 13, 1) 0%, rgba(0, 26, 2, 1) 58%);
    border-radius: 64px;
    padding-block: 80px;
    padding-inline: 30px;
    position: relative;
    overflow: hidden;
    margin-block: 80px;
}
.zero-card.orignal {
    padding-block: 50px;
}
.zero-card:before {
    content: "";
    position: absolute;
    inset: 0;
    padding: 3px;
    background: linear-gradient(135deg, #ffffff 0%, #9b9a9a 20%, #ffffff 37%, #9b9a9a 51%, #ffffff 73%, #999999 100%);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    border-radius: 64px;
}
.zero-card__inner {
    max-width: 860px;
    margin-inline: auto;
    display: flex;
    gap: 50px;
}
.zero-card__num {
    mix-blend-mode: overlay;
    max-width: 185px;
    min-width: 185px;
}
.zero-card__title {
    font-size: 3.0rem;
    color: #fff;
    letter-spacing: 0;
    font-weight: 600;
    border-bottom: solid 1px #fff;
    padding-block: 0 20px;
    margin-block: 0 20px;
}
.zero-card__problem {
    display: flex;
    align-items: center;
    gap: 30px;
    margin-block: 0 30px;
}
.zero-card__icon {
    width: 36px;
    min-width: 36px;
}
.zero-card__problem-text {
    color: #fff;
    font-size: 2.0rem;
}
.zero-card__arrow {
    width: 0;
    height: 0;
    border-left: 74px solid transparent;
    border-right: 74px solid transparent;
    border-top: 41px solid rgb(255 255 255 / 40%);
    margin-inline: auto;
}
.zero-card__solution {
    background: #088A11;
    border-radius: 100px;
    padding-block: 15px;
    padding-inline: 50px;
    margin-block: 30px 0;
}
.orignal .zero-card__solution {
    border-radius: 50px;
    padding-block: 20px;
}
.zero-card__solution-flex {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
}
.zero-card__solution-banner {
    margin-block: 12px 0;
}
a.zero-card__banner {
    display: block;
    max-width: 480px;
    margin-inline: auto;
}
.zero-card__body {
    flex: 1;
}
.zero-card__icon02 {
    width: 25px;
    min-width: 25px;
}
.zero-card__solution-content {
    max-width: 445px;
    color: #fff;
}
p.zero-card__text {
    font-size: 1.8rem;
    letter-spacing: 0;
    line-height: 1.6;
}
span.Color {
    color: #FFFF00;
}
.zero-card__solution-link {
    margin-block: 35px 0;
    text-align: right;
}
.zero__list {
  position: relative;
}

.zero-card {
  position: sticky;
  top: var(--offset, 30px);
  z-index: 1;
}

.zero-card:nth-child(1) { z-index: 1; }
.zero-card:nth-child(2) { z-index: 2; }
.zero-card:nth-child(3) { z-index: 3; }
.Contents_Line.Contents05_Line {
    background-color: rgba(42, 42, 42, 0.85);
}
.Contents_Inner.Contents05_Inner {
    padding-block: 0px 140px;
    padding-inline: 80px;
    max-width: 1360px;
    margin-inline: auto;
}
a.contact-banner {
  display: block;
  max-width: 640px;
  margin-inline: auto;
  padding-block: 30px;
  padding-inline: 40px;
  text-align: center;
  color: #fff;
  font-size: 1.8rem;
  line-height: 1.6;
  letter-spacing: 0;
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  opacity: 1;

  background: linear-gradient(0deg, #01B00D 0%, #006407 50%, #01B00D 100%);
  background-size: 100% 200%;
  background-position: 0 0;

  transition: background-position 0.6s cubic-bezier(.18, .06, .23, 1);
}

a.contact-banner:hover {
  background-position: 0 100%;
}
a.contact-banner:before {
    content: "";
    position: absolute;
    inset: 0;
    padding: 3px;
    background: linear-gradient(135deg, #ffffff 0%, #9b9a9a 20%, #ffffff 37%, #9b9a9a 51%, #ffffff 73%, #999999 100%);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    border-radius: 16px;
}
a.zero-card__link {
    display: inline-flex;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 400;
    gap: 10px;
    align-items: center;
}
.contact-banner__label {
    display: block;
    font-size: 2.8rem;
    margin-block: 0 15px;
}
a.zero-card__link img {
    min-width: 32px;
    max-width: 32px;
}
@media screen and (max-width: 1344px) {
  .about__heading-ja {
      font-size: 2.6rem;
  }
  .about__heading-en {
      font-size: 8.6rem;
  }
  .about__lead {
      font-size: 2.4rem;
  }
  .Contents_Inner.Contents02_Inner,.Contents_Inner.Contents03_Inner,.Contents_Inner.Contents04_Inner,.Contents_Inner.Contents05_Inner {
      padding-inline: 60px;
  }
  .about-card__num {
      max-width: 70px;
      min-width: 70px;
  }
  h4.about-card__title {
      font-size: 2.6rem;
  }
}
@media screen and (max-width: 1235px) {
  h4.about-card__title br{
      display: none;
  }
}
@media screen and (max-width: 1211px) {
  .about__figure {
      width: 418px;
      height: 434px;
      min-width: 418px;
      min-height: 434px;
      background-position: center;
      background-size: 418px 434px;
  }
  .about__ball.about__ball--01 {
      top: 60px;
  }
  .about__ball.about__ball--02 {
      left: 72px;
      top: 220px;
  }
  .about__ball.about__ball--03 {
      left: 250px;
      top: 220px;
  }
  .about-card {
      padding-block: 40px;
      padding-inline: 30px;
  }
  .about-card__text {
      font-size: 1.6rem;
      line-height: 1.6;
  }
  .about-card__num {
      max-width: 55px;
      min-width: 55px;
  }
  h4.about-card__title {
        font-size: 2.24rem;
  }
  .about__content {
      gap: 40px;
  }
  .service__list {
      gap: 20px;
  }
  .about__heading-en {
      font-size: 7.6rem;
  }
  .service-card__button {
          width: 90%;
      max-width: 240px;
  }
}
@media screen and (max-width: 1011px) {
  .Contents_Inner.Contents02_Inner, .Contents_Inner.Contents03_Inner, .Contents_Inner.Contents04_Inner, .Contents_Inner.Contents05_Inner,.Footer_Inner {
      padding-inline: 40px;
  }
}
@media screen and (max-width: 911px) {
  .fv__bg {
      position: relative;
      width: 140%;
      left: 50%;
      transform: translate(-50%, 0);
  }
  .about__content {
      flex-flow: column;
  }
  .about__figure {
      position: relative;
      top: 0;
      margin-inline: auto;
  }
  .about__heading-en {
      font-size: 7.5vw;
  }
  .about__list {
      max-width: 480px;
      margin-inline: auto;
  }
  .about-card {
      margin-block: 0 60px;
  }
  .service-card__category {
      font-size: 2.4rem;
  }
  .service-card__text {
      font-size: 1.7rem;
  }
  .service-card__button img {
      width: 16px;
  }
  .service-card__button span {
      font-size: 1.6rem;
  }
  .service-card__button {
      width: 80%;
      padding-block: 10px;
      max-width: 220px;
  }
  .service-modal__menu {
      grid-template-columns: repeat(1, 1fr);
  }
  .service-menu-card__image {
      max-width: 480px;
      margin-inline: auto;
  }
  .c-section-title br{
      display: block;
  }
  .modal__contact {
      margin-block: 20px 0;
  }
  .modal__contact a {
      width: 100%;
      font-size: 1.8rem;
      padding-block: 16px;
  }
  .service-modal__close {
      z-index: 9;
      border: solid 2px #016F50;
      top: 15px;
      right: 8px;
  }
}
@media screen and (max-width: 779px) {
  .fv__bg {
      width: 163%;
  }
  .fv__slider-img img {
    width: 160vw;
  }
  .Header .Header_Inner,.Contents_Inner.Contents02_Inner, .Contents_Inner.Contents03_Inner, .Contents_Inner.Contents04_Inner, .Contents_Inner.Contents05_Inner, .Footer_Inner {
      padding-inline: 30px;
  }
  .Contents_Inner.Contents02_Inner {
      padding-block: 150px 60px;
  }
  .about__heading-ja {
      font-size: 2.2rem;
  }
  .about__lead {
      font-size: 2.0rem;
  }
  .about__content {
      margin-block: 40px;
  }
  .about-card {
      margin-block: 0 40px;
  }
  .Contents_Inner.Contents03_Inner {
      padding-block: 100px 40px;
  }
  .c-section-title {
      font-size: 2.2rem;
      margin-block: 0 40px;
      letter-spacing: 0;
  }
  .c-section-lead {
      font-size: 1.6rem;
      margin-block: 0 40px;
  }
  .service__list {
      flex-flow: column;
      max-width: 350px;
      margin-inline: auto;
  }
  .service-card {
      margin-block: 0 20px;
  }
  .service-menu-card__image {
      max-width: 300px;
      margin-inline: auto;
  }
  .service-note {
      margin-block: 20px 30px;
      font-size: 1.3rem;
  }
  .service-modal__title {
      font-size: 2.0rem;
  }
  .service-modal__note {
      font-size: 2.0rem;
  }
  .zero-card__num {
      display: none;
  }
  .Contents_Inner.Contents04_Inner {
      padding-block: 40px 40px;
  }
  .Contents_Inner.Contents05_Inner {
      padding-block: 0px 100px;
  }
  .orignal .zero-card__solution {
      border-radius: 25px;
  }
  a.zero-card__banner {
      max-width: 400px;
  }
}
@media screen and (max-width: 581px) {
  .Header .Header_Inner {
      padding-block: 15px;
  }
  h1.fv__title {
      font-size: 5.2vw;
      -webkit-filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.90));
      filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.90));
  }
  h1.fv__title {
      font-size: 6.6vw;
      line-height: 1.5;
  }
  h1.fv__title br{
      display: block;
  }
  .Contents_Inner.Contents02_Inner {
      padding-block: 100px 60px;
  }
  .about__heading-ja {
      font-size: 2.0rem;
  }
  .about__heading-en {
      font-size: 7.8vw;
  }
  .about__lead {
      font-size: 1.8rem;
  }
  .about__lead br{
      display: none;
  }
  .about__figure {
      width: 318px;
      height: 334px;
      min-width: 318px;
      min-height: 334px;
      background-position: center;
      background-size: 318px 334px;
  }
  .about__loop {
      top: 13%;
  }
  .about__loop-item img {
    width: 420vw;
  }
  .Header .Header_Inner, .Contents_Inner.Contents02_Inner, .Contents_Inner.Contents03_Inner, .Contents_Inner.Contents04_Inner, .Contents_Inner.Contents05_Inner, .Footer_Inner {
      padding-inline: 20px;
  }
  .Header .header__logo a {
      max-width: 95px;
  }
  .about__ball.about__ball--01 {
      width: 105px!important;
      left: 50%!important;
      top: 50px!important;
  }
  .about__ball.about__ball--02 {
      width: 105px !important;
      left: 40px !important;
      top: 160px !important;
      opacity: 1 !important;
  }
  .about__ball.about__ball--03 {
      width: 105px !important;
      right: 40px !important;
      top: 160px !important;
      opacity: 1 !important;
      left: auto !important;
  }
  h4.about-card__title {
        font-size: 2.20rem;
  }
  .about-card__num {
      max-width: 52px;
      min-width: 52px;
  }
  .service-modal__dialog {
      padding: 35px 15px;
      max-height: calc(100svh - 40px);
  }
  .service-note {
      margin-block: 20px 10px;
      text-align: left;
      display: inline-flex;
  }
  .zero-card {
      border-radius: 32px;
      padding-block: 40px;
      padding-inline: 25px;
      margin-block: 0 60px;
  }
  .zero-card.orignal {
      padding-block: 40px;
  }
  .zero-card:before {
      border-radius: 32px;
  }
  .zero-card__title {
      font-size: 2.4rem;
      text-align: center;
  }
  .zero-card__icon {
      width: 30px;
      min-width: 30px;
  }
  .zero-card__problem {
      gap: 15px;
  }
  .zero-card__problem-text {
      font-size: 1.8rem;
  }
  .zero-card__solution {
      border-radius: 16px;
      padding-block: 15px;
      padding-inline: 20px;
      margin-block: 30px 0;
  }
  .orignal .zero-card__solution {
      border-radius: 16px;
      padding-block: 15px;
  }
  .zero-card__solution-flex {
      gap: 15px;
      flex-flow: column;
  }
  .Contents_Inner.Contents04_Inner {
      padding-block: 40px 1px;
  }
    .Contents_Inner.Contents05_Inner {
        padding-block: 0px 60px;
    }
  .contact-banner__label {
      font-size: 2.4rem;
  }
  a.contact-banner {
      padding-block: 20px;
      padding-inline: 20px;
      font-size: 1.5rem;
  }
  .service-modal__title br{
      display: block;
  }
}
@media screen and (max-width: 374px) {
  .about__figure {
      transform: translate(-50%, 0) scale(0.85);
      left: 50%;
  }
  .about-card__num {
      max-width: 42px;
      min-width: 42px;
  }
  h4.about-card__title {
      font-size: 1.75rem;
  }
  .about-card__head {
      margin-block: 0 20px;
  }
  .about-card__image {
      margin-block: 0 20px;
  }
  .about-card__text {
      font-size: 1.5rem;
  }
  .about__lead {
      margin-block: 20px 0;
  }
  .about__content {
      gap: 10px;
  }
  .about-card {
      margin-block: 0 30px;
      padding-inline: 20px;
      padding-block: 35px;
  }
  .c-section-title {
      font-size: 1.8rem;
      margin-block: 0 20px;
      padding-inline: 10px;
  }
  .c-section-lead {
      margin-block: 0 20px;
  }
  .c-section-lead br{
      display: none;
  }
  .zero-card__title {
      font-size: 2.2rem;
  }
  .zero-card__arrow {
      border-left: 54px solid transparent;
      border-right: 54px solid transparent;
      border-top: 28px solid rgb(255 255 255 / 40%);
  }
  .zero__list {
      min-height: 1px!important;
  }
  .zero-card {
      padding-block: 30px;
      padding-inline: 20px;
      position: relative!important;
      --offset: 0!important;
      margin-block: 0 30px;
  }
  .zero-card.orignal {
      padding-block: 30px;
      padding-inline: 20px;
  }
  .zero-card__problem-text {
      font-size: 1.6rem;
  }
  p.zero-card__text {
      font-size: 1.6rem;
  }
  .contact-banner__label {
      font-size: 2.2rem;
  }
  .contact-banner__text br {
      display: none;
  }
  .Contents_Inner.Contents03_Inner {
      padding-block: 40px 40px;
  }
  .Contents_Inner.Contents02_Inner {
      padding-block: 90px 5px;
  }
  .Header .Header_Inner, .Contents_Inner.Contents02_Inner, .Contents_Inner.Contents03_Inner, .Contents_Inner.Contents04_Inner, .Contents_Inner.Contents05_Inner, .Footer_Inner {
      padding-inline: 14px;
  }
  .modal__contact a:after {
      right: 20px;
  }
}