@charset "utf-8";

/* common
━━━━━━━━━━━━━━━━━━━―…‥・★・‥…―━━━━━━━━━━━━━━━━━━*/

/* p {
    font-family: "ryo-gothic-plusn", sans-serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: .5px;
    line-height: 1.35;
    font-size: 1.6rem;
    word-break: break-word;
} */

a{
  transition: all .4s;
}

a > img{
    display: block;
}

/* frame
━━━━━━━━━━━━━━━━━━━―…‥・★・‥…―━━━━━━━━━━━━━━━━━━*/

.l-wrapper{
    position: relative;
}
.l-wrapper:before{
    content: "";
    width: 100%;
    height: 100vh;
    background: url(../img/bg-01@2x.jpg) no-repeat 50% 50%;
    background-size: cover;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 0;
}
@media screen and (min-width: 541px) {
    .l-wrapper:before{
        background-image:url(../img/bg-02@2x.jpg)
    }
}

.l-wrapper > .sw-inner-box{
    width: 100%;
    position: relative;
    z-index: 3;
}
@media screen and (min-width: 541px) {
    .tp-section_wrap{
        background: rgba(0,0,0,.58);
        max-width: 540px;
        width: 100%;
        height: calc(100% + 5vw);
        margin: 0 auto;
        box-sizing: border-box;
        /*display: block;*/
        position: relative;
    }

    .l-wrapper > .sw-inner-box{
        max-width: 100%;
    }
}
/*@media screen and (min-width: 1260px) {
    .l-wrapper > .sw-inner-box{
        max-width: 535px;
        left: 2.6%;
    }
}*/

/* animation
━━━━━━━━━━━━━━━━━━━―…‥・★・‥…―━━━━━━━━━━━━━━━━━━*/
.loop_en_wrap{
    overflow: hidden;
    width: 100%;
    height: auto;
    /* position: absolute;
    top: 0;
    left: 0; */
    position: relative;
    aspect-ratio: 595/205;
}

.loop_en{
    position: absolute;
    top: 23%;
    left: -5%;
    aspect-ratio: 113/17;
    width: 110%;
    height: auto;
    overflow: hidden;
    transform: rotate(-9.5deg);
}

.loop_en .en_txt{
    background:url(../img/txt-en-loop@2x.png) no-repeat 50% 50%;
    background-size: contain;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
  animation: loop_animation_right_double 5s linear infinite;
}

.loop_en .en_txt:nth-child(1){
  left: 0;
}

.loop_en .en_txt:nth-child(2){
  left: 100%;
}

