@charset "utf-8";


/* for Apple
----------------------------------------------------------------------*/
#header{padding-bottom: 5px;}


#header {
    max-width: 1400px;
    display: flex;
    width: 100%;
    padding-top: 15.5px;
    border-bottom: none;
    align-items: center;
    padding-bottom: 17px;
    border-bottom: 4px solid #28B1E2;
    margin-bottom: 12px;
    padding-left: 40px;
    padding-right: 40px;
    box-sizing: border-box;
    position: relative;
}
/*--------------------------------------
  gnav
---------------------------------------*/
.gnav .menu{
    display:-webkit-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:flex;
    margin: auto;

    align-items: stretch;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;

}
.gnav .menu>li{
    text-align: center;
    line-height: 1;
    font-family: "メイリオ", "ヒラギノ角ゴ Pro", "Lucida Grande", "Hiragino Kaku Gothic Pro", Osaka, Verdana, "ＭＳ Ｐゴシック", sans-serif;
    font-weight: bold;
    position: relative;
}
.gnav .menu>.nav01:first-child:after {
    display: none;
}
.gnav .menu>li>a{
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    height: 100%;
    text-decoration: none;
    line-height: 1.45;
    color: #28B1E2;
    /* БЫЛО: font-size: 125%; */
    font-size: 18px; /* СТАЛО: просили конкретно 18px */
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
}
.gnav .menu>li.nav01:nth-child(1) {
    padding: 15px 30px 23px;
}
@media screen and (max-width: 768px) {
.gnav .menu>li.nav01:nth-child(1) {
    padding: 0 0 0 23px;
    text-align: left;
}
}
.gnav .menu>li.nav01:nth-child(2) {
    padding: 4px 26px 6px;
}
@media screen and (max-width: 768px) {
.gnav .menu>li.nav01:nth-child(2) {
    padding: 0 0 0 23px;
    text-align: left;
}
}
.gnav .menu>li.nav01:nth-child(3) {
    padding: 4px 20px 6px;
}
@media screen and (max-width: 768px) {
.gnav .menu>li.nav01:nth-child(3) {
    padding: 0 0 0 23px;
    text-align: left;
}
}
.gnav .menu>li.nav01:not(:first-child) {
    border-left: 2px solid #28B1E2;
}
.gnav .menu>li.nav02 {
    background-color: #28B1E2;
    padding: 9px 13.4px 13px 19.2px;
    border-radius: 8px;
    margin-left: 14px;
    cursor: pointer;
}
@media screen and (max-width: 768px) {
    .gnav .menu>li.nav02 {
        background-color: #28B1E2;
        padding: 0 0 0 23px;
        border-radius: 0;
        margin-left: 0;
        cursor: pointer;
    }
}
.gnav .menu>li.nav03 {
    background-color: #28B1E2;
    padding: 9px 16.5px 13px 14.9px;
    border-radius: 8px;
    cursor: pointer;
}
@media screen and (max-width: 768px) {
    .gnav .menu>li.nav03 {
        padding: 0 0 0 23px;
        border-radius: 0;
    }
}
.gnav .menu>li.nav02:hover,
.gnav .menu>li.nav03:hover {
    background-color: #F08D00;
}
.gnav .menu>li.nav01>a {
    background: #fff;
    position: relative;
    display: inline-block;
    text-decoration: none;
    --uline-h: 6px;
    transform: translateY(0);
    transition: transform .2s ease;
}

@media screen and (max-width: 768px) {
    .gnav .menu>li.nav01>a {
        background: initial;
        position: relative;
        display: inline-block;
        text-decoration: none;
        --uline-h: 0;
        transform: translateY(0);
        transition: initial;
        color: #fff;
    }
}

@media screen and (min-width: 767px) {
    .gnav .menu>li.nav01>a::after {
        content:"";
        position:absolute;
        left:0;
        bottom: calc(-1 * var(--uline-h)); /* 下線をリンクの外側（下）に出す */
        width:100%;
        height: var(--uline-h);
        background:#F08D00;
        opacity:0;
        transition: opacity .2s ease;
    }
    .gnav .menu>li.nav01>a:hover,
    .gnav .menu>li.nav01>a:focus-visible{
        transform: translateY(calc(-1 * var(--uline-h)));
    }

    .gnav .menu>li.nav01>a:hover::after,
    .gnav .menu>li.nav01>a:focus-visible::after {
        opacity:1;
    }
    .gnav .menu>li.nav02>a {
        font-size: 100%;
        line-height: 1.375;
        color: #fff;
    }
    .gnav .menu>li.nav02>a:before {
        display: block;
        content:'';
        background: url("../images/apple/appleshop/icon_netshop.png?date=2026030601") no-repeat;
        background-size: contain;
        width: 46.8px;
        height: 38.03px;
        vertical-align: middle;
        margin-right: 14.6px;
    }
    .gnav .menu>li.nav03>a {
        font-size: 100%;
        line-height: 1.375;
        color: #fff;
    }
    .gnav .menu>li.nav03>a:before {
        display: block;
        content:'';
        background: url("../images/apple/appleshop/icon_search.png?date=20260306") no-repeat;
        background-size: contain;
        width: 26.64px;
        height: 35.63px;
        vertical-align: middle;
        margin-right: 17.9px;
    }
}

/*--------------------------------------
  contents
---------------------------------------*/

.breadCrumb{
    border-top: 1px solid #c9c9c9;
    /* border-bottom: 1px solid #c9c9c9; */
}
.breadCrumb ul{
    display: -webkit-flex;
    display: flex;
    padding-top: 15px;
    padding-bottom: 15px;
}
.breadCrumb ul li{
    font-size: 87.5%;
}
.breadCrumb ul li:not(:first-child):before{
    content:'';
    display: inline-block;
    border-top: 2px solid #666;
    border-right: 2px solid #666;
    width: 4px;height: 4px;
    margin: 0 .5em;
    transform: rotate(45deg) translate(-2px,-1px);
}


