@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}
/*************************************************
 鼻の治療コンパス / 固定ページ共通スタイル v2
 ヘッダー・フッターはトップページの表示に合わせた版
*************************************************/

.nc-fixed-page{
  --nc-navy:#0b2c3b;
  --nc-navy2:#123e48;
  --nc-teal:#23918e;
  --nc-ink:#0e3144;
  --nc-copy:#40565e;
  --nc-paper:#fbf8f1;
  --nc-line:#ccd9d5;
  --nc-white:#fff;
  width:100vw;
  max-width:none;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  background:#fff;
  color:var(--nc-ink);
  font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  font-size:16px;
  line-height:1.9;
  overflow:hidden;
}
.nc-fixed-page *, .nc-fixed-page *::before, .nc-fixed-page *::after{box-sizing:border-box}
.nc-fixed-page :is(h1,h2,h3,p,ul){padding:0;border:0;background:none;box-shadow:none}
.nc-fixed-page :is(h1,h2,h3)::before,.nc-fixed-page :is(h1,h2,h3)::after{content:none}
.nc-fixed-page a{color:inherit}
.nc-fixed-page a:focus-visible{outline:3px solid #2b9a97;outline-offset:4px;border-radius:4px}

/* ---------- 共通ヘッダー ---------- */
.nc-site-header{background:var(--nc-paper);border-bottom:1px solid #e3e5df}
.nc-header-inner{
  width:min(1440px,calc(100% - 96px));
  min-height:152px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
}
.nc-logo-link{display:block;text-decoration:none;flex:0 1 auto}
.nc-logo-window{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:1536/420;
  overflow:hidden;
  background:var(--nc-paper);
}
.nc-logo-window img{
  position:absolute;
  top:50%;left:0;
  transform:translateY(-50%);
  width:100%;height:auto;max-width:none;
  display:block;margin:0;padding:0;border:0;box-shadow:none;
}
.nc-header-logo{width:370px;max-width:42vw}
.nc-main-nav{display:flex;align-items:center;justify-content:flex-end;gap:34px;flex-wrap:wrap}
.nc-main-nav a{
  color:#102f42;
  font-family:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif;
  font-size:16px;
  text-decoration:none;
  white-space:nowrap;
  padding:10px 0;
}
.nc-main-nav a:hover{color:var(--nc-teal)}

/* ---------- ページタイトル ---------- */
.nc-page-hero{
  background:linear-gradient(110deg,#082738 0%,#103f49 56%,#0b2d3c 100%);
  color:#fff;
  padding:52px max(48px,calc((100vw - 1180px)/2)) 58px;
}
.nc-page-hero .nc-kicker{margin:0 0 9px;color:#d6c187;font-size:11px;font-weight:700;letter-spacing:.18em}
.nc-page-hero h1{
  margin:0;
  color:#fff;
  font-family:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif;
  font-size:clamp(31px,4vw,48px);
  font-weight:500;
  letter-spacing:.045em;
  line-height:1.45;
}

/* ---------- 本文 ---------- */
.nc-page-main{background:#fff;padding:70px 24px 86px}
.nc-page-content{width:min(900px,100%);margin:0 auto;color:var(--nc-copy)}
.nc-page-content .nc-lead{
  margin:0 0 42px;
  padding:23px 27px;
  background:#f5f8f6;
  border-radius:10px;
  color:#25454d;
}
.nc-page-content h2{
  margin:46px 0 22px;
  padding:0 0 11px;
  color:#173f49;
  border-bottom:1px solid #7ba8a3;
  font-size:1.45em;
  line-height:1.55;
  font-weight:700;
}
.nc-page-content h3{
  margin:30px 0 12px;
  padding-left:13px;
  border-left:3px solid #5a9a94;
  color:#23505a;
  font-size:1.08em;
  font-weight:700;
}
.nc-page-content p{margin:0 0 1.45em}
.nc-page-content ul{margin:18px 0 30px;padding-left:1.45em}
.nc-page-content li{margin:7px 0}
.nc-note-box{
  margin:30px 0;
  padding:21px 24px;
  border-left:4px solid #6b9e99;
  background:#f7f8f7;
  border-radius:6px;
}
.nc-note-box p:last-child{margin-bottom:0}
.nc-operator{
  margin-top:24px;
  padding:28px 30px;
  background:#f7faf8;
  border:1px solid #dae5e1;
  border-radius:10px;
}
.nc-operator p:last-child{margin-bottom:0}
.nc-policy-date{margin-top:48px;padding-top:18px;border-top:1px solid #dce3e0;color:#768486;font-size:13px;text-align:right}
.nc-contact-types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0 30px}
.nc-contact-types span{display:block;padding:13px 16px;background:#f5f8f6;border:1px solid #dce6e2;border-radius:7px;color:#31535a}

/* ---------- Contact Form 7 ---------- */
.nc-contact-form-wrap{width:min(900px,calc(100% - 48px));margin:0 auto 84px}
.nc-contact-form-wrap .wpcf7{margin-top:18px;color:var(--nc-copy)}
.nc-contact-form-wrap .wpcf7 label{display:block;margin:0 0 8px;color:#25454d;font-weight:700}
.nc-contact-form-wrap .wpcf7 input[type="text"],
.nc-contact-form-wrap .wpcf7 input[type="email"],
.nc-contact-form-wrap .wpcf7 select,
.nc-contact-form-wrap .wpcf7 textarea{
  width:100%;box-sizing:border-box;padding:13px 14px;border:1px solid #c6d5d1;border-radius:6px;background:#fff;font:inherit;color:#243f47
}
.nc-contact-form-wrap .wpcf7 textarea{min-height:180px;resize:vertical}
.nc-contact-form-wrap .wpcf7 input:focus,
.nc-contact-form-wrap .wpcf7 select:focus,
.nc-contact-form-wrap .wpcf7 textarea:focus{outline:none;border-color:#4f928c;box-shadow:0 0 0 3px rgba(79,146,140,.12)}
.nc-contact-form-wrap .wpcf7 input[type="submit"]{
  min-width:220px;padding:14px 30px;border:0;border-radius:7px;background:#173f49;color:#fff;font:inherit;font-weight:700;cursor:pointer
}
.nc-contact-form-wrap .wpcf7 input[type="submit"]:hover{background:#245b63}

/* ---------- 添付画像と同じフッター ---------- */
.nc-footer-band{height:108px;background:#123943}
.nc-site-footer{background:var(--nc-paper);color:#123a49;text-align:center;padding:58px 24px 72px}
.nc-footer-inner{width:min(1530px,100%);margin:0 auto}
.nc-footer-logo{width:520px;max-width:72vw;margin:0 auto 18px}
.nc-footer-tagline{margin:4px 0 18px!important;color:#13817e;font-size:16px}
.nc-footer-disclaimer{margin:0 auto 36px!important;color:#123a49;font-size:13px}
.nc-footer-rule{height:1px;background:#cbd9d5;width:100%;margin:0 auto 27px}
.nc-footer-links{display:flex;justify-content:center;align-items:center;gap:22px 44px;flex-wrap:wrap;margin:0}
.nc-footer-links a{font-size:16px;color:#173f49;text-decoration:underline;text-decoration-color:#8cb5b0;text-underline-offset:7px}
.nc-footer-links a:hover{color:#16807c}
.nc-copyright{margin:34px 0 0!important;color:#607477;font-size:12px}

/* Cocoonで本文のみ表示にした時の余白抑制。対応ブラウザではページタイトル等も隠す */
body:has(.nc-fixed-page) .entry-title,
body:has(.nc-fixed-page) .breadcrumb,
body:has(.nc-fixed-page) .date-tags,
body:has(.nc-fixed-page) .sns-share,
body:has(.nc-fixed-page) .sns-follow{display:none!important}
body:has(.nc-fixed-page) .article{margin:0!important;padding:0!important}
body:has(.nc-fixed-page) main.main{padding:0!important}

@media(max-width:767px){
  .nc-header-inner{width:calc(100% - 36px);min-height:auto;padding:16px 0;flex-direction:column;align-items:center;gap:7px}
  .nc-header-logo{width:min(330px,92vw);max-width:none}
  .nc-main-nav{justify-content:center;gap:7px 22px}
  .nc-main-nav a{font-size:13px;padding:6px 0}
  .nc-page-hero{padding:38px 24px 42px}
  .nc-page-main{padding:48px 20px 62px}
  .nc-page-content .nc-lead{padding:19px 20px;margin-bottom:34px}
  .nc-page-content h2{font-size:1.28em;margin-top:39px}
  .nc-operator{padding:22px 20px}
  .nc-contact-types{grid-template-columns:1fr}
  .nc-contact-form-wrap{width:calc(100% - 40px);margin-bottom:62px}
  .nc-footer-band{height:72px}
  .nc-site-footer{padding:43px 20px 50px}
  .nc-footer-logo{width:min(430px,94vw);max-width:94vw}
  .nc-footer-tagline{font-size:14px}
  .nc-footer-disclaimer{font-size:12px;line-height:1.8}
  .nc-footer-links{gap:8px 22px}
  .nc-footer-links a{font-size:14px}
}
