@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@200..900&display=swap");:root{interpolate-size:allow-keywords;scroll-behavior:smooth}*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}body{font-family:"Noto Sans JP", sans-serif;line-height:1.5;color:#3B4043;position:relative;font-size:16px;background-color:#4c95cd}@media screen and (max-width: 1329px){body{font-size:calc(16 / 1329 * 100vw)}}@media screen and (max-width: 750px){body{font-size:calc(32 / 750 * 100vw)}}li{list-style:none}a{color:#000}img,picture{display:block;max-width:100%;height:auto}section{scroll-margin-top:calc(49 / 16 * 1em)}@media screen and (min-width: 751px){.sp{display:none}}@media screen and (max-width: 750px){.pc{display:none}}.trim{text-box-trim:trim-both;text-box-edge:cap alphabetic}.wrap{width:calc(375 / 16 * 1em);margin:0 auto;background-color:#fff;position:relative}@media screen and (max-width: 750px){.wrap{width:100%}}.anc-point{scroll-margin-top:calc(49 / 16 * 1em)}header{display:flex;align-items:center;height:calc(49 / 16 * 1em);padding:0 calc(25 / 720 * 100%);background-color:#000;position:sticky;top:0;z-index:11}header a{width:calc(84 / 16 * 1em)}.navi{display:none;position:sticky;left:0;top:calc(49 / 16 * 1em);heigth:0;z-index:10}.navi .menu_btn{position:absolute;right:0;top:calc(-50 / 16 * 1em);width:calc(50 / 375 * 100%);z-index:1;transition:.5s}.navi .menu_btn img:nth-child(2){position:absolute;left:0;top:0;width:100%;height:100%;opacity:0}.navi .menu_btn.is-show{top:0}.navi .menu_btn.is-show.on img:nth-child(2){opacity:1}.navi .menu_btn.is-show.on+div{padding:3em 0;height:auto}.navi>div{position:absolute;left:0;top:0;width:100%;background-color:#0068b7;color:#fff;border-radius:0 0 calc(12 / 16 * 1em) calc(12 / 16 * 1em);height:0;overflow:hidden;padding:0 0;transition:.5s}.navi>div h4{text-align:center;font-size:calc(14 / 16 * 1em);font-weight:600;letter-spacing:calc(2 / 14 * 1em)}.navi>div ul{width:calc(315 / 375 * 100%);margin:calc(6 / 16 * 1em) auto 0;border-top:1px solid #fff}.navi>div ul li{border-bottom:1px solid #fff}.navi>div ul a{display:flex;align-items:center;gap:calc(14 / 16 * 1em);font:inherit;text-decoration:none;color:inherit;height:calc(62 / 16 * 1em);padding-left:calc(14 / 16 * 1em);position:relative}.navi>div ul a:after{content:"";display:block;position:absolute;right:1em;top:calc(50% - .25em);width:.5em;height:.5em;border-style:solid;border-width:1px 1px 0 0;border-color:#fff;transform:rotate(45deg)}.navi>div ul a .icon{width:calc(19 / 16 * 1em);flex-shrink:0}.navi>div ul a p{flex:1;font-size:calc(14 / 16 * 1em);letter-spacing:calc(1 / 14 * 1em)}.navi>div .bnrs{width:calc(345 / 375 * 100%);display:flex;justify-content:space-between;margin:2em auto 0}.navi>div .bnrs a{display:block;width:calc(167 / 16 * 1em)}@media screen and (max-width: 750px){.navi{display:block}}.kv{position:relative}.kv a{display:block;position:absolute}.kv a.link1{left:64%;top:2.9%;width:30%;height:15.7%;border-radius:50%}.kv .kv-viewline{position:absolute;left:0;top:36%;width:100%;height:5%}.sect1{.scroll-margin-top:calc(49 / 16 * 1em);padding-top:1em}.sect1 .title{margin:0 auto}.sect1 .sect1-tab{width:calc(690 / 750 * 100%);margin:1em auto 0;position:relative;z-index:1}.sect1 .sect1-tab img{position:relative}.sect1 .sect1-tab img:nth-child(2){position:absolute;left:0;top:0;width:100%;height:100%}.sect1 .sect1-tab img.active{z-index:1}.sect1 .sect1-tab .tab{position:absolute;left:0;top:0;width:100%;display:flex;z-index:2}.sect1 .sect1-tab .tab a{display:block;flex:1;height:calc(40 / 16 * 1em)}.sect1 .bg-blue{width:calc(690 / 750 * 100%);margin:calc(-10 / 16 * 1em) auto 0;;padding:2em 0 2em;border-radius:0 0 calc(10 / 16 * 1em) calc(10 / 16 * 1em);position:relative}.sect1 .bg-blue:after{content:"";position:absolute;left:calc(50% - calc(45 / 16 * 1em));top:calc(100% - 1px);width:calc(90 / 16 * 1em);height:2em;clip-path:polygon(0% 0%, 100% 0%, 50% 100%)}.sect1 .img_01{position:relative}.sect1 .img_02{margin:2em auto 2.5em}.sect1 .img_03{position:relative}.sect1 .img_03 a{display:block;}.sect1 .img_04{position:relative}.sect1 .img_04 a{display:block;}.sect1 .img_05{margin-top:3em}.sect1 .img_06{margin-top:3em}.sect1 .btns1{width:calc(632 / 750 * 100%);margin:1em auto 0}.sect1 .btns1 a{display:block}.sect1 .btns1 a+a{margin-top:.5em}.sect1 .btn_03{display:block;margin:1em auto 0;width:calc(632 / 750 * 100%)}.detail1{margin:1.5em auto 0;color:#262626}.detail1>div>div{width:calc(315 / 345 * 100%);margin:0 auto;font-size:calc(10 / 16 * 1em);padding-left:1.8em;text-indent:-1.8em;text-align:justify}.detail1>div>div a{color:#ffff00}.detail1>div>div a[target="_blank"]:after{content:"";display:inline-block;width:1em;height:1em;background:url(../img/icon_outlink-2-bk.png) center center no-repeat;background-size:90%;transform:translate(0, 0.2em);filter:brightness(0) saturate(100%) invert(97%) sepia(6%) saturate(48%) hue-rotate(180deg) brightness(115%) contrast(100%)}.detail1>div ul{font:inherit}.detail1>div ul li{font:inherit;padding-left:1em;text-indent:-1em}.detail1 .ac-btn{display:block;text-align:center;font-size:calc(14 / 16 * 1em);padding:calc(4 / 14 * 1em);text-decoration:none;position:relative}.detail1 .ac-btn:after{content:"";display:block;position:absolute;right:1em;top:calc(50% - .25em);width:.5em;height:.5em;border-style:solid;border-width:1px 1px 0 0;border-color:#000;transform:rotate(45deg)}.detail1 .ac-btn+div{height:0;overflow:hidden;transition:.5s}.detail1 .ac-btn.is-active:after{transform:rotate(135deg)}.detail1 .ac-btn.is-active+div{height:auto;padding:1em 0 2em}.mymodal{position:fixed;left:calc(50% - calc(375 / 2 / 16 * 1em));top:calc(49 / 16 * 1em);width:375px;height:calc(100vh - calc(49 / 16 * 1em));height:calc(100dvh - calc(49 / 16 * 1em));display:flex;align-items:center;justify-content:center;z-index:20;opacity:0;transition:.5s;pointer-events:none}.mymodal .mymodal-bg{position:absolute;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,0.8)}.mymodal .mymodal-inner{width:calc(632 / 750 * 100%);position:relative}.mymodal .mymodal-inner a{display:block}.mymodal .mymodal-inner a+a{margin-top:2.5em}.mymodal .mymodal-close-btn{display:block;position:absolute;right:1.5em;top:1.5em;width:2.5em;height:2.5em}.mymodal .mymodal-close-btn:before,.mymodal .mymodal-close-btn:after{content:"";display:block;position:absolute;left:25%;top:50%;width:50%;border-top:calc(3 / 16 * 1em) solid #fff}.mymodal .mymodal-close-btn:before{transform:rotate(45deg)}.mymodal .mymodal-close-btn:after{transform:rotate(-45deg)}.mymodal.is-show{opacity:1;pointer-events:auto}@media screen and (max-width: 750px){.mymodal{left:0;width:100%}}footer .footer-navi{background-color:#fff;padding:calc(42 / 16 * 1em) calc(25 / 16 * 1em)}footer .footer-navi ul li{margin-top:calc(8 / 16 * 1em)}footer .footer-navi ul li a{font-size:calc(13 / 16 * 1em);font-weight:300;text-decoration:none;white-space:nowrap;display:inline-block;position:relative;padding-right:calc(21 / 13 * 1em)}footer .footer-navi ul li a:before{content:"";position:absolute;top:55%;right:0;display:block;width:18px;aspect-ratio:19 / 13;background:url(../img/icon_outlink-2-bk.png) center center no-repeat;background-size:contain;transform:translateY(-50%)}footer .copyright{background-color:#000;color:#fff;padding:calc(16 / 13 * 1em) 0 calc(120 / 13 * 1em);text-align:center;font-size:calc(13 / 16 * 1em);font-weight:300}.fl1{position:fixed;left:calc(50% - calc(375 / 2 / 16 * 1em));bottom:0;width:calc(375 / 16 * 1em);background-color:#000;display:flex;justify-content:center;gap:calc(10 / 16 * 1em);padding:calc(10 / 16 * 1em) 0;z-index:2}.fl1 a{display:block;width:calc(336 / 750 * 100%)}@media screen and (max-width: 750px){.fl1{left:0;width:100%}}.fl2{position:fixed;right:calc(50% - calc(375 / 2 / 16 * 1em) + calc(25 / 16 * 1em));top:calc(80 / 16 * 1em);width:calc(224 / 32 * 1em);z-index:2;transform:translate(0, 0)}.fl2 a{display:block;border-radius:50%;box-shadow:0.25em 0.25em 0.25em rgba(0,0,0,0.15)}.fl3{position:fixed;left:calc(50% - calc(375 / 2 / 16 * 1em));bottom:calc(108 / 16 * 1em);width:calc(438 / 32 * 1em);pointer-events:none;opacity:0;transition:.5s;z-index:2}.fl3 a{display:block;border-radius:0 3em 3em 0;box-shadow:0.25em 0.25em 0.25em rgba(0,0,0,0.15)}.fl3.is-show{pointer-events:auto;opacity:1}.pc-left{position:fixed;right:calc(50% + calc(375 / 2 / 16 * 1em) + calc(56 / 16 * 1em));top:5em;width:calc(365 / 16 * 1em)}.pc-left h4{font-size:calc(22 / 16 * 1em);text-align:center;color:#fff;font-weight:600;letter-spacing:calc(2 / 22 * 1em)}.pc-left ul{background-color:#fff;color:#0068b7;border-radius:calc(12 / 16 * 1em);padding:1em;margin-top:2em}.pc-left ul li{border-bottom:1px solid #0068b7}.pc-left ul li:last-child{border-bottom:none}.pc-left ul a{display:flex;align-items:center;gap:calc(14 / 16 * 1em);font:inherit;text-decoration:none;color:inherit;height:calc(62 / 16 * 1em);padding-left:calc(14 / 16 * 1em);position:relative;transition:.3s}.pc-left ul a:after{content:"";display:block;position:absolute;right:1em;top:calc(50% - .25em);width:.5em;height:.5em;border-style:solid;border-width:1px 1px 0 0;border-color:#0068b7;transform:rotate(45deg);transition:.3s}.pc-left ul a .icon{width:calc(19 / 16 * 1em);flex-shrink:0;filter:brightness(0) saturate(100%) invert(23%) sepia(70%) saturate(2951%) hue-rotate(190deg) brightness(94%) contrast(103%);transition:.3s}.pc-left ul a p{flex:1;font-size:calc(17 / 16 * 1em);font-weight:600}.pc-left ul a:hover{background-color:#0068b7;color:#fff}.pc-left ul a:hover:after{border-color:#fff}.pc-left ul a:hover .icon{filter:brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(93deg) brightness(103%) contrast(103%)}.pc-right{position:fixed;left:calc(50% + calc(375 / 2 / 16 * 1em) + calc(56 / 16 * 1em));top:5em;width:calc(365 / 16 * 1em)}.pc-right h4{font-size:calc(22 / 16 * 1em);text-align:center;color:#fff;font-weight:600}.pc-right .blk{aspect-ratio:730 / 680;background:url(../img/pc_bg2.png) center center no-repeat;background-size:contain;margin-top:2em;display:flex;justify-content:center;align-items:center}.pc-right .blk p{text-align:center;color:#3c3c3c;margin-top:1em;font-weight:600}.pc-right .blk p:first-child{margin-top:0}.pc-right .btns1{display:grid;grid-template-columns:1fr 1fr;gap:calc(9 / 16 * 1em);width:calc(300 / 16 * 1em);margin:.75em auto 0}.pc-right .btns1 a{background-color:#cc0033;color:#fff;box-shadow:0 2px 0 #660000;border-radius:calc(5 / 16 * 1em);height:calc(52 / 16 * 1em);display:flex;justify-content:center;align-items:center;text-decoration:none;position:relative;border:2px solid #cc0033;transition:.3s}.pc-right .btns1 a:after{content:"";display:block;position:absolute;right:.75em;top:calc(50% - .25em);width:.5em;height:.5em;border-style:solid;border-width:1px 1px 0 0;border-color:#fff;transform:rotate(45deg);transition:.3s}.pc-right .btns1 a>span{display:block;text-align:center;font-size:calc(16 / 16 * 1em);font-weight:600;padding-right:.5em}.pc-right .btns1 a>span.min{font-size:calc(14 / 16 * 1em);line-height:calc(17 / 14)}.pc-right .btns1 a>span.min span{font-size:.8em}.pc-right .btns1 a:first-child{grid-column-start:1;grid-column-end:3}.pc-right .btns1 a>img{position:absolute;left:calc(50% - calc(293 / 2 / 16 * 1em));bottom:90%;max-width:calc(293 / 16 * 1em);width:calc(293 / 16 * 1em);pointer-events:none;transform-origin:center bottom;transform:scale(0);opacity:0;transition:.3s}.pc-right .btns1 a:hover{background-color:#fff;color:#cc0033}.pc-right .btns1 a:hover:after{border-color:#cc0033}.pc-right .btns1 a:hover>img{transform:scale(1);opacity:1;filter:drop-shadow(0 0 0.5em rgba(0,0,0,0.2))}.pc-right .btns2{margin:.75em auto 0}.pc-right .btns2 a{background-color:#fff;color:#cc0033;box-shadow:0 2px 0 #cc0033;border-radius:calc(5 / 16 * 1em);height:calc(52 / 16 * 1em);display:flex;justify-content:center;align-items:center;text-decoration:none;position:relative;border:2px solid #cc0033;transition:.3s;font-weight:600}.pc-right .btns2 a:after{content:"";display:block;position:absolute;right:.75em;top:calc(50% - .25em);width:.5em;height:.5em;border-style:solid;border-width:1px 1px 0 0;border-color:#cc0033;transform:rotate(45deg);transition:.3s}.pc-right .btns2 a>span{display:block;text-align:center;font-size:calc(16 / 16 * 1em);padding-right:.5em}.pc-right .btns2 a>span.min{font-size:calc(14 / 16 * 1em);line-height:calc(17 / 14)}.pc-right .btns2 a>span.min span{font-size:.8em}.pc-right .btns2 a:hover{background-color:#cc0033;color:#fff}.pc-right .btns2 a:hover:after{border-color:#fff}
/*# sourceMappingURL=style.css.map */