.AppleInfo {
    font-family: '小塚ゴシック Pro','Kozuka Gothic Pro',"メイリオ", "ヒラギノ角ゴ Pro", "Lucida Grande", "Hiragino Kaku Gothic Pro", Osaka, Verdana, "ＭＳ Ｐゴシック", sans-serif;
    line-height: 1.6;
}
.AppleInfo *{
    box-sizing: border-box;
    vertical-align: bottom;
    margin: 0;
    padding: 0;
}
.AppleInfo a{
    text-decoration: none !important;
    color: #000;
}
.AppleInfo a:hover{
    opacity: .5;
}
.AppleInfo .btnArea{
    text-align: center;
    margin: 50px auto;
}
.AppleInfo .btnBack{
    display: inline-block;
    background: #284db4;
    color: #fff;
    text-align: center;
    font-size: 150%;
    font-weight: bold;
    border-radius: 10px;
    padding: 16px 70px;
    width: 490px;
    position: relative;
    margin: 10px 40px;
}
.AppleInfo .btnBack:before{
    content:'';
    display: inline-block;
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
    width: 10px;height: 10px;
    transform: rotate(-45deg) translateY(-50%);
    position: absolute;
    left: 40px;top: 47%;
}
/**/
.contentsWidth{
    box-sizing: border-box;
    margin: auto;
    padding: 0 15px;
}
.bold{font-weight: bold;}
.bgBk{background: #000;}
.bgGr{background: #f2f2f2;}
.bgWrap{
    padding: 20px 0;
}
.taC{text-align: center !important;}

.taC .sim_buttons {
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    margin-bottom: 10px;
}

.taC .sim_buttons .btn01 {
    width: 490px;
    margin: -10px 28px 0;
    font-size: 150%;
}
/* title */
h1.pageTitle{
    max-width: 1280px;
    margin: auto;
    padding: 25px 0;
    border: none;
    text-align: center;
    font-size: 250%;
    line-height: 1.2;
    color: #1e50a2;
    font-weight: bold;
}
.secTitle{
    text-align: center;
    padding: 50px 0 40px;
    font-size: 160%;
    font-weight: normal;
    line-height: 1.2;
}


/* ========================================
  for apple
======================================== */
.mvApple{
    background: #000;
    color: #fff;
}
.mvApple .contentsWidth{
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.mvApple .txt{
    text-align: center;
}
.mvApple p{

    margin-top: 2rem;
}
.mvApple .catch{
    font-weight: bold;
    font-size: 140%;
}
.mvApple .btn{
    display: inline-block;
    border: 1px solid #fff;
    color: #fff;
    border-radius: 8px;
    width: 322px;height: 45px;
    line-height: 42px;
    font-size: 114%;
    text-align: center;
    position: relative;
}
.mvApple .btn:hover{
    background: #fff;
    color: #000;
    opacity: 1;
}
.mvApple .btn:after{
    content:'';
    display: inline-block;
    border-top: 2px solid #ed780f;
    border-right: 2px solid #ed780f;
    width: 4px;height: 4px;
    margin: 0 .5em;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;right: 15px;top: 47%;
}


.modelList{
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
}
.modelBox{
    width: 48%;
    height: 290px;
    background: #fff;
    box-shadow: 5px 5px 15px rgba(0,0,0,0.1);
    padding: 30px 60px;
    position: relative;
    z-index: 2;
    margin-bottom: 40px;
}
.modelBox h3{
    font-size: 175%;
}
.modelBox .image{
    position: absolute;right: 30px;bottom: 0;z-index: -1;
}
.modelBox .arrList>li{
    margin-top: .8em;
}
.modelBox .arrList>li:before{
    content:'';
    display: inline-block;
    border-top: 2px solid #ed780f;
    border-right: 2px solid #ed780f;
    width: 4px;height: 4px;
    margin: 0 .5em;
    transform: rotate(45deg) translate(-2px,-1px);
    text-indent: .1em;
    margin-left: -.1em;
}

.bnrArea{
    border-top: 1px solid #c9c9c9;
    margin-top: 20px;
    padding-top: 56px;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.bnrArea a{display: inline-block;margin-bottom: 35px;}
/**/
.AppleInfo .btn01{
    display: block;
    padding: 12px 10px;
    background: #284db4;
    color: #fff;
    font-size: 145%;
    font-weight: bold;
    border-radius: 10px;
    position: relative;
    text-align: center;
}
.AppleInfo a.btn01:after{
    content:'';
    display: block;
    width: 14px;height: 14px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;right: 30px;top: 47%;
}
.AppleInfo .btn02{
    display: inline-block;
    width: 80%;
    height: 120px;
    line-height: 115px;

    border: 1px solid #F29800;
    background: #FFA815;
    background: linear-gradient(#FFB333, #FB9D00);
    color: #fff;
    font-size: 145%;
    font-weight: bold;
    border-radius: 10px;
    position: relative;
    text-align: center;
}
.AppleInfo a.btn02:after{
    content:'';
    display: block;
    width: 10px;height: 10px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;right: 5%;top: 47%;
}


/* ========================================
  for apple Shop
======================================== */
.mvAppleshop{
    background: #000;
    color: #fff;
    padding: 40px 0 50px;
    text-align: center;
}
.mvAppleshop .txt{
    margin-bottom: 30px;
}
.mvAppleshop p{

    margin-top: .5rem;
}
.mvAppleshop .catch{
    font-weight: bold;
    font-size: 140%;
    margin-top: 2rem;
}
.mvAppleshop li{background: #000;}
.mvAppleshop .bx-wrapper {margin-bottom: 0;}
.mvAppleshop .bx-wrapper .bx-pager{padding-top: 0;bottom: 30px;background: none;}
.mvAppleshop .bx-wrapper .bx-pager.bx-default-pager a{
    width: 18px;height: 18px;
    background: #fff;
}
.mvAppleshop .bx-wrapper .bx-pager.bx-default-pager a.active{
    background: #979797;
}
/**/
ul.tab01{
    border-bottom: none;
    margin-bottom: 0 !important;
}
ul.tab01>li{
    background: #fff;
    border-left: 2px solid #f2f2f2;
    padding: 20px 0;
    line-height: 1;
    font-size: 121%;
    font-weight: bold;
}
ul.tab01>li:first-child{
    border-left: none;
}
ul.tab01>li.resp-tab-active{
    background: #284db4;
    color: #fff;
    position: relative;
}
ul.tab01>li.resp-tab-active:before{
    content:'';
    display: block;height: 5px;width: 100%;
    background: #f3981d;
    position: absolute;left: 0;top: 0;
}
ul.tab02{
    background: #284db4;
    padding: 20px 25px;
    color: #fff;
    text-align: left;
}
ul.tab02 li{
    display: inline-block;
    line-height: 1.2;
    padding-right: 1em;
    vertical-align: middle;
}
ul.tab02 li:before{
    content:'';
    display: inline-block;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    width: 4px;height: 4px;
    transform: rotate(45deg);
    text-indent: .1em;
    margin: 0px 6px 3px 0;
}
ul.tabArea01{
    background: #284db4;
    padding: 15px 25px;
    color: #fff;
    text-align: center;
}
ul.tabArea01 li{
    display: inline-block;
    line-height: 1.2;
    padding-right: 1em;
    vertical-align: middle;
}
ul.tabArea01 li:before{
    content:'';
    display: inline-block;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    width: 4px;height: 4px;
    transform: rotate(45deg);
    text-indent: .1em;
    margin: 0px 6px 3px 0;
}
ul.tabArea02{
    background: #eee;
}
ul.tabArea02 li{
    line-height: 1.2;
    padding: 13px 10px 15px;
    border-left: 2px solid #fff;
}
ul.tabArea02 li:first-child{
    border-left: none;
}
ul.tabArea02 li.resp-tab-active{
    background: #284db4;
    color: #fff;
    position: relative;
}
ul.tabArea02>li.resp-tab-active:before{
    content:'';
    display: block;height: 5px;width: 100%;
    background: #f3981d;
    position: absolute;left: 0;bottom: 0;
}


.shopInfo .shopName{
    color: #284db4;
/*    font-size: 2.5rem;*/
    font-size: 156%;
    font-weight: bold;
    margin-bottom: 1rem;
}
.shopInfo .text p{line-height: 1.4;}
.shopInfo .tell{color: #284db4;}

.shopInfo .image img{width: 100%;}

.shopInfo2{
    padding: 40px 20px;
}
.shopInfo2 .text{
    padding: 15px 0;
    border-top: 1px solid #c4c4c4;
}
.shopInfo2 .text:last-child{
    border-bottom: 1px solid #c4c4c4;
}
.shopInfo2 .shopName{color: #284db4;font-weight: bold;}
.shopInfo2 p.tell {color: #284db4;font-weight: bold;}

.AppleInfo a.btnLocation,
.AppleInfo a.btnLocation2{
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #284db4;
    color: #fff;
    border-radius: 10px;
/*    font-size: 2.3rem;*/
    font-size: 145%;
    font-weight: bold;
    max-width: 490px;height: 73px;
    margin-top: 36px;
}
.AppleInfo .btnLocation:before,
.AppleInfo .btnLocation2:before{
    display: inline-block;
    content:'';
    background: url("../images/apple/appleshop/icon_location.svg") no-repeat;
    width: 20px;height: 100%;
    vertical-align: bottom;
    transform: translateY(25%);
    margin-right: 10px;
}
.AppleInfo a.btnLocation2{
    width: 260px;height: 60px;
    font-size: 120%;
    margin-top: 0;
}

.eventSche>dl{
    display: -webkit-flex;
    display: flex;
    padding: .5em 2em;
    border-bottom: 1px solid #d2d2d2;
}
.eventSche>dl dt{padding-right: 1em;}

.eventSche p{
    margin-top: 30px;
    padding-left: 1.5em;
    text-indent: -1.5em;
}

/**/
.shadowBox{
    background: #fff;
    box-shadow: 5px 5px 15px rgba(0,0,0,0.1);
    position: relative;
    z-index: 2;
    margin-bottom: 40px;
}


/**/
.preferentialList{
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
}

.preferentialList>li .point{
    text-align: center;
    color: #5e7ac7;
    font-size: 150%;
    padding: 16px 0;
}
.preferentialList>li .txt p{
    text-align: justify;
    font-size: 90%;
}


/* ========================================
  for shop
======================================== */
.mainSlide{
    padding-bottom: 30px;
}
.mainSlide .bx-wrapper .bx-pager{
    background: none;
    bottom: -20px;
}


.conShop .col3List img{ max-width: 100%;}
.conShop .btnCareer{
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 118px;
    margin-bottom: 30px;
    position: relative;
}
.conShop .btnCareer > img {
    max-width: 80%;
    width: auto;
    max-height: 100%;
    height: auto;
    margin: auto;
}
.conShop .btnCareer:after,
.conShop .btnList a:after{
    content:'';
    border-style: solid;
    border-width: 9px 0 9px 16px;
    border-color: transparent transparent transparent #1e50a2;
    position: absolute;top: 50%;right: 12px;
    transform: translateY(-50%);
}
.conShop .btnList a{
    display: block;
    max-width: 360px;
    margin: 0 auto 10px;
    border: 2px solid #1e50a2;
    background: #fff;
    color: #1e50a2;
    font-size: 120%;
    line-height: 1;
    font-weight: bold;
    padding: .8em 26px;
    border-radius: 50px;
    margin-bottom: 10px;
    position: relative;
}
.conShop .btnList a:after{
    border-width: 6px 0 6px 10px;
}
.conShop .note{
    line-height: 1.3;
    padding: 30px;
}
.conShop a.btn01{
    width: 490px;
    margin: -10px auto 0;
    font-size: 150%;
}
.conShop .btn01Note{
    text-align: center;
    padding-top: 8px;
}
.conCareer .bigBnr{margin-top: 20px;padding-top: 30px;text-align: center;}

.rakuten a.btn01 {
    margin: 22px auto 8px;
}

.conShop .linkOut {
    display: -webkit-flex;
    display: flex;
    justify-content: space-evenly;
}
.conShop .linkOut a {
    width: 40%;
    margin: 25px 0 0;
}
.conShop .linkOut .btn {
    font-size: 180%;
}

.conShop .linkOut .btn1,
.conShop .linkOut .btn2 {
    width: 100%;
}

.conShop .linkOut .btn1 {
    background: #000000 !important;
}

.conShop .linkOut .btn2 {
    border: 1px solid #f25d00 !important;
    background: #ff7e33 !important;
}

.conShop .linkOut a.btn:after {
    display: none !important;
}

.conShopTop > .secTitle {
    margin-top: 20px;
    color: #1e50a2;
    font-weight: bold;
    font-size: 160%;
}

.conShopTop .contentsWidth .iPadbanner {
    text-align: center;
    padding: 20px 0;
}

.conShop .secTitle {
    padding: 20px 0 40px;
}

/* ========================================
  for Career
======================================== */
h1.pageLogoTitle {
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: auto;
    padding: 25px 0;
    border: none;
    text-align: center;
    font-size: 181%;
    line-height: 1.2;
    color: #1e50a2;
    font-weight: bold;
}

h1.pageLogoTitle img{
    height: 80px;margin-right: 10px;
}

h3.pageSubTitle {
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: auto;
    padding: 25px 25px 0 25px;
    border: none;
    text-align: center;
    font-size: 150%;
    line-height: 1.2;
    color: #1e50a2;
    font-weight: bold;
}

.reservFlow{
    counter-reset: item;
    margin-bottom: 50px;
}
.reservFlow li{
    padding: 20px;
    font-size: 100%;
    position: relative;
}
.reservFlow li:before {
  counter-increment: item;
  content: counter(item);

    border-radius: 100%;
    background: #f3981d;
    color: #fff;
    font-weight: bold;
    font-size: 148%;
    display: -webkit-flex;
    display: flex;
    justify-content: center;align-items: center;
    width: 32px;height: 32px;
    margin:0 auto 15px;
}
.reservFlow li:after {
    content:'';
    display: block;
    position: absolute;right: -22px;top: 50%;
    border-style: solid;
    border-width: 30px 0 30px 22px;
    border-color: transparent transparent transparent #284db4;
    transform: translateY(-50%);
}
.reservFlow li:last-child:after {
    display: none;
}
.conCareer .tabConP{padding: 35px 50px;}
.conCareer .shopList {padding-bottom: 40px;}
.conCareer .shopList .note{padding: 0 50px 50px;margin-top: -10px;}
.tableSt02{
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #d2d2d2;
}
.tableSt02 th{background: #efefef;font-weight: bold;}
.tableSt02 th,
.tableSt02 td{
    padding: 20px;
    line-height: 1.2;
    border: 1px solid #d2d2d2;
    vertical-align: middle;
}
.tableSt02 .colCity{width: 15%;text-align: left;}
.tableSt02 .colShopname{width: 40%;text-align: left;}
.tableSt02 .colLink{width: 45%;}

.conCareer .section_wrap {
    margin-bottom: 60px;
}

.conCareer .section_wrap section {
    padding: 40px 15px 20px;
}

.conCareer .section_wrap .secTitle {
    color: #1e50a2;
    font-weight: bold;
    padding: 0 0 40px;
}

.conCareer .btn {
    display: block;
    padding: 12px 10px;
    color: #fff;
    font-size: 145%;
    font-weight: bold;
    border-radius: 10px;
    position: relative;
    text-align: center;
}

.conCareer .btn1 {
    background: #284db4;
    border: none;
}

.conCareer .btn2 {
    background: #ff7e33;
    border: none;

}

.conCareer a.btn {
    width: 760px;
    margin: -50px auto 40px;
    font-size: 150%;
}

.conCareer a.btn:after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 0 10px 10px;
    border-color: transparent transparent transparent #ffffff;
    transform: translateY(-50%);
    position: absolute;
    left: 28px;
    top: 47%;
}

.conCareer .info-primary {
    font-size: 145% !important;
}
.conCareer .benefitsMain {
    width: 100%;
    text-align: center;
    margin-bottom: 25px;
}
.conCareer .benefitsMain img{
    margin: auto;
    max-width: 100%;
}

.shopList .secTitle {
padding: 20px 0 40px 0;
}

/* ========================================
  for product
======================================== */
.noteArea{
    background:#f2f2f2;
    padding:2em;
    margin: 0 auto 50px;
    text-align: left;
    font-size: 68%;
    max-width: 1210px;
}
.bgBk .noteArea{background: #222;color: #666;}
.noteArea .list_decimal{
    margin-bottom: 1em;
}
.noteArea .list_decimal li{
    list-style-type: decimal;
    margin-left: 1.8em;
}
.noteArea p{margin-bottom: 1em;}
.noteArea a{color: #316AC5;text-decoration: underline;}

.imgConWrap {text-align: center;}
.imgConWrap img{vertical-align: top;}

.tableBtnArea{
    width: 100%;
    max-width: 1210px;
    margin-left: auto;
    margin-right: auto;
}
.tableBtnArea td{
    width: 33%;
    text-align: left;
}
/**/
.txtL {text-align: left !important;}
.txtR {text-align: right !important;}
.fnt10 { font-size: 0.71428571rem;}
.fnt12 { font-size: 0.857142852rem;}
.fnt14{ font-size:1rem;}
.fnt16{ font-size:1.142857136rem;}
.area2list {overflow: hidden;}
.area2list li {
    float: left;
    width: 48.9%;
    margin-left: 2.2%;
}
.area2list li:nth-child(2n+1){margin-left: 0;clear: both;}
.w20p { width: 20% !important;min-width: 112px;}
.p10 { padding: 10px !important;}
.p20 { padding: 20px !important;}
.mr30 { margin-right: 30px !important;}
.ml30 { margin-left: 30px !important;}
.small_caps { font-size: 60%;}
/**/
.list_disc li {
    list-style-type: disc;
    margin-left: 1.3em;
}

.btnAlone{
    margin: 10px auto 50px;
    text-align: center;
    max-width: 800px;
}

/* PC ONLY
---------------------------------------*/
@media screen and (min-width: 769px) {
	.sp {display: none !important;}
    .bgWrap{min-width: 1280px;}
    .contentsWidth{width: 1280px;}
    .pb60{padding-bottom: 60px;}

    ul.tabArea01,
    ul.tab02{display: block;}
    .session{
        display: -webkit-flex;
        display: flex;
        justify-content: space-between;
    }
    .session>li{
        width: 48%;
        padding: 30px;
    }
    .session>li aside{
        float: left;
        margin-right: 20px;
    }
    .session>li p{
        overflow: hidden;
    }
    .shopInfo{
        display: -webkit-flex;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        padding: 60px;
    }
    .shopInfo .image,
    .shopInfo .text{width: 48%;font-size: 114%;}
    .shopInfo2 .text{
        display: -webkit-flex;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    .shopInfo2 .shopName{width: 32%;}
    .shopInfo2 p{width: 30%;padding-left: 10px;}
    .shopInfo2 p.tell{width: 13%;}
    .shopInfo2 p.btn{width: 25%;}
    .eventSche{
        display: -webkit-flex;
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
        justify-content: space-between;
        padding: 0 60px 60px;

    }
    .eventSche>dl{
        width: 48%;

    }
    .eventSche>dl:nth-child(1),
    .eventSche>dl:nth-child(2){
        border-top: 1px solid #d2d2d2;
    }
    .eventSche>dl:nth-child(4n-2),
    .eventSche>dl:nth-child(4n-3){
        background: #efefef;
    }

    .preferentialList>li{
        width: calc(100% / 4 - 20px);
        padding: 30px;
        margin-left: 20px;
        margin-bottom: 20px;
    }
    .preferentialList>li:nth-child(4n+1){
        margin-left: 0;
    }
    .preferentialList>li .image{
        display: -webkit-flex;
        display: flex;
        align-items: center;
        justify-content: center;
        height: 105px;
    }
    .preferentialList>li .image{
        max-height: 100%;
    }

    /* shop */
    .mainSlide li img{width: 397px;}
    .mainSlide .bx-wrapper li img{width: 740px;}
    .col3Wrap,
    .col3List,
    .col4Wrap{
        display: -webkit-flex;
        display: flex;
    }
    .col3List{
        flex-wrap: wrap;
        justify-content: center;
    }
    .col3List>li{
        width: calc(100% / 3 - 20px);
        margin-left: 20px;
        display: flex;
        flex-direction: column;
        justify-content: space-around;
    }
    .resizeSlider>li {
        width: calc(100% / 3 - 20px) !important;
    }
    .col3List>li:nth-child(3n+1){margin-left: 0;}
    .col3Wrap, .col4Wrap{justify-content: space-between;}
    .col3Wrap>*{
        width: calc(100% / 3 - 32px);
    }
    .col4Wrap>*{
        width: calc(100% / 4);
        padding: 0 22px;
    }
    /**/
    .reservFlow{
        display: -webkit-flex;
        display: flex;
        justify-content: space-between;
        align-items: stretch;
    }
    .reservFlow>li{
        width: calc(100% / 5 - 38px);
    }
    /**/
    .imgConWrap>img{
        display: block;
        margin-left: auto;margin-right: auto;
        max-width: 100%;
        height: auto;
        width /***/: auto;
    }
    .AppleInfo .btnArea{
        width: 1280px;
    }
    .resizeSlider {
        transform: none !important;
    }
}

#footer {
    background: #fff;
    font-size: initial;
    margin: 0 0 0;
    padding: 52.4px 0 141.6px;
}

@media screen and (max-width: 768px) {
    #footer {
        padding: 17px 0 92px;
        margin-top: 0;
    }
}

#footer > .bottomBox {
    border-top: none;
}

@media screen and (max-width: 768px) {
    #footer > .bottomBox {
        padding: 0;
    }
}

#footer .bottomBox .MainWidth .c-copyright small {
    font-size: 100%;
    line-height: 1.5;
    color: #707070;
    font-weight: 400;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
}


/* SP ONLY
---------------------------------------*/
@media screen and (max-width: 768px) {
	.pc {display: none !important;}
	img{max-width: 100%;height: auto;}
    .pb60{padding-bottom: 30px;}

    #header,
    #AddressBox,
    #footer{overflow: hidden;}
    #AddressBox,
    #footer{min-width: auto;}
    #header,
    #AddressBox p,
    #footer ul.bottomList,
    #footer .bottomBox .MainWidth{width: auto;}
    #AddressBox,
    #footer ul.outside,
    #footer div.line{display: none;}
    #footer{background: none;padding: 0;margin-top: 15px;}
    #footer .bottomBox{border-top: none;}

    .contents{width: 100%;overflow: hidden;}
    .contentsWidth{padding-left: 20px;padding-right: 20px;}
    /**/
    #header {
        max-width: none;
        padding-top: 7px;
        border-bottom: none;
        align-items: center;
        padding-bottom: 7px;
        border-bottom: none;
        margin-bottom: 0;
        padding-left: 15px;
        padding-right: 15px;
        height: 40px;
        align-items: baseline;
    }
    #header .hd_logo{margin: 0;}
    #header .hd_logo img{
        width: 71.4px;
        height: 26px;
    }
    .menuOpen{position: relative;height: 100vh;overflow: hidden;}
    .menuOpen:after{
        content:'';
        display: block;
        background: rgb(0,0,0,.6);
        width: 100vw;height: 100vh;
        position: absolute;top: 0;left: 0;z-index: 2000;
    }
	.spMenu {
		position: fixed;
		right: -83.5vw;
		top: 0;
		width: 83.5vw;
		height: 100vh;
        background: #28B1E2;
            transition: .3s;
        z-index: 2001;
        margin-left: 0;
	}
    .menuOpen .spMenu {right: 0;}
    .gnav .menu{flex-wrap: wrap;margin-top: 52px;}
    .gnav .menu>li{
        font-size: 88%;
        width: 100%;
        border-top: 1px solid #fff;
        border-left: none;
    }
    @media screen and (max-width: 768px) {
    .gnav .menu>li{
            font-size: 120%;
        width: 100%;
        border-top: none;
        border-left: none;
        line-height: 1.458333333333333;
        font-weight: 700;
        }
    }
    .gnav .menu>li>a{padding: 10px 0;}
    @media screen and (max-width: 768px) {
        .gnav .menu>li>a {
            padding: 10px 0;
            text-align: left;
            color: #fff;
            justify-content: left;
        }
    }




    .gnav .menu>li.nav02>a:after,
    .gnav .menu>li.nav03>a:after{
        content:'';
        display: inline-block;
        width: 16px;height: 12px;
        margin-left: 6px;
        background: url("../images/apple/icon_blank.png") no-repeat;
        -webkit-background-size: 16px auto;
        background-size: 16px auto;
    }
    @media screen and (max-width: 768px) {
        .gnav .menu>li.nav02>a:after,
        .gnav .menu>li.nav03>a:after{
            content: none;
        }
    }


	/* ---------- menu-trigger ---------- */
	.menu-trigger{
        position: absolute;
        z-index: 2002;
        right: 15px;
        top: 11px;
        height: 18px;
        width: 29.45px;
        color: #284DB4;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        text-align: center;
    }
    @media screen and (max-width: 768px) {
        .menu-trigger{
            top: 19.5px;
            height: 18px;
        }
    }
	.menu-trigger .icon:before,
    .menu-trigger .icon:after {
        content: '';
    }

    .menu-trigger .icon {
        display: block;
        box-sizing: border-box;
        position: absolute;
        left: 15%;
        width: 70%;
        height: 3px;
        background-color: #284DB4;
        border-radius: 2px;
        top: 35%;
    }

    .menu-trigger .icon:before,
    .menu-trigger .icon:after {
        display: block;
        box-sizing: border-box;
        position: absolute;
        left: 0;
        width: 100%;
        height: 3px;
        background-color: #284DB4;
        border-radius: 2px;
    }

    .menu-trigger .icon:before {
        top: -8px;
    }

    .menu-trigger .icon:after {
        top: 8px;
    }

    @media screen and (max-width: 768px) {
        .menu-trigger .icon {
            left: 15%;
            width: 90%;
            height: 3px;
            top: 5%;
            background-color: #284DB4;
            border-radius: 0;
        }

        .menu-trigger .icon:before,
        .menu-trigger .icon:after {
            left: 0;
            width: 100%;
            height: 3px;
            background-color: #284DB4;
            border-radius: 0;
        }

        .menu-trigger .icon:before {
            top: -8px;
        }

        .menu-trigger .icon:after {
            top: 8px;
        }
    }

    .menuOpen .menu-trigger .icon:before {
        transform: rotate(-135deg);
        top: 0;
        background: #fff;
        width: 25px;
        height: 2px;
    }

    .menuOpen .menu-trigger .icon {
        background: #28B1E2;
    }

    .menuOpen .menu-trigger .icon:after {
        transform: rotate(135deg);
        top: 0;
        background: #fff;
        width: 25px;
        height: 2px;
    }
	.menuOpen .menu-trigger span {
		background: #28B1E2;
	}
	.menuOpen .menu-trigger .icon:after {
		-webkit-transform: translateY(0) rotate(135deg);
		transform: translateY(0) rotate(135deg);
        background: #fff;
        width: 25px;
        height: 2px;
	}


    .breadCrumb{border: none;}
    .breadCrumb ul{padding-top: 7px;padding-bottom: 7px;overflow: scroll;}
    .breadCrumb ul li{font-size: 80%;white-space: nowrap;}
    h1.pageTitle{font-size: 140%;padding: 10px 0;}
    .secTitle{font-size: 117%;padding: 20px 0 15px;}
    .bgWrap{padding: 25px 0 5px;}


    /* apple */
    .mvApple {padding: 20px 0 25px;}
    .mvApple .txt{margin-bottom: 15px;}
    .mvApple h2 img{height: 35px;}
    .mvApple p{font-size: 88%;margin-top: 1em;text-align: center;}
    .mvApple p.catch{text-align: center;margin-top: 15px;text-indent: .5em;}
    .mvApple .contentsWidth{display: block;}

    .modelList{display: block;}
    .modelBox{width: 100%;padding: 15px 20px;height: 11.5rem;margin-bottom: 15px;}
    .modelBox h3{font-size: 110%;}
    .modelBox .arrList{}
    .modelBox .arrList>li{font-size: 83%;line-height: 1.3;margin-top: 6px;}
    .modelBox .image{width: 29vw;right: 10px;height: 9rem;text-align:right;padding: 10px 0 0;}
    .modelBox .image img{height: 100%;}
    .modelBox .image.ipad7{width: 45%;right: 0;}
    .modelBox .image.aWatch{width: 30%;right: 10px;}
    .bnrArea{margin-top: 40px;padding-top: 30px;}
    .bnrArea a{margin-bottom: 20px;}
    .AppleInfo .btn01{border-radius: 5px;}
    /* appleshop */
    .mvAppleshop {padding: 20px 0 25px;}
    .mvAppleshop .txt{margin-bottom: 15px;}
    .mvAppleshop h2 img{height: 35px;}
    .mvAppleshop p{text-align: left;font-size: 88%;}
    .mvAppleshop p.catch{text-align: center;margin-top: 15px;text-indent: .5em;}
    .mvAppleshop .bx-wrapper .bx-pager{bottom: 10px;}
    .mvAppleshop .bx-wrapper .bx-pager.bx-default-pager a{width: 11px;height: 11px;}
    #tabArea.shadowBox,
    #tabArea2.shadowBox{
        box-shadow: 0 0 0 #fff;
    }
    #tabArea2{margin-bottom: 40px;}
    .shopInfo{
        display: block;
        padding: 15px;
    }
    .shopInfo .shopName{font-size: 100%;margin-bottom: 0;margin-top: 15px;}
    .shopInfo2 p{font-size: 88%;}
    .AppleInfo a.btnLocation{margin-top: 15px;}
    .AppleInfo a.btnLocation,
    .AppleInfo a.btnLocation2{
        font-size: 100%;
        height: 46px;
    }
    .AppleInfo .btnLocation:before,
    .AppleInfo .btnLocation2:before{
        width: 14px
    }
    .eventSche{
        padding: 0 15px 15px;
    }
    .eventSche>dl{font-size: 80%;padding: 5px 1em;}
    .eventSche>dl:first-child{border-top: 1px solid #d2d2d2;}
    .eventSche>dl:nth-child(2n+1){background: #efefef;}
    .eventSche p{font-size: 80%;margin-top: 15px;}
    .session li{padding: 15px;font-size: 80%;margin-bottom: 20px;}
    .session>li aside{margin: 0 0 5px;text-align: center;}

    .shopInfo2{padding: 0 15px 20px;    }
    .shopInfo2 .text:first-child{border: none;}
    .shopInfo2 .text{border-bottom: none;border-top: 1px solid #d2d2d2;padding: 20px 0;}
    .shopInfo2 .shopName{margin-bottom: 5px;}
    .shopInfo2 p.tell {font-weight: normal;}
    .shopInfo2 p.tell a{color: #284db4 !important;}
    .shopInfo2 p.btn{margin-top: 12px;}
    .AppleInfo a.btnLocation2{width: 100%;}

    .preferentialList>li {padding: 15px;}
    .preferentialList>li .image{text-align: center;height: 50px;}
    .preferentialList>li .image img{height: auto;max-width: 50px;}
    .preferentialList>li .point{font-size: 80%;padding: 5px 0;}
    .preferentialList>li .txt p{font-size: 70%;}
    .AppleInfo .btnArea{margin: 20px 0;}
    .AppleInfo .btnBack{
        width: 80%;
        font-size: 90%;
        margin: 5px auto;
        padding: 10px 40px;
        border-radius: 5px;
    }
    .shadowBox{margin-bottom: 20px;}
    /* SHOP */
    .mainSlide{padding-bottom: 30px;}
    .mainSlide .bx-wrapper .bx-pager.bx-default-pager a{height: 10px;width: 10px;margin: 0 3px;}
    .conShop .btnCareer {height: 65px;margin-bottom: 15px;}
    .conShop .btnCareer img{height: 100%; width: auto;}
    .conShop .col3Wrap dd p{font-size: 75%;margin-top: -10px;margin-bottom: 15px;text-align: center;}
    .conShop .note{font-size: 75%;padding: 0 0 20px;}
    .conShop a.btn01{
        display: block;
        padding: 8px 5px;
        margin: 0 auto;width: auto;font-size: 100%;
    }
    .conShop a.btn01:after{
        width: 10px;height: 10px;
        border-width: 2px;
        right: 5%;
    }
    .conShop .btn01Note{font-size: 75%;margin-bottom: 10px;}
    .conShop .btnList a{font-size: 100%;}
    .conShop .bigBnr{padding: 15px;}
    .conShopTop > .secTitle {font-size: 90%; margin-top: 0;}
    .conShop .linkOut {display: block; padding: 0 0 25px 0;background: #f2f2f2!important; }
    .conShop .linkOut a{
        text-align: center; display: -webkit-flex;
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        height: 65px;
        margin-bottom: 15px;
        width: 100%;
        margin-top: 0;
}
    .conShop .linkOut a:after {
        content: '';
        border-style: solid;
        border-width: 9px 0 9px 16px;
        border-color: transparent transparent transparent #1e50a2;
        position: absolute;
        top: 50%;
        right: 32px;
        transform: translateY(-50%);
    }
    .conShop .linkOut .btn{
        width: 230px;
        font-size: 140%;
        margin: 0 auto;
        position: relative;
        padding: 5px;
        height: auto;    }

    .conShopTop .info-primary-wrap {margin-top: 23px ​!important;}
    .conShop .android a {display: block;}
    .conShop .android .btn {width: 100%; margin-top: 20px;}
    .conShop .android .btn1 {background: #a4ca39;}
    /* Career */
    h1.pageLogoTitle{font-size: 140%;padding: 10px 0;}
    h1.pageLogoTitle img{display: none;}
    h3.pageSubTitle {font-size: 110%;padding: 10px 10px 0 10px;}
    .reservFlow li{
        padding: 15px 20px 15px 60px;
        margin-bottom: 25px;
        font-size: 75%;
        line-height: 1.4;
    }
    .reservFlow li:before{
        position: absolute;
        top: 50%;left: 15px;
        transform: translateY(-50%);
    }
    .reservFlow li:after{
        border-width: 15px 22px 0 22px;
        border-color: #284db4 transparent transparent transparent;
        right: 50%;top: auto;bottom: -15px;
        transform: translate(50%, 0);
    }
    .conCareer .tabConP{padding: 0;background: #fff;}
    .tableSt02{border: none;}
    .tableSt02 th,
    .tableSt02 td{
        border-left: none;
        border-right: none;
    }
    .tableSt02 th{height: 0;opacity: 0;padding: 0;line-height: 0;border: none;}
    .tableSt02 .colCity{width: 20%;}
    .tableSt02 .colShopname{width: 50%;}
    .tableSt02 .colLink{width: 30%;}
    .tableSt02 td{padding: 8px 5px;font-size: 80%;}
    .tableSt02 td:first-child{padding-left: 15px;}
    .tableSt02 td:nth-child(2){color: #284db4;font-weight: bold;}
    .tableSt02 td:last-child{padding-right: 15px;}
    .tableSt02 tr:nth-child(2) td{border-top: none;}
    .conCareer .section_wrap {
        padding-left: 20px;
        padding-right: 20px;
    }
    .conCareer .shopList .note{padding: 20px 15px;margin-top: 0;font-size: 75%;}
    .conCareer a.btn01{
        font-size: 80%;
        padding: 5px;
        border-radius: 5px;
    }
    .conCareer a.btn01:after{display: none;}
    .conCareer a.btn {
        width: auto;
        font-size: 68%;
        margin: -50px auto 20px;
    }
    .conCareer a.btn:after {
        border-width: 5px 0 5px 5px;
        left: 10px;    }
    .conCareer .info-primary {
        font-size: 14px !important;
    }
    .conCareer .benefitsMain {padding: 0 20px;}
    .conCareer ul.simfree li:not(:last-child) {
        margin-bottom: 30px;
    }

    /**/
    .AppleInfo .btn02{
        font-size: 100%;
        height: 45px;
        line-height: 45px;
        border-radius: 5px;
    }
    .AppleInfo a.btn02:after{
        width: .5em;height: .5em;
        border-width: 2px;
    }

    .btnAlone {margin: 5px auto 25px;}
    .btnAlone .btn01{font-size: 90%;width: 80%;margin: auto;}
    .btnAlone a.btn01:after{width: 10px;height: 10px;}

    .taC .sim_buttons {
        display: block;
        justify-content: center;
        margin-bottom: 0;
    }

    .taC .sim_buttons .btn01 {
        width: auto;
        margin: 0 auto 10px;
        font-size: 80%;
        padding: 5px;
    }
    .rakuten a.btn01 {margin: 0 auto 8px;}

}

.taC img{
    display: block;
    margin: 0 auto;
}

.appleWatchImg{
    width: 100%;
    max-width: 100%;
    height: auto;
}

.AppleInfo .info-danger {
    font-size: 17px;
    font-weight: bold;
    color: red;
    text-align: center;
    padding-bottom: 20px;
    margin-top: 20px;
    width: 100%;
    display: inline-block;
}

.AppleInfo .info-primary {
    padding-bottom: 20px;
    /* margin-top: -20px; */
    width: 100%;
    display: inline-block;
    text-align: center;
    font-size: 20px;
    line-height: 1.2;
    color: #1e50a2;
    font-weight: bold;
}

.AppleInfo .info-danger span,
.AppleInfo .info-primary span {
    text-decoration: underline;
}

.simfree .col3List>li {
    margin: 0 30px !important;
}

.simfree .secTitle {
    padding: 20px 0;
    font-size: 170%;
}

.conShopTop > .temporaryLink {
    margin-top: 0;
    padding: 20px 0 0;
    font-size: 140%;
}

.conShopTop > .temporaryLink a {
    text-decoration: underline !important;
}

.watch_temporary_text {
    text-align: center;
    padding: 20px 13.9vw;
}
.watch_temporary_text *{
    display: block;
}
.watch_temporary_text > h3 {
    font-size: 150%;
    margin-bottom: 20px;
}
.watch_temporary_text > p {
    margin-bottom: 20px;
}
.watch_temporary_text .text-md {
    font-size: 110%;
}
.watch_temporary_text .text-sm {
    font-size: 80%;
}
.watch_temporary_text > p:last-of-type {
    text-align: left;
}

@media screen and (max-width: 768px){
    .AppleInfo .info-danger {
        font-size: 14px;
        padding-bottom: 20px;
    }
    .AppleInfo .info-primary {
        font-size: 16px;
    }
    .simfree .col3List>li {
        margin: 0 !important;
        text-align: center;
    }
    .simfree .col3List>li:not(:last-of-type) {
        margin: 0 0 30px 0 !important;
    }
    .simfree .info-primary-wrap {
        margin-top: -10px !important;
        margin-bottom: 10px !important;
    }
    .conShopTop > .temporaryLink {
        font-size: 100%;
        padding: 20px;
    }
    .watch_temporary_text {
        text-align: center;
        padding: 20px 10vw;
    }
}

/* ========================================
    モデル選択ボタン
======================================== */
.ed_main_ecbo {
        width: 1240px;
        margin: 0 auto;
    }

    @media screen and (min-width:961px) {
        .sp {
        display: none;
        }

        .ed_main_ecbo img {
        width: 1240px;
        }

        /* モデル選択ボタン */
        p.modeltitle_ew {
        margin-bottom: 25px;
        margin-top: -15px;
        color: gray;
        font-size: 1.4em;
        }

        div.selectitem_ew {
        background-color: #ffffff;
        padding: 40px;
        width: 500px;
        text-align: center;
        padding-bottom: 35px;
        }

        /* モデル選択ボタン */
    }

    @media screen and (max-width:960px) {
        .ed_main_ecbo {
        width: auto;
        }

        .ed_main_ecbo img {
        width: 100%;
        vertical-align: bottom;
        }

        .pc {
        display: none;
        }

        .sp {
        line-height: 0;
        }

        /* モデル選択ボタン */
        p.modeltitle_ew {
        margin-bottom: 25px;
        margin-top: -15px;
        color: gray;
        font-size: 1.4em;
        }

        div.selectitem_ew {
        background-color: #ffffff;
        padding: 40px;
        width: 100%;
        text-align: center;
        }

        /* モデル選択ボタン */
    }

    .itembtn_ew {
        margin: 0 auto;
        border: 1px solid gray;
        width: 13em;
        border-radius: 15px;
        padding: 5px;
    }

    /* モデル選択ボタン */

    .selectitem_ew a {
        text-decoration: none;
    }

    .selectitem_ew a:link,
    .selectitem_ew a:visited,
    .selectitem_ew a:hover,
    .selectitem_ew a:active {
        color: gray;
    }

    /* 2022/9/6 Whizz追加 */
    ul.tab02 li:hover,
    ul.tab02 li.resp-tab-active {text-decoration: underline;}
    .temporary_message, .temporary_message_sub {padding-bottom: 10px; text-align: center;}
    .temporary_message_sub {padding-bottom: 25px;}
    @media screen and (max-width: 768px){
        .temporary_message {font-size: 110%;}
        .temporary_message_sub {font-size: 90%;}
        .temporary_message_sub {padding-bottom: 10px;}
    }
    .taC.imgConWrap img {margin: -1px auto;}


/* リニューアル */
body, p, ul {
    margin: 0;
    padding: 0;
}

.spMenu {
    margin-left: auto;
}

#header .hd_logo {
    float: none;
    padding: 0;
}

.l-container {
    margin-right: auto;
    margin-left: auto;
    padding-right: 15px;
    padding-left: 15px;
}

@media screen and (max-width: 768px) {
    .l-container.l-online-reservation {
        margin-right: auto;
        margin-left: auto;
        padding-right: 30px;
        padding-left: 30px;
    }
}

.l-container--outer {
    max-width: 1100px;
}

.margin-block-none {
    margin-block-start: 0;
    margin-block-end: 0;
}

.bg-lightblue {
    width: 100%;
    background: url("../images/apple/appleshop/bg-lightblue-pc.png") no-repeat center top / cover;
    /* background: url("../images/apple/appleshop/bg-lightblue-pc.png") no-repeat center top / contain;
    background-size: 1920px auto; */
}

@media screen and (max-width: 768px) {
    .bg-lightblue {
        width: 100%;
        background: url("../images/apple/appleshop/bg-lightblue-sp.png") no-repeat center top / cover;
        /* background: url("../images/apple/appleshop/bg-lightblue-sp.png") no-repeat center top / contain;
        background-size: 1920px auto; */
    }
}

.bg-blue {
    background: #284DB4;
}

.c-topnotice{
    position: relative;
    background: #2aa9d7;
    color: #fff;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.c-topnotice__text{
    margin: 0;
    font-size: 100%;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    border-bottom: 2px solid #fff;
    margin-bottom: 6px;
}

.c-topnotice__close{
    position: absolute;
    right: 40px;
    left: auto;
    top: 50%;
    transform: translatey(-50%);
    width: 18px;
    height: 18px;
    border: 0;
    background: transparent;
    padding: 0;
    cursor: pointer;
}

@media screen and (max-width: 768px){
  .c-topnotice__close{
    left: 10px;
    right: auto;
  }
}

/* ×をcssで作成 */
.c-topnotice__close::before,
.c-topnotice__close::after{
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 14px;
  height: 2px;
  background: #fff;
  transform-origin: center;
}

@media screen and (max-width: 768px){
    .c-topnotice__close::before,
    .c-topnotice__close::after{
        content: "";
        position: absolute;
        left: 50%;
        top: 50%;
        width: 16px;
        height: 1px;
        background: #fff;
        transform-origin: center;
    }
}

.c-topnotice__close::before{
  transform: translate(-50%, -50%) rotate(45deg);
}

.c-topnotice__close::after{
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* クリックしやすくしたい場合（任意） */
.c-topnotice__close::before,
.c-topnotice__close::after{
  border-radius: 1px;
}



#recommend {
    /* padding-top: 104px; */
    padding-top: 90px;
}

@media screen and (max-width: 768px) {
    #recommend {
        padding-top: 60px;
    }
}

.bg-recommend {
    width: 100%;
    background: url("../images/apple/appleshop/point_bg_pc.png") no-repeat center top / cover;
    background-color:#e6f7ff;
}

@media screen and (max-width: 768px) {
    .bg-recommend {
        background: url("../images/apple/appleshop/point_bg_sp.png?date=20260306") no-repeat center top / cover;
    }
}

.points {
    /* padding-top: 36px; */
    padding-top: 40px;
    overflow-x: clip;
    counter-reset: num;
}

@media screen and (max-width: 768px) {
    .points {
        padding-top: 54px;
    }
}

.points__sp-show {
    display: none;
}

@media screen and (max-width: 768px) {
    .points__sp-show {
        display: inline-block;
    }
}

.points__pc-show {
    display: block;
}

@media screen and (max-width: 768px) {
    .points__pc-show {
        display: none;
    }
}

.points__item {
    padding-right: 15px;
    padding-left: 15px;
}

.points__item:not(:first-of-type) {
    margin-top: 80px;
}

@media screen and (max-width: 768px) {
    .points__item:not(:first-of-type) {
        margin-top: 60px;
    }
}

.points__panel {
    position: relative;
    max-width: 1100px;
    margin: 0 auto;
    background:#fff;
    box-sizing: border-box;
    overflow: visible;
    display: flex;
}

.points__item:nth-of-type(odd) .points__panel {
    flex-direction: row;
}

.points__item:nth-of-type(even) .points__panel {
    flex-direction: row-reverse;
}

.points__item:nth-of-type(1) .points__panel {
    /* padding-top: 61px; */
    padding-top: 45px;
    padding-right: 70px;
    padding-bottom: 59px;
    /*padding-top:35px;
    padding-right:70px;
    padding-bottom:45px;*/
}

@media screen and (max-width: 768px) {
    .points__item:nth-of-type(1) .points__panel {
        padding-top: 35px;
        padding-right: 15px;
        padding-bottom: 30px;
        padding-left: 15px;
    }
}

.points__item:nth-of-type(2) .points__panel {
    padding-top: 58px;
    padding-left: 70px;
    padding-bottom: 50px;
    max-width: 1150px;
}

@media screen and (max-width: 768px) {
    .points__item:nth-of-type(2) .points__panel {
        padding-top: 40px;
        padding-left: 30px;
        padding-bottom: 36px;
        max-width: none;
    }
}

.points__item:nth-of-type(3) .points__panel {
    padding-top: 61px;
    padding-right: 30px;
    padding-bottom: 50px;
}

@media screen and (max-width: 768px) {
    .points__item:nth-of-type(3) .points__panel {
        padding-top: 40px;
        padding-right: 29px;
        padding-bottom: 40px;
    }
}

/* パネル中身を必ず前面に */
.points__panel > * {
    position: relative;
    z-index: 1;
}

/* 片側に伸びる白 */
.points__panel::before{
    content:"";
    position:absolute;
    top:0; bottom:0;
    width: 50vw;
    background:#fff;
    z-index: 0;
    pointer-events:none;
}

/* 01/03：左端まで白 */
.points__panel--left::before{
    left: -50vw;
}

/* 02：右端まで白 */
.points__panel--right::before{
    right: -50vw;
}

.points__text-wrap {
    counter-increment: num;
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
}

.points__text-wrap::before {
    content: counter(num, decimal-leading-zero);
    position: absolute;
    transform: translateY(-50%);
    color: #284DB4;
    font-size: 300%;
    font-weight: bold;
    line-height: 1;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, "Noto Sans JP", sans-serif;
}

.points__item:nth-of-type(1) .points__text-wrap::before {
    /* top: -65px; */
    top: -47px;
}

@media screen and (max-width: 768px) {
    .points__item:nth-of-type(1) .points__text-wrap::before {
        top: -30px;
    }
}

.points__item:nth-of-type(2) .points__text-wrap::before {
    top: -57px;
    left: 49%;
    transform: translate(-50%, -50%);
}

@media screen and (max-width: 768px) {
    .points__item:nth-of-type(2) .points__text-wrap::before {
        top: -35px;
        left: 30px;
    }
}

.points__item:nth-of-type(3) .points__text-wrap::before {
    top: -60px;
}

@media screen and (max-width: 768px) {
    .points__item:nth-of-type(3) .points__text-wrap::before {
        top: -35px;
    }
}

.points__normal-subtext-wrap{
    display:inline-block;
}

.points__img-position {
    position: relative;
    bottom: -7px;
}

.points__normal-subtext-wrap + .points__normal-subtext {
    display: inline-block;
}

.points__normal-subtext {
    font-size: 150%;
    font-weight: 800;
}

@media screen and (max-width: 768px) {
    .points__normal-subtext {
        font-size: 137.5%;
    }

    .points__normal-subtext.points__text-position {
        margin-left: 5px;
    }
}

.points__normal-subtext.lh-large {
    line-height: 1.833333333333333;
}

@media screen and (max-width: 768px) {
    .points__normal-subtext.lh-large {
        line-height: 2;
    }
}

.points__normal-subtext.lh-medium {
    line-height: 1.458333333333333;
}

@media screen and (max-width: 768px) {
    .points__normal-subtext.lh-medium {
        line-height: 1.454545454545455;
    }
}

.points__large-text-wrap {
    margin-top: 25px;
}

.points__large-text {
    font-size: 225%;
    font-weight: 800;
    color: #323232;
    line-height: 0.8888888888888889;
}

@media screen and (max-width: 768px) {
    .points__large-text {
        font-size: 175%;
        line-height: 0.7142857142857143;
    }
}

.points__large-text.text-position {
    position: relative;
    left: 86.5%;
    transform: translateX(-50%);
}

@media screen and (max-width: 768px) {
    .points__large-text.text-position {
        left: 80%;
    }
}

.points__normal-text {
    font-size: 225%;
    font-weight: 800;
    line-height: 1.222222222222222;
    color: #284DB4;
}

@media screen and (max-width: 768px) {
    .points__normal-text {
        font-size: 175%;
        line-height: 1.285714285714286;
    }
}

@media screen and (max-width: 768px) {
    .points__item:nth-of-type(2) .points__normal-text {
        font-size: 168.75%;
        line-height: 1.333333333333333;
    }
}

@media screen and (max-width: 768px) {
    .points__another-text-wrap {
        margin-top: 4px;
    }
}

.points__anothernormal-text {
    font-size: 250%;
    font-weight: 800;
    line-height: 1.222222222222222;
    color: #284DB4;
}

@media screen and (max-width: 768px) {
    .points__anothernormal-text {
        font-size: 175%;
        line-height: 1.285714285714286;
    }
}

.points__another-text {
    font-size: 200%;
    font-weight: 800;
    line-height: 1.222222222222222;
    color: #284DB4;
}

@media screen and (max-width: 768px) {
    .points__another-text {
        font-size: 125%;
        line-height: 1.8;
    }
}

.points__text-wrap-image {
    margin-top: 30px;
}

.points__inner {
    display: flex;
    justify-content: space-between;
}

.points__left-side {
    flex: 1 1 auto;
    min-width: 0;
}

.points__item:nth-of-type(1) .points__left-side {
    /* margin-top: 30px; */
    margin-top: 25px;
}

.points__item:nth-of-type(1) .points__lower-left {
    /* margin-top: 30px; */
    margin-top: 10px;
}

.points__item:nth-of-type(2) .points__lower-left {
    margin-top: 23px;
}

.points__text-wrap {
    counter-increment: num;
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
}

.points__right-side {
    flex: 0 0 auto;
    margin-left: auto;
}

/* .points__item:nth-of-type(1) .points__right-side {
    margin-top: 9px;
} */

.points__item:nth-of-type(2) .points__right-side {
    margin-top: 75px;
}

.points__small-text {
    font-size: 100%;
    line-height: 2.0625;
}

@media screen and (max-width: 768px) {
    .points__small-text {
        line-height: 1.5;
    }
}

.points__annot-first {
    margin-top: 7px;
}

.points__annot-second {
    margin-top: 5px;
}

.points__annot-text {
    margin-top: 7px;
    font-size: 75%;
    font-weight: 500;
}

@media screen and (max-width: 768px) {
    .points__annot-text {
        margin-top: 14px;
    }
}

@media screen and (max-width: 768px) {
    .points__annot-second .points__annot-text {
        margin-top: 0;
    }
}

.text-row-first {
    display: inline-block;
}

@media screen and (max-width: 768px) {
    .text-row-first {
        margin-top: 25px;
    }
}

.text-row-first .first-text-center {
    text-align: center;
}

.text-row-first .first-text {
    color: #284DB4;
    text-align: center;
    font-size: 175%;
    font-weight:800;
    line-height: 1.142857142857143;
    display: inline-block;
}

@media screen and (max-width: 768px) {
    .text-row-first .first-text {
        font-size: 112.5%;
        line-height: 1.111111111111111;
    }
}

.text-row-first .num-text {
    color: #284DB4;
    margin-left: -25px;
    font-weight: 500;
    font-size: 975%;
    line-height: 0.8;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, "Noto Sans JP", sans-serif;
}

@media screen and (max-width: 768px) {
    .text-row-first .num-text {
        margin-left: -5px;
        font-size: 562.5%;
        line-height: 0.4;
    }
}

.text-row-first .symbol-text {
    color: #284DB4;
    margin-left: -18px;
    font-size: 375%;
    font-weight: 800;
    line-height: 1;
}

@media screen and (max-width: 768px) {
    .text-row-first .symbol-text {
        margin-left: -15px;
        font-size: 262.5%;
    }
}

.text-row-first .last-text {
    color: #284DB4;
    text-align: center;
    font-size: 425%;
    font-weight: 800;
    line-height: 1;
}

@media screen and (max-width: 768px) {
    .text-row-first .last-text {
        font-size: 262.5%;
    }
}

.text-row-second {
    display: inline-block;
    margin-top: -10px;
}

@media screen and (max-width: 768px) {
    .text-row-second {
        display: block;
        margin-top: 5px;
        text-align: center;
    }
}

.text-row-second .small-text {
    color: #284DB4;
    text-align: center;
    font-size: 225%;
    font-weight: 800;
    line-height: 1;
    display: inline-block;
}

.text-row-second .num-text {
    color: #284DB4;
    margin-left: -35px;
    margin-right: 10px;
    font-weight: 500;
    font-size: 975%;
    /* line-height: 1.192307692307692; */
    line-height: 1;
    letter-spacing: -0.12em;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, "Noto Sans JP", sans-serif;
}

@media screen and (max-width: 768px) {
    .text-row-second .num-text {
        margin-left: -15px;
        margin-right: 10px;
        font-size: 562.5%;
    }
}

.text-row-second .medium-text {
    color: #284DB4;
    font-size: 350%;
    font-weight: 800;
    line-height: 1;
}

@media screen and (max-width: 768px) {
    .text-row-second .medium-text {
        font-size: 200%;
        margin-bottom: -5px;
    }
}

.text-row-second .large-text {
    color: #284DB4;
    font-size: 425%;
    font-weight: 800;
    line-height: 1;
}

@media screen and (max-width: 768px) {
    .text-row-second .large-text {
        font-size: 262.5%;
    }
    .text-row-second .large-text:nth-child(2) {
        display: block;
    }
}

@media screen and (max-width: 768px) {
    .text-row-second + .points__annot-text {
        margin-top: 1px;
    }
}

.br-pc-show {
    display: block;
}

@media screen and (max-width: 768px) {
    .br-pc-show {
        display: none;
    }
}

.br-sp-show {
    display: none;
}

@media screen and (max-width: 768px) {
    .br-sp-show {
        display: block;
    }
}

@media screen and (max-width: 768px) {
    .points__inner {
        flex-direction: column;
        align-items: stretch;
    }

    .points__left-side {
        display: contents;
    }

    .points__item:nth-of-type(1) .points__upper-left {
        order: 1;
        margin-top: 16px;
    }
    .points__item:nth-of-type(1) .points__right-side {
        order: 2;
        margin-top: 18px;
    }
    .points__item:nth-of-type(1) .points__lower-left  {
        order: 3;
        margin-top: 20px;
    }

    .points__item:nth-of-type(2) .points__right-side {
        order: 2;
        margin-top: 20px;
    }
    .points__item:nth-of-type(2) .points__lower-left  {
        order: 1;
        margin-top: 26px;
    }

    .points__item:nth-of-type(3) .points__upper-left {
        order: 3;
    }
    .points__item:nth-of-type(3) .points__right-side {
        order: 2;
    }
    .points__item:nth-of-type(3) .points__lower-left  {
        order: 1;
        margin-left: 21px;
    }

}

/* 斜めの青背景（上辺を斜めにする例） */
.convenience {
    position: relative;
    overflow: hidden;            /* 斜め部分がはみ出してもスクロールバーを出さない */
    background: transparent;
    padding: 200px 15px 80px;
    margin-top: 65px;
}

@media screen and (max-width: 768px) {
    .convenience {
        padding: 60px 15px 90px;
        margin-top: 60px;
    }
}

/* 上側を斜めに切る（clip-path方式：見た目が安定） */
.convenience::before {
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    background:#254DB8;          /* 青 */
    /* 左上が少し下、右上が上、という斜め */
    clip-path: polygon(0 30%, 100% 0, 100% 100%, 0 100%);
}

@media screen and (max-width: 768px) {
    .convenience::before {
        clip-path: polygon(0 3%, 100% 0, 100% 100%, 0 97%);
    }
}

.convenience__container {
    display: flex;
    align-items: center;
    justify-content: center;
}

@media screen and (max-width: 768px) {
    .convenience__container {
        display: inline-block;
    }
}

/* 中身は前面へ */
.convenience__inner {
    position: relative;
    z-index: 1;
}

.convenience__cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px;
    margin-top: 46.6px;
}

@media screen and (max-width: 768px) {
    .convenience__cards {
        grid-template-columns: 1fr;
        gap: 40px;
        margin-top: 44px;
    }
}

.convenience__card {
    background: #fff;
    border-radius: 10px;
    padding: 30px;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .convenience__card {
        background: #fff;
        border-radius: 10px;

    }

    .convenience__card:nth-child(1) {
        padding: 43px 0 42px;
    }

    .convenience__card:nth-child(2) {
        padding: 25px 0 30px;
    }
}

.convenience__image {
    margin-top: 24px;
}

@media screen and (max-width: 768px) {
    .convenience__image {
        margin-top: 11px;
    }
}

@media screen and (max-width: 768px) {
  .reserve__cards{ grid-template-columns:1fr; }
  .reserve{ padding: 48px 16px 56px; }

  /* SPで傾きを弱めたい場合 */
  .reserve::before{
    clip-path: polygon(0 10%, 100% 0, 100% 100%, 0 100%);
  }
}

.speech-bubble {
    width: 87.13px;
    height: 64.54px;
    background: #F59A00;
    border-radius: 50%;
    display: inline-block;
    transform: rotate(-10deg);
}

@media (max-width:768px){
    .speech-bubble {
        width: 54px;
        height: 40px;
        transform: rotate(-10deg) translate(-8px, -5px);
    }
}

/* 斜めのテキスト */
.speech-bubble__text{
    color: #fff;
    font-weight: 800;
    font-size: 100%;
    line-height: 1;
    transform: rotate(-2.5deg);
    display: inline-block;
    position: relative;
    top: 13px;
}

@media screen and (max-width: 768px) {
    .speech-bubble__text{
        font-size: 66.6666%;
        top: -2px;
    }
}

.convenience__large-title {
    font-size: 283.3333%;
    line-height: 1.147058823529412;
    color: #fff;
}

@media screen and (max-width: 768px) {
    .convenience__large-title {
        font-size: 150%;
        line-height: 1.333333333333333;
    }
    .speech-bubble + .convenience__large-title {
        margin-left: -10px;
    }
}

.convenience__medium-title {
    font-size: 240%;
    line-height: 1.392857142857143;
    color: #fff;
}

@media screen and (max-width: 768px) {
    .convenience__medium-title {
        font-size: 116.6666%;
        line-height: 1.714285714285714;
    }
}


.l-global-wrapper {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
}

.l-global-wrapper .l-contents {
    flex: 1 0 auto;
}

.is-noto-bold {
    font-weight: 700;
}

.is-noto-extrabold {
    font-weight: 800;
}

.c-hero {
    width: 100%;
    aspect-ratio: 1920 / 567;
    overflow: hidden;
    position: relative;
}

@media screen and (max-width: 768px) {
    .c-hero {
        width: 100%;
        aspect-ratio: 780 / 880;
        overflow: hidden;
    }
}

.c-hero img {
    width: 100%;
    height: auto;
}

.online-reservation-hero {
    max-width: 710px;
    margin-top: 80px;
    margin-left: auto;
    margin-right: auto;
}

@media screen and (max-width: 768px) {
    .online-reservation-hero {
        max-width: none;
            margin-top: 60px;
    margin-left: 34px;
    margin-right: 34px;
    }
}

.online-reservation-hero img {
    width: 100%;
    height: auto;
}

.slick-dotted.slick-slider {
    max-width: 1316px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0;
}

@media screen and (max-width: 768px) {
    .slick-dotted.slick-slider {
        margin-left: 35px;
        margin-right: 35px;
        margin-bottom: 10px;
    }
}

.carousel-box {
    margin-top: 34px;
    position: relative;
}

@media screen and (max-width: 768px) {
    .carousel-box {
        margin-top: 16px;
    }
}

.carousel-box .slick-slide {
    margin-inline: 10px;
    transition: all 0.3s ease;
    transform: scale(.875); /* 左右=560相当（640基準なら 560/640=0.875） */
    transform-origin: center;
    will-change: transform;
    height: auto;
    margin: 0;
}

@media screen and (max-width: 768px) {
.carousel-box .slick-slide {
    transform: none;
    transition: none;
  }
}

.carousel-box .slick-slide.slick-current,
.carousel-box .slick-slide.is-active-next {
  transform: scale(1);
}

.carousel-box .slide img {
  display: bock;
  width: 100%;
  height: auto;
}

.carousel-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  border: 0;
  cursor: pointer;
  display: grid;
  place-items: center;
  background: #fff;
  line-height: 1;
  box-shadow: 0 2px 2px rgba(0,0,0,.15);
}

@media screen and (max-width: 768px) {
    .carousel-arrow {
        width: 30px;
        height: 30px;
    }
}

.carousel-arrow.is-prev {
  left: 20.5%;
  display: inline-block;
}

@media screen and (max-width: 768px) {
    .carousel-arrow.is-prev {
        left: -6%;
        top: 44%;
    }
}

.carousel-arrow.is-prev::before,
.carousel-arrow.is-prev::after {
  content: "";
  position: absolute;
  top: calc(50% - 2px);
  right: 25.5%;
  width: 22px;
  height: 4px;
  background-color: #28B1E2;
  transform-origin: 2px 50%;
}

@media screen and (max-width: 768px) {
    .carousel-arrow.is-prev::before,
    .carousel-arrow.is-prev::after {
        top: calc(50% - 1px);
        right: 28%;
        width: 13px;
        height: 2px;
        transform-origin: 1px 50%;
    }
}

.carousel-arrow.is-prev::before {
    transform: rotate(45deg);
}

.carousel-arrow.is-prev::after {
    transform: rotate(-45deg);
}

.carousel-arrow.is-next {
  right: 20.5%;
  display: inline-block;
}

@media screen and (max-width: 768px) {
    .carousel-arrow.is-next {
        right: -6%;
        top: 44%;
    }
}

.carousel-arrow.is-next::before,
.carousel-arrow.is-next::after {
    content: "";
    position: absolute;
    top: calc(50% - 2px);
    left: 25.5%;
    width: 22px;
    height: 4px;
    background-color: #28B1E2;
    transform-origin: calc(100% - 2px) 50%;
}

@media screen and (max-width: 768px) {
    .carousel-arrow.is-next::before,
    .carousel-arrow.is-next::after {
        top: calc(50% - 1px);
        left: 28%;
        width: 13px;
        height: 2px;
        transform-origin: calc(100% - 1px) 50%;
    }
}

.carousel-arrow.is-next::before {
    transform: rotate(45deg);
}

.carousel-arrow.is-next::after {
    transform: rotate(-45deg);
}

.carousel-arrow.slick-disabled {
    opacity: .3;
    pointer-events: none;
}

.carousel-arrow.slick-disabled {
    display: none !important;
}

.steps-slider .carousel-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    width: 46px;
    height: 48px;
    border-radius: 50%;
    border: 0;
    cursor: pointer;
    display: grid;
    place-items: center;
    background: #284DB4;
    line-height: 1;
}

@media screen and (max-width: 768px) {
    .steps-slider .carousel-arrow {
        width: 30px;
        height: 30px;
    }
}

.steps-slider .carousel-arrow.is-prev {
    left: 26.5%;
    display: inline-block;
}

@media screen and (max-width: 768px) {
    .steps-slider .carousel-arrow.is-prev {
        left: 3%;
    }
}

.steps-slider .carousel-arrow.is-prev::before,
.steps-slider .carousel-arrow.is-prev::after {
    content: "";
    position: absolute;
    top: calc(50% - 2px);
    right: 25.5%;
    width: 20px;
    height: 4px;
    background-color: #FFF;
    transform-origin: 2px 50%;
}

@media screen and (max-width: 768px) {
    .steps-slider .carousel-arrow.is-prev::before,
    .steps-slider .carousel-arrow.is-prev::after {
        top: calc(50% - 1px);
        right: 25.5%;
        width: 13px;
        height: 2px;
        transform-origin: 1px 50%;
    }
}

.steps-slider .carousel-arrow.is-prev::before {
    transform: rotate(50deg);
}

.steps-slider .carousel-arrow.is-prev::after {
    transform: rotate(-50deg);
}

.steps-slider .carousel-arrow.is-next {
  right: 26.5%;
  display: inline-block;
}

@media screen and (max-width: 768px) {
    .steps-slider .carousel-arrow.is-next {
        right: 3%;
    }
}

.steps-slider .carousel-arrow.is-next::before,
.steps-slider .carousel-arrow.is-next::after {
    content: "";
    position: absolute;
    top: calc(50% - 2px);
    left: 25.5%;
    width: 20px;
    height: 4px;
    background-color: #FFF;
    transform-origin: calc(100% - 2px) 50%;
}

@media screen and (max-width: 768px) {
    .steps-slider .carousel-arrow.is-next::before,
    .steps-slider .carousel-arrow.is-next::after {
        top: calc(50% - 1px);
        left: 25.5%;
        width: 13px;
        height: 2px;
        transform-origin: calc(100% - 1px) 50%;
    }
}

.steps-slider .carousel-arrow.is-next::before {
    transform: rotate(50deg);
}

.steps-slider .carousel-arrow.is-next::after {
    transform: rotate(-50deg);
}



/* dotsを丸くカスタマイズするCSS */
.dots-class button {
    display: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    padding: 0;
    border: none;
    background-color: transparent;
}

.dots-class {
    display: flex;
    justify-content: center;
    margin-top: 13px;
    list-style: none;
    margin-bottom: 13px;
}

@media screen and (max-width: 768px) {
    .dots-class {
        margin-top: 8px;
        margin-bottom: 10px;
    }
}

.dots-class li {
    width: 12px;
    height: 12px;
    background-color: #fff;
    border: 1px solid #707070;
    border-radius: 50%;
    margin-right: 10px;
    cursor: pointer;
    transition: background-color .5s ease;
}
@media screen and (max-width: 768px){
    .dots-class li {
        width: 7px;
        height: 7px;
    }
}
.dots-class li.slick-active {
    background-color: #616161;
}
.dots-class li:hover {
    background-color: #616161;
}
.dots-class li:last-child {
    margin-right: 0;
}


/* オンライン予約は簡単4ステップで便利 */
#procedure {
    padding-top: 71px;
    position: relative;
}

@media screen and (max-width: 768px) {
    #procedure {
        padding-top: 60px;
        margin-top: -60px;
        padding-bottom: 60px;
    }
}

@media screen and (max-width: 768px) {
    #procedure::after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: -30px;
        transform: translateX(-50%);
        border-left: 30px solid transparent;
        border-right: 30px solid transparent;
        border-top: 30px solid #E2F6FF;
    }
}

.text-center {
    text-align: center;
}

.normal-subtitle {
    font-size: 133.3333%;
    font-weight: 800;
    color: #323232;
    line-height: 1.5;
    display: block;
    /* line-height: 2.21875; */
}

@media screen and (max-width: 768px) {
    #recommend .normal-subtitle {
        font-size: 100%;
        line-height: 1.333333333333333;
    }

    #procedure .normal-subtitle {
        font-size: 100%;
        line-height: 2;
    }
}

.normal-title {
    margin-block-start: 0em;
    margin-block: 0em;
}

.normal-title .c-blue {
    font-size: 283.3332%;
    font-weight: 700;
    color: #284DB4;
    line-height: 1;
    /* line-height: 1.117647058823529; */
}

@media screen and (max-width: 768px) {
    #recommend .normal-title .c-blue {
        font-size: 150%;
        line-height: 1.333333333333333;
    }

    #procedure .normal-title .c-blue:nth-child(2) {
        font-size: 233.3333%;
        line-height: 0.8571428571428571;
    }

    #procedure .normal-title .br-sp-show + .c-blue {
        font-size: 150%;
        line-height: 1.333333333333333;
    }
}

