html {
  overflow: auto;
  font-size: 16px;
}
body {
  position: relative;
  text-align: center;
  font-family: 
  "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo",
  -apple-system, BlinkMacSystemFont,
  "Manrope", Roboto, Helvetica, sans-serif;
  padding-bottom: 80px;
}

a {
  display: inline-block;
  color: inherit;
  transition: 0.3s ease-in;
}
img {
  width: 100%;
}
/* =====================================================
Layout
===================================================== */
.pc-view {
  position: relative;
  width: 100%;
  height: 100dvh;
}
.pc-view__content {
  position: relative;
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: fixed;
  height: 100vh;
  width: calc(100vw - calc(375px + 151px));
  display: none;
}
.sp-view {
  position: relative;
  width: 100%;
  max-width: 100%;
  margin-inline: auto;
  z-index: 10;
  margin-left: auto;
  margin-right: 151px;
}
.sp-view__container {
  overflow-x: hidden;
  background: linear-gradient(90deg, #009be4 0%, #0066b3 100%);
}

/* スマホで改行させる */
.br-pc {
  display: block;
}

.br-sp {
  display: none;
}

/* =====================================================
Content
===================================================== */

#gHead {
  width: 100%;
  height: 60px;
  background-color: #fff;
  box-sizing: border-box;
  padding-top: 18px;
}

#gHead h1 {
  width: 166px;
  height: 24px;
  margin: 0 auto;
background-image: url(../img/headlogo.svg);
background-size: 166px 24px;
background-repeat: no-repeat;
color: transparent;         /* テキストを透明に */
  text-indent: -9999px;       /* テキストを画面外に押し出す（安全策） */
  overflow: hidden;
  white-space: nowrap;
}

#gHead h1 a {
  width: 166px;
  height: 24px;
  display: block;
}

.fadein-section {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

/* 表示トリガー用クラス */
.fadein-section.is-visible {
  opacity: 1;
  transform: translateY(0);
}


#kvBox {
  width: 100%;
  height: 660px;
  display: block;
  text-align: center;
  background-image: url(../img/bg.png);
  background-repeat: no-repeat;
background-size: cover;
background-position: center;
margin-bottom: 80px;
}

#kvSpace {
  width: 375px;
  height: 606px;
  margin: 0 auto;
  position: relative;
}

#kvSpace img {
  opacity: 1;
  transition: all 0.6s ease;
}

/* アニメーション後：表示＆元の位置 */
#kvSpace img.show {
  opacity: 1;
  transform: translateY(0);
}

#kvob1 {
  width: 299px;
  margin-top: 10px;
  margin-bottom: 10px;
}

#kvob2 {
  width: 327px;
}

.contentBox h2 {
background-repeat: no-repeat;
color: transparent;         /* テキストを透明に */
  text-indent: -9999px;       /* テキストを画面外に押し出す（安全策） */
  overflow: hidden;
  white-space: nowrap;
  margin: 0 auto;
  margin-bottom: 15px;
}

.contentBox h3 {
  font-size: 27px;
  line-height: 140%;
}

#pointBox {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
margin-bottom: 80px;
}

#pointBox h2 {
  width: 55px;
  height: 12px;
  background-image: url(../img/point.png);
background-size: 55px 12px;
}

#pointBox ul {
  width: 327px;
  padding: 0;
  margin: 0 auto;
  list-style: none; /* デコレーションなし */
  margin-top: 40px;
}

#pointBox ul li {
  width: 327px;
  height: 152px;
background-size: 327px 152px;
text-align: left;
font-size: 20px;
font-weight: bold;
  box-sizing: border-box;
  padding-top:50px;
  padding-left: 160px;
  line-height: 140%;
  margin-bottom:16px;
}

.point1 {background-image: url(../img/p_dtail.png);}
.point2 {background-image: url(../img/p_dtail2.png);}
.point3 {background-image: url(../img/p_dtail3.png);}

/*-----------------------------------------------------------------------------------*/


#typeBox {
  width: 100%;
  display: block;
  margin: 0 auto;
margin-bottom: 120px;
}

#typeBox h2 {
  width: 45px;
  height: 12px;
  background-image: url(../img/type.png);
background-size: 45px 12px;
}

#typeBox h3 {
  margin-bottom: 20px;
}

.leadTxt {
  width: 87%;
  font-size: 16px;
  line-height: 180%;
  margin: 0 auto;
}

#typeSelect {
  display: block;
  width: 343px;
  height: 70px;
  margin: 0 auto;
  margin-bottom: -2px;
}

#typeSelect ul {
  display: flex;
  align-items: flex-end;  /* ← 子要素を下寄せ */
  justify-content: space-between; /* 均等に配置 */
  padding: 0;
  margin: 0;
  list-style: none; /* デコレーションなし */
  margin-top: 30px;
}

#typeSelect ul li {
  width: 168px;
  height: 55px;
background-size: 168px 60px;
color: transparent;         /* テキストを透明に */
  text-indent: -9999px;       /* テキストを画面外に押し出す（安全策） */
  overflow: hidden;
  white-space: nowrap;
    cursor: pointer;
  background-repeat: no-repeat;
  border-radius: 8px 8px 0 0;
  box-sizing: border-box;
  background-position: top -2px center;
}

#typeSelect ul li.activeSel {
  height: 70px;
  background-size: 168px 60px;
  background-position: top 5px center;
  z-index: 2;
}

#newautoBtn {background-image: url(../img/typebtn3.png);background-color: #E9F2FA;}
#mycarBtn {background-image: url(../img/typebtn4.png);background-color: #FFEEEC;}

#newautoBtn.activeSel {
  border-top: 2px solid #1f5b9c;
  border-right: 2px solid #1f5b9c;
  border-left: 2px solid #1f5b9c;
}

#mycarBtn.activeSel {
  border-top: 2px solid #f1544b;
  border-right: 2px solid #f1544b;
  border-left: 2px solid #f1544b;
}


.tabContent {
  display: none;
}

.tabContent.activeSel {
  display: block;
}

#newautoBox {
  width: 100%;
  height: 930px;
  background-color: #E9F2FA;
  padding-top: 30px;
  padding-bottom: 40px;
  transition: height 0.5s ease;
  overflow: hidden;
  position: relative;
  border-top: 2px solid #1f5b9c;
}

#newautoBox.collapsed {
  height: 640px !important;
}

#rakurakuBox {
  width: 100%;
  height: 930px;
  background-color: #FFEEEC;
  padding-top: 30px;
  padding-bottom: 40px;
  transition: height 0.5s ease;
  overflow: hidden;
  position: relative;
  border-top: 2px solid #f1544b;
}

#rakurakuBox.collapsed {
  height: 640px !important;
}


.discriptBox1 {
  width: 327px;
  display: block;
  margin: 0 auto;
  box-sizing: border-box;
  padding-top:100px;
  padding-left: 24px;
  margin-bottom: 55px;
  position: relative;
}

.newautoDis {
  height: 491px;
  background-image: url(../img/newauto12.png);
  background-size: 327px 491px;
}

.rakurakuDis {
  height: 654px;
  background-image: url(../img/rakuraku2.png);
  background-size: 327px 654px;
}

.discriptBox1 h4 {
  display: none;
}

.discriptBox1 p {
  text-align: left;
  width: 279px;
  line-height: 180%;
  margin-bottom: 10px;
}

