/* ===== サービスページ ===== */
.service-hero{background:var(--gr);padding:72px 5% 64px;border-bottom:4px solid var(--y);position:relative;overflow:hidden}
.service-hero::before{content:'SERVICE';position:absolute;right:-1%;top:50%;transform:translateY(-50%);font-family:'Black Han Sans',sans-serif;font-size:140px;color:rgba(245,200,0,0.1);pointer-events:none;white-space:nowrap}
.service-hero-inner{max-width:860px;margin:0 auto;position:relative;z-index:1}
.service-hero h1{font-family:'Black Han Sans',sans-serif;font-size:clamp(24px,4vw,44px);color:var(--bk);line-height:1.2;letter-spacing:1px;margin-bottom:14px}
.service-hero h1 em{color:var(--yd);font-style:normal}
.service-hero p{font-size:15px;color:var(--sub);max-width:600px;line-height:1.85}

.service-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;max-width:900px;margin:0 auto}
.service-card{background:var(--wh);border:1.5px solid var(--bd);border-top:5px solid var(--y);border-radius:var(--r);padding:28px 24px}
.service-card-icon{font-size:32px;margin-bottom:12px}
.service-card h3{font-family:'Black Han Sans',sans-serif;font-size:18px;color:var(--bk);letter-spacing:.5px;margin-bottom:10px}
.service-card p{font-size:13px;color:var(--sub);line-height:1.8}
.service-card ul{list-style:none;margin-top:14px;display:flex;flex-direction:column;gap:6px}
.service-card ul li{font-size:13px;color:var(--tx);display:flex;align-items:flex-start;gap:8px}
.service-card ul li::before{content:'→';color:var(--yd);font-weight:700;flex-shrink:0}

/* 料金表 */
.pricing-table{max-width:860px;margin:0 auto}
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.pricing-card{background:var(--wh);border:2px solid var(--bd);border-radius:10px;padding:28px 22px;text-align:center;position:relative}
.pricing-card.featured{border-color:var(--bk);transform:scale(1.02)}
.pricing-card-label{font-size:11px;font-weight:700;color:var(--sub);letter-spacing:1px;text-transform:uppercase;margin-bottom:8px}
.pricing-card-price{font-family:'Black Han Sans',sans-serif;font-size:36px;color:var(--bk);line-height:1}
.pricing-card-price span{font-size:14px;font-weight:400;color:var(--sub);font-family:'Noto Sans JP',sans-serif}
.pricing-card-desc{font-size:13px;color:var(--sub);margin:12px 0;padding:12px 0;border-top:1px solid var(--bd);border-bottom:1px solid var(--bd);line-height:1.7}
.pricing-card ul{list-style:none;text-align:left;display:flex;flex-direction:column;gap:7px;margin-top:12px}
.pricing-card ul li{font-size:12px;color:var(--tx);display:flex;align-items:flex-start;gap:6px}
.pricing-card ul li::before{content:'✓';color:var(--yd);font-weight:700;flex-shrink:0}
.featured-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--bk);color:var(--y);font-size:11px;font-weight:700;padding:3px 14px;border-radius:20px;white-space:nowrap}

/* ===== HALKYについてページ ===== */
.about-hero{background:var(--bk);padding:72px 5% 64px;text-align:center;position:relative;overflow:hidden;border-bottom:4px solid var(--y)}
.about-hero::before{content:'ABOUT';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:'Black Han Sans',sans-serif;font-size:160px;color:rgba(245,200,0,0.05);pointer-events:none;white-space:nowrap}
.about-hero h1{font-family:'Black Han Sans',sans-serif;font-size:clamp(24px,4vw,44px);color:var(--wh);letter-spacing:1px;margin-bottom:12px;position:relative;z-index:1}
.about-hero h1 em{color:var(--y);font-style:normal}
.about-hero p{font-size:14px;color:rgba(255,255,255,0.55);max-width:520px;margin:0 auto;position:relative;z-index:1}

.profile-section{padding:72px 5%}
.profile-inner{display:grid;grid-template-columns:240px 1fr;gap:52px;align-items:start;max-width:860px;margin:0 auto}
.profile-avatar{background:var(--y);border-radius:12px;width:200px;height:200px;display:flex;align-items:center;justify-content:center;font-size:80px;margin:0 auto}
.profile-name{font-family:'Black Han Sans',sans-serif;font-size:28px;color:var(--bk);letter-spacing:1px;margin-bottom:4px}
.profile-name-en{font-size:14px;color:var(--sub);margin-bottom:20px}
.profile-bio{font-size:14px;color:var(--sub);line-height:1.9;margin-bottom:20px}
.profile-tags{display:flex;flex-wrap:wrap;gap:8px}
.profile-tag{background:var(--yp);border:1px solid var(--y);color:var(--yd);font-size:12px;font-weight:700;padding:4px 12px;border-radius:20px}

.strengths-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;max-width:860px;margin:0 auto}
.strength-card{background:var(--wh);border:1.5px solid var(--bd);border-left:5px solid var(--y);border-radius:var(--r);padding:20px 18px}
.strength-card h4{font-size:14px;font-weight:700;color:var(--bk);margin-bottom:8px}
.strength-card p{font-size:13px;color:var(--sub);line-height:1.75}

