/* 明朝フォント */

.font-mincho{
font-family: "Noto Serif JP", serif;
}

/*PCでは無効（改行しない）*/
.sma{
    display: none;
}

/*スマートフォンでは有効（改行する）*/
@media screen and (max-width:768px) {
    .sma{
        display: block;
    }
}

/*目次*/
.toc-005 {
margin: 30px auto;   /* 中央寄せ */
max-width: 400px;    /* 幅を制限 */
border-radius: 3px;
background-color: #f2f2f2;
}

.toc-005 div {
display: flex;
justify-content: center;
align-items: center;
margin: 0;
padding: 10px 0;
background-color: #6bb3e6;
color: #fff;
font-weight: 600;
font-size: 1.1em;
}

.toc-005 ol {
list-style-type: decimal;
margin: 0;
overflow: hidden;
}

.toc-005 > ol {
padding: 1em 1em 1em 3em;
}

.toc-005 ol ol {
margin-top: 5px;
padding-left: 1.1em;
}

.toc-005 li {
padding: 5px 0;
font-weight: 600;
}

.toc-005 ol ol li {
font-weight: 500;
font-size: .9em;
}

.toc-005 a {
color: #333;
text-decoration: none;
}

.client-page{
max-width:900px;
margin:0 auto;
padding:10px;
font-family:"Noto Sans JP", sans-serif;
}

.client-page h1{
font-size:34px;
margin-bottom:20px;
font-family: "Noto Serif JP", serif;
}

.client-page h2{
    font-family: "Noto Serif JP", serif;
font-size:26px;
margin-bottom:16px;
}
@media screen and (max-width:768px) {
.client-page h2{
font-size:25px;
margin-bottom:0px;
}
}

.client-page h3{
font-family: "Noto Serif JP", serif;
font-size:20px;
margin-bottom:12px;
}

.client-page p{
font-family: "Noto Sans JP", sans-serif;
font-size:16px;
line-height:1.7;
}

/* =========================
mv
========================= */
.mv img{
width:100%;
height:auto;
display:block;
}

.mv {
  position: relative;
  width: 100%;
  height: 600px; 
  overflow: hidden;
}
@media (max-width:768px){
    .mv {
  height: 300px; 
}
}
.mv-video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translate(-50%, -50%);
}

.mv-content {
  position: relative;
  z-index: 2;
  color: #fff;
  text-align: center;
  top: 50%;
  transform: translateY(-50%);
}

/* 暗くするオーバーレイ（文字見やすくする） */
.mv::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.4);
  z-index: 1;
}

/* =========================
メインキャッチ
========================= */

h1.main-catch{
text-align:center;
font-size:36px;
font-weight:700;
line-height:1.3;
margin:60px 0;
color:#333;
position:relative;
}

/* 下の装飾ライン */

