/* =====================================================
  CONTACT専用CSS：ほかのページには影響しません
  ★ 色を変えたいときは下の4色から調整してください
===================================================== */
.contact-page{--contact-pink:#d8a0ad;--contact-light:#fff0f3;--contact-line:#e9cbd2;--contact-muted:#8d7e81;background:#fdfaf7}
.contact-page .site-header{z-index:30}
.contact-intro{position:relative;overflow:hidden;padding:175px 8vw 95px;text-align:center;background:linear-gradient(180deg,#f9e2e6 0%,#fdf3f3 42%,#fdfaf7 100%)}
.contact-overline{font-size:11px;letter-spacing:.32em;color:#aa8c92}.contact-intro h1{margin:18px 0 0;font-size:clamp(55px,8vw,110px);font-weight:400;line-height:1.1;letter-spacing:.16em}.contact-intro-ja{margin:12px 0 26px;font-family:var(--jp);font-size:14px;letter-spacing:.3em;color:#9c7d86}.contact-lead{font-family:var(--jp);font-size:13px;line-height:2.4;color:#766a6d;letter-spacing:.08em}.contact-flower{position:absolute;right:12%;top:145px;font-size:85px;color:#ecc4cc;opacity:.48}.contact-petal{position:absolute;left:12%;bottom:42px;width:13px;height:22px;border-radius:75% 20% 75% 25%;background:#e8b8c2;transform:rotate(35deg);opacity:.5}
.contact-container{width:min(1150px,calc(100% - 56px));margin:0 auto;padding:60px 0 125px}.contact-section-heading{display:flex;align-items:flex-start;gap:22px;margin-bottom:28px}.contact-section-heading>span{color:var(--contact-pink);font-size:15px;padding-top:5px}.contact-section-heading h2{margin:0;font-size:32px;letter-spacing:.15em;font-weight:500}.contact-section-heading p{margin:5px 0 0;font-family:var(--jp);font-size:12px;color:var(--contact-muted)}.contact-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:85px}.contact-tab{font:inherit;text-align:center;cursor:pointer;min-height:92px;padding:19px 8px;border:1px solid var(--contact-line);background:rgba(255,255,255,.8);color:#6b6062;transition:background .2s,border-color .2s,transform .2s}.contact-tab:hover{background:#fff4f6;transform:translateY(-2px)}.contact-tab.active{background:var(--contact-light);border-color:#d59aaa}.contact-tab strong{display:block;font-size:12px;font-weight:500;letter-spacing:.1em}.contact-tab small{display:block;margin-top:10px;font-family:var(--jp);font-size:10px;letter-spacing:.03em;color:#99858a}.contact-template-heading{margin-bottom:27px}.contact-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(270px,.82fr);gap:26px;align-items:start}.contact-template-card,.contact-send-card{background:rgba(255,255,255,.88);border:1px solid #ead7db;padding:34px}.contact-card-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid var(--contact-line)}.contact-card-label{font-size:10px;letter-spacing:.24em;color:#b18c97}.contact-card-top h3{font-size:28px;font-weight:500;margin:10px 0 0;letter-spacing:.14em}.contact-card-deco{color:#dfb0bb;font-size:35px}.contact-template-text{font-family:var(--jp);white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:2.15;letter-spacing:.035em;color:#6f6568;margin:26px 0 30px}.contact-button{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;font-family:var(--jp);font-size:12px;letter-spacing:.1em;text-decoration:none;cursor:pointer;transition:background .2s,transform .2s}.contact-button:hover{transform:translateY(-2px)}.contact-button-outline{width:100%;border:1px solid #dbaab5;background:#fff;color:#7a5d66}.contact-button-main{background:#d7a2b0;border:1px solid #d7a2b0;color:white;margin:25px 0 17px}.contact-send-card h3{font-family:var(--jp);font-size:22px;font-weight:500;margin:18px 0 20px}.contact-send-card>p:not(.contact-small-note){font-family:var(--jp);font-size:12px;line-height:2.2;color:#746a6d}.contact-small-note{font-family:var(--jp);font-size:11px;line-height:2.05;color:#93858a}.contact-small-note a{text-decoration:underline;text-underline-offset:3px}.contact-email-block{border-top:1px solid var(--contact-line);border-bottom:1px solid var(--contact-line);margin:35px 0 22px;padding:25px 0}.contact-email-value{font-size:14px;overflow-wrap:anywhere;letter-spacing:.035em}.contact-text-button{font:inherit;font-size:12px;border:0;border-bottom:1px solid #d9a6b3;background:transparent;padding:0 0 7px;color:#a37783;cursor:pointer}.contact-status{font-family:var(--jp);text-align:center;color:#aa7586;font-size:12px;min-height:24px;margin-top:18px}.contact-page .site-footer{background:#fdfaf7}
@media(max-width:960px){.contact-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-layout{grid-template-columns:1fr}.contact-send-card{max-width:none}}
@media(max-width:560px){.contact-intro{padding:145px 22px 70px}.contact-intro h1{font-size:55px}.contact-lead{font-size:11px}.contact-lead br{display:none}.contact-flower{right:4%;top:115px;font-size:48px}.contact-container{width:calc(100% - 30px);padding:48px 0 80px}.contact-section-heading h2{font-size:23px}.contact-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:58px}.contact-tab{min-height:77px;padding:14px 5px}.contact-tab strong{font-size:10px}.contact-tab small{font-size:9px}.contact-template-card,.contact-send-card{padding:22px 17px}.contact-card-top h3{font-size:22px}.contact-template-text{font-size:11px}}


/* =====================================================
  CONTACT カテゴリーとメールボタンの柔らかな演出
  ★ 角の丸みは border-radius の数字で変更できます。
  ★ ふわっと感は transform / box-shadow で調整できます。
===================================================== */
.contact-page .contact-tab {border-radius:9px;transition:background .28s ease,border-color .28s ease,transform .35s ease,box-shadow .35s ease}
.contact-page .contact-tab:hover {transform:translateY(-3px);box-shadow:0 8px 22px rgba(166,112,129,.09)}
.contact-page .contact-button-main {
  border-radius:7px;
  transition:background .35s ease,border-color .35s ease,transform .4s cubic-bezier(.22,.61,.36,1),box-shadow .4s ease;
}
.contact-page .contact-button-main:hover,
.contact-page .contact-button-main:focus-visible {
  background:#c88e9e;
  border-color:#c88e9e;
  transform:translateY(-4px);
  box-shadow:0 12px 28px rgba(174,109,128,.23);
}
.contact-page .contact-button-main span {transition:transform .35s ease}
.contact-page .contact-button-main:hover span {transform:translateX(5px)}
.contact-page .contact-button-main:active {transform:translateY(-1px)}
.contact-page .contact-gmail-link {display:inline-block;margin:0 0 12px;font-family:var(--jp);font-size:12px;color:#9e7281;text-decoration:underline;text-underline-offset:4px}
.contact-page .contact-gmail-link:hover {color:#c58b9d}
@media(prefers-reduced-motion:reduce){
  .contact-page .contact-tab,.contact-page .contact-button-main,.contact-page .contact-button-main span{transition:none!important}
  .contact-page .contact-tab:hover,.contact-page .contact-button-main:hover{transform:none}
}

/* =====================================================
  メール作成ボタン：影を使わない、ふわっとしたホバー
  ★ 浮き上がる距離は translateY(-2px) で変更
===================================================== */
.contact-page .contact-button-main{
  box-shadow:none!important;
  transition:background-color .55s ease,border-color .55s ease,transform .7s cubic-bezier(.22,1,.36,1)!important;
}
.contact-page .contact-button-main:hover,
.contact-page .contact-button-main:focus-visible{
  background:#ca93a3;
  border-color:#ca93a3;
  transform:translateY(-2px);
  box-shadow:none!important;
}
.contact-page .contact-button-main:active{transform:translateY(0)}
@media(prefers-reduced-motion:reduce){
 .contact-page .contact-button-main{transition:none!important}
 .contact-page .contact-button-main:hover{transform:none!important}
}