#spPosi {
  width: 279px;
  text-align: center;
  position: absolute;
  top: 440px;
  left: 50%;
  transform: translateX(-50%);
}

#spPos2 {
  width: 279px;
  text-align: center;
  position: absolute;
  top: 600px;
  left: 50%;
  transform: translateX(-50%);
}

.discriptBox1 p a {
  font-size: 14px;
  line-height: 140%;
  color: #1365AB;
  background-image: url(../img/icn_aw.png);
  background-repeat: no-repeat;
  background-size: 16px 16px;
  background-position: top 2px right;
  padding-right: 24px;
  font-weight: 600;
}

.newautoBox2 {
    width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
  text-align: center;
  margin-bottom: 48px;
  text-align: center;
}

.rakurakuBox2 {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
  text-align: center;
  margin-bottom: 48px;
}

.newautoBox2 h4 {
  width: 100%;
  height: auto;
  font-size: 24px;
  text-align: center;
  margin: 0 auto;
  background-image: url(../img/type_ic1.png);
  background-repeat: no-repeat;
  background-size: 27px 26px;
  background-position: top center;
  padding-top: 40px;
}

.rakurakuBox2 h4 {
  width: 300px;
  height: auto;
  font-size: 24px;
  text-align: center;
  margin: 0 auto;
  background-image: url(../img/type_ic1.png);
  background-repeat: no-repeat;
  background-size: 27px 26px;
  background-position: top center;
  padding-top: 40px;
}

.newautoUlpoint {
  width: 327px;
  padding: 0;
  margin: 0 auto;
  list-style: none; /* デコレーションなし */
  margin-top: 24px;
}

.newautoUlpoint li {
  width: 327px;
  height: 134px;
background-size: 327px 134px;
font-size: 18px;
  box-sizing: border-box;
  padding-top:60px;
  line-height: 140%;
  margin-bottom: 16px;
  font-weight: 600;
}

.rakurakuUlpoint {
  width: 327px;
  padding: 0;
  margin: 0 auto;
  list-style: none; /* デコレーションなし */
  margin-top: 24px;
}

.rakurakuUlpoint li {
  width: 327px;
font-size: 18px;
  box-sizing: border-box;
  padding-top:60px;
  line-height: 140%;
  margin-bottom: 16px;
}

.rakuLi {
  width: 279px;
  margin: 0 auto;
  text-align: left;
}

.rakuLi h5 {
  font-size: 18px;
  line-height: 140%;
  margin-bottom: 10px;
}

.rakuLip {
  font-size: 16px;
  line-height: 160%;
  font-weight: 400;margin-bottom: 15px;
}

.rakuLispan {
  text-align: left;
  margin-top: 16px;
  font-size: 12px;
  line-height: 180%;
}

.rakuPbtn {
  display: block;
  height: 56px;
  line-height: 56px;
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  border: 1px solid #FF4F4F;
  color: #FF4F4F;
  border-radius: 60px;
  margin-bottom: 20px;
  background-image: url(../img/icn_win3.svg);
  background-repeat: no-repeat;
  background-size: 16px 16px;
  background-position: right 20px center;
}

.rakuPbtn:hover {
  border: 1px solid #fff;
  background-color: #FF4F4F;
  color: #fff;
  background-image: url(../img/icn_aw3.png);
  background-position: right 15px center;
}

#newautoBox2point1 {background-image: url(../img/newpoint1.png);}
#newautoBox2point2 {background-image: url(../img/newpoint2.png);}
#newautoBox2point3 {background-image: url(../img/newpoint3.png);}
#rakurakuBox2point1 {background-image: url(../img/rakupoi1.png);
  height: 260px;
background-size: 327px 456px;
border-radius: 8px;
}
#rakurakuBox2point2 {background-image: url(../img/rakupoi22.png);
  height: 217px;
background-size: 327px 217px;
}
#rakurakuBox2point3 {background-image: url(../img/rakupoi322.png);
  height: 200px;
background-size: 327px 200px;
}


#newautoBox3 {
    width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
  margin-bottom: 48px;
}

#newautoBox3left {
    width: 100%;
  height: auto;
  display: block;
  margin-bottom: 40px;
}

#newautoBox3left h4 {
  width: 100%;
  height: auto;
  font-size: 24px;
  text-align: center;
  margin: 0 auto;
  background-image: url(../img/icn_coin.png);
  background-repeat: no-repeat;
  background-size: 33px 33px;
  background-position: top center;
  padding-top: 50px;
}

#newautoBox3left ul {
  width: 327px;
  margin: 0 auto;
  padding: 0;
  list-style: none; /* デコレーションなし */
  padding-top: 10px;
}

#newautoBox3left ul li {
  width: 327px;
  height: 96px;
  margin-top: 16px;
  background-repeat: no-repeat;
  background-size: 327px 96px;
  background-position: top center;
color: transparent;         /* テキストを透明に */
  text-indent: -9999px;       /* テキストを画面外に押し出す（安全策） */
  overflow: hidden;
  white-space: nowrap;
}

#kinri1 {background-image: url(../img/kinri12.png);}
#kinri2 {background-image: url(../img/kinri2.png); height: 112px !important;background-size: 327px 112px !important;}
#kinri3 {background-image: url(../img/kinri3.png);}
#kinri4 {background-image: url(../img/kinri42.png);}
#kinri6 {background-image: url(../img/kinri6.png);}
#kinri5 {
  background-image: url(../img/kinri52.png);
  height: 122px !important;
  background-size: 327px 122px !important;
}

#newautoBox3right {
    width: 100%;
  height: auto;
  display: block;
}

#newautoBox3right h4 {
  width: 100%;
  height: auto;
  font-size: 24px;
  text-align: center;
  margin: 0 auto;
  background-image: url(../img/icn_grah.png);
  background-repeat: no-repeat;
  background-size: 32px 32px;
  background-position: top center;
  padding-top: 40px;
}

#newautoBox3right p {
  text-align: left;
  width: 327px;
  font-size: 16px;
  line-height: 180%;
  margin: 0 auto;
  margin-top: 20px;
  margin-bottom: 20px;
}

#newautoBox3right img {
  width: 327px;
  margin: 0 auto;
  margin-bottom: 20px;
}

#newautoBox3right a {
  font-size: 16px;
  line-height: 140%;
  text-decoration: underline;
  color: #1365AB;
  background-image: url(../img/icn_pdf.png);
  background-repeat: no-repeat;
  background-size: 24px 24px;
  background-position: right;
  padding-right: 30px;
  font-weight: 600;
}

#newautoBox33 {
    width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
  margin-bottom: 24px;
}

#newautoBox3right2 {
    width: 100%;
  height: auto;
  display: block;
}

#newautoBox3right2 h4 {
  width: 100%;
  height: auto;
  font-size: 24px;
  text-align: center;
  margin: 0 auto;
  background-image: url(../img/icn_grah.png);
  background-repeat: no-repeat;
  background-size: 32px 32px;
  background-position: top center;
  padding-top: 40px;
}

.boxTxt1 {
  text-align: left;
  width: 327px;
  font-size: 16px;
  line-height: 180%;
  margin: 0 auto;
  margin-top: 20px;
  margin-bottom: 20px;
}