.sect1{
    background: #b6dfff;
    padding-bottom: 20px;
}
#sect4{
    scroll-margin-top: 70px;
}
.sect1 .bg-blue{
    background: #fff;
}
.sect1 .content{
    width: calc(690 / 750 * 100%);
    margin:0 auto 1em;
}
.sect1 .title{
    width: calc(690 / 750 * 100%);
}

.fl2 {
    display: none;
}
.fl3 {
    display: none;
}
.title {
    position: relative;
}

.title p {
    font-size: 7vw;
    font-weight: bold;
    color: #0068b7;
    text-align: center;
}
.img03_btn {
    background-color: #ffff00;
    padding: 2.125% 0 10%;
    margin-bottom: 6%;
}
.img03_btn a {
    display: block;
    background-color: #cc0033;
    color: #ffffff;
    width: 84%;
    padding: 5% 3.125%;
    margin: 0 auto;
    font-size: 3.5vw;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    border-radius: 8vw;
    box-shadow: 0 2px 0 #660000;
}

.img_fukidashi {
    display: block;
    width: 92%;
    padding: 1% 3.125%;
    margin: 0 auto;
    text-align: center;
}
.img_btn a {
    display: block;
    width: 92%;
    padding: 1% 3.125%;
    margin: 0 auto 1em;
    text-align: center;
}
@media screen and (min-width: 751px) {
    .title p {
        font-size: min(1.5vw,20px);
    }
    .img03_btn a {
        font-size: 12px;
        border-radius: 32px;
        box-shadow: 0 2px 0 #660000;
    }

}


