html {
  overflow: auto;
  font-size: 16px;
}
body {
  position: relative;
  text-align: center;
  font-family: 
    -apple-system, BlinkMacSystemFont,  /* macOS用サンセリフ */
    "Manrope", Roboto, Helvetica,      /* 英文用 */
    "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif; /* 和文用 */
    padding-bottom: 80px;
}

a {
  display: inline-block;
  color: inherit;
  transition: 0.3s ease-in;
}
img {
  width: 100%;
}

button {
  outline: none;
  border: none; /* 必要ならボーダーもリセット */
}
button:focus {
  outline: none;
}
/* =====================================================
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: none;
}

.br-sp {
  display: block;
}


/* =====================================================
Content
===================================================== */

#gHead {
  width: 100%;
  height: 72px;
  background-color: #fff;
  box-sizing: border-box;
  padding-top: 24px;
}

#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: 560px;
  display: block;
  background-image: url(../img/bg.png);
  background-repeat: no-repeat;
background-size: cover;
background-position: center;
margin-bottom: 80px;
}

#kvSpace {
  width: 990px;
  height: 560px;
  margin: 0 auto;
  position: relative;
}

#kvSpace img {
  opacity: 1;
  /*transform: translateY(20px);*/
  /*transition: all 0.6s ease;*/
}

/* アニメーション後：表示＆元の位置 */
#kvSpace img.show {
  opacity: 1;
  transform: translateY(0);
}

#kvob1 {
  width: 523px;
  position: absolute;
  top: 70px;
  left: 0;
}

#kvob2 {
  width: 400px;
  position: absolute;
  top:40px;
  right: 0;
}

.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: 32px;
}


#pointBox {
  width: 960px;
  height: 255px;
  display: block;
  margin: 0 auto;
margin-bottom: 120px;
}

#pointBox h2 {
  width: 55px;
  height: 12px;
  background-image: url(../img/point.png);
background-size: 55px 12px;
}

#pointBox ul {
  display: flex;
  justify-content: space-between; /* 均等に配置 */
  padding: 0;
  margin: 0;
  list-style: none; /* デコレーションなし */
  margin-top: 40px;
}

#pointBox ul li {
  width: 304px;
  height: 152px;
background-size: 304px 152px;
text-align: left;
font-size: 18px;
font-weight: bold;
  box-sizing: border-box;
  padding-top:50px;
  padding-left: 150px;
  line-height: 140%;
}

.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: 100%;
  font-size: 16px;
  line-height: 180%;
}

#typeSelect {
  display: block;
  width: 576px;
  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: 280px;
  height: 55px;
  background-size: 280px 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: 280px 60px;
  background-position: top 5px center;
  z-index: 2;
}

#newautoBtn {background-image: url(../img/typebtn1.png);background-color: #E9F2FA;}
#mycarBtn {background-image: url(../img/typebtn2.png);background-color: #FFEEEC;}

#newautoBtn.activeSel {
  background-image: url(../img/typebtn11.png);
  border-top: 2px solid #1f5b9c;
  border-right: 2px solid #1f5b9c;
  border-left: 2px solid #1f5b9c;
}

#mycarBtn.activeSel {
  background-image: url(../img/typebtn22.png);
  border-top: 2px solid #f1544b;
  border-right: 2px solid #f1544b;
  border-left: 2px solid #f1544b;
}

#typeSelect ul li:hover {
  opacity: 0.7;
}

.activeSel:hover {
  opacity: 1 !important;
}

.tabContent {
  display: none;
}

.tabContent.activeSel {
  display: block;
}

#newautoBox {
  width: 100%;
  height: 640px;
  background-color: #E9F2FA;
  padding-top: 40px;
  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: 640px;
  background-color: #FFEEEC;
  padding-top: 40px;
  padding-bottom: 40px;
  transition: height 0.5s ease;
  overflow: hidden;
  position: relative;
  border-top: 2px solid #f1544b;
}

#rakurakuBox.collapsed {
  height: 640px !important;
}

.discriptBox1 {
  width: 960px;
  display: block;
  margin: 0 auto;
  box-sizing: border-box;
  padding-top:105px;
  padding-left: 95px;
  margin-bottom: 55px;
}

.newautoDis {
  height: 313px;
  background-image: url(../img/newauto1.png);
  background-size: 960px 313px;
}

.rakurakuDis {
  height: 330px;
  background-image: url(../img/rakuraku1.png);
  background-size: 960px 330px;
}

