/*
Theme Name: 西山物語
Theme URI: https://nishiyama-monogatari.jp/
Template: unique_tcd044
Author: エムズクラフト
Author URI: https://mz-craft.net/
Description: 西山にフォーカスした情報紙「西山物語」のWebサイト用子テーマ（親テーマ：TCD UNIQUE）
Version: 1.0.20
*/

@import url("../unique_tcd044/style.css");

/* ------------------------------
   note新着（トップ コンテンツボックス内）
------------------------------ */
.content_box .nsm-note__list{grid-template-columns:1fr;gap:18px}
.content_box .nsm-note__link{display:flex;gap:14px;align-items:flex-start;text-align:left}
.content_box .nsm-note__thumb{flex:0 0 112px}
.content_box .nsm-note__body{padding:0;flex:1;min-width:0}
.content_box .nsm-note__title{font-size:13px;line-height:1.6;margin:0}
.content_box .nsm-note__date{font-size:11px;margin-bottom:4px}
.content_box .nsm-note__more{margin-top:28px}
.content_box .nsm-note__empty{padding:28px 0;font-size:13px}
.post_content .nsm-note__btn,.post_content .nsm-note__btn:visited{color:#222;text-decoration:none}
.post_content .nsm-note__btn:hover{color:#fff;background:#222}
.post_content .nsm-note__link,.post_content .nsm-note__link:visited{color:#222;text-decoration:none}
.post_content .nsm-note__list{margin:0;padding:0}
.post_content .nsm-note__item::before{display:none}

/* note新着：紅色背景用（白文字） nsm-note--red */
.content_box .nsm-note{--nsm-text:#fff;--nsm-sub:rgba(255,255,255,.75);--nsm-line:rgba(255,255,255,.35)}
.content_box .nsm-note__thumb{background:rgba(255,255,255,.12)}
.content_box .post_content .nsm-note__link,.content_box .post_content .nsm-note__link:visited{color:#fff}
.content_box .post_content .nsm-note__btn,.content_box .post_content .nsm-note__btn:visited{color:#fff;border-color:#fff}
.content_box .post_content .nsm-note__btn:hover{background:#fff;color:#D7003A}

/* ------------------------------
   トップ画像サイズ調整 nsm-layout
------------------------------ */
/* スライダー：16:9、最大で画面の80% */
@media (min-width:768px){
  #header_slider,#header_slider .slick-list,#header_slider .slick-track,#header_slider .item{height:min(56.25vw,80vh);min-height:420px}
}
#header_slider .item{position:relative;overflow:hidden}
#header_slider .item img{width:100%;height:100%;object-fit:cover}

/* 画像タイル：小=正方形、大=横長 2:1 */
.box_list .box::before{padding-top:100%}
.box_list .box2::before{padding-top:50%}
.box_list .content_box{min-height:420px}
@media (max-width:1199px){
  .box_list .box::before{padding-top:100%}
  .box_list .box2::before{padding-top:50%}
}
@media (max-width:767px){
  .box_list .box::before{padding-top:75%}
  .box_list .box2::before{padding-top:75%}
  .box_list .content_box{min-height:360px}
}

/* 情報紙の表紙タイル：元画像を使い、ロゴと写真が入る位置で正方形に nsm-flyer */
.box_list .image_box[style*="nishiyama_leaf"]{background-image:url(/wp/wp-content/uploads/2026/09/nishiyama_leaf.jpg) !important;background-position:center 45% !important;background-size:cover !important}

/* ヘッダーロゴ：PCは左上、原寸の90% nsm-logo */
@media (min-width:768px){
  /* トップ：左上に大きく */
  body.home #header_inner{position:static;width:auto}
  body.home #header #logo_image{position:absolute;top:30px;left:40px;margin:0;transform:none;z-index:10}
  body.home #header #logo_image img.pc_logo_image{width:670px;max-width:calc(100vw - 80px);height:auto}
  /* 下層ページ：ヘッダー帯に収まるサイズ */
  body:not(.home) #header_inner{position:static;width:auto}
  body:not(.home) #header #logo_image{position:absolute;top:50%;left:40px;margin:0;transform:translateY(-50%);z-index:10}
  body:not(.home) #header #logo_image img.pc_logo_image{height:50px;width:auto}
}

/* ------------------------------
   スマホ表示調整 nsm-sp
------------------------------ */
@media (max-width:767px){
  /* ロゴ：左寄せ・幅180px */
  #header #logo_image{top:50%;left:16px;margin:0;transform:translateY(-50%)}
  #header #logo_image img.mobile_logo_image{width:180px;height:auto}
  /* スライダーのキャッチフレーズ */
  html body #header_slider .caption{padding:0 24px !important}
  html body #header_slider .caption .title{font-size:22px !important;line-height:1.5 !important;margin-bottom:10px !important;letter-spacing:.04em;text-wrap:balance;word-break:auto-phrase}
  html body #header_slider .caption .desc{font-size:13px !important;line-height:1.9 !important}
  /* コンテンツボックス下の黒い余白を解消 */
  .box_list .content_box{min-height:0}
}

/* ------------------------------
   お問い合わせフォーム nsm-form
------------------------------ */
.nsm-form{max-width:720px;margin:0 auto;color:#222}
.nsm-form .nsm-form__lead{font-size:14px;line-height:2;margin:0 0 32px}
.nsm-form .nsm-form__list{margin:0;padding:0;border-top:1px solid #dcdad4}
.nsm-form .nsm-form__list dt{display:flex;align-items:center;gap:10px;margin:0;padding:22px 0 10px;font-size:14px;font-weight:bold;letter-spacing:.04em}
.nsm-form .nsm-form__list dd{margin:0;padding:0 0 22px;border-bottom:1px solid #dcdad4}
.nsm-form .nsm-form__req,.nsm-form .nsm-form__opt{display:inline-block;padding:2px 8px;font-size:11px;font-weight:normal;line-height:1.6;letter-spacing:.08em;color:#fff;background:#D7003A}
.nsm-form .nsm-form__opt{background:#9a968d}
.nsm-form input[type=text],.nsm-form input[type=email],.nsm-form input[type=tel],.nsm-form select,.nsm-form textarea{width:100%;box-sizing:border-box;padding:12px 14px;font-size:16px;line-height:1.6;color:#222;background:#fff;border:1px solid #cfccc4;border-radius:2px;box-shadow:none;font-family:inherit}
.nsm-form select{appearance:auto;height:auto}
.nsm-form textarea{min-height:200px;resize:vertical}
.nsm-form input:focus,.nsm-form select:focus,.nsm-form textarea:focus{outline:none;border-color:#4A5755;box-shadow:0 0 0 3px rgba(74,87,85,.15)}
.nsm-form ::placeholder{color:#aaa}
.nsm-form .nsm-form__agree{margin:32px 0 0;text-align:center;font-size:14px}
.nsm-form .nsm-form__agree a{color:#222;text-decoration:underline;text-underline-offset:3px}
.nsm-form .wpcf7-list-item{margin:0}
.nsm-form .nsm-form__submit{margin:28px 0 0;text-align:center}
.nsm-form input[type=submit]{min-width:280px;padding:18px 40px;font-size:15px;letter-spacing:.2em;color:#fff;background:#4A5755;border:0;border-radius:0;cursor:pointer;transition:opacity .3s}
.nsm-form input[type=submit]:hover{opacity:.85}
.nsm-form input[type=submit]:disabled{opacity:.4;cursor:not-allowed}
.nsm-form .wpcf7-spinner{display:block;margin:12px auto 0}
.wpcf7 form .wpcf7-response-output{max-width:720px;margin:24px auto 0;padding:14px 18px;font-size:14px;line-height:1.8}
.nsm-form .wpcf7-not-valid-tip{font-size:13px;margin-top:6px;color:#D7003A}
@media (max-width:767px){
  .nsm-form .nsm-form__list dt{padding-top:18px}
  .nsm-form input[type=submit]{width:100%;min-width:0}
}

/* フッター最下部メニュー（プライバシーポリシー） nsm-footer-menu */
html body #footer_menu_bottom li a,html body #footer_menu_bottom li a:visited{color:#fff;font-size:13px;letter-spacing:.06em;text-decoration:none;opacity:.9}
html body #footer_menu_bottom li a:hover{opacity:1;text-decoration:underline;text-underline-offset:3px}
@media (max-width:767px){
  html body #footer_menu_bottom{text-align:center;padding:14px 0 0}
  html body #footer_menu_bottom li{border-right:0}
  html body #footer_menu_bottom li a,html body #footer_menu_bottom li a:visited{padding:6px 10px;color:#333}
}

/* ------------------------------
   西山物語とは nsm-about
------------------------------ */
.post_content .nsm-about__catch{margin:24px 0 28px;text-align:center;font-size:30px;line-height:1.6;letter-spacing:.2em;font-weight:bold}
.post_content .nsm-about__lead{text-align:center;font-size:17px;line-height:2.2;letter-spacing:.06em;margin-bottom:28px}
.post_content .nsm-about__catch + .nsm-about__lead + p{text-align:center;line-height:2.2}
.post_content h2.wp-block-heading{margin-top:56px;font-size:22px;letter-spacing:.08em}
.post_content h3.wp-block-heading{margin-top:32px;font-size:17px;padding-left:12px;border-left:3px solid #D7003A}
.post_content .wp-block-separator{margin:56px auto;width:80px;border:0;border-top:1px solid #cfccc4}
.post_content .nsm-about__btns{justify-content:center;gap:16px;margin:32px 0}
.post_content .nsm-about__btns .wp-block-button__link{min-width:240px;padding:16px 28px;border-radius:0;font-size:14px;letter-spacing:.12em;text-align:center;text-decoration:none;color:#fff;background:#4A5755}
.post_content .nsm-about__btns .wp-block-button + .wp-block-button .wp-block-button__link{color:#222;background:transparent;border:1px solid #222}
.post_content .nsm-about__btns .wp-block-button__link:hover{opacity:.85}
.post_content .nsm-about__sign{text-align:center;font-size:14px;line-height:2;color:#555}
@media (max-width:767px){
  .post_content .nsm-about__catch{font-size:22px;letter-spacing:.12em}
  .post_content .nsm-about__lead{font-size:15px}
  .post_content .nsm-about__catch + .nsm-about__lead + p{text-align:left}
  .post_content .nsm-about__btns .wp-block-button{width:100%}
  .post_content .nsm-about__btns .wp-block-button__link{width:100%;box-sizing:border-box;min-width:0}
}

/* 西山物語とは：メイン写真と和のあしらい nsm-about__hero */
body.page-id-29{overflow-x:clip}
body.page-id-29 #left_col{width:100%;max-width:none;flex:1 1 auto;float:none}
body.page-id-29 #article .post_content{max-width:800px;margin-left:auto;margin-right:auto}
.nsm-about__hero{position:relative;width:100vw;margin:0 calc(50% - 50vw) 64px;height:min(62vh,640px);min-height:320px;overflow:hidden;background:#dfe3dc}
.post_content .nsm-about__hero img{display:block;width:100% !important;height:100% !important;max-width:none;object-fit:cover;object-position:center 60%}
.nsm-about__hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to left,rgba(20,24,22,.45) 0%,rgba(20,24,22,.12) 38%,rgba(20,24,22,0) 60%);pointer-events:none}
.post_content .nsm-about__hero-catch{position:absolute;top:50%;right:9%;z-index:1;margin:0;transform:translateY(-50%);writing-mode:vertical-rl;font-family:"Hiragino Mincho ProN","Yu Mincho","YuMincho","Noto Serif JP",serif;font-size:36px;font-weight:600;line-height:2.1;letter-spacing:.32em;color:#fff;text-shadow:0 1px 14px rgba(0,0,0,.35)}
.page-id-29 .nsm-about__intro{margin:0 0 8px;padding:56px 40px;background:#f7f3ea;border-top:1px solid #e6dfcf;border-bottom:1px solid #e6dfcf}
.page-id-29 .nsm-about__intro p{text-align:center;line-height:2.3;letter-spacing:.06em}
.page-id-29 .nsm-about__intro p:last-child{margin-bottom:0}
.page-id-29 .post_content h2.wp-block-heading{font-family:"Hiragino Mincho ProN","Yu Mincho","YuMincho","Noto Serif JP",serif;letter-spacing:.14em;display:flex;align-items:center;gap:14px}
.page-id-29 .post_content h2.wp-block-heading::before{content:"";flex:0 0 10px;width:10px;height:10px;background:#D7003A}
.page-id-29 .post_content .wp-block-separator{width:auto;height:8px;margin:64px auto;border:0;background:none;text-align:center}
.page-id-29 .post_content .wp-block-separator::before{content:"";display:block;width:8px;height:8px;margin:0 auto;background:#D7003A;transform:rotate(45deg)}
@media (max-width:767px){
  .nsm-about__hero{height:92vw;min-height:320px;margin-bottom:40px}
  .post_content .nsm-about__hero-catch{right:8%;font-size:21px;line-height:2;letter-spacing:.2em;white-space:nowrap}
  .page-id-29 .nsm-about__intro{padding:40px 20px}
  .page-id-29 .nsm-about__intro p{text-align:left}
}

/* お問い合わせ送信完了（送信内容の表示） nsm-thanks */
.nsm-thanks{max-width:720px;margin:0 auto;color:#222;scroll-margin-top:100px}
.nsm-thanks__title{margin:0 0 16px;text-align:center;font-size:22px;font-weight:bold;letter-spacing:.12em}
.nsm-thanks__text{margin:0 0 32px;font-size:14px;line-height:2;text-align:center}
.nsm-thanks__list{margin:0;padding:0;border-top:1px solid #dcdad4}
.nsm-thanks__list dt{margin:0;padding:18px 0 6px;font-size:13px;font-weight:bold;color:#555;letter-spacing:.04em}
.nsm-thanks__list dd{margin:0;padding:0 0 18px;font-size:15px;line-height:1.9;white-space:pre-wrap;word-break:break-word;border-bottom:1px solid #dcdad4}
.nsm-thanks__note{margin:24px 0 0;font-size:12px;line-height:1.9;color:#666}
.nsm-thanks__back{margin:36px 0 0;text-align:center}
.nsm-thanks__back a{display:inline-block;min-width:260px;padding:16px 32px;font-size:14px;letter-spacing:.12em;color:#222;text-decoration:none;border:1px solid #222;transition:background .3s,color .3s}
.nsm-thanks__back a:hover{color:#fff;background:#222}
@media (max-width:767px){.nsm-thanks__text{text-align:left}.nsm-thanks__back a{width:100%;min-width:0;box-sizing:border-box}}

/* ボックス見出しの下の説明一行 nsm-note__lead */
.content_box .post_content .nsm-note__lead{margin:-6px 0 18px;font-size:12px;line-height:1.8;letter-spacing:.04em;opacity:.8}
@media (max-width:767px){.content_box .post_content .nsm-note__lead{font-size:11px;margin-bottom:14px}}
