:root {
    --color-black:#000;
    --color-white:#fff;
    --color-red:#c80019;
    --color-lighgray:#4b4b4b;
    --font-size-base:15px;
    --base-size: 15;

    --color-exciting:#1919FF;
    --color-bench1:#008200;
    --color-bench2:#05FF05;
    --color-court1:#6800D0;
    --color-court2:#9933FF;
    --color-arena1:#FF0582;
    --color-arena2:#FF47A3;
    --color-arena3:#FF89E3;
    --color-1fstand1:#988316;
    --color-1fstand2:#00CCCC;
    --color-shitei:#FF6600;
}

*{
    padding: 0;
    margin: 0;
    list-style: none;
    text-decoration: unset;
    vertical-align: top;
    box-sizing: border-box;
}

html,body{
    width: 100%;
    min-width: unset;
    height: 100%;
    background-color: var(--color-black);
    color: var(--color-white);
    font-size: var(--font-size-base);
    line-height: 1.8;
    letter-spacing: .05em;
    font-family: "BIZ UDPGothic", sans-serif;
    font-weight: 400;
    font-style: normal;
}
h1,h2,h3,h4{
    margin: 0;
    padding: 0;
    font-weight: bold;
}
img{
    width: 100%;
    height: auto;
    vertical-align:middle; 
}
.white{
    color: var(--color-white);
}
.black{
    color: var(--color-black);
}
.red{
    color:var(--color-red);
}
.bg-white{
    background-color: var(--color-white);
    color: var(--color-black);
}
.bg-red{
    background-color: var(--color-red);
}
.bg-grade{
  background : -moz-linear-gradient(50% 100% 90deg,rgba(200, 0, 25, 1) 0%,rgba(149, 0, 19, 1) 14.03%,rgba(104, 0, 13, 1) 28.6%,rgba(66, 0, 8, 1) 43.27%,rgba(37, 0, 5, 1) 57.81%,rgba(17, 0, 2, 1) 72.2%,rgba(4, 0, 1, 1) 86.35%,rgba(0, 0, 0, 1) 100%);
  background : -webkit-linear-gradient(90deg, rgba(200, 0, 25, 1) 0%, rgba(149, 0, 19, 1) 14.03%, rgba(104, 0, 13, 1) 28.6%, rgba(66, 0, 8, 1) 43.27%, rgba(37, 0, 5, 1) 57.81%, rgba(17, 0, 2, 1) 72.2%, rgba(4, 0, 1, 1) 86.35%, rgba(0, 0, 0, 1) 100%);
  background : -webkit-gradient(linear,50% 100% ,50% 0% ,color-stop(0,rgba(200, 0, 25, 1) ),color-stop(0.1403,rgba(149, 0, 19, 1) ),color-stop(0.286,rgba(104, 0, 13, 1) ),color-stop(0.4327,rgba(66, 0, 8, 1) ),color-stop(0.5781,rgba(37, 0, 5, 1) ),color-stop(0.722,rgba(17, 0, 2, 1) ),color-stop(0.8635,rgba(4, 0, 1, 1) ),color-stop(1,rgba(0, 0, 0, 1) ));
  background : -o-linear-gradient(90deg, rgba(200, 0, 25, 1) 0%, rgba(149, 0, 19, 1) 14.03%, rgba(104, 0, 13, 1) 28.6%, rgba(66, 0, 8, 1) 43.27%, rgba(37, 0, 5, 1) 57.81%, rgba(17, 0, 2, 1) 72.2%, rgba(4, 0, 1, 1) 86.35%, rgba(0, 0, 0, 1) 100%);
  background : -ms-linear-gradient(90deg, rgba(200, 0, 25, 1) 0%, rgba(149, 0, 19, 1) 14.03%, rgba(104, 0, 13, 1) 28.6%, rgba(66, 0, 8, 1) 43.27%, rgba(37, 0, 5, 1) 57.81%, rgba(17, 0, 2, 1) 72.2%, rgba(4, 0, 1, 1) 86.35%, rgba(0, 0, 0, 1) 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#C80019', endColorstr='#000000' ,GradientType=0)";
  background : linear-gradient(0deg, rgba(200, 0, 25, 1) 0%, rgba(149, 0, 19, 1) 14.03%, rgba(104, 0, 13, 1) 28.6%, rgba(66, 0, 8, 1) 43.27%, rgba(37, 0, 5, 1) 57.81%, rgba(17, 0, 2, 1) 72.2%, rgba(4, 0, 1, 1) 86.35%, rgba(0, 0, 0, 1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#000000',endColorstr='#C80019' , GradientType=0);
}

.center{
    text-align: center;
}
.left{
    text-align: left;
}
a:visited{
    text-decoration: none;
    /* color: initial; */
}
.bold{
    font-weight: 700;
}


/* Seat別の色 */
.bk-exciting{
    background-color: var(--color-exciting);
    color: var(--color-white);
}
.bk-bench1{
    background-color: var(--color-bench1);
    color: var(--color-white);
}
.bk-bench2{
    background-color: var(--color-bench2);
    color: var(--color-black);
}
.bk-court1{
    background-color: var(--color-court1);
    color: var(--color-white);
}
.bk-court2{
    background-color: var(--color-court2);
    color: var(--color-white);
}
.bk-arena1{
    background-color: var(--color-arena1);
    color: var(--color-white);
}
.bk-arena2{
    background-color: var(--color-arena2);
    color: var(--color-white);
}
.bk-arena3{
    background-color: var(--color-arena3);
    color: var(--color-white);
}
.bk-1fstand1{
    background-color: var(--color-1fstand1);
    color: var(--color-white);
}
.bk-1fstand2{
    background-color: var(--color-1fstand2);
    color: var(--color-white);
}
.bk-shitei{
    background-color: var(--color-shitei);
    color: var(--color-white);
}

/* FLEX */
.flex{
    display: flex;
    flex-wrap: unset;
}
.f_column{
    flex-direction: column;
}
.f_wrap{
    flex-wrap: wrap;
}
.f_1{
    flex:1;
}
.f_align_center{
    align-items: center;
}
.f_justify_center{
    justify-content: center;
}
.f_justify_end{
    justify-content: end;
}
.f_justify_between{
    justify-content: space-between;
}

/* POSITION */
.fixed{
    position: fixed;
}
.relative{
    position: relative;
}
.absolute{
    position: absolute;
}
.separator{
    width: 100%;
    height: 2px;
    background-color: var(--color-red);
}
.separator-black{
    margin: 4rem 0;
}
.separator-black div{
    width: 80%;
    height: 2px;
    max-width: calc(544 / var(--base-size) * 1rem);
    margin: 0 auto;
    background-color: var(--color-black);
}

/* CONTENT */
header{
    height: 100%;
}
article:not(#keyvisual):not(.menu-bar):not(#souki-banner){
    padding: calc(80 / var(--base-size) * 1rem) 0 calc(120 / var(--base-size) * 1.5rem);
}
article.has-padding{
    /* padding: calc(80 / var(--base-size) * 1rem) 0 calc(80 / var(--base-size) * 1.5rem); */
}
section{
}
.container{
    max-width: calc(1560 / var(--base-size) * 1rem);
    margin: 0 auto;
    padding: 0 2rem;
    container-type: inline-size;
    text-align: center;
}
.spacer-l{
    margin-top: 7.5rem;
}
.spacer-m{
    margin-top: 3.5rem;
}
.spacer-s{
    margin-top: 1.7rem;
}

/* Menu */
.menu-bar{
    width: 100%;
    border-top: 0px solid var(--color-red);
    border-bottom: 1.9px solid var(--color-red); 
    background-color: var(--color-black);
    position: sticky;
    top: 0;
    z-index: 100;
}
.menu-bar-head ul{
    max-width: calc(910 / var(--base-size) * 1rem);
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: center;
}
.menu-bar-head li{
    position: relative;
    flex: 1 1 130px;
    border-top: 1.9px solid var(--color-red);
    cursor: pointer;
}
.menu-bar-head li.hide{
    display:none;
}
.menu-bar-head li img{
    width: 130px;
    height: 130px;
    object-fit: contain;
    object-position: center;
}
.menu-bar-head li > div::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--color-white);
    z-index: -1;
    opacity: 0;
    transition: all .3s ease-out;
}
.menu-bar-head li:hover > div::before{
    opacity: .15;
}
.menu-bar-head li::after,
.menu-bar-head li:first-child:before{
    content: "";
    width: 1.9px;
    height: 80%;
    position: absolute;
    top: 10%;
    background-color: var(--color-red);
}
.menu-bar-head li::after{
    right: -0.95px;
}
.menu-bar-head li:first-child:before{
    left: -0.95px;
}
.sp-menu-toggle-btn{
    display: none;
    position: absolute;
    top: 0;
    right: 1rem;
    width: 50px;
    height: 50px;
    z-index:111;
}
.sp-menu-toggle-btn::before{
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80%;
    height: 80%;
    border-radius: 50%;
    background-image: var(--color-white);
    border: 2px solid transparent;
    background-origin: border-box;
    background-clip: border-box;

    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    -webkit-mask-composite: destination-out;
    mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    mask-composite: exclude;
    transition: transform .3s ease-in-out;
}
.menu-bar.open .sp-menu-toggle-btn::before{
    transform: translate(-50%, -50%) rotate(180deg);
}
.sp-menu-toggle-btn span{
    display: inline-block;
    position: absolute;
    width: 50%;
    height: 2px;
    background: white;
    border-radius: 2px;
    transform: translate(-50%, -50%);
    left: 50%;
    transition: all .3s;
}
.sp-menu-toggle-btn span:nth-child(1){
    top: calc(50% - 3px);
}
.sp-menu-toggle-btn span:nth-child(2){
    top: calc(50% + 3px);
}
.menu-bar.open .sp-menu-toggle-btn span:nth-child(1){
    transform: rotate(30deg);
    top: 48%;
    left: 26%;
}
.menu-bar.open .sp-menu-toggle-btn span:nth-child(2){
    transform: rotate(-30deg);
    top: 48%;
    left: 26%;
}
.sp-menu-bk{
    position: absolute;
    margin: 0px;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(10px);
    opacity: 0;
    transition: opacity .3s, z-index .2s;
    z-index: -1;
}
.sp-menu-bk.sp_menu_open{
    opacity: 1;
    margin: -20px;
    z-index: 99;
}
@media screen and (min-width: 910px) {
    .menu-bar{
        border-top: 1.9px solid var(--color-red);
    }
    .menu-bar-head li{
        border-top: 0px solid var(--color-red   );
    }
}


/* 見出し */
h2 > img{
    height: calc(36 / var(--base-size) * 1rem);
}
#changes h2 > img{
    height: calc(47 / var(--base-size) * 1rem);
}
#faq h2 > img{
    height: calc(41 / var(--base-size) * 1rem);
}
h2 p{
    font-size: calc(30 / var(--base-size) * 1rem);
    line-height: 1.7em;
    font-weight: bold;
    padding-bottom: 5rem;
    margin-top: .75em;
}
h3.circle-heade{
    border: 3px solid var(--color-black);
    font-size: 1.53rem;
    display: inline-block;
    padding: 0 1em;
    border-radius: 2rem;
    letter-spacing: 0.1em;
    text-indent: 0.1em;
    line-height: 1.7em;
    margin-bottom: 1em;
}
h3.circle-heade.red{
    border-color: #c80019;
}
h3.circle-heade.bg-white{
    border: 0px;
}