.discriptBox1 h4 {
  display: none;
}

.discriptBox1 p {
  text-align: left;
  width: 436px;
  line-height: 180%;
  margin-bottom: 10px;
}

.discriptBox1 p a {
  font-size: 14px;
  line-height: 140%;
  color: #1365AB;
  font-weight: bold;
  background-image: url(../img/icn_aw_un1.svg);
  background-repeat: no-repeat;
  background-size: 12px 12px;
  background-position: top 2px right;
  padding-right: 20px;
}

.discriptBox1 p a:hover {
  opacity: 0.7;
}

.newautoBox2 {
    width: 960px;
  height: 228px;
  display: block;
  margin: 0 auto;
  margin-bottom: 48px;
}

.rakurakuBox2 {
  width: 960px;
  height: auto;
  display: block;
  margin: 0 auto;
  margin-bottom: 58px;
}

.newautoBox2 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;
}

.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 {
  display: flex;
  justify-content: space-between; /* 均等に配置 */
  padding: 0;
  margin: 0;
  list-style: none; /* デコレーションなし */
  margin-top: 24px;
}

.newautoUlpoint li {
  width: 304px;
  height: 134px;
background-size: 304px 134px;
font-size: 18px;
font-weight: bold;
  box-sizing: border-box;
  padding-top:60px;
  line-height: 140%;
}

.rakurakuUlpoint {
  display: flex;
  justify-content: space-between; /* 均等に配置 */
  padding: 0;
  margin: 0;
  list-style: none; /* デコレーションなし */
  margin-top: 24px;
}

.rakurakuUlpoint li {
  width: 304px;
  height: 280px;
background-size: 304px 424px;
font-size: 18px;
  box-sizing: border-box;
  padding-top:60px;
  line-height: 140%;
  border-radius: 14px;
}

.rakuLi {
  width: 256px;
  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 {
  font-size: 12px;
  line-height: 180%;
  text-align: left;

}

.rakuPbtn {
  display: block;
  width: 256px;
  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_win4.svg);
}

#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);}
#rakurakuBox2point2 {background-image: url(../img/rakupoi2.png);}
#rakurakuBox2point3 {background-image: url(../img/rakupoi3.png);}


#newautoBox3 {
    width: 960px;
  height: 528px;
  display: block;
  margin: 0 auto;
  margin-bottom: 48px;
}

#newautoBox3left {
    width: 448px;
  height: auto;
  display: block;
  float: left;
}

#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: 40px;
}

#newautoBox3left ul {
  width: 448px;
  padding: 0;
  list-style: none; /* デコレーションなし */
  padding-top: 10px;
}

#newautoBox3left ul li {
  width: 448px;
  height: 96px;
  margin-top: 16px;
  background-repeat: no-repeat;
  background-size: 448px 96px;
  background-position: top center;
color: transparent;         /* テキストを透明に */
  text-indent: -9999px;       /* テキストを画面外に押し出す（安全策） */
  overflow: hidden;
  white-space: nowrap;
}

#kinri1 {background-image: url(../img/kinri11.png);}
#kinri2 {background-image: url(../img/kinri22.png); height: 112px !important;background-size: 448px 112px !important;}
#kinri3 {background-image: url(../img/kinri33.png);}
#kinri6 {background-image: url(../img/kinri44.png);}
#kinri4 {background-image: url(../img/kinri4.png);
  height: 126px !important;
  background-size: 448px 126px !important;
}
#kinri5 {
  background-image: url(../img/kinri5.png);
  height: 154px !important;
  background-size: 448px 154px !important;
}

#newautoBox3right {
    width: 448px;
  height: 528px;
  display: block;
  float: right;
}

#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: 100%;
  font-size: 16px;
  line-height: 180%;
  margin-top: 20px;
  margin-bottom: 20px;
}

#newautoBox3right img {
  width: 100%;
  margin-bottom: 20px;
}

#newautoBox3right a {
  font-size: 16px;
  font-weight: bold;
  line-height: 140%;
  text-decoration: underline;
  color: #1365AB;
  background-image: url(../img/icn_pdf1.svg);
  background-repeat: no-repeat;
  background-size: 16px 21px;
  background-position: right;
  padding-right: 24px;
}

#newautoBox3right a:hover {
  opacity: 0.7;
}

#newautoBox33 {
    width: 960px;
  height: 475px;
  display: block;
  margin: 0 auto;
}