.normal-title .c-black {
    font-size: 233.3332%;
    font-weight: bold;
    color: #323232;
    line-height: 1.357142857142857;
}

@media screen and (max-width: 768px) {
    .normal-title .c-black {
        font-size: 150%;
        line-height: 1.333333333333333;
    }
}

/* 画像の比率を崩さず「幅100%で表示して高さは自動」にしたい場合はこちら */
.is-fit-width {
    background-size: 100% auto;
    background-position: center top;
}

.steps-slider-wrap {
  overflow-x: clip; /* 互換重視なら hidden */
  padding: 49px 0px 80px;  /* “チラ見え”や矢印分の余白。必要に応じて調整 */
  width: 100%;
}

@media screen and (max-width: 768px) {
    .steps-slider-wrap{
        padding: 0 0;  /* “チラ見え”や矢印分の余白。必要に応じて調整 */
    }
}

.steps-slider .slick-list {
    /* overflow: visible;
    margin: 0 -30px;
    margin: 0 -15px; */
}

.steps-slider-wrap .slick-track {
    display: flex;
    gap: 60px;
    align-items: stretch;
}

@media screen and (max-width: 768px) {
    .steps-slider-wrap .slick-track {
        gap: 0;
        /* margin-left: -10px; */
        /* margin-right: -40px; */
        /* width: 330px; */
    }
}