/* 共通素材 */
.strong-caption{
    font-size: 2rem;
    line-height: 1.7;
    word-break: auto-phrase;
}
.strong-caption.no-space-top{
    margin-top: 0rem;
}
.strong-caption sup{
    font-size: 60%;
    position: relative;
    top: 8px;
    font-weight: normal;
}
sub{
    font-size: 60%;
    position: relative;
    font-weight: bold;
}
.caption-50px{
    word-break: auto-phrase;
    font-size: calc(50 / var(--base-size) * 1rem);
}
.caption-40px{
    word-break: auto-phrase;
    font-size: calc(40 / var(--base-size) * 1rem);
}
.caption-35px{
    word-break: auto-phrase;
    font-size: calc(35 / var(--base-size) * 1rem);
}
.caption-30px{
    word-break: auto-phrase;
    font-size: calc(30 / var(--base-size) * 1rem);
}
.caption-28px{
    word-break: auto-phrase;
    font-size: calc(28 / var(--base-size) * 1rem);
}
.caption-25px{
    word-break: auto-phrase;
    font-size: calc(25 / var(--base-size) * 1rem);
}
.caption-20px{
    word-break: auto-phrase;
    font-size: calc(20 / var(--base-size) * 1rem);
}
.caption-18px{
    word-break: auto-phrase;
    font-size: calc(18 / var(--base-size) * 1rem);
}
.red-line-cicle{
    border: 2px solid var(--color-red);
    border-radius: 3rem;
    display: inline-block;
    padding: 0em 1.2em;
}
.card-list{
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: center;
    margin: 4rem 0;
}
.card-item{
    border: 2px solid var(--color-lighgray);
    /* width: calc(100% / 4 - 1rem); */
    display: flex;
    flex-direction: column;
    height: 100%;
}
.bg-red .card-item{
    border-color: var(--color-white);
}
.splide .card-list {
    gap: 0;
}
.splide .card-item{
    margin-right: 1.4%;
    max-width: 21.4rem;
}
.emptyslide.card-item{
    border: none;
}
.emptyslide.card-item:last-child{
    margin-right: 0px;
}
.card-item .card-img{
    aspect-ratio: 16 / 9;
    width: 100%;
    background-color: var(--color-black);
}
.card-item .card-img img{
    height: 100%;
    object-fit: contain;
    object-position: center;
}
.card-item .card-title{
    font-size: 1rem;
    /* line-height: 1.5; */
    text-align: center;
    padding-top: 1rem;
    /* word-break: auto-phrase; */
}
.card-item .card-content{
    margin-top: -1rem;
    padding: 1rem;
    text-align: left;
    line-height: 1.5;
    flex-grow: 1;
}
.btn-wrap{
    margin-top: 3rem;
}
.btn-wrap > a,
.btn-wrap > label{
    display: inline-block;
    background-color: var(--color-red);
    color: var(--color-white);
    border-radius: 2.7rem;
    padding: .5em 3em;
}
.btn-wrap a{
    color: var(--color-white);
}
.btn-wrap.has-icon a > img,
.btn-wrap.has-icon .icon-accordion span{
    position: absolute;
    width: min(5.5cqw,30px);
    height: min(5.5cqw,30px);
    right: 2rem;
    top: 0;
    bottom: 0;
    margin: auto 0;
    object-fit: contain;
}
.blackBtn a{
    display: inline-block;
    background-color: var(--color-black);
    padding: .5em 1em;
    font-size: 2rem;
    line-height: 1;
    font-weight: bold;
    color: var(--color-white);
    border-radius: 5em;
    letter-spacing: .1em;
    text-indent: 0.1em;
    text-decoration: none;
}
.redBtn{
    max-width: calc(400 / var(--base-size) * 1rem);
}
.rainbow-border a{
    /* 背景の重ね合わせ */
    background-image: linear-gradient(var(--color-black), var(--color-black)), 
                      linear-gradient(60deg, #25a739 0%, #960b30 21%, #c60f28 38%, #f4a100 56%, #00a6d8 74%, #00963b 100%);
    /* 1枚目(黒)を padding-box にすることで、余白(padding)の部分まで黒くなります */
    /* 2枚目(虹)を border-box にすることで、枠線(border)の部分だけに虹が出ます */
    background-origin: border-box;
    background-clip: padding-box, border-box; 
    /* 虹色の線の太さを決める（ここを太くしすぎないのがコツ） */
    border: 4px solid transparent; 
}
.sepparator{
    width: 100%;
    height: 3px;
    max-width: 1560px;
    margin: 0 auto;
    background-color: var(--color-red);
}
.pc-show{
    display: block;
}
.sp-show{
    display: none;
}
.redBtnWrap{
    justify-content: flex-end;
    margin-top: 3rem;
}



/* メインビジュアル */
#keyvisual .kv-wrap{
    width: 100vw;
    height: 100vh;
    position: relative;
}
.kv-logowrap{
    width: 90%;
    max-width: 1051px;
    aspect-ratio: 105 / 42;
    max-height: calc(80vh - 50px);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
}
#keyvisual .kv-wrap  img{
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}
#keyvisual .kv-wrap .kv-logowrap img{
    object-fit: contain;
    object-position: center;
    width: 100%;
    height: 100%;
    display: block;
}
#keyvisual .kv-wrap div.kv-title{
    position: absolute;
    bottom: 7vh;
    color: white;
    font-weight: bold;
    text-align: center;
    width: calc(100% - 2rem);
    font-size: 2rem;
    line-height: 1.5;
    padding: 0 1rem;
    word-break: auto-phrase;
}
.pageLinkBtnWrap{
    position: absolute;
    top: 5vh;
    right: 6vw;
    width: 100%;
    max-width: calc(295 / var(--base-size) * 1rem);   
}