.boxTxt2 {
  text-align: left;
  width: 327px;
  font-size: 12px;
  line-height: 180%;
  margin: 0 auto;
  margin-top: 0;
  margin-bottom: 20px;
}

.boxTxt2 span {
  font-weight: bold;
}

#newautoBox3right2 img {
  width: 327px;
  margin: 0 auto;
}

#newautoBox3right2 a {
  font-size: 16px;
  line-height: 140%;
  text-decoration: underline;
  color: #FF4F4F;
  background-image: url(../img/icn_pdf.svg);
  background-repeat: no-repeat;
  background-size: 24px 24px;
  background-position: right;
  padding-right: 30px;
  font-weight: 600;
  margin-bottom: 10px;
}

#newautoBox4 {
  width: 327px;
  height: auto;
  display: block;
  background-color: #fff;
  border-radius: 7px;
  position: relative;
  text-align: center;
  margin:0 auto;
  padding-bottom: 5px;
  padding-top: 34px;
  margin-bottom: 48px;
}

#newautoBox7 {
  margin-top: 0 !important;
}


#newautoBox7 a {
  font-size: 16px;
  line-height: 140%;
  text-decoration: underline;
  color: #1365AB;
  background-image: url(../img/icn_pdf1.svg);
  background-repeat: no-repeat;
  background-size: 24px 24px;
  background-position: right;
  padding-right: 30px;
  font-weight: 600;
  margin-bottom: 30px;
}

.wrapCenter {
  width: 280px;
   display: block;            /* ボタン同士の間隔 */
  margin: auto;
}

.button-wrap {
  width: 280px;
  display: flex;
  flex-direction: column;    /* 吹き出し→ボタンの縦並び */
  align-items: center;
  margin-bottom: 30px;
}

.bubble {
  width: 225px;               /* 吹き出し画像のサイズはお好みで */
  margin-bottom: -8px;
  z-index: 999;
}

.bubble2 {
  width: 190px;               /* 吹き出し画像のサイズはお好みで */
  margin-bottom: 8px;
}

.bubble3 {
  width: 122px;               /* 吹き出し画像のサイズはお好みで */
  margin-bottom: -8px;
  z-index: 999;
}

.bluegraBtn {
  width: 280px;
  height: 70px;
  display: block;
background-image: linear-gradient(to right, #3A95E2, #1365AB);
  border-radius: 70px;
  transition: background-image 0.3s ease;
  position: relative;
  letter-spacing: .1em;
  box-shadow: 0 0px 8px rgba(0, 0, 0, 0.3);
  box-sizing: border-box;
  padding-top: 15px;
  color: #fff;
  font-style: 18px;
  font-weight: bold;

}

.bluegraBtn img {
  margin: 0 auto;
  display: block;
  margin-bottom: 6px;
}

.nalBtn {
  width:161px;
}

.bluegraBtn:after {
  content: url(../img/icn_aw7.svg);
  display: block; 
  position: absolute;
  top: 38%;
  right: 18px;
  transition: all 0.2s;
}

.whiteBtn {
  width: 280px;
  height: 56px;
  display: block;
  border-radius: 56px;
  letter-spacing: .1em;
  border: 1px solid #1365AB;
  font-size: 14px;
  line-height: 56px;
  color: #1365AB;
  font-weight: bold;
  background-color: #fff;
  background-image: url(../img/icn_win1.svg);
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 16px 16px;

}

.whiteBtn2 {
  width: 280px;
  height: 56px;
  display: block;
  border-radius: 56px;
  letter-spacing: .1em;
  border: 1px solid rgba(255, 79, 79, 0.6);
  font-size: 14px;
  line-height: 56px;
  color: #FF4F4F;
  font-weight: bold;
  background-color: #fff;
  background-image: url(../img/icn_win5.svg);
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 16px 16px;

}

#newautoBox4 p {
  width: 311px;
  height: 44px;
  background-color: #F8F8F8;
  margin: 0 auto;
  line-height: 44px;
  font-size: 14px;
  margin-top: 24px;
}

#newautoBox4 p span {
  background-image: url(../img/icn_hatena.png);
  background-size: 16px 16px;
  background-repeat: no-repeat;
  background-position: center left;
  padding-left: 20px;
  font-weight: 600;
}

.rakuAn {
  color: #FF4F4F !important;
  background-image: url(../img/icn_aw_un2.svg) !important;
  background-size: 12px 12px !important;
}

#newautoBoxclose {
  width: 150px;
  margin: 0 auto;
  font-size: 16px;
  height: 40px;
  line-height: 40px;
  font-weight: bold;
  color: #1365AB;
  background-image: url(../img/icn_close.png);
  background-repeat: no-repeat;
  background-size: 40px 40px;
  background-position: right;
  padding-right: 50px;
}

#newautoBoxopen {
  width: 100%;
  height: 140px;
  position: absolute;
  bottom: 0;
  left: 0;
  background: linear-gradient(to top, white 0%, transparent 100%);
  box-sizing: border-box;
  padding-top: 100px;
}

#newautoopenBtn {
  width: 132px;
  height: 40px;
  margin:0 auto;
  background-image: url(../img/btnopen1.svg);
  background-repeat: no-repeat;
  background-size: 132px 40px;
  background-position: center;
}

#newautoopenBtn span {
  display: none;
}

#rakurakuBoxclose {
  width: 150px;
  margin: 0 auto;
  font-size: 16px;
  height: 40px;
  line-height: 40px;
  font-weight: bold;
  color: #FF4F4F;
  background-image: url(../img/icn_rakuclose.svg);
  background-repeat: no-repeat;
  background-size: 40px 40px;
  background-position: right;
  padding-right: 50px;
}

#rakurakuBoxopen {
  width: 100%;
  height: 140px;
  position: absolute;
  bottom: 0;
  left: 0;
  background: linear-gradient(to top, white 0%, transparent 100%);
  box-sizing: border-box;
  padding-top: 100px;
}

#rakurakuopenBtn {
  width: 132px;
  height: 40px;
  margin:0 auto;
  background-image: url(../img/btnopen2.svg);
  background-repeat: no-repeat;
  background-size: 132px 40px;
  background-position: center;
}

#rakurakuopenBtn span {
  display: none;
}

#rakurakuBox7 a {
  font-size: 16px;
  line-height: 140%;
  text-decoration: underline;
  color: #FF4F4F;
  background-image: url(../img/icn_pdf.svg);
  background-repeat: no-repeat;
  background-size: 24px 24px;
  background-position: right;
  padding-right: 30px;
  font-weight: 600;
  margin-bottom: 30px;
}




/*-----------------------------------------------------------------------------------*/

#valueBox {
  width: 100%;
  display: block;
  margin: 0 auto;
margin-bottom: 80px;
}

#valueBox h2 {
  width: 59px;
  height: 12px;
  background-image: url(../img/value.png);
background-size: 59px 12px;
}

#valueBox h3 {
  margin-bottom: 30px;
}

.graf1 {
  width: 327px;
  margin:0 auto;
  margin-bottom: 40px;
}

.graf1 p {
  width: 100%;
  text-align: left;
  font-size: 12px;
  line-height: 180%;
  margin-top: 10px;
}

.graf1 h4 {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 16px;
}

.graf1 h4 span {
  font-size: 16px;
}