.steps-slider .slick-slide{
    height: auto;
      padding: 0 30px;
  box-sizing: border-box;
  padding: 0 15px;
}

/* @@@@@ start */
.steps-slider .steps-item {
    max-width: 828px;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 41px 41px 50px;
    box-sizing: border-box;
    box-shadow: 0 3px 6px rgba(0,0,0,0.2);
    background: #FFF7EB;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .steps-slider .steps-item {
        padding: 30px 9px 30px;
        margin-right: 30px;
        margin-left: 30px;
        box-sizing: border-box;
        background: #ffffff;
    }
}
/* @@@@@ end */

.steps-slider .steps-item__subtitle {
    font-size: 168.75%;
    font-weight: 700;
    color: #1f3e9a;
    line-height: 1.5;
    max-width: 150px;
    width: 100%;
    display: inline-block;
    border-bottom: 2px solid #284DB4;
    margin-left: auto;
    margin-right: auto;
}

@media screen and (max-width: 768px) {
    .steps-slider .steps-item__subtitle {
        font-size: 125%;
        line-height: 1.5;
        max-width: 109px;
    }
}

.steps-item__title {
    font-size: 250%;
    font-weight: 700;
    line-height: 1.125;
    color: #284DB4;
    margin-block-end: 0;
    margin-block-start: 0;
    margin-top: 22px;
}

@media screen and (max-width: 768px) {
    .steps-item__title {
        font-size: 150%;
        line-height: 1.5;
        margin-top: 15px;
    }
}

.steps-item__image {
    height: 232px;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media screen and (max-width: 768px) {
    .steps-item__image {
        height: 150px;
        width: 144px;
        margin-left: auto;
        margin-right: auto;
    }
}

.steps-item__image.others {
    height: 187px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.steps-item__text {
    font-size: 112.5%;
    font-weight: 700;
    line-height: 1.555555555555556;
    color: #504141;
    margin-block-end: 0;
    margin-block-start: 0;
}

@media screen and (max-width: 768px) {
    .steps-item__text {
        font-size: 93.75%;
        line-height: 1.466666666666667;
    }
}

#consultation {
    padding-top: 71px;
    padding-bottom: 53px;
}

@media screen and (max-width: 768px) {
    #consultation {
        padding-top: 62px;
        padding-bottom: 60px;
    }
}

.left-text {
    display: inline-block;
}

@media screen and (max-width: 768px) {
    .left-text {
        display: block;
        margin-bottom: 12px;
    }
}

.right-text {
    display: inline-block;
}

.small-font {
    font-size: 112.5%;
    line-height: 1.444444444444444;
    color: #FFFFFF;
}

@media screen and (max-width: 768px) {
    .small-font {
        font-size: 125%;
        line-height: 1.45;
        color: #FFFFFF;
    }
}

.normal-font {
    font-size: 131.25%;
    line-height: 1.619047619047619;
    color: #FFFFFF;
}

@media screen and (max-width: 768px) {
    .normal-font {
        font-size: 150%;
        line-height: 1.45;
        color: #FFFFFF;
    }
}

.large-font {
    font-size: 162.5%;
    line-height: 1.307692307692308;
    color: #FFFFFF;
}

@media screen and (max-width: 768px) {
    .large-font {
        font-size: 175%;
        line-height: 1.45;
        color: #FFFFFF;
    }
}

.text-dot {
    position: relative;
    display: inline-block;
}

.text-dot::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    width: 7.44px;
    height: 7.44px;
    background: #FFEB00;
    border-radius: 50%;
    transform: translate(-50%, -20%);
}

.primary-button-wrap {
    margin-top: 30px;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .primary-button-wrap {
        margin-top: 13px;
    }
}

.primary-button {
    display: inline-flex;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    align-items: center;
    justify-content: center;
    min-width: 270px;
    padding: 1.2px 16px 5.2px;
    border: 2px solid #284DB4;
    border-radius: 26px;
    outline: 0;
    color: #284DB4;
    font-size: 125%;
    font-weight: 800;
    text-align: center;
    vertical-align: top;
    cursor: pointer;
    touch-action: manipulation;
    /*transition: background-color .3s ease, color .3s ease, border-color .3s ease;*/
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    text-decoration: none;
    position:relative;
    line-height:2.1;
    box-sizing:border-box;
}

@media screen and (max-width: 768px) {
    .primary-button {
        min-width: auto;
        max-width: 224px;
        width: 100%;
        padding: 2.6px 16px 3.8px;
        font-size: 100%;
    }
}

.primary-button:hover {
    color: #fff;
    background-color:  #284DB4;
}

.primary-button::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 33.3px;
    width: 9px;
    height: 9px;
    margin:auto;
    border-top: 2px solid #284DB4;
    border-right: 2px solid#284DB4;
    transform: rotate(45deg);
    box-sizing: border-box;
}

@media screen and (max-width: 768px) {
    .primary-button::after {
        content: none;
    }
}

.primary-button:hover::after {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}

.others-button-wrap {
    margin-top: 45px;
    text-align: center;
}

.others-button {
    display: inline-flex;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    align-items: center;
    justify-content: center;
    min-width: 270px;
    padding: 1.2px 16px 5.2px;
    border: 2px solid #fff;
    border-radius: 26px;
    outline: 0;
    color: #fff;
    font-size: 125%;
    font-weight: 800;
    text-align: center;
    vertical-align: top;
    cursor: pointer;
    touch-action: manipulation;
    /*transition: background-color .3s ease, color .3s ease, border-color .3s ease;*/
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    text-decoration: none;
    position:relative;
    line-height:2.1;
    box-sizing:border-box;
    background-color: #284DB4;
}

@media screen and (max-width: 768px) {
    .others-button {
        min-width: auto;
        max-width: 300px;
        width: 100%;
        padding: 3.6px 16px 3.8px;
        font-size: 100%;
        width: 100%;
        display: inline-flex;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    align-items: center;
    justify-content: center;
    min-width: 270px;
    padding: 1.2px 16px 5.2px;
    border: 2px solid #fff;
    border-radius: 26px;
    outline: 0;
    color: #284DB4;
    font-size: 125%;
    font-weight: 800;
    text-align: center;
    vertical-align: top;
    cursor: pointer;
    touch-action: manipulation;
    /* transition: background-color .3s ease, color .3s ease, border-color .3s ease; */
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    text-decoration: none;
    position: relative;
    line-height: 2.1;
    box-sizing: border-box;
    background-color: #fff;
    }
}

.others-button:hover {
    color: #284DB4;
    background-color:  #fff;
}

.others-button::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 33.3px;
    width: 9px;
    height: 9px;
    margin:auto;
    border-top: 2px solid #fff;
    border-right: 2px solid#fff;
    transform: rotate(45deg);
    box-sizing: border-box;
}

@media screen and (max-width: 768px) {
.others-button::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 33.3px;
    width: 9px;
    height: 9px;
    margin:auto;
    border-top: 2px solid #284DB4;
    border-right: 2px solid#284DB4;
    transform: rotate(45deg);
    box-sizing: border-box;
}
}

.others-button:hover::after {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}

@media screen and (max-width: 768px) {
.others-button:hover::after {
    border-top: 2px solid #284DB4;
    border-right: 2px solid #284DB4;
}
}



.graduation-button {
    display: inline-flex;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    align-items: center;
    justify-content: center;
    min-width: 442px;
    padding: 25.5px 16px 27.5px;
    border-radius: 43.5px;
    outline: 0;
    color: #fff;
    font-size: 212.5%;
    text-align: center;
    vertical-align: top;
    cursor: pointer;
    touch-action: manipulation;
    /* transition: background-color .3s ease, color .3s ease, border-color .3s ease; */
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    text-decoration: none;
    position: relative;
    line-height: 1;
    box-sizing: border-box;
    background-image: linear-gradient(180deg, rgba(255, 255, 255, .22) 0%, rgba(255, 255, 255, 0) 60%), linear-gradient(90deg, #FFC300 0%, #F06600 100%);
    transition: transform 0.3s ease;
    font-weight: 800;
}

.graduation-button::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 26.7px;
    width: 18px;
    height: 18px;
    margin:auto;
    border-top: 4px solid #fff;
    border-right: 4px solid#fff;
    transform: rotate(45deg);
    box-sizing: border-box;
}

.graduation-button.button-position {
    position: absolute;
    top: 80%;
    left: 60.2%;
    transform: translate(-50%, -50%) scale(1);
    transition: transform .2s ease;
}

.graduation-button.button-position:hover {
    transform: translate(-50%, -50%) scale(1.1);
}