.main-catch::after{
content:"";
display:block;
width:80px;
height:4px;
margin:20px auto 0;
background:linear-gradient(90deg,#66D2FF,#1EA7E1);
border-radius:2px;
}
/* メディア掲載セクション */
.media {
  text-align: center;
  padding: 40px 0px;
}

.media-image {
  max-width: 100%;
  height: auto;
}

.media-title{
display:block;
width:100%;
padding:20px 0;
font-size:36px;
font-weight:700;
color:#178ABA;
text-shadow:  0 0 10px #fff,
0 0 10px #fff,
0 0 10px #fff, 
0 0 10px #fff, 
0 0 10px #fff, 
0 0 10px #fff, 
0 0 10px #fff, 
0 0 10px #fff, 
0 0 10px #fff, 
0 0 10px #fff, 
0 0 10px #fff, 
0 0 10px #fff, 
0 0 10px #fff, 
0 0 10px #fff, 
0 0 10px #fff, 
0 0 10px #fff, 
0 0 10px #fff, 
0 0 10px #fff;
/* 背景グラデーション：左端透明 → 中央水色 → 右端透明 */
background: linear-gradient(to right, rgba(102,210,255,0), #66D2FF, rgba(102,210,255,0));
/* 背景全体に広げて文字に重なるように */
background-repeat:no-repeat;
background-size:100% 100%;
background-position:center;
}

/* スマホ対応 */
@media (max-width:768px){
.media-title{
font-size:30px;
padding:16px 0;
}

h1.main-catch{
font-size:32px;
line-height:1.3;
margin:30px 0;
}
}
.media-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:20px;
}

.media-grid img{
width:100%;
height:auto;
display:block;
}
/* スマホ対応 */
@media (max-width:768px){
.media-grid{
grid-template-columns:repeat(2,1fr);
}

}

/* =========================
バッジ
========================= */

.badge{
margin:0 0;
}

.badge-grid{
display:flex;
justify-content:center;
gap:20px;
flex-wrap:wrap;
}

/* 円形 */

.badge-item{
width:160px;
height:160px;
border-radius:50%;

display:flex;
flex-direction:column;
justify-content:center;
align-items:center;

text-align:center;
color:#fff;

/* ★ベースカラー */
background:linear-gradient(135deg,#66D2FF,#38BDF8,#1EA7E1);

box-shadow:0 8px 20px rgba(0,0,0,0.08);
padding:10px;

border:2px solid #fff;
}

.badge-item p{
margin:0;
}

/* 大文字 */

.badge-item .badge-big{
font-size:36px;
font-weight:700;
line-height:1.2;
}

/* 小文字 */

.badge-item .badge-small{
font-size:22px;
line-height:1.3;
}

/* =========================
スマホ
========================= */

@media (max-width:768px){

.badge-grid{
gap:12px;
}

.badge-item{
width:80px;
height:80px;
}

.badge-item .badge-big{
font-size:20px;
}

.badge-item .badge-small{
font-size:13px;
}

.badge-grid{
display:flex;
gap:5px;
}
}

/* =========================
CTAボタン
========================= */

.cta-buttons{
display:flex;
flex-direction:column;
align-items:center;
gap:18px;
margin:50px 0;
}

/* ボタン共通 */

.cta-buttons a{
display:flex;
align-items:center;
justify-content:center;
gap:12px;

width:330px;
max-width:100%;

padding:20px 24px;

text-decoration:none;
font-weight:700;
font-size:20px;

border-radius:12px;
transition:.3s;
}

/* =========================
アイコン
========================= */

.icon{
width:26px;
height:26px;
flex-shrink:0;
}

/* SVGを白に */

.btn-line img{
filter:brightness(0) invert(1);
margin-top: 0;
}

/* =========================
利用ガイド
========================= */

.btn-guide{
background:linear-gradient(135deg,#66D2FF,#1EA7E1);
color:#fff;

box-shadow:0 6px 16px rgba(0,0,0,0.08);
}

/* 「利用ガイド」バッジ */

.btn-guide span{
margin-left:8px;
padding:4px 10px;

font-size:14px;
font-weight:600;

border:2px solid #fff;
border-radius:20px;

line-height:1;
}

/* =========================
LINE
========================= */

.btn-line{
background:#06C755;
color:#fff;

box-shadow:0 6px 16px rgba(0,0,0,0.12);
}

/* =========================
hover
========================= */

.cta-buttons a:hover{
transform:translateY(-3px);
box-shadow:0 10px 20px rgba(0,0,0,0.15);
}

/* =========================
PC 横並び
========================= */

@media (min-width:768px){

.cta-buttons{
flex-direction:row;
justify-content:center;
}



}

/* =========================
スマホ
========================= */

@media (max-width:768px){

.cta-buttons a{
font-size:18px;
padding:18px;
}

.icon{
width:22px;
height:22px;
}

.btn-guide span{
font-size:12px;
}

}

/* =========================
オアシスが選ばれる理由
========================= */

.reasons{
width:100%;
text-align:center;
margin: 80px 0;
margin-left:-20px;
margin-right:-20px;
padding:10px 50px 30px;
background:url("images/bg-reasons.jpg") center/cover no-repeat;
}

img.reasonsimg{
height: 300px;
object-fit: cover;
width: 100%;
object-position:bottom;
}
@media screen and (max-width:768px) {
    .reasons{
margin: 30px 0;
margin-left:-20px;
margin-right:-20px;
}
img.reasonsimg{
height: 200px;
object-position:bottom;
}
}
.reasons-title{
font-size:32px;
font-weight:700;
margin-bottom:40px;
color:#333;
}

.heading06 {
  position: relative;
  padding-top: 20px;
  padding-bottom: 20px;
  font-size: 26px;
  text-align: center;
}

.heading06 span {
  position: relative;
  z-index: 2;
  top: 4px; /* 日本語をほんの少し下に */
}

/* 英語装飾（背景に薄く表示） */
.heading06::before {
  content: attr(data-en);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: rgba(102,210,255,0.15); /* 薄い水色 */
  font-size: 50px;
  font-style: italic;
  z-index: 1;
}

.heading07 {
  position: relative;
  padding-top: 20px;
  padding-bottom: 20px;
  font-size: 26px;
  text-align: center;
}

.heading07 span {
  position: relative;
  z-index: 2;
  top: 4px; /* 日本語をほんの少し下に */
}

/* 英語装飾（背景に薄く表示） */
.heading07::before {
  content: attr(data-en);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: rgb(199, 238, 255); /* 薄い水色 */
  font-size: 50px;
  font-style: italic;
  z-index: 1;
}

.heading08 {
  position: relative;
  padding-top: 0px;
  padding-bottom: 0px;
  font-size: 26px;
  text-align: center;
}

.heading08 span {
  position: relative;
  z-index: 2;
  top: 4px; /* 日本語をほんの少し下に */
}

/* 英語装飾（背景に薄く表示） */
.heading08::before {
  content: attr(data-en);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: rgba(249, 253, 255, 0.822); /* 薄い水色 */
  font-size: 50px;
  font-style: italic;
  z-index: 1;
}

/* グリッド（PCは横並び、スマホは縦） */
.reasons-grid{
display:flex;
justify-content:center;
gap:20px;
flex-wrap: nowrap;
}

/* 各理由アイテム */
.reason-item{
flex:1 1 250px;
max-width:300px;

display:flex;
flex-direction:column;
align-items:center;
text-align:center;

/* 白カード */
background:#fff;
padding:35px 25px;
border-radius:16px;

/* ほんのり影 */
box-shadow:0 8px 25px rgba(0,0,0,0.08);

margin-bottom:30px;

/* ホバーで少し浮く（任意） */
transition:all .3s;
}

.reason-icon{
width:80px;
height:80px;
margin-bottom:20px;
}

p.reason-text{
font-size:18px;
line-height:1.5;
color:#333;
font-weight:500;
margin: 0;
}

/* スマホ対応 */
@media (max-width:768px){
.reasons-title{
font-size:26px;
}

.reason-icon{
width:60px;
height:60px;
margin: 0;
}

.reason-text{
font-size:16px;
}

.reasons{
padding:10px 20px 30px;
}

.reasons-grid
 {
    flex-direction: column;
}

.reason-item {
    flex: 1 1 50px;
    max-width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    text-align: center;
    background: #fff;
    padding: 15px 25px;
    border-radius: 16px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
    margin-bottom: 30px;
    transition: all .3s;
    justify-content: center;
    gap:20px
}
.reasons-grid{
gap:0px;
}
}

/* =========================
ご利用の流れセクション
========================= */

.flow{
width:100%;
text-align:center;
margin:80px 0;
}
@media screen and (max-width:768px) {
   .flow{
margin:30px 0;
} 
}
.flow-title{
font-size:32px;
font-weight:700;
margin-bottom:10px;
color:#333;
}

.flow-subtitle{
font-size:18px;
margin-bottom:40px;
color:#666;
}

/* フロー図 */
.flow-grid{
display:flex;
justify-content:center;
align-items: flex-start;
flex-wrap:nowrap; /* 横並び固定 */
gap:5px; /* アイコン間の隙間 */
margin-bottom: 50px;
}

/* 各ステップ */
.flow-step{
flex:1 1 auto;
display:flex;
flex-direction:column;
align-items:center;
text-align:center;
max-width:120px; /* 小さくして収める */
}

.flow-icon{
width:55px;  /* 小さく調整 */
height:55px;
margin-bottom:6px;
}

.flow-text{
font-size:10px; /* 極限まで小さく */
line-height:1.2;
font-weight:500;
color:#333;
}

.flow-arrow{
font-size:15px; /* 矢印も小さく */
margin:0 2px;
color:#66D2FF;
}
/* =========================
スマホ対応
========================= */
@media (max-width:768px){
.flow-title{
font-size:26px;
}

.flow-subtitle{
font-size:14px;
}

.flow-step{
max-width:60px; /* さらに小さくして収まる */
}

.flow-icon{
width:30px;
height:30px;
}

p.flow-text{
font-size:9px;
}

.flow-arrow{
font-size:10px;
margin:0 1px;
}
/* フロー図 */
.flow-grid{
display:flex;
margin-bottom: 10px;
}
}

.flow_design05 {
  text-align: left;
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 100%;
}
.flow_design05 img{
height: 300px;
width:100%;
object-fit: cover;
margin-top: 20px;
}
.flow05 {
  padding-left: 0;
}

.flow05 > li {
  list-style-type: none;
  position: relative;
  padding-left: 50px;
}

.flow05 > li:not(:last-child) {
  padding-bottom: 10px;
}

.flow05 > li .icon05 {
  width: 2em;
  height: 2em;
  line-height: 2em;
  text-align: center;
  border-radius: 100vh;
  display: inline-block;
  background: #333;
  color: #fff;
  position: absolute;
  left: 0;
}

.flow05 > li:not(:last-child)::before {
  content: '';
  background: #c3c3c3;
  width: 4px;
  height: 100%;
  position: absolute;
  top: calc(50% - -30px);
  left: 19px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

.flow05 > li dl dt {
  font-size: 1.3em;
  font-weight: 600;
  color: #4D9BC1;
  line-height: 1.5em;
  margin-bottom: 5px;
}

.flow05 > li dl dd {
  margin-left: 0;
  line-height: 1.8em;
  margin-bottom: 20px;
}

.flow-video-fixed {
  width: 560px;   /* 動画幅固定 */
  height: 315px;  /* 動画高さ固定 */
  margin: 10px auto 20px; /* 中央寄せ */w */

}

.flow-video-fixed iframe {
  width: 100%;
  height: 100%;
}
@media (max-width:768px){
  .flow-video-fixed {
    width: 100%;    /* スマホで全幅 */
    height: auto;   /* 縦は自動調整 */
  }

  .flow-video-fixed iframe {
    width: 100%;
    height: auto;
  }
 .flow05 > li dl dt {
  font-size: 1.2em;
  font-weight: 600;
  color: #4D9BC1;
  line-height: 1.5em;
  margin-bottom: 5px;
}
.flow_design05 img{
height: 200px;
}
}
/* =========================
ご予約ボタンセクション（全幅3カラム）
========================= */
.flow-buttons {
  display: flex;
  justify-content: space-between; /* 3つを全幅に均等配置 */
  gap: 20px;
  width: 100%;
  max-width: 900px; /* セクション幅の制限は必要に応じて */
  margin: 0 auto 20px; /* 中央寄せ */
  margin-top: 10px;
}

.flow-buttons button {
  flex: 1; /* 均等幅 */
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 0;
  border: none;
  border-radius: 25px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.3s, color 0.3s;
}

/* LINEボタン（SVG） */
.btn-line {
  background-color: #06C755;
  color: #fff;
}

.btn-line img.btn-icon {
  width: 20px;
  height: 20px;
  filter: brightness(0) invert(1); /* 白く */
  margin-top: 0!important;
}

/* 電話ボタン（FontAwesome） */
.btn-call {
  background-color: #4D9BC1;
  color: #fff;
}

.btn-call i {
  font-size: 18px;
}

/* メールボタン（FontAwesome） */
.btn-mail {
  background-color: #66D2FF;
  color: #fff;
}

.btn-mail i {
  font-size: 18px;
}

/* ホバー効果 */
.flow-buttons button:hover {
  opacity: 0.85;
}

/* =========================
スマホ対応
========================= */
@media (max-width:768px){
  .flow-buttons {

    gap: 3px;
  }

  .flow-buttons button {
    width: 100%;
    font-size: 14px;
    padding: 10px 0;
  }

  .btn-line img.btn-icon {
    width: 18px;
    height: 18px;
  }

  .btn-call i,
  .btn-mail i {
    font-size: 16px;
  }
}

/* 料金セクション */

.price-section{
margin:80px 0;
text-align:center;
}
@media screen and (max-width:768px) {
    .price-section{
margin:30px 0;
}
}
.price-title{
font-size:32px;
font-weight:700;
margin-bottom:10px;
}

.price-sub{
color:#666;
margin-bottom:30px;
}


/* テーブル */

.price-table-wrap{
max-width:600px;
margin:0 auto 40px;
}

.price-table{
width:100%;
border-collapse:collapse;
font-size:18px;
}

.price-table th{
background:#66D2FF;
color:#fff;
padding:14px;
}

.price-table td{
padding:16px;
border-bottom:1px solid #eee;
}

.recommend{
background:#f0faff;
font-weight:600;
}

.badge2{
background:#66D2FF;
color:#fff;
font-size:12px;
padding:3px 8px;
border-radius:20px;
margin-left:6px;
}


/* 強調カード */

.price-card{
max-width:600px;
margin:0 auto 25px;
padding:30px;

background:#f8fcff;
border-radius:12px;

box-shadow:0 10px 25px rgba(0,0,0,0.06);
}

.price-card-title{
font-size:16px;
margin-bottom:10px;
}

.price-total{
font-size:22px;
font-weight:700;
margin-bottom:10px;
}

.price-total span{
font-size:36px;
color:#66D2FF;
}

.price-breakdown{
font-size:14px;
color:#666;
}


/* 注意書き */

.price-note{
font-size:13px;
color:#777;
max-width:700px;
margin:20px auto;
line-height:1.6;
}


/* ボタン */

.price-btn-wrap{
margin-top:30px;
}

.price-btn{
display:inline-block;
background:#000;
color:#fff;
padding:16px 32px;
border-radius:6px;
text-decoration:none;
font-size:16px;
font-weight:600;

transition:.3s;
}

.price-btn:hover{
background:#222;
}


/* スマホ */

@media (max-width:768px){

.price-title{
font-size:26px;
}

.price-table{
font-size:16px;
}

.price-total span{
font-size:30px;
}

}

/* =====================
お客様の声
===================== */
.voice-section{
padding:60px 30px;
text-align:center;
background:#f8fcff;
}

/* タイトル */

h2.voice-title{
font-size:32px;
font-weight:700;
margin-bottom:40px;
}

/* 動画 */

.voice-video{
max-width:850px;
margin:0 auto 50px;
}

.voice-video iframe{
width:100%;
aspect-ratio:16/9;
border-radius:12px;
box-shadow:0 10px 30px rgba(0,0,0,0.08);
}

/* 口コミエリア */

.voice-grid{
max-width:750px;
margin:0 auto;
display:flex;
flex-direction:column;
gap:25px;
}

/* カード */

.voice-card{
background:#fff;
border-radius:12px;
padding:28px;
text-align:left;

box-shadow:0 10px 30px rgba(0,0,0,0.06);

transition:.3s;
}

.voice-card:hover{
transform:translateY(-4px);
}

/* 年代ラベル */

.voice-label{
display:inline-block;

background:#e9f4ff;
color:#2c5aa0;

font-weight:700;
font-size:13px;

padding:6px 12px;
border-radius:20px;

margin-bottom:15px;
}

/* 本文 */

.voice-text{
font-size:15px;
color:#555;
line-height:1.9;
}

/* ボタン */

.voice-more{
margin-top:40px;
}

.voice-btn{
display:inline-block;
background:#000;
color:#fff;
padding:16px 32px;
border-radius:6px;
text-decoration:none;
font-size:16px;
font-weight:600;

transition:.3s;
}

.voice-btn:hover{
background:#222;
}

/* =====================
スマホ
===================== */

@media (max-width:768px){

.voice-section{
padding:40px 20px;
margin-top:50px;
}

h2.voice-title{
font-size:26px;
margin-bottom:30px;
}

.voice-video{
margin-bottom:35px;
}

.voice-card{
padding:22px;
}

.voice-text{
font-size:14px;
line-height:1.8;
}

}

/* =====================
 privacyセクション 
===================== */
.privacy-section{
margin:80px 0;
}
@media screen and (max-width:768px) {
   .privacy-section{
margin:30px 0;
} 
}

/* カード */

.privacy-card{
max-width:700px;
margin:20px auto;
background:#f6f6f6;
border-radius:12px;
padding:40px 10px;
text-align:center;
}

.privacy-lock{
font-size:48px;
color:#66D2FF;
margin-bottom:10px;
}

.privacy-title{
font-size:25px;
margin-bottom:18px;
}

.privacy-desc{
color:#555;
line-height:1.7;
}


/* リスト */

.privacy-list{
max-width:530px;
margin:40px auto 0;
list-style:none;
padding:0;
display:flex;
flex-direction:column;
gap:18px;
}

@media (max-width:768px){
 .privacy-list{
max-width:300px;
}   
}

/* 各行 */

.privacy-list li{

display:flex;
align-items:flex-start;
gap:12px;

font-size:18px;
line-height:1.6;

}

/* アイコン */

.privacy-list i{

color:#66D2FF;
font-size:18px;
margin-top:3px;

}

/* テキスト */

.privacy-text{
display:inline;
}

.privacy-break{
display:inline;
}


/* セラピストセクション */

.therapist-section{
margin: 80px 0;
padding:50px 30px 80px;
background:url("images/bg-therapist.jpg") center/cover no-repeat;
}
@media screen and (max-width:768px) {
   .therapist-section{
margin: 30px 0;
padding:30px 20px 50px;
} 
}

/* カルーセル */

.therapist-slider{
margin-top:40px;
}

.therapist-slider img{

width:100%;
height:320px;

object-fit:cover;

border-radius:12px;

}


/* STEP */

.therapist-steps{
max-width:340px;
margin:40px auto;
list-style:none;
padding:0;
display:flex;
flex-direction:column;
gap:14px;
font-size:16px;
}

.step-num{
display:inline-block;
width:28px;
height:28px;
line-height:28px;
text-align:center;
background:#66D2FF;
color:#fff;
border-radius:50%;
font-size:14px;
margin-right:10px;
}
@media screen and (max-width:768px) {
   .step-num{
width:20px;
height:20px;
line-height:20px;
font-size:13px;
margin-right:5px;
}
.therapist-steps{
font-size:14px;
}
}

/* CTA */

.therapist-buttons{

max-width:900px;
margin:40px auto 0;

display:grid;
grid-template-columns:repeat(3,1fr);
gap:10px;

}

/* ボタン幅を揃える */

.therapist-buttons .price-btn{
text-align:center;
}

/* スマホ */

@media (max-width:768px){

.therapist-buttons{
grid-template-columns:1fr;
}

}

/* FAQ */

.faq-section{
margin:80px 0;
}
@media screen and (max-width:768px) {
   .faq-section{
margin:30px 0;
} 
}
.faq-wrap{
max-width:800px;
margin:40px auto 0;
display:flex;
flex-direction:column;
gap:12px;
}


/* アコーディオン */

.qa-001{

border:1px solid #eee;
border-radius:8px;

background:#fff;

overflow:hidden;

}


.qa-001 summary{

cursor:pointer;

padding:18px 20px;

font-size:16px;
font-weight:600;

position:relative;

list-style:none;

}


/* Qマーク */

.qa-001 summary::before{

content:"Q";

color:#66D2FF;
font-weight:bold;

margin-right:8px;

}


/* 開閉アイコン */

.qa-001 summary::after{

content:"+";

position:absolute;
right:20px;
top:50%;
transform:translateY(-50%);

font-size:20px;
color:#66D2FF;

}

.qa-001[open] summary::after{
content:"−";
}


/* 回答 */

.qa-001 p{

padding:0 20px 20px;

font-size:15px;
line-height:1.7;
color:#555;

}

.qa-001 p::before{
content:"A ";
color:#66D2FF;
font-weight:bold;
}

summary::-webkit-details-marker {
  /* Safariで表示されるデフォルトの三角形アイコンを消します */
  display: none;
}

/* faqボタン */

.faq-btn-wrap{
margin-top:30px;
}

.faq-btn {
    display: block;
    background: #000;
    color: #fff;
    padding: 16px 32px;
    border-radius: 6px;
    text-decoration: none;
    font-size: 16px;
    font-weight: 600;
    margin: auto;
    transition: .3s;
    width: 250px;
    text-align: center;
}

.faq-btn:hover{
background:#222;
}


/* CTA */

.cta-section{
margin:80px 0;
padding:20px 30px 50px;
text-align:center;
background-image: linear-gradient(90deg, #d9faff, #add5f5);
border-radius:10px;
}
@media screen and (max-width:768px) {
.cta-section{
margin:30px 0;
padding:20px 20px 30px;
text-align:center;
background-image: linear-gradient(90deg, #d9faff, #add5f5);
border-radius:10px;
}}
/* 見出し */

.cta-title{
font-size:28px;
font-weight:700;
margin-bottom:10px;
text-shadow:  0 0 10px #fff,
0 0 10px #fff,
0 0 10px #fff, 
0 0 10px #fff, 
0 0 10px #fff, 
0 0 10px #fff, 
0 0 10px #fff, 
0 0 10px #fff, 
0 0 10px #fff, 
0 0 10px #fff, 
0 0 10px #fff, 
0 0 10px #fff, 
0 0 10px #fff, 
0 0 10px #fff, 
0 0 10px #fff, 
0 0 10px #fff, 
0 0 10px #fff, 
0 0 10px #fff;
}

.cta-sub{
margin-bottom:40px;
color:#444;
}


/* 3カラム */

.cta-grid{

max-width:900px;
margin:0 auto;

display:grid;
grid-template-columns:repeat(3,1fr);
gap:１0px;
align-items:center;

}


/* 共通ボタン */

.cta-grid a{

display:flex;
align-items:center;
justify-content:center;
gap:10px;

padding:18px;

border-radius:6px;

text-decoration:none;

font-weight:600;

color:white;

}

.cta-phone a{
  padding:0px; 
  color:#333;
}
/* LINE */

.cta-line{
background:#06C755;
}

.cta-line img{
width:22px;
}


/* メール */

.cta-mail{
background:#333;
}


/* 電話 */

.cta-phone{
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
}
.cta-phone i{
    font-size:.8em;
}
.phone-number{

font-size:28px;
font-weight:700;

}

.phone-time{

font-size:14px;
color:#333;

}
.cta-line img{
filter: brightness(0) invert(1);
}

/* スマホ */

@media (max-width:768px){

.cta-grid{
grid-template-columns:1fr;
gap: 20px;
}
h2.cta-title{
font-size:20px;
line-height: 1.3em;
}

.cta-sub{
font-size:14px;
margin-bottom: 20px;
}

}