@charset "UTF-8";

/* ============================================================
   Axisのオンライン家庭教師 講師募集LP（ワイヤー参考案ベース）
   ============================================================ */

:root{
  --orange:#ef7a00; --orange-deep:#ef7a00; --orange-light:#ff9a33; --orange-soft:#FFF1DE;
  --ink:#2B2621; --ink-soft:#5B5247;
  --paper:#FFFDF9; --paper-alt:#FFF7EC; --line:#F0DDBB;
  --card:#FFFFFF; --yellow:#FFD34D;
  --font-body:'Zen Kaku Gothic New',sans-serif; --font-serif:'Shippori Mincho',serif; --mono:'Roboto Mono',monospace;
}
*{box-sizing:border-box;}
body{margin:0;font-family:var(--font-body);background:var(--paper);color:var(--ink);line-height:1.8;}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px;}
a{color:inherit;text-decoration:none;}
h1,h2,h3{margin:0;color:var(--ink);}
img{max-width:100%;display:block;}

/* 全体的なh2要素の基本サイズを1.9remに統一 */
h2 {
  font-size: 1.9rem !important;
}

/* ============================================================
   ヘッダー
   ============================================================ */
.site-header{position:sticky;top:0;z-index:40;background:#fff;border-bottom:1px solid var(--line);}
.site-header .inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:12px 24px;gap:20px;}
.site-header .logo img{height:26px;display:block;}
.site-nav{display:flex;gap:22px;flex:1;justify-content:center;flex-wrap:wrap;}
.site-nav a{font-size:.85rem;font-weight:700;color:var(--ink-soft);}
.site-nav a:hover{color:var(--orange-deep);}
.btn{display:inline-flex;align-items:center;gap:6px;font-weight:700;text-decoration:none;border:none;cursor:pointer;}
.btn-cta{
  background:var(--orange);color:#fff;
  padding:0.75em 1.8em;border-radius:30px;font-size:.88rem;box-shadow:0 4px 0 rgba(0,0,0,.12);
}
.btn-cta:active{transform:translateY(2px);box-shadow:0 2px 0 rgba(0,0,0,.12);}
.btn-cta i{font-size:.8rem;}

/* ============================================================
   ヒーロー
   ============================================================ */
.hero{padding:56px 0 60px;position:relative;overflow:hidden;background:#fff;}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;}
.hero h1{font-size:1.2rem;line-height:1.5;font-weight:700;margin-bottom:18px;color:var(--ink-soft);white-space:nowrap;}
.hero-logo{height:44px;margin-bottom:14px;display:block;}
.hero h1 .hl{color:var(--orange);}
.hero .kicker{font-size:1.05rem;font-weight:700;color:var(--ink-soft);margin-bottom:2px;}
.hero .kicker em{font-style:normal;color:var(--orange-deep);}
.hero h2.subtitle{font-size:1.9rem;font-weight:900;color:var(--ink);margin-bottom:24px;}
.badge-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:22px;max-width:520px;}
.badge-item{border:1.5px solid var(--orange);border-radius:8px;padding:16px 8px;text-align:center;background:#fff;}
.badge-item i{font-size:2.1rem;color:var(--orange);display:block;margin-bottom:8px;}
.badge-item span{font-size:.86rem;font-weight:700;color:var(--ink);line-height:1.35;display:inline-block;}
.hero .micro{font-size:.78rem;color:var(--orange-deep);font-weight:700;margin-bottom:8px;}
.hero .cta-group{display:inline-block;text-align:center;}
.hero .cta-group--center{display:block;text-align:center;margin-top:36px;}
.hero .cta-group .btn-cta{font-size:1.15rem;padding:1em 2.6em;}
.hero-photo{position:relative;}
.hero-photo .hero-photo-img{display:block;width:100%;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.08);}
.hero-photo .hero-photo-img img{width:100%;height:auto;display:block;object-fit:cover;aspect-ratio:980/834;}
@media(max-width:900px){
  .hero-photo .hero-photo-img img{aspect-ratio:684/582;}
}
.hero-photo .map-badge{
  position:absolute;bottom:-16px;right:-10px;background:#fff;border-radius:50%;
  width:112px;height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  box-shadow:0 8px 24px rgba(0,0,0,.15);text-align:center;
}
.hero-photo .map-badge i{font-size:1.4rem;color:var(--orange);}
.hero-photo .map-badge span{font-size:.68rem;font-weight:700;color:var(--ink);line-height:1.3;margin-top:4px;}
@media(max-width:900px){
  .hero-grid{grid-template-columns:1fr;}
  .hero h1{font-size:1.15rem;white-space:normal;}
  .hero-logo{height:34px;}
  .badge-row{grid-template-columns:repeat(2,1fr);max-width:none;}
}