@keyframes loop_animation_right_double {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
.sw-tag_list li span{
    display: inline-block;
    background: #cbfa00;
    padding: 0 .5em;
    line-height: 1.7;
}

/* HEADER
━━━━━━━━━━━━━━━━━━━―…‥・★・‥…―━━━━━━━━━━━━━━━━━━*/

.l-header {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    padding: 7% 5%;
    width: 100%;
}

@media screen and (min-width: 541px) {
    .l-header {
        padding: 45px 0;
    }
}

.l-header .h-logo{
    width: 40%;
    max-width: 243px;
    margin: 0 auto;
    text-indent: -.45em;
}
.sw-lang-box{
    position: absolute;
    right: 6%;
    top: 38%;
    z-index: 2;
    border: 1px solid #fff;
}
@media screen and (min-width: 541px) {
    .sw-lang-box{
        right: calc(50% - 39vw);
    }
}
@media screen and (min-width: 1700px) {
    .sw-lang-box{
        right: calc(43% - 37.5px - 270px);
    }
}

.sw-lang-box li{
    border:1px solid #fff;
    font-size: clamp(1.1rem,0.88vw,1.5rem);
}

.sw-lang-box li span{
    display: block;
    font-family: "Zen Kaku Gothic New",'小塚ゴシック Pro','Kozuka Gothic Pro', "Noto Sans JP", "游ゴシック", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans","Helvetica Neue", Arial,  Meiryo, sans-serif;
    font-weight: 900;
    letter-spacing: .1em;
    padding: 0 .45em;
    line-height: 1.6;
    transition: all .4s;
    cursor: pointer;
}

body.jp .sw-lang-box .jp{
    background: #fff;
    color: #000;
}

body.en .sw-lang-box .en{
    background: #fff;
    color: #000;
}

/* FOOTER
━━━━━━━━━━━━━━━━━━━―…‥・★・‥…―━━━━━━━━━━━━━━━━━━*/

.l-footer{
    padding: 16% 0 14%;
}

@media screen and (min-width: 541px) {
    .l-footer{
        background-color: rgba(0,0,0,.58);
        max-width: 540px;
        width: 85%;
        margin: 0 auto;
        box-sizing: border-box;
        /*display: block;*/
        position: relative;
        padding: 63px 0 52px;
    }
}

.l-footer .f-logo{
    padding: 6.5% 9.5% 0 16%;
}

.l-footer .f-img{
    width: 34.5%;
    margin: 0 auto;
}
.l-footer .l-copy{
    text-align: center;
    font-size: clamp(.62rem,1.33vw,1rem);
    padding: 2.5% 0 1.5%;
}

@media screen and (min-width: 541px) {
}

/* Box / btn / txt
━━━━━━━━━━━━━━━━━━━―…‥・★・‥…―━━━━━━━━━━━━━━━━━━*/

.sw-btn-link{
    aspect-ratio: 461 / 145;
    width: 79.7%;
    max-width: 461px;
    max-height: 145px;
    position: relative;
    margin: 10% 0 0 7%;
}

.sw-btn-link:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: url(../img/shape-btn-link@2x.png) no-repeat 0% 0%;
    background-size: contain;
    width: 100%;
    height: 100%;
    transform: scale(-1, 1);
    z-index: 0;
}

.sw-btn-link a{
    font-family: "MFW-PA1GothicTCB5HK-Bold";
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    position: relative;
    text-align: center;
    font-size: clamp(1.6rem,4.26vw,3.2rem);
    font-weight: 900;
    z-index: 1;
    /* letter-spacing: -.1em; */
}
.sw-btn-link a .lang-txt.ja{
    letter-spacing: -.1em;
}

@media screen and (min-width: 541px) {
    .sw-btn-link a{
        font-size: 2.4rem;
    }
}

.sw-btn-link a:after {
    content: "";
    width: 20%;
    height: 70%;
    position: absolute;
    bottom: -11%;
    right: -11%;
    z-index: 2;
    background: url(../img/icon/icn-hand.png) no-repeat 0% 0%;
    background-size: contain;
    aspect-ratio: 19 / 20;
    transform: rotate(-15deg);
    transition: all .2s;
}
.sw-btn-link a:hover:after {
    transform: rotate(-25deg);
}
.sw-btn-link a .sw-icn-sns {
    width: 1.75em;
    height: auto;
    background: url(../img/icon/icn-sns.svg) no-repeat 0% 0%;
    background-size: contain;
    aspect-ratio: 1 / 1;
    display: inline-block;
    margin-right: .77em;
    margin-left: -.77em;
}

.sw-btn-link a .sw-icn-contact {
    width: 1.7em;
    height: auto;
    background: url(../img/icon/icn-contact.svg) no-repeat 0% 0%;
    background-size: contain;
    aspect-ratio: 208 / 199;
    display: inline-block;
    margin-right: 1em;
    margin-left: -1.8em;
    transform: rotate(6deg);
}

.sw-btn-contact{
    font-family: "MFW-PA1GothicTCB5HK-Bold";
    position: absolute;
    right: 6%;
    bottom: 14.8%;
    z-index: 2;
    aspect-ratio: 19 / 20;
    width: 24%;
    max-width: 175px;
    max-height: 200px;
    min-width: 95px;
    min-height: 100px;
}

@media screen and (min-width: 541px) {
    .sw-btn-contact{
        width: 11%;
        right: 10px;
        bottom: 10px;
    }
}

@media screen and (min-width: 770px) {
    .sw-btn-contact{
        position: fixed;
        bottom: 10.3%;
    }
}