#newautoBox3right2 {
    width: 448px;
  height: auto;
  display: block;
  float: right;
}

#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: 100%;
  font-size: 16px;
  line-height: 180%;
  margin-top: 20px;
  margin-bottom: 20px;
}

.boxTxt2 {
  text-align: left;
  width: 100%;
  font-size: 12px;
  line-height: 180%;
  margin-top: 30px;
}

.boxTxt2 span {
  font-weight: bold;
}

#newautoBox3right2 img {
  width: 100%;
  margin-bottom: 20px;
}

#newautoBox3right2 a {
  font-size: 16px;
  line-height: 140%;
  font-weight: bold;
  text-decoration: underline;
  color: #FF4F4F;
  background-image: url(../img/icn_pdf3.svg);
  background-repeat: no-repeat;
  background-size: 16px 21px;
  background-position: right;
  padding-right: 24px;
}

#newautoBox3right2 a:hover {
  opacity: 0.7;
}

#newautoBox4 {
  width: 960px;
  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;
}

.wrapCenter {
   display: flex;
  justify-content: center;  /* 水平方向中央に配置 */
align-items: flex-end;
  gap: 24px;                /* ボタン同士の間隔 */
  margin: auto;
}

.button-wrap {
  display: flex;
  flex-direction: column;    /* 吹き出し→ボタンの縦並び */
  align-items: center;
}

.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;
  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: 17px;
  color: #fff;
  font-style: 18px;
  font-weight: bold;
  background: linear-gradient(to right, #3A95E2, #1365AB);
  background-size: 200% 100%;
  background-position: left center;
  transition: background-position 0.3s ease-in-out;
}

.bluegraBtn img {
  margin: 0 auto;
  display: block;
  margin-bottom: 5px;
}

.nalBtn {
  width:161px;
}

.bluegraBtn:hover {
  background-position: right center;
}

.bluegraBtn:after {
  content: url(../img/icn_aw7.svg);
  display: block; 
  position: absolute;
  top: 38%;
  right: 18px;
  transition: all 0.2s;
}

.bluegraBtn:hover:after {
  right: 15px;
}

.whiteBtn {
  width: 280px;
  height: 56px;
  display: block;
  border-radius: 56px;
  letter-spacing: .1em;
  border: 1px solid rgba(19, 101, 171, 0.4);
  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;

}

.whiteBtn:hover {
  background-image: url(../img/icn_win2.svg);
  background-color: #1365AB;
  color: #fff;
}

.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 14px center;
  background-size: 16px 16px;

}

.whiteBtn2:hover {
  background-image: url(../img/icn_win2.svg);
  background-color: #FF4F4F;
  color: #fff;
}

#newautoBox4 p {
  width: 950px;
  height: 44px;
  font-weight: bold;
  background-color: #F8F8F8;
  margin: 0 auto;
  line-height: 44px;
  font-size: 14px;
  margin-top: 32px;
}

#newautoBox4 p span {
  background-image: url(../img/icn_hatena.png);
  background-size: 16px 16px;
  background-repeat: no-repeat;
  padding-left: 20px;
}

.rakuAn {
  color: #FF4F4F !important;
  background-image: url(../img/icn_aw_un2.svg) !important;
  background-size: 12px 12px !important;
}

#newautoBoxclose {
  width: 160px;
  margin: 0 auto;
  font-size: 16px;
  height: 32px;
  line-height: 32px;
  font-weight: bold;
  color: #1365AB;
  background-image: url(../img/icn_close.png);
  background-repeat: no-repeat;
  background-size: 32px 32px;
  background-position: right;
  padding-right: 30px;
}

#newautoBoxclose:hover {
  opacity: 0.7;
}

#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: 160px;
  margin: 0 auto;
  font-size: 16px;
  height: 32px;
  line-height: 32px;
  font-weight: bold;
  color: #FF4F4F;
  background-image: url(../img/icn_rakuclose.svg);
  background-repeat: no-repeat;
  background-size: 32px 32px;
  background-position: right;
  padding-right: 30px;
}

#rakurakuBoxclose:hover {
  opacity: 0.7;
}

#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;
}

#rakurakuBox6 {
  width: 960px;
  height: auto;
  display: block;
  position: relative;
  text-align: left;
  margin:0 auto;
  padding-bottom: 5px;
  margin-bottom: 18px;
}

