*{
    margin: 0;
    padding: 0;
    box-sizing: border-box; 
}

p{
    font-family: "Noto Sans JP", sans-serif;
}

a{
    text-decoration: none;
    font-family: "Noto Sans JP", sans-serif;
    color: #007bff;
    background-color: transparent;
}

img{
    max-width: 430px;
    width: 100%;
}

body{
    max-width: 430px;
    margin: 0 auto;
    text-align: center;
    align-items: center;
    justify-content: center;
    margin-top: 77px;
}

main{
    max-width: 430px;
}

/* FV（ヒーロー） */
.kv{
    position: relative;          /* 子の absolute の基準にする */
    overflow: hidden;
    isolation: isolate;          /* 外部の重なり影響を遮断 */
  }
  
/* 斜めに流れるスライド */
.slides {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
  }
  

.llw {
    max-width: 430px;
    width: 430px;
    color: #231815;
    margin: 0 auto;
    overflow: hidden;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    position: relative;
    z-index: 2;
    justify-content: center;
    align-items: center;
    position: relative;
}

/*fvのスライダー*/

/* FV背景 */
.slider-container {
    position: relative;
    width: 100%;
    height: 810px;
    background: linear-gradient(to bottom, #f68106 0%, #ff4201 100%);
    display: flex;
    justify-content: center;
    align-items: center;

  }
  

/* 背景画像 */
.background-image {
    position: absolute;
    inset: 0;
    background: url(../img/advance-fv-backimg4.png) no-repeat center center; 
    background-size: cover;
    z-index: 1;
    height: 810px;
  }

/* 画像の共通スタイル */
/* 共通 */
.slide{
    position:absolute; 
    top:43%; left:50%;
    width:76%;   /* 好みで大きさ調整 */
    aspect-ratio: 1 / 1;        /* 正円用（SafariもOK） */
    transform: translate(-50%, -50%);
    display:block;
    object-fit: cover;          /* 画像のはみ出し調整 */
    border-radius: 50%;
    clip-path: circle(50% at 50% 50%); /* 念のため丸抜き */
    filter: drop-shadow(0 20px 60px rgba(0,0,0,.35));
    transition: transform var(--move-ms,1.5s) ease-in-out;
    will-change: transform;
}


/* 3つの定位置（右上／中央／左下） */
.slide.pos-rt{
    transform: translate(40%, -100%) scale(.9);   /* 右上 */
    z-index: 2;
}
.slide.pos-center{
    transform: translate(-50%, -50%) scale(1);  /* 中央 */
    z-index: 3;
}
.slide.pos-lb{
    transform: translate(-120%, 30%) scale(.9); /* 左下 */
    z-index: 2;
}

/* 中央になったときの白枠（1秒出して1秒で消す） */
.slide.highlight{
    box-shadow: 0 0 0 6px #fff, 0 20px 60px rgba(0,0,0,.45);
}

/* ハイライトの白縁を円形で表示 */
.slide.highlight{
    box-shadow: 0 0 0 6px #fff, 0 20px 60px rgba(0,0,0,.45);
}

/* セクションそのものを中央寄せ＆最大幅指定 */
.movie{
    position: relative;                 /* fixedは使わない */
    margin: 0px auto;                  /* 左右センター */
    width: 410px;
    margin-top: -20px;
    z-index: 4;
}

/* 埋め込み動画を横幅いっぱい＆16:9で自動高さ */
.movie iframe{
    display: block;
    aspect-ratio: 16 / 9;  /* 比率維持（古いSafariなら height計算にフォールバック追加） */
    border: 0;
}

.campaign-contents{
    position: relative;
    margin: 0 auto;
    margin-top: -17px;
}

.countdown-fixed {
    position: fixed;
    bottom: 0;
    width: 100%;
    width: 430px;
    background: #fff;
    border-top: 2px solid rgb(255, 90, 60);
    padding: 12px 0;
    box-shadow: 0 -2px 6px rgba(0, 0, 0, 0.1);
    z-index: 1000;
    font-family: sans-serif;
}

.countdown {
    display: flex;
    justify-content: center;
    gap: 16px;
    font-weight: bold;
}

.box {
    background-color: rgb(255, 90, 60);;
    color: white;
    padding: 16px;
    border-radius: 10px;
    font-size: 24px;
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.unit {
    font-size: 12px;
    color: #444;
    margin-top: 4px;
}

.timer-unit {
    display: flex;
    flex-direction: column;
    align-items: center;
}

@media screen and (max-width: 480px) {
    .box {
    width: 48px;
    height: 48px;
    font-size: 18px;
    padding: 12px;
    }
    .unit {
    font-size: 10px;
    }
}

.circle-date {
    position: absolute;
    z-index: 10;
    top: 1117px;
    left: 40px;
    width: 95px;
    height: 110px;
    border-radius: 50%;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-weight: 800;
    line-height: 1.15;
    font-size: 18px;
    padding: 10px;
    letter-spacing: -2px;
    line-height: 1.1;
    text-shadow: 0 1px 0 rgba(0, 0, 0, .15), 0 0 3px rgba(0, 0, 0, .15);
    pointer-events: none;
}

.space{
    margin-bottom: 100px;
}

.cta-text{
    font-weight: bold;
    margin-top: 24px;
    margin-bottom: 12px;
}

.cta-text span{
    color: #ff4201;
}

.yajirusi{
    line-height: 1.15;
    margin-bottom: 101px;
}

/* 配置（既存） */
.btn_box{
    position: relative;
    top: 94%;
    left: 50%;
    transform: translate(-50%, -50%); /* ここはレイアウト用、アニメさせない */
    width: 100%;
    margin: 0;
    display: flex;
    gap: 16px;                /* ボタン間の余白 */
    justify-content: center;  /* 中央寄せ */
    flex-wrap: wrap;
}

/* 画像ボタンのベース */
.ctaimg{
    display: block;
    width: 424px;
    cursor: pointer;
    filter: drop-shadow(0 4px 8px rgba(0,0,0,.18));
    transform-origin: center; /* スケールの基準を中央に */
    will-change: transform;
    transition: transform .2s ease, filter .2s ease;
}

/* 鼓動アニメ */
.pulse{
    animation: dokundokun 1300ms ease infinite;
}

@keyframes dokundokun {
    0%   { transform: scale(1); }
    15%  { transform: scale(1.08); }
    30%  { transform: scale(1); }
    45%  { transform: scale(1.08); }
    70%  { transform: scale(1); }
    100% { transform: scale(1); }
}

/* ホバー時は少しだけ浮かせる */
.ctaimg:hover{
    transform: translateY(-2px) scale(1.02);
    filter: drop-shadow(0 6px 14px rgba(0,0,0,.22));
}

/* 片方ずらして鼓動のタイミングに変化をつけたい場合 */
.cta:nth-of-type(2) .ctaimg.pulse{
    animation-delay: .3s;
}

.cta.line{
    margin-top: -24px;
}

.kaizen-title{
    margin-top: -76px;
    margin-bottom: -79px;
}


/*ba*/

:root{
    --peek-gap: 18px;
    --peek-width: 56px;
    --card-w: clamp(300px, 78vw, 520px);
    --radius: 22px;
}

.peek-slider{ position:relative; margin:36px auto; padding:30px 0;}
.peek-slider .nav{
    position:absolute; top:958%; transform:translateY(-50%); z-index:6; background:none; border:0; padding:0; cursor:pointer;
}
.peek-slider .prev{ left:6px; }
.peek-slider .next{ right:6px; }
.peek-slider .nav img{ width:36px; height:auto; filter:drop-shadow(0 2px 6px rgba(0,0,0,.28)); }

.stage{ position:relative; margin:0 auto; isolation:isolate; }

/* セット（A/B）を重ねておいて表示切替 */
.set{
    position:relative;
    opacity:0; pointer-events:none;
    transition:opacity .35s ease;
}
.set.is-active{ opacity:1; pointer-events:auto; }

.card{
    position:absolute; top:0; left:50%; width:357px;
    border-radius:var(--radius); overflow:hidden;
    box-shadow:0 10px 28px rgba(0,0,0,.22);
    transform-origin:center; will-change:transform,opacity;
    transition:transform .45s cubic-bezier(.22,.67,.26,1), opacity .3s ease;
}
.card img{ display:block; width:100%; height:auto; }

.card.center{ transform:translateX(-50%) scale(1); z-index:3; }
.card.peek{
    width:357px; opacity:.55; z-index:2; pointer-events:none; filter:blur(.2px);
}
.card.peek.left{
    left: -78%;
}
.card.peek.right{
    left: 95%;
}

@media (prefers-reduced-motion: reduce){
    .set{ transition:none; }
    .card{ transition:none; }
}

/* =========================
Googleレビュー（Swiper）
========================= */

/* --- コンテナ/レイアウト --- */
.reviews-contents{
    max-width: 100%;
    padding: 50px 0 85px;
    background:#fff;
    margin: 1071px 0 20px;
}
.gds-evaluation{ display:flex; flex-direction:column; align-items:center; margin-bottom:-18px; }
.logo-wrapper{ display:flex; align-items:center; margin:0 auto; }
.logo-only{ margin-right:16px; }
.gds-logologo{ width:91px !important; }
.star-contents{ position:relative; display:flex; padding-bottom:10px; }
.star-num{ position:absolute; top:8px; left:139px; }
.star5{ width:133px !important; margin:6px 0 -2px; }
.gds-name{ font-weight:500; }
.write-review{
    display:inline-block; background:#4285f4; color:#fff !important;
    padding:9.5px 17.5px; border:1px solid #4285f4; border-radius:4px;
    font-weight:bold; font-size:13px; line-height:1; margin-top:12px; text-decoration:none !important;
}

/* --- Swiper（共通・他セクションも使う想定） --- */
:root{ --swiper-theme-color:#f5580e !important; }
.swiper{ max-width:100%; height:auto; margin:0 auto; overflow:hidden; margin-top:-2px; background:#DEDEDE; }
.swiper-slide{ display:flex; justify-content:center; align-items:center; width:100%; height:auto; }
.swiper-pagination{ position:absolute; bottom:10px; width:100%; text-align:center; margin-top:12px; }
.swiper-button-next, .swiper-button-prev{ color:#f5580e !important; }
.swiper-pagination-bullet-active{ color:#f5580e !important; }

/* --- レビュー専用の上書き --- */
.swiper.review{
    position:relative;         /* 矢印の基準 */
    overflow:visible;          /* 矢印を外に出しても切らない */
    margin-top:42px;
    width:78%;
    background:#fff;
}
.swiper-wrapper.review{ overflow:visible; } /* transformによるクリップ対策 */

/* カード */
.swiper-slide.review{ display:flex; flex-direction:column; }
.user-review-contents{
    position:relative; z-index:1;                 /* 矢印よりは下、ページネよりは上の保険 */
    box-shadow:1px 1px 7px rgba(0,0,0,.13);
    background:#fff !important;
    display:flex; flex-direction:column; align-items:flex-start !important;
    margin:20px 0 12px; border-radius:10px !important;
}
.review-contents-element{ padding:32px 19px; max-width:385px; }
.user-logo{ width:52px !important; }
.star5.review{ display:block; margin:14px auto 0 1px; }
.gds-name.user{ font-size:18px; }
.google-reviews.day{ color:gray; }

/* 矢印（レビューだけ .rev を付ける想定） */
.swiper-button-prev.rev,
.swiper-button-next.rev{
    z-index:10; top:50%; transform:translateY(-50%);
    color:#f5580e !important;
}
.swiper-button-prev.rev{ left:-18px; }
.swiper-button-next.rev{ right:-18px; }

/* ページネーション（レビューは点々が本文に被らないよう下に出す） */
.swiper.review .swiper-pagination.rev{
    position:static;          /* ←絶対配置やめる */
    bottom:auto;
    margin-top:12px;
    z-index:0;
}
/* レビューの点々カラーだけ灰色に */
.swiper-button-next.rev, .swiper-button-prev.rev{ color:gray !important; }
.swiper-pagination-bullet-active{ color:gray !important; }

/* --- 「続きを読む」 --- */
.read-more-2{
    position:relative; margin:12px auto 0; text-align:left;
    font-size:15px; line-height:27px; width:100%;
    padding-bottom:28px;               /* ラベル分のスペース */
}
.read-more-2 p{
    display:-webkit-box; position:relative; margin-bottom:0; overflow:hidden;
    -webkit-box-orient:vertical; -webkit-line-clamp:4;
}
.read-more-2:has(:checked) p{ display:block; }
.read-more-2 p::after{
    content:''; position:absolute; left:0; bottom:0; width:100%; height:60px;
    background:linear-gradient(180deg, hsla(0,0%,100%,0) 0, hsla(0,0%,100%,.9) 50%, hsla(0,0%,100%,.9) 0, #fff);
}
.read-more-2:has(:checked) p::after{ content:none; }
.read-more-2 label{
    position:absolute; left:50%; bottom:8px; transform:translateX(-50%);
    display:flex; align-items:center; gap:4px;
    color:#969696; font-size:.8em;
    background:#fff; padding:2px 6px; border-radius:10px; /* 読みやすさUP */
}
.read-more-2 label:hover{ color:#080808; text-decoration:underline; cursor:pointer; }
.read-more-2:has(:checked) label{ display:none; }
.read-more-2 label::after{
    content:''; display:inline-block; width:10px; height:5px; background:#b6bdc3;
    clip-path:polygon(0 0, 100% 0, 50% 100%);
}
.read-more-2 input{ display:none; }


.tyomei{
    margin-top: -68px;
}

.mondai{
    margin-top: -47px;
}

.trainer{
    margin-top: -67px;
}

.plan{
    margin-top: -12px;
}

.loadmap-naiyou01{
    margin-top: -50px;
}

.loadmap-naiyou02{
    margin-top: -50px;
}


.cta-btn.sec{
    position: absolute;
}

.cta.sec {
    position: absolute;
    top: 415px;
    width: 8%;
    left: 9px;
}

.cta.line.sec{
    top: 530px;
}

.circle-date.sec {
    position: absolute;
    z-index: 10;
    top: 60px;
    left: 40px;
    width: 95px;
    height: 110px;
    border-radius: 50%;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-weight: 800;
    line-height: 1.15;
    font-size: 18px;
    padding: 10px;
    letter-spacing: -2px;
    line-height: 1.1;
    text-shadow: 0 1px 0 rgba(0, 0, 0, .15), 0 0 3px rgba(0, 0, 0, .15);
    pointer-events: none;
}

.campaign-contents.sec{
    margin-top: 24px;
    position: relative;
}

/*店舗情報*/

.background {
    background: linear-gradient(to bottom, #f27336, #f5580e);
}


.textbox{
    width: 100%;
    max-width: 430px;
}

.textbox{
    max-width: 430px;
    font-weight: 900;
    font-style: normal;
    text-align: left;
    justify-content: center;
    margin: 0 auto;
    align-items: center;
    margin-top: 58px;
    margin-bottom: 158px;
}

.textbox.plan{
    max-width: 430px;
    margin: 0 auto;
    text-align: center;
    align-items: center;
    justify-content: center;
    margin-bottom: 86px;
}

.textbox.plan.info{
    margin-bottom: 12px;
}

.subheading{
    margin-bottom: 12px;
    text-align: center;
    font-size: 28px;
    padding-top: 31px;
}

.information_contents{
    max-width: 430px;
    margin: 0 auto;
    align-items: center;
    justify-content: center;
    padding-bottom: 45px;
}

.concept_contents{
    margin: 0 auto;
}

.plan_text{
    text-align: left;
    color: white;
}

.textbox.free .subheading.free{
    margin-bottom: 12px;
}

.information_detail{
    background-color: white;
    border: 2px solid #302F2F;
    border-radius: 18px;
    font-size: 14px;
    padding: 14px 12px 14px 18px;
    color: #302F2F;
    font-weight: 500;
    line-height: 18px;
    margin: 0 auto;
    align-items: center;
    justify-content: center;
    max-width: 88%;
    margin-bottom: 12px;
}

.store_name_content{
    display: flex;
    margin: 0 auto;
    align-items: center;
    padding: 22px 0px 26px 0px;
    border-bottom: 1px solid #302F2F;
    align-items: flex-start;
}

.store_name_content.none{
    border-bottom: none;
}

.store_name_title{
    color: white;
    background-color: #302F2F;
    padding: 5px 8px;
    margin-right: 18px;
    width: 79px;
}

.name{
    font-size: 18px;
    margin-right: 18px;
    text-align: left;
    line-height: 24px;
    max-width: 196px;
}

.name span {
    font-size: 12px;
    line-height: 12px !important;
}


.map{
    margin: 0 auto;
    text-align: center;
    justify-content: center;
    align-items: center;
    padding: 18px;
    transform: translateX(-5%); 
    margin-bottom: -14px;
    width: 110%;
}

.map.sec{
    margin-top: -18px;
    padding-bottom: 12px;
}

/*予約フォーム*/
.line-White {
    background-color: white;
}

.line-contact-text {
    margin: 0 auto;
    width: 50%;
    margin-top: -194px;
}

.line-contact-meguro {
    width: 80%;
    margin: 0 auto;
}

.line-contact-gakudai {
    width: 80%;
    margin: 0 auto;
    margin-top: 12px;
    padding: 0 0 56px 0;
}

.line-line {
    margin-top: 24px;
}

.form {
    width: 100%;
    margin: 0 auto;
    padding: 20px;
}

.field {
    margin: 18px 0;
}

.label {
    padding-left: 10px;
    display: flex;
    align-items: center;
    gap: 16px;
    font-weight: 700;
    letter-spacing: .02em;
    margin-bottom: 6px;
}

.badge {
    display: inline-block;
    padding: 4px 6px;
    font-size: 12px;
    line-height: 1;
    color: #fff;
    background: #ff5a3c;
    border-radius: 4px;
    vertical-align: middle;
}

.input {
    width: 100%;
    padding: 12px 14px;
    font-size: 16px;
    border: 1.5px solid #cfcfcf;
    border-radius: 6px;
    background: #fff;
    outline: none;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.input::placeholder {
    color: #a7a7a7;
}

.input:focus {
    border-color: #cfcfcf;
    box-shadow: 0 0 0 3px rgba(255, 90, 60, .15);
}

.note-label {
    font-weight: 700;
    color: #333;
    margin: 14px 0 6px;
    letter-spacing: .01em;
    line-height: 1.5;
}

.textarea {
    min-height: 120px;
    resize: vertical;
    line-height: 1.6;
}

/* calendar */
.calendar_wrap {
    max-width: 920px;
    margin: 0 auto;
    background: #fff;
    border: 1px solid #d8d8d8;
    border-radius: 10px;
    overflow: hidden;
}

.calendar_title {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    border-bottom: 1px solid #d8d8d8;
    background: #fff;
    position: relative;
}

.calendar_title::before {
    content: "";
    width: 4px;
    height: 24px;
    background: #e83e8c;
    border-radius: 2px;
}

.calendar_title h2 {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
}

.calendar_toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    border-bottom: 1px solid #d8d8d8;
    background: var(--head-bg);
}

.btn {
    height: 36px;
    padding: 0 12px;
    border: 1px solid #d8d8d8;
    background: #fff;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    font-weight: 600;
}

.btn[disabled] {
    opacity: .45;
    cursor: not-allowed;
}

.range {
    font-weight: 700;
}

.calendar_controls {
    display: flex;
    gap: 8px;
    align-items: center;
}

select {
    border: 1px solid #d8d8d8;
    border-radius: 6px;
    padding: 0 10px;
    background: #fff;
}

.grid {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
    border-top: 1px solid #d8d8d8;
}

.grid th,
.grid td {
    border-right: 1px solid #d8d8d8;
    border-bottom: 1px solid #d8d8d8;
    text-align: center;
    padding: 10px 6px;
    background: #fff;
    font-size: 14px;
}

.grid th:first-child,
.grid td:first-child {
    border-left: 1px solid #d8d8d8;
}

.grid thead th {
    background: #fafafa;
    font-weight: 700;
    position: sticky;
    top: 0;
    z-index: 1;
}

.grid thead th.sun { color:#fff; background-color:#ff6aa2; }
.grid thead th.sat { color:#fff; background-color:#5aa8ff; }

.dow {
    color: #666;
    font-weight: 600;
}

.time-col {
    width: 80px;
    background: #fff;
    position: sticky;
    left: 0;
    z-index: 2;
    font-weight: 700;
}

.date-col {
    width: calc((100% - 80px)/7);
}

.row-time {
    background: #fff;
}

.slot {
    background: #f7f7f7;
}

.slot.past {
    color: #9aa0a6;
    background: #f2f2f2;
}

.slot.ok {
    color: #e83e8c;
    font-weight: 700;
    cursor: pointer;
}

.slot.warn {
    color: #ff8c00;
    font-weight: 700;
    cursor: pointer;
}

.slot.picked {
    background:#d9d9d9 !important;
}

.slot.ng {
    color: #999;
    cursor: not-allowed;
}

.legend {
    padding: 10px 16px;
    font-size: 13px;
    color: #666;
}

.scroller {
    overflow: auto;
    max-height: 70vh;
}

.contact-submit {
    text-align: center;
    margin-top: 20px;
    padding-top: 8px;
    padding-bottom: 8px;
    width: 78%;
    background-color: rgb(255, 90, 60);
    color: #fff;
    font-weight: bold;
    display: block;
    margin: 0 auto;
    font-size: 16px;
    padding: 15px;
    border-radius: 100vh;
}

.contact-submit button {
    background: transparent; /* ←デフォルト背景を消す */
    border: none;            /* 余計な枠線も消す */
    width: 100%;
    color: white;
    font-weight: bold;
    font-size: 19px;
}

.contact-submit button:hover {
    opacity: 0.8;
}

/* ===== Q&A 基本レイアウト ===== */
.qacontents_list .qa_box{
    margin: 14px auto;
    width: 90%;
    border-radius: 12px;
    overflow: hidden;               /* 角を親で丸める */
    box-shadow: 0 6px 14px rgba(0,0,0,.08);
}

/* 質問行（グリーングラデ、白文字、＋ボタン右） */
.qa_q.QA{
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 18px 18px 18px 22px;
    color: #fff;
    background: linear-gradient(135deg, #42c465 0%, #18a54b 100%);
    position: relative;
}

/* 左の薄い“C”の飾り（任意） */
.qa_q.QA::before{
    content: "Q";
    position: absolute;
    inset: 0 auto auto 8px;
    color: rgba(255,255,255,.15);
    font-size: 64px;
    line-height: 1;
    font-weight: 900;
    pointer-events: none;
}

/* 質問テキスト */
.q_txt.situmon{
    position: relative; /* 飾り文字の上に来るように */
    z-index: 1;
    font-size: 18px;
    line-height: 1.8;
    font-weight: 800;
    text-align: left;
}

.q_txt.situmon span{
    color: #ffe700;
}

/* 強調したい語を黄色に（必要な箇所を <span class="hl">～</span> で囲むだけ） */
.q_txt.situmon .hl{
    color: #ffd34d;
}

/* 右端の丸い＋／－ボタン */
.toggle_icon.QA{
    margin-left: auto;
    flex: 0 0 36px;
    width: 36px; height: 36px;
    border: 2px solid #fff;
    border-radius: 50%;
    position: relative;
}

/* ＋記号（開閉で差し替え） */
.toggle_icon.QA::before{
    content: "＋";
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    font-size: 22px;
    color: #fff;
    font-weight: 700;
}

/* 開いたら － に */
.qa_q.open .toggle_icon.QA::before{
    content: "ー";
}

/* 回答（白背景） */
.qa_a{
    display: none;                  /* JSのslideToggle対象 */
    background: #fff;
    color: #302F2F;
    padding: 16px 18px 20px;
    font-size: 15px;
    line-height: 1.9;
}

.qa-title{
    width: 100%;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
}

.QA_contents{
    background-color: #d9f0dd;
}

.qacontents_list{
    margin-top: -30px;
    padding-bottom: 18px;
}

.training-qa-title {
    color: #ffffff;
    background-color: #333;
    padding: 37px 0px 12px 17px;
    width: 90%;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
}

.training-qa-title.sec{
    color: #ffffff;
    background-color: #333;
    padding: 12px 0px 12px 17px;
    width: 90%;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
}


.header-container {
    display: flex;
    justify-content: space-between; /* ロゴ左 / CTA右 */
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
}

.header-logo img {
    display: block;
    width: 35%;
}

.header-cta {
    display: flex;
    gap: 8px;
}

.header-cta img {
    display: block;
    margin: 0;
}

.header-logo{
    margin-right: -92px;
}

.site-header {
    position: fixed;       /* 常に固定 */
    top: 0;                /* 画面の上に配置 */
    width: 431px;           /* 横幅いっぱい */
    background: rgba(255, 255, 255, 0.9); /* 半透明の白 */
    padding: 10px 14px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    z-index: 1000;         /* コンテンツより前に出す */
}

.video-container {
    max-width: 800px;
    /* 最大幅を800pxに制限 */
    margin: 0 auto;
    /* 中央寄せ */
    padding: 20px;
    margin-bottom: -21px;
}

video {
    width: 100%;
    /* 親要素の幅に合わせる */
    height: auto;
    border-radius: 8px;
    /* 角丸（任意） */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    /* 影をつける（任意） */
}

.header-logo-thanks{
    width: 17%;
}

.thanks-contents{
    margin-top: 28px;
}

.thanks-te2{
    margin-top: 12px;
}

.thanks-text{
    font-size: 24px;
}

.btns {
    background-color: #FF6600 !important;
    margin-top: 24px;
    padding: 12px 12px;
    width: 196px;
    margin: 30px auto;
    color: white;
    background-color: #f57c00; /* オレンジ色など任意 */
    color: #fff;              /* 文字を白に */
    text-decoration: none;    /* 下線削除 */
}

a {
    text-decoration: none;  /* 下線を消す */
    color: inherit;         /* 親要素の色を引き継ぐ（青文字を解除） */
    font-weight: bold;
  }