@media screen and (min-width: 980px) {
    .sw-btn-contact{
        right: calc(50% - 195px - 270px);
    }
}
.sw-btn-contact:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: url(../img/shape-btn-contact@2x.png) no-repeat 0% 0%;
    background-size: contain;
    width: 100%;
    height: 100%;
    transform: rotate(-37deg);
    z-index: 0;
  animation: fuwafuwa .7s ease-in-out infinite alternate;
}

.sw-btn-contact a{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    position: relative;
    text-align: center;
    font-size: clamp(1.1rem,1.46vw,2.2rem);
    z-index: 1;
}

@media screen and (min-width: 541px) {
}

@keyframes fuwafuwa {
  0% {
    transform:translate(0, 0) rotate(-7deg);
  }
  50% {
    transform:translate(0, 0) rotate(0deg);
  }
  100% {
    transform:translate(0, 0) rotate(7deg);
  }
}
.sw-btn-contact a:after {
    content: "";
    width: 37%;
    height: 50%;
    position: absolute;
    bottom: -15%;
    right: -3%;
    z-index: 2;
    background: url(../img/icon/icn-hand.png) no-repeat 0% 0%;
    background-size: contain;
    aspect-ratio: 19 / 20;
    transform: rotate(-15deg);
    transition: all .2s;
}
.sw-btn-contact a:hover:after{
    transform: rotate(-25deg);
}
.sw-btn-contact a .sw-icn-eye {
    width: 3.3em;
    max-width: 68px;
    height: auto;
    background: url(../img/icon/icn-eye.svg) no-repeat 0% 0%;
    background-size: contain;
    aspect-ratio: 700 / 417;
    margin-bottom: .1em;
    margin-top: -.4em;
}

.sw-btn-contact a .sw-txt-en{
    font-weight: 900;
}

.sw-ttl_bold{
    font-family: "MFW-PA1GothicTCB5HK-Bold";
    font-size: clamp(2.125rem,11.3vw,4.25rem);
    font-weight: 900;
    line-height: 1.14;
}

/* @media screen and (min-width: 541px) {
    .sw-ttl_bold{
        font-size: 6.3rem;
    }
} */
.sw-ttl_sub-ja{
    font-family: "MFW-PA1GothicTCB5HK-Bold";
    font-size: clamp(1.3rem,6.93vw,2.6rem);
    font-weight: 900;
    line-height: 1.1;
}

/* @media screen and (min-width: 541px) {
    .sw-ttl_sub-ja{
        font-size: 4rem;
    }
} */
.sw-ttl_txt{
    font-family: "MFW-PA1GothicTCB5HK-Bold";
    font-size: clamp(1.375rem,7.33vw,2.75rem);
    font-weight: 900;
    line-height: 1.1;
}

/* @media screen and (min-width: 541px) {
    .sw-ttl_txt {
        font-size: 4.6rem;
    }
} */
.sw-ttl_sub-ja .sw-txt-en{
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    display: inline-block;
}
.sw-txt-box_01 p{
    margin-top: 2em;
    letter-spacing: .1em;
}

/* KV
━━━━━━━━━━━━━━━━━━━―…‥・★・‥…―━━━━━━━━━━━━━━━━━━*/

.tp-section_kv{
    background:url(../img/bg-kv@2x.png) no-repeat 0% 0%;
    background-size: cover;
    aspect-ratio: 750 / 1269;
    width: 100%;
    height: auto;
    position: relative;
    /* max-height: 100vh; */
}

@media screen and (min-width: 541px) {
    .tp-section_kv{
        background-image:url(../img/bg-kv-pc@2x.png);
        aspect-ratio: 1700 / 860;
        min-height: 70vh;
    }
}

.tp-section_kv .sw-title_box{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 100%;
    height: 100%;
    position: relative;
}

@media screen and (max-width: 540px) and (max-height: 600px) {
    .tp-section_kv .sw-title_box{
        max-height: 100vh;
    }
}

.tp-section_kv .sw-ttl-wrap{
    margin-top: 6%;
}

@media screen and (min-width: 541px) {
    .tp-section_kv .sw-ttl-wrap{
        margin-top: 0;
    }
}