#newautoBox7 {
  width: 960px;
  height: auto;
  display: block;
  position: relative;
  text-align: center;
  margin:0 auto;
  padding-bottom: 45px;
}

#newautoBox7 a {
  font-size: 16px;
  line-height: 140%;
  font-weight: bold;
  text-decoration: underline;
  color: #1365AB;
  background-image: url(../img/icn_pdf1.svg);
  background-repeat: no-repeat;
  background-size: 16px 21px;
  background-position: right;
  padding-right: 24px;
}

#rakurakuBox7 {
  width: 960px;
  height: auto;
  display: block;
  position: relative;
  text-align: center;
  margin:0 auto;
  padding-bottom: 45px;
}

#rakurakuBox7 a {
  font-size: 16px;
  line-height: 140%;
  font-weight: bold;
  text-decoration: underline;
  color: #FF4F4F;
  background-image: url(../img/icn_pdf3.svg);
  background-repeat: no-repeat;
  background-size: 16px 21px;
  background-position: right;
  padding-right: 24px;
}

#rakurakuBox6 a:hover {
  opacity: 0.7;
}


/*-----------------------------------------------------------------------------------*/

#valueBox {
  width: 100%;
  display: block;
  margin: 0 auto;
margin-bottom: 120px;
}

#valueBox h2 {
  width: 59px;
  height: 12px;
  background-image: url(../img/value.png);
background-size: 59px 12px;
}

#valueBox h3 {
  margin-bottom: 30px;
}

.graf1 {
  width: 960px;
  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: 960px;
  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 {
  width: 960px;
  margin:0 auto;
  margin-bottom: 40px;
}

.graf3 {
  display: none;
}

.graf2 p {
  width: 100%;
  text-align: left;
  font-size: 12px;
  line-height: 180%;
  margin-top: 10px;
}

.graf2 h4 {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 16px;
}

.graf2 h4 span {
  font-size: 16px;
}

.graf2 table {
  width: 960px;
  table-layout: fixed;          /* ← 均等幅にするポイント！ */
  border-collapse: collapse;
}

.graf2 table tr th {
  border: 1px solid #fff;
  padding: 10px;
  text-align: center;
  vertical-align: middle;
  background-color: #F8F8F8;
  font-weight: 500;
  height: 56px;
}

.graf2 table tr td {
  border: 1px solid #fff;
  padding: 10px;
  text-align: center;
  vertical-align: middle;
}

.graf4 {display: none;}

.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%;
}

.tbdl {
  background-color: #736F6F;
  color: #fff;
  font-size: 10px;
  line-height: 140%;
}

.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;
}

/*-----------------------------------------------------------------------------------*/


#comparisonBox {
  width: 100%;
  display: block;
  margin: 0 auto;

margin-bottom: 120px;
}

#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;
font-family:"Manrope", Roboto, Helvetica, sans-serif;
}

.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;
}

.compTb {
  width: 200px !important;
  text-align: left !important;
  padding-left: 20px !important;
  line-height: 140%;
}

.batSz {
  font-size: 50px !important;
  font-weight: 100;
}

/*-----------------------------------------------------------------------------------*/


#cvBox {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
  background-color: #F8F8F8;
  padding-top: 60px;
  padding-bottom: 70px;
}

#cvBox1 {
  width: 888px;
  height: 133px;
  display: block;
  margin:0 auto;
}

#cvBoxleft {
   width: 584px;
  height: 133px;
  float:left;
   display: flex;
  justify-content: center;  /* 水平方向中央に配置 */
align-items: flex-end;
  gap: 24px;                /* ボタン同士の間隔 */
  margin: auto;
  background-image: url(../img/ok.svg);
  background-repeat: no-repeat;
  background-size: 347px 47px;
  background-position: top center;
}

.redgraBtn {
  width: 280px;
  height: 70px;
  display: block;
  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;
  background: linear-gradient(to right, #F26969, #E62C2C);
  background-size: 200% 100%;
  background-position: left center;
  transition: background-position 0.3s ease-in-out;
}

.redgraBtn img {
  margin: 0 auto;
  display: block;
  margin-bottom: 5px;
}

.redgraBtn:hover {
  background-position: right center;
}

.redgraBtn:after {
  content: url(../img/icn_aw7.svg);
  display: block; 
  position: absolute;
  top: 38%;
  right: 18px;
  transition: all 0.2s;
}

.redgraBtn:hover:after {
  right: 15px;
}

#cvBoxright {
   width: 280px;
  height: 133px;
  display: block;
  float: right;
  justify-content: center;  /* 水平方向中央に配置 */
  box-sizing: border-box;
  padding-top: 63px;
  background-image: url(../img/ok2.png);
  background-repeat: no-repeat;
  background-size: 168px 47px;
  background-position: top 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: 134px 16px;
  background-position: top 13px center;
}

