#wrapper {position: relative;}

.inner {max-width:1280px; margin: 0 auto; padding: 0 20px;}

@keyframes rollingleft1 {
    0% { transform: translateX(0); }
    50% { transform: translateX(-100%); }
    50.01%{ transform: translateX(100%); }
    100%{ transform: translateX(0); }
}
@keyframes rollingleft2 {
    0% {transform: translateX(0);}
    100% {transform: translateX(-200%);}
}

/*************************** Header Set ***************************/

.header {position: absolute; top: 0; left: 0; padding:2em 4%; z-index: 100;}
.header__link {display: inline-block;}
.header__img {width: 12em;}

/*************************** Header End ***************************/

/*************************** Section 1 Set ***************************/

.main-int {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100svh;
    padding:21.2rem 0 17.085rem; 
    text-align: center; 
    color: #fff; 
    z-index: 0;
}

.main-int__frame {
    position: absolute;
    inSet: 0 0 0 0;
    z-index: -1;
    overflow: hidden;
}
.main-int__frame video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.main-int__tit {
    font-size: 4.9662rem; 
    font-weight: 700; 
    line-height: 1.3781;
}

.main-int__sub {
    width: max-content;
    display: block;
    max-width:100%;
    margin: 1.6em auto 0;
    padding:0.5em 1em;
    font-size: 2.36em;    
    background-color: #181818;
    border-radius:2em;
}

.main-int__sub span {
    font-weight: 700;
}

@media(max-width:768px){
    .main-int {
        min-height: auto;
        padding:18em 0;
    }
    .main-int__sub {
        font-size: 2em;
    }
    .main-int__frame video {
        width: 125%;
        height: 125%;

    }
}

/*************************** Section 1 End ***************************/

/*************************** Section 2 Set ***************************/

.main-child {
    padding: 17em 0 13.1454em; 
    background: url('../img/sec02_bg01.jpg') no-repeat center / cover;
}

.main-child__inner {
    position: relative;
    padding-right: 6.3542em;
    padding-left: 6.3542em;
    z-index: 0;
}

.main-child__tit {
    font-size: 9.6178rem; 
    font-weight: 700; 
    text-align:right; 
    color: var(--prm); 
    line-height: 1.0688; 
    letter-spacing: -0.004rem;
}

.main-child__bg {
    position: relative;
    width: 100%;
    aspect-ratio:1/1;
    margin: -15em auto 0;
    clip-path: url(#organicShape);
}

.main-child__video {
    position: absolute;
    inSet : 0 0 0 0;
    overflow: hidden;
}
.main-child__video video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 150%;
    aspect-ratio:16 / 9;
    
}

.main-child__ask {
    position: relative;
    text-align: center;
}
.main-child__ask:after {
    position: absolute;
    top: 0; 
    left: 50%;
    transform:translate(-50%, -50%);
    margin-left: 26em;
    content:'';
    display: block;
    width: 10.4167em;
    height: 10.4167em;
    background: url('../img/hearts_icon.png') no-repeat center / cover;
}

.main-child__br {display: none;}

.main-child__ment {
    margin-bottom: 0.8em;
    font-size: 5.8146em;
    font-weight: 700;
    line-height: 1.2;
}


.main-child__ment:last-child {
    margin-bottom: 0;
}

.main-child__ment .ink {
    font-size: 1.25em;
    color: var(--prm);
    vertical-align: middle;
}

.main-child__exp {
    margin-top: 2.7em;
    font-size: 2.4829em;
    line-height: 1.8052;
    color: #71849e;
    text-align: center;
}

.main-child__exp em {
    color: #181818;
    font-weight: 600;
}

.main-child__link {
    width: max-content;
    display: block;
    max-width:100%;
    margin: 4em auto 0;
    padding:0.5em 1em;
    font-size: 2.36em;    
    background-color: #181818;
    border-radius:2em;
}

.main-child__link,
.main-child__link:link,
.main-child__link:visited {
    color: #fff;
}

.main-child__link span {
    font-weight: 700;
}
@media(max-width:1080px){
    .main-child__inner {
        padding-right: 4em;
        padding-left: 4em;
    }
}
@media(max-width:500px){
    .main-child__tit {font-size: 7em;}
    .main-child__br {display: block;}
    .main-child__bg {margin-top: -8em;}
}


/*************************** Section 2 End ***************************/

/*************************** Section 3 Set ***************************/


.main-flow__container {
    display: flex;
    padding:1.3023em 0; 
    overflow: hidden;
}

.main-flow__wrap {
    display: flex; 
    align-items: center; 
    overflow: hidden; 
    flex-shrink:0;
}