.graf1 table {
  width: 327px;
  table-layout: fixed;          /* ← 均等幅にするポイント！ */
  border-collapse: collapse;
}

.graf1 table tr th {
  border: 1px solid #e8e8e8;
  padding: 10px;
  text-align: center;
  vertical-align: middle;
  background-color: #F8F8F8;
  font-weight: 500;
  height: 56px;
}

.graf1 table tr td {
  border: 1px solid #e8e8e8;
  padding: 10px;
  text-align: center;
  vertical-align: middle;
}

.graf2 {
  display: none;
}

.graf3 {
  width: 327px;
  margin: 0 auto;
}

.graf3 p {
  width: 100%;
  text-align: left;
  font-size: 12px;
  line-height: 180%;
  margin-top: 10px;
}

.graf3 h4 {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 16px;
}

.graf3 table {
  width: 327px;
  box-sizing: border-box;
  border: 1px solid #e8e8e8;
  border-bottom: none;
}

.graf3 table tr {
}

.graf3 table tr th {
  height: 32px !important;
  border: 1px solid #fff;
  text-align: center;
  vertical-align: middle;
  border: 1px solid #e8e8e8;
  font-weight: 500;
  border-bottom: none;
}

.graf3 table tr td {
  text-align: center;
  vertical-align: middle;
width: 50%;
height: 60px;
   display: table-cell;
  box-sizing: border-box;
  font-size: 14px;
  line-height: 120%;
}

.graf4 {
  width: 327px;
  margin: 0 auto;
}

.graf4 p {
  width: 100%;
  text-align: left;
  font-size: 12px;
  line-height: 180%;
  margin-top: 10px;
}

.graf4 h4 {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 16px;
}

.graf4 table {
  width: 327px;
  box-sizing: border-box;
}

.graf4 table tr {
}

.graf4 table tr th {
  height: 32px !important;
  border: 1px solid #fff;
  text-align: center;
  vertical-align: middle;
  font-weight: 500;
  border-bottom: none;
}

.graf4 table tr td {
  text-align: center;
  vertical-align: middle;
width: 50%;
height: 70px;
   display: table-cell;
  box-sizing: border-box;
  font-size: 14px;
  line-height: 120%;
}

.graf4 table img {
  width: 140px;
}


.graf4 a {
  color: #000;
  text-decoration: underline;
}

.tb14 {
  font-size: 14px;
}

.tben {
  font-size: 18px;
font-family:"Manrope", Roboto, Helvetica, sans-serif;
}

.tben span {
  font-size: 12px;
}

.tbgr {
  background-color: #F8F8F8;
  font-weight: 600;
  font-size: 14px;
}

.tbbl {
  background-color: #EAF7FC;
  font-weight: 600;
}

.tbwh {
  background-color: #fff;
  font-weight: 500;
}

.tbfk {
  background-color: #26ADDF;
  color: #fff;
  font-size: 10px;
  line-height: 140%;
  min-width: 83px !important;
}

.tbdl {
  background-color: #736F6F;
  color: #fff;
  font-size: 10px;
  line-height: 140%;
  min-width: 83px !important;
}

.tbfk2 {
  background-color: #26ADDF;
  color: #fff;
  font-weight: 500;
}

.tbdl2 {
  background-color: #736F6F;
  color: #fff;
  font-weight: 500;
}

.tbfk3 {
  background-color: #EAF7FC;
  color: #000;
  font-weight: 500;
}

.tbdl3 {
  background-color: #EFEFEF;
  color: #000;
  font-weight: 400;
}

.tbTbl {
  color: #26ADDF;
  font-size: 24px;
  text-decoration-line: underline;           /* 下線を引く */
  text-decoration-color: #FFF581;                /* 下線の色 */
  text-decoration-thickness: 6px;            /* 下線の太さ */
  text-underline-offset: -3px;
  text-decoration-skip-ink: none;
  font-weight: 800;
}

.spDsn {display: none !important;}

.tbmin {
  width: 75px !important;
}

.tbmin1 {
  width: 78px !important;
}

.tx10 {
  font-size: 10px !important;
}

/*-----------------------------------------------------------------------------------*/


#comparisonBox {
  width: 100%;
  display: block;
  margin: 0 auto;

margin-bottom: 80px;
}

#comparisonBox h2 {
  width: 125px;
  height: 12px;
  background-image: url(../img/comparison.png);
background-size: 125px 12px;
}

#comparisonBox h3 {
  margin-bottom: 20px;
}

.marBtm1 {
  margin-bottom: 30px;
}

.tbnone {
  background-color: #fff !important;
  border: 1px solid #fff !important;
}

.tbfk4 {
  background-color: #1365AB;
  color: #000;
  font-weight: 500;
}

.tbdl4 {
  background-color: #FF4F4F;
  color: #000;
  font-weight: 400;
}

.tbfk4 img {width: 160px;}
.tbdl4 img {width: 160px;}

.tben2 {
  font-size: 24px !important;
font-family:"Manrope", Roboto, Helvetica, sans-serif;
line-height: 44% !important;
padding-top: 8px;
}

.tben2 span {
  font-size: 12px;
}

.tbfk5 {
  background-color: #F2F9FF;
  color: #000;
  font-weight: 600;
}

.tbdl5 {
  background-color: #FFEEEC;
  color: #000;
  font-weight: 600;
}

.graf2 a {
  color: #000;
  text-decoration: underline;
}

.batSz {
  font-size: 50px !important;
  font-weight: 100;
}

.astlsc {
  font-size: 0.7em;     /* 少し小さく */
  vertical-align: super; /* 上付きに配置 */
  line-height: 1;        /* 行間を調整（必要に応じて） */
}

/*-----------------------------------------------------------------------------------*/


#cvBox {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
  background-color: #F8F8F8;
  padding-top: 80px;
  padding-bottom: 40px;
  background-image: url(../img/ok.svg);
  background-repeat: no-repeat;
  background-size: 261px 43px;
  background-position: top 28px center;
}

#cvBox1 {
  width: 280px;
  height: auto;
  display: block;
  margin:0 auto;
}

#cvBoxleft {
   width: 280px;
  height: auto;
   display: block;
  margin: 0 auto;
  margin-bottom: 12px;
}

.magSp1 {
  margin-bottom: 16px !important;
}