.kv-area {
    background-color: #0068b7;
    padding: 5.725% 3.725%;
}
.kv-wrap {
    background-color: #ffffff;
    padding: 7.725% 5.725% 5.725%;
    border-radius: 4vw;
}
.kv-txt01 {
    font-size: 7vw;
    font-weight: 1000;
    padding-bottom: 6.125%;
    line-height: 1.25;
    text-align: center;
}
.kv-txt01 .line_y {
    background:linear-gradient(transparent 70%, #ffff00 0%,#ffff00 95%,transparent 95%);
}
.kv-txt01 .fs_s {
    font-size: 0.75em;
}
.kv-txt02 {
    font-size: 5.7vw;
    font-weight: 1000;
    padding-top: 5.125%;
    padding-bottom: 5.125%;
    text-align: center;
}
.kv-txt03 {
    font-size: 2.7vw;
    font-weight: bold;
    padding: 0 1.5%;
}
.kv-txt03 span {
    display: block;
    padding-left: 1.0em;
    text-indent: -1.0em;
}
.kv-img01 {
    padding: 0 1.5% 3.125%;
}
.kv-img02 {
    padding: 0 1.5% 3.125%;
}

@media screen and (min-width: 751px) {
    .kv-wrap {
        border-radius: 1vw;
    }
    .kv-txt01 {
        font-size: min(2vw,28px);
    }
    .kv-txt02 {
        font-size: min(1.7vw,23px);
    }
    .kv-txt03 {
        font-size: min(0.75vw,9.6px);
    }
}
@media screen and (min-width: 1331px) {
}





.sect1-img01 {
    width: calc(315 / 345 * 100%);
    margin: 0 auto;
    padding-bottom: 1.5%;
}

.sect2_img_01 {
    width: calc(690 / 750 * 100%);
    margin: 0 auto 9%;
}

.img_03 {
    background-color: #fff;
    padding: 0 0 1%;
}
.sect3-img01 {
    width: 100%;
    margin: -2px auto 4%;
}
.sect3-img02 {
    width: calc(660 / 750 * 100%);
    margin: 0 auto 4%;
}

/* 差し込み画像エリアのスタイル */
.sashikomi-area {
    background-color: #b6dfff; /* 前後の背景色と統一 */
    padding: 10px 0;
    width: 100%;
}

.sashikomi-item {
    width: calc(690 / 750 * 100%); /* 既存のコンテンツ幅に合わせる */
    margin: 0 auto 15px; /* 画像間の余白 */
}

.sashikomi-item:last-child {
    margin-bottom: 0;
}

.sashikomi-item img {
    width: 100%;
    height: auto;
    display: block;
}

/* PC閲覧時の最大幅制限（既存の.content等に合わせる） */
@media screen and (min-width: 751px) {
    .sashikomi-item {
        max-width: 690px;
        margin-bottom: 20px;
    }
}


.txt_05_01 {
    font-weight: 1000;
    text-align: center;
    font-size: 6.3vw;
    margin: 0 0 1.25em;
}

.txt_05_02 {
    font-weight: 1000;
    text-align: center;
    font-size: 4.4vw;
}
.txt_05_02 span{
    font-size: 0.75em;
}

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



    .txt_05_01 {
        font-size: min(1.9vw,24px);
    }

    .txt_05_02 {
        font-size:min(1.26vw,17px);
    }
}