.main-flow__wrap:first-child {
    animation: 120s linear 0s infinite normal none running rollingleft1;
}

.main-flow__wrap:last-child {
    animation: 120s linear 0s infinite normal none running rollingleft2;
}

.main-flow__text {
    font-size: 3.9969em; 
    font-weight: 700; 
    color: var(--prm);
}

/*************************** Section 3 End ***************************/

/*************************** Section 4 Set ***************************/

.main-right {
    padding: 13.8em 0 17.406em; 
    text-align: center; 
    background: url('../img/sec04_bg01.jpg') no-repeat center / cover;
}

.main-right__tit {
    font-size: 4.0625em; 
    font-weight: 700;
}

.main-right__tit:before {
    content: ""; 
    display: block; 
    width: 4px; 
    transform: rotate(30deg); 
    height: 0.73em; 
    background-color: #000; 
    margin: 0 auto 1em;
}

.main-right__sub {
    margin-top: 1.23em; 
    font-size: 4.6631em; 
    font-weight: 700; 
    line-height: 1.3898;
}

.main-right__sub strong {
    font-weight: inherit;
    color: var(--prm);
}

.main-right__desc {
    margin-top: 1.3em; 
    font-size: 2.4829em; 
    line-height: 1.6363; 
    color: #686868;
}

.main-right__desc strong {
    font-weight: 700; 
    color: #181818;
}

/*************************** Section 4 End ***************************/

/*************************** Section 5 Set ***************************/

.main-gift {
    padding-top: 7.5em; 
}

.main-gift__inner {
    margin: 0 auto;
    max-width:1280px;
    padding: 0 2em;
}

.main-gift__ht {
    font-size: 2.5027em; 
    font-weight: 700; 
    color: var(--scd); 
    text-align:right;
}

.main-gift__container {
    display: flex;
    padding-top: 3.5em;
    gap:10em;
}

.main-gift__slide {
    position: relative;
    width: 42em; 
    aspect-ratio:1/1.3912; 
    overflow: hidden;
}

.main-gift__item {
    position: absolute;
    top: 0; 
    left: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat; 
    background-size: cover; 
    background-position: center;
    border-radius :1.6em;
}

.main-gift__item:nth-child(1) {
    background-image: url('../img/sec05_img01.jpg');
}

.main-gift__item:nth-child(2) {
    background-image: url('../img/sec05_img02.jpg');
}

.main-gift__item:nth-child(3) {
    background-image: url('../img/sec05_img03.jpg');
}

.main-gift__text {
    flex:1;
    padding-top: 10.6em;
    text-align:left;
}

.main-gift__cont {
    margin-bottom: 2.5em;
    padding-left: 3.4em;
    padding-bottom: 2.9em;
    border-bottom:1px solid #ddd;
}

.main-gift__cont:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border:none;
}

.main-gift__tit {
    font-size: 3.9968em;
    font-weight: 700;
    line-height: 1.5153;
}

.main-gift__tit span {
    position: relative;
    color: var(--prm);
}
.main-gift__tit span:before {
    position: absolute; 
    content:''; 
    display: block; 
    bottom: -3px; 
    left: 0; 
    width: 100%; 
    height: 7px; 
    background-color: var(--prm);
}


.main-gift__desc {
    font-size: 2.4829em;
    line-height: 1.6363;
    color: #686868;
}

.main-gift__desc span {
    color: #181818;
    font-weight: 600;
}
@media(max-width:1080px){
    .main-gift__inner {
        padding-right: 4em;
        padding-left: 4em;
    }
    .main-gift__tit span:before {
        height: 3px;
    }
}
@media(max-width:500px){
    .main-gift__container {
        flex-direction: column;
    }
    .main-gift__slide {
        width: 100%;
    }
    .main-gift__text {
        padding: 0;
    }
}

/*************************** Section 5 End ***************************/

/*************************** Section 6 Set ***************************/

.main-spec {
    padding:10.1562em 0 5.6771em; 
    text-align: center; 
    color: #fff;
}

.main-spec__inner {
    padding:4.15em 0 4.003em; 
    background-color: #b8b8b8;
}

.main-spec__list {
    display: flex; 
    justify-content: center; 
    gap:1.2em;
}

.main-spec__item {
    display: flex; 
    align-items: center; 
    font-size: 2.5em;
}

.main-spec__desc--small {
    font-size: 0.7778em;
}

.main-spec__cate {
    margin-right: 0.4em; 
    font-weight: 600;
}

.main-spec__alert {
    margin-top: 1.6em; 
    font-size: 1.625em;
}