.tp-section_kv .sw-ttl {
    width: 77%;
    margin: 1.5% auto -1.5%;
}
@media screen and (min-width: 541px) {
    .tp-section_kv .sw-ttl {
        width: 38%;
        margin: 12px auto 0;
    }
}
.tp-section_kv .sw-txt_sub-01{
    font-family: "MFW-PA1GothicTCB5HK-Bold";
    text-align: center;
    font-size: clamp(1.35rem,4.93vw,2.7rem);
    font-weight: 900;
}

@media screen and (min-width: 541px) {
}
.tp-section_kv .sw-txt_sub-02{
    font-family: "MFW-PA1GothicTCB5HK-Bold";
    text-align: center;
    font-size: clamp(.95rem,3.59vw,1.85rem);
    font-weight: 900;
}
@media screen and (min-width: 541px) {
}
.tp-section_kv .sw-txt_copy {
    position: absolute;
    bottom: 2.6%;
    left: 0;
    width: 100%;
    text-align: center;
    font-size: clamp(.62rem,1.33vw,1rem);
}

@media screen and (min-width: 541px) {
}

/* sec-prologue
━━━━━━━━━━━━━━━━━━━―…‥・★・‥…―━━━━━━━━━━━━━━━━━━*/

.tp-section_prologue {
    padding: 11.5% 0 0;
    position: relative;
}
@media screen and (min-width: 541px) {
    .tp-section_prologue {
        padding:35px 0 0;
    }
}
@media screen and (min-width: 541px) {
    .tp-section_wrap:before {
        content: "";
        width: 100%;
        background: rgba(0,0,0,.58);
        height: 150px;
        position: absolute;
        bottom: 100%;
        left: 0;
        z-index: -1;
    }

}
.tp-section_prologue .hide-character .character {
    width: 48%;
    height: 50%;
    /* max-width: 140px;
    max-height: 214px; */
    position: absolute;
    left: 62%;
    top: 2%;
    background: url(../img/img-illust-01@2x.png) no-repeat 0 0;
    background-size: contain;
}

@media screen and (min-width: 541px) {
    .tp-section_prologue .hide-character .character{
        width: 60%;
        background-image: url(../img/img-illust-01-pc@2x.png);
        width:389px;
        height: 533px;
        top: -15px;
    }
}
.tp-section_prologue .sw-txt-box_01{
    margin: 8% auto;
    width: 97.5%;
}

/* tp-section_plan
━━━━━━━━━━━━━━━━━━━―…‥・★・‥…―━━━━━━━━━━━━━━━━━━*/

.tp-section_plan{
    padding: 12.5% 0 0;
    position: relative;
}

.tp-section_plan .hide-character .character{
    width: 46%;
    height: 100%;
    /* max-width: 168px;
    max-height: 303px; */
    position: absolute;
    left: 54%;
    top: -7%;
    background: url(../img/img-illust-plan@2x.png) no-repeat 0 0;
    background-size: contain;
}

@media screen and (min-width: 541px) {
    .tp-section_plan .hide-character .character{
        width: 58%;
        background-image: url(../img/img-illust-plan-pc@2x.png)
    }
}


 /* .tp-section_plan .hide-character .character{
    width: 46vw;
    height: 80vw;
    position: absolute;
    left: 54%;
    top: -24vw;
    background: url(../img/img-illust-plan@2x.png) no-repeat 100% 0;
    background-size: contain;
}

@media screen and (min-width: 541px) {
    .tp-section_plan .hide-character .character{
        width: 58%;
        background-image: url(../img/img-illust-plan-pc@2x.png)
    }
} */

.tp-section_plan .sw-ttl_sub-ja .sw-txt-en{
    font-family: "MFW-PA1GothicTCB5HK-Bold";
    background: url(../img/ttl-plan@2x.png) no-repeat 50% 50%;
    background-size: contain;
    width: 5.8em;
    height: 2.95em;
    margin-right: .1em;
}

.tp-section_plan .swiper{
    padding: 6% 0 0;
}
.tp-section_plan .sw-plan-box{
    /* padding: 0 10.8%; */
    position: relative;
    z-index: 5;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 6.5%;
    margin-bottom: 8.5%;
    /* padding: 5%; */

}