.fl1 {
    padding: calc(10 / 16 * 1em) calc(5 / 16 * 1em);
    gap:0;
}

.fl1_btn {
    width: 47%;
    margin: 0 auto;
}
.fl1_btn a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 7% 3.125%;
    font-size: 3.5vw;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    border-radius: 2vw;
    height: 100%;
}
/*
.fl1_btn:first-child a {
    background-color: #cc0033;
    color: #ffffff;
}
.fl1_btn:last-child a {
    background-color: #ffffff;
    color: #cc0033;
}
*/
.fl1_btn .arrow {
    display: inline-block;
    vertical-align: middle;
    color: #333;
    line-height: 1;
    position: relative;
    width: 0.65em;
    height: 0.65em;
    margin-left: 1.0em;
    transform: translateX(-25%) rotate(45deg);
}
.fl1_btn:first-child .arrow {
    color: #ffffff;
}
.fl1_btn:last-child .arrow {
    color: #cc0033;
}

.fl1_btn .arrow::before, .fl1_btn .arrow::after {
    content: '';
    position: absolute;
    background: currentColor;
    border-radius: 0.1em;
}

.fl1_btn .arrow::before {
    top: 0;
    left: 0;
    right: 0;
    height: 0.1em;
}

.fl1_btn .arrow::after {
    top: 0;
    right: 0;
    bottom: 0;
    width: 0.1em;
}

.bnrs_btn {
    width: 49%;
    margin: 0 auto;
}
.bnrs_btn a {
    display: flex !important;
    position: relative;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    padding: 6% 3.125%;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    height: 100%;
}
.bnrs_btn:first-child a {
}
.bnrs_btn:last-child a {
}

.bnrs_btn .arrow {
    position: absolute;
    right: 9%;
    display: inline-block;
    vertical-align: middle;
    color: #333;
    line-height: 1;
    width: 0.65em;
    height: 0.65em;
    margin-left: 1.0em;
    transform: translateX(-25%) rotate(45deg);
}
.bnrs_btn:first-child .arrow {
    color: #ffffff;
}
.bnrs_btn:last-child .arrow {
    color: #cc0033;
}

.bnrs_btn .arrow::before, .bnrs_btn .arrow::after {
    content: '';
    position: absolute;
    background: currentColor;
    border-radius: 0.1em;
}

.bnrs_btn .arrow::before {
    top: 0;
    left: 0;
    right: 0;
    height: 0.1em;
}

.bnrs_btn .arrow::after {
    top: 0;
    right: 0;
    bottom: 0;
    width: 0.1em;
}

@media screen and (min-width: 751px) {
    .fl1_btn a {
        font-size: min(1vw,12px);
        border-radius: 12px;
    }
    .bnrs_btn a {
    }
}


footer .copyright {
    padding: calc(16 / 13 * 1em) 0 calc(120 / 13 * 1em);
}

/* --- お問い合わせセクション --- */
.contact-section {
    background-color: #000;
    color: #fff;
    padding: 10px 0 20px;
    text-align: center;
}

.contact-inner {
    width: 92%;
    max-width: 600px;
    margin: 0 auto;
}

.contact-title {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 10px;
}

.contact-group {
    margin-bottom: 40px;
}

@media screen and (min-width: 751px) {
    .contact-group_txt {
        font-size: min(1.26vw, 17px);
    }
}

.contact-group_txt{
    font-weight: 1000;
    text-align: center;
    padding-bottom: 1em;
}

.contact-group_txt span {
    font-size: 0.75em;
}

.contact-sub-title {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 15px;
    text-align: left;
}

/* ボタン共通設定 */
.contact-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    color: #cc0033;
    border: 2px solid #cc0033;
    border-radius: 12px;
    text-decoration: none;
    font-weight: bold;
    font-size: 18px;
    margin-bottom: 15px;
    padding: 15px 10px;
    position: relative;
    line-height: 1.3;
}

/* 矢印アイコン */
.contact-btn::after {
    content: "";
    position: absolute;
    right: 20px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #cc0033;
    border-right: 2px solid #cc0033;
    transform: rotate(45deg);
}

/* 店舗アイコン（CSSで作成） */
.icon-shop {
    display: inline-block;
    width: 24px;
    height: 20px;
    border: 2px solid #cc0033;
    margin-right: 12px;
    position: relative;
}
.icon-shop::before {
    content: "";
    position: absolute;
    top: 4px; left: 4px; right: 4px; bottom: 0;
    border-left: 2px solid #cc0033;
    border-right: 2px solid #cc0033;
}
.icon-shop::after {
    content: "";
    position: absolute;
    top: -4px; left: -2px; width: 24px; height: 6px;
    background-color: #cc0033;
}

/* 下部リンク集 */
.contact-links {
    list-style: none;
    padding: 0;
    text-align: left;
}

.contact-links li {
    margin-bottom: 12px;
}

.contact-links a {
    color: #fff;
    text-decoration: none;
    font-size: 14px;
    display: inline-flex;
    align-items: center;
}