.graduation-button-bottom {
    display: inline-flex;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    align-items: center;
    justify-content: center;
    min-width: 442px;
    padding: 25.5px 16px 27.5px;
    border-radius: 43.5px;
    outline: 0;
    color: #fff;
    font-size: 212.5%;
    text-align: center;
    vertical-align: top;
    cursor: pointer;
    touch-action: manipulation;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    text-decoration: none;
    position: relative;
    line-height: 1;
    box-sizing: border-box;
    background-image: linear-gradient(180deg, rgba(255, 255, 255, .22) 0%, rgba(255, 255, 255, 0) 60%),
                      linear-gradient(90deg, #FFC300 0%, #F06600 100%);
    transition: transform 0.3s ease;
    font-weight: 800;
  }

  /* SVG（文字サイズに合わせる） */
  .icon-check{
    width: 1.2em;
    height: 1.2em;
    flex-shrink: 0;
    display: block;
  }

  /* PCの矢印は使わない */
  .graduation-button-bottom::after{
    content: none;
  }

/* =========================
    PC（769px以上）：オレンジ帯＋中央丸ボタン
    ※ラッパー（.graduation-bottom-bar）が帯になる
    ========================= */
@media screen and (min-width: 769px){

  .graduation-bottom-bar{
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
      z-index: 9999;

      background-color: #F08A00;
      border-bottom: 2px dotted #1E59C9;

      display: flex;
      align-items: center;
      justify-content: center;

      padding: 10px 16px;
      box-sizing: border-box;
  }

  /* ▼PCの丸ボタン：通常（白地＋オレンジ文字） */
  .graduation-bottom-bar .graduation-button-bottom.button-position-bottom{
      position: static;
      width: auto;
    min-width: 0;
      border-radius: 9999px;

      font-size: 100%;
      padding: 14px 22px;

    background-image: none;
      background-color: #fff;
      border-bottom: 0;

      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 12px;

      color: #F08A00;

    transform: none;
      transition: transform .2s ease, background-color .2s ease, color .2s ease;
  }

  .graduation-bottom-bar .graduation-button-bottom.button-position-bottom:hover{
      background-color: #6f6f6f;
      color: #fff;
      transform: scale(1.06);
  }

  .graduation-bottom-bar .graduation-button-bottom.button-position-bottom::before{
      content: none !important;
  }
}

/* =========================
    SP（768px以下）：あなたの現状を維持
    ※ラッパーの影響を消して、aを固定バーとして使う
    ========================= */
@media screen and (max-width: 768px) {
  .graduation-button {
      display: none;
  }

  .graduation-bottom-bar{
      display: contents;
      position: static;
      background: transparent;
      border: 0;
      padding: 0;
  }

  .graduation-button-bottom.button-position-bottom{
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    top: auto;

    width: 100%;
    min-width: 0;
    border-radius: 0;
    z-index: 9999;

    /* 左にチェック画像分の余白 */
    padding: 18px 16px 18px 56px;

    /* SPは単色オレンジ＋下の点線 */
    background-image: none;
    background-color: #F08A00;
    border-bottom: 2px dotted #1E59C9;

    transform: none;
      display: flex;
    align-items: center;
      justify-content: center;
      gap: 12px;
    padding: 18px 16px;
  }

  .graduation-button-bottom.button-position-bottom:hover{
    transform: none;
  }

  /* SPは疑似要素チェックは使わない（SVGを使う前提） */
  .graduation-button-bottom.button-position-bottom::before{
    content: none;
  }
}

/* @@@@@ end */


/* .steps-slider .slick-prev,
.steps-slider .slick-next{
    width: 44px;
    height: 44px;
    z-index: 2;
}
.steps-slider .slick-prev{ left: calc(50% - 520px); }
.steps-slider .slick-next{ right: calc(50% - 520px); } */

.consultation-wrap {
    display: flex;
    align-items: center;
    gap: 37px;
}

@media screen and (max-width: 768px) {
  .consultation-wrap{
    display: flex;
    flex-direction: column;
  }

  /* text-warp を“箱として”消して子要素を consultation-wrap 直下扱いにする */
  .consultation-wrap__text-warp{
    display: contents;
  }

  .consultation-wrap__text-top { order: 1; text-align: center;}
  .consultation-wrap__text-bottom { order: 2; text-align: center; }
  .consultation-wrap__image-warp { order: 3; }
  .others-button-wrap { order: 4; width: 100%;}


    .consultation-wrap {
    flex-direction: column;
    gap: 0; /* 必要なら */
  }

  /* 画像ブロックだけ全幅にする */
  .consultation-wrap__image-warp {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-top: 40px;
  }

  /* 画像自体はブロック化して親幅に追従 */
  .consultation-wrap__image-warp img,
  .consultation-wrap__image-warp picture {
    display: block;
    width: 100%;
    height: auto;
  }
}



.c-checklead {
    position: relative;
    display: inline-block;
    margin: 0;
    padding-left: 50px;
}

@media screen and (max-width: 768px) {
  .c-checklead {
    text-align: left;
    display: inline-block;
    padding-left: 35.5px;
    margin-left: 17px;
  }
}

.c-checklead::before{
    content: "";
    position: absolute;
    left: 0;
    width: 50px;
    height: 37.5px;
    background: url("../images/apple/appleshop/check_mark_pc.png?date=20260306") no-repeat center / contain;
}

@media screen and (max-width: 768px) {
    .c-checklead::before{
        width: 35.5px;
        height: 27px;
        background: url("../images/apple/appleshop/check_mark_sp.png?date=20260306") no-repeat center / contain;
    }
}

.c-checklead .large-text {
    color: #504141;
    font-weight: 800;
    font-size: 150%;
    line-height: 1.458333333333333;
}

.c-checklead .medium-text {
    color: #504141;
    font-weight: 800;
    font-size: 150%;
    line-height: 1.458333333333333;
}

@media screen and (max-width: 768px) {
    .c-checklead .large-text {
        font-size: 150%;
        line-height: 1.458333333333333;
    }

    .c-checklead .medium-text {
        font-size: 112.5%;
        line-height: 2;
    }
}


/*  */
@media screen and (max-width: 768px) {
    .section-title-wrap {
        text-align: center;
        display: flex;
        justify-content: center;
    }
}

/* 見出し（左にオレンジの棒） */
.section-title {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    font-size: 200%;
    font-weight: 800;
    line-height: 2.25;
}

@media screen and (max-width: 768px) {
    .section-title {
        font-size: 137.5%;
        font-weight: 800;
        line-height: 1.4;
        color: #284DB4;
    }
}

.section-title::before {
    content: "";
    width: 14px;
    height: 40px;
    background: #F08D00;
    flex: 0 0 auto;
}

@media screen and (max-width: 768px) {
    .section-title::before {
        content: none;
    }
}

.section-title.first,
.section-title.second,
.section-title.third {
    margin-top: 124px;
}

@media screen and (max-width: 768px) {
    .section-title.first {
        margin-top: 83px;
    }
}

@media screen and (max-width: 768px) {
    .section-title.second {
        margin-top: 50px;
    }
}

@media screen and (max-width: 768px) {
    .section-title.third {
        margin-top: 44px;
    }
}


/* ========== 共通: カード型ラジオ ========== */
.radio-grid{
    display: grid;
    gap: 38px;
}

@media screen and (max-width: 768px) {
    .radio-grid{
        gap: 15px;
    }
}

.radio-grid--3 {
    grid-template-columns:repeat(3, minmax(0, 1fr));
    border: none;
    margin-top: 52px;
    padding: 0;
    margin-left: 0;
    margin-right: 0;
}

@media screen and (max-width: 768px) {
    .radio-grid--3 {
         border: none;
        margin-top: 26px;
        padding: 0;
        margin-left: 0;
        margin-right: 0;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        column-gap: 12px;
        row-gap: 12px;
        justify-items: stretch;
    }
}

.radio-grid--4 {
    grid-template-columns:repeat(4, minmax(0, 1fr));
    border: none;
    margin-top: 52px;
    padding: 0;
    margin-left: 0;
    margin-right: 0;
}

.radio-card{
    position:relative;
    border:1px solid #e6e6e6;
    background:#fff;
    border-radius:6px;
    box-shadow:0 2px 8px rgba(0,0,0,.08);
    overflow:hidden;
}

.radio-card input[type="radio"]{
    position:absolute;
    inset:0;
    opacity:0;
    cursor:pointer;
    margin:0;
    z-index:2;
}

.radio-card__inner {
    display: flex;
    align-items: center;
    gap: 55px;
    padding: 24px;
    min-height: auto;
    justify-content: center;
    font-size: 225%;
    font-weight: 700;
    line-height: 1.5;
}

@media screen and (max-width: 768px) {
    .radio-card__inner {
        display: flex;
        align-items: center;
        gap: 2px;
        padding: 11px 17px 19px;
        justify-content: center;
        font-size: 125%;
        font-weight: 700;
        line-height: 1.5;
        flex-direction: column;
    }
}

.radio-card__dot{
    width:18px;
    height:18px;
    border-radius:50%;
    border:2px solid #6F7070;
    background:#fff;
    flex:0 0 auto;
}

.radio-card input[type="radio"]:checked + .radio-card__inner .radio-card__dot{
    border-color:#6F7070;
    background:radial-gradient(circle at center, #6F7070 0 45%, transparent 46% 100%);
}

/* ========== キャリア（ロゴ風の正方形） ========== */
.carrier-card {
    border-radius:0;
    box-shadow:none;
    border:none;
    overflow:visible;
}

.carrier-card__inner{
    position:relative;
    height:150px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:900;
    font-size:40px;
    color:#fff;
}

@media screen and (max-width: 768px) {
    .carrier-card__inner{
        position: relative;
        height: 50px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: 900;
        font-size: 40px;
        color: #fff;
    }
}

.carrier-card__dot{
    position: absolute;
    top: 32px;
    box-sizing: border-box !important;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 1px solid #707070;
    background-color: #fff;
}

@media screen and (max-width: 768px) {
    .carrier-card__dot{
        position: absolute;
        top: 50%;
        left: -80%;
        right: 0;
        margin: 0 auto;
        width: 15px;
        height: 15px;
        border-radius: 50%;
        border: 1px solid #707070;
        background-color: #fff;
        transform: translate(-50%, -50%);
    }
}

/* .carrier-card input[type="radio"]:checked + .carrier-card__inner{
    outline:3px solid rgba(26,167,225,.25);
    outline-offset:3px;
} */
.carrier-card input[type="radio"]:checked + .carrier-card__inner .carrier-card__dot{
    background: radial-gradient(circle at center, #707071 0 45%, transparent 46% 100%);
    background-color: #fff;
}

.carrier-card input {
    outline: none;
    display: none;
    margin: 0;
}

.bg-au{ background:#f05a00; }
.bg-docomo{ background:#cf0025; }
.bg-softbank{ background:#808080; }
.bg-rakuten{ background:#fff; color:#e6007e; border:1px solid #bbb; }

.bg-rakuten .carrier-card__dot{ border-color:#999; }

.carrier-sub{
    font-size:12px;
    font-weight:800;
    letter-spacing:.12em;
    display:block;
    margin-bottom:6px;
    opacity:.95;
}
.softbank-bars{
    display:inline-block;
    vertical-align:middle;
    margin-right:10px;
    width:38px; height:26px;
    background:
    linear-gradient(#fff 0 0) 0 0/100% 6px no-repeat,
    linear-gradient(#fff 0 0) 0 50%/100% 6px no-repeat,
    linear-gradient(#fff 0 0) 0 100%/100% 6px no-repeat;
    opacity:.9;
}


/* 1) ロゴ表示に切り替える：中の文字や装飾を消す */
.carrier-card__inner > span,
.carrier-card__inner > div{
  display: none;
  display: block;
}
.carrier-card__inner .softbank-bars{
  display: none;
}

/* 2) ロゴ画像（背景）を反映 */
.carrier-card__inner{
  background-repeat: no-repeat;
  background-position: 50% 75%; /* 中央より少し下、など */
  background-size: 100% auto;    /* 横幅70%基準で縮小/拡大 */
}

@media screen and (max-width: 768px) {
.carrier-card__inner{
    background-position: 50% 75%; /* 中央より少し下、など */
    background-size: 50% auto;    /* 横幅70%基準で縮小/拡大 */
    }
}

/* 各キャリア：画像パスは実際の配置に合わせて変更 */
.bg-au{
  background-color:#ea5506;
  background-image:url("../images/apple/appleshop/logo_au.png?date=2026030602");
}

.bg-docomo{
  background-color:#cf0025;
  background-image:url("../images/apple/appleshop/logo_docomo.png?date=2026030602");
}

.bg-softbank{
  background-color:#888888;
  background-image:url("../images/apple/appleshop/logo_softbank.png?date=2026030602");
}

.bg-rakuten{
  background-color:#fff;
  color:#e6007e;               /* これは残してもOK（不要なら削除） */
  border:1px solid #bbb;
  background-image:url("../images/apple/appleshop/logo_rakuten.png?date=2026030602");
}


/* disabled（機種未選択時のキャリア） */
/* .is-disabled{
    opacity:.35;
    filter:grayscale(1);
} */
.is-disabled input[type="radio"]{ cursor:not-allowed; }

/* ========== 地方選択 ========== */
.region-row{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top: 41px;
}

@media screen and (max-width: 768px) {
.region-row{
    display:grid;
    gap:12px;
    flex-wrap:wrap;
    margin-top: 30px;
}
}

.region-btn{
        flex: 1;
    height: 176px;
    border: 3px solid #1aa7e1;
    background: #fff;
    color: #1aa7e1;
    font-weight: 700;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 1.346153846153846;
    position: relative;
    cursor: pointer;
    user-select: none;
    padding: 10px 8px 60px;
    font-size: 162.5%;
}

@media screen and (max-width: 768px) {
    .region-btn{
                flex: 1;
        height: 30px;
        border: 2px solid #27B2E2;
        background: #fff;
        color: #27B2E2;
        font-weight: 800;
        border-radius: 4px;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        line-height: 1.15;
        position: relative;
        cursor: pointer;
        user-select: none;
        padding: 10px 8px 10px;
        font-size: 125%;
    }
}

.region-btn::after{
        content: "";
    position: absolute;
    bottom: 44px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 12px solid #1aa7e1;
    opacity: .95;
}

@media screen and (max-width: 768px) {
    .region-btn::after{
                content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        right: 13.4px;
        width: 12px;
        height: 12px;
        margin: auto;
        border-top: 2px solid #27B2E2;
        border-right: 2px solid #27B2E2;
        transform: rotate(45deg);
        box-sizing: border-box;
        opacity: initial;
        left: initial;
        border-left: initial;
    }
}

.region-btn[aria-checked="true"]{
    background:#1aa7e1;
    color:#fff;
}
.region-btn[aria-checked="true"]::after{
    border-top-color:#fff;
}

.select-region-error{
    color: red;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    text-align: center;
}

/* ========== アコーディオン ========== */
.accordion-wrap{
        margin-top: 90px;
    background: #28B1E2;
    padding: 36px 15px 36px;
    display:none;
}
@media screen and (max-width: 768px) {
    .accordion-wrap{
            margin-top: 50px;
        padding: 30px;
        position: relative;
        z-index: 0;
        background: #28B1E2;
        width: calc(100vw - 30px);
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
    }
}


.accordion-wrap{
  margin-top: 90px;
  padding: 36px 15px;
  position: relative;
  z-index: 0;
  background: #28B1E2;
}

.accordion-wrap::before{
  content: none;
  position:absolute;
  z-index:-1;
}



.accordion-wrap.is-open{ display:block; }

.accordion-head{
    width: 100%;
    background: #f28c00;
    color: #fff;
    font-weight: 900;
    border: 0;
    height: 52px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    cursor: pointer;
    font-size: 200%;
    line-height: 1.09375;
    height: 91px;
    border-radius: 10px;
}

@media screen and (max-width: 768px) {
.accordion-head{
    width:100%;
    background:#f28c00;
    color:#fff;
    font-weight:900;
    border:0;
    height:52px;
    border-radius:4px;
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
    cursor:pointer;
        font-size: 125%;
    line-height: 1.09375;
}
}

.accordion-head::after{
    content: "";
    position: absolute;
    right: 90px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 9px solid transparent;
    border-right: 9px solid transparent;
    border-top: 10px solid #fff;
}
@media screen and (max-width: 768px) {
.accordion-head::after{
        content: "";
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 9px solid transparent;
    border-right: 9px solid transparent;
    border-top: 10px solid #fff;
}
}
.accordion-head[aria-expanded="false"]::after{
    transform:translateY(-50%) rotate(-90deg);
    transform-origin:center;
}
.pref-title {
    font-size: 100%;
    padding: 23px;
}
@media screen and (max-width: 768px) {
    .pref-title {
        font-size: 68.96555%;
        padding: 23px;
    }
}
.pref-list{
        list-style: none;
    padding: 0;
    margin: 12px 0 0;
    padding-left: 80px;
    padding-right: 80px;
}
@media screen and (max-width: 768px) {
    .pref-list{
            list-style: none;
        padding: 0;
        margin: 12px 0 0;
        padding-left: 13px;
        padding-right: 13px;
    }
}
.pref-item{
    background:#fff;
    height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#1aa7e1;
    font-weight:900;
    margin-top:10px;
    position:relative;
    font-size: 181.25%;
    display: block;
}

@media screen and (max-width: 768px) {
.pref-item{
        width: 100%;
    height: 44px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1aa7e1;
    font-weight: 900;
    position: relative;
    cursor: pointer;
    border: 0;
}
}

.pref-item::after{
        content: "";
    position: absolute;
    right: 37px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 14px solid transparent;
    border-bottom: 14px solid transparent;
    border-left: 16px solid #1aa7e1;
}
.pref-item button{
    all:unset;
    cursor:pointer;
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
}

@media screen and (max-width: 768px) {
    .radio-grid--4{
        grid-template-columns: 1fr;
        margin-top: 26px;
    }
}

/* 県アコーディオン */
.pref-acc{ margin-top:10px; }
.pref-item{
  width:100%;
  height:44px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#1aa7e1;
  font-weight:900;
  position:relative;
  cursor:pointer;
  border:0;
}
.pref-item::after{
  content:"";
  position:absolute;
  right:14px;
  top:50%;
  transform:translateY(-50%);
  width:0; height:0;
  border-top:9px solid transparent;
  border-bottom:9px solid transparent;
  border-left:10px solid #1aa7e1; /* ▶ */
}
.pref-item.is-open::after{
  border-left-color:transparent;
  border-top:9px solid #1aa7e1;   /* ▼ */
  border-right:9px solid transparent;
  border-left:10px solid transparent;
  border-bottom:0;
  width:0; height:0;
  right:16px;
}

/* 県内テーブル */
.pref-body{
    background: #fff;
    padding: 58px 27.5px 40px;
}

@media screen and (max-width: 768px) {
    .pref-body{
        background: #fff;
        padding: 40px 5px 30px;
    }
}

.shop-table{
  width:100%;
  border-collapse:collapse;
}

.shop-table th,
.shop-table td{
  border-top:1px solid #ddd;
  padding:10px 8px;
  text-align:center;
}
@media screen and (max-width: 768px) {
    .shop-table th,
    .shop-table td{
        border-top: 1px solid #ddd;
        padding: 5px 4px;
        text-align: center;
        font-size: 75%;
    }
}
.shop-table thead th{
    border-top: 0;
    color: #333;
    font-weight: 600;
    text-align: center;
    font-size: 100%;
}
@media screen and (max-width: 768px) {
    .shop-table thead th{
        border-top: 0;
        color: #333;
        font-weight: 600;
        text-align: center;
        font-size: 60%;
    }
}
.shop-table .cell-action{
  text-align:center;
  white-space:nowrap;
}

.shop-btn{
  display:inline-block;
  background:#f28c00;
  color:#fff;
  font-weight:900;
  font-size:12px;
  padding:8px 14px;
  border-radius:18px;
  text-decoration:none;
}
@media screen and (max-width: 768px) {
   .shop-btn {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 102px !important;
        height: 25px !important;
        max-width: none !important;
        padding: 0 12px;
        background: #f28c00;
        color: #fff;
        font-weight: 600;
        font-size: 10px !important;
        border-radius: 18px;
        text-decoration: none;
        line-height: 1 !important;
    }
}



/* オンライン予約方法のご案内 */
.reservation__info {
    margin-top: 94px;
    margin-bottom: 68px;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .reservation__info {
        margin-top: 50px;
        margin-bottom: 26px;
    }
}

.reservation__info-heading {
    font-size: 275%;
    line-height: 1.5;
    font-weight: 700;
    color: #28B1E2;
    margin: 0;
    border-left: none;
}

@media screen and (max-width: 768px) {
    .reservation__info-heading {
        font-size: 150%;
    }
}

.c-flowtabs {
    max-width: 798px;
    width: 100%;
    margin: 0 auto;
    border-radius: 8px;
    box-sizing: border-box;
}

/* radioは見せない */
.c-flowtabs__radio {
  position:absolute;
  inline-size:1px;
  block-size:1px;
  overflow:hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

/* ====== タブ ====== */
.c-flowtabs__tabs {
  display:flex;
  gap: 0;
}
.c-flowtabs__tab {
    flex: 1;
    text-align: center;
    padding: 7.4px 0 7.4px;
    line-height: 1.107142857142857;
    font-weight: 800;
    font-size: 175%;
    color: #28B1E2;
    background: #fff;
    border-radius: 10px 10px 0 0;
    cursor: pointer;
    user-select: none;
    border: 4px solid #28B1E2;
}

@media screen and (max-width: 768px) {
.c-flowtabs__tab {
    padding: 4px 0 3px;
    line-height: 1.285714285714286;
    font-size: 87.5%;
    border: 2px solid #28B1E2;
}
}

/* 選択中タブを白に */
#flowtab-1:checked ~ .c-flowtabs__tabs label[for="flowtab-1"],
#flowtab-2:checked ~ .c-flowtabs__tabs label[for="flowtab-2"]{
  background: #28B1E2;
  color: #fff;
  box-shadow: none;
}

/* ====== パネル切替（CSSのみ） ====== */
.c-flowtabs__panels{ position:relative; }
.c-flowtabs__panel{ display:none; }

#flowtab-1:checked ~ .c-flowtabs__panels #panel-1{
    display:block;
    padding: 25px 54px 52px;
    background-color: #28B1E2;
}

@media screen and (max-width: 768px) {
    #flowtab-1:checked ~ .c-flowtabs__panels #panel-1{
        padding: 30px 15px 60px;
    }
}

#flowtab-2:checked ~ .c-flowtabs__panels #panel-2{
    display:block;
    padding: 25px 54px 52px;
    background-color: #28B1E2;
}

@media screen and (max-width: 768px) {
    #flowtab-2:checked ~ .c-flowtabs__panels #panel-2{
        padding: 30px 15px 60px;
    }
}

.c-flowtabs__title{
    text-align: center;
    color: #fff;
    font-size: 287.5%;
    line-height: 1.239130434782609;
    font-weight: 700;
    margin: 0;
}

@media screen and (max-width: 768px) {
    .c-flowtabs__title{
        font-size: 125%;
        line-height: 1.6;
    }
}

.c-steps {
  list-style: none;
  margin-top: 40px;
  margin-bottom: 0;
  padding: 0;
  display: grid;
  gap: 47px;
  counter-reset: num;
}

@media screen and (max-width: 768px) {
    .c-steps {
        margin-top: 16px;
        gap: 31px;
    }
}

.c-steps__item {
  background: #fff;
    padding: 52px 11px;
    box-sizing: border-box;
    counter-increment: num;
    position: relative;
    display: flex;
    align-items: center;
    gap: 20px;
}

@media screen and (max-width: 768px) {
    .c-steps__item {
        padding: 23px 5px 23px 7px;
        gap: 6px;
    }
}

.c-steps__item::before {
    box-sizing: content-box;
    color: #fff;
    content: counter(num);
    display: block;
    height: 58px;
    line-height: 1.7;
    padding: 0;
    text-align: center;
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
    min-width: 58px;
    font-size: 218.75%;
    background-color: #28B1E2;
    border-radius: 50%;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, "Noto Sans JP", sans-serif;
    font-weight: 500;
}

@media screen and (max-width: 768px) {
    .c-steps__item::before {
        height: 24px;
        line-height: 1.2;
        min-width: 24px;
        padding: 2px;
        font-size: 125%;
    }
}

.c-steps__item::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -24px;
    transform: translateX(-50%);
    border-left: 25px solid transparent;
    border-right: 25px solid transparent;
    border-top: 25px solid #fff;
}

@media screen and (max-width: 768px) {
    .c-steps__item::after {
        bottom: -15px;
        border-left: 13px solid transparent;
        border-right: 13px solid transparent;
        border-top: 15px solid #fff;
    }
}

.c-steps__item:last-child::after{ display:none; }

.c-steps__text {
    color: #504141;
    font-size: 112.5%;
    font-weight: 700;
    line-height: 1.333333333333333;
}

@media screen and (max-width: 768px) {
    .c-steps__text {
        font-size: 100%;
        line-height: 1.5;
    }
}

.dropshadow-button-wrap {
    margin-top: 80px;
    margin-bottom: 60px;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .dropshadow-button-wrap {
        margin-top: 60px;
        margin-bottom: 60px;
    }
}

.dropshadow-button {
    display: inline-flex;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    align-items: center;
    justify-content: center;
    max-width: 438px;
    padding: 3.6px 16px 8.2px;
    border: 2px solid #284DB4;
    border-radius: 44px;
    outline: 0;
    color: #284DB4;
    font-size: 150%;
    font-weight: 800;
    text-align: center;
    vertical-align: top;
    cursor: pointer;
    touch-action: manipulation;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    text-decoration: none;
    line-height: 2.083333333333333;
    box-sizing: border-box;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.25);
    width: 100%;
}

@media screen and (max-width: 768px) {
    .dropshadow-button {
        max-width: 330px;
        padding: 4.6px 8px 8.2px;
        border-radius: 28px;
        font-size: 112.5%;
        line-height: 1.3;
        box-shadow: initial;
    }
}

.dropshadow-button:hover {
    color: #fff;
    background-color: #284DB4;
}

.nonehover-button-wrap {
    margin-top: 69px;
}

@media screen and (max-width: 768px) {
    .nonehover-button-wrap {
        margin-top: 40px;
    }
}

.nonehover-button-wrap:not(:first-of-type) {
    margin-top: 48px;
}

@media screen and (max-width: 768px) {
    .nonehover-button-wrap:not(:first-of-type) {
        margin-top: 15px;
    }
}
.nonehover-button {
    display: inline-flex;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    align-items: center;
    justify-content: center;
    width: 100%;

    height: 72px;
    padding: 0 16px;         /* Убираем вертикальный отступ, чтобы центровка работала по flex */
    border-radius: 36px;     /* Половина от высоты (72/2), чтобы края были идеально круглыми */
    font-size: 24px;
    outline: 0;
    color: #28B1E2;
    font-weight: 800;
    text-align: center;
    vertical-align: top;
    cursor: pointer;
    touch-action: manipulation;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    text-decoration: none;
    position: relative;
    line-height: 1.45;
    box-sizing: border-box;
    background-color: #fff;
}

@media screen and (max-width: 768px) {
  .nonehover-button {
    /* Сбрасываем старые паддинги */
    padding: 0;

    /* Новые требования по фидбеку */
    height: 40px;          /* Высота ровно 40px */
    border-radius: 20px;   /* Половина от 40px для круглых краев */
    font-size: 16px;       /* Уменьшаем шрифт (на ПК было 24px, для кнопки 40px это много) */

    font-weight: 800;
    /* Flex-центровка унаследуется от ПК версии, так что текст встанет ровно */
}
}

.nonehover-button::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 30.2px;
    width: 16px;
    height: 16px;
    margin: auto;
    border-top: 2px solid #28B1E2;
    border-right: 2px solid #28B1E2;
    transform: rotate(45deg);
    box-sizing: border-box;
}

@media screen and (max-width: 768px) {
    .nonehover-button::after {
        right: 17.4px;
        width: 12px;
        height: 12px;
    }
}

.online-reservation__info {
    text-align: center;
    margin-top: 35px;
}

@media screen and (max-width: 768px) {
    .online-reservation__info {
        margin-top: 30px;
    }
}

.online-reservation__info-heading {
    color: #FF0000;
    font-size: 200%;
    line-height: 1.65625;
    border-left: none;
}

@media screen and (max-width: 768px) {
    .online-reservation__info-heading {
        color: #FF0000;
        font-size: 150%;
        line-height: 1.5;
        margin: 0;
    }
}

.standard-button-wrap {
    margin-top: 57px;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .standard-button-wrap {
        margin-top: 40px;
    }
}

.standard-button {
    display: inline-flex;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    align-items: center;
    justify-content: center;
    max-width: 438px;
    padding: 3.6px 16px 8.2px;
    border-radius: 44px;
    outline: 0;
    color: #fff;
    font-size: 150%;
    font-weight: 800;
    text-align: center;
    vertical-align: top;
    cursor: pointer;
    touch-action: manipulation;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    text-decoration: none;
    line-height: 2.083333333333333;
    box-sizing: border-box;
    width: 100%;
    background-color: #F08D00;
    position: relative;
}

@media screen and (max-width: 768px) {
    .standard-button {
        display: inline-flex;
        -webkit-appearance: none;
        -moz-appearance: none;
            appearance: none;
        align-items: center;
        justify-content: center;
        max-width: 330px;
        padding: 3.6px 16px 6.2px;
        border-radius: 44px;
        outline: 0;
        color: #fff;
        font-size: 112.5%;
        font-weight: 800;
        text-align: center;
        vertical-align: top;
        cursor: pointer;
        touch-action: manipulation;
        -webkit-user-select: none;
        -moz-user-select: none;
        user-select: none;
        text-decoration: none;
        line-height: 1.96;
        box-sizing: border-box;
        width: 100%;
        background-color: #27B2E2;
        position: relative;
    }
}

.standard-button::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 30.2px;
    width: 16px;
    height: 16px;
    margin: auto;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    box-sizing: border-box;
}

@media screen and (max-width: 768px) {
.standard-button::after {
            content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        right: 13.4px;
        width: 12px;
        height: 12px;
        margin: auto;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        transform: rotate(45deg);
        box-sizing: border-box;
    }
}


.circle-button {
    display: inline-flex;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    align-items: center;
    justify-content: center;
    width: 146px !important;
    height: 146px !important;
    max-width: none !important;

    border-radius: 50%;
    padding: 0;
    outline: 0;
    color: #fff;
    font-size: 150%;
    text-align: center;
    vertical-align: top;
    cursor: pointer;
    touch-action: manipulation;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    text-decoration: none;
    line-height: 1.3;
    box-sizing: border-box;
    background: #EF8D01;
    transition: transform 0.3s ease;
    font-weight: 800;
}

.circle-button::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 26.7px;
    width: 18px;
    height: 18px;
    margin:auto;
    transform: rotate(45deg);
    box-sizing: border-box;
}

.circle-button.button-position {
    position: fixed;
    bottom: 30px;
    right: 12.5%;
    transform: translate(-50%, -50%) scale(1);
    transition: transform .2s ease;
}

.circle-button.button-position:hover {
    transform: translate(-50%, -50%) scale(1.1);
}

@media screen and (max-width: 768px) {
    .circle-button {
        display: none;
    }
}


/* 1. PC版：1番目の「TOP」を完全に消去 */
.gnav .menu > li.nav01:nth-child(1) {
    display: none !important;
}

/* 2. PC版：2番目「オンライン予約」の左にある縦線を消去 */
.gnav .menu > li.nav01:nth-child(2) {
    border-left: none !important;
}

/* 3. PC版：青背景ボタン（店舗検索・ネットショップ）の文字色を白にする */
.gnav .menu > li.nav02 > a,
.gnav .menu > li.nav03 > a {
    color: #fff !important;
}

/* 4. スマホ版（上書き用）：消したTOPをスマホの時だけ復活させる */
@media screen and (max-width: 768px) {
    .gnav .menu > li.nav01:nth-child(1) {
        display: block !important;
    }
    /* スマホメニュー内の文字色を白にし、レイアウト崩れを防ぐ */
    .gnav .menu > li > a {
        color: #fff !important;
        display: block !important;
        text-align: left !important;
        padding-left: 23px !important;
    }
    /* スマホでのボタン背景を透明化 */
    .gnav .menu > li.nav02,
    .gnav .menu > li.nav03 {
        background-color: transparent !important;
        border-top: 1px solid rgba(255, 255, 255, 0.2) !important;
    }
}
/* 「Apple残価クレジット」などの余白のズレを修正 */
@media screen and (max-width: 768px) {
    /* 4番目の項目（Apple残価クレジット）に他の項目と同じ余白を与える */
    .gnav .menu > li.nav01:nth-child(4) {
        padding-left: 23px !important;
        text-align: left !important;
    }

    /* 全てのメニュー内の文字が左端に寄るように調整 */
    .gnav .menu > li.nav01 > a {
        justify-content: flex-start !important;
    }
}
/* ============================================================
   PC版・スマホ版：メニュー表示の最終決定版
   ============================================================ */

/* 1. 【PC版】1番目の「TOP」を消し、2番目の左線を消す */
.gnav .menu > li.nav01:nth-child(1) {
    display: none !important;
}
.gnav .menu > li.nav01:nth-child(2) {
    border-left: none !important;
}

/* 2. 【PC版】各項目の位置・余白の個別調整（769px以上） */
@media screen and (min-width: 769px) {
/* オンライン予約（2番目）：もう少し下げる（18px → 21px） */
    .gnav .menu > li.nav01:nth-child(2) {
        padding: 21px 28px 0 !important; /* 数値を大きくして下げました */
        display: flex !important;
        align-items: flex-start !important;
    }

    /* 買取り・Apple残価（3・4番目）：もっと上に上げる（12px → 6px） */
    .gnav .menu > li.nav01:nth-child(3),
    .gnav .menu > li.nav01:nth-child(4) {
        /* 数値を半分に減らして、限界まで上に詰めました */
        padding: 6px 28px 0 !important;
        display: flex !important;
        align-items: flex-start !important;
        border-left: 2px solid #28B1E2 !important;
    }

    /* 右側青ボタン（店舗検索・ネットショップ）：完全センタリング */
    .gnav .menu > li.nav02,
    .gnav .menu > li.nav03 {
        padding: 0 !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        min-width: 240px !important;
        min-height: 64px !important;
        margin-left: 14px !important;
        color: #fff !important;
    }

    .gnav .menu > li.nav02 > a,
    .gnav .menu > li.nav03 > a {
        color: #fff !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        padding: 0 !important;
    }
}

/* 3. 【スマホ版】TOPの復活とレイアウト調整（768px以下） */
@media screen and (max-width: 768px) {
    .gnav .menu > li.nav01:nth-child(1) {
        display: block !important;
    }
    .gnav .menu > li > a {
        color: #fff !important;
        display: block !important;
        text-align: left !important;
        padding-left: 23px !important;
    }
    .gnav .menu > li.nav01:nth-child(4) {
        padding-left: 23px !important;
    }
    .gnav .menu > li.nav01 > a {
        justify-content: flex-start !important;
    }
    .gnav .menu > li.nav02,
    .gnav .menu > li.nav03 {
        background-color: transparent !important;
        border-top: 1px solid rgba(255, 255, 255, 0.2) !important;
    }
}
/* --- ファイルの最後はここで終了。余計な } は入れない --- */

@media screen and (min-width: 769px) and (max-width: 1400px) {

    #header {
        padding-left: 15px !important;
        padding-right: 15px !important;
        flex-wrap: nowrap !important;
    }

    .gnav .menu > li.nav01 {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .gnav .menu > li > a {
        font-size: 105% !important;
        white-space: nowrap;
    }
    .gnav .menu > li.nav02,
    .gnav .menu > li.nav03 {
        min-width: 170px !important;
        margin-left: 8px !important;
        padding: 0 10px !important;
        display: flex !important;
        justify-content: center !important;
    }


    .gnav .menu > li.nav02 > a:before,
    .gnav .menu > li.nav03 > a:before {
        width: 30px !important;
        height: 30px !important;
        background-size: contain !important;
        margin-right: 6px !important;
    }
}

@media screen and (min-width: 769px) and (max-width: 1440px) {

    .graduation-button {
        font-size: 140%;
        min-width: auto;
        padding: 32px 120px;

    }

    .graduation-button.button-position {
        bottom: 20px;
        white-space: nowrap;
        margin-top: 0;
    }
}
.text-row-first .num-text {
    font-family: 'Oswald', sans-serif !important;
    font-weight: 500 !important;
    font-size: 128px !important;
    line-height: 1 !important;
    margin-left: -5px !important;
    margin-right: 16px !important;
    transform: translateY(8px);
    display: inline-block;
}

.text-row-second .num-text {
    font-family: 'Oswald', sans-serif !important;
    font-weight: 500 !important;
    font-size: 128px !important;
    line-height: 1 !important;
    letter-spacing: -3px !important;
    margin-left: -10px !important;
    margin-right: 5px !important;
    transform: translateY(8px);
    display: inline-block;
}

.text-row-first .symbol-text {
    font-family: 'Oswald', sans-serif !important;
    font-weight: 500 !important;
    transform: translateY(0);
}
/* scroll === */


.graduation-bottom-bar {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.4s ease, visibility 0.4s ease;
}

@media screen and (max-width: 768px) {
    .graduation-button-bottom.button-position-bottom {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity 0.4s ease, visibility 0.4s ease;
    }
}


.circle-button.button-position {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.4s ease, visibility 0.4s ease;
}

.is-scroll-visible {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}@media screen and (max-width: 1024px) {

    .graduation-bottom-bar {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    .graduation-button-bottom.button-position-bottom {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    .circle-button.button-position {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }
}
.points__item {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.8s ease, transform 0.8s ease;
    will-change: opacity, transform;
}


.points__item.is-visible {
    opacity: 1;
    transform: translateY(0);
}
@media screen and (max-width: 768px) {

    .c-topnotice {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 10001;
    }

    #header {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 10000;
        background: #fff;
        transition: top 0.3s ease;
        box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    }


    body.has-top-notice #header {
        top: 30px;
    }

    body {
        padding-top: 54px;
        transition: padding-top 0.3s ease;
    }


    body.has-top-notice {
        padding-top: 84px;
    }
}


@media screen and (max-width: 768px) {
    .graduation-button-bottom.button-position-bottom {
        padding-left: 10px !important;
        padding-right: 10px !important;
        white-space: nowrap;
        justify-content: center;
        width: 100%;
    }
    .graduation-button-bottom.button-position-bottom svg {
        flex-shrink: 0;
    }
}

.points__item:nth-of-type(2) .points__normal-text {
    font-size: 150% !important;
    font-weight: 800;
    color: #284DB4 !important;
    line-height: 1.5;
    margin-top: 5px;
    display: block;
}

.text-row-first .num-text,
.text-row-second .num-text {
    font-family: 'Oswald', sans-serif !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    letter-spacing: -2px;
    transform: translateY(5px);
    font-size: 128px !important;
}


.text-row-first .num-text {
    margin-left: -5px !important;
}

.text-row-second .num-text {

    margin-left: -10px !important;
}


@media screen and (max-width: 768px) {
    .text-row-first .num-text,
    .text-row-second .num-text {

        font-size: 72px !important;
        transform: translateY(2px) !important;
    }
}

@media screen and (max-width: 768px) {
    .points__another-text-wrap {
        white-space: nowrap !important;
        width: 100% !important;
        display: block !important;
        text-align: center !important;
    }

}

.points__item {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.8s ease, transform 0.8s ease;
    will-change: opacity, transform;
}
.points__item.is-visible {
    opacity: 1;
    transform: translateY(0);
}
@media screen and (max-width: 768px) {
    #footer {
        padding-bottom: 16px !important;
    }
}
@media screen and (max-width: 768px) {

    .convenience {
        /* Убираем фоновый цвет с самого блока, чтобы работал clip-path на псевдоэлементе */
        background: transparent !important;

        /* Увеличиваем отступы, чтобы текст не обрезался из-за скосов */
        padding-top: 80px !important;
        padding-bottom: 80px !important;
        margin-top: 40px !important;

        /* Разрешаем элементам выходить за границы, если нужно */
        overflow: visible !important;
        position: relative;
        z-index: 1;
    }

    .convenience::before {
        content: "" !important;
        display: block !important;
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        background: #254DB8 !important; /* Синий цвет */
        z-index: -1 !important;
        transform: none !important;
        clip-path: polygon(0 50px, 100% , 100% calc(100% - 50px), 0 100%) !important;
    }
}
.bg-creamwhite {
    background-color: #FFF7EB;
    padding: 60px;
}

.section-title {
    font-size: 24px !important;
    gap: 16px !important;
    line-height: 1.5;
    align-items: center;
}
.section-title::before {
    width: 14px !important;
    height: 36px !important;
    flex: 0 0 14px;
}
.section-title-wrap {
    margin-bottom: 32px !important;
    margin-top: 60px !important;
}
/* --- 2.(Device Selection) --- */

.radio-card__inner {
    position: relative;
    justify-content: center !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    gap: 0 !important;
}

.radio-card__dot {
    position: absolute !important;
    left: 40px !important;
    top: 50%;
    transform: translateY(-50%);
    margin: 0 !important;
    width: 18px !important;
    height: 18px !important;
    border: 1px solid #707070 !important;
    box-sizing: border-box !important;
    z-index: 1;
}

@media screen and (max-width: 768px) {

    .radio-card__inner {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        padding-top: 15px !important;
        padding-bottom: 10px !important;

        font-size: 100% !important;
        height: auto !important;
        min-height: 80px !important;
    }

    .radio-card__dot {
        position: static !important;
        transform: none !important;
        margin-bottom: 8px !important;
        width: 17px !important;
        height: 17px !important;
        left: auto !important;
        top: auto !important;
    }
}

/* --- 3. (Carrier Logos) - SP Fix --- */
@media screen and (max-width: 768px) {
    .carrier-card__inner {
        background-size: 120px auto !important;
        background-position: center bottom 15px !important;
        height: 70px !important;
    }

    .bg-au {
        background-position: center bottom 18px !important;
        background-size: 80px auto !important;
    }
    .bg-docomo {
        background-position: center bottom 18px !important;
        background-size: 100px auto !important;
    }
    .bg-softbank {
        background-position: center bottom 18px !important;
        background-size: 110px auto !important;
    }
    .bg-rakuten {
        background-position: center bottom 18px !important;
        background-size: 110px auto !important;
    }

    .carrier-card__dot {
        top: 10px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: 15px !important;
        height: 15px !important;
        margin: 0 !important;
    }
}


.circle-button.button-position {
    position: fixed !important;
    z-index: 9999;
    bottom: 50px !important;
    right: 50px !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    font-size: 20px !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transition: opacity 0.3s ease, transform 0.2s ease;
}

.circle-button.button-position:hover {
    transform: scale(1.05) !important;
}

.circle-button.button-position.is-visible {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}



/* (SP Header) --- */
.sp-fixed-custom {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    z-index: 10!important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    align-items: center;
    justify-content: center;
}
@media screen and (min-width: 769px) {
    .sp-fixed-custom {
        display: none !important;
    }
}

@media screen and (max-width: 475px) {
    .bg-softbank { background-position: center 40% !important; }
    .bg-rakuten { background-position: center 65% !important; }
}
@media screen and (max-width: 768px) {
    .carrier-card__inner {
        position: relative !important;
        height: 60px !important;
        width: 100% !important;
        display: block !important;
        border-radius: 4px !important;
        background-repeat: no-repeat !important;
        background-position: center center !important;
        background-size: auto 28px !important;
    }

    .bg-au { background-size: auto 40px !important; }
    .bg-docomo { background-size: auto 40px !important; }
    .bg-softbank {
          background-position: center 38% !important;
          background-size: auto 40px !important; }
    .bg-rakuten {
         background-position: center 60% !important;
          background-size: auto 40px !important; }

    .carrier-card .carrier-card__dot {
        position: absolute !important;
        top: 50% !important;
        left: 15px !important;
        transform: translateY(-50%) !important;
        margin: 0 !important;
        width: 17px !important;
        height: 17px !important;
        border: 1px solid #707070 !important;
        background-color: #fff !important;
        border-radius: 50% !important;
        z-index: 2;
    }}
    #footer {
    margin-bottom: 0 !important;
    background-color: #fff !important;
}