.tp-section_plan .sw-plan-box .sw-plan-box_inner {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border: 1px solid #cbfa00;
    border-radius: 2.5em;
    aspect-ratio: 589 / 838;
    height: 100%;
    padding: 3.5% 5% 6.5% 8%;
    overflow: hidden;
    width: 92%;
    max-width: 380px;
}

.tp-section_plan .sw-plan-box figure{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.tp-section_plan .sw-plan-box figure img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 0%;
}

.tp-section_plan .sw-plan-box .sw-txt_plan-num{
    /* position: absolute;
    top: 0;
    left: 0; */
    font-family: "Bebas Neue", sans-serif;
    font-weight: 400;
    font-style: normal;
    position: absolute;
    z-index: 1;
    top: 2.5%;
    left: 2%;
    line-height: 1;
    text-align: center;
}


.tp-section_plan .sw-plan-box .sw-txt_plan-num .num{
    font-size: clamp(4.45rem,26.4vw,9.9rem);
    display: block;
    letter-spacing: -.025em;
}

.tp-section_plan .sw-plan-box.plan-01 .sw-txt_plan-num .num{
    letter-spacing: -.075em;
}

.tp-section_plan .sw-plan-box .sw-txt_plan-num .en{
    font-family: "MFW-PA1GothicTCB5HK-Bold";
    font-size: clamp(.8rem,3.54vw,1.33rem);
    display: block;
    letter-spacing: .55em;
    text-indent: 1.2em;
    margin-top: -1em;
}

@media screen and (min-width: 541px) {
}

.tp-section_plan .sw-plan-box .sw-plan-box_info {
    position: absolute;
    z-index: 1;
    width: 87%;
    bottom: 4%;
    left: 8%;
}

.tp-section_plan .sw-plan-box .sw-plan-box_info .sw-ttl_plan{
    font-family: "MFW-PA1GothicTCB5HK-Bold";
    font-size: clamp(1.45rem,2.80vw,2.9rem);
    font-weight: 900;
    line-height: 1.7;
    margin-bottom: .6em;
}

@media screen and (min-width: 541px) {
    .tp-section_plan .sw-plan-box .sw-plan-box_info .sw-ttl_plan {
        font-size: 2rem;
    }
}

.tp-section_plan .sw-plan-box .sw-plan-box_info .sw-ttl_plan .sw-txt-en{
    color: #cbfa00;
    font-size: clamp(2.2rem,5.86vw,4.4rem);
    font-weight: 900;
    display: block;
    line-height: 1.2;
    margin-bottom: .2em;
}

@media screen and (min-width: 541px) {
    .tp-section_plan .sw-plan-box .sw-plan-box_info .sw-ttl_plan .sw-txt-en{
        font-size:2.6rem;
    }
}

.sw-plan-box_txt{
    margin: 0 auto 4.5%;
    width: 85%;
}

.tp-section_plan .swiper{
    position: relative;
    height: 500px;
    z-index: 500;
}

.tp-section_plan .swiper-pagination{
    position: absolute;

    top: 4.5% !important;
    left: inherit !important;
    right: 5% !important;

    text-align: right;
    width: 90%;
    height: 1em;
}

.tp-section_plan .swiper-pagination-bullet{
    background: #fff;
    width: .6em;
    height: .6em;
    opacity: 1;
    border-radius: 50%;
    display: inline-block;
    margin-left: .4em;
}

.tp-section_plan .swiper-pagination-bullet-active{
    background: #cbfa00;
}

.tp-section_plan .swiper-slide{
    transition: all .4s;
}
.tp-section_plan .swiper-slide-prev {
    transform: rotate(-5deg);
    opacity: .3;
    transform-origin: right bottom;
}
.tp-section_plan .swiper-slide-next {
    transform: rotate(5deg);
    opacity: .3;
    transform-origin: left bottom;
}
.tp-section_plan .swiper-slide-active {
    transform: rotate(0);
    opacity: 1;
}

/* tp-section_value
━━━━━━━━━━━━━━━━━━━―…‥・★・‥…―━━━━━━━━━━━━━━━━━━*/

.tp-section_value{
    padding: 22% 0 0;
    position: relative;
}