/* ============================================================
   共通セクション
   ============================================================ */
section{padding:64px 0;}

/* 教育理念 */
.philosophy{padding:64px 0;background:var(--orange);text-align:center;}
.philosophy-eyebrow{font-family:var(--mono);font-size:.72rem;letter-spacing:.2em;color:#fff;text-transform:uppercase;margin:0 0 18px;opacity:.85;}
.philosophy-quote{
  font-family:var(--font-serif);font-weight:700;font-size:1.9rem;color:#fff;line-height:1.85;
  max-width:640px;margin:0 auto 28px;
}
.philosophy-text{font-size:.86rem;color:#fff;opacity:.9;line-height:2;max-width:600px;margin:0 auto;}
@media(max-width:700px){
  .philosophy{padding:48px 0;}
  .philosophy-quote{font-size:1.1rem;}
  .philosophy-quote br,.philosophy-text br{display:none;}
}
.section-title{text-align:center;font-size:1.9rem;font-weight:900;margin-bottom:40px;position:relative;}
.section-eyebrow{text-align:center;font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;color:var(--orange);text-transform:uppercase;margin:0 0 10px;}
.safety-band .section-eyebrow{color:#fff;opacity:.85;}
.section-title .deco{color:var(--orange);margin-right:8px;}
.alt{background:var(--paper-alt);}

/* あなたの経験が… セクション */
.story{padding:64px 0;}
.story-grid{display:grid;grid-template-columns:1fr .85fr;gap:40px;align-items:center;}
.story h2{font-size:1.9rem;font-weight:900;line-height:1.5;margin-bottom:24px;}
.story h2 .hl{color:var(--orange);}
.story p{color:var(--ink-soft);font-size:.95rem;margin-bottom:1.2em;}
.story-photo{position:relative;}
.story-photo .story-photo-img{display:block;width:100%;border-radius:16px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.08);}
.story-photo .story-photo-img img{width:100%;height:auto;display:block;object-fit:cover;aspect-ratio:948/758;}
@media(max-width:900px){
  .story-grid{grid-template-columns:1fr;}
  .story-photo .story-photo-img img{aspect-ratio:684/548;}
}

/* 選ばれる理由 6カード */
.reason-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;}
.reason-card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:22px 14px;text-align:center;}
.reason-card i{font-size:1.7rem;color:var(--orange);margin-bottom:10px;display:block;}
.reason-card h3{font-size:1.05rem;font-weight:700;color:var(--orange-deep);margin-bottom:8px;line-height:1.35;}
.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.role-grid .reason-card h3{font-size:1.2rem;margin-bottom:12px;}
@media(max-width:700px){ .role-grid{grid-template-columns:1fr;} }

.highlight-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:640px;margin:40px auto 0;}
.highlight-card{background:var(--paper-alt);border:1px solid var(--line);border-radius:8px;padding:28px 20px;text-align:center;}
.highlight-card .num{font-family:var(--mono);font-size:2.2rem;font-weight:700;color:var(--orange);line-height:1;}
.highlight-card .num small{font-size:.55em;font-weight:700;}
.highlight-card .label{font-size:.95rem;font-weight:700;margin:10px 0 4px;}
.highlight-card .sub{font-size:.78rem;color:var(--ink-soft);}
@media(max-width:600px){ .highlight-grid{grid-template-columns:1fr;} }
.reason-card p{font-size:.72rem;color:var(--ink-soft);margin:0;line-height:1.6;}
@media(max-width:1000px){ .reason-grid{grid-template-columns:repeat(3,1fr);} }
@media(max-width:600px){ .reason-grid{grid-template-columns:repeat(2,1fr);} }