.contact-links a::after {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-left: 5px;
    background: url(../img/icon_outlink-2-bk.png) no-repeat center center; /* 既存のアイコン流用 */
    background-size: contain;
    filter: invert(1); /* 白く反転 */
}

@media screen and (max-width: 750px) {
    .contact-title { font-size: 6vw; }
    .contact-sub-title { font-size: 4vw; }
    .contact-btn { font-size: 4.5vw; border-radius: 3vw; }
}




/* --- セクション4 カスタム追加分 --- */

.img04_wrap {
    margin: 6% auto 0;
    text-align: center;
}

/* メリット画像（初期費用0円）の調整 */
.img04_benefit {
    width: 90%; 
    margin: 0 auto 5%; 
}

.img04_benefit img {
    width: 100%;
    height: auto;
}

/* ボタンエリアの調整 */
.img04_btn_area {
    width: 100%;
}

.img04_btn_area a {
    display: block;
    width: 90%; /* ボタンの横幅 */
    margin: 0 auto;
    transition: opacity 0.3s ease, transform 0.2s ease;
}

/* ホバーエフェクト（PC） */
@media screen and (min-width: 751px) {
    .img04_wrap {
        border-radius: 20px;
        max-width: 600px;
    }

    .img04_benefit {
        width: 80%;
        margin-bottom: 30px;
    }

    .img04_btn_area a {
        width: 100%;
        max-width: 450px;
    }

    .img04_btn_area a:hover {
        opacity: 0.8;
        transform: translateY(-2px);
    }
}

.cta-overlay-container {
    position: relative;
    width: 100%;
    line-height: 0;
}

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

.btn-on-image {
    position: absolute;
    bottom: 18%;
    left: 50%;
    transform: translateX(-50%);
    width: 80%;
}

.btn-on-image_bule {
    position: absolute;
    bottom: 18%;
    left: 50%;
    transform: translateX(-50%);
    width: 80%;
}

.btn-on-image_red {
    position: absolute;
    bottom: 12%;
    left: 50%;
    transform: translateX(-50%);
    width: 80%;
}

.btn-on-image a , .btn-on-image_red a {
    display: block;
    transition: transform 0.2s ease, filter 0.2s ease;
}

.btn-on-image a:hover , .btn-on-image_red a:hover {
    transform: scale(1.05);
    filter: brightness(1.1);
}

/* PC環境でのサイズ微調整 */
@media screen and (min-width: 751px) {
    .cta-overlay-container {
        max-width: 500px;
        margin: 0 auto;
    }
    .btn-on-image {
        bottom: 18%;
        width: 75%;
    }
}

.kv-anc_list {
    display: flex;
    justify-content: center; 
    align-items: center;
    gap: 12px; 
    margin: 5% auto 7.125%; 
    padding: 0;
    width: 100%;
}

.kv-anc_list li {
    flex: 0 1 auto;
    width: 42%;
    max-width: 280px;
}

/* 画像の設定 */
.kv-anc_list img {
    width: 100%;
    height: auto;
    display: block; 
    margin: 0 auto;
}

/* --- 修正箇所：PC環境（751px以上）の調整 --- */
@media screen and (min-width: 751px) {
    .kv-anc_list {
        gap: 20px; 
        margin: 10px auto 20px; 
    }
    
    .kv-anc_list li {
        width: 40%; 
        max-width: 400px; 
    }
}
#sect2 {
    background: url(../../assets/img/img_02_back.jpg) top center no-repeat;
    background-size: cover;
    padding: 3em 0 0; /* 上部のパディングを少し増やしてタブとの境目をゆったりさせる */
    color: #003366;
}

.benefit-container {
    width: 92%;
    margin: 0 auto;
    max-width: 700px; 
}

.benefit-header {
    margin-bottom: 30px;
}

.benefit-header img {
    margin: 0 auto;
}

/* 4つの特長リスト */
.feature-list-img {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 10px;
}

.feature-list-img li img {
    width: 100%;
    height: auto;
}

/* 2年縛りなしエリア */
.no-binding-area {
    margin-top: 20px;
}

.no-binding-content img {
    width: 100%;
    height: auto;
    margin: 0 auto;
}

/* 注釈のスタイリング */
.notes {
    margin: 15px 0 0 0;
    padding: 0 10px;
}

.notes p {
    font-size: calc(10 / 16 * 1em);
    line-height: 1.5;
    color: #262626;
    text-indent: -1em;
    padding-left: 1em;
    margin-bottom: 2px;
    text-align: justify;
}

.notes_w p {
    font-size: calc(10 / 16 * 1em);
    line-height: 1.5;
    color: #fff;
    text-indent: -1em;
    padding-left: 1em;
    margin-bottom: 2px;
    text-align: justify;
}

/* PC用レイアウト（2カラム化） */
@media screen and (min-width: 751px) {
    .benefit-container {
        max-width: 800px;
    }

    
    .no-binding-content {
        max-width: 600px;
        margin: 0 auto;
    }
    
    .notes {
        max-width: 600px;
        margin: 15px auto 0;
    }
}

/* FVセクション全体の余白リセット */
.fv_new {
    width: 100%;
    overflow: hidden;
}

/* 上部の画像パーツを隙間なく並べる */
.fv_visual_part img {
    display: block;
    width: 100%;
    height: auto;
}

/* ボタンと注釈の部分だけに背景画像を敷く */
.fv_bg_area {
    background: url(../img/FV_05_back.png) no-repeat top center;
    background-size: cover;
    padding: 0.5em 0 2em; 
}

/* コンテンツの幅を制限（注釈が読みやすいように） */
.fv_inner_content {
    width: 92%;
    margin: 0 auto;
    max-width: 750px;
}

.fv_cta {
    width: 100%;
    margin-bottom: 1em;
    transition: transform 0.3s ease;
}

.fv_cta a {
    display: block;
}

.fv_cta img {
    width: 100%;
    height: auto;
}

.fv_notes p {
    font-size: calc(10 / 16 * 1em);
    line-height: 1.5;
    color: #fff; 
    text-indent: -1em;
    padding-left: 1em;
    text-align: justify;
}
.fv_bg_area .notes p {
    color: #000000;
}
@media screen and (min-width: 751px) {
    .fv_notes p {
        font-size: calc(10 / 16 * 1em);
    }
}