.c-topnotice__link {
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}


/* 買取ページ */
.purchase-container--outer {
    max-width: 1320px;
}

.purchase-container {
    margin-right: auto;
    margin-left: auto;
    padding-right: 15px;
    padding-left: 15px;
}

@media screen and (max-width: 768px) {
    .purchase-container.remove-padding {
        padding-right: 0;
        padding-left: 0;
    }
}

.purchase-container.add-relative {
    position: relative;
}

.purchase-hero {
  width: 100%;
  aspect-ratio: 3840 / 820;
  overflow: hidden;
  position: relative;
}

@media screen and (max-width: 768px) {
    .purchase-hero {
        aspect-ratio: 780 / 520;
    }
}

.purchase-hero img {
  width: 100%;
  height: auto;
  display: block;
}

#purchase-simulation {
    position: relative;
    width: 100%;
    padding-top: 58px;
    padding-bottom: 62.8px;
    z-index: 0;
}

#purchase-simulation::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url(../images/apple/purchase/peace_of_mind_pc.png) no-repeat center top;
    background-size: 100% auto;
    opacity: 0.5; /* ここで調整 */
    z-index: -1;
}

@media screen and (max-width: 768px) {
    #purchase-simulation {
        background: none;
        padding-top: 19px;
        padding-bottom: 10px;
    }
}

.purchase-heading-wrap {
    text-align: center;
}

.purchase-heading {
    font-size: 262.5%;
    font-weight: 800;
    line-height: 1.404761904761905;
    color: #E62626;
    margin: 0;
    border-left: none;
}

@media screen and (max-width: 768px) {
    .purchase-heading {
        font-size: 112.5%;
        line-height: 1.444444444444444;
    }
}

.purchase-simulation-title-wrap {
    margin-top: 41px;
}

@media screen and (max-width: 768px) {
    .purchase-simulation-title-wrap {
        margin-top: 30px;
    }
}

.purchase-simulation-hero {
  width: 100%;
  aspect-ratio: 2640 / 456;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
    .purchase-simulation-hero {
        aspect-ratio: 670 / 362;
    }
}

.purchase-simulation-hero img {
    width: 100%;
    height: auto;
    display: block;
}

.purchase-simulation-subtitle-wrap {
    max-width: 654px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    top: 20px;
}

@media screen and (max-width: 768px) {
    .purchase-simulation-subtitle-wrap {
        max-width: none;
        top: -12px;
    }
}

.purchase-simulation-subtitle {
    font-size: 160%;
    font-weight: 800;
    line-height: 1;
    position: relative;
    padding: 17.5px;
    border-radius: 33px;
    background-color: #28B1E2;
    text-align: center;
    color: #fff;
}

@media screen and (max-width: 768px) {
    .purchase-simulation-subtitle {
        font-size: 112.5%;
        padding: 11px 6.5px;
    }
}

.purchase-simulation-subtitle::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -12px;
    transform: translateX(-50%);
    border-left: 13px solid transparent;
    border-right: 13px solid transparent;
    border-top: 13px solid #26B1E2;
}

.c-yellow {
    color: #FFF500;
}


.purchase-accordion {
    margin-inline: auto;
    width: 100%;
    border: 14px solid #149CCC;
    border-radius: 20px 20px 0 0;
    max-width: 1172px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    margin-top: 10px;
}

@media screen and (max-width: 768px) {
    .purchase-accordion {
        border: 10px solid #149CCC;
        max-width: none;
        margin-top: 5px;
    }
}

.purchase-accordion-box {
    padding-top: 79px;
    padding-left: 87px;
    padding-right: 100px;
    padding-bottom: 60px;
    box-sizing: border-box;
    background-color: #fff;
}

@media screen and (max-width: 768px) {
    .purchase-accordion-box {
        padding-top: 29px;
        padding-left: 12px;
        padding-right: 4.5px;
        padding-bottom: 23px;
    }
}

.purchase-accordion-heading {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 0 32px;
    border: 0;
    border-radius: 5px 5px 0 0;
    text-decoration: none;
    background:
    linear-gradient(
        to bottom,
        rgba(255, 255, 255, 0.28) 0%,
        rgba(255, 255, 255, 0.12) 18%,
        rgba(255, 255, 255, 0) 52%
    ),
    linear-gradient(
        to bottom,
        #3fb6e8 0%,
        #1ea2dc 45%,
        #0b87c8 100%
    );
    overflow: hidden;
}

@media screen and (max-width: 768px) {
    .purchase-accordion-heading {
        padding: 9.5px 32px;
    }
}

.purchase-accordion-heading-title {
    font-size: 250%;
    font-weight: 700;
    line-height: 1.9;
    color: #fff;
    text-shadow: 2px 3px 14px rgba(0, 0, 0, 0.25);
}

@media screen and (max-width: 768px) {
    .purchase-accordion-heading-title {
        font-size: 175%;
        font-weight: 700;
        line-height: 1.4;
    }
}

.purchase-accordion-label {
    min-width: 104px;
    padding-top: 12px;
}

@media screen and (max-width: 768px) {
    .purchase-accordion-label {
        min-width: 64px;
        padding-top: 6px;
    }
}

.purchase-accordion-label__text {
    font-size: 162.5%;
    font-weight: 800;
    line-height: 1;
    /* line-height: 3.038461538461538; */
    color: #323232;
}

@media screen and (max-width: 768px) {
    .purchase-accordion-label__text {
        font-size: 100%;
    }
}

.purchase-accordion-inner {
    max-width: 746px;
    width: 100%;
}

@media screen and (max-width: 768px) {
    .purchase-accordion-inner {
        max-width: none;
        width: 100%;
    }
}

.purchase-accordion-content {
    margin: 0;
    list-style: none;
    padding: 0 16px;
    border-right: 1px solid #A8A8A8;
    border-bottom: none;
    border-left: 1px solid #A8A8A8;
}

@media screen and (max-width: 768px) {
    .purchase-accordion-content {
        padding: 0 0;
    }
}

.purchase-accordion-content {
    border-bottom: none;
}

.purchase-select.is-open .purchase-accordion-content {
    border-bottom: 1px solid #A8A8A8;
}

.accordion-unordered-list-item {
    position: relative;
    height: 0;
    overflow: hidden;
    padding: 0 16px;
    /* transition: height 250ms cubic-bezier(.4, .25, .3, 1),
                padding-top 250ms cubic-bezier(.4, .25, .3, 1),
                padding-bottom 250ms cubic-bezier(.4, .25, .3, 1); */
    transition: all 250ms cubic-bezier(.4,.25,.3,1);
    box-sizing: content-box;
    text-align: center;
    background-color: #fff;
    color: #969696;
    font-weight: 500;
    font-size: 125%;
    line-height: 1;
    padding-right: 14px;
    padding-left: 14px;
}

.accordion-unordered-list-item::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: -14px;
    right: -14px;
    background: #e0e0e0;
    opacity: 0;
    transition: opacity 250ms ease;
    z-index: -1;
}

@media screen and (max-width: 768px) {
    .accordion-unordered-list-item::before {
        left: -9.5px;
        right: -9.5px;
    }
}

.accordion-unordered-list-item:hover::before {
    opacity: 1;
}

@media screen and (max-width: 768px) {
    .accordion-unordered-list-item {
        font-size: 87.5%;
    }
}