.redgraBtn2:hover {
  background-image: url(../img/logo_raku1.svg);
  background-color: #FF4F4F;
  color: #fff;
}

.redgraBtn2:after {
  content: url(../img/icn_aw8.svg);
  display: block; 
  position: absolute;
  top: 38%;
  right: 18px;
  transition: all 0.2s;
}

.redgraBtn2:hover:after {
  content: url(../img/icn_aw7.svg);
  right: 15px;
}

#cvBox p {
  width: 98%;
  height: 44px;
  background-color: #fff;
  margin: 0 auto;
  line-height: 44px;
  font-size: 14px;
  margin-top: 44px;
  margin-bottom: 60px;
  font-weight: bold;
}

#cvBox p span {
  background-image: url(../img/icn_hatena.png);
  background-size: 16px 16px;
  background-repeat: no-repeat;
  padding-left: 20px;
}

#cvBox2 {
  width: 584px;
  height: 133px;
  margin:0 auto;
  display: flex;
  justify-content: space-between; /* 均等に配置 */
align-items: flex-end;
  gap: 24px;
  background-image: url(../img/ok3.png);
  background-repeat: no-repeat;
  background-size: 288px 47px;
  background-position: top center;
}

.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:hover {
  background-image: url(../img/logo_dx1.svg);
  background-color: #1365AB;
  color: #fff;
}

.bluegraBtn3:after {
  content: url(../img/icn_win6.svg);
  display: block; 
  position: absolute;
  top: 38%;
  right: 18px;
  transition: all 0.2s;
}

.bluegraBtn3:hover:after {
  content: url(../img/icn_win2.svg);
}

.redgraBtn3 {
  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;
}

.redgraBtn3:hover {
  background-image: url(../img/logo_raku1.svg);
  background-color: #FF4F4F;
  color: #fff;
}

.redgraBtn3:after {
  content: url(../img/icn_win5.svg);
  display: block; 
  position: absolute;
  top: 38%;
  right: 18px;
  transition: all 0.2s;
}

.redgraBtn3:hover:after {
  content: url(../img/icn_win2.svg);
}

.astlsc {
  font-size: 0.7em;     /* 少し小さく */
  vertical-align: super; /* 上付きに配置 */
  line-height: 1;        /* 行間を調整（必要に応じて） */
}


/*-----------------------------------------------------------------------------------*/


#flowBox {
  width: 100%;
  display: block;
  margin: 0 auto;
  margin-top: 120px;
}

#flowBox h2 {
  width: 59px;
  height: 12px;
  background-image: url(../img/value.png);
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;
}

#flowSelect {
  width: 576px;
  height: 60px;
  display: flex;
  justify-content: space-between; /* 均等に配置 */
  padding: 0;
  margin: 0 auto;
  list-style: none; /* デコレーションなし */
  margin-top: 20px;
}


#flowSelect li {
  width: 280px;
  height: 60px;
text-align: center;
font-size: 16px;
font-weight: bold;
  box-sizing: border-box;
  border-radius: 4px 4px 0 0;
  line-height: 60px;
}

.nonTab {
  background-color: #fff;
  border-top: 1px solid #DCDCDC;
  border-left: 1px solid #DCDCDC;
  border-right: 1px solid #DCDCDC;
  color: #9F9F9F;
  cursor: pointer;
}

.nonTab:hover {
  opacity: 0.7;
}

.active {
  background-color: #F8F8F8 !important;
  border: none;
  border-top: 4px solid #26ADDF;
  color: #000;
}

.tab-content {
  display: none;
  border: none;
}

.tab-content.active {
  display: block;
}

#flowBox1 {
  width: 100%;
  height: auto;
  text-align: center;
  background-color: #F8F8F8;
  padding-top: 30px;
  padding-bottom: 70px;
}

#flowBox2 {
  width: 100%;
  height: auto;
  text-align: center;
  background-color: #F8F8F8;
  padding-top: 30px;
  padding-bottom: 70px;
}

.flowBox198 {
  width: 960px;
  height: 198px;
  display: flex;
  justify-content: space-between; /* 均等に配置 */
  padding: 0;
  margin: 0 auto;
  list-style: none; /* デコレーションなし */
  margin-top: 20px;
}