/* 仕事の流れ 5ステップ（矢印つき） */
.step-row{display:flex;align-items:flex-start;justify-content:center;gap:12px;flex-wrap:wrap;max-width:1100px;margin:0 auto;}
.step-item{width:180px;text-align:center;}
.step-circle{
  width:96px;height:96px;border-radius:50%;background:var(--orange-soft);border:3px solid var(--orange);
  display:flex;align-items:center;justify-content:center;margin:0 auto 16px;
  box-shadow:0 4px 12px rgba(239,122,0,0.15);
}
.step-circle i{font-size:2.3rem;color:var(--orange-deep);}
.step-item h3{font-size:1.05rem;font-weight:700;margin-bottom:8px;line-height:1.35;}
.step-item p{font-size:.88rem;color:var(--ink-soft);line-height:1.6;}
.step-arrow{align-self:flex-start;margin-top:34px;color:var(--orange);font-size:1.8rem;}
@media(max-width:1024px){
  .step-item{width:150px;}
  .step-circle{width:80px;height:80px;}
  .step-circle i{font-size:1.8rem;}
  .step-arrow{margin-top:26px;font-size:1.4rem;}
}
@media(max-width:768px){
  .step-row{flex-direction:column;align-items:center;gap:20px;}
  .step-item{width:100%;max-width:280px;}
  .step-arrow{align-self:center;margin-top:0;transform:rotate(90deg);font-size:1.8rem;}
}

/* 動画レスポンシブスタイル */
.video-container {
  text-align: center;
  margin-top: 40px;
}
.video-title {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 20px;
  color: var(--ink);
}
.video-wrapper {
  max-width: 800px;
  margin: 0 auto;
}
.video-aspect-ratio {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.1);
}
.video-aspect-ratio iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* スケジュール例 */
.schedule-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.schedule-card{background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden;}
.schedule-card .photo-ph{
    width:100%;
    aspect-ratio:16 / 9;
    overflow:hidden;
    border-radius:0 0 24px 24px;
    background:#f7d4ad;
}