/* 各コンテンツのカスタマイズ */
.copy-image-wrap{
    height: calc(88 / var(--base-size) * 1rem);
}
#about h3 img,
.copy-image-wrap img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}
#about h3{
    height: calc(35 / var(--base-size) * 1rem);
}
#about .btnWrap{
    gap: 5%;
    justify-content: center;
}
.btnWrap > div{
    width: calc(400 / var(--base-size) * 1rem);
}
.seatmapWrap{
    justify-content: center;
    gap: min(5%, 60px);
    margin-top: 13rem;
}
.seatMapImgWrap{
    width: calc(50% - (min(5%,60px) / 2));
    max-width: calc(700 / var(--base-size) * 1rem);
}
.seatMapImgWrap li > div{
    display: none;
}
.seatMapImgWrap li > div.show{
    display: block;
}
.seatInfoWrap{
    width: calc(50% - (min(5%,60px) / 2));
    max-width: calc(658 / var(--base-size) * 1rem);
}
.seatInfoWrap li{
    font-size: calc(22 / var(--base-size) * 1rem);
    font-weight: bold;
    justify-content: space-between;
    margin-bottom: 2rem;
    border-bottom: 3px solid var(--color-white);
    cursor: pointer;
    padding-right: 0.5rem;
    transition: background .3s ease;
}
.seatInfoWrap li:hover{
    background: rgba(255, 255, 255, 0.3);
}
.seatInfoWrap li > div{
    display: flex;
    gap: 2rem;
}
#price .buyBtnWrap{
    margin-top: 7rem;
    display: flex;
    justify-content: flex-end;

}
#price{
    position: relative;
}
.redBkWrap{
    position: absolute;
    width: 100vw;
    height: 47%;
    bottom: 0;
    left: 0;
    z-index: -1;
}
.redBkWrap > div{width: 100%; height: 100%;}
@media screen and (max-width: 1182px) {
    .seatInfoWrap li > div{
    }
    .morebtn{
        display: none;
    }
    .seatprice{
        position: relative;
        padding-right: 2.3rem;
    }
    .seatprice::after{
        content: "+";
        font-size: .8em;
        color: var(--color-white);
        margin-left: 1rem;
        line-height: 1;
        padding-bottom: 1px;
        position: absolute;
        right: 2px;
        top: 28%;
    }
    .seatprice::before{
        content: "";
        width: 1.4rem;
        height: 1.4rem;
        border-radius: 50%;
        border: 1px solid var(--color-white);
        position: absolute;
        right: -1px;
        top: 0.6rem;
    }
    .seatMapImgWrap {
        width: 40%;
    }
    .seatInfoWrap {
        flex: 1;
    }
}
input.hideInput {
    display: none;
}
.changeBtnWrap{
    display: flex;
    justify-content: center;
    gap: 5%;
}
.changeBtnWrap > label {
    display: block;
    padding: .5em 0;
    border-radius: 999px;
    width: calc(50% - 2rem);
    max-width: calc(405 / var(--base-size) * 1rem);
    text-align: center;
    cursor: pointer;
    background-color: rgba(200, 0, 25,.3);
    transition: all .3s;
    font-size: calc(24 / var(--base-size) * 1rem);
    font-weight: bold;
    color: var(--color-white);
}
.changeBtnWrap input:checked + label.tabTitle {
    background-color: var(--color-red);
}
.tab_btn_biz{
    display: flex;
    justify-content: center;
    gap: 5%;
    margin-bottom: 7rem;
}
.tab_btn_biz label{
    display: block;
    width: calc(400 / var(--base-size) * 1rem);
    aspect-ratio: 400 / 57;
    background-repeat: no-repeat;
    background-size: contain;
    cursor: pointer;
}
.tab_btn_biz label.sales{
    background-image: url('/files/user/LP/2026-27/season_seat/switchBtn-sales.svg');
}
.tab_btn_biz label.sales.active{
    background-image: url('/files/user/LP/2026-27/season_seat/switchBtn-sales-active.svg');
}
.tab_btn_biz label.fukuri{
    background-image: url('/files/user/LP/2026-27/season_seat/switchBtn-fukuri.svg');
}
.tab_btn_biz label.fukuri.active{
    background-image: url('/files/user/LP/2026-27/season_seat/switchBtn-fukuri-active.svg');
}
#about .about_tab_content{
    opacity: 0;
    height: 0;
    overflow: hidden;
    transition: opacity .65s ease-in-out;
}
#about .about_tab_content.active{
    opacity: 1;
    height: auto;
}
.about-list{
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    gap: calc(45 / var(--base-size) * 1rem);
}
.about-list li{
    border: 2px solid var(--color-red);
    border-radius: 999px;
    max-width: calc(904 / var(--base-size) * 1rem);
    width: 100%;
}
.about-list li p:first-child{
    padding-top: .15em;
}
.about-list li p:last-child{
    padding-bottom: 1em;
}
.stepListWrap ul{
    justify-content: center;
    flex-wrap: wrap;
    gap: 40px;
}
.stepListWrap li{
    width: calc(268 / var(--base-size) * 1rem);
    border: 2px solid var(--color-red);
    padding: 0.9rem;
    font-size: .95rem;
    font-weight: bold;
    text-align: left;
    position: relative;
    word-break: break-all;
}
.stepListWrap li .steplistHead{
    text-align: center;
}
.stepListWrap li .steplistHead h3{
    font-size: 1rem;
}
.stepListWrap li .steplistHead img{
    width: 35%;
}
.stepListWrap li:not(:first-child)::before{
    content: "";
    position: absolute;
    top: 185px;
    left: -26px;
    width: 10px;
    height: 13px;
    background: var(--color-red);
    clip-path: polygon(0 0, 0 100%, 100% 50%);

}
.iconwrap{
    margin-left: -1rem; 
    margin-right: -1rem;
}
.iconwrap::before{
    content: "";
    display: inline-block;
    width: 100%;
    aspect-ratio: 9 / 4;
    /* background-color: white;
    background: var(--color-red); */
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;

}
.tab_content.shinki .iconwrap::before{
    /* background: var(--color-black); */
}
.iconwrap.get::before{
    background-image: url(/v=1778434282/files/user/LP/2026-27/season_seat/step-icon-get.svg);
}
.iconwrap.payment::before{
    background-image: url(/v=1778434282/files/user/LP/2026-27/season_seat/step-icon-payment.svg);
}
.iconwrap.sending::before{
    background-image: url(/v=1778434282/files/user/LP/2026-27/season_seat/step-icon-sending.svg);
}
.iconwrap.ghearinget::before{
    background-image: url(/v=1778434282/files/user/LP/2026-27/season_seat/step-icon-hearing.svg);
}
.iconwrap.mail::before{
    background-image: url(/v=1778434282/files/user/LP/2026-27/season_seat/step-icon-mail.svg);
}
.iconwrap.hearing::before{
    background-image: url(/v=1778434282/files/user/LP/2026-27/season_seat/step-icon-hearing.svg);
}
.iconwrap.choose::before{
    background-image: url(/v=1778434282/files/user/LP/2026-27/season_seat/step-icon-choose.svg);
}
.tab_content.shinki .iconwrap.choose::before{
    background-image: url(/v=1779181853/files/user/LP/2026-27/season_seat/step-icon-choose-black.svg);
}
.tab_content.shinki .iconwrap.payment::before{
    background-image: url(/v=1779181853/files/user/LP/2026-27/season_seat/step-icon-payment-black.svg);
}
.tab_content.shinki .iconwrap.get::before{
    background-image: url(/v=1779181853/files/user/LP/2026-27/season_seat/step-icon-get-black.svg);
}