.flowBox198 li {
  width: 464px;
  height: 198px;
text-align: left;
  box-sizing: border-box;
  background-size: 464px 198px;
  position: relative;
}

.flowBox232 {
  width: 960px;
  height: 232px;
  display: flex;
  justify-content: space-between; /* 均等に配置 */
  padding: 0;
  margin: 0 auto;
  list-style: none; /* デコレーションなし */
  margin-top: 20px;
}

.flowBox232 li {
  width: 464px;
  height: 232px;
text-align: left;
  box-sizing: border-box;
  background-size: 464px 232px;
  position: relative;
}

.flowBox254 {
  width: 960px;
  height: 254px;
  display: flex;
  justify-content: space-between; /* 均等に配置 */
  padding: 0;
  margin: 0 auto;
  list-style: none; /* デコレーションなし */
  margin-top: 20px;
}

.flowBox254 li {
  width: 464px;
  height: 254px;
text-align: left;
  box-sizing: border-box;
  background-size: 464px 254px;
  position: relative;
}

.flowBox276 {
  width: 960px;
  height: 276px;
  display: flex;
  justify-content: space-between; /* 均等に配置 */
  padding: 0;
  margin: 0 auto;
  list-style: none; /* デコレーションなし */
  margin-top: 20px;
}

.flowBox276 li {
  width: 464px;
  height: 276px;
text-align: left;
  box-sizing: border-box;
  background-size: 464px 276px;
  position: relative;
}

#flowBox1 h5 {
  width: 272px;
  font-size: 18px;
  position: absolute;
  top: 70px;
  left: 160px;
}

#flowBox2 h5 {
  width: 272px;
  font-size: 18px;
  position: absolute;
  top: 70px;
  left: 160px;
  line-height: 140%;
}
.disTxt1 {
  width: 272px;
  font-size: 16px;
  line-height: 180%;
  position: absolute;
  top: 100px;
  left: 160px;
}

.disTxt2 {
  width: 272px;
  font-size: 12px;
  line-height: 180%;
  position: absolute;
  top: 100px;
  left: 160px;
}

.disTxt22 {
  width: 272px;
  font-size: 12px;
  line-height: 180%;
  position: absolute;
  top: 130px;
  left: 160px;
}

.disTxt3 {
  width: 414px;
  font-size: 12px;
  line-height: 180%;
  position: absolute;
  top: 190px;
  left: 25px;
}

.flowStep1 {background-image: url(../img/step_pc-3.png);}
.flowStep2 {background-image: url(../img/step_pc-2.png);}
.flowStep3 {background-image: url(../img/step_pc-1.png);}
.flowStep4 {background-image: url(../img/step_pc.png);}
.flowStep5 {background-image: url(../img/step2_pc1.png);}
.flowStep6 {background-image: url(../img/step2_pc.png);}
.flowStep7 {background-image: url(../img/step2_pc2.png);}
.flowStep8 {background-image: url(../img/step2_pc3.png);}
.flowStep9 {background-image: url(../img/step2_pc4.png);}

/*-----------------------------------------------------------------------------------*/


#faqBox {
  width: 100%;
  display: block;
  margin: 0 auto;
  margin-top: 120px;
}

#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: 960px;
  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;
  background-image: url(../img/icn_q.png);
  background-repeat: no-repeat;
  background-size: 32px 32px;
  background-position: left center;
}

.accordion-header:hover .accordion-toggle {
  opacity: 0.6;
}

.accordion-toggle {
  width: 29px;
  height: 29px;
  text-align: center;
  color: #fff;
  background: none;
  border: none;
  font-size: 17px;
  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: 120px;
}

#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: 640px;
  height: auto;
  margin: 0 auto;
  box-sizing: border-box;
  border: 1px solid;
  border-radius: 7px;
  margin-bottom: 24px;
}