@media(max-width:768px){
    .main-spec__inner {
        padding-right: 1em;
        padding-left: 1em;
    }
    .main-spec__list {
        flex-direction: column;    
        align-items: center;
    }
}

/*************************** Section 6 End ***************************/

/*************************** Section 7 Set ***************************/

.main-grid__layout {
  display: grid;
  grid-template-columns: 1fr 39.3229em;
  grid-template-rows: 1fr 1fr;
  gap:3.0208em;
  height:69.0625em;
}

.main-grid__cell {
    position: relative;
    overflow: hidden;
}

.main-grid__cell--long {
  grid-row: 1 / span 2;
  grid-column: 1 / 2;
  
}

.main-grid__cell--top {
  grid-row: 1 / 2;
  grid-column: 2 / 3;
  
}

.main-grid__cell--bot {
  grid-row: 2 / 3;
  grid-column: 2 / 3;
  
}

.main-grid__frame {
    position: absolute; 
    inset: 0 0 0 0;
}

.main-grid__frame img {
    display: block; 
    width: 100%; 
    height: 100%; 
    object-fit: cover;
}

@media(max-width:768px){
    .main-grid__layout {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap:1.5em;
    }
}

/*************************** Section 7 End ***************************/

/*************************** Section 8 Set ***************************/

.main-value {
    margin:5.625em 0;
    background:url('../img/sec08_bg01.jpg') no-repeat center bottom 20% / cover;
    min-height: 100svh;
}

.main-value__inner {
    padding: 10em 10em 15em;
}

.main-value__cate {
    margin-bottom: 2em;
    font-size: 2.5027em;
    font-weight: 700;
    color: var(--scd);
    letter-spacing: -0.05em;
}

.main-value__tit {
    font-size: 5.0959em;
    font-weight: 700;
    line-height: 1.3897;
}

.main-value__tit strong{
    color: var(--prm);
    font-weight: inherit;
}

.main-value__ment {
    font-size: 2.4829em;
    color: #686868;
    line-height: 1.6363;
}

.main-value__ment strong {
    font-weight: 600;
    color: #181818;
}

.main-value__br {
    display: none;
}

.main-value__speech {
    margin-top: 4.3em;
}

.main-value__ment {
    margin-bottom: 1.55em;
}

.main-value__ment:last-of-type {
    margin-bottom: 0;
}

@media(max-width:1080px){
    .main-value__inner {
        padding-right: 4em;
        padding-left: 4em;
    }
}

@media(max-width:768px){
    .main-value {min-height: auto; background-position:right 20% bottom}
    .main-value__br {display: block;}
}

/*************************** Section 8 End ***************************/

/*************************** Section 9 Set ***************************/

.main-dream {
    padding: 10.3em 0 16.4063em;
}


.main-dream__int {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding-right: 5.1em;
    padding-left: 5.1em;
}

.main-dream__tit {
    font-size: 6.6079em;
    font-weight: 700;
    color: var(--prm);
    line-height: 1.2667;
    letter-spacing: -0.01em;
}

.main-dream__sub {
    font-size: 3.8761em;
    font-weight: 700;
    line-height: 1.4532;
    text-align:right;
    padding-bottom: 0.25em;
}

.main-dream__container {
    display: flex;
    margin-top: 5.2em;    
    overflow: hidden;
}

.main-dream__wrap {
    display: flex; 
    align-items: center; 
    overflow: hidden; 
    flex-shrink:0;
    gap:1.9792em;
    padding-right:1.9792em;
}

.main-dream__wrap img {
    width: 51em;
}

.main-dream__wrap:first-child {
    animation: 80s linear 0s infinite normal none running rollingleft1;
}

.main-dream__wrap:last-child {
    animation: 80s linear 0s infinite normal none running rollingleft2;
}

@media(max-width:1080px){
    .main-dream__int {
        padding-right: 4em;
        padding-left: 4em;
    }
}

@media(max-width:768px){
    .main-dream__int {
        flex-direction:column;
        align-items: flex-start;
        gap:1em;
    }

    .main-dream__tit {
        font-size: 5.5em;
    }

    .main-dream__sub {
        text-align:left;
        padding-bottom: 0;
    }
}

/*************************** Section 9 End ***************************/

/*************************** Section 10 Set ***************************/

.main-with {
    position: relative;
    z-index: 0;
    padding: 8em 0 16em;
    
    background:url('../img/sec10_bg01.jpg') no-repeat center / cover
}

.main-with__int {
    position: relative;
    z-index: -1;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding-left: calc((100% - 1620px) / 2);
}