.cautionIconWrap{
    width: calc(52 / var(--base-size) * 1rem);
    margin: 3rem auto 2rem;
}
.benefit-list-wrap{
    justify-content: flex-end;
}
.benefit-list-wrap > ul{
    display: flex;
    flex-direction: column;
    gap: 4rem;
}
.benefit-list-wrap li > div{
    /* display: flex;*/
    max-width: 93rem;
    gap: 3rem;
} 
.benefit-list-wrap li .icon-wrap{
    width: calc(200 / var(--base-size) * 1rem);
    aspect-ratio: 1;
}
.benefit-content{
    flex: 1;
}
.smallList li{
    font-size: calc(13 / var(--base-size) * 1rem);
    font-weight: bold;
    padding-left: 1.13em;
    position: relative;
}
.smallList li::before{
    content: "※";
    font-size: 1em;
    position: absolute;
    left: 0;
}
.cautionList li{
    margin-bottom: 3rem;
    padding-left: 1.3em;
    position: relative;
}
.cautionList li::before{
    content: "";
    display: block;
    width: 0.7em;
    height: 0.7em;
    background-color: var(--color-black);
    position: absolute;
    left: 0;
    top: 0.5em;
}
.faqList.flex{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
    align-items: start;
}
.faqList li{
    text-align: left;
    display: flex;
    flex-direction: column;
    cursor: pointer;
}
/* ヘッダー：縦中央寄せで、伸びてもテキストが中央に来る */
.faq_header{
    flex-grow: 1;
    border: 2px solid var(--color-lighgray);
    background-color: var(--color-lighgray);
    color: var(--color-white);
    padding: 0.5rem 2rem 0.5rem 1rem;
    position: relative;
    align-items: center;
}
.faq_header::after{
    content: "";
    position: absolute;
    width: 0.5rem;
    height: 0.5rem;
    border-top: 2px solid var(--color-white);
    border-right: 2px solid var(--color-white);
    right: 1rem;
    top: calc(50% - 0.5rem);
    transform: rotate(45deg);
    transition: transform .3s ease;
}
.faqList li.open .faq_header::after{
    transform: rotate(135deg);
}
/* コンテンツ：grid-template-rows で滑らかに開閉 */
.faq_content{
    display: grid;
    grid-template-rows: 0fr;
    overflow: hidden;
    border: 0 solid var(--color-lighgray);
    transition: grid-template-rows .3s ease, padding .3s ease, border-width .3s ease;
    padding: 0 1rem;
}
.faq_content > .faq_body{
    min-height: 0;
    overflow: hidden;
}
.faq_content > .faq_body > * + *{
    margin-top: 1rem;  /* テキストと画像の間隔。元のinline styleを置き換えるなら */
}
.faqList li.open .faq_content{
    grid-template-rows: 1fr;
    padding: 0.75rem 1rem;
    border-width: 0 2px 2px 2px;
}
.faq_content img{
    max-width: 100%;
    height: auto;
    display: block;
}