.tp-section_value .hide-character .character {
    width: 13%;
    height: 4.2%;
    /* max-width: 49px;
    max-height: 37px; */
    position: absolute;
    left: 77%;
    top: 10%;
    background: url(../img/img-illust-value@2x.png) no-repeat 0 0;
    background-size: contain;
}

.tp-section_value .sw-ttl_sub-ja .sw-txt-en{
    background: url(../img/ttl-value@2x.png) no-repeat 50% 50%;
    background-size: contain;
    width: 7em;
    height: 2.95em;
    margin-right: -.1em;
}

.tp-section_value .sw-list_value{
    margin: 6% auto 8%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.tp-section_value .sw-list_value li{
    width: 47.5%;
    overflow: hidden;
    border-radius: .7em;
}

.tp-section_value .sw-list_value li img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tp-section_value .sw-value-box_info{
    width: 91%;
    margin: 0 auto;
}

.tp-section_value .sw-value-box_info .sw-ttl_txt{
    line-height: 1.25;
}

.tp-section_value .sw-value-box_info p{
    margin: 4.6% auto 5%;
    letter-spacing: .1em;
}

/* tp-section_case
━━━━━━━━━━━━━━━━━━━―…‥・★・‥…―━━━━━━━━━━━━━━━━━━*/

.tp-section_case{
    padding: 22.5% 0 0;
}

.tp-section_case .sw-ttl_sub-ja .sw-txt-en{
    background: url(../img/ttl-case@2x.png) no-repeat 50% 50%;
    background-size: contain;
    width: 6.75em;
    height: 2.95em;
    margin-right: -.3em;
}

.tp-section_case .sw-case-box{
    margin: 7.5% auto 4%;
}

.tp-section_case .sw-case-box_figure{
    width: calc(100% - 2.8em);
    margin: 9% auto 5%;
    position: relative;
}
.tp-section_case .sw-case-box_figure:before,
.tp-section_case .sw-case-box_figure:after{
    content: "";
    width: .7em;
    height: 100%;
    position: absolute;
    top: 0;
}
.tp-section_case .sw-case-box_figure:before{
    left: -2em;
    background: url(../img/icn-case-01.svg) no-repeat 50% 50%;
    background-size: contain;
}
.tp-section_case .sw-case-box_figure:after{
    right: -2em;
    background: url(../img/icn-case-02.svg) no-repeat 50% 50%;
    background-size: contain;
}
.tp-section_case .sw-case-box_figure .sw-txt_case-num{
    font-size: clamp(1.08rem,2.88vw,2.16rem);
    font-weight: 900;
    position: absolute;
    top: 4%;
    left: 5%;
}

@media screen and (min-width: 541px) {
}

.sw-case-box_info .sw-ttl_sub-ja{
    text-align: center;
    margin: 3% auto;
}

.tp-section_case .sw-tag_list{
    text-align: center;
    display: flex;
    justify-content: center;
    margin: 0 auto 3.5%;
}

.tp-section_case .sw-tag_list li{
    margin: .35em;
}

.tp-section_case .sw-tag_list li span{
    color: #000;
    font-weight: 700;
}

.tp-section_case .sw-case-box_info p {
    width: 86%;
    margin: 0 auto;
}

/* tp-section_mind
━━━━━━━━━━━━━━━━━━━―…‥・★・‥…―━━━━━━━━━━━━━━━━━━*/

.tp-section_mind{
    padding: 42.5% 0 6%;
    position: relative;
}

.tp-section_mind .hide-character .character {
    /* max-width: 225px;
    max-height: 314px; */
    width: 59%;
    height: 100%;
    position: absolute;
    left: 39%;
    top: -2.5%;
    background: url(../img/img-illust-mind@2x.png) no-repeat 0 0;
    background-size: contain;
}

@media screen and (min-width: 541px) {
    .tp-section_mind .hide-character .character{
        width: 118%;
        background-image: url(../img/img-illust-mind-pc@2x.png)
    }
}

.tp-section_mind .sw-mind-box_info{
        margin: 6.5% auto 0;
        width: 88%;
}

.tp-section_mind .sw-ttl_txt{
    font-size: clamp(2.55rem,6.80vw,5.1rem);
    font-weight: 900;
    line-height: 1.35;
    margin-bottom: 5.5%;
}

@media screen and (min-width: 541px) {
    .tp-section_mind .sw-ttl_txt {
        font-size: 3.6rem;
    }
}

.tp-section_mind .sw-ttl_txt .lang-txt.en{
    font-size: clamp(1rem, 5.33vw, 2.1rem);
}

@media screen and (min-width: 541px) {
.tp-section_mind .sw-ttl_txt .lang-txt.en{
        font-size: 2.1rem;
    }
}

.tp-section_mind .sw-ttl_sub-ja .sw-txt-en {
    background: url(../img/ttl-mind@2x.png) no-repeat 50% 50%;
    background-size: contain;
    width: 6.65em;
    height: 2.95em;
    margin-right: -.3em;
}

.tp-section_mind .sw-mind-box_info p{
    letter-spacing: .1em;
}

/* tp-section_contact
━━━━━━━━━━━━━━━━━━━―…‥・★・‥…―━━━━━━━━━━━━━━━━━━*/

.tp-section_contact {
    padding: 7% 0 0;
}

.tp-section_contact .sw-ttl_sub-ja .sw-txt-en{
    background: url(../img/ttl-contact@2x.png) no-repeat 50% 50%;
    background-size: contain;
    width: 9em;
    height: 2.95em;
    margin-right: -.6em;
}

.tp-section_contact .sw-contact-box_info{
    width: 88.5%;
    margin: 5% auto 0;
}

.tp-section_contact .sw-contact-box_info p{
    letter-spacing: .1em;
}

.tp-section_contact .sw-contact-box_info ul{
    margin-top: 2em;
}
.tp-section_contact .sw-btn-link{
    margin-top: 14%;
    width: 82%;
}

/* animation
━━━━━━━━━━━━━━━━━━━―…‥・★・‥…―━━━━━━━━━━━━━━━━━━*/

.hide-contents {
  opacity: 0;
  visibility: hidden;
  transform: translateY(-40px);
  transition: all 1s;
}

.hide-contents_02 {
  opacity: 0;
  visibility: hidden;
  transform: translateY(-40px);
  transition: all 2s;
}

.hide-contents.is-show,
.hide-contents_02.is-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px);
}