.purchase-select.is-open .accordion-unordered-list-item {
    padding-top: 0;
    padding-bottom: 0;
    text-align: center;
    background-color: #fff;
    color: #969696;
    font-weight: 500;
    font-size: 125%;
    line-height: 1;
    margin: 0;
    position: relative;
    padding-top: 14px;
    padding-right: 14px;
    padding-bottom: 14px;
    padding-left: 14px;
    /* border-bottom: 1px solid #A8A8A8; */
    border-bottom: none;
    position: relative;
    cursor: pointer;
    margin: 0 -16px;
}

.purchase-select.is-open .accordion-unordered-list-item::after {
    content: "";
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 0;
    height: 1px;
    background-color: #A8A8A8;
}

@media screen and (max-width: 768px) {
    .purchase-select.is-open .accordion-unordered-list-item::after {
        left: 9.5px;
        right: 9.5px;
    }
}

.purchase-select.is-open .accordion-unordered-list-item:last-child::after {
    display: none;
}

@media screen and (max-width: 768px) {
    .purchase-select.is-open .accordion-unordered-list-item {
        font-size: 87.5%;
        padding-top: 5.5px;
        padding-right: 5.5px;
        padding-bottom: 5.5px;
        padding-left: 5.5px;
        margin: 0 0;
    }
}

.purchase-select.is-open .accordion-unordered-list-item:hover {
    background-color: #f7f7f7;
}

.purchase-select.is-open .accordion-unordered-list-item:last-child {
    border-bottom: none;
}

.purchase-accordion-content p {
    font-size: 13px;
    line-height: 1.5;
}

.purchase-accordion-item {
    display: flex;
    gap: 83px;
    padding-right: 24px;
}

@media screen and (max-width: 768px) {
    .purchase-accordion-item {
        gap: 19px;
        padding-right: 11px;
    }
}

.purchase-accordion-item:not(:first-of-type) {
    margin-top: 20px;
}

@media screen and (max-width: 768px) {
    .purchase-accordion-item:not(:first-of-type) {
        margin-top: 19px;
    }
}

.purchase-accordion-title {
    cursor: pointer;
    background-color: #fff;
    border: 1px solid #707070;
    color: #969696;
    font-weight: 500;
    font-size: 125%;
    line-height: 1;
    margin: 0;
    position: relative;
    padding-top: 14px;
    padding-right: 14px;
    padding-bottom: 14px;
    padding-left: 31px;
}

@media screen and (max-width: 768px) {
    .purchase-accordion-title {
        font-size: 87.5%;
        padding-top: 7px;
        padding-right: 8.9px;
        padding-bottom: 7px;
        padding-left: 11px;
    }
}

.purchase-accordion-title.add-style {
    background-color: #A8A8A8;
    border: none;
    color: #fff;
}

.purchase-accordion-title::after {
    border-right: solid 2px #fff;
    border-top: solid 2px #fff;
    content: "";
    display: block;
    position: absolute;
    right: 14px;
    top: 50%;
    /* transform: translateY(-50%); */
    transform: translateY(-50%) scaleY(1);
    transform-origin: center;
    transition: transform 250ms cubic-bezier(.4, .25, .3, 1),
                opacity 250ms cubic-bezier(.4, .25, .3, 1);
    opacity: .6;
    width: 0;
    height: 0;
    border-left: 9px solid transparent;
    border-right: 9px solid transparent;
    border-top: 10px solid #969696;
}

@media screen and (max-width: 768px) {
    .purchase-accordion-title::after {
        right: 8.9px;
        top: 40%;
        border-left: none;
        border-top: 2px solid #969696;
        border-right: 2px solid #969696;
        width: 9px;
        height: 9px;
        /* transform: rotate(135deg); */
        transform: translateY(-50%) scaleY(1) rotate(135deg);
    }
}

.purchase-accordion-title.add-style::after {
    border-right: solid 2px #969696;
    border-top: solid 2px #969696;
    border-left: 9px solid transparent;
    border-right: 9px solid transparent;
    border-top: 10px solid #fff;
    opacity: 1;
}

.purchase-accordion-title.open::after {
    top: 50%;
    /* transform: rotate(-180deg); */
    transform: translateY(-50%) scaleY(-1);
}

@media screen and (max-width: 768px) {
    .purchase-accordion-title.open::after {
        top: 0;
        right: 8.9px;
        top: 60%;
        border-left: none;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        width: 9px;
        height: 9px;
        /* transform: rotate(315deg); */
        transform: translateY(-50%) scaleY(-1) rotate(135deg);
    }
}

.accordion-unordered-list {
    padding: 0;
    list-style-type: none;
}

.total-amount-wrap {
    max-width: 160px;
    width: 100%;
    margin-right: 27.5px;
}

@media screen and (max-width: 768px) {
    .total-amount-wrap {
        max-width: 80px;
        margin-right: 25px;
    }
}

.total-amount {
    display: flex;
    align-items: end;  
    font-size: 135.7209%;
    font-weight: 800;
    color: #323232;
}

@media screen and (max-width: 768px) {
    .total-amount {
        font-size: 111.8033%;
    }
}

.total-num-wrap {
    /* max-width: 698px;
    width: 100%;
    border-bottom: 1px solid #707070;
    text-align: center;
    padding-left: 10px;
    padding-right: 10px;
    box-sizing: border-box; */
    max-width: 698px;
    text-align: center;
    width: 100%;
    min-width: 0;
    overflow: hidden;
    border-bottom: 1px solid #707070;
}

@media screen and (max-width: 768px) {
    .total-num-wrap {
        max-width: none;
        min-width: 162px;
        width: auto;
        margin-left: auto;
        margin-right: 11px;
    }
}

.total-wavyline {
    font-size: 308.322%;
    font-weight: 700;
    font-family: "Oswald", sans-serif;
    color: #E62626;
}

@media screen and (max-width: 768px) {
    .total-wavyline {
        font-size: 167.70496%;
    }
}

.total-num {
    font-size: 419.0585%;
    font-weight: 700;
    font-family: "Oswald", sans-serif;
    color: #E62626;
    position: relative;
    top: 8px;
}

@media screen and (max-width: 768px) {
    .total-num {
        font-size: 195.656%;
        top: 0;
    }
}

.total-price {
    font-size: 184.2015%;
    font-weight: 800;
    color: #323232;
}

@media screen and (max-width: 768px) {
    .total-price {
        font-size: 167.705%;
    }
}

.total-sup {
    font-size: 110.521%;
    font-weight: 800;
    color: #323232;
    position: relative;
    top: -5px;
}

@media screen and (max-width: 768px) {
    .total-sup {
        top: -4px;
        font-size: 90%;
    }
}

.purchase-assortment-hero {
  width: 100%;
  aspect-ratio: 3840 / 820;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
    .purchase-assortment-hero {
        aspect-ratio: 780 / 520;
    }
}

.purchase-assortment-hero img {
    width: 100%;
    height: auto;
    display: block;
}

.purchase-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;

  /* サイズは必要に応じて調整 */
  min-width: 746px;
  height: 81px;
  padding: 0 48px;

  border: 0;
      border-radius: 41px;
  text-decoration: none;
  color: #505050;
  font-weight: 700;

  /* 画像に近い「上が明るく、下が濃い」黄色 */
  background: linear-gradient( to bottom, #ffeb53 0%, #ffeb53 55%, #f7e139 70%, #f0d81f 82%, #e6cc00 100% );
  /* background: linear-gradient(
    to bottom,
    #fff27a 0%,
    #ffef63 18%,
    #ffec52 38%,
    #fbe643 58%,
    #f3db2a 78%,
    #e6cc00 100%
  ); */

  /* 立体感（不要なら削除） */
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.55),
    0 2px 0 rgba(0,0,0,.05);
  position: relative;
  font-size: 200%;
  font-weight: 800;
  box-sizing: border-box;
}

@media screen and (max-width: 768px) {
    .purchase-button {
        min-width: auto;
        height: initial;
        padding: 6.5px 2px;
        font-size: 100%;
        max-width: 304px;
        width: 100%;
    }
}

/* 上部のうっすらハイライト（不要なら削除） */
/* .purchase-button::before{
  content: "";
  position: absolute;
  left: 10px;
  right: 10px;
  top: 0;
  height: 40%;
  border-radius: 9999px;
  background: linear-gradient(to bottom, rgba(255,255,255,.45), rgba(255,255,255,0));
  pointer-events: none;
} */

.purchase-button:hover {
    background: #FFB852;
    color: #fff;
    box-shadow: initial;
}

.purchase-button:hover::before{
  content: none;
  position: static;
  left: 0;
  right: 0;
  top: 0;
  height: 0;
  border-radius: initial;
  background: initial;
}

.purchase-button::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 28px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 14px solid transparent;
    border-bottom: 14px solid transparent;
    border-left: 18px solid #5b5b5b;
}

@media screen and (max-width: 768px) {
    .purchase-button::after {
        right: 14px;
        border-top: 6px solid transparent;
        border-bottom: 6px solid transparent;
        border-left: 10px solid #5b5b5b;
    }
}

.purchase-button:hover::after {
    border-top: 14px solid transparent;
    border-bottom: 14px solid transparent;
    border-left: 18px solid #fff;
}

.purchase-bg-pa {
    padding-top: 31px;
    padding-bottom: 33px;
    display: flex;
    justify-content: center;
}

@media screen and (max-width: 768px) {
    .purchase-bg-pa {
        padding-top: 17px;
        padding-bottom: 21px;
    }
}

.purchase-bg-lb {
    background-color: #9AE4FF;
}

.purchase-simulation-annotation-wrap {
    display: inline-block;
    padding-left: 65px;
    padding-right: 65px;
    margin-top: 10px;
}

@media screen and (max-width: 768px) {
    .purchase-simulation-annotation-wrap {
        padding-left: 0;
        padding-right: 0;
    }
}

.purchase-simulation-annotation-text {
    display: inline-block;
    font-size: 87.5%;
    font-weight: 800;
    line-height: 1.2;
    color: #323232;
}

@media screen and (max-width: 768px) {
    .purchase-simulation-annotation-text {
        font-size: 75%;
        line-height: 1.583333333333333;
        padding-left: 1em;
        text-indent: -1em;
    }
}

.point-section {
    position: relative;
    overflow: hidden;
    padding: 80px 0;
}

@media screen and (max-width: 768px) {
  .point-section {
    padding: 48px 0;
  }
}

.point-section::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: #EDF9FF;
    clip-path: polygon(0 7.95%, 100% 0, 100% 100%, 0 100%);
    z-index: -1;
}

@media screen and (max-width: 768px) {
    .point-section::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 0;
        background: #EDF9FF;
        clip-path: polygon(0 5.25%, 100% 3.5%, 100% 100%, 0 100%);
        z-index: -1;
    }
}

.purchase-point-heading {
    display: flex;
    margin: 0;
    text-align: center;
    line-height: 1;
    gap: 10px;
    flex-direction: column;
}

.purchase-point-heading__top {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
}

.purchase-point-heading-image img {
    max-width: 100%;
    height: auto;
    top: 5px;
    position: relative;
}

@media screen and (max-width: 768px) {
    .purchase-point-heading-image {
        max-width: 102px;
        height: 37.5px;
    }
}

@media screen and (max-width: 768px) {
    .purchase-point-heading-image img {
        max-width: 100%;
        height: auto;
        top: 6px;
    }
}
.titletop-smalltext {
    font-size: 329.1665%;
    font-weight: 800;
    line-height: 1;
    color: #284DB4;
}

@media screen and (max-width: 768px) {
    .titletop-smalltext {
        font-size: 116.6665%;
    }
}

.titletop-mediumtext {
    font-size: 491.665%;
    font-weight: 800;
    line-height: 1;
    color: #284DB4;
}

@media screen and (max-width: 768px) {
    .titletop-mediumtext {
        font-size: 141.6665%;
    }
}

.titlebottom-smalltext {
    font-size: 520.832%;
    font-weight: 800;
    line-height: 1;
    color: #284DB4;
}

@media screen and (max-width: 768px) {
    .titlebottom-smalltext {
        font-size: 162.5%;
    }
}

.titlebottom-mediumtext {
    font-size: 637.5%;
    font-weight: 800;
    line-height: 1;
    color: #284DB4;
}

@media screen and (max-width: 768px) {
    .titlebottom-mediumtext {
        font-size: 208.3332%;
    }
}

.point-card-warp {
    margin-top: 76px;
}

.point-card:not(:first-of-type) {
    margin-top: 140px;
}

@media screen and (max-width: 768px) {
    .point-card:not(:first-of-type) {
        margin-top: 70px;
    }
}

.point-card:nth-of-type(1) {
    padding: 15px 90px 60px 12px;
}

@media screen and (max-width: 768px) {
    .point-card:nth-of-type(1) {
        padding: 15px 15px 20px 15px;
    }
}

.point-card:nth-of-type(2) {
    padding: 26px 0px 60px 90px;
}

@media screen and (max-width: 768px) {
    .point-card:nth-of-type(2) {
        padding: 15px 15px 20px 15px;
    }
}

.point-card:nth-of-type(3) {
    padding: 15px 86px 60px 12px;
}

@media screen and (max-width: 768px) {
    .point-card:nth-of-type(3) {
        padding: 15px 15px 20px 15px;
    }
}

/* 白背景を左端まで伸ばす */
.point-card--left {
    position: relative;
    width: 100%; /* 右側に余白を残す */
    max-width: 950px;
    margin-left: 0;
    margin-right: auto; /* 右に余白を残したまま止める */
    background: #fff;
    opacity: 0;
    transform: translateX(-120px);
    transition: transform 0.8s ease, opacity 0.8s ease;
    box-sizing: border-box;
    border-radius: 0 90px 0 0;
}


.point-card--left::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 100%;
    width: 100vw;
    background: #fff;
}

@media screen and (max-width: 768px) {
    .point-card--left::before {
        content: none;
    }
}

/* 表示時 */
.point-card--left,
.point-card--right {
    opacity: 0;
    transition: transform 0.8s ease, opacity 0.8s ease;
}

/* 表示前 */
.point-card--left:not(.is-show) {
    transform: translateX(-120px);
}

.point-card--right:not(.is-show) {
    transform: translateX(120px);
}

/* 表示後 */
.point-card--left.is-show,
.point-card--right.is-show {
    opacity: 1;
    transform: translateX(0);
}

@media screen and (max-width: 768px) {
    .point-card--left:not(.is-show) {
        transform: translateX(-60px);
    }

    .point-card--right:not(.is-show) {
        transform: translateX(60px);
    }
}

.point-card--right {
    position: relative;
    width: 100%;
    max-width: 995px;
    margin-left: auto;
    margin-right: 0;
    background: #fff;
    opacity: 0;
    transform: translateX(120px);
    transition: transform 0.8s ease, opacity 0.8s ease;
    box-sizing: border-box;
    border-radius: 90px 0 0 0;
}

/* 白背景をブラウザ右端まで伸ばす */
.point-card--right::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 100%;
    width: 100vw;
    background: #fff;
}

@media screen and (max-width: 768px) {
    .point-card--right::after {
        content: none;
    }
}

.point-card--left .point-label {
    position: absolute;
    top: -56px;
    left: 0;
    margin: 0;
}

@media screen and (max-width: 768px) {
    .point-card--left .point-label {
        top: -22px;
        left: initial;
        right: 38px;
    }
}

.point-card--right .point-label {
    position: absolute;
    top: -56px;
    left: initial;
    right: 0;
    margin: 0;
}

@media screen and (max-width: 768px) {
    .point-card--right .point-label {
        top: -22px;
        right: 38px;
    }
}

.point-label-text {
    display: block;
    color: #284DB4;
    font-size: 200%;
    font-weight: 700;
    line-height: 1;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, "Noto Sans JP", sans-serif;
}

@media screen and (max-width: 768px) {
    .point-label-text {
        font-size: 114.2856%;
    }
}

.point-label-num {
    display: block;
    color: #284DB4;
    font-size: 343.75%;
    font-weight: 700;
    line-height: 1;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, "Noto Sans JP", sans-serif;
}

@media screen and (max-width: 768px) {
    .point-label-num {
        font-size: 196.4284%;
        text-align: center;
    }
}

.point-body {
    position: relative;
}

.point-body-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}

@media screen and (max-width: 768px) {
    .point-body-container {
        display: block;
        gap: 28px;
    }
}

@media screen and (max-width: 768px) {
    .point-card--left:nth-of-type(1) .point-body-container .point-image {
        max-width: 173px;
        height: 153.5px;
    }
}

@media screen and (max-width: 768px) {
    .point-card--left:nth-of-type(1) .point-body-container .point-image img {
        padding-left: 30px;
        max-width: 100%;
        height: auto;
        margin-top: -10px;
    }
}

@media screen and (max-width: 768px) {
    .point-card--right .point-body-container {
        display: flex;
        flex-direction: column-reverse;
    }
}

@media screen and (max-width: 768px) {
    .point-card--right .point-body-container .point-image {
        max-width: 173px;
        height: 123px;
    }
}

@media screen and (max-width: 768px) {
    .point-card--right .point-body-container .point-image img {
        max-width: 100%;
        height: auto;
        position: absolute;
        left: 20px;
    }
}

@media screen and (max-width: 768px) {
    .point-card:nth-of-type(3) .point-body-container .point-image {
        max-width: 232px;
        height: 159.5px;
    }
}

@media screen and (max-width: 768px) {
    .point-card:nth-of-type(3) .point-body-container .point-image img {
        max-width: 100%;
        height: auto;
        position: absolute;
        top: -15px;
        left: -15px;
    }
}

.point-title--sp {
    display: none;
}

@media screen and (max-width: 768px) {
    .point-title--pc {
        display: none;
    }

    .point-title--sp {
        display: block;
    }
}

.point-title--sp span {
    display: block;
    width: 100%;
    position: relative;
    overflow: hidden;
    padding: 0 8px;
    box-sizing: border-box;
}

.point-title--sp span::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0.12em;
    width: 100%;
    height: 0.55em;
    background: #f2ea63;
    z-index: 0;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.5s ease;
}

.point-title--sp em {
    position: relative;
    display: block;
    font-style: normal;
    z-index: 1;
    opacity: 0;
    transform: translateX(-24px);
    transition: opacity 0.5s ease, transform 0.5s ease;
    white-space: nowrap; /* 行内で折り返さない */
}

.point-title--sp i {
    font-style: normal;
    display: inline;
    line-height: 1.4;
}
@media screen and (max-width: 768px) {
    .point-title--sp .point-title-small {
        font-size: 44.4444%;
    }
}

@media screen and (max-width: 768px) {
    .point-title--sp .point-title-large {
        font-size: 53.3333%;
    }
}

.point-card--left .point-title {
    color: #0a43c9;
    font-size: 281.25%;
    font-weight: 800;
    line-height: 1.4;
    max-width: 598px;
    width: 100%;
    margin: 0;
}

.point-card--right .point-title {
    color: #0a43c9;
    font-size: 281.25%;
    font-weight: 800;
    line-height: 1.4;
    max-width: 670px;
        width: 100%;
    margin: 0;
}

.point-title span {
    position: relative;
    display: block;
    width: 100%;
    overflow: hidden;
    padding: 0 8px;
}

@media screen and (max-width: 768px) {
    .point-title {
        line-height: 1.15;
    }

    .point-title span {
        display: block;
        padding: 0 0;
        line-height: 1;
    }
}

/* 蛍光線 */
.point-title span::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0.12em;
    width: 97%;
    height: 0.38em;
    background: #FFFB95;
    z-index: 0;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.5s ease;
}

@media screen and (max-width: 768px) {
    .point-title span::after {
        width: 100%;
        bottom: 0.02em;
        height: 0.28em;
    }
}

/* 文字 */
.point-title span em {
    position: relative;
    display: block;
    font-style: normal;
    z-index: 1;
    opacity: 0;
    transform: translateX(-24px);
    transition:
        opacity 0.5s ease,
        transform 0.5s ease;
}

/* 表示後 */
.point-card.is-show .point-title span::after {
    transform: scaleX(1);
}

.point-card.is-show .point-title span em {
    opacity: 1;
    transform: translateX(0);
    line-height: 1.15;
}

@media screen and (max-width: 768px) {
    .point-card.is-show .point-title span em {
        line-height: 0.1;
    }
}

/* 1行ずつ時間差 */
.point-card.is-show .point-title span:nth-child(1)::after {
    transition-delay: 0.175s;
}
.point-card.is-show .point-title span:nth-child(2)::after {
    transition-delay: 0.3s;
}
.point-card.is-show .point-title span:nth-child(3)::after {
    transition-delay: 0.425s;
}

.point-card.is-show .point-title span:nth-child(1) em {
    transition-delay: 0.25s;
}
.point-card.is-show .point-title span:nth-child(2) em {
    transition-delay: 0.375s;
}
.point-card.is-show .point-title span:nth-child(3) em {
    transition-delay: 0.5s;
}

@media screen and (max-width: 768px) {
    .point-card.is-show .point-title.fluorescent-line-02 span:nth-child(3)::after {
        width: calc(100% - 35%);
    }

    .point-card.is-show .point-title.fluorescent-line-03 span:nth-child(2)::after {
        width: calc(100% - 35%);
    }

    .point-card.is-show .point-title.fluorescent-line-03 span:nth-child(3)::after {
        width: calc(100% - 35%);
    }
}

.point-text {
  margin: 0;
  color: #323232;
  font-size: 187.5%;
  font-weight: 600;
  line-height: 1.766666666666667;
}

.point-card:nth-of-type(1) .point-text {
    padding-left: 8px;
    margin-top: 37px;
}

@media screen and (max-width: 768px) {
    .point-card:nth-of-type(1) .point-text {
        padding-left: 0;
        margin-top: 12px;
    }
}

.point-card:nth-of-type(2) .point-text {
    padding-left: 8px;
    margin-top: 37px;
}

@media screen and (max-width: 768px) {
    .point-card:nth-of-type(2) .point-text {
        padding-left: 0;
        margin-top: 12px;
    }
}

.point-card:nth-of-type(3) .point-text {
    padding-left: 8px;
    margin-top: 37px;
}

@media screen and (max-width: 768px) {
    .point-card:nth-of-type(3) .point-text {
        padding-left: 0;
        margin-top: 12px;
    }
}

.purchase-annotation-warp {
    margin-top: 30px;
}

@media screen and (max-width: 768px) {
    .purchase-annotation-warp {
        margin-top: 20px;
    }
}

.purchase-annotation {
    font-size: 87.5%;
    color: #323232;
    line-height: 1.785714285714286;
    font-weight: 600;
}

@media screen and (max-width: 768px) {
    .purchase-annotation {
        font-size: 75%;
        line-height: 1.666666666666667;
    }
}

@media screen and (max-width: 768px) {

  .point-label {
    top: -10px;
    left: 12px;
    font-size: 28px;
  }

  .point-title {
    font-size: 28px;
    line-height: 1.6;
  }

  .point-text {
    font-size: 16px;
    line-height: 1.8;
  }
}