.main-with__dots {
    display: flex; 
    gap:2.2917em;
}

.main-with__dot {
    width: 1.875em;
    height: 1.875em;
    border-radius:50%;
    background-color: var(--scd);
}
.main-with__tit {
    padding-top: 0.14em;
    font-size: 10.4167em;
    font-weight: 700;
    color: var(--scd);
    transform:translateX(0.07em)
}

.main-with__inner {
    margin: 0 auto;
    max-width:1620px;
    width: 100%;
}

.main-with__frame {
    width: 100%;
}

.main-with__frame video {
    display: block; 
    width: 100%;
    aspect-ratio: 16/9;
}

.main-with__txt {
    padding: 5em 4.4em;
}

.main-with__desc {
    margin-bottom: 1.5em;
    font-size: 2.4829em;
    text-align:right;
    line-height: 1.6362;
    color: #686868;
}

.main-with__desc:last-child {
    margin-bottom: 0;
}

.main-with__desc em {
    font-weight: 600;
    color: #181818;
}

.main-with__ment {
    display: block;    
    padding: 0 1.275em;
    font-size: 3.5729em;
    font-weight: 600;
    color: #181818;
    line-height: 1.5439;
}

@media(max-width:1640px){
    .main-with__int {padding-left: 4em;}
}
@media(max-width:500px){
    .main-with__tit {font-size: 7.5em;}
    .main-with__inner {margin-top: 0;}
}

/*************************** Section 10 End ***************************/

/*************************** Section 11 Set ***************************/

.main-campaign {
    padding: 12em 0;
    
}
.main-campaign__inner {    
    width: 100%;
    max-width:1697px;    
    margin: 0 auto;
}
.main-campaign__int {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 5em;
    padding:0 2.3em 5em;
    border-bottom:1px solid #ccc;
}

.main-campaign__tit {
    font-size: 5.0959em;
    font-weight: 700;
    line-height: 1.325;
}

.main-campaign__desc {
    font-size: 2.4829em;
    line-height: 1.6362;
    color: #686868;
}

.main-campaign__desc em {
    font-weight: 600;
    color: #181818;
}

.main-campaign__br {
    display: none;
}

.main-campaign__list {
    display: flex;
    justify-content: space-between;
    gap:9.05em;
}

.main-campaign__item {
    text-align: center;
    flex:1;
}

.main-campaign__cate {
    font-size: 3.3308em;
    font-weight: 700;
}
.main-campaign__cate:before {
    content:'';
    display: block;
    margin: 0 auto 0.63em;
    width: 4.0032em;
    height: 4.0032em;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.main-campaign__item:first-child .main-campaign__cate:before {
    background-image: url('../img/campaing_icon01.png');
}

.main-campaign__item:nth-child(2) .main-campaign__cate:before {
    background-image: url('../img/campaing_icon01.png');
}

.main-campaign__item:last-child .main-campaign__cate:before {
    background-image: url('../img/campaing_icon03.png');
}


.main-campaign__exp {
    margin-top: 1.3em;
    padding-top: 1.15em;
    font-size: 1.9381em;
    white-space: nowrap;
    line-height: 1.7837;
    color: #686868;
    border-top:1px solid #ddd;
}

.main-campaign__exp em {
     font-weight: 600;
    color: #181818;
}

@media(max-width:1080px){
    .main-campaign__int {
        flex-direction:column;
        gap:1em;
        align-items: flex-start;
        padding-right: 4em;
        padding-left: 4em;    
    }

    .main-campaign__list {
        gap:5em;
    }
}

@media(max-width:600px){
    .main-campaign__item {margin-bottom: 6em;}
    .main-campaign__item:last-child {margin-bottom: 0;}
    .main-campaign__list {flex-direction:column; gap:2em;}
    .main-campaign__br {
        display: block;
    }
    .main-campaign__exp {padding-top: 0; border-top:none;}
}

/*************************** Section 11 End ***************************/

/*************************** Section 12 Set ***************************/

.main-qa {
    padding:10em 0 12em;
    background-color: #f9f9f9;
}
.main-qa__inner {
    width: 100%;
    max-width:1710px;
    margin: 0 auto;
}

.main-qa__tit {
    font-size: 8.5em;
    font-weight: 700;
    text-align: center;
    color: #181818;
}

.main-qa__tit span {
    font-size: 0.7374em;
}

.main-qa__list {
    margin-top: 4em;
}

.main-qa__item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 3.55em;
    padding :0 7.4em 4.2em;
    gap:3em;
    border-bottom:1px solid #c7c7c7;
}

.main-qa__item:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom:none;
}