.redgraBtn {
  width: 280px;
  height: 70px;
  display: block;
background-image: linear-gradient(to right, #F26969, #E62C2C);
  border-radius: 70px;
  transition: background-image 0.3s ease;
  position: relative;
  letter-spacing: .1em;
  box-shadow: 0 0px 8px rgba(0, 0, 0, 0.3);
  box-sizing: border-box;
  padding-top: 15px;
  color: #fff;
  font-style: 18px;
  font-weight: bold;

}

.redgraBtn img {
  margin: 0 auto;
  display: block;
  margin-bottom: 5px;
}

.redgraBtn:hover {
  background-image: linear-gradient(to left, #F26969, #E62C2C);
}

.redgraBtn:after {
  content: url(../img/icn_aw3.png);
  display: block; 
  position: absolute;
  top: 38%;
  right: 18px;
  transition: all 0.2s;
}

.redgraBtn:hover:after {
  right: 15px;
}

#cvBoxright {
   width: 280px;
  height: auto;
  display: block;
  box-sizing: border-box;
  padding-top: 63px;
  background-image: url(../img/ok2.png);
  background-repeat: no-repeat;
  background-size: 128px 35px;
  background-position: top 20px center;
}

.redgraBtn2 {
  width: 280px;
  height: 70px;
  display: block;
  border-radius: 70px;
  border: 1px solid rgba(255, 79, 79, 0.6);
  transition: background-image 0.3s ease;
  position: relative;
  letter-spacing: .1em;
  box-sizing: border-box;
  padding-top: 38px;
  color: #FF4F4F;
  font-style: 18px;
  font-weight: bold;
  background-color: #fff;
  background-image: url(../img/logo_raku2.svg);
  background-repeat: no-repeat;
  background-size: 157px 20px;
  background-position: top 13px center;
}

.redgraBtn2:after {
  content: url(../img/icn_aw8.svg);
  display: block; 
  position: absolute;
  top: 38%;
  right: 18px;
  transition: all 0.2s;
}

#cvBox p {
  width: 96%;
  height: 44px;
  background-color: #fff;
  margin: 0 auto;
  line-height: 44px;
  font-size: 14px;
  margin-top: 24px;
  margin-bottom: 20px;
}

#cvBox p span {
  background-image: url(../img/icn_hatena.png);
  background-size: 16px 16px;
  background-repeat: no-repeat;
  background-position: center left;
  padding-left: 20px;
  font-weight: 600;
}

#cvBox2 {
  width: 280px;
  height: auto;
  margin:0 auto;
  display: block;
  background-image: url(../img/ok3.png);
  background-repeat: no-repeat;
  background-size: 216px 38px;
  background-position: top 10px center;
  padding-top: 60px;
}

.bluegraBtn3 {
  width: 280px;
  height: 70px;
  display: block;
  border-radius: 70px;
  border: 1px solid #1365AB;
  transition: background-image 0.3s ease;
  position: relative;
  letter-spacing: .1em;
  box-sizing: border-box;
  padding-top: 38px;
  color: #1365AB;
  font-style: 18px;
  font-weight: bold;
  background-color: #fff;
  background-image: url(../img/logo_dx2.svg);
  background-repeat: no-repeat;
  background-size: 160px 16px;
  background-position: top 13px center;
}

.bluegraBtn3:after {
  content: url(../img/icn_win6.svg);
  display: block; 
  position: absolute;
  top: 38%;
  right: 18px;
  transition: all 0.2s;
}

.redgraBtn3 {
  width: 280px;
  height: 70px;
  display: block;
  border-radius: 70px;
  border: 1px solid #FF4F4F;
  transition: background-image 0.3s ease;
  position: relative;
  letter-spacing: .1em;
  box-sizing: border-box;
  padding-top: 38px;
  color: #FF4F4F;
  font-style: 18px;
  font-weight: bold;
  background-color: #fff;
  background-image: url(../img/logo_raku2.svg);
  background-repeat: no-repeat;
  background-size: 157px 20px;
  background-position: top 13px center;
}

.redgraBtn3:after {
  content: url(../img/icn_win5.svg);
  display: block; 
  position: absolute;
  top: 38%;
  right: 18px;
  transition: all 0.2s;
}


/*-----------------------------------------------------------------------------------*/


#flowBox {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
  margin-top: 80px;
}

#flowBox h2 {
  width: 59px;
  height: 12px;
  background-image: url(../img/flow.svg);
background-size: 59px 12px;
margin: 0 auto;
background-repeat: no-repeat;
color: transparent;         /* テキストを透明に */
  text-indent: -9999px;       /* テキストを画面外に押し出す（安全策） */
  overflow: hidden;
  white-space: nowrap;
  margin: 0 auto;
  margin-bottom: 15px;
}

#flowBox h3 {
    font-size: 32px;
  margin-bottom: 30px;
}

.leadTxt span {
  display: block;
  margin-top: 5px;
  font-size: 12px;
}

.spLeft {
  text-align: left !important;
}

#flowSelect {
  width: 343px;
  height: 60px;
  display: flex;
  justify-content: space-between; /* 均等に配置 */
  padding: 0;
  margin: 0 auto;
  list-style: none; /* デコレーションなし */
  margin-top: 20px;
}


#flowSelect li {
  width: 168px;
  height: 60px;
text-align: center;
font-size: 14px;
line-height: 140%;
font-weight: bold;
  box-sizing: border-box;
  border-radius: 4px 4px 0 0;
  padding-top: 6px;
}

.nonTab {
  background-color: #fff;
  border-top: 1px solid #DCDCDC;
  border-left: 1px solid #DCDCDC;
  border-right: 1px solid #DCDCDC;
  color: #9F9F9F;
  cursor: pointer;
  box-sizing: border-box;
  padding-top: 10px !important;
}

.active {
  background-color: #F8F8F8 !important;
  border-top: 4px solid #26ADDF;
  color: #000;
  border-left: none;
  border-right: none;
}

.tab-content {
  display: none;
  border: none;
}

.tab-content.active {
  display: block;
}

#flowBox1 {
  width: 100%;
  height: auto;
  text-align: center;
  background-color: #F8F8F8;
  padding-top: 10px;
  padding-bottom: 48px;
}

#flowBox2 {
  width: 100%;
  height: auto;
  text-align: center;
  background-color: #F8F8F8;
  padding-top: 10px;
  padding-bottom: 70px;
}

.flowBox198 {
  width: 327px;
  height: auto;
  display: block;
  padding: 0;
  margin: 0 auto;
  list-style: none; /* デコレーションなし */
  margin-top: 20px;
}

.flowBox198 li {
  width: 327px;
text-align: left;
  box-sizing: border-box;
  padding-top: 210px;
  margin-bottom: 16px;
}

.flowBox232 {
  width: 327px;
  height: auto;
  display: block;
  padding: 0;
  margin: 0 auto;
  list-style: none; /* デコレーションなし */
  margin-top: 20px;
}

.flowBox232 li {
  width: 327px;
text-align: left;
  box-sizing: border-box;
  padding-top: 210px;
  margin-bottom: 16px;
}

.flowBox254 {
  width: 327px;
  height: auto;
  display: block;
  padding: 0;
  margin: 0 auto;
  list-style: none; /* デコレーションなし */
  margin-top: 20px;
}

.flowBox254 li {
  width: 327px;
text-align: left;
  box-sizing: border-box;
  padding-top: 210px;
  margin-bottom: 16px;
}

.flowBox276 {
  width: 327px;
  height: auto;
  display: block;
  padding: 0;
  margin: 0 auto;
  list-style: none; /* デコレーションなし */
  margin-top: 20px;
}

.flowBox276 li {
  width: 327px;
text-align: left;
  box-sizing: border-box;
  padding-top: 210px;
  margin-bottom: 16px;
}

#flowBox1 h5 {
  width: 279px;
  margin: 0 auto;
  text-align: center;
  font-size: 18px;
  margin-bottom: 15px;
}

#flowBox2 h5 {
  width: 279px;
  margin: 0 auto;
  text-align: center;
  font-size: 18px;
  margin-bottom: 15px;
  line-height: 140%;
}
.disTxt1 {
  width: 272px;
  font-size: 16px;
  line-height: 180%;
  margin: 0 auto;
}

.disTxt2 {
  width: 272px;
  font-size: 12px;
  margin: 0 auto;
  line-height: 180%;
}