.hide-character .character{
  opacity: 0;
  visibility: hidden;
  transform: translateY(3rem);
  transition: all 2s cubic-bezier(0.18, 0.89, 0.32, 1.28);
}

.hide-character.is-show .character {
  opacity: 1;
  visibility: visible;
  transform: none;
}


/* animation
━━━━━━━━━━━━━━━━━━━―…‥・★・‥…―━━━━━━━━━━━━━━━━━━*/

.lang-active .lang-txt{
  display: none;
  visibility: hidden;
  opacity: 0;
  transition: all .4s;
}
.en .lang-active .lang-txt.en{
  display: block;
  visibility: visible;
  opacity: 1;
}
.jp .lang-active .lang-txt.ja{
  display: block;
  visibility: visible;
  opacity: 1;
}


/* スナップスクロールセクション */
.snap-section {
    height: auto;
    overflow: hidden;
    position: relative;
    padding: 0 !important;
}


.snap-container {
    height: 100%;
    display: flex;
    align-items: flex-start;
}

.snap-scroll {
    display: flex;
    gap: 0;
    padding: 0;
    width: max-content;
}
@media screen and (min-width: 541px) {
	.snap-scroll {
    	height: max-content;
	}
}

.snap-item {
	width: 100vw;
	max-width: 540px;
    height: auto;
    transition: all 0.3s ease;
}

/* アクティブアイテムのスタイル */

.tp-section_plan .snap-item{
    transform: rotate(-5deg);
    opacity: .3 !important;
    transform-origin: right bottom !important;
}
.tp-section_plan .snap-item.next-active {
    transform: rotate(5deg) !important;
    transform-origin: left bottom !important;
}
.tp-section_plan .snap-item.active {
    transform: rotate(0) !important;
    opacity: 1 !important;
}