@media screen and (max-width: 768px) {
  .point-card {
    width: auto;
    padding: 44px 20px 36px 20px;
    border-radius: 0 0 0 0;
    transform: translateX(-60px);
  }
}

@media screen and (max-width: 768px) {
  .point-card::before {
    content: "";
    position: absolute;
    left: 35%;
    top: -20px;
    transform: translateX(-50%);
    width: 50%;
    height: 90px;
    background: #fff;
    border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  }
}

#purchaseinfo {
    width: 100%;
    background-color: #274DB4;
    position: relative;
    overflow: hidden;
    padding-top: 173px;
    padding-bottom: 212px;
}

@media screen and (max-width: 768px) {
    #purchaseinfo {
        padding-top: 56px;
        padding-bottom: 56px;
    }
}

.purchaseinfo-heading-inner {
    text-align: center;
}

.purchaseinfo-heading-wrap {
    text-align: center;
    margin: 0;
    padding: 20px 50px 20px;
    overflow: hidden;
    position: relative;
    display: inline-block;
    z-index: 2;
}

@media screen and (max-width: 768px) {
    .purchaseinfo-heading-wrap {
        padding: 9px 16.5px 9px;
    }
}

.purchaseinfo-heading-wrap::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 81px;
    height: 81px;
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
}

@media screen and (max-width: 768px) {
    .purchaseinfo-heading-wrap::before {
        width: 24px;
        height: 24px;
    }
}

.purchaseinfo-heading-wrap::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 81px;
    height: 81px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
}

@media screen and (max-width: 768px) {
    .purchaseinfo-heading-wrap::after {
        width: 24px;
        height: 24px;
    }
}

.purchase-guide__bg-text {
    position: absolute;
    left: 50%;
    top: 305px;
    transform: translateX(-50%);
    font-size: 1343.75%;
    font-weight: 700;
    line-height: 1;
    color: #2D56C4;
    white-space: nowrap;
    pointer-events: none;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, "Noto Sans JP", sans-serif;
}

@media screen and (max-width: 768px) {
    .purchase-guide__bg-text {
        top: 123px;
        font-size: 350%;
    }
}

.purchaseinfo-heading-title {
    font-size: 391.6665%;
    font-weight: 700;
    line-height: 1.340425531914894;
    color: #fff;
}

@media screen and (max-width: 768px) {
    .purchaseinfo-heading-title {
        font-size: 116.6665%;
        line-height: 1.321428571428571;
    }
}

.purchaseinfo-unordered-list-item {
    padding: 0;
    list-style-type: none;
    display: flex;
    justify-content: flex-end;
    margin-top: 80px;
}

@media screen and (max-width: 768px) {
    .purchaseinfo-unordered-list-item:first-of-type {
        margin-top: 15px;
    }
    .purchaseinfo-unordered-list-item {
        margin-top: 56px;
    }
}

.purchaseinfo-unordered-list-item::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -70px;
    transform: translateX(-50%);
    border-left: 35px solid transparent;
    border-right: 35px solid transparent;
    border-top: 25px solid #fff;
}

@media screen and (max-width: 768px) {
    .purchaseinfo-unordered-list-item::after {
        bottom: -40px;
        border-left: 25px solid transparent;
        border-right: 25px solid transparent;
        border-top: 20px solid #fff;
    }
}

.purchaseinfo-unordered-list-item:last-of-type::after {
    content: none;
}

.purchaseinfo-unordered-list-inner {
    padding: 30px;
    max-width: 1295px;
    width: 100%;
    background-color: #fff;
    border-radius: 30px;
    box-sizing: border-box;
    position: relative;
    border: 5px solid #284CE2;
}

@media screen and (max-width: 768px) {
    .purchaseinfo-unordered-list-inner {
        display: flex;
        flex-direction: column;
        border: 4px solid #284CE2;
        border-radius: 0;
        padding: 29px 20px;
        margin-left: 15px;
        margin-right: 15px;
    }
}

@media screen and (max-width: 768px) {
    .purchaseinfo-unordered-list-inner.remove-pabottom {
        display: flex;
        flex-direction: column;
        border: 4px solid #284CE2;
        border-radius: 0;
        padding: 29px 20px 2px;
        margin-left: 15px;
        margin-right: 15px;
    }
}

.purchaseinfo-unordered-list-count {
    position: absolute;
    left: -25px;
    border: 5px solid #284CE2;
    background-color: #fff;
    display: flex;
    align-items: center;
}

@media screen and (max-width: 768px) {
    .purchaseinfo-unordered-list-count {
        left: -24px;
        border: 4px solid #284CE2;
    }
}

.purchaseinfo-step {
    font-size: 231.25%;
    font-weight: 700;
    line-height: 1;
    color: #284CE2;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, "Noto Sans JP", sans-serif;
    margin-right: 15px;
    padding-left: 21px;
    padding-top: 18px;
    padding-bottom: 14px;
}

@media screen and (max-width: 768px) {
    .purchaseinfo-step {
        font-size: 112.5%;
        margin-right: 9px;
        padding-left: 11px;
        padding-top: 10px;
        padding-bottom: 10px;
    }
}

.purchaseinfo-num {
    font-size: 400%;
    font-weight: 700;
    line-height: 1;
    color: #284CE2;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, "Noto Sans JP", sans-serif;
    padding-right: 25px;
}

@media screen and (max-width: 768px) {
    .purchaseinfo-num {
        font-size: 206.25%;
        padding-right: 12px;
    }
}

.purchaseinfo-heading {
    font-size: 356.25%;
    font-weight: 800;
    line-height: 1;
    color: #284CE2;
    margin-left: 220px;
    margin-top: 7px;
    margin-bottom: 0;
    margin-right: 0;
}

@media screen and (max-width: 768px) {
    .purchaseinfo-heading {
        font-size: 175%;
        line-height: 1.3;
        margin-left: 86px;
        margin-top: 2.5px;
    }
    .purchaseinfo-unordered-list-item:nth-of-type(2) .purchaseinfo-heading {
        margin-top: -4px;
    }
    .purchaseinfo-unordered-list-item:nth-of-type(3) .purchaseinfo-heading {
        margin-top: -4px;
    }
}

.purchaseinfo-row {
    display: flex;
    padding-top: 38px;
    padding-left: 50px;
    padding-right: 37px;
    gap: 10px;
}

@media screen and (max-width: 768px) {
    .purchaseinfo-row {
        display: block;
        padding-top: 13px;
        padding-left: 0px;
        padding-right: 0px;
        padding-bottom: 20px;
    }
}

.purchaseinfo-row__text {
    font-size: 143.75%;
    font-weight: 700;
    line-height: 1.739130434782609;
    color: #323232;
}

@media screen and (max-width: 768px) {
    .purchaseinfo-row__text {
        font-size: 100%;
        font-weight: 600;
        line-height: 1.625;
    }
}

.purchaseinfo-row-annotation-wrap {
    margin-top: 10px;
}

@media screen and (max-width: 768px) {
    .purchaseinfo-row-annotation-wrap {
        margin-top: 18px;
    }
}

.purchaseinfo-row-annotation {
    font-size: 120%;
    font-weight: 700;
    line-height: 1.722222222222222;
    color: #323232;
}

@media screen and (max-width: 768px) {
    .purchaseinfo-row-annotation {
        font-size: 75%;
        font-weight: 600;
        line-height: 1.666666666666667;
    }
}

@media screen and (max-width: 768px) {
    .purchaseinfo-row__image-wrap {
        max-width: 172px;
        height: 120px;
        margin-top: 27px;
        margin-left: auto;
        margin-right: auto;
    }
}

@media screen and (max-width: 768px) {
    .purchaseinfo-row__image-wrap img {
        max-width: 100%;
        height: auto;
    }
}

.purchaseinfo-row__button-wrap {
    margin-top: 14.5px;
    text-align: center;
}

.purchaseinfo-leadtext-wrap {
    padding-top: 38px;
}

@media screen and (max-width: 768px) {
    .purchaseinfo-leadtext-wrap {
        order: 1;
        padding-top: 20px;
    }
}

.purchaseinfo-container {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
}

.purchaseinfo-leadtext {
    font-size: 168.75%;
    font-weight: 700;
    line-height: 1.444444444444444;
    color: #323232;
}

@media screen and (max-width: 768px) {
    .purchaseinfo-leadtext {
        font-size: 100%;
        margin-bottom: 0;
    }
}

.purchaseinfo-content {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
}

.purchaseinfo-checklist-wrap {
    flex: 1 1 auto;
    min-width: 0;
}

.purchaseinfo-text {
    flex: 1 1 auto;
    min-width: 0;
}

.text-nowrap {
    white-space: nowrap;
}

@media screen and (max-width: 768px) {
    .text-nowrap {
        white-space: initial;
    }
}

.purchaseinfo-image {
    margin-top: -100px;
}

@media screen and (max-width: 768px) {
    .purchaseinfo-image {
        order: 4;
        margin: 20px auto 0;
        flex: none;
        max-width: 226px;
        height: 150px;
    }
}

@media screen and (max-width: 768px) {
    .purchaseinfo-image img {
        max-width: 100%;
        height: auto;
    }
}

.purchaseinfo-checklist {
    margin: 0;
    padding: 0;
    list-style: none;
}

.purchaseinfo-checklist li {
    position: relative;
    font-size: 143.75%;
    font-weight: 700;
    line-height: 1.652173913043478;
    padding-left: 45px;
    margin-top: 20px;
    color: #323232;
}

@media screen and (max-width: 768px) {
    .purchaseinfo-checklist li {
        font-size: 100%;
        font-weight: 600;
        line-height: 1.375;
        padding-left: 30px;
        margin-top: 19px;
    }
}

.purchaseinfo-checklist li::before {
    content: "";
    position: absolute;
    top: 4px;
    left: 0;
    width: 35px;
    height: 29.5px;
    background: url(../images/apple/purchase/purchase-check-pc.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

@media screen and (max-width: 768px) {
    .purchaseinfo-checklist li::before {
        top: 0;
        width: 23.5px;
        height: 23px;
        background: url(../images/apple/purchase/purchase-check-sp.png) no-repeat center / contain;
    }
}

.purchaseinfo-note-red,
.purchaseinfo-note-small {
    display: block;
    font-size: 78.261%;
    font-weight: 600;
    line-height: 1.5;
}

@media screen and (max-width: 768px) {
    .purchaseinfo-note-red,
    .purchaseinfo-note-small {
        font-size: 75%;
        line-height: 1.666666666666667;
        margin-top: 4.8px;
    }
}

.purchaseinfo-note-red {
    color: #E62626;
}

.purchaseinfo-note-small {
    color: #323232;
}

.purchaseinfo-others-pc-show {
    display: inline-block;
}

@media screen and (max-width: 768px) {
    .purchaseinfo-others-pc-show {
        display: none;
    }
}

.purchaseinfo-others-sp-show {
    display: none;
}

@media screen and (max-width: 768px) {
    .purchaseinfo-others-sp-show {
        display: inline-block;
    }
}

@media screen and (max-width: 768px) {
    .purchaseinfo-others-text {
        font-size: 87.5%;
        font-weight: 600;
        line-height: 1.571428571428571;
        color: #323232;
    }
}

.purchaseinfo-bottomnote {
    margin-top: 40px;
    font-size: 112.5%;
    line-height: 1.5;
    color: #323232;
    font-weight: 600;
    padding-left: 1em;
    text-indent: -1em;
}

@media screen and (max-width: 768px) {
    .purchaseinfo-bottomnote {
        order: 5;
        margin-top: 19px;
        font-size: 75%;
        line-height: 1.666666666666667;
    }
}

@media screen and (max-width: 768px) {
    .purchaseinfo-content,
    .purchaseinfo-text,
    .purchaseinfo-container {
        display: contents;
    }

    .purchaseinfo-checklist-wrap {
        order: 2;
    }

    .purchaseinfo-text > .purchaseinfo-checklist {
        order: 3;
    }

    .purchaseinfo-text {
        margin-bottom: 0;
    }
}

.purchaseinfo-step03 {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    padding-top: 38px;
    padding-left: 50px;
    padding-right: 37px;
}

.purchaseinfo-step03__text {
    flex: 1 1 50%;
    min-width: 0;
}

.purchaseinfo-step03__maintext {
    font-size: 143.75%;
    font-weight: 700;
    line-height: 1.739130434782609;
    color: #323232;
}

.purchaseinfo-step03__maintext:not(:first-child) {
    margin-top: 6px;
}

.purchaseinfo-step03__notes {
    margin: 14px 0 0;
    padding: 0;
    list-style: none;
}

.purchaseinfo-step03__notes-text {
    font-size: 112.5%;
    font-weight: 700;
    line-height: 1.722222222222222;
    color: #323232;
    padding-left: 1em;
    text-indent: -1em;
}

.purchaseinfo-step03__image {
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
}

.purchaseinfo-step03__image img {
    margin-top: -125px;
    padding-right: 80px;
}

@media screen and (max-width: 768px) {
    .purchaseinfo-step03 {
        display: grid;
        grid-template-columns: 1fr 108px;
        grid-template-areas:
            "main main"
            "notes image";
        column-gap: 12px;
        row-gap: 10px;
        padding-top: 13px;
        padding-left: 0;
        padding-right: 0;
    }

    .purchaseinfo-step03__text {
        display: contents;
    }

    .purchaseinfo-step03__main {
        grid-area: main;
    }

    .purchaseinfo-step03__notes {
        grid-area: notes;
        margin-top: 0;
        padding-bottom: 50px;
    }

    .purchaseinfo-step03__image {
        grid-area: image;
        display: block;
        align-self: end;
    }

    .purchaseinfo-step03__maintext {
        font-size: 100%;
        line-height: 1.625;
        font-weight: 600;
    }

    .purchaseinfo-step03__maintext:not(:first-child) {
        margin-top: 2px;
    }

    .purchaseinfo-step03__notes-text {
        font-size: 75%;
        line-height: 1.666666666666667;
        font-weight: 600;
        padding-left: initial;
        text-indent: initial;
    }

    .purchaseinfo-step03__image img {
        max-width: 97.5px;
        height: 260px;
    }

    .purchaseinfo-step03__image img {
        max-width: 100%;
        height: auto;
        margin-top: initial;
        padding-right: initial;
    }
}

.js-fadeup {
    opacity: 0;
    transform: translateY(120px);
    transition: opacity 0.8s ease, transform 0.8s ease;
    will-change: opacity, transform;
}

.js-fadeup.is-visible {
    opacity: 1;
    transform: translateY(0);
}

#faq {
    padding-top: 166px;
    padding-bottom: 133px;
}

@media screen and (max-width: 768px) {
    #faq {
        padding-top: 86px;
        padding-left: 15px;
        padding-right: 15px;
        padding-bottom: 100px;
    }
}

.faq-heading-title {
    display: block;
    font-size: 704.166%;
    font-weight: 700;
    line-height: 1.177514792899408;
    color: #F08D00;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, "Noto Sans JP", sans-serif;
}

@media screen and (max-width: 768px) {
    .faq-heading-title {
        font-size: 333.3332%;
        line-height: 1.175;
    }
}

.faq-heading-subtitle {
    font-size: 208.3332%;
    line-height: 1.34;
    font-weight: 700;
    color: #F08D00;
}

@media screen and (max-width: 768px) {
    .faq-heading-subtitle {
        font-size: 100%;
        line-height: 1.333333333333333;
    }
}

.faq-leadtext-wrap {
    margin-top: 50px;
}

@media screen and (max-width: 768px) {
    .faq-leadtext-wrap {
        margin-top: 23px;
    }
}

.faq-leadtext {
    font-size: 150%;
    font-weight: 700;
    line-height: 1.586206896551724;
    color: #6F7070;
}

@media screen and (max-width: 768px) {
    .faq-leadtext {
        font-size: 87.5%;
        line-height: 1.571428571428571;
    }
}

.faq-unordered-list {
    padding: 0;
    list-style-type: none;
    margin-top: 50px;
}

.faq-unordered-list-item {
    background-color: #EAEDED;
    border-radius: 20px;
    padding-top: 32px;
    padding-left: 64px;
    padding-bottom: 32px;
    padding-right: 113px;
}

@media screen and (max-width: 768px) {
    .faq-unordered-list-item {
        padding-top: 23px;
        padding-left: 17px;
        padding-bottom: 23px;
        padding-right: 17px;
    }
}

.faq-unordered-list-item:not(:first-of-type) {
    margin-top: 64px;
}

@media screen and (max-width: 768px) {
    .faq-unordered-list-item:not(:first-of-type) {
        margin-top: 26px;
    }
}

.faq-heading {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0;
}

@media screen and (max-width: 768px) {
  .faq-heading {
    align-items: flex-start;
    gap: 10px;
  }
}

.faq-heading__text {
    font-size: 187.5%;
    font-weight: 700;
    line-height: 1.333333333333333;
    color: #323232;
    margin: 0;
}

@media screen and (max-width: 768px) {
    .faq-heading__text {
        font-size: 106.8374%;
        line-height: 1.4;
    }
}

.faq-heading__bar {
    display: block;
    width: 6px;
    height: 35px;
    background-color: #F08D00;
    flex-shrink: 0;
}

@media screen and (max-width: 768px) {
    .faq-heading__bar {
        margin-top: 2px;
        height: 25px;
    }
}

.faq-unordered-list-text-wrap {
    margin-top: 11px;
    margin-left: 15px;
}

@media screen and (max-width: 768px) {
    .faq-unordered-list-text-wrap {
        margin-top: 9px;
        margin-left: 0;
    }
}

.faq-unordered-list-text {
    font-size: 143.75%;
    font-weight: 700;
    line-height: 1.608695652173913;
    color: #323232;
}

@media screen and (max-width: 768px) {
    .faq-unordered-list-text {
        font-size: 100%;
        line-height: 1.8125;
    }
}

.purchase-consultation-hero {
    width: 100%;
    aspect-ratio: 3840 / 1076;
    overflow: hidden;
    position: relative;
}

.purchase-consultation-hero__inner {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    overflow: hidden;
}

.purchase-consultation-hero picture,
.purchase-consultation-hero img {
    display: block;
    width: 100%;
    height: auto;
}

.purchase-consultation-hero__content {
    position: absolute;
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
    z-index: 2;
}

.purchase-consultation-hero__title {
    color: #0013FD;
    font-size: 350%;
    line-height: 1.214285714285714;
    font-weight: 800;
    margin-bottom: 29px;
}


.purchase-consultation-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;

  /* サイズは必要に応じて調整 */
  min-width: 746px;
  height: 81px;
  padding: 0 48px;

  border: 0;
      border-radius: 41px;
  text-decoration: none;
  color: #505050;
  font-weight: 700;

  /* 画像に近い「上が明るく、下が濃い」黄色 */
  background: linear-gradient( to bottom, #ffeb53 0%, #ffeb53 55%, #f7e139 70%, #f0d81f 82%, #e6cc00 100% );
  /* background: linear-gradient(
    to bottom,
    #fff27a 0%,
    #ffef63 18%,
    #ffec52 38%,
    #fbe643 58%,
    #f3db2a 78%,
    #e6cc00 100%
  ); */

  /* 立体感（不要なら削除） */
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.55),
    0 2px 0 rgba(0,0,0,.05);
  position: relative;
  font-size: 200%;
  font-weight: 800;
  box-sizing: border-box;
}

@media screen and (max-width: 768px) {
    .purchase-consultation-button {
        min-width: auto;
        height: initial;
        padding: 6.5px 2px;
        font-size: 100%;
        max-width: 304px;
        width: 100%;
    }
}

/* 上部のうっすらハイライト（不要なら削除） */
/* .purchase-consultation-button::before{
  content: "";
  position: absolute;
  left: 10px;
  right: 10px;
  top: 0;
  height: 40%;
  border-radius: 9999px;
  background: linear-gradient(to bottom, rgba(255,255,255,.45), rgba(255,255,255,0));
  pointer-events: none;
} */

.purchase-consultation-button:hover {
    background: #FFB852;
    color: #fff;
    box-shadow: initial;
}

.purchase-consultation-button:hover::before{
  content: none;
  position: static;
  left: 0;
  right: 0;
  top: 0;
  height: 0;
  border-radius: initial;
  background: initial;
}

.purchase-consultation-button::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 28px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 14px solid transparent;
    border-bottom: 14px solid transparent;
    border-left: 18px solid #5b5b5b;
}

@media screen and (max-width: 768px) {
    .purchase-consultation-button::after {
        right: 14px;
        border-top: 6px solid transparent;
        border-bottom: 6px solid transparent;
        border-left: 10px solid #5b5b5b;
    }
}

.purchase-consultation-button:hover::after {
    border-top: 14px solid transparent;
    border-bottom: 14px solid transparent;
    border-left: 18px solid #fff;
}

@media screen and (max-width: 768px) {
    .purchase-consultation-hero {
        aspect-ratio: 780 / 330;
        overflow: visible;
    }

    .purchase-consultation-hero__inner {
        overflow: visible;
    }

    .purchase-consultation-hero__content {
        position: static;     /* absoluteをやめる */
        transform: none;
        width: 100%;
        background: #004CB2;  /* 画像下の青帯 */
        padding: 15px 5px 15px;
        box-sizing: border-box;
        text-align: center;
    }

    .purchase-consultation-hero__title {
        position: absolute;
        top: 19px;
        left: 35px;
        z-index: 2;
        margin: 0;
        color: #024CB2;
        font-size: 125%;
        line-height: 1.4;
        font-weight: 800;
        text-align: left;
    }
}

#purchase-mobile {
    margin-top: 105px;
}

@media screen and (max-width: 768px) {
    #purchase-mobile {
        margin-top: 64px;
    }
}

.purchase-mobile-hero {
    width: 100%;
    aspect-ratio: 2640 / 920;
    overflow: hidden;
    position: relative;
}

@media screen and (max-width: 768px) {
    .purchase-mobile-hero {
        aspect-ratio: 780 / 560;
    }
}

.purchase-mobile-hero picture,
.purchase-mobile-hero img {
    display: block;
    width: 100%;
    height: auto;
}

.purchase-mobile-hero__content {
    position: absolute;
    top: 82.5%;
    left: 4.5%;
    transform: translateY(-50%);
    z-index: 2;
}

@media screen and (max-width: 768px) {
    .purchase-mobile-hero__content {
        top: 84%;
        left: 50%;
        transform: translate(-50%, -50%);
    }
}

.purchase-mobile-annotation {
    font-size: 110%;
    line-height: 1.2;
    font-weight: 700;
    color: #fff;
    text-align: center;
    display: flex;
    justify-content: center;
    position: relative;
    top: 15px;
}

@media screen and (max-width: 768px) {
    .purchase-mobile-annotation {
        font-size: 68.75%;
        line-height: 1;
        top: 7px;
    }
}

@media screen and (max-width: 768px) {
    .purchase-button.add-width {
        width: 304px;
    }
}