.disTxt22 {
  width: 272px;
  font-size: 12px;
  line-height: 180%;
  margin: 0 auto;
}

.disTxt3 {
  width: 272px;
  font-size: 12px;
  line-height: 180%;
  margin: 0 auto;
}

.flowStep1 {
  background-image: url(../img/step_sp1_1.png);
  height: 339px;
  background-size: 327px 339px;
}

.flowStep2 {
  background-image: url(../img/step_sp1_2.png);
  height: 331px;
  background-size: 327px 331px;
}

.flowStep3 {
  background-image: url(../img/step_sp1_3.png);
  height: 412px;
  background-size: 327px 405px;
  background-repeat: no-repeat;
}
.flowStep4 {
  background-image: url(../img/step_sp1_4.png);
  height: 405px;
  background-size: 327px 405px;
}
.flowStep5 {
  background-image: url(../img/step_sp2_1.png);
  height: 342px;
  background-size: 327px 342px;
}
.flowStep6 {
  background-image: url(../img/step_sp2_2.png);
  height: 361px;
  background-size: 327px 361px;
}
.flowStep7 {
  background-image: url(../img/step_sp2_3.png);
  height: 331px;
  background-size: 327px 331px;
}
.flowStep8 {
  background-image: url(../img/step_sp2_4.png);
  height: 471px;
  background-size: 327px 471px;
}
.flowStep9 {
  background-image: url(../img/step_sp2_5.png);
  height: 405px;
  background-size: 327px 405px;
}

.flowStep10 {display: none;}

/*-----------------------------------------------------------------------------------*/


#faqBox {
  width: 100%;
  display: block;
  margin: 0 auto;
  margin-top: 80px;
}

#faqBox h2 {
  width: 36px;
  height: 16px;
  background-image: url(../img/faq.svg);
background-size: 36px 16px;
margin: 0 auto;
background-repeat: no-repeat;
color: transparent;         /* テキストを透明に */
  text-indent: -9999px;       /* テキストを画面外に押し出す（安全策） */
  overflow: hidden;
  white-space: nowrap;
  margin: 0 auto;
  margin-bottom: 15px;
}

#faqBox h3 {
    font-size: 32px;
  margin-bottom: 30px;
}

#faqBox ul {
  width: 327px;
  height: auto;
  margin: 0 auto;
  list-style: none; /* デコレーションなし */
  border-bottom: 1px solid #efefef;
}

.accordion-item {
  border-top: 1px solid #efefef;
  box-sizing: border-box;
  padding-left: 15px;
  padding-right: 15px;
}

.accordion-header {
  height: 86px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-sizing: border-box;
  padding-left: 45px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 500;
  line-height: 140%;
  background-image: url(../img/icn_q.png);
  background-repeat: no-repeat;
  background-size: 32px 32px;
  background-position: left center;
  text-align: left;
}

.accordion-toggle {
  width: 32px;
  height: 32px;
  text-align: center;
  color: #fff;
  background: none;
  border: none;
  font-size: 19px;
  cursor: pointer;
  background-color: #26ADDF;
  border-radius: 50px;
}

.accordion-content {
  text-align: left;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
}

.accordion-inner {
padding-bottom: 20px;
}

.accordion-inner p {
  font-size: 16px;
  line-height: 180%;
  padding: 20px 20px 20px 50px;
  background: #f8f8f8;
  border-radius: 6px;
  background-image: url(../img/icn_ans.png);
  background-repeat: no-repeat;
  background-size: 32px 32px;
  background-position: left 10px top 20px;
}

#faqBox h4 {
  font-size: 20px;
  margin-top:55px;
  margin-bottom: 30px;
}



/*-----------------------------------------------------------------------------------*/


#noteBox {
  width: 100%;
  display: block;
  margin: 0 auto;
  margin-top: 80px;
}

#noteBox h2 {
  width: 50px;
  height: 16px;
  background-image: url(../img/note.svg);
background-size: 50px 16px;
margin: 0 auto;
background-repeat: no-repeat;
color: transparent;         /* テキストを透明に */
  text-indent: -9999px;       /* テキストを画面外に押し出す（安全策） */
  overflow: hidden;
  white-space: nowrap;
  margin: 0 auto;
  margin-bottom: 15px;
}

#noteBox h3 {
    font-size: 32px;
  margin-bottom: 30px;
}

.accordion-item2 {
  width: 327px;
  height: auto;
  margin: 0 auto;
  box-sizing: border-box;
  border: 1px solid;
  border-radius: 7px;
  margin-bottom: 24px;
}

.accordion-header2 {
  width: 327px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;         /* 一旦、中央に寄せる */
  position: relative;             /* 中にボタンを絶対配置するため */
  font-size: 16px;
  font-weight: 500;
  box-sizing: border-box;
  cursor: pointer;
}

.accordion-title2 {
  /* 見出しは中央寄せされている */
  text-align: center;
  font-weight: 600;
}

.accordion-toggle2 {
  width: 32px;
  height: 32px;
  text-align: center;
  color: #fff;
  background: none;
  border: none;
  font-size: 19px;
  cursor: pointer;
  background-color: #26ADDF;
  border-radius: 50px;
  position: absolute;
  right: 15px;                    /* 右端に配置 */
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
}

.accordion-content2 {
  text-align: left;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
}

.accordion-inner2 {
padding: 0 30px 30px 30px;
}

.accordion-inner2 h5 {
  margin-top: 20px;
  font-size: 14px;
}

.accordion-inner2 p {
  font-size: 14px;
  line-height: 180%;
  padding-top: 15px;
}

.newNote {
  border-color: #1365AB;
}

.tiBlu {color: #1365AB;}
.tgBlu {background-color: #1365AB;}

.rakurakuNote {
  border-color: #FF4F4F;
}

.tiRed {color: #FF4F4F;}
.tgRed {background-color: #FF4F4F;}

/*-----------------------------------------------------------------------------------*/


#contactBox {
  width: 100%;
  display: block;
  margin: 0 auto;
  margin-top: 120px;
  background-color: #F8F8F8;
  padding-top: 70px;
  padding-bottom: 50px;
}

#contactBox h2 {
  width: 87px;
  height: 16px;
  background-image: url(../img/contact.svg);
background-size: 87px 16px;
margin: 0 auto;
background-repeat: no-repeat;
color: transparent;         /* テキストを透明に */
  text-indent: -9999px;       /* テキストを画面外に押し出す（安全策） */
  overflow: hidden;
  white-space: nowrap;
  margin: 0 auto;
  margin-bottom: 15px;
}

#contactBox h3 {
    font-size: 32px;
  margin-bottom: 30px;
}

#contactBox h4 {
  width: 327px;
    font-size: 16px;
  line-height: 140%;
  margin: 0 auto;
  margin-bottom: 12px;
}

.contBox1 {
  width: 327px;
  height: auto;
  margin: 0 auto;
  margin-bottom: 34px;
}

.contBoxcon {
  width: 327px;
  height: 90px;
  margin-bottom: 24px;
}

.contBtn {
  width: 280px;
  height: 56px;
  line-height: 56px;
  box-sizing: border-box;
  border: 1px solid #26ADDF;
  border-radius: 60px;
  background-color: #fff;
  color: #26ADDF;
  font-size: 14px;
  font-weight: 600;
  background-image: url(../img/icn_aw5.svg);
  background-repeat: no-repeat;
  background-size: 16px 16px;
  background-position: right 20px center;
}