/* --- タブ共通スタイル --- */
.tab-container {
    width: 100%;
    max-width: 750px;
    margin: 0 auto; /* margin-topを0に、下部マージンも調整 */
    padding: 20px 0 0; /* 上部に少し余白を持たせる */
    font-family: "Noto Sans JP", sans-serif;
    background-color: #fff; /* 背景白を明示 */
}
.tab-menu { display: flex; }
.tab-menu label { flex: 1; text-align: center; padding: 12px 0 0; font-weight: bold; font-size: 15px; border-radius: 12px 12px 0 0; cursor: pointer; }

/* 赤タブの状態 */
.label-red {color: #fff; opacity: 0.6; }
#tab_red:checked ~ .tab-menu .label-red { opacity: 1; }
#tab_red:checked ~ .tab-content-wrapper .content-red { display: block; }

/* 青タブの状態 */
.label-blue {color: #fff; opacity: 0.6; }
#tab_blue:checked ~ .tab-menu .label-blue { opacity: 1; }
#tab_blue:checked ~ .tab-content-wrapper .content-blue { display: block; }

/* コンテンツ表示切り替え */
.tab-content-wrapper > div { display: none; padding: 15px; }
.content-red { background: #cc0133; }
.content-blue { background: #005697; }

.inner-box { background: #fff; border-radius: 12px; padding: 20px 10px; text-align: center; }

.inner-box_c { background: #fffdea; border-radius: 12px; padding: 20px 10px; text-align: center; }






/* 画像パーツ共通 */
.part-item { width: 100%; margin-bottom: 20px; }
.part-item img { width: 100%; height: auto; }

/* ステップリスト */
.step-img-list { list-style: none; padding: 0; margin: 0 auto 25px; width: 95%; }
.step-img-list li { margin-bottom: 8px; padding-top: 2%;}
.step-img-list li img { width: 100%; height: auto; }

/* ボタンエリア */
.sub-btn { width: 80%; margin: 0 auto 20px; }
.cv-btn-area { width: 95%; margin: 0 auto;padding: 4% 0; }
.cv-btn-area img, .sub-btn img { width: 100%; height: auto; }

.cv-btn-area a:hover, .sub-btn a:hover { opacity: 0.8; }




/* 機種ラインナップセクション カスタムスタイル */
.device-list-container {
    padding: 0;
}

/* iPhone/Android のグレー切り替え部分 */
.device-tab-display {
    display: flex;
    justify-content: center;
    gap: 2px;
    margin: 15px 0;
}

.device-tab-display span {
    display: block;
    width: 50%;
    padding: 10px 0;
    font-weight: bold;
    font-size: 14px;
    background: #e0e0e0;
    color: #333;
}

.device-tab-display .tab-android {
    background: #cccccc; 
    position: relative;
}

.device-tab-display .tab-android::after {
    content: "";
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    border-style: solid;
    border-width: 8px 8px 0 8px;
    border-color: #cccccc transparent transparent transparent;
}

/* 例えば のライン */
.example-separator {
    margin: 20px auto;
    width: 100%;
}

/* 機種リストの調整 */
.device-items {
    list-style: none;
    padding: 0;
    margin: 0;
}

.device-items li {
    margin-bottom: 30px;
    border-bottom: 1px dashed #ccc;
    padding-bottom: 20px;
}

.device-items li:last-child {
    border-bottom: none;
    margin-bottom: 10px;
}

.device-img {
    width: 100%;
    margin-bottom: 15px;
}

.device-btn {
    width: 90%;
    margin: 0 auto;
}

.device-btn a {
    display: block;
    transition: transform 0.2s ease;
}

.device-btn a:hover {
    transform: scale(1.02);
}

/* PCレイアウト調整 */
@media screen and (min-width: 751px) {
    .device-tab-display span {
        font-size: 16px;
    }
    .device-btn {
        max-width: 400px;
    }
}

/* タブメニューのベース */
.device-tab-menu {
    display: flex;
    justify-content: center;
    gap: 0;
    margin: 15px 0 0;
}

.device-tab-menu label {
    display: block;
    width: 50%;
    padding: 12px 0;
    font-weight: bold;
    font-size: 15px;
    background: #e0e0e0;
    color: #666;
    cursor: pointer;
    transition: 0.3s;
    position: relative;
}

/* 選択時の挙動（iPhone） */
#dev_iphone:checked ~ .device-tab-menu .label-dev-iphone {
    background: #cccccc;
    color: #000;
}
#dev_iphone:checked ~ .device-tab-menu .label-dev-iphone::after {

}

/* 選択時の挙動（Android） */
#dev_android:checked ~ .device-tab-menu .label-dev-android {
    background: #cccccc;
    color: #000;
}
#dev_android:checked ~ .device-tab-menu .label-dev-android::after {

}


/* 機種リストの共通装飾 */
.device-items {
    list-style: none;
    padding: 0;
    margin: 0;
}
.device-items li {
    margin-bottom: 25px;
    padding-bottom: 20px;
}
/* 最後以外のリストに点線を引く（デザイン再現） */
.device-items li:not(:last-child) {
    border-bottom: 1px dashed #ccc;
}
.device-img img {
    width: 100%;
    height: auto;
}
.device-btn {
    width: 90%;
    margin: 10px auto 0;
}
/* --- 追加コンテンツ：注意事項セクションのスタイル --- */
.inner-box-notes {
    background: #fff;
    border-radius: 12px;
    padding: 10px 20px;
    margin: 20px 0;
    text-align: left;
}

.notes-title {
    font-size: 1.2em;
    font-weight: bold;
    color: #000;
    text-align: center;
    margin: 10px 0;
    letter-spacing: 0.05em;
}

.notes-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.notes-list li {
    font-size: calc(10 / 16 * 1em);
    line-height: 1.5;
    color: #262626;
    text-indent: -1em;
    padding-left: 1em;
    margin-bottom: 2px;
    text-align: justify;
}

.notes-list li::before {
    content: "・";
    position: absolute;
    left: 0;
    top: 0;
}

/* スマホ・PC共通の調整（必要に応じて） */
@media screen and (min-width: 751px) {
    .inner-box-notes {
        
        margin-left: auto;
        margin-right: auto;
    }
    .notes-list li {
        font-size: calc(10 / 16 * 1em);
    }
}




/* --- 青タブ内：画像A再現用カスタムスタイル --- */
.sim-benefit-wrap {
    background-color: #fff;
    border-radius: 12px;
    padding: 25px 10px; 
    margin-bottom: 20px;
    text-align: center;
}

/* 各画像パーツの間隔 */
.sim-benefit-wrap .part-item {
    width: 100%;
    margin-bottom: 25px; 
}

.sim-benefit-wrap .part-item img {
    width: 100%;
    height: auto;
    margin: 0 auto;
}

/* メリット比較画像（見出し02）は少し横幅に余裕を持たせる */
.benefit-comparison {
    width: 95% !important;
    margin-left: auto;
    margin-right: auto;
}

/* 詳しくはこちらボタンの挙動 */
.sub-btn-blue {
    width: 100%;
    max-width: 350px;
    margin: 0 auto;
}

.sub-btn-blue a {
    display: block;
    transition: transform 0.2s ease, filter 0.2s ease;
}

.sub-btn-blue a:hover {
    transform: translateY(-2px); 
    filter: brightness(1.05);
}


/* --- タブメニュー：左右分割レイアウト --- */
.tab-menu {
    display: flex;
    justify-content: space-between; 
    align-items: flex-end;
    width: 92%; 
    max-width: 700px;
    margin: 2em auto 0;
    position: relative;
    margin-bottom: -1px; 
}

.tab-menu label {
    display: block;
    width: 46%;
    cursor: pointer;
    height: 0;
    padding-top: 22%; 
    text-indent: -9999px; 
    background-size: contain;
    background-repeat: no-repeat;
    background-position: bottom;
    transition: background-image 0.2s ease;
    position: relative;
}

/* --- 初期状態（非アクティブ）の画像指定 --- */
.label-red {
    background-image: url("../img/sect4_img_redTab_off.png");
}
.label-blue {
    background-image: url("../img/sect4_img_buleTab_off.png");
}

/* --- アクティブ時の画像切り替え（ON画像を使用） --- */

/* 赤タブが選択されている時 */
#tab_red:checked ~ .tab-menu .label-red {
    background-image: url("../img/sect4_img_redTab_on.png");
}

/* 青タブが選択されている時 */
#tab_blue:checked ~ .tab-menu .label-blue {
    background-image: url("../img/sect4_img_buleTab_on.png");
}

