/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
body {
  font-family: "source-han-sans-japanese", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #444444;
  background-color: #e8f5fd;
  font-feature-settings: "palt";
  font-size:clamp(1rem, 1.5vw, 1.1rem);
  line-height: 1.6;
  letter-spacing: -.01rem;
  margin:0;padding:0;
  /*animation: fadeIn 1s ease-in 0s 1 normal;*/
}
/*@keyframes fadeIn {
    0% {
        opacity: 0
    }
    100% {
        opacity: 1
    }
}*/
header{max-width:1080px;width:100%;text-align:center;margin:0 auto -8px;padding:0;}
section{max-width:1080px;width:100%;text-align:center;margin:0 auto;background:#fff;}
.continar{max-width:900px;width:92%;margin:0 auto;text-align:left;}
h1{font-size: clamp(1.2rem, 4vw, 3rem);
font-family: Noto Sans JP, Hiragino Sans, ヒラギノ角ゴシック, ヒラギノ角ゴ Pro W3, Hiragino Kaku Gothic Pro, Meiryo, メイリオ, Verdana, ＭＳ Ｐゴシック, sans-serif;
    font-weight: var(--font-weight);
    display: block;
    line-height: var(--line-height, 1.3);
    letter-spacing: -0.1em;
}
h1 span{font-weight:normal;font-size: clamp(1.1rem, 3vw, 3rem);}

ul {
  background:#e8f5fd;
  padding: .5em 1em 0.5em 2.7em;
  position: relative;
  max-width:680px;
  width:82%;
  margin:0 auto;
}
ul li {
  line-height: 1.5;
  padding: 0.5em 0;
  list-style-type: none!important;/*ポチ消す*/
  font-weight:bold;
  font-size: clamp(1rem, 2vw, 1.4rem);
  color: #000;
}
ul li:before {
  font-family: 'Font Awesome 6 Free';
  content: '\f14a';
  position: absolute;
  left : 1em; /*左端からのアイコンまで*/
  color: #2c7bac; /*アイコン色*/
}

/* マスキングテープ風ボックス */
.cstm-box-masking {
  position: relative; /* タイトル配置の基準 */
  margin: 0 auto 2em; /* 外側余白 */
  background-color: #F6EEEC; /* ボックス背景色 */
  max-width: 900px; /* 最大幅 */
  width:100%;
}

/* タイトル（テープ風） */
.cstm-box-masking .box-title1 {
  background-image: repeating-linear-gradient(
    -45deg,
    #F6EEEC 0,
    #F6EEEC 3px,
    #fafafa 3px,
    #fafafa 6px
  ); /* ストライプ模様 */
  transform: rotate(-2deg); /* テープの傾き */
  box-shadow: 0 1px 2px rgb(0 0 0 / .1); /* テープの影 */
  padding: .5em 1em; /* 内側余白 */
  line-height: 1; /* 行の高さ */
  position: absolute; /* 親の左上に固定 */
  top: -1em; /* 上位置 */
  left: 1em; /* 左位置 */
  display: inline-block; /* 内容幅に合わせる */
  font-size: 1.3em; /* フォントサイズ */
  font-weight:700;
  width: auto; /* 幅自動調整 */
  max-width: calc(100%); /* 最大幅調整 */
  white-space: nowrap; /* 折り返さない */
  overflow: hidden; /* はみ出し非表示 */
  text-overflow: ellipsis; /* 省略記号表示 */
}

/* コンテンツ部分の余白 */
.cstm-box-masking .box-content {
  padding: 2.5em 2em 2em; /* 内側余白 */
}

/* 段落の余白リセット */
.cstm-box-masking p {
  margin: 0;
}
/* -------------------------------------------
 * ボックスデザイン：チェック（CHECK）
 * ------------------------------------------- */
.cstm-box-check {
  margin: 1em auto;
  padding: 1.2em 1.5em;
  background-color: #ffffff; /* ボックスの背景色 */
  border-radius: 7px;
  max-width: 800px;
  border: 1px solid rgb(221, 54, 54);
}

/* タイトル部分 */
.cstm-box-check .box-title {
  display: flex;
  align-items: center;
  color: rgb(221, 54, 54); /* アイコン・タイトルの色 */
  font-size: 1.1em;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 0.5em;
}

/* アイコン（疑似要素） */
.cstm-box-check .box-title::before {
  font-family: "Font Awesome 5 Free";
  content: "\f00c"; /* チェックマーク */
  font-weight: 900;
  margin-right: 8px;
  display: flex; /* 垂直中央配置 */
  align-items: center;
  justify-content: center;
}

/* ボックス内の本文 */
.cstm-box-check p { margin: 0; }
/* コンテンツ部分の余白 */
.cstm-box-check .box-content {
  padding: 0; /* 内側余白 */
  font-size:.9em;
}

/* -------------------------------------------
 * ボックスデザイン：ペン（MEMO）
 * ------------------------------------------- */
.cstm-box-memo {
  margin: 2em auto;
  padding: 1.2em 1.5em;
  background-color: #ffffff; /* 背景色 */
  border-radius: 7px;
  max-width: 800px;
  border: 4px solid rgb(55, 82, 220);
}

/* タイトル部分 */
.cstm-box-memo .box-title {
  display: flex;
  align-items: center;
  color: rgb(55, 82, 220); /* 文字色 */
  font-size: clamp(1.2rem, 4vw, 1.8rem);
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 0.5em;
}

/* アイコン（疑似要素） */
.cstm-box-memo .box-title::before {
  font-family: "Font Awesome 5 Free";
  content: "\f304"; /* ペンアイコン */
  font-weight: 900;
  margin-right: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ボックス内の本文 */
.cstm-box-memo p { margin: 0; }

/* セロテープ風ボックス */
.cstm-box-tape {
  position: relative; /* タイトル配置の基準 */
  margin: 2em auto; /* 外側余白 */
  background-color: #E6ECF2; /* ボックス背景色 */
  max-width: 900px; /* 最大幅 */
}

/* タイトル（セロテープ風） */
.cstm-box-tape .box-title2 {
  background-color: rgba(2, 1, 1, 1); /* 透過背景色 */
  border-left: 2px dotted rgb(0 0 0 / .1); /* 左端のギザギザ */
  border-right: 2px dotted rgb(0 0 0 / .1); /* 右端のギザギザ */
  box-shadow: 0 0 5px rgb(0 0 0 / .12); /* 影 */
  transform: rotate(-2deg); /* 傾き */
  color: #fffeff; /* 文字色 */
  padding: 20px 20px; /* 内側余白 */
  line-height: 1; /* 行の高さ */
  position: absolute; /* 親の左上に固定 */
  top: -1em; /* 上位置 */
  left: 1em; /* 左位置 */
  display: inline-block; /* 内容幅に合わせる */
  font-size: 1.3em; /* フォントサイズ */
  font-weight:700;
  width: auto; /* 幅自動調整 */
  max-width: calc(100% - 2em); /* 最大幅調整 */
  white-space: nowrap; /* 折り返さない */
  overflow: hidden; /* はみ出し非表示 */
  text-overflow: ellipsis; /* 省略記号表示 */
}

/* コンテンツの余白 */
.cstm-box-tape .box-content1 {
  padding: 3.5em 2em 2em; /* 内側余白 */
}

/* 段落の余白リセット */
.cstm-box-tape p {
  margin: 0;
}

/* ==========================================================================
   グリッド・カードの基本設定（前回同様）
   ========================================================================== */
.testimonial-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  max-width: 1000px;
  margin: 0 auto;
  padding: 20px;
  box-sizing: border-box;
  align-items: start; /* ★重要：カードごとの高さを独立させ、グリッド全体の引っ張りを防ぐ */
}

.testimonial-card {
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}

.testimonial-stars { color: #FFB400; font-size: 18px; margin-bottom: 12px; }
.testimonial-author { display: flex; align-items: center; gap: 12px; }
.testimonial-author img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.author-name { font-weight: 700; margin: 0; }
.author-title { font-size: 13px; color: #777; margin: 0; }
@media (max-width: 768px) {
  .testimonial-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
.voice_title{font-size: clamp(16px, 4vw, 26px);color:#2b526f;}

/*****パッケージ*****/
.package{
  border:1px solid #eee;
  text-align:center;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
  }
.package-title{
  background: linear-gradient(90deg,rgba(254, 62, 148, 1) 0%, rgba(43, 214, 253, 1) 100%);
  margin:1em 1em;
  padding:6px;
  border-radius: 99px;
}
.package-title-contents{
  font-style: oblique;
  font-size: clamp(18px, 4vw, 38px);
  font-weight:700;
  border-radius: 99px;
  padding:.6em;
  background:#fff;
}
.package-contents{margin:2em 2em 4em;text-align:left;}

.pack-list{}
.pack-list li{font-size:1rem;}
/*****ハック*****/
.hack-box{
  border:1px solid #eee;
  text-align:center;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
}
.hack-header{}
.hack-title{
  color:#000;
  font-weight:700;
  font-size: clamp(18px, 6vw, 32px);
  border-bottom:4px solid;
  border-image: linear-gradient(to right, #fe3e94, #2bd6fd) 1;
  font-style: oblique;
}
.hack-title span{
  background: linear-gradient(90deg,rgba(254, 62, 148, 1) 0%, rgba(43, 214, 253, 1) 100%);
  color:#fff;
  padding:5px 20px;
  border-radius: 6px;
  font-style: oblique;
}
.hack-contents{
  margin:2em 2em 4em;text-align:left;
}
/*****FAQ*****/
.qa-1 dt {
  margin-bottom: 1em;
  color: #333333;
  font-weight: 600;
}
.qa-1 dt::before,
.qa-1 dd::before {
  margin-right: .4em;
}
.qa-1 dt::before {
  content: "Q.";
  color:#fe3e94;
}
.qa-1 dd {
  margin: 0 0 2.5em;
  padding: 1em 1.5em;
  background-color: #f2f2f2;
  color: #333333;
}
.qa-1 dd::before {
  content: "A.";
}

/*****counter*****/
.counter{
  max-width:680px;
  margin:0 auto;
  background: linear-gradient(90deg,rgba(254, 62, 148, 1) 0%, rgba(43, 214, 253, 1) 100%);
  padding:4px;
  text-align:center;
  border-radius: 10px;
}
.counter-contents{
  background:#fff;
  padding:.6em;
  border-radius: 10px;
}
.counter-header{
font-size: clamp(18px, 4vw, 32px);
  font-weight:700;
background: linear-gradient(135deg, #fe3e94 0%, #2bd6fd 100%);
color: transparent;
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
text-fill-color: transparent;
}
.counter-copy{
  font-size: clamp(16px, 4vw, 20px);
  line-height:140%;
  padding:0 0 .6em;
}
.counter-txt{
  font-size: clamp(18px, 4vw, 32px);
  font-weight:700;
}
.sp_disp{display:none;}
@media (max-width: 480px){
.testimonial-card{padding:6px;}
.package-title{
  padding:4px;
}
.sp_disp{display:block;}
}

/*****jisseki*****/
.jisseki{
  display: flex; /* 横並びにする */
  justify-content: space-between; /* 間隔を均等にあける */
  gap: 20px; /* テーブル間の隙間 */
  width: 100%; /* 必要に応じて幅を調整 */
}
.jisseki table{
  border-collapse:  collapse;
  width:32%;
}
.jisseki thead{background:#025bab;color:#fff;}
.jisseki th,td{border:solid #025bab 1px;padding: 10px;box-sizing:border-box;}
.jisseki tbody th{
  background:#f4f7fa;
  color:#025bab;
  font-weight:normal;
}
.jisseki td{
  text-align:right;
}
@media screen and (max-width: 640px) {
  .jisseki{
    display:block;
  }
    .jisseki table{
    display: block;
    width: 100%;
    border-bottom:none;
  }
  .jisseki thead{
    display: block;
    width: 100%;
    border-bottom:none;
  }
  .jisseki th,td{
    width: 100%;
    border-bottom:none;
  }
 
}
.btn{
  max-width:400px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1.4rem 3rem;
  margin-bottom:1.4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #fff;
  border-radius: 0.5rem;
  background:#fb428e;
  border-bottom:6px solid #d72b73;
  -webkit-animation: pulse 2s infinite;
  animation: ripple 1.5s infinite;
}
.btn span:before{
  content: "";            /* 空にする */
  display: inline-block;
  width: 10px;             /* 矢印の幅 */
  height: 10px;            /* 矢印の高さ */
  border-top: 4px solid #ffffff;   /* 矢印の太さと色 */
  border-right: 4px solid #ffffff; /* 矢印の太さと色 */
  transform: rotate(45deg);        /* 45度回転させて「＞」にする */
  margin-right: 20px;     /* 文字との隙間 */
  
  /* 微調整：回転させると少し上にズレるのを防ぐ */
  position: relative;
  top: -2px;
}

@keyframes ripple {
  0% {box-shadow: 0 0 0 0 #fb428e;}
  70% {box-shadow: 0 0 0 10px rgb(27 133 251 / 0%);}
  100% {box-shadow: 0 0 0 0 rgb(27 133 251 / 0%);}
}
.btn:hover {
  background:#fb6fa9;
  text-decoration: none;
  border-bottom:6px solid #fb428e;
}

.payment{
  padding:1em;
  max-width:580px;
  width:92%;
  margin:0 auto;
  text-align:center;
  border-radius: 10px;
  border:4px solid #0d9f84;
  box-shadow: 0 2px 8px rgba(128, 128, 128, 0.302);
}
.payment p{margin:0;line-height:140%;margin-bottom:.4em;font-size: clamp(14px, 2vw, 14px);}
.pay-title{
  font-size: clamp(18px, 4vw, 32px);
  font-weight:700;
  margin-bottom:.4em;
  color:#fb428e;
}
.pay-txt{font-weight:700;font-size: clamp(16px, 4vw, 26px);}
.pay-bg{background:#0d9f84;color:#fff;padding:5px;font-size: clamp(14px, 4vw, 20px);margin-right:.4em;}
.pay-txt span{}

.kiyaku{
    border:1px solid #eee;
    width:92%;
    max-width:600px;
    margin:0 auto;
    font-size:0.8rem;
    padding:1rem;
    overflow-y: auto;
    height:120px;
}

.danger-txt{
  font-size: clamp(12px, 4vw, 14px);
  border:1px solid #bed0f5;
  padding:.6rem;
  max-width:680px;
  width:90%;
  margin:0 auto;
  margin-bottom:1rem;
  text-align:center;
  line-height:140%;
}
.danger-txt p{margin-bottom:.4rem;}

@media screen and (max-width: 480px) {
  .cstm-box-masking .box-title1{
    font-size:1em;
  }
}
.gray{background:#aaa;}
img{max-width: 100%;}
a {
  text-decoration: none;
  color: #3355FF;
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6{
  color: #222;
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
  letter-spacing: .1rem;
}
.pink{color:#fb428e;}
.t-orange{
  color: #ff8600;
}
.t-yellow{
  color: #fbff0c;
}
.t-blue{
color:#084378;
color: #025bab;
}
.t-green{
  color: #23abc7;
}
.bg-blue{background-color: #24bcfe;}
.bg-navy{background-color:#3b3be1 ;}
.bg-d-navy{background-color: #2f3d7c;}
.t-shadow-w {
  text-shadow: 1px 1px 1px rgba(255,255,255,.8), -1px -1px 1px rgba(255,255,255,.8), -1px 1px 1px rgba(255,255,255,.8), 1px -1px 1px rgba(255,255,255,.8);
}
.m_yellow {background:linear-gradient(transparent 55%, #ff6 75%);}
.b_yellow{background:linear-gradient(transparent 0%, #ff6 0%);padding:2px;}
.u_line{text-decoration: underline;}
.bold{font-weight:bold;}
.red{color:#ff0000;}
.blue{color:#325dc5;}
.size4{font-size: clamp(16px, 4vw, 20px);}

  @media (max-width: 767px){
    .h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6{
      letter-spacing:0;
    }
}



/*.hero img{width: 100%;
padding: 0 0 40px 0;}*/
.hero .container {
  max-width: 1040px;
  margin: auto;
  text-align: center;
padding: 0;
}
.hero h2{font-size: clamp(22px, 3.2vw, 2.7rem);
  margin-bottom: 2.8rem;
font-weight: 700;}
.hero h4{font-size: clamp(1.4rem, 3vw, 2.5rem);
  font-weight: 700;
margin-top: .8rem;
padding-bottom: 5px;}
.hero h1{font-size: clamp(3rem, 12vw,  4rem);
line-height: 1.2;}
.hero p{
  font-size:clamp(1.1rem, 1.7vw, 1.6rem);
  font-weight: 500;
  line-height: 1.6;
}
.clip{
  transform: rotate( -5deg );
}
p{margin-bottom: 1.2rem;}

.section-bg {
  background-color: #f4fbfe;
}

 h2 {
  font-size: clamp(22px, 3.5vw, 44px);
  font-weight:900;
  /*text-transform: uppercase;*/
  margin: 2rem 0;
  padding-bottom: 0;
  letter-spacing: -.02rem;
}
h3, .h3{
  font-size: clamp(18px, 3.1vw, 36px);
}
h2, h3{
  color: #2c3e57;
  color: #34373c;
  font-weight:800;
}
.section-title p {
  margin-bottom: 0;
}
.eng800{
  position: relative;
  margin: 0 auto;
  text-align: center;
  font-family: acroterion-jf, sans-serif;
  font-family: montecarlo, sans-serif;
  font-family: pritzious, sans-serif;
  z-index: 1;
  line-height: 1;
  font-size: clamp(2rem, 4.5vw, 3rem);
  letter-spacing: .08em;
  color: #f0f5fa;
}
.eng800 :before {
  position: absolute;
  bottom: -20px;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  width: 40px;
  height: 1px;
  content: '';
  border-radius: 3px;
  background: #f0f5fa;
}
.text-area{
  padding-left:1rem;
  padding-right: 1rem;
}
.text-area2{
  max-width: 870px;
  background-color: #fffef4;
  margin: 5rem auto 4rem;
  padding-left:.5rem;
  padding-right: .5rem;
  padding: 4rem;
}


/**********nayami **************/
#nayami{
  /*background: url(../img/bg_nayami.jpg) no-repeat right bottom;
  background-size: cover;*/
}
#nayami h2{margin-bottom:0;}
#nayami h2 span{font-size:125%;
color:#4851b0;
}
.ci01{
  padding-bottom:30px;
  padding-right:20px;
}
.ci02{
  padding-bottom:50px;
  margin-left:-5px;
}
#nayami p{
  font-size:clamp(1.1rem, 2vw, 1.3rem);
  font-weight: 500;
  text-indent: -.6em;
  padding-left: .5em;
  letter-spacing: -.05rem;
  border-bottom:  1px dotted #aaa;
  padding-bottom: 1rem;
}
@media (max-width: 767px) {

  img.ci01, img.ci02{max-width: 50px;}
  .text-area2{padding: 4rem 2rem 2rem;
    margin: 4rem auto 2rem;}
    #nayami p{
      padding-bottom: .5rem;
      margin-bottom: .6rem;
    }
}
/**********evi **************/
#evi{
  width: 100%;
  background: #f7f7f7 url(../img/evi_bg.jpg) no-repeat center center;
  background-size: cover;
}
#evi h2{background-color:#1f3875;
color:#fff;
font-size: clamp(20px, 3.5vw, 36px);
}
.triangle-btm{
  width: 0;
  height: 0;
  border-top: 20px solid #1f3875;
  border-right: 30px solid transparent;
  border-left: 30px solid transparent;
}


/***********about ***********************/
#about {
  padding: 2rem 0 5rem;
}
.about-logo{max-width: 265px;}
.triangle-btm2{
  width: 0;
  height: 0;
  border-top: 30px solid #f0f4ff;
  border-right: 40px solid transparent;
  border-left: 40px solid transparent;
}
.profile h5{
  font-size:clamp(.9rem, 1vw, 1rem);
}
.profile h5, .profile p{
  text-align:left;
  margin-bottom:0;
  line-height:1.2;
}
.profile p{
  font-size:clamp(.8rem, 1vw, .9rem);
  padding-bottom:.3rem;
}
.award{
  padding: .3rem;
  border-top: 1px solid #83661f;
  border-bottom: 1px solid #83661f;
}
.can{
  justify-content: space-between;
  flex-wrap: wrap;
}
.can div.p-sm-3{
    width: 33%;
}
.ml-l{margin-left: 16.5%;
  text-align: right;}
.mr-r{margin-right: 16.5%;
  text-align: left;}
.speed{background: url(../img/0-1_bg.png) no-repeat center bottom;
  background-size: contain;
margin-bottom: 1rem;
padding-bottom: 5rem;}
@media (max-width: 767px) {
  .about-logo{max-width: 205px;}
  .ml-l{margin-left: auto;
    text-align: right;}
  .mr-r{margin-right: auto;
    margin-left: auto;
    text-align: center;}
}
/*****mian **************/
#mind{
  background: #2F3D7C;
  /*background: url(../img/safe_bg.jpg) center center no-repeat;*/
  background-size: cover;
}
.but{
  background:url(../img/bg-but.png) right bottom no-repeat;
  background-size:contain;
}
/***************product***********/
.product{background: #f7f7f7 url(../img/hero.jpg) no-repeat center bottom;
  background-size: cover;
  padding-top: 0;}
.product h2{
  background-color:#167de4 ;
  color: #fff;
  margin-bottom: 0;
}
.product .appli-box{
  position: relative;
  background: rgba(255,255,255,.9);
  border: 10px solid #325dc5;
  border-radius: 37px;
  max-width: 870px;
  margin: 7rem auto 3rem;
  padding: 3rem;
}
.pd-i{
  position: absolute;
  margin: 0 auto;
  left: 0;
  right: 0;
  top:-60px;
}
.triangle-btm3{
  width: 0;
  height: 0;
  border-top: 20px solid #167de4;
  border-right: 30px solid transparent;
  border-left: 30px solid transparent;
}
.kiyakubox {
  max-width: 540px;
  width: 100%;
  height: 8rem;
  margin: .5rem auto 1rem;
  border: 1px solid #cdcdcd;
  padding: 1rem;
  overflow-y: scroll;
  font-size: 12px;
  line-height: 130%;
}
.small{
  font-size: clamp(13px, 1vw, 16px);
}

@media (max-width: 768px) {
  .product .appli-box{
    border: 8px solid #325dc5;
  border-radius: 17px;
    padding: 1.2rem;
    margin: 5rem auto 3rem;
  }
  .appli-box h5{
    font-size: 1.15rem;
  }
  h2 {margin-bottom: 2rem;}
  #about p{
    font-weight: 500;
    line-height:1.5;
    padding: 0;
  }
  .can div.p-2{
    width: 50%;}
}

/*form********************************************************/

.display-3, .display-4, .display-5 {font-weight: 800;}
.green{
  color: #0acba7;
}

::placeholder {
  text-align: center;
}

.btn_bl {
	display: block;
  max-width: 540px;
  width: 100%;
	text-align: center;
  font-size: clamp(16px, 3vw, 30px);
	vertical-align: middle;
	text-decoration: none;
	margin: auto;
  padding: 2.5rem 10px 2.5rem;
	font-weight: bold;
	background: linear-gradient(to top, rgb(5, 130, 174), #27acd9);
	color: #fff;
	box-shadow: 0 2px 5px rgba(0, 0, 0, .2);
	-webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, .2);
	transition: 0.5s;
  border-radius: 70px;
}
.btn_bl:hover {
	color: #fff;
	opacity: 0.65;
}
.btn_gr{
  background: linear-gradient(to top, rgb(3, 157, 113), #0ecea1);
}

.btn_gr2{
  background: linear-gradient(to top, rgb(3, 157, 108), #0ecea4);
}
/*.btn_gr2::after{background-image: url(../img/btn02.png);
  max-width:350px;}*/
.indent-1 {
  text-indent: -1em;
  padding-left: 1em;
}
.indent-2 {
  padding-left: 40px;
  text-indent: -2rem;
}

@media (max-width: 768px) {
  .btn_bl{
    padding: 1.5rem 10px 1.5rem;

}}
@media (max-width: 576px) {
  .btn_gr::after, .btn_gr2::after{
    margin: 0 auto 0;
  }
}

@media (max-width: 768px) {
  #nayami h3{
    font-size: 1.1rem;
  }
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
#footer {
  padding: 15px 0 13px 0;
  color: #ebebeb;
  font-size: 14px;
  background: #ebf7fc;
  background: #1b1b1b;
  text-align: center;
}
#footer a{color: #ebebeb;}
#footer .copyright {
  color: #ebebeb;
  text-align: center;
}
  table#tokutai {
    max-width: 840px;
    font-size: 12px;
    margin: 0 auto;
    border: 10px solid rgb(234, 242, 245);
  }
  table#tokutai th {
    width: 140px;
    padding: 4px 6px;
    background: rgb(234, 246, 250);
    text-align: right;
    vertical-align: top;
    border-bottom: 1px solid #fff;
  }
  table#tokutai td {
    padding: 4px 6px;
    background: #FFF;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid rgb(234, 246, 250);
  }

.count_box{
    text-align:center;
    background:#325dc5;
    color:#fff;
    border-radius: 90px;
    padding:1rem;
    width:92%;
    margin:0 auto;
    font-weight:700;
}
.sp-disp{display:none;}
@media screen and (max-width: 480px) {
.sp-disp{display:block;}
}
.copy{text-align:center;}

/********フローティングボタン**********/
.rb-float-btn{
  position: fixed;        /* スクロールしても固定 */
  right: 22px;            /* 右からの余白 */
  bottom: 22px;           /* 下からの余白 */
  z-index: 9999;
  width: 128px;           /* ← ボタンの大きさ（高さも同じ値に） */
  height: 128px;
  border-radius: 50%;     /* 丸型 */
  box-sizing: border-box;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  text-decoration: none;
  text-align: center;
  line-height: 1.3;
  color: #ffffff;
  background: #FF5A1F;    /* ← ボタンの色（ブランドカラーに変更可） */
  border: 3px solid rgba(255,255,255,.45);  /* 内側の白いリング */
  box-shadow: 0 6px 16px rgba(0,0,0,.25);
  font-family: inherit;
  transition: transform .2s ease, box-shadow .2s ease;
  animation: rb-pulse 2.2s infinite;
}
.rb-float-btn:hover{
  transform: scale(1.06);
  box-shadow: 0 10px 22px rgba(0,0,0,.3);
}
.rb-float-btn__sm{ font-size: 12px; font-weight: 600; }
.rb-float-btn__main{ font-size: 21px; font-weight: 800; letter-spacing: .02em; margin-top: 1px; }

@keyframes rb-pulse{
  0%   { box-shadow: 0 6px 16px rgba(0,0,0,.25), 0 0 0 0 rgba(255,90,31,.5); }
  70%  { box-shadow: 0 6px 16px rgba(0,0,0,.25), 0 0 0 16px rgba(255,90,31,0); }
  100% { box-shadow: 0 6px 16px rgba(0,0,0,.25), 0 0 0 0 rgba(255,90,31,0); }
}

/* スマホ表示では少し小さく */
@media (max-width: 600px){
  .rb-float-btn{ width: 104px; height: 104px; right: 14px; bottom: 14px; }
  .rb-float-btn__sm{ font-size: 11px; }
  .rb-float-btn__main{ font-size: 18px; }
}
.stack {
  margin: 0 auto;
  padding: 0;
  font-size: 0;
  line-height: 0;
  text-align:center;
}
.stack img {
  display: block;
  margin: 0 auto;
  padding: 0;
  border: 0;
}