.contBox2 {
  width: 327px;
  height: auto;
  margin: 0 auto;
  margin-bottom: 30px;
}

.contBoxcon2 {
  width: 327px;
  height: auto;
  margin-bottom: 12px;
}

.contBoxcon3 {
  box-sizing: border-box;
  text-align: left;
  padding-left: 10px;
  width: 327px;
  height: auto;
}

.telNo {
  font-size: 32px;
  font-family:"Manrope", Roboto, Helvetica, sans-serif;
  font-weight: 700;
  color: #26ADDF;
}

.tel-pc { display: none; }
.tel-sp { display: inline; }

.telGd1 {
  font-size: 16px;
  line-height: 180%;
}

.telGd2 {
  font-size: 14px;
  line-height: 140%;
}

.bldDt {
  width: 160px;
  height: 32px;
  font-size: 14px;
  line-height: 32px;
  background-color: #fff;
  text-align: center;
  margin: 0 auto;
  border-radius: 40px;
}

/*-----------------------------------------------------------------------------------*/

#gFooter {
  width: 100%;
  height: 256px;
  background-color: #fff;
  position: relative;
  box-sizing: border-box;
  padding-top: 40px;
  padding-left: 30px;
  padding-right: 30px;
}

#gFooter h2 {
  width: 138px;
  height: 20px;
background-image: url(../img/headlogo.svg);
background-size: 138px 20px;
background-repeat: no-repeat;
color: transparent;         /* テキストを透明に */
  text-indent: -9999px;       /* テキストを画面外に押し出す（安全策） */
  overflow: hidden;
  white-space: nowrap;
  margin-bottom: 15px;
}

#gFooter h2 a {
  width: 138px;
  height: 20px;
  display: block;
}

#gFooter h3 {
  width: 262px;
  height: 30px;
background-image: url(../img/ffg_logo.svg);
background-size: 262px 30px;
background-repeat: no-repeat;
color: transparent;         /* テキストを透明に */
  text-indent: -9999px;       /* テキストを画面外に押し出す（安全策） */
  overflow: hidden;
  white-space: nowrap;
  margin: 0 auto;
}

#gFooter h3 a {
  width: 262px;
  height: 30px;
  display: block;
}

#gFooter p {
  width: 327px;
  font-size: 12px;
  line-height: 160%;
  text-align: left;
  color: #736F6F;
  margin-bottom: 24px;
}


#copyBox {
  width: 100%;
  height: auto;
  text-align: center;
  line-height: 56px;
  background-color: #736F6F;
}

#copyBox p {
  font-size: 12px;
  color: #fff;
}



/*-----------------------------------------------------------------------------------*/

#floatNav {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 80px;
  background-color: rgba(255, 255, 255, 0.9);
  color: white;
  text-align: center;
  transform: translateY(100%);
  opacity: 0;
  transition: transform 0.4s ease, opacity 0.4s ease;
  z-index: 888;
  padding-top:14px;
}

#floatNav.visible {
  transform: translateY(0%);
  opacity: 1;
}

#fNbox {
  width: 100%;
  height: 56px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.fnBtn {
  width: 176px;
  height: 56px;
  border-radius: 6px;
  position: relative;
  font-weight: bold;
  text-align: center;
}