/* Footer */
.snshead{
    width: 80%;
    max-width: calc(174 / var(--base-size) * 1rem);
    margin: 0 auto;
    margin-top:50px;
}
.copywrap{
    display:flex;
    height: calc(10 / var(--base-size) * 1rem);
    margin-top:50px;
}
.copywrap img{
    width:100%;
    height:100%;
    object-fit:contain;
}
.snswrap{
    justify-content: center;
    gap:28px;
    padding-top:30px;
}
.snswrap li{
    height:calc(37 / var(--base-size) * 1rem);
    width:calc(45 / var(--base-size) * 1rem);
}
.footer_logowrap{
    display: flex;
    justify-content:center;
    align-items: center;
    gap: 90px; 
}
.footer_logowrap > *{
    height:calc(116 / var(--base-size) * 1rem);
    aspect-ratio : 172 / 116;
}
.contact-icon-wrap{
    display: grid;
    justify-content: center;
    grid-template-columns: repeat(auto-fit,minmax(210px, 1fr));
    gap: 0%;
    max-width: 42rem;
    margin: 0 auto;
    padding-top: 3rem;
    text-align: center;
}
.contact-icon-wrap li a{
    color: var(--color-black);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.contact-icon-wrap li a div{
    width: 3.27rem;
    height: 3.27rem;
    display: flex;
    justify-content: center;
}
.contact-icon-wrap li a.mail-icon div{
    width: 3.54rem;
}
.contact-icon-wrap li a p{
    padding-top: 0.5rem;
}
.flow-splide li > div.flex{
    gap: 5%;
}
.flow-splide li .step-img{
    width: 30%;
}



/* Splide */
.splide{
    margin: 0 auto;
}
.splide__arrow{
    height: calc(37 / var(--base-size) * 1rem);
    aspect-ratio: 1 / 1;
    position: absolute;
    bottom: -5rem;
}
.splide__arrow svg{display: none;}
.splide__arrow--prev{
    background-position: center right;
    margin-right: 2rem;
    left: 47%;
    transform: rotate(225deg);
}
.splide__arrow--next{
    background-position: center left;
    margin-left: 2rem;
    right: 47%;
    transform: rotate(45deg);
}
.splide__arrows button{
    border-top: 2px solid var(--color-red);
    border-right: 2px solid var(--color-red);
    border-left: none;
    border-bottom: none;
    background-color: transparent;
    background-repeat: no-repeat;
    cursor: pointer;
}
.splide__arrows,
.splide__pagination{
    justify-content: center;
    align-items: center;
}



/* MODAL */
#modalwindow{
    position: fixed;
    z-index: -1;
    opacity: 0;
    transition: all .3s ease;

    display: flex;
    justify-content: center;
    align-items: center;
    inset: 0;
    width:100dvw;
    height: calc(var(--vh, 1vh) * 100);
}
#modalwindow.open{
    z-index: 201;
    opacity: 1;
}
#modalwindow .modal-bk{
    background: var(--color-black);
    opacity: .9;
    position: absolute;
    inset: 0;
    height: calc(var(--vh, 1vh) * 100);
}
#modalwindow .modal-body{
    width: 100vw;
    max-width: 1200px;
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
}
#modalwindow .closeBtn{
    position: absolute;
    top: 8vh;
    right: calc(50% - min(48vw, 600px));
    border-radius: 50%;
    border: 2px solid var(--color-white);
    width: 30px;
    height: 30px;
    z-index: 999;
}
.closeBtn::after,.closeBtn::before{
    content: "";
    width: 60%;
    height: 2px;
    background-color: var(--color-white);
    position: absolute;
    top: calc(50% - 1px);
    left:calc(20%);
}
.closeBtn::after{
    transform: rotate(45deg);
}
.closeBtn::before{
    transform: rotate(-45deg);
}
#sheatSpride .splide__slide > div{
    aspect-ratio: 1;
    border: 8px solid white;
}
#sheatSpride .slide_title,
#sheatSpride .slide_info{
    height: calc((100% - (200% / 3)) / 2);
    display: flex;
    justify-content: center;
    align-items: center;
}
#sheatSpride .slide_title h2,
#sheatSpride .slide_title img{
    width: 100%;
    height: 100%;
}
#sheatSpride .slide_info{
    font-size: calc(60 / var(--base-size) * 1rem);
}
/* Modal Splide */
#moda_imgView{
    color: var(--color-white);
}
#moda_imgView li.splide__slide > .flex > div{
    width: 50%;
}
#moda_imgView li.splide__slide > .flex > div:last-child{

}
#moda_imgView li.splide__slide > .flex > div:first-child > div{
    padding-left: calc(50 / var(--base-size) * 1rem);
    align-items: baseline;
}
#moda_imgView li.splide__slide > .flex > div:last-child,
#moda_imgView .seattitle{
    margin-top: calc(50 / var(--base-size) * 1rem);
}
#moda_imgView li > p{
    margin-top: 1rem;
    margin-bottom: 1rem;
    padding-left: 1rem;
}
#moda_imgView .seatMap{
    margin-top: 1rem;
    margin-bottom: 1rem;
}
#moda_imgView .seatMap img{
    aspect-ratio: 25 / 18;
}
#moda_imgView .seatPrice{
    align-items: baseline;
}
#moda_imgView .seatMap,
#moda_imgView .seatBlock,
#moda_imgView .seattitle div{
    margin-right: calc(50 / var(--base-size) * 1rem);
}
#moda_imgView .seatBlock,
#moda_imgView .seatPrice{
    position: relative;
    bottom: -2px;

}
#moda_imgView .seatBlock{
    font-size: calc(14 / var(--base-size) * 1rem);
    font-weight: bold;
    line-height: 1;
}
#moda_imgView .seatText{
    font-size: calc(14 / var(--base-size) * 1rem);
    font-weight: bold;
    padding-right: 8%;
}
#moda_imgView .seattitle p{
    font-size: 0.87rem;
    line-height: 1;
}
.seatPrice{
    line-height: 1;
}
.seatPriceWrap{
    gap: 0.5rem;
    flex-wrap: wrap;
}
#moda_imgView .bikou{
    font-size: calc(11 / var(--base-size) * 1rem);
    font-weight: bold;
}
#moda_imgView .bk-1fstand1 .bikou{
    font-size: calc(9 / var(--base-size) * 1rem);
}
#moda_imgView .seattitle div{
    margin-top:0.55rem;
    margin-bottom: 0.55rem;
    width: 100%;
    height: calc(76 / var(--base-size) * 1rem);   
}
#moda_imgView .seattitle div img{
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: left;
}
#moda_imgView .seatImg{
    /* flex-grow: 1; */
    /* max-height: 100%; */
    display: flex;
    position: relative;
}
#moda_imgView .seatImg img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    /* height: calc(100% - calc(50 / var(--base-size) * 1rem));
    object-fit: cover;
    object-position: center; */
    opacity: 0;
    transition: opacity .3s;
    position: absolute;
    top: 0;
}
#moda_imgView .seatImg img.active{
    opacity: 1;
    left: 0;
}
#moda_imgView .seatImg .seatSwitch{
    position: absolute;
    bottom: 1rem;
    right: 1rem;
    gap: 1rem;
}
#moda_imgView .seatImg .seatSwitch div{
    padding: 1em 0;
    border-radius: 999px;
    width: 10em;
    text-align: center;
    font-weight: bold;
    letter-spacing: .3em;
    font-size: calc(11 / var(--base-size) * 1rem);
}
#moda_imgView .seatImg .seatSwitch div:not(.active){
    background-color: white;
    color: #000;
    cursor: pointer;
}
#moda_imgView .splide__arrows{
    /* display: flex;
    justify-content: center;
    gap: 1em;
    margin-top: 2rem; */
    height: 80px;
    position: relative;
}
#moda_imgView .splide__arrows button{
    /* width: 2em;
    height: 2em;
    border-radius: 50%;
    border-width: 0;
    position: relative; */
    position: absolute;
    bottom: 20px;
}
#moda_imgView .splide__arrow--prev {
    /* transform: rotate(-180deg); */
}
#moda_imgView .splide__arrow::before, 
#moda_imgView .splide__arrow::after {
    /* content: "";
    display: inline-block;
    background-color: var(--color-black);
    width: 1em;
    height: 2px;
    position: absolute;
    right: calc(50% - 0.5em);
    top: 50%; */
}
#moda_imgView .fontsize-20px{
    font-size: calc(calc(20 / var(--base-size) * 1rem) * 0.83);
}
#moda_imgView .splide__arrow::before {
    /* transform: rotate(35deg);
    top: calc(50% - 5px); */
}
#moda_imgView .splide__arrow::after {
    /* transform: rotate(-35deg);
    top: calc(50% + 2px); */
}
.smallList{
    margin-top: 1rem;
}

