@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 */
.img80 {
  width: 80%;
  display: block;
  margin: 1em auto 0;
}
.img85 {
  width: 85%;
  display: block;
  margin: 1em auto 2em;
}
.img90 {
  width: 90%;
  display: block;
  margin: 1em auto 0;
}
.img95 {
  width: 95%;
  display: block;
  margin: 1em auto 0;
}
.sect1 {
  background: #fff;
  padding-bottom: 20px;
}
#sect4 {
  scroll-margin-top: 70px;
}
#sect5 {
  scroll-margin-top: 70px;
}
.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: 20px;
}
@media screen and (min-width: 751px) {
  .contact-group_txt_fukidashi {
    font-size: min(1.46vw, 20px);
  }
}
.contact-group_txt_fukidashi {
  font-weight: 1000;
  text-align: center;
  padding-bottom: 1em;
}
.contact-group_txt_fukidashi span {
  font-size: 0.75em;
}
@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 */
#sect2 {
  width: 100%;
  max-width: 700px;
  margin: 0 auto;
  border: 20px solid #2b76df;
  padding: 0;
  background-color: #fff;
  overflow: hidden;
}
.sect2-blue-container img {
  width: 90%;
  margin: 25px auto;
}
.sect2-red-container img {
  width: 90%;
  margin: 25px auto;
}
.sect2-white-container img {
  width: 90%;
  margin: 5px auto;
}
.sect2-blue-container {
  width: 100%;
  padding: 0;
  margin: 0 auto;
  background-color: #e3f3ff;
}
.sect2-red-container {
  width: 100%;
  padding: 10px 0 40px;
  margin: 0 auto;
  background-color: #ffd4d4;
}
.sect2-white-container {
  width: 100%;
  padding: 0 0 20px 0;
  margin: 0 auto;
  background-color: #fff;
}
#sect3_middle {
  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-container_kome {
  width: 92%;
  margin: 0 auto;
  max-width: 700px;
  margin-bottom: 2em;
}
.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;
  text-align: justify;
}
.notes02 {
  margin: 15px 15px 0 15px;
  padding: 0 10px;
}
.notes02 p {
  font-size: calc(10 / 16 * 1em);
  line-height: 1.5;
  color: #262626;
  text-indent: -1em;
  padding-left: 1em;
  text-align: justify;
}
.notes03 {
  margin: 15px 15px 0 15px;
  padding: 0 10px;
}
.notes03 p {
  font-size: calc(10 / 16 * 1em);
  line-height: 1.5;
  color: #262626;
  text-indent: -1em;
  padding-left: 1em;
  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-size: cover;
  padding: 2em 0 2em;
  background-color: #000;
}
/* コンテンツの幅を制限（注釈が読みやすいように） */
.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_notess p {
  color: #fff;
}
@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: 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;
}
/* --- デバイスタブ切り替え用スタイル（修正版） --- */
/* ラジオボタンは非表示 */
#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: #FFF4EF;
    padding: 10px 0 5px 0;
    width: 100%;
    margin: 1em 0 0 0;
}
/* コンテンツ幅の制限（他のセクションと合わせる） */
.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: 10px;
       padding-top: 10px
  }
}
.plan-grid-list02 {
    padding: 0;
    margin: 0 0 20px 0;
    list-style: none;
}
.plan-grid-notes p {
    color: #000;
}
/* =========================================
   プラン選択グリッド（追加実装）
   ========================================= */