/* =========================================
   Sect4 Device Slider Custom Styles
   ========================================= */

/* スライダー全体のコンテナ調整 */
.device-slider-wrap {
    width: 100%;
    padding: 20px 0 0px;
    position: relative;
}

/* Swiper本体の調整 */
.device-swiper {
    width: 100%;
    padding-bottom: 20px !important;
}

/* スライド個別のカードスタイル */
.device-card {
    background: #fff;
    border-radius: 8px;
    padding: 10px;
    box-sizing: border-box;
}

/* 画像とボタンの余白調整 */
.device-card .device-img {
    margin-bottom: 15px;
    text-align: center;
}
.device-card .device-img img {
    max-width: 75%;
    height: auto;
    margin: 0 auto; 
}

.device-card .device-btn {
    width: 90%;
    margin: 0 auto;
}

/* --- ナビゲーションボタン（矢印）のカスタム --- */
.device-swiper .swiper-button-next,
.device-swiper .swiper-button-prev {
    color: #cc0033;
    width: 20px;
    height: 20px;
    background: rgba(255,255,255,0.8);
    border-radius: 50%;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

.device-swiper .swiper-button-next::after,
.device-swiper .swiper-button-prev::after {
    font-size: 10px;
    font-weight: bold;
}

/* --- ページネーション（ドット）のカスタム --- */
.device-swiper .swiper-pagination-bullet {
    background: #ccc;
    opacity: 1;
}
.device-swiper .swiper-pagination-bullet-active {
    background: #cc0033; 
}
.device-swiper .swiper-pagination {
    bottom: 0 !important; 
}
.device-swiper .swiper-pagination-bullet {
    margin: 0 6px !important; 
}
/* PC時の表示調整（スライドのサイズ感など） */
@media screen and (min-width: 751px) {
    .device-swiper {
        padding: 0 50px 40px;
    }
}

/* --- デバイスタブ切り替え用スタイル（修正版） --- */

/* ラジオボタンは非表示 */
#dt_iphone, #dt_android {
    display: none;
}

/* タブメニューエリア */
.device-tab-menu {
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 0 auto 20px;
    /* background-color: #e6e6e6; ← ラベル個別に背景をつけるため削除 */
    /* border-radius: 8px; ← ラベル個別に角丸をつけるため削除 */
    /* overflow: hidden; ← ★これを削除しました！これで矢印が表示されます */
    max-width: 600px;
}

/* 各タブのラベル共通 */
.tab-label {
    flex: 1;
    display: block;
    text-align: center;
    padding: 15px 0;
    font-weight: bold;
    font-size: 16px;
    color: #666;
    cursor: pointer;
    background-color: #e6e6e6; /* ここに背景色 */
    transition: background-color 0.3s, color 0.3s;
    position: relative; /* 矢印の配置基準 */
}

/* 左側のラベル（iPhone）の角丸 */
.tab-label.label-iphone {
    border-radius: 8px 0 0 8px;
}

/* 右側のラベル（Android）の角丸 */
.tab-label.label-android {
    border-radius: 0 8px 8px 0;
}

/* --- iPhone選択時の挙動 --- */
#dt_iphone:checked ~ .device-tab-menu .label-iphone {
    background-color: #cccccc;
    color: #333;
}
/* 矢印（iPhone） */
#dt_iphone:checked ~ .device-tab-menu .label-iphone::after {
    content: "";
    position: absolute;
    bottom: -10px; /* 下に突き出す */
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 10px 0 10px;
    border-color: #cccccc transparent transparent transparent; /* 上の辺だけ色をつけて逆三角形を作る */
    z-index: 10;
}

/* --- Android選択時の挙動 --- */
#dt_android:checked ~ .device-tab-menu .label-android {
    background-color: #cccccc;
    color: #333;
}
/* 矢印（Android） */
#dt_android:checked ~ .device-tab-menu .label-android::after {
    content: "";
    position: absolute;
    bottom: -10px; /* 下に突き出す */
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 10px 0 10px;
    border-color: #cccccc transparent transparent transparent;
    z-index: 10;
}

/* --- コンテンツの表示・非表示切り替え（変更なし） --- */
.content-iphone, .content-android {
    display: none;
    animation: fadeIn 0.5s ease;
}

#dt_iphone:checked ~ .device-tab-contents .content-iphone {
    display: block;
}

#dt_android:checked ~ .device-tab-contents .content-android {
    display: block;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@media screen and (min-width: 751px) {
    .tab-label {
        font-size: 18px;
        padding: 18px 0;
    }
}