.newfnBtn {background-image: linear-gradient(to right, #3A95E2, #1365AB);}
.newfnBtn:hover {background-image: linear-gradient(to right, #1365AB, #3A95E2);}
.newfnBtn img {width: 130px; display: block; margin: 0 auto;margin-top: 10px; margin-bottom: 5px;}

.rakufnBtn {background-image: linear-gradient(to right, #F26969, #E62C2C);}
.rakufnBtn:hover {background-image: linear-gradient(to right, #E62C2C, #F26969);}
.rakufnBtn img {width: 119px; display: block; margin: 0 auto;margin-top: 10px; margin-bottom: 5px;}



/*-----------------------------------------------------------------------------------*/

html.modal-open,
body.modal-open {
  overflow: hidden;
  position: fixed;
  width: 100%;
}


.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(var(--vh, 1vh) * 100);
  background: rgba(0, 0, 0, 0.7) !important;
  display: flex;                  /* ← 常時flexにする */
  justify-content: center;
  align-items: center;
  padding: 2rem;                  /* ← スマホで高さ不足時の余裕 */
  overflow-y: auto;               /* ← 全体スクロールを許可 */
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  z-index: 999;
  border: none;
  padding-top: 4rem;
}

.modal.active {
  opacity: 1;
  pointer-events: auto;
}

.modal-content {
  background: white;
  padding: 2rem;
  border-radius: 8px;
  text-align: center;
  max-width: 600px;
  width: 100%;
  max-height: none;               /* ← 制限をやめることでflexの中央配置が安定 */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  margin: auto;                   /* ← flex中央用 */
}


    .modal.active .modal-content {
      transform: translateY(-20px); /* オプション：ちょっと上から出すなら translateY(-20px) などもOK */
    }

    .modal-close {}

.modal:not(.active) .modal-close {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: none !important; /* ← 即時消す */
}

.modal .modal-close {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity 0.3s ease; /* ← お好みで */
}



.modalCon1 h2 {
  width: 210px;
  height: 42px;
  display: block;
  margin: 0 auto;
background-repeat: no-repeat;
color: transparent;         /* テキストを透明に */
  text-indent: -9999px;       /* テキストを画面外に押し出す（安全策） */
  overflow: hidden;
  white-space: nowrap;
  background-size: 210px 42px;
  background-image: url(../img/modalti1.png);
  margin-bottom: 20px;
}


.modalCon1 {
  width: 327px;
  height: auto;
}

.modalCon1 h3 {
  font-size: 16px;
  line-height: 140%;
  text-decoration-line: underline;           /* 下線を引く */
  text-decoration-color: #FFF581;                /* 下線の色 */
  text-decoration-thickness: 6px;            /* 下線の太さ */
  text-underline-offset: -3px;
  margin-bottom: 15px;
}

.modalCon1 h3 span {
  font-size: 18px;
  display: block;
 background-image: url(../img/unline2.png);
 background-size: 237px 6px;
background-repeat: no-repeat;
background-position: center bottom;
}

.modalCon1 ul {
  display: block;
  height: auto;
  margin: 0 auto;
  background-color: #F8F8F8;
  box-sizing: border-box;
  padding: 16px;
  text-align: left;
  font-weight: 600;
list-style: none; /* デフォルトのマーカーを消す */
border-radius: 8px;
  margin-bottom: 20px;
}

.modalCon1 ul li {
  font-size: 14px;
  line-height: 140%;
  margin-bottom: 10px;
  position: relative;
  padding-left: 20px; /* アイコンの幅 + 余白 */
}

.modalCon1 ul li:last-child {
  margin-bottom: 0; /* 最後だけ余白なしに */
}

.modalCon1 ul li::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 0;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background-image: url('../img/cb.svg');
  background-size: contain;
  background-repeat: no-repeat;
}

.modalBtn1 {
  position: relative;
/* 中央揃えの追加 */
  display: flex;
  align-items: center;       /* 上下中央 */
  justify-content: center;   /* 左右中央（必要に応じて） */
}

.modalCon1 p {
  font-weight: 600;
  font-size: 16px;
  line-height: 140%;
  margin: 0 auto;
  margin-top: 20px;
  margin-bottom: 20px;
  text-align: left;
}

.ylwUl {
  text-decoration-line: underline;           /* 下線を引く */
  text-decoration-color: #FFF581;                /* 下線の色 */
  text-decoration-thickness: 6px;            /* 下線の太さ */
  text-underline-offset: -3px;
}

.modalBtn1 {
  height: 56px;
  border-radius: 56px;
  box-sizing: border-box;
  margin: 0 auto;
  color: #1365AB;
  font-size: 14px;
  font-weight: 600;
  border: 1px solid;
  background-repeat: no-repeat;
  background-size: 14px 14px;
  background-position: right 12px center;
}

.mdBt1 {background-color: #1365AB; color: #fff;border-color: #fff;background-image: url(../img/icn_aw7.svg);}
.mdBt2 {background-color: #fff; color: #1365AB;border-color: #1365AB;background-image: url(../img/icn_aw6.svg);}

.mcBtn1 {
  color: #1365AB;
  position: absolute;
  top: 12px;
  right: 15px;
  font-size: 2.2rem;
  cursor: pointer;
}


.spTx12 {
  font-size: 13px !important;
}






.modalCon2 {
  width: 327px;
  height: auto;
  padding: 16px;
}

.modalCon2 table {
  width: 100%;
}

.modalCon2 h2 {
  font-size: 16px;
  line-height: 140%;
  color: #FF4F4F;
  margin-bottom: 20px;
  margin-top: 20px;
}

.modalCon2 th {
  background-color: #F8F8F8;
  border: 1px solid #EFEFEF;
  font-size: 12px;
  line-height: 140%;
  height: 40px;
  line-height: 40px;
}

.modalCon2 td {
  border: 1px solid #EFEFEF;
  font-size: 14px;
  line-height: 120%;
  height: 40px;
  line-height: 40px;
  text-align: left;
  padding-left: 20px;
}

.tbBld {
  text-align: center !important;
  padding-left: 0 !important;
  font-weight: 600;
}

.mcBtn2 {
  color: #FF4F4F;
  position: absolute;
  top: 12px;
  right: 15px;
  font-size: 2.2rem;
  cursor: pointer;
}




.modalCon3 h2 {
  width: 210px;
  height: 42px;
  display: block;
  margin: 0 auto;
background-repeat: no-repeat;
color: transparent;         /* テキストを透明に */
  text-indent: -9999px;       /* テキストを画面外に押し出す（安全策） */
  overflow: hidden;
  white-space: nowrap;
  background-size: 210px 42px;
  background-image: url(../img/modalti1.png);
  margin-bottom: 20px;
}


.modalCon3 {
  width: 327px;
  height: auto;
}

.modalCon3 p {
  font-weight: 600;
  font-size: 16px;
  line-height: 140%;
  margin: 0 auto;
  margin-top: 20px;
  margin-bottom: 20px;
}

.modalCon32 {
  margin: 0 auto;
}

.spMrbtn {
  margin-bottom: 16px;
}



.modalCon4 h2 {
  width: 210px;
  height: 42px;
  display: block;
  margin: 0 auto;
background-repeat: no-repeat;
color: transparent;         /* テキストを透明に */
  text-indent: -9999px;       /* テキストを画面外に押し出す（安全策） */
  overflow: hidden;
  white-space: nowrap;
  background-size: 210px 42px;
  background-image: url(../img/modalti2.png);
  margin-bottom: 20px;
}


.modalCon4 {
  width: 327px;
  height: auto;
}

.modalCon4 p {
  font-weight: 600;
  font-size: 16px;
  line-height: 140%;
  margin: 0 auto;
  margin-top: 20px;
  margin-bottom: 20px;
}

.modalCon4 ul {
  display: block;
  height: auto;
  margin: 0 auto;
  background-color: #FFEEEC;
  padding: 16px !important;
border-radius: 8px;
  margin-bottom: 20px;
  text-align: left;
  font-weight: 600;
list-style: none; /* デフォルトのdiscを消す */
}

.modalCon4 ul li {
  font-size: 14px;
  line-height: 140%;
  margin-bottom: 8px;
  position: relative;
  padding-left: 1.1em; /* テキストを少し右に寄せる */
}

.modalCon4 ul li::before {
  content: '•'; /* discマーク */
  position: absolute;
  left: 0px; /* ←ここで10px右にずらす */
  top: 0;
  line-height: 1;
  color: black;
}

.modalCon4 ul li:last-child {
  margin-bottom: 0; /* 最後だけ余白なしに */
}

.modal4li {
  text-decoration-line: underline;           /* 下線を引く */
  text-decoration-color: #FFF581;                /* 下線の色 */
  text-decoration-thickness: 6px;            /* 下線の太さ */
  text-underline-offset: -3px;
}

.mdBt3 {background-color: #FF4F4F; color: #fff;border-color: #fff;background-image: url(../img/icn_aw7.svg);}


.mdBt4 {background-color: #fff; color: #FF4F4F;border-color: #FF4F4F;background-image: url(../img/icn_aw8.svg);}




.modalCon5 h2 {
  width: 210px;
  height: 42px;
  display: block;
  margin: 0 auto;
background-repeat: no-repeat;
color: transparent;         /* テキストを透明に */
  text-indent: -9999px;       /* テキストを画面外に押し出す（安全策） */
  overflow: hidden;
  white-space: nowrap;
  background-size: 210px 42px;
  background-image: url(../img/modalti2.png);
  margin-bottom: 20px;
}


.modalCon5 {
  width: 327px;
  height: auto;
}

.modalCon5 h3 {
  font-size: 16px;
  line-height: 140%;
  text-decoration-line: underline;           /* 下線を引く */
  text-decoration-color: #FFF581;                /* 下線の色 */
  text-decoration-thickness: 6px;            /* 下線の太さ */
  text-underline-offset: -3px;
  margin-bottom: 15px;
}

.modalCon5 h3 span {
  font-size: 18px;
  display: block;
  background-image: url(../img/unline2.png);
 background-size: 237px 6px;
background-repeat: no-repeat;
background-position: center bottom;
}

.modalCon5 ul {
  display: block;
  height: auto;
  margin: 0 auto;
  background-color: #F8F8F8;
  padding: 16px;
  text-align: left;
  font-weight: 600;
list-style: none; /* デフォルトのマーカーを消す */
border-radius: 8px;
  margin-bottom: 20px;
}

.modalCon5 ul li {
  font-size: 14px;
  line-height: 120%;
  margin-bottom: 10px;
  position: relative;
  padding-left: 20px; /* アイコンの幅 + 余白 */
}

.modalCon5 ul li:last-child {
  margin-bottom: 0; /* 最後だけ余白なしに */
}

.modalCon5 ul li::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 0;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background-image: url('../img/cb_red.svg');
  background-size: contain;
  background-repeat: no-repeat;
}

.modalCon5 p {
  font-weight: 600;
  font-size: 16px;
  line-height: 140%;
  margin: 0 auto;
  margin-top: 20px;
  margin-bottom: 20px;
  text-align: left;
}