@media(max-width:640px){
  .profile-inner{grid-template-columns:1fr}
  .profile-avatar{width:140px;height:140px;font-size:60px}
}

/* ===== Q&Aページ ===== */
.qa-hero{background:var(--gr);padding:64px 5% 56px;border-bottom:4px solid var(--y);text-align:center;position:relative;overflow:hidden}
.qa-hero::before{content:'Q&A';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:'Black Han Sans',sans-serif;font-size:180px;color:rgba(245,200,0,0.1);pointer-events:none}
.qa-hero h1{font-family:'Black Han Sans',sans-serif;font-size:clamp(22px,4vw,40px);color:var(--bk);letter-spacing:1px;margin-bottom:10px;position:relative;z-index:1}
.qa-hero p{font-size:14px;color:var(--sub);position:relative;z-index:1}

.qa-list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.qa-item{background:var(--wh);border:1.5px solid var(--bd);border-radius:10px;overflow:hidden}
.qa-q{display:flex;align-items:flex-start;gap:14px;padding:20px 22px;cursor:pointer;transition:background .15s}
.qa-q:hover{background:var(--gr)}
.qa-q-icon{font-family:'Black Han Sans',sans-serif;font-size:22px;color:var(--yd);flex-shrink:0;line-height:1.3}
.qa-q-text{font-size:15px;font-weight:700;color:var(--bk);flex:1;line-height:1.5}
.qa-q-arrow{font-size:16px;color:var(--sub);transition:transform .2s;flex-shrink:0;margin-top:2px}
.qa-item.open .qa-q-arrow{transform:rotate(180deg)}
.qa-a{display:none;padding:0 22px 20px 56px}
.qa-item.open .qa-a{display:block}
.qa-a p{font-size:14px;color:var(--sub);line-height:1.85}

/* ===== お問い合わせページ ===== */
.contact-hero{background:var(--gr);padding:64px 5% 56px;border-bottom:4px solid var(--y);text-align:center;position:relative;overflow:hidden}
.contact-hero::before{content:'CONTACT';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:'Black Han Sans',sans-serif;font-size:120px;color:rgba(245,200,0,0.1);pointer-events:none;white-space:nowrap}
.contact-hero h1{font-family:'Black Han Sans',sans-serif;font-size:clamp(22px,4vw,40px);color:var(--bk);letter-spacing:1px;margin-bottom:10px;position:relative;z-index:1}
.contact-hero p{font-size:14px;color:var(--sub);position:relative;z-index:1}

.contact-wrap{max-width:680px;margin:0 auto;padding:64px 5%}
.contact-info-bar{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:44px}
.contact-info-card{background:var(--yp);border:1.5px solid var(--y);border-radius:var(--r);padding:18px 20px;text-align:center}
.contact-info-card .ci-label{font-size:11px;font-weight:700;color:var(--yd);letter-spacing:1px;margin-bottom:4px}
.contact-info-card .ci-val{font-size:14px;font-weight:700;color:var(--bk)}

.contact-form{background:var(--wh);border:1.5px solid var(--bd);border-radius:10px;padding:36px 32px}
.contact-form h3{font-family:'Black Han Sans',sans-serif;font-size:18px;color:var(--bk);letter-spacing:.5px;margin-bottom:24px;padding-bottom:14px;border-bottom:2px solid var(--y)}
.form-group{margin-bottom:20px}
.form-group label{display:block;font-size:13px;font-weight:700;color:var(--bk);margin-bottom:6px}
.form-group label .req{background:var(--y);color:var(--bk);font-size:10px;font-weight:700;padding:1px 6px;border-radius:2px;margin-left:6px;vertical-align:middle}
.form-group label .opt{background:var(--gr2);color:var(--sub);font-size:10px;font-weight:700;padding:1px 6px;border-radius:2px;margin-left:6px;vertical-align:middle}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:11px 14px;border:1.5px solid var(--bd);border-radius:var(--r);font-size:14px;font-family:'Noto Sans JP',sans-serif;color:var(--tx);transition:border-color .2s;background:var(--wh)}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--y)}
.form-group textarea{resize:vertical;min-height:130px}
.form-group select{cursor:pointer}
.form-submit{width:100%;padding:15px;background:var(--bk);color:var(--wh);border:none;border-radius:var(--r);font-size:15px;font-weight:700;cursor:pointer;font-family:'Noto Sans JP',sans-serif;transition:background .2s;margin-top:8px}
.form-submit:hover{background:#333}
.form-note{font-size:12px;color:var(--sub);text-align:center;margin-top:14px;line-height:1.75}
.form-success{background:#e8f8f0;border:2px solid #2a9a5a;border-radius:10px;padding:28px 24px;text-align:center;display:none}
.form-success h4{font-size:18px;font-weight:700;color:#1a6a3a;margin-bottom:8px}
.form-success p{font-size:14px;color:#555}

@media(max-width:640px){
  .contact-info-bar{grid-template-columns:1fr}
  .contact-form{padding:24px 20px}
}