/* =========================================
   フッター上部 バナーリンクエリア（追加分）
   ========================================= */

/* エリア全体の黒背景設定 */
.other-plans-section {
    background-color: #000;
    padding: 30px 0;
    width: 100%;
}

/* コンテンツ幅の制限（他のセクションと合わせる） */
.other-plans-inner {
    width: 92%;
    max-width: 600px; 
    margin: 0 auto;
}

/* 各バナーアイテムの余白 */
.plan-banner-item {
    margin-bottom: 20px;
    text-align: center;
}

/* 最後のアイテムだけ下の余白を消す */
.plan-banner-item:last-child {
    margin-bottom: 0;
}

/* キャッチコピー（白文字・斜線付き） */
.plan-catch {
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    margin-bottom: 8px;
    letter-spacing: 0.05em;
}

/* リンク画像の挙動 */
.plan-link {
    display: block;
    transition: opacity 0.3s ease, transform 0.2s ease;
}

/* ホバー時のアクション（透過とわずかな動き） */
.plan-link:hover {
    opacity: 0.8;
    transform: translateY(-2px);
}

.plan-link img {
    width: 100%;
    height: auto;
    display: block;
}

.plan-no_link img {
    width: 100%;
    height: auto;
    display: block;
}

/* PCサイズ（751px以上）の微調整 */
@media screen and (min-width: 751px) {
    .other-plans-section {
        padding: 0px 0 10px;
        margin-top: 2em
    }
    
    .plan-catch {
        font-size: 14px;
        margin-bottom: 12px;
    }

    .plan-banner-item {
        margin-bottom: 20px;
    }
}

/* =========================================
   プラン選択グリッド（追加実装）
   ========================================= */

.plan-grid-wrapper {
    width: 100%;
    margin: 0 auto 40px;
}

/* グリッドレイアウト設定 */
.plan-grid-list {
    display: grid;
    grid-template-columns: 1fr 1fr; /* 2列配置 */
    gap: 15px; /* カード間の隙間 */
    padding: 0;
    margin: 0 0 30px 0;
    list-style: none;
}
.plan-card-link {
    display: block;
    text-decoration: none;
    transition: transform 0.2s ease;
}

.plan-card-link img {
    width: 100%;
    height: auto;
    display: block;
    /* 画像自体に角丸や影がある想定ですが、CSSでも補強可能です */
    border-radius: 15px; 
}
/* カード自体のスタイル */
.plan-card {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    border-radius: 12px;
    height: 100%;
    box-sizing: border-box;
    text-decoration: none;
    transition: transform 0.2s ease, opacity 0.3s ease;
}


/* カード内の画像 */
.plan-card img {
    width: 100%;
    height: auto;
    display: block;
}

/* 注釈エリア */
.plan-grid-notes {
    color: #fff;
    font-size: calc(10 / 16 * 1em); 
    line-height: 1.4;
    text-align: left;
    opacity: 0.8;
}

.plan-grid-notes p {
    margin-bottom: 2px;
    padding-left: 1.2em;
    text-indent: -1.2em;
}

/* --- PC表示（751px以上）の調整 --- */
@media screen and (min-width: 751px) {
    .plan-grid-list {
        gap:20px;
    }

    .plan-card {
        border-radius: 16px;
    }

    .plan-grid-notes {
        font-size: calc(10 / 16 * 1em);
    }
}

/* --- シミュレーション画像セクション（全幅背景） --- */
.simulation-full-wrap {
    width: 100%;
    background-color: #fff;
    padding: 10px 0 20px;
}

.simulation-banner {
    width: 92%;
    max-width: 690px;
    margin: 0 auto;
    position: relative; /* ボタンの配置基準 */
}

.simulation-banner .sim-bg {
    width: 100%;
    height: auto;
    display: block;
}

/* ★追加：ボタンを画像の上に重ねる設定 */
.sim-btn-overlay {
    position: absolute;
    bottom: 8%; /* 下からの位置：sample.pngに合わせて調整 */
    left: 50%;
    transform: translateX(-50%);
    width: 90%; /* ボタンの横幅（枠に対しての比率） */
}

.sim-btn-overlay a {
    display: block;
    transition: opacity 0.3s ease, transform 0.2s ease;
}


.sim-btn-overlay img {
    width: 100%;
    height: auto;
}

/* PC閲覧時の余白調整 */
@media screen and (min-width: 751px) {
    .simulation-full-wrap {
        padding: 20px 0 20px;
    }
    .sim-btn-overlay {
        bottom: 10%; /* PCでの見栄えを微調整 */
    }
}

/* タブのラジオボタン消す */
input[name="tab_switch"] {
    display: none;
}

/* タブのラジオボタン消す */
input[name="tab_switch"] {
    display: none;
}

/* 880円campaign */
.campaign_inner_content {
    width: 100%;
    margin: 0 auto;
    max-width: 750px;
}
.campaign_inner_cta {
    width: 92%;
    margin: 0 auto;
    max-width: 750px;
    padding: 0.5em 0 1em;
}
.campaign_cta {
    width: 100%;
    margin: 0 auto;
    max-width: 750px;
    padding-bottom: 1em;
    text-align: center;
    font-weight: bold;
    font-size: 140%;
}
.campaign_banner{
    width: 100%;
    display: block;
    margin: 0px auto 5px;
}
/* campaign注釈 */
.campaign_notes p {
    font-size: calc(10 / 16 * 1em);
    line-height: 1.5;
    color: #000000; 
    text-indent: -1em;
    padding-left: 1em;
    text-align: justify;
}

@media screen and (min-width: 751px) {
    .campaign_notes p {
        font-size: calc(10 / 16 * 1em);
    }
}
/* --- ドコモmini文言追加--- */
.sect4-title-container {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    text-align: center;
}
.sect4-title-decoration {
    width: 100%;
    margin: 0 auto -5px;
}
.sect4-title-decoration img {
    width: 100%;
    height: auto;
}
.sect4-title-text {
    display: block;
    font-size: 20px;
    font-weight: 900;
    color: #000;
    margin: 10px 0 0px;
}
.sect4-main-visual {
    width: 100%;
}
.sect4-main-title {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}
@media screen and (max-width: 750px) {
    .sect4-title-container {
        width: 90%;
    }
    .sect4-title-decoration {
        margin-bottom: -1vw;
    }
    .sect4-title-text {
        font-size: 6.8vw;
    }
}