.accordion-header2 {
  width: 640px;
  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-header2:hover .accordion-toggle2 {
  opacity: 0.6;
}

.accordion-title2 {
  /* 見出しは中央寄せされている */
  text-align: center;
  font-weight: 600;
}

.accordion-toggle2 {
  width: 29px;
  height: 29px;
  text-align: center;
  color: #fff;
  background: none;
  border: none;
  font-size: 17px;
  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 {
    font-size: 16px;
  line-height: 140%;
  margin-bottom: 12px;
}

.contBox1 {
  width: 592px;
  height: 90px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between; /* 均等に配置 */
  margin-bottom: 34px;
}

.contBoxcon {
  width: 280px;
  height: 90px;
}

.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;
}

.contBtn:hover {
  border: 1px solid #fff;
  background-color: #26ADDF;
  color: #fff;
  background-image: url(../img/icn_aw3.png);
  background-position: right 15px center;
}

.contBox2 {
  width: 592px;
  height: 71px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between; /* 均等に配置 */
  margin-bottom: 30px;
}

.contBoxcon2 {
  width: 230px;
  height: 90px;
}

.contBoxcon3 {
  box-sizing: border-box;
  text-align: left;
  padding-left: 10px;
  width: 370px;
  height: 90px;
  padding-top: 15px;
}

.telNo {
  font-size: 32px;
  font-family:"Manrope", Roboto, Helvetica, sans-serif;
  font-weight: 700;
  color: #26ADDF;
}

  .tel-pc { display: block; }
  .tel-sp { display: none; }

.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;
}

#gFooter h2 {
  width: 200px;
  height: 29px;
background-image: url(../img/headlogo.svg);
background-size: 200px 29px;
background-repeat: no-repeat;
color: transparent;         /* テキストを透明に */
  text-indent: -9999px;       /* テキストを画面外に押し出す（安全策） */
  overflow: hidden;
  white-space: nowrap;
  position: absolute;
  top: 48px;
  left: 30px;
}

#gFooter h2 a {
  width: 248px;
  height: 36px;
  display: block;
}

#gFooter h3 {
  width: 350px;
  height: 40px;
background-image: url(../img/ffg_logo.svg);
background-size: 350px 40px;
background-repeat: no-repeat;
color: transparent;         /* テキストを透明に */
  text-indent: -9999px;       /* テキストを画面外に押し出す（安全策） */
  overflow: hidden;
  white-space: nowrap;
  position: absolute;
  bottom: 40px;
  right: 30px;
}

#gFooter h3 a {
  width: 350px;
  height: 40px;
  display: block;
}

#gFooter p {
  font-size: 14px;
  line-height: 180%;
  text-align: left;
  color: #736F6F;
  position: absolute;
  top: 100px;
  left: 30px;
}


#copyBox {
  width: 100%;
  height: 56px;
  text-align: center;
  line-height: 56px;
  background-color: #736F6F;
}

#copyBox p {
  font-size: 14px;
  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: 816px;
  height: 56px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}

.fnBtn {
  width: 400px;
  height: 56px;
  border-radius: 6px;
  position: relative;
  font-weight: bold;
/* 中央揃えの追加 */
  display: flex;
  align-items: center;       /* 上下中央 */
  justify-content: center;   /* 左右中央（必要に応じて） */
}

.fnBtn:after {
  content: url(../img/icn_aw7.svg);
  display: block; 
  position: absolute;
  top: 38%;
  right: 18px;
  transition: all 0.2s;
}

.fnBtn:hover:after {
  right: 15px;
}