.schedule-card .photo-ph img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.schedule-head{background:var(--orange);color:#fff;font-weight:700;font-size:.92rem;padding:12px 18px;}
.schedule-photo{aspect-ratio:16/9;}
.schedule-list{padding:16px 20px;}
.schedule-row{display:flex;gap:14px;padding:7px 0;font-size:.85rem;border-bottom:1px dashed var(--line);}
.schedule-row:last-child{border-bottom:none;}
.schedule-row .time{font-family:var(--mono);font-weight:700;color:var(--orange-deep);width:52px;flex:none;}
.schedule-row.hl{background:var(--orange-soft);border-radius:6px;margin:2px -8px;padding:7px 8px;}
@media(max-width:800px){ .schedule-grid{grid-template-columns:1fr;} }

/* 初めてでも安心 5ステップ（オレンジ背景） */
.safety-band{background:var(--orange);color:#fff;}
.safety-band .section-title{color:#fff;}
.safety-row{display:flex;justify-content:center;gap:10px;flex-wrap:nowrap;}
.safety-item{width:150px;flex:0 1 150px;background:#fff;border-radius:10px;overflow:hidden;color:var(--ink);text-align:center;position:relative;}
.safety-item .photo-ph{aspect-ratio:4/3;border-radius:0;background:linear-gradient(135deg,#FFE9CF,#FFDCB0);display:flex;align-items:center;justify-content:center;}
.safety-item .photo-ph i{font-size:2.8rem;color:var(--orange-deep);}
.safety-item .cap{padding:14px 10px;}
.safety-item h3{font-size:.84rem;font-weight:700;margin-bottom:6px;}
.safety-item p{font-size:.7rem;color:var(--ink-soft);line-height:1.6;margin:0;}
.safety-arrow{align-self:center;color:#fff;font-size:1.3rem;}
.reassure{
  margin-top:34px;background:var(--yellow);color:#5c4400;text-align:center;font-weight:700;font-size:.92rem;
  padding:14px 20px;border-radius:8px;max-width:640px;margin-left:auto;margin-right:auto;
}
@media(max-width:900px){
  .safety-row{flex-direction:column;align-items:center;}
  .safety-arrow{transform:rotate(90deg);}
}

/* 数字で見る */
.stat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
.stat-card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:26px 14px;text-align:center;}
.stat-card .label-top{font-size:1rem;color:var(--ink);font-weight:900;margin-bottom:8px;}
.stat-card .num{font-family:var(--mono);font-size:2.3rem;font-weight:700;color:var(--orange-deep);}
.stat-card .num small{font-size:.42em;}
.stat-card .label-bottom{font-size:.82rem;color:var(--ink-soft);margin-top:8px;}
.stat-note{text-align:right;font-size:.72rem;color:var(--ink-soft);margin-top:14px;}
@media(max-width:1000px){ .stat-grid{grid-template-columns:repeat(3,1fr);} }
@media(max-width:600px){ .stat-grid{grid-template-columns:repeat(2,1fr);} }

/* 現役講師インタビュー */
.voice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.voice-card{background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden;}
.voice-card .photo-ph{
    aspect-ratio:4/3;
    border-radius:0;
    overflow:hidden;
    background:#f7d4ad;
    display:block;
}

.voice-card .photo-ph img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.voice-card .body{padding:18px 20px;}
.voice-card .role{
  display:inline-block;background:var(--orange);color:#fff;font-size:.7rem;font-weight:700;
  padding:3px 10px;border-radius:4px;margin-bottom:10px;
}
.voice-card .quote{font-size:.95rem;font-weight:700;margin-bottom:10px;line-height:1.5;}
.voice-card p.detail{font-size:.8rem;color:var(--ink-soft);margin:0;line-height:1.7;}
@media(max-width:900px){ .voice-grid{grid-template-columns:1fr;} }

/* FAQ */
.faq{max-width:820px;margin:0 auto;}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:8px;margin-bottom:10px;padding:2px 18px;}
.faq summary{cursor:pointer;list-style:none;padding:16px 4px;font-weight:700;font-size:.94rem;display:flex;justify-content:space-between;gap:14px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary i{color:var(--orange-deep);}
.faq .a{padding:0 4px 16px;color:var(--ink-soft);font-size:.87rem;}

/* 最終CTAバンド */
.cta-final{background:var(--orange);color:#fff;text-align:center;padding:56px 0 42px;}
.cta-final h2{font-size:1.9rem;font-weight:900;line-height:1.6;margin-bottom:22px;color:#fff;}
.cta-final .micro{font-size:.78rem;font-weight:700;margin-bottom:10px;opacity:.9;color:#fff;}
.cta-final .btn-cta{background:#fff;color:var(--orange-deep);box-shadow:0 4px 0 rgba(0,0,0,.15);font-size:1rem;padding:0.9em 2.4em;}
.cta-final .tagline{margin-top:26px;font-size:.78rem;opacity:.9;color:#fff;}

/* ============================================================
   フッター
   ============================================================ */
.dual{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.dual-card{background:var(--card);border:2px solid var(--line);border-radius:10px;padding:24px 20px;}
.dual-card.student{border-color:var(--orange);}
.dual-card.pro{border-color:#2C3A4A;}
.dual-card.hokkaido{border-color:#2E7D6B;}
.dual-card .badge{display:inline-block;font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;padding:5px 12px;border-radius:20px;text-transform:uppercase;margin-bottom:12px;font-weight:700;}
.dual-card.student .badge{background:var(--orange-soft);color:var(--orange-deep);}
.dual-card.pro .badge{background:#E7ECF1;color:#2C3A4A;}
.dual-card.hokkaido .badge{background:#E3F2EE;color:#2E7D6B;}
.dual-card h3{font-size:1.1rem;font-weight:900;margin-bottom:14px;}
.dual-card ul{margin:0 0 16px;padding-left:0;font-size:.84rem;color:var(--ink-soft);list-style:none;}
.dual-card ul li{margin-bottom:8px;padding-left:1.2em;position:relative;}
.dual-card ul li::before{content:"●";position:absolute;left:0.15em;top:0.75em;font-size:.55em;line-height:1;}
.dual-card.student ul li::before{color:var(--orange);}
.dual-card.pro ul li::before{color:#2C3A4A;}
.dual-card.hokkaido ul li::before{color:#2E7D6B;}
.dual-card table{width:100%;font-size:.82rem;}
.dual-card table th,.dual-card table td{border-top:1px solid var(--line);padding:8px 4px;text-align:left;}
.dual-card table th{width:36%;color:var(--ink-soft);font-weight:500;}
.dual-card.student table th,.dual-card.student table td{border-top-color:var(--orange);}
.dual-card.pro table th,.dual-card.pro table td{border-top-color:#2C3A4A;}
.dual-card.hokkaido table th,.dual-card.hokkaido table td{border-top-color:#2E7D6B;}
@media(max-width:1000px){ .dual{grid-template-columns:1fr;} }

.campaign-box{
  max-width:760px;margin:40px auto 0;background:var(--paper-alt);border:2px solid var(--orange);border-radius:12px;
  padding:32px 36px;text-align:center;
}
.campaign-badge{
  display:block;color:var(--orange-deep);font-weight:900;
  font-size:1.4rem;margin-bottom:18px;letter-spacing:.02em;
}
.campaign-badge i{font-size:1.1rem;margin-right:8px;}
.campaign-text{font-size:.92rem;color:var(--ink-soft);max-width:600px;margin:0 auto 22px;line-height:1.8;}
.campaign-amounts{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;}
.campaign-amount{
  background:#fff;border:2px solid var(--orange);border-radius:8px;
  padding:18px 32px;min-width:190px;
}
.campaign-amount .label{display:block;font-size:.8rem;color:var(--ink-soft);font-weight:700;margin-bottom:8px;}
.campaign-amount .yen{display:block;font-family:var(--mono);font-size:2rem;font-weight:700;color:var(--orange-deep);}
@media(max-width:600px){
  .campaign-box{padding:26px 20px;}
  .campaign-amounts{flex-direction:column;align-items:center;}
}

.company{padding:60px 0;background:var(--paper-alt);}
.company .section-title{margin-bottom:30px;}
.company-table{width:100%;max-width:760px;margin:0 auto;border-collapse:collapse;background:#fff;font-size:.92rem;}
.company-table th,.company-table td{border:1px solid var(--line);padding:14px 20px;text-align:left;}
.company-table th{width:28%;background:var(--orange-soft);font-weight:700;color:var(--ink);}
@media(max-width:600px){
  .company-table{font-size:.82rem;}
  .company-table th,.company-table td{padding:10px 12px;}
}
.privacy-mark-box{
  display:flex;align-items:center;gap:20px;max-width:760px;margin:24px auto 0;
  background:#fff;border:1px solid var(--line);border-radius:8px;padding:20px 24px;
}
.privacy-mark-box img{width:76px;height:auto;flex:none;}
.privacy-mark-box p{font-size:.78rem;color:var(--ink-soft);line-height:1.7;margin:0;}
@media(max-width:600px){
  .privacy-mark-box{flex-direction:column;text-align:center;padding:18px;}
}

footer { padding-bottom: 70px; background-color: #fff; }
footer .ft_axis { background-color: #fff; padding: 2.5rem 0 0; text-align: center; }
footer .ft_axis .logo { margin-bottom: 1.8em; padding: 0 5rem; }
footer .ft_axis .logo img { width: 100%; max-width: 500px; margin:0 auto; }
footer .ft_axis .link { margin-bottom: 1em; }
footer .ft_axis .link a.btn-6 {
	display: inline-flex; align-items: center; position: relative;
	padding: 0.5em 3em 0.55em 2em; font-size: 16px; line-height: 1.3; color: #fff; background-color: var(--orange);
}
footer .ft_axis .link a.btn-6::after { position: absolute; right: 0.8em; font-family: bootstrap-icons; content: '\F4F4'; }
footer .ft_axis .link a.btn-6:hover { opacity: 0.8; }
@media screen and (max-width: 750px) {
	footer { padding-bottom: 20vw; }
	footer .ft_axis { padding: 5vw 0 4vw; }
	footer .ft_axis .logo { padding: 0 4vw; margin-bottom: 4vw; }
	footer .ft_axis .logo img { max-width: 800px; }
	footer .ft_axis .link { margin-bottom: 2vw; }
}
#ftInfo { background-color: #fff; }
#ftInfo .contents { padding: 30px 70px 30px 100px; }
#ftInfo .contents .inner { display: flex; justify-content: space-between; flex-direction: row-reverse; }
#ftInfo .contents .inner .logo-wao img { width: 360px; }
#ftInfo .listLink { display: flex; flex-wrap: wrap; gap: 1.5em; margin-top: 1em; }
#ftInfo .listLink a { display: block; font-size: 15px; color: #333; text-decoration: none; line-height: 1; white-space: nowrap; }
#ftInfo .listLink a:hover { color: #0071be; text-decoration: underline; }
#ftInfo .listLink a:before { line-height: 1; color: #0071be; font-size: 0.8em; font-family: bootstrap-icons; content: "\F285"; margin-right: 0.1em; }
#ftInfo small { display: block; color: #999; line-height: 1; padding-left: 0.2em; }
@media screen and (max-width: 1000px) {
	#ftInfo .contents { padding: 20px 0 30px 20px; }
	#ftInfo .contents .inner { display: flex; flex-direction: column; text-align: center; }
	#ftInfo .listLink { padding: 20px 0 10px; }
}
@media screen and (max-width: 750px) {
	#ftInfo .contents { padding: 2vw 15px; border-top: 1px solid #ccc; }
	#ftInfo .logo-wao { padding: 2vw 10vw; }
	#ftInfo .listLink { justify-content: center; gap: 0.8em; margin-top: 0.3em; }
	#ftInfo .listLink a { font-size: 2.4vw; }
	#ftInfo small { font-size: 2.4vw; text-align: center; }
}

#pagetop { opacity: 0; transition: opacity 0.3s ease-in-out; }
#pagetop a {
	width: 60px; height: 60px; position: fixed; bottom: 40px; right: 12px;
	background-image: url(../images/pagetop.svg);
	background-repeat: no-repeat; text-indent: 110%; white-space: nowrap; overflow: hidden; z-index: 999;
}
#pagetop a:hover { filter: brightness(110%); }
@media screen and (max-width: 750px) {
	#pagetop a { bottom: 5vw; }
	.site-nav{display:none;}
}

@media screen and (min-width: 751px) {
	.sp_only {
		display: none !important;
	}
}
@media screen and (max-width: 750px) {
	.pc_only {
		display: none !important;
	}
}

/* サムネイル表示用スタイル */
.yt-thumb {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  cursor: pointer;
}
.yt-play-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 68px;
  height: 48px;
  background-color: rgba(33, 33, 33, 0.8);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.2s ease;
}
.yt-play-btn i {
  color: #fff;
  font-size: 32px;
  margin-left: 3px;
}
.video-aspect-ratio:hover .yt-play-btn {
  background-color: #ff0000;
  transform: translate(-50%, -50%) scale(1.1);
}

/* スマホ時の応募ボタン崩れ防止スタイル */
@media screen and (max-width: 750px) {
  /* ヘッダーボタンの調整 */
  .site-header .btn-cta {
    padding: 0.5em 1em;
    font-size: 0.78rem;
    white-space: nowrap;
    line-height: 1.2;
    text-align: center;
  }
  
  /* ヒーローエリア・共通CTAボタンの調整 */
  .hero .cta-group--center .btn-cta,
  .cta-final .btn-cta {
    font-size: 1rem;
    padding: 0.8em 1.5em;
    width: 90%;
    max-width: 320px;
    justify-content: center;
    box-sizing: border-box;
  }
  
  /* h2スマホ時の文字溢れ・不自然改行防止 */
  h2, .section-title {
    font-size: 1.4rem !important;
    line-height: 1.4;
    word-break: keep-all;
    overflow-wrap: break-word;
  }
}