.plan-grid-wrapper {
    width: 100%;
    margin: 0 auto;
    padding-bottom: 20px;
}
/* グリッドレイアウト設定 */
.plan-grid-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    padding: 0;
    margin: 0 0 20px 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;
  }
}
.contact-section_toiawase {
  background-color: #000;
  color: #fff;
  padding: 20px 0 5px;
  text-align: center;
  margin: 0 0 2em;
}
/* --- スマホ表示カルーセル --- */
.device-selection-area {
  background-color: #ffd4d5;
  padding: 0px 15px;
}
.device-inner-box {
  background: #fff;
  border-radius: 12px;
  padding: 0px 0px 10px;
  text-align: center;
  max-width: 700px;
  margin: 0 auto;
}
.device-header-item {
  width: 100%;
  margin-bottom: 15px;
}
/* タブ切り替え（New独自クラス） */
input[name="device_tab_new"] {
  display: none;
}
.device-tab-menu-new {
  display: flex;
  justify-content: center;
  margin: 20px 0 20px;
}
.tab-label-new {
  flex: 1;
  padding: 12px 0;
  font-weight: bold;
  background: #e6e6e6;
  color: #666;
  cursor: pointer;
  position: relative;
}
.label-iphone-new {
  border-radius: 8px 0 0 8px;
}
.label-android-new {
  border-radius: 0 8px 8px 0;
}
/* 矢印（アクティブ時） */
#dt_iphone_new:checked ~ .device-tab-menu-new .label-iphone-new, #dt_android_new:checked ~ .device-tab-menu-new .label-android-new {
  background-color: #cccccc;
  color: #333;
}
#dt_iphone_new:checked ~ .device-tab-menu-new .label-iphone-new::after, #dt_android_new:checked ~ .device-tab-menu-new .label-android-new::after {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  border-style: solid;
  border-width: 10px 10px 0 10px;
  border-color: #cccccc transparent transparent transparent;
}
/* コンテンツ表示切り替え */
.content-iphone-new, .content-android-new {
  display: none;
}
#dt_iphone_new:checked ~ .device-tab-contents-new .content-iphone-new {
  display: block;
}
#dt_android_new:checked ~ .device-tab-contents-new .content-android-new {
  display: block;
}
/* スライダー個別調整 */
.device-slider-wrap-new {
  padding-top: 20px;
  position: relative;
}
.device-swiper-new {
  padding-bottom: 30px !important;
}
.device-card-new {
  padding: 10px;
}
.device-img-new img {
  max-width: 200px;
  margin: 0 auto 15px;
}
.device-btn-new {
  width: 90%;
  margin: 0 auto;
}
/* --- ナビゲーションボタン（矢印）のカスタム --- */
.device-slider-wrap-new .swiper-button-next, .device-slider-wrap-new .swiper-button-prev {
  color: #fff;
  width: 20px;
  height: 20px;
  background: #cc0033;
  border-radius: 50%;
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);
}
.device-slider-wrap-new .swiper-button-next::after, .device-slider-wrap-new .swiper-button-prev::after {
  font-size: 10px;
  font-weight: bold;
}
/* --- ページネーション（ドット）のカスタム --- */
.device-slider-wrap-new .swiper-pagination-bullet {
  background: #ccc;
  opacity: 1;
}
.device-slider-wrap-new .swiper-pagination-bullet-active {
  background: #cc0033;
}
.device-slider-wrap-new .swiper-pagination {
  bottom: 0 !important;
}
.device-slider-wrap-new .swiper-pagination-bullet {
  margin: 0 6px !important;
}
/* PC時の表示調整（スライドのサイズ感など） */
@media screen and (min-width: 751px) {
  .device-swiper {
    padding: 0 50px 40px;
  }
}
/* --- FV：特典ナビゲーションセクション --- */
.kv_anc_section {
  background-color: #0068b7; /* ドコモブルー背景 */
  padding: 30px 0 40px;
  width: 100%;
}
.kv_anc_inner {
  width: 92%;
  max-width: 700px;
  margin: 0 auto;
  text-align: center;
}
.kv_anc_title {
  width: 100%;
  max-width: 400px;
  margin: 0 auto 25px;
}
.kv_anc_title img {
  width: 100%;
  height: auto;
}
.kv_anc_buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
  list-style: none;
  padding: 0;
}
.kv_anc_buttons li {
  flex: 1;
  max-width: 280px;
}
.kv_anc_buttons img {
  width: 90%;
  height: auto;
  margin: 0 auto;
}
/* スマホ表示（750px以下）の微調整 */
@media screen and (max-width: 750px) {
  .kv_anc_section {
    padding: 6vw 0 8vw;
  }
  .kv_anc_title {
    margin-bottom: 5vw;
  }
  .kv_anc_buttons {
    gap: 3vw;
  }
}
/* --- 注釈アコーディオン --- */
.accordion-section-new {
  padding: 0;
  margin-top: 1em;
}
.acc-item-v2 {
  background-color: #fff;
  border: 2px solid #000; /* 太い黒枠 */
  border-radius: 6px; /* 角丸 */
  margin-bottom: 20px;
  overflow: hidden;
}
.acc-header-v2 {
  width: 100%;
  background: #fff;
  border: none;
  padding: 10px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  text-align: center;
}
@media screen and (min-width: 751px) {
  .acc-header-v2 .title {
    flex: 1;
    font-size: min(1.1vw, 14px);
    color: #000;
    line-height: 1.4;
    font-weight: bold;
  }
}
.acc-header-v2 .title {
  flex: 1;
  font-size: 14px;
  color: #000;
  line-height: 1.4;
  font-weight: bold;
}
/* 右側のアイコンエリア */
.acc-icon-v2 {
  position: relative;
  width: 22px;
  height: 22px;
  background: #000;
  border-radius: 50%;
  flex-shrink: 0;
  transition: transform 0.3s ease; /* 全体の動きを滑らかに */
}
/* 共通設定（横棒・縦棒） */
.acc-icon-v2::before, .acc-icon-v2::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: #fff;
  transform: translate(-50%, -50%);
  transition: transform 0.3s ease, opacity 0.3s ease;
}
/* 横棒 */
.acc-icon-v2::before {
  width: 12px;
  height: 2px;
}
/* 縦棒 */
.acc-icon-v2::after {
  width: 2px;
  height: 12px;
}
/* 縦棒を回転させて横棒と重ねる（または透明にする） */
.acc-item-v2.is-open .acc-icon-v2::after {
  transform: translate(-50%, -50%) rotate(90deg);
  opacity: 0; /* 重なるより消したほうが確実に「−」に見えるため、0に設定 */
}
/* 全体を少し回転させると、よりリッチな動きになります（お好みで） */
.acc-item-v2.is-open .acc-icon-v2 {
  /* transform: rotate(180deg); */ /* 動きを派手にするなら有効化してください */
}
/* コンテンツ部分 */
.acc-content-v2 {
  display: none;
  padding: 0 20px 20px;
  border-top: 3px solid #000; /* ヘッダーとコンテンツの間の境界線 */
  color: #333;
}
.acc-inner-v2 {
  padding-top: 20px;
  font-size: calc(10 / 16 * 1em);
  line-height: 1.7;
}
.indent-text {
  padding-left: 1.2em;
  text-indent: -1.2em;
  margin-bottom: 10px;
}
/* もっと見るボタン（画像Bの丸みを帯びた白ボタン） */
.acc-btn-wrap {
  text-align: center;
  margin-top: 20px;
}
.acc-more-btn {
  display: inline-block;
  background: #fff;
  border: 2px solid #000;
  border-radius: 15px; /* ボタンの丸み */
  padding: 0.55em 2.2em 0.55em 1.15em;
  font-weight: bold;
  font-size: calc(14 / 16 * 1em);
  cursor: pointer;
  transition: background 0.2s;
}
.acc-more-btn:hover {
  background: #fff;
}
.acc-more-hidden {
  display: none;
  margin-top: 15px;
  padding-left: 1.2em;
}
/* JSでの制御用クラス */
.acc-item-v2.is-open .acc-content-v2 {
  display: block;
}
.acc-more-btn .txt-close {
  display: none;
}
.acc-more-btn.is-active .txt-open {
  display: none;
}
.acc-more-btn.is-active .txt-close {
  display: inline;
}
@media screen and (max-width: 750px) {
  .acc-header-v2 strong {
    font-size: 4.2vw;
  }
  .acc-inner-v2 {
    font-size: calc(10 / 16 * 1em);
  }
}
/* ページ内リンクネガティブマージン */
#sim {
  scroll-margin-top: 76px;
}
#terminal {
  scroll-margin-top: 76px;
}
/* --- 青枠コンテナ --- */
.discount-blue-box {
  width: 92%;
  margin: 10px auto 20px;
  max-width: 690px;
  border: 3px solid #00a0e9; /* 青い太枠 */
  border-radius: 20px;
  position: relative;
  background: #e3f3ff;
  padding: 25px 0px 10px;
}
/* 上部のふきだし突起（擬似要素） */
.discount-blue-box::before {
  content: "";
  position: absolute;
  top: -16px;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  width: 28px;
  height: 28px;
  background: #e3f3ff;
  border-left: 3px solid #00a0e9;
  border-top: 3px solid #00a0e9;
  border-top-left-radius: 6px;
  z-index: 1;
}
.blue-box-inner {
  width: 100%;
}
.box-title {
  margin-bottom: 20px;
}
/* 基本料金エリア */
.base-charge-area {
  display: flex;
  justify-content: space-around;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  padding: 15px 0;
}
.charge-item {
  text-align: center;
}
.charge-item .label {
  display: block;
  font-size: 14px;
  font-weight: bold;
  color: #666;
}
.charge-item .price {
  font-size: 24px;
  font-weight: 900;
  color: #000;
}
.charge-item .price span {
  font-size: 12px;
}
.plus-icon {
  text-align: center;
  font-size: 24px;
  color: #00a0e9;
  margin: 10px 0;
  font-weight: bold;
}
/* 割引テーブル */
.discount-table {
  border: 1px solid #ccc;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 15px;
}
.table-header {
  display: flex;
  background: #8e8e8e;
  color: #fff;
  font-size: 11px;
  font-weight: bold;
  text-align: center;
}
.table-row {
  display: flex;
  align-items: center;
  border-top: 1px solid #eee;
  padding: 10px 5px;
}
.col-name {
  flex: 1;
  padding-left: 10px;
}
.col-amount {
  width: 100px;
  text-align: center;
}
.main-name {
  font-size: 13px;
  font-weight: bold;
  color: #cc0033;
  line-height: 1.3;
}
.sub-name {
  font-size: 11px;
  color: #333;
}
.minus-price {
  background: #ffe0e5;
  color: #cc0033;
  font-weight: bold;
  padding: 4px 8px;
  border-radius: 4px;
  display: inline-block;
  min-width: 80px;
}
.box-note {
  font-size: 10px;
  color: #666;
  margin-bottom: 20px;
  line-height: 1.4;
}
@media screen and (max-width: 750px) {
  .charge-item .price {
    font-size: 5.5vw;
  }
  .col-amount {
    width: 30%;
  }
}
/* sect2 */
#sect2 {
  overflow: visible !important; /* hiddenを打ち消し */
  position: relative;
  z-index: 1; /* 必要に応じて重ね順を指定 */
}
/* 2. リボンの位置を微調整 */
.sara-ni-ribbon {
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: 45%;
  z-index: 99;
  margin: 0 !important;
}
/* 3. コンテナの配置基準を確認 */
.sect2-blue-container {
  position: relative;
  padding-top: 10px;
  padding-bottom: 50px;
}
.sara-ni-ribbon img {
  width: 100%;
  height: auto;
  display: block;
}
/* スマホ時のサイズ調整 */
@media screen and (max-width: 750px) {
  .sara-ni-ribbon {
    width: 40%;
  }
}
.sect2-blue-title {
  width: 90.2%;
  display: block;
  margin: 3.5em auto 1em;
}
.sect2-red-title {
  position: relative;
  width: 100.1%;
  display: block;
  margin: -50px auto 0;
}
.sect2-white-title {
  position: relative;
  width: 100.1%;
  display: block;
  margin: -60px auto 0;
}
.design-a-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin-top: 20px;
}
.design-a-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 500px;
  margin: 40px auto 20px;
  padding: 0;
}
@media screen and (min-width: 751px) {
  .kaedoki_program {
    padding: 0;
  }
}
.kaedoki_program {
  width: 100%;
}
.kaedoki-banner {
  width: 100%;
  max-width: 690px;
  margin: 0 auto;
  position: relative;
}
@media screen and (min-width: 751px) {
  .kaedoki-btn-overlay {
    bottom: 10%;
  }
}
.kaedoki-btn-overlay {
  position: absolute;
  bottom: 12%;
  left: 50%;
  transform: translateX(-50%);
  width: 90%;
}
.kaedoki-btn-overlay img {
  width: 90%;
  height: auto;
}
.kaedoki-btn-overlay a:hover {
  transform: scale(1.05);
  filter: brightness(1.1);
}
/* --- ヘッダーカスタマイズ --- */
#header {
  justify-content: space-between;
}
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);
}
.fukidashi_title {
  display: block;
  font-size: calc(14 / 16 * 1em);
  font-weight: 900;
  color: #000;
  margin: 10px 0 0px;
  text-align: center;
}