.newfnBtn {background-image: linear-gradient(to right, #3A95E2, #1365AB);}
.newfnBtn:hover {background-image: linear-gradient(to right, #1365AB, #3A95E2);}
.newfnBtn img {width: 160px; margin-right: 5px;}

.rakufnBtn {background-image: linear-gradient(to right, #F26969, #E62C2C);}
.rakufnBtn:hover {background-image: linear-gradient(to right, #E62C2C, #F26969);}
.rakufnBtn img {width: 152px; margin-right: 5px;}



/*-----------------------------------------------------------------------------------*/
body.modal-open {
      overflow: hidden;
    }

    .modal {
      position: fixed;
      top: 0; left: 0;
      width: 100%; height: 100%;
      background: rgba(0, 0, 0, 0.7) !important;
      display: flex;
      justify-content: center;
      align-items: center;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.3s ease; /* フェードアニメーション */
      z-index: 999;
      border: none;
    }

    .modal.active {
      opacity: 1;
      pointer-events: auto;
    }

    .modal-content {
      background: white;
      padding: 2rem;
      border-radius: 8px;
      text-align: center;
      position: relative;
      transform: translateY(0);
      transition: transform 0.3s ease;
    }

    .modal.active .modal-content {
      transform: translateY(-20px); /* オプション：ちょっと上から出すなら translateY(-20px) などもOK */
    }

    .modal-close {}

.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: 728px;
  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;
  text-decoration-skip-ink: none;
}

.modalCon1 h3 span {
  font-size: 18px;
  text-decoration-line: underline;           /* 下線を引く */
  text-decoration-color: #FFF581;                /* 下線の色 */
  text-decoration-thickness: 6px;            /* 下線の太さ */
  text-underline-offset: -3px;
}

.modalCon1 ul {
  width: 362px;
  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;
}

.modalCon1 ul li {
  font-size: 14px;
  line-height: 120%;
  margin-bottom: 16px;
  position: relative;
  padding-left: 20px; /* アイコンの幅 + 余白 */
}

.modalCon1 ul li:last-child {
  margin-bottom: 0; /* 最後だけ余白なしに */
}

.modalCon1 ul li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background-image: url('../img/cb.svg');
  background-size: contain;
  background-repeat: no-repeat;
}

.modalBtn1 {
  width: 280px;
  height: 56px;
  border-radius: 56px;
  margin: 0 auto;
  position: relative;
  font-weight: bold;
/* 中央揃えの追加 */
  display: flex;
  align-items: center;       /* 上下中央 */
  justify-content: center;   /* 左右中央（必要に応じて） */
  font-size: 14px;
  color: #fff;
}

.modalCon1 p {
  font-weight: 600;
  font-size: 16px;
  line-height: 140%;
  margin: 0 auto;
  margin-top: 28px;
  margin-bottom: 20px;
}

.ylwUl {
  text-decoration-line: underline;           /* 下線を引く */
  text-decoration-color: #FFF581;                /* 下線の色 */
  text-decoration-thickness: 6px;            /* 下線の太さ */
  text-underline-offset: -3px;
}

.modalBtn1 {
  width: 280px;
  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 19px 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);}

.mdBt1:hover {
  background-position: right 15px center;
background-color: #fff;
color: #1365AB;
border-color: #1365AB;
background-image: url(../img/icn_aw6.svg);
}
.mdBt2:hover {
  background-position: right 15px center;
background-color: #1365AB;
color: #fff;
border-color: #fff;
background-image: url(../img/icn_aw7.svg);
}

.mcBtn1 {
  color: #1365AB;
  position: absolute;
  top: 12px;
  right: 15px;
  font-size: 2.2rem;
  cursor: pointer;
}









.modalCon2 {
  width: 327px;
  height: auto;
  padding: 16px;
}

.modalCon2 table {
  width: 100%;
  margin-bottom: 16px;
}

.modalCon2 h2 {
  font-size: 16px;
  line-height: 140%;
  color: #FF4F4F;
  margin-bottom: 20px;
  margin-top: 10px;
}

.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: 728px;
  height: 218px;
}

.modalCon3 p {
  font-weight: 600;
  font-size: 16px;
  line-height: 140%;
  margin: 0 auto;
  margin-top: 20px;
  margin-bottom: 20px;
}

.modalCon32 {
  width: 590px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between; /* 均等に配置 */
}




.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: 728px;
  height: auto;
}

.modalCon4 p {
  font-weight: 600;
  font-size: 16px;
  line-height: 140%;
  margin: 0 auto;
  margin-top: 20px;
  margin-bottom: 20px;
}

.modalCon4 ul {
  width: 432px;
  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: 120%;
  margin-bottom: 10px;
  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);}
.mdBt3:hover {
  background-position: right 15px center;
background-color: #fff;
color: #FF4F4F;
border-color: #FF4F4F;
background-image: url(../img/icn_aw8.svg);
}

.mdBt4 {background-color: #fff; color: #FF4F4F;border-color: #FF4F4F;background-image: url(../img/icn_aw8.svg);}
.mdBt4:hover {
  background-position: right 15px center;
background-color: #FF4F4F;
color: #fff;
border-color: #fff;
background-image: url(../img/icn_aw7.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: 728px;
  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;
  text-decoration-skip-ink: none;
}

.modalCon5 h3 span {
  font-size: 18px;
  display: block;
}

.modalCon5 ul {
  width: 362px;
  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: 16px;
  position: relative;
  padding-left: 20px; /* アイコンの幅 + 余白 */
}

.modalCon5 ul li:last-child {
  margin-bottom: 0; /* 最後だけ余白なしに */
}

.modalCon5 ul li::before {
  content: "";
  position: absolute;
  top: 50%;
  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: 28px;
  margin-bottom: 20px;
}