@media screen and (max-width: 768px) {
    html,body{
        font-size:calc(var(--font-size-base) * 0.8);
    }
    #top_main {
        position: relative;
        overflow: hidden;
    }
    .menu-bar{
        position: fixed;
        top: 0;
        left: 0;
        z-index: 200;
        width: 100vw;
        height: 50px;
    }
    .menu-bar::after{
        content: "";
        width: 100%;
        height: 50px;
        position: absolute;
        top: 0;
        left: 0;
        background-color: var(--color-black);
        z-index: 109;
    }
    .menu-bar header{
        position: absolute;
        top: -600px;
        left: 0;
        width: 100vw;
        height: auto;
        max-height:calc(100vh - 50px);
        /* overflow-y:auto; */
        background-color: var(--color-black);
        padding-bottom: 1rem;
        opacity: 0;
        transition: top .3s ease-in-out, opacity .3s;
        transition-delay: .1s;
        z-index: -1;
    }
    .menu-bar.open header{
        top: 50px;
        opacity: 1;
        z-index: 50;
    }
    .menu-bar-head > nav{
        border-top: 2px solid var(--color-red);
        border-bottom: 2px solid var(--color-red);
    }
    .menu-bar-head ul {
        display: grid;
        grid-template-columns: repeat(auto-fill, 130px);
        margin-top: -4px;
        margin-bottom: 0px
    }
    .menu-bar-head li::before {
        content: "";
        width: 2px;
        height: 80%;
        position: absolute;
        top: 10%;
        background-color: var(--color-red);
    }
    .menu-bar-head li::after {
        right: -2px;
    }
    .menu-bar-head li{
        margin-bottom: -2px;
        border-bottom: 2px solid var(--color-red);
        border-top:0;
    }
    .menu-bar-head li:first-child:before {
        left: -1px;
    }
    .menu-bar-head li::after, .menu-bar-head li:first-child:before {
        width: 2px;
    }
    .sp-menu-toggle-btn{
        display: inline-block;
    }
    .msg-btn-wrap {
        grid-template-columns: repeat(auto-fit, minmax(100%, 1fr));
    }
    .contact-icon-wrap{
        display: flex;
        flex-direction: column;
        gap: 2rem;
    }
    .spacer-s{
        margin-top: calc(1.7rem * 0.55);
    }
    .spacer-m{
        margin-top: 5vw;
    }
    .spacer-l{
        margin-top: 8vw;
    }
    .separator {
        /* margin: 5rem auto; */
    }
    article.has-padding {
       padding: calc(80 / var(--base-size) * .8rem) 0 calc(80 / var(--base-size) * 1rem);
    }
    .strong-caption sup {
        top: 2px;
    }
    h2.header-image {
        padding-bottom: 3.5rem;
    }
    .header-image > img {
        height: calc(1.58rem * 0.8);
    }
    .header-image > p {
        font-size: calc(1rem * 0.8);
        line-height: 1.3em;
    }
    .show-sp{
        display: block;
    }
    .card-item {
        width: calc(100% - 0.5rem);
        /* max-width: 21.4rem; */
    }
    .splide .card-item{
        max-width: unset;
    }
    .auto-slide-wrap_list > li {
        width: calc(100vw / 2.5);
    }
    .snswrap {
        gap: 5.2%;
        padding-top:2%;
    }
    .snswrap li{
        width: 8.4%;
        aspect-ratio:45 / 37;
        height:100%;
    }
    h3.circle-heade {
        font-size: 1.35rem;
    }
    .strong-caption,
    .blackBtn a{
        line-height: 1.55;
        font-size: 1.7rem;
        word-break: auto-phrase;
    }
    .num-image-wrap p {
        font-size: calc(47 / var(--base-size) * 1rem);
    }
    p{
        word-break: break-all;
    }
    .card-content p{
        word-break: unset;
    }
    .splide__pagination{
        width: calc(100% - (40px + 1rem) * 2);
        justify-content: space-between;
    }
    .splide__pagination li {
        /* width: min(20px, calc(100% / 10));
        max-width: 30px;
        margin: 0; */
    }
    .splide__pagination > li button {
        /* margin: 0;
        width: 100%; */
    }
    .splide .card-item .card-title{
        min-height: 3.4em;
        word-break: auto-phrase;
    }
    .splide__arrow {
        height: 3.5vw;
        bottom: -8vw;
    }
    .splide__arrow--prev{
        /* margin-right: 0rem;
        left: -45px; */
        left: 45%;
    }
    .splide__arrow--next{
        /* margin-left: 0rem;
        right: -45px; */
        right: 45%;
    }
    .splide__arrows{
        /* justify-content: space-between;
        gap: 1rem; */
    }
    .pc-show{
        display: none;
    }
    .sp-show{
        display: block;
    }

    #about .btnWrap,
    .seatmapWrap{
        flex-direction: column;
        align-items: center;
        gap: 3vw;
    }
    .seatmapWrap{
        gap: 4rem;
        margin-top: 24vw;
    }
    .redBtnWrap {
        justify-content: center;
    }
    .seatMapImgWrap,
    .seatInfoWrap{
        width: 100%;
    }    
    #price .buyBtnWrap {
        justify-content: center;
        margin-top: 8vw;
    }
    .btnWrap > div,
    #price .buyBtnWrap > a {
        width: 38vw;
    }
    .stepListWrap li {
        width: 72%;
        min-height: 47vw;
        padding: 3%;
    }
    .stepListWrap ul {
        gap: 20px;
    }
    .stepListWrap li:not(:first-child)::before {
        left: calc(50% - 5px);
        top: -18px;
        transform: rotate(90deg);
    }
    .iconwrap {
        max-width: 240px;
        margin: 0 auto;
        width: 50%;
    }
    .benefit-list-wrap li > div {
        flex-direction: column;
        gap: 0rem;
    }
    .benefit-list-wrap li .icon-wrap {
        margin: 0 auto;
        width: 35%;
    }
    .benefit-list-wrap li .left{
        text-align: center !important;
    }
    .about-list li p.caption-50px{
        font-size: 87%;
        padding-top: .3em;
    }
    .about-list li p.caption-20px{
        font-size: 50%;
    }
    .faqList li,
    .attentionwrap > div {
        flex-basis: 100%;
        width: 100%;
    }
    .seatInfoWrap li {
        font-size: 2.6vw;
        border-bottom: 1px solid var(--color-white);
    }
    .seatprice::before {
        top: 0.2em;
        width: 3vw;
        height: 3vw;
    }
    .seatprice::after {
        top: 26%;
        right: 2%;
    }
    .benefit-list-wrap {
        display: block;
    }
    .benefit-list-wrap .benefit-content h3{
        margin-top: 3vw;
    }
    .benefit-list-wrap .benefit-content p{
        margin-top: 2vw;
    }
    .benefit-list-wrap > ul {
        gap:6vw 0;
        flex-wrap: wrap;
        flex-direction: row;
    }
    .changes-list li span::before{
        /* transform: translateY(-4%); */
    }
    .splide__pagination > li button{
        /* width: 6px;
        height: 6px; */
    }
    .splide__pagination > li button.is-active {
        /* width: 30px;
        height: 5px; */
    }
    #modalwindow .splide__pagination{
        /* width: 90%; */
    }
    h2 > img {
        /* height: calc(28 / var(--base-size) * 1rem); */
        height: 3.3vw;
    }
    #faq h2 > img {
        height: 3.8vw;
    }
    h2 p {
        margin-top: 0em;
        padding-bottom: 5vw;
        font-size: 2.6vw;
    }
    article:not(#keyvisual):not(.menu-bar):not(#souki-banner){
        /* padding: calc(80 / var(--base-size) * 1rem) 0 calc(80 / var(--base-size) * 1.5rem); */
        padding: 6vw 0 10vw;
    }
    .footer_logowrap{
        gap: 4.6%;
    }
    .footer_logowrap > * {
        width: 15.9%;
        height: 100%;
        aspect-ratio:124 / 84;
    }
    .snshead {
        margin-top:5.7%;
        width:18%;
        line-height:1;
    }
    #moda_imgView .splide__slide > div.flex {
        position: relative;
        display: block;
    }
    #moda_imgView .splide__slide > div.flex > div:first-child {
        width: 100%;
    }
    #moda_imgView .splide__slide > div.flex > .seatImg {
        position: absolute;
        width: 100%;
        left: 0;
        top: calc(12px + 13vw);
        aspect-ratio: 16 / 9;
    }
    #moda_imgView .splide__slide > div.flex > div:first-child .seattitle {
        margin-top: 12px;
    }
    #moda_imgView .splide__slide > div.flex > div.seatImg{
        margin-top: 0px;
    }
    #moda_imgView .splide__slide > div.flex > div:first-child .seattitle, 
    #moda_imgView .splide__slide > div.flex > div:first-child .seatText, 
    #moda_imgView .splide__slide > div.flex > div:first-child .seatMap, 
    #moda_imgView li.splide__slide > .flex > div:first-child > div,
    #moda_imgView .bk-1fstand1 .bikou {
        padding-left: 12px;
        padding-right: 12px;
    }
    #moda_imgView .seattitle div {
        margin-right: 0;
    }
    #moda_imgView .splide__slide > div.flex > div:first-child .seatMap{
        max-width: 250px;
        margin: 0 auto;
        padding: 1rem 0;
    }
    #moda_imgView .splide__slide > div.flex > div:first-child .seatText {
        margin-top: calc(30% * (16 / 9) + 24px);
        line-height: 1.55;
    }
    #moda_imgView .seattitle div {
        width: 70%;
        height: auto;
    }
    #modalwindow .modal-body {
        padding: 1rem 24px 0;
        height: 85vh;
        width:90vw;
    }
    #moda_imgView .seatImg .seatSwitch div {
        width: 5rem;
        padding: 0.4rem;
    }
    #moda_imgView li > div.flex .seatPriceWrap {
        flex-direction: column;
        gap: 8px;
    }
    #moda_imgView .bikou {
        /* font-size: 9px !important; */
        margin-top: 1.5em;
        padding-right: 12px;
        word-break: break-all;
    }
    #moda_imgView .splide__arrows {
        height: 50px;
    }
    #moda_imgView .splide__arrow {
        height: 20px;
    }
    #modalwindow .closeBtn {
        top: 5vh;
        right: 24px;
    }
    .faqList.flex{
        display: flex;
        flex-direction: column;
    }
    .tab_btn_biz {
        margin-bottom: 4rem;
    }
    .about-list {
        gap: 4vw;
    }
    #keyvisual{
        position: relative;
    }
    .pageLinkBtnWrap{
        right: calc(50% - 13vw);
        top: calc(63%);
        width:26vw;
    }
    #about .caption-30px,
    .tab_content .caption-25px{
        font-size: 2.47vw;
    }
    #about small{
        font-size: calc(8 / var(--base-size) * 1rem);
        display: block;
        padding-top: 1em;
    }
    .copy-image-wrap {
        height: 6.7vw;
        position: relative;
        display: inline-block;
    }
    .copy-image-wrap img{
        width:auto;
    }
    .copy-image-wrap::after{
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        height: 1px;
        width: 100%;
        background-color: var(--color-red);
    }
    #about h3 {
        height: 3.1vw;
    }
    .about-list li {
        width: 64vw;
        border: 1px solid var(--color-red);
    }
    .changeBtnWrap {
        gap: 12%;
    }
    .changeBtnWrap > label {
        width: 15vw;
        font-size: 2.41vw;
    }
    .sp-fontsize25,
    #caution .caption-25px{
        font-size: 2.5vw;
    }
    .sp-fontsize23,
    .benefit-list-wrap li .benefit-content .caption-40px,
    #faq h3,
    #moda_imgView .seatPrice > *,
    #moda_imgView .seatBlock,
    #moda_imgView .splide__slide > div.flex > div:first-child .seatText{
        font-size: 2.3vw;
    }
    .sp-fontsize20,
    .benefit-list-wrap li .benefit-content .caption-25px{
        font-size: 2vw;
    }
    .stepListWrap li .steplistHead img {
        width: 23%;
    }
    .sp-fontsize18,
    .stepListWrap li .steplistHead h3,
    .stepListWrap p,
    #faq ul{
        font-size: 1.8vw;
        word-break: break-all;
    }
    .stepListWrap li .steplistHead{
        line-height: 1;
    }
    .stepListWrap li .steplistHead h3{
        line-height: 2.5;
    }
    .stepListWrap p:not(.left){
        text-align: center;
    }
    .stepListWrap small{
        display: inline-block;
        line-height: 1.57em;
        padding-top: 1em;
    }
    .sp-fontsize15,
    .stepListWrap small{
        font-size: 1.5vw;
    }
    .sp-fontsize13,
    .smallList li,
    #moda_imgView .bikou,
    #moda_imgView .bk-1fstand1 .bikou{
        font-size: 1.3vw;
    }
    .sp-fontsize30{
        font-size: 3vw;
    }
    #moda_imgView .seatPrice{
        font-size: 4vw;
    }
    .cautionIconWrap {
        margin: 2vw auto;
        width: 5vw;
    }
    .benefit-list-wrap > ul > li{
        width: 50%;
    }
    .sp-left{
        text-align: left !important;
    }
    p.sp-left,
    .sp-left > *{
        word-break: break-all;
    }
    .benefit-content p,
    .benefit-content ul{
        padding: 0 3vw;
    }
    .cautionList li {
        margin-bottom: 3vw;
        word-break: break-all;
    }
    sub{
        font-size: 70%;
    }
    sup{
        font-size: 70%;
    }
    .faq_header::after {
        border-top: 1px solid var(--color-white);
        border-right: 1px solid var(--color-white);
        top: calc(50% - 0.5em);
    }
    .about_tab_content{
        margin-left: -24px;
        margin-right: -24px;
    }
    .subcaution h3{
        margin-bottom: 2vw;
    }
    .subcaution p:last-child{
        margin-top: 0 !important;
    }
    .subcaution p:last-child span{
        display: inline-block;
        margin-top: 2vw;
    }
}