.main-qa__mark {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-width: 1.8572em;
    min-height: 1.8572em;
    font-size: 3em;
    font-weight: 700;
    color: #fff;
    background-color: #181818;
    border-radius:50%;
}

.main-qa__mark span {
    transform:translateY(0.1em)
}

.main-qa__content {
    padding-top: 1em;
}

.main-qa__q {
    font-size: 3em;
    font-weight: 700;
}

.main-qa__a {
    margin-top: 0.8em;
    font-size: 1.75em;
    line-height: 1.8815;
    color: #686868;
}

.main-qa__a em {
    font-weight: 600;
    color: #181818;
}

@media(max-width:1080px){
    .main-qa__item {
        gap:1.5em;
        padding-right: 4em;
        padding-left: 4em;
    }
    .main-qa__content {
        flex:1
    }
}

@media(max-width:500px){
    .main-qa__item {padding-right: 1em; padding-left: 1em;}
}

/*************************** Section 12 End ***************************/

/*************************** Follow Set ***************************/

.follow {
    position: fixed; 
    z-index: 50; 
    bottom: 4em; 
    right: 4%;
}
.follow__link {
    display: block;
}
.follow__text {
    display: none;
}
.follow__img {
    width: 24.25em;
}
@media(max-width:768px){
    .follow {right: 0; bottom: 0; left: 0; transform:translateY(100%); transition:.3s ease-in-out all;}
    .follow--show {transform:translateY(0);}
    .follow__img {display: none;}
    .follow__text {display: block; padding:1em 0; font-size: 3em; font-weight: 600; background-color: var(--prm); color: #fff; text-align: center;}
}

/*************************** Follow End ***************************/

/*************************** Footer Set ***************************/

.footer {
    font-size: 16px;
    padding: 3.75em 0 3.68em; 
    background-color: #222; 
    color: #fff;
}

.footer a {
    color: inherit;
}

.footer__inner {
    display: flex;
    justify-content: space-between;
    gap:2em;
    max-width:1440px;
}

.footer-logo__link {
    display: inline-block;
}

.footer-logo__img {
    width: 9.375em; 
    filter: brightness(0) invert(1);
    opacity: 0.55;
}

.footer-terms {
    margin: 2.4em 0 1.6em;
    display: flex;
}

.footer-terms__item:after {
    content:'';
    display: inline-block;
    margin:0 1.3em;
    width: 1px;
    height: 0.8em;
    background-color: #fff;
    opacity: 0.5;
    vertical-align: middle;
}

.footer-terms__link {
    opacity: 0.5;
}

.footer-terms__item:last-child:after {
    display: none;
}

.footer-terms__item:first-child .footer-terms__link {
    opacity: 1;
}


.footer-info {
    display: flex;
    flex-wrap:wrap;
    opacity: 0.5;
}

.footer-info__item {
    line-height: 1.6;
}

.footer-info__item:after {
    content:'';
    display: inline-block;
    margin:0 1.3em;
    width: 1px;
    height: 0.8em;
    background-color: #fff;
    opacity: 0.5;
    vertical-align: middle;
}

.footer-info__item:last-child:after {
    display: none;
}

.footer-nav__list {
    display: flex;
    justify-content: flex-end;
    gap:1.125em;
}

.footer-nav__link {
    display: flex; 
    justify-content: center;
    align-items: center;
    width: 2.5em;
    height: 2.5em;
    border-radius:50%;
    background-color: #9d9d9d;
    text-align: center;
}

.footer-partners {
    margin-top: 2.7em;
    display: flex;
    gap:2.2em;
}

.footer-partners__item {
    text-align: center;
}

.footer-partners__logo--01 {
    width: 10.9375em;
}

.footer-partners__logo--02 {
    width: 3.9375em;
}

.footer-partners__logo--03 {
    width: 4.375em;
}

.footer-partners__name {
    margin-top: 0.5em;
    opacity: 0.5;
}

@media(max-width:1400px){
    .footer__inner {padding-right: 20px; padding-left: 20px;}
}
@media(max-width:1080px){
    .footer {font-size: 15px;}
}
@media(max-width:768px){
    .footer {font-size: 14px;}
    .footer__inner {flex-wrap:wrap;}
    .footer__content {width: 100%;}

    .footer-partners {justify-content: flex-end;}
}

@media(max-width:500px){
    .footer-nav__list {justify-content: center; gap:1em;}
    

    .footer-partners {justify-content: center; gap:0em; padding:0 1em;}
    .footer-partners__item {flex:1;}
    .footer-partners__logo {width: auto; height: 3.5em;}
}
/*************************** Footer Emd ***************************/