@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
*/

/************************************
下処理
************************************/
/*固定ページのカラム背景を透明にする*/
#main {
	background:transparent;
	margin-bottom:0px;
	padding-bottom:0px;
}

/*日付時間を非表示にする*/
.page .date-tags {
display: none;
}

/*各固定ページの背景を個別に設定*/
#body{
	background-color:#f8f5f0;
}

/*下記追加cssを設定したブロックの色を白半透明にする*/
.block-background-color{
	background-color:#ffffff80;
}

/*下記追加cssを設定したブロックの背景を透明にする*/
.block-background-transparent{
	background-color:transparent;
}

/*段落の色変更*/
.oukaen-paragraph-color1,
.oukaen-paragraph-color1 * {
  color: #9b8b65 !important;
}

/*追加cssを設定したブロックの幅を変更*/
.block-width{
	position:relative;
	left:50%;
	transform:translatex(-50%);
	width:85vw;
}

/*フッターの上の空白を削除*/
#footer{
	margin-top:0px;
	padding-top:0px;
}

/*rechapchaのロゴを消す*/
.grecaptcha-badge { 
	visibility: hidden;
}

/*全ページの詩*/
.wp-block-verse{
 border:none;
 background-color:transparent;
}

/*追加css：指定した画像を画面幅いっぱいにする*/
@media (min-width: 768px) {
  .hero{
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
  .hero img{
    width: 100%;
    height: auto;
    display: block;
  }
}

/*追加css：指定ブロックをフェイドイン*/
/* 初期状態：透明にして少し下に配置する */
.fade-in-up {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
/* 画面に入った時に追加するクラス：表示状態にする */
.fade-in-up.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/*カスタムテキスト追加（アンダーライン）*/
.cocoon-custom-text-1 {
  text-decoration-line: underline;
  text-decoration-style: solid;
  --custom-text-1-color: currentColor;
  text-decoration-color: var(--custom-text-1-color);
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

/*コンテンツ末尾の余白を詰める（フッター直前の空き対策）*/
#content-in{
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
.entry-content{
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/************************************
ページ毎のcss
************************************/
/*-----------------
お問い合わせページ
------------------*/
/*ファイル選択ボタン*/
.cf7-file-btn{
  background: #4b4038;
  color: #f8f5f0;
  padding: 8px 14px;
  border-radius: 4px;
  font-size: 14px;
  white-space: nowrap;
}
/*ファイル選択ボタンのテキスト部分*/
.cf7-file-text{
  font-size: 14px;
  color: #8a8087;
}
/* クリックできるようにするための土台 */
.cf7-file{
  display: inline-flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  position: relative;
}
/* 本体の file input をボタン上に透明で重ねる */
.cf7-file .cf7-file-input{
  position: absolute;
  left: 0;
  top: 0;
  width: 140px;   /* ←ボタンの幅に合わせる（要調整） */
  height: 34px;   /* ←ボタンの高さに合わせる（要調整） */
  opacity: 0;
  cursor: pointer;
}
/*ファイルを選択ボタン*/
.cf7-file-btn{
  cursor: pointer;
}

/*送信ボタン*/
body .wpcf7 .btn-submit-wrapper .btn-submit input.wpcf7-submit{
  background: #6e7955 !important;
  background-image: none !important;
  color: #f8f5f0 !important;
  border: 1px solid #6e7955 !important;
  width: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 12px 36px !important;
  line-height: 1.2 !important;
  min-height: 44px !important;
  border-radius: 4px !important;
}

/*リンクの装飾*/
a{
  color: #4b4038;
}
/*ホバー時*/
a:hover{
  opacity: 0.75;
  text-decoration: none;
}

@media (max-width: 1023px) {
  .ouka-contact-text-pc {
    display:none !important;
  }
  .ouka-contact-text-sp {
	text-align:left;
  }
}

@media (min-width: 1024px) {
  .ouka-contact-text-sp {
    display:none !important;
  }
  .ouka-contact-text-pc {
	text-align:center;
  	font-weight:600;
  }
}

.ouka-contact-text-general {
	font-size:16px;
	font-family:Shippori Mincho B1;
	font-weight:600;
}

.ouka-contact-title{
	font-size:16px;
	font-family:Shippori Mincho B1;
	text-align:center;
	font-weight:600;
}

.ouka-contact-title::after{
  content: "";
  display: block;
  width: 60px;
  height: 0.5px;
  background: #000000;
  margin: 0 auto 18px;
}

/*------------------------------
「桜花園について」ページの店舗情報
-------------------------------*/
/*店舗情報-総合*/
.oukaen-info-section {
  position: relative;
  padding: 0px 24px;
  padding-bottom:40px;
  color: #f8f5f0;
}

/*店舗情報-背景*/
.oukaen-info-wrap {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0px 0 0;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}

.oukaen-info-en {
  margin: 0 0 10px;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.18em;
  color: #4b4043;
}

.oukaen-info-title {
  margin: 0;
  font-size: clamp(28px, 4vw, 48px);
  line-height: 1.35;
  font-weight: 500;
  color: #4b4043;
  font-family: "Shippori Mincho B1", serif;
}

.oukaen-info-wrap {
  border-top: 1px solid rgba(75, 64, 67, 0.25);
}

.oukaen-info-row {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 24px;
  align-items: start;
  padding: 24px 0;
  border-bottom: 1px solid rgba(75, 64, 67, 0.25);
}

.oukaen-info-label {
  font-size: 14px;
  line-height: 1.9;
  letter-spacing: 0.08em;
  color: #4b4043;
}

.oukaen-info-value {
  font-size: 16px;
  line-height: 2;
  color: #4b4043;
  word-break: break-word;
}

.oukaen-info-value a {
  text-decoration: none;
  transition: opacity 0.25s ease;
}

.oukaen-info-value a::after {
  content: "↗";
  font-size: 0.88em;
  line-height: 1;
  opacity: 0.75;
  transform: translateY(-0.02em);
}

.oukaen-info-value a:hover {
  opacity: 0.75;
  color: #4b4043;
}

.oukaen-info-value a:visited {
  color: #4b4043;
}

/*店舗情報-スマホ*/
@media (max-width: 767px) {
  .oukaen-info-section {
    padding: 0px 20px;
	padding-bottom:30px;
  }

  .oukaen-info-wrap {
    padding-top: 0px;
  }

  .oukaen-info-row {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 18px 0;
  }

  .oukaen-info-label {
    font-size: 12px;
    letter-spacing: 0.14em;
  }

  .oukaen-info-value {
    font-size: 16px;
    line-height: 1.9;
  }
}

/*----------------------------
「桜花園について」ページの年表
------------------------------*/
.oukaen-history {
  max-width: 1280px;
  margin: 0 auto;
  padding: 10px 24px 100px;
  color: #4b4043;
}

/*年表本体*/
.oukaen-timeline {
  position: relative;
}

/*中央の縦線*/
.oukaen-timeline::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  background: #9b8b65;
  transform: translateX(-50%);
}

/*各項目*/
.oukaen-timeline__item {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 230px;
  margin-bottom: 40px;
}

/*左右の本文領域*/
.oukaen-timeline__body {
  width: min(100%, 420px);
}

.oukaen-timeline__item.left .oukaen-timeline__body {
  grid-column: 1;
  justify-self: start;
  text-align: left;
}

.oukaen-timeline__item.right .oukaen-timeline__body {
  grid-column: 2;
  justify-self: start;
  text-align: left;
}

/*マーカー*/
.oukaen-timeline__marker {
  position: absolute;
  top: 0.95em;
  left: 50%;
  width: 0;
  height: 0;
  transform: translateX(-50%);
}

.oukaen-timeline__dot {
  position: absolute;
  top: 50%;
  left: 0;
  width: 12px;
  height: 12px;
  background: #9b8b65;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.oukaen-timeline__line-h {
  position: absolute;
  top: 50%;
  height: 1px;
  background: #9b8b65;
  transform: translateY(-50%);
}

:root {
  --timeline-line-right: 190px;
  --timeline-line-left: clamp(240px, 20vw, 380px);
  --timeline-content-gap-right: 28px;
  --timeline-date-gap-left: 28px;
  --timeline-date-offset-y: -8px;
}

@media (min-width: 768px) {
  .oukaen-timeline__item.right .oukaen-timeline__line-h {
    width: var(--timeline-line-right);
    left: 0;
    right: auto;
  }

  .oukaen-timeline__item.left .oukaen-timeline__line-h {
    width: var(--timeline-line-left);
    right: 0;
    left: auto;
  }
}

/*年月*/
.oukaen-timeline__date {
  margin:0 0 12px;
  font-size: clamp(26px, 3vw, 44px);
  line-height: 1.2;
  letter-spacing: 0.04em;
  color: #9b8b65;
  font-family: "Shippori Mincho B1", serif;
  position: relative;
  transform: translateY(var(--timeline-date-offset-y));
  white-space: nowrap;
  margin-bottom:12px !important;
}

@media (min-width: 768px) {
  .oukaen-timeline__date {
    display: block;
    width: fit-content;
    max-width: 100%;
  }

  /* 左側本文 */
  .oukaen-timeline__item.left .oukaen-timeline__body {
    width: min(100%, 380px);
    padding-right: 0;
    text-align: left;
  }

  /* 右側本文
     横線の右端から本文左端までの距離を管理 */
.oukaen-timeline__item.right .oukaen-timeline__body {
margin-left: calc(var(--timeline-line-right) + var(--timeline-content-gap-right));
padding-left: 0;
text-align: left;
}

	/* 左側日付
     横線の左端から日付右端までの距離を管理 */
  .oukaen-timeline__item.left .oukaen-timeline__date {
    margin-left: 0;
    margin-right: var(--timeline-date-gap-left);
    text-align: left;
  }

  /* 右側日付は本文と同じ左端から始める */
  .oukaen-timeline__item.right .oukaen-timeline__date {
    margin-left: 0;
    margin-right: 0;
    text-align: left;
  }
}

/*見出し*/
.oukaen-timeline__heading {
  font-size: clamp(24px, 2.1vw, 38px);
  line-height: 1.5;
  font-weight: 500;
  color: #4b4043;
  font-family: "Shippori Mincho B1", serif;
}

/*年表内の見出しだけCocoonのh3装飾を無効化*/
.oukaen-timeline__heading {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 0 12px !important;
}

/*本文*/
.oukaen-timeline__text {
  margin: 0;
  font-size: 15px;
  line-height: 2.1;
  color: #4b4043;
}

/*項目間の余白調整*/
.oukaen-timeline__item:last-child {
  margin-bottom: 0;
}

/*タブレット*/
@media (min-width: 768px) and (max-width: 1024px) {
  .oukaen-history {
    padding: 64px 24px 80px;
  }

  .oukaen-timeline__item {
    min-height: 210px;
    margin-bottom: 28px;
  }

  :root {
    --timeline-line-right: 140px;
    --timeline-line-left: clamp(180px, 22vw, 280px);
    --timeline-content-gap-right: 22px;
    --timeline-date-gap-left: 22px;
  }

  .oukaen-timeline__item.left .oukaen-timeline__body {
    width: min(100%, 330px);
  }
}

/*スマホ*/
@media (max-width: 767px) {
  .oukaen-history {
    padding: 10px 20px 30px;
  }

  .oukaen-timeline::before {
    left: 28px;
    transform: none;
  }

  .oukaen-timeline__item {
    display: block;
    min-height: auto;
    margin-bottom: 54px;
    padding-left: 86px;
  }

  .oukaen-timeline__marker {
    left: 28px;
    transform: none;
    top: 0.85em;
  }

  .oukaen-timeline__dot {
    top: 50%;
    transform: translate(-50%, -50%);
    width: 11px;
    height: 11px;
  }

  .oukaen-timeline__line-h {
    top: 50%;
    width: 52px;
    left: 0;
    transform: translateY(-50%);
  }

  .oukaen-timeline__item.left .oukaen-timeline__line-h,
  .oukaen-timeline__item.right .oukaen-timeline__line-h {
    left: 0;
    right: auto;
    transform: none;
  }

  .oukaen-timeline__body,
  .oukaen-timeline__item.left .oukaen-timeline__body,
  .oukaen-timeline__item.right .oukaen-timeline__body {
    width: 100%;
    padding: 0;
    text-align: left;
  }

  .oukaen-timeline__date {
    margin: 0 0 18px;
    font-size: clamp(22px, 7vw, 34px);
  }

  .oukaen-timeline__heading {
    margin: 0 0 16px;
    font-size: clamp(18px, 5.8vw, 28px);
    line-height: 1.6;
  }

  .oukaen-timeline__text {
    font-size: 14px;
    line-height: 2;
  }
}

/* =========================
「桜花園について」ページ：仕事の流れエリア用 下向き矢印
========================= */

.oukaen-flow-arrow {
  --arrow-color: #9b8b65;
  --arrow-thickness: 1px;
  --arrow-line-length: 56px;
  --arrow-head-length: 14px;
  --arrow-gap-top: 16px;
  --arrow-gap-bottom: 16px;

  position: relative;
  width: 100%;
  height: calc(var(--arrow-line-length) + var(--arrow-head-length));
  margin: var(--arrow-gap-top) auto var(--arrow-gap-bottom);
}

.oukaen-flow-arrow__line {
  position: absolute;
  left: 50%;
  top: 0;
  width: var(--arrow-thickness);
  height: var(--arrow-line-length);
  background: var(--arrow-color);
  transform: translateX(-50%);
}

.oukaen-flow-arrow__head {
  position: absolute;
  top: var(--arrow-line-length);
  left: 50%;
  width: var(--arrow-head-length);
  height: var(--arrow-thickness);
  background: var(--arrow-color);
  transform-origin: left center;
}

.oukaen-flow-arrow__head--left {
  transform: rotate(230deg);
}

.oukaen-flow-arrow__head--right {
  transform: rotate(-50deg);
}

/*------------------------------
「アクセス」ページの情報
-------------------------------*/
/*総合*/
.oukaen-access-section {
  position: relative;
  padding: 0px 24px;
  padding-bottom:40px;
  color: #f8f5f0;
}

/*アクセス-背景*/
.oukaen-access-wrap {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0px 0 0;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}

.oukaen-access-en {
  margin: 0 0 10px;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.18em;
  color: #4b4043;
}

.oukaen-access-title {
  margin: 0;
  font-size: clamp(28px, 4vw, 48px);
  line-height: 1.35;
  font-weight: 500;
  color: #4b4043;
  font-family: "Shippori Mincho B1", serif;
}

.oukaen-access-wrap {
  border-top: 1px solid rgba(75, 64, 67, 0.25);
}

.oukaen-access-row {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 24px;
  align-items: start;
  padding: 24px 0;
  border-bottom: 1px solid rgba(75, 64, 67, 0.25);
}

.oukaen-access-label {
  font-size: 14px;
  line-height: 1.9;
  letter-spacing: 0.08em;
  color: #4b4043;
}

.oukaen-access-value {
  font-size: 16px;
  line-height: 2;
  color: #4b4043;
  word-break: break-word;
}

.oukaen-access-value a {
  text-decoration: none;
  transition: opacity 0.25s ease;
}

.oukaen-access-value a:hover {
  opacity: 0.75;
  color: #4b4043;
}

.oukaen-access-value a:visited {
  color: #4b4043;
}

/*アクセス-スマホ*/
@media (max-width: 767px) {
  .oukaen-access-section {
    padding: 0px 20px;
	padding-bottom:30px;
  }

  .oukaen-access-wrap {
    padding-top: 0px;
  }

  .oukaen-access-row {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 18px 0;
  }

  .oukaen-access-label {
    font-size: 12px;
    letter-spacing: 0.14em;
  }

  .oukaen-access-value {
    font-size: 16px;
    line-height: 1.9;
  }
}

/* =========================================
   桜花園 PCフッター
   Cocoon フッター左 / 中 / 右 ウィジェット用
========================================= */

/* 新しいカスタムHTMLは、まず非表示
   → スマホでは今のフッターをそのまま使う */
.ouka-footer-pc{
  display: none;
}

@media (min-width: 768px){

  /* PCでは既存のCocoonフッター下部を隠す */
  #footer .navi-footer,
  #footer .footer-bottom,
  #footer .copyright{
    display: none !important;
  }

  /* フッター全体 */
  #footer{
    background: #f8f5f0 !important;
  }

/* 外枠 */
#footer{
  --ouka-footer-max-width-pc: 1280px;
  --ouka-footer-pad-top-pc: 24px;
  --ouka-footer-pad-side-pc: 28px;
  --ouka-footer-pad-bottom-pc: 26px;
  --ouka-footer-line-gap-pc: 18px;
}

#footer-in{
  max-width: var(--ouka-footer-max-width-pc) !important;
  margin: 0 auto !important;
  padding:
    var(--ouka-footer-pad-top-pc)
    var(--ouka-footer-pad-side-pc)
    var(--ouka-footer-pad-bottom-pc) !important;
  box-sizing: border-box !important;
}

  /* 上の細い罫線 */
  #footer-in::before{
    content: "";
    display: block;
    width: 100%;
    height: 0.5px;
    background: #000000;
    margin: 0 0 18px;
  }

  /* Cocoonの3カラム器を安定化 */
  #footer .footer-widgets{
    display: flex !important;
    align-items: stretch !important;
    gap: 48px !important;
  }

  #footer .footer-left,
  #footer .footer-center,
  #footer .footer-right{
    float: none !important;
    width: auto !important;
    flex: 1 1 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #footer .footer-left{
    flex: 1.25 1 0 !important;
  }

  #footer .footer-center{
    flex: 0.85 1 0 !important;
  }

  #footer .footer-right{
    flex: 1.05 1 0 !important;
  }

  /* ウィジェットタイトルは空欄想定。
     もし入っていてもPCでは出さない */
  #footer .footer-widgets .widget-title{
    display: none !important;
  }

  /* ウィジェット余白を整理 */
  #footer .footer-widgets .widget{
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  #footer .footer-widgets .textwidget,
  #footer .footer-widgets .custom-html-widget{
    margin: 0 !important;
    padding: 0 !important;
  }

  /* 新フッター本体 */
  .ouka-footer-pc{
    display: block;
    color: #000000;
  }

  .ouka-footer-pc,
  .ouka-footer-pc p,
  .ouka-footer-pc ul,
  .ouka-footer-pc li{
    margin: 0;
    padding: 0;
  }

  .ouka-footer-pc a{
    color: #000000;
    text-decoration: none;
  }

  .ouka-footer-pc a:hover{
    opacity: 0.75;
    text-decoration: none;
  }

  /* 左カラム */
  .ouka-footer-pc__name{
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: 0.06em;
    margin-bottom: 14px;
  }

  .ouka-footer-pc__block{
    margin-bottom: 14px;
  }

  .ouka-footer-pc__text{
    font-size: 14px;
    line-height: 1.95;
    letter-spacing: 0.03em;
  }

  .ouka-footer-pc__sns{
    margin-top: 8px;
  }

  .ouka-footer-pc__insta{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
  }

.ouka-footer-pc__insta img{
  display: block;
  width: 34.4px;
  height: auto;
}

  /* 中カラム */
  .ouka-footer-pc__nav{
    list-style: none;
    display: grid;
    gap: 0px;
  }

  .ouka-footer-pc__nav a{
    display: inline-block;
    font-size: 14px;
    line-height: 1.75;
    letter-spacing: 0.04em;
  }
/*フッター中文字リンクの行間調整*/
@media (min-width: 768px){
  #footer .footer-center{
    --ouka-footer-center-link-gap: 4px;
    --ouka-footer-center-link-line-height: 1.35;
    --ouka-footer-center-link-font-size: 14px;
  }

  #footer .footer-center .ouka-footer-pc__nav{
    display: block !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #footer .footer-center .ouka-footer-pc__nav > li{
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #footer .footer-center .ouka-footer-pc__nav > li + li{
    margin-top: var(--ouka-footer-center-link-gap) !important;
  }

  #footer .footer-center .ouka-footer-pc__nav > li > a{
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: var(--ouka-footer-center-link-font-size) !important;
    line-height: var(--ouka-footer-center-link-line-height) !important;
    letter-spacing: 0.04em !important;
  }
}

  /* 右カラム */
  .ouka-footer-pc--right{
    height: 100%;
    min-height: 155px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-end;
  }

  .ouka-footer-pc__logo{
    width: min(170px, 16vw);
    margin-bottom: 16px;
  }

  .ouka-footer-pc__logo img{
    display: block;
    width: 146px;
    height: 146px;
  }

  .ouka-footer-pc__copyright{
    font-size: 12px;
    line-height: 1.6;
    letter-spacing: 0.02em;
    white-space: nowrap;
    text-align: right;
  }
/* 右カラムロゴ画像位置調整*/
@media (min-width: 768px){
  #footer .footer-right{
    --ouka-footer-right-logo-width: 146px;
    --ouka-footer-right-logo-shift-x: 35px;   /* negative = left, positive = right */
    --ouka-footer-right-logo-shift-y: 100px;   /* negative = up, positive = down */
    --ouka-footer-right-logo-margin-bottom: 16px;
  }

  /* Overall anchor point of the right widget */
  #footer .footer-right .ouka-footer-pc--right{
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;   /* flex-start / center / flex-end */
    justify-content: flex-end !important;
  }

  /* Fine positioning hook for the logo block */
  #footer .footer-right .ouka-footer-pc__logo{
    width: auto !important;
    margin: 0 !important;
    margin-bottom: var(--ouka-footer-right-logo-margin-bottom) !important;
    padding: 0 !important;
    align-self: flex-end !important;
    transform: translate(
      var(--ouka-footer-right-logo-shift-x),
      var(--ouka-footer-right-logo-shift-y)
    ) !important;
  }

  /* Size only */
  #footer .footer-right .ouka-footer-pc__logo img{
    display: block !important;
    width: var(--ouka-footer-right-logo-width) !important;
    height: auto !important;
    max-width: none !important;
  }

  /* Keep copyright aligned with the same edge */
  #footer .footer-right .ouka-footer-pc__copyright{
    margin: 0 !important;
    text-align: right !important;
    align-self: flex-end !important;
  }
}

/* フッター右コピーライト位置調整 */
@media (min-width: 768px){
  #footer .footer-right{
    --ouka-footer-copyright-shift-x: 0px;
    --ouka-footer-copyright-shift-y: 0px;
    --ouka-footer-copyright-margin-top: 0px;
  }

  #footer .footer-right .ouka-footer-pc__copyright{
    margin: 0 !important;
    margin-top: calc(
      var(--ouka-footer-copyright-margin-top) +
      max(0px, var(--ouka-footer-right-logo-shift-y))
    ) !important;
    align-self: flex-end !important;
    text-align: right !important;
    transform: translate(
      var(--ouka-footer-copyright-shift-x),
      var(--ouka-footer-copyright-shift-y)
    ) !important;
  }
}
	
}
/*フッターの中カラムの左右位置調整*/
@media (min-width: 768px){
  #footer .footer-center{
    --ouka-footer-center-shift-x: -60px; /* マイナスで左、プラスで右 */
  }

  #footer .footer-center .ouka-footer-pc--center{
    transform: translateX(var(--ouka-footer-center-shift-x)) !important;
  }
}

/* =========================================
   桜花園 スマホフッター
   - PCフッター用HTMLをスマホで再利用
   - 文字サイズや余白は変数で調整
========================================= */
@media (max-width: 767px){
  #footer{
    background: #f8f5f0 !important;
  }

  /* Cocoon標準の下部フッターは隠す */
  #footer .navi-footer,
  #footer .footer-bottom,
  #footer .copyright{
    display: none !important;
  }

  /* 全体の調整値 */
  #footer-in{
    --ouka-footer-sp-side: 20px;
    --ouka-footer-sp-top-pad: 14px;
    --ouka-footer-sp-bottom-pad: 34px;
    --ouka-footer-sp-line-gap: 18px;

    --ouka-footer-sp-name-size: 16px;
    --ouka-footer-sp-name-gap: 22px;

    --ouka-footer-sp-text-size: 14px;
    --ouka-footer-sp-text-line: 1.65;
    --ouka-footer-sp-block-gap: 18px;

    --ouka-footer-sp-insta-top: 6px;
    --ouka-footer-sp-insta-size: 29px;

    --ouka-footer-sp-center-top: 34px;
    --ouka-footer-sp-link-size: 14px;
    --ouka-footer-sp-link-line: 1.5;
    --ouka-footer-sp-link-gap: 3px;

    --ouka-footer-sp-right-top: 30px;
    --ouka-footer-sp-logo-width: 150px;
    --ouka-footer-sp-logo-shift-x: 0px;
    --ouka-footer-sp-logo-shift-y: 0px;

    --ouka-footer-sp-copyright-top: 12px;
    --ouka-footer-sp-copyright-size: 12px;
    --ouka-footer-sp-copyright-line: 1.5;
    --ouka-footer-sp-copyright-shift-x: 0px;
    --ouka-footer-sp-copyright-shift-y: 0px;

    max-width: none !important;
    margin: 0 !important;
    padding:
      var(--ouka-footer-sp-top-pad)
      var(--ouka-footer-sp-side)
      var(--ouka-footer-sp-bottom-pad) !important;
    box-sizing: border-box !important;
  }

  /* 上の細い線 */
  #footer-in::before{
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: #000000;
    margin: 0 0 var(--ouka-footer-sp-line-gap);
  }

  /* フッターの器を縦積みにする */
  #footer .footer-widgets{
    display: block !important;
  }

  #footer .footer-left,
  #footer .footer-center,
  #footer .footer-right{
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* タイトルや余計な装飾は消す */
  #footer .footer-widgets .widget-title{
    display: none !important;
  }

  #footer .footer-widgets .widget,
  #footer .footer-widgets .textwidget,
  #footer .footer-widgets .custom-html-widget{
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  /* PC用HTMLをスマホでも表示 */
  .ouka-footer-pc{
    display: block !important;
    color: #000000;
  }

  .ouka-footer-pc,
  .ouka-footer-pc p,
  .ouka-footer-pc ul,
  .ouka-footer-pc li{
    margin: 0;
    padding: 0;
  }

  .ouka-footer-pc a{
    color: #000000;
    text-decoration: none !important;
  }

  .ouka-footer-pc a:hover{
    opacity: 1;
    text-decoration: none !important;
  }

  /* 左ブロック */
  #footer .footer-left .ouka-footer-pc__name{
    font-size: var(--ouka-footer-sp-name-size);
    line-height: 1.6;
    letter-spacing: 0.04em;
    margin-bottom: var(--ouka-footer-sp-name-gap);
  }

  #footer .footer-left .ouka-footer-pc__block{
    margin-bottom: var(--ouka-footer-sp-block-gap);
  }

  #footer .footer-left .ouka-footer-pc__text{
    font-size: var(--ouka-footer-sp-text-size);
    line-height: var(--ouka-footer-sp-text-line);
    letter-spacing: 0.02em;
  }

  #footer .footer-left .ouka-footer-pc__sns{
    margin-top: var(--ouka-footer-sp-insta-top);
  }

  #footer .footer-left .ouka-footer-pc__insta{
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    width: auto !important;
    height: auto !important;
  }

  #footer .footer-left .ouka-footer-pc__insta img{
    display: block;
    width: var(--ouka-footer-sp-insta-size);
    height: auto;
  }

  /* 中ブロック */
  #footer .footer-center{
    margin-top: var(--ouka-footer-sp-center-top) !important;
  }

  #footer .footer-center .ouka-footer-pc__nav{
    display: block !important;
    list-style: none;
    margin: 0 !important;
    padding: 0 !important;
  }

  #footer .footer-center .ouka-footer-pc__nav > li{
    margin: 0 !important;
    padding: 0 !important;
  }

  #footer .footer-center .ouka-footer-pc__nav > li + li{
    margin-top: var(--ouka-footer-sp-link-gap) !important;
  }

  #footer .footer-center .ouka-footer-pc__nav a{
    display: block !important;
    font-size: var(--ouka-footer-sp-link-size) !important;
    line-height: var(--ouka-footer-sp-link-line) !important;
    letter-spacing: 0.03em;
    text-decoration: none !important;
  }

  /* 右ブロック */
  #footer .footer-right{
    margin-top: var(--ouka-footer-sp-right-top) !important;
  }

  #footer .footer-right .ouka-footer-pc--right{
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: flex-start !important;
  }

  #footer .footer-right .ouka-footer-pc__logo{
    margin: 0 !important;
    transform: translate(
      var(--ouka-footer-sp-logo-shift-x),
      var(--ouka-footer-sp-logo-shift-y)
    ) !important;
  }

  #footer .footer-right .ouka-footer-pc__logo img{
    display: block;
    width: var(--ouka-footer-sp-logo-width) !important;
    height: auto !important;
  }

  #footer .footer-right .ouka-footer-pc__copyright{
    margin-top: var(--ouka-footer-sp-copyright-top) !important;
    font-size: var(--ouka-footer-sp-copyright-size) !important;
    line-height: var(--ouka-footer-sp-copyright-line) !important;
    letter-spacing: 0.01em;
    white-space: nowrap;
    text-align: right;
    transform: translate(
      var(--ouka-footer-sp-copyright-shift-x),
      var(--ouka-footer-sp-copyright-shift-y)
    ) !important;
  }
}

/* =========================================
   トップページのInstagramエリア
   - page-id-1427 only
   - controls:
     1) body text -> Instagram account row
     2) feed grid -> follow button
     3) follow button -> footer top line
========================================= */
body.page-id-1427{
  --ouka-home-instagram-gap-sp: 60px;
  --ouka-home-instagram-gap-pc: 90px;
}

body.page-id-1427 .ouka-footer-instagram{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

body.page-id-1427 .ouka-footer-instagram__icon img{
  display: block;
  width: 29px;
  height: 29px;
}

body.page-id-1427 .ouka-footer-instagram__text{
  font-size: 20px;
  text-decoration: none !important;
}

body.page-id-1427 .ouka-footer-instagram__text:hover{
  text-decoration: none !important;
}

@media (max-width: 767px){
  body.page-id-1427
  #post-1427 > .entry-content > pre.wp-block-verse.has-text-align-center.has-text-color.has-background.has-link-color.is-style-bottom-margin-3em.has-bottom-margin{
    margin-bottom: 0 !important;
  }

  body.page-id-1427
  #post-1427 > .entry-content > .ouka-footer-instagram{
    margin-top: var(--ouka-home-instagram-gap-sp) !important;
  }

  body.page-id-1427
  #post-1427 > .entry-content > #sb_instagram #sbi_load{
    margin-top: var(--ouka-home-instagram-gap-sp) !important;
  }

  body.page-id-1427 #footer-in::before{
    margin-top: calc(var(--ouka-home-instagram-gap-sp) - var(--ouka-footer-sp-top-pad)) !important;
    margin-bottom: var(--ouka-footer-sp-line-gap) !important;
  }
}

@media (min-width: 768px){
  body.page-id-1427
  #post-1427 > .entry-content > pre.wp-block-verse.has-text-align-center.has-text-color.has-background.has-link-color.is-style-bottom-margin-3em.has-bottom-margin{
    margin-bottom: 0 !important;
  }

  body.page-id-1427
  #post-1427 > .entry-content > .ouka-footer-instagram{
    margin-top: var(--ouka-home-instagram-gap-pc) !important;
  }

  body.page-id-1427
  #post-1427 > .entry-content > #sb_instagram #sbi_load{
    margin-top: var(--ouka-home-instagram-gap-pc) !important;
  }

  body.page-id-1427 #footer-in::before{
    margin-top: calc(var(--ouka-home-instagram-gap-pc) - var(--ouka-footer-pad-top-pc)) !important;
    margin-bottom: var(--ouka-footer-line-gap-pc) !important;
  }
}

/* =========================================
   桜花園サイト
   ヘッダー / スマホメニュー / トップFV
   完全整理版 v15
========================================= */
/* -------------------------
   共通変数
------------------------- */
:root{
  --ouka-text: #4b4043;
  --ouka-white: #f8f5f0;
  --ouka-safe-top: env(safe-area-inset-top, 0px);
  --ouka-hamburger-size: 56px;
  --ouka-hamburger-top: calc(var(--ouka-safe-top) + 8px);
  --ouka-hamburger-left: 10px;
  --ouka-drawer-width: 65vw;
  --ouka-drawer-max-width: 360px;
  --ouka-drawer-bg: rgba(248, 245, 240, 0.82);
  --ouka-content-width: min(92vw, 760px);
  --ouka-instagram-width-pc: min(92vw, 720px);
  --ouka-instagram-width-sp: min(84vw, 520px);
  --ouka-top-text-gap-sp: clamp(40px, 15vw, 60px);
  --ouka-top-nav-top-sp: 65%;
  --ouka-top-nav-right-sp: 16px;

  /* スマホ下層ロゴ
     top / height を変えても space が自動追従する */
  --ouka-sp-logo-top: -46px;
  --ouka-sp-logo-height: 42px;
  --ouka-sp-logo-gap: 8px;
  --ouka-sp-logo-space: calc(var(--ouka-sp-logo-top) + var(--ouka-sp-logo-height) + var(--ouka-sp-logo-gap));
  --ouka-sp-logo-left: 55%;
  --ouka-sp-logo-shift-x: -50%;
  --ouka-sp-logo-width: min(52vw, 220px);
}

/* =========================================
   1) PC / タブレット下層ページ
   - head-insert.php の JS で #navi を固定
========================================= */
@media (min-width: 768px){
  body:not(.page-id-1427):not(.page-id-1530) #header-container,
  body:not(.page-id-1427):not(.page-id-1530) .header-container,
  body:not(.page-id-1427):not(.page-id-1530) #header-container-in,
  body:not(.page-id-1427):not(.page-id-1530) .header-container-in,
  body:not(.page-id-1427):not(.page-id-1530) #header,
  body:not(.page-id-1427):not(.page-id-1530) .header,
  body:not(.page-id-1427):not(.page-id-1530) #header-in,
  body:not(.page-id-1427):not(.page-id-1530) .header-in{
    position: static !important;
    top: auto !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    overflow: visible !important;
  }

  body:not(.page-id-1427):not(.page-id-1530) #navi{
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    min-height: 60px !important;
    z-index: 9990 !important;
    background: rgba(248, 245, 240, 0.88) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    box-shadow: none !important;
    border: 0 !important;
  }

  body:not(.page-id-1427):not(.page-id-1530) #navi.ouka-is-fixed{
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 9999 !important;
  }

  body:not(.page-id-1427):not(.page-id-1530).ouka-nav-fixed-active #contents,
  body:not(.page-id-1427):not(.page-id-1530).ouka-nav-fixed-active .contents,
  body:not(.page-id-1427):not(.page-id-1530).ouka-nav-fixed-active #content,
  body:not(.page-id-1427):not(.page-id-1530).ouka-nav-fixed-active .content{
    padding-top: var(--ouka-fixed-nav-height, 60px) !important;
  }

  body:not(.page-id-1427):not(.page-id-1530) #navi .navi-in,
  body:not(.page-id-1427):not(.page-id-1530) .navi .navi-in{
    padding-top: 10px !important;
    padding-bottom: 14px !important;
  }

  /* PC下層のヘッダー下画像を横いっぱいに安定表示 */
  body:not(.page-id-1427):not(.page-id-1530) .oukaen-page-hero,
  body:not(.page-id-1427):not(.page-id-1530) .entry-content > figure:first-child,
  body:not(.page-id-1427):not(.page-id-1530) .entry-content > .wp-block-image:first-child{
    width: 100% !important;
    max-width: none !important;
    margin-top: 0 !important;
    margin-bottom: 10px !important;
  }

  body:not(.page-id-1427):not(.page-id-1530) .oukaen-page-hero img,
  body:not(.page-id-1427):not(.page-id-1530) .entry-content > figure:first-child img,
  body:not(.page-id-1427):not(.page-id-1530) .entry-content > .wp-block-image:first-child img{
    display: block !important;
    width: 100% !important;
    height: auto !important;
  }
}

/* =========================================
   2) トップページ page-id-1427
========================================= */
/* トップページ共通 */
body.page-id-1427{
  --ouka-preloader-bg: #f8f5f0;
  --ouka-preloader-logo-url: url("https://oukaen-hayama.com/wp-content/uploads/2026/03/preloader-img.png");
  --ouka-preloader-fade: 3.0s;
  --ouka-top-header-trigger-offset: 0px; /* 正の値で早め、負の値で遅め */
  --ouka-top-header-height: 0px;
  --ouka-top-navi-height: 0px;
  --ouka-top-after-nav-gap: 0px;
}

/* JS有効時のみプリローダーを使う */
html.ouka-js body.page-id-1427.ouka-preloader-active{
  overflow: hidden !important;
  overscroll-behavior: none !important;
}

body.page-id-1427{
  --ouka-preloader-bg: #f8f5f0;
  --ouka-preloader-fade: 3.0s;
  --ouka-top-header-trigger-offset: 0px;
  --ouka-top-header-height: 0px;
  --ouka-top-navi-height: 0px;
  --ouka-top-after-nav-gap: 0px;
}

html.ouka-js body.page-id-1427.ouka-preloader-active{
  overflow: hidden !important;
  overscroll-behavior: none !important;
}

html.ouka-js body.page-id-1427 #ouka-preloader{
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: var(--ouka-preloader-bg);
  z-index: 110001;
  opacity: 1;
  visibility: visible;
  pointer-events: none;
  transition:
    opacity var(--ouka-preloader-fade) ease,
    visibility 0s linear var(--ouka-preloader-fade);
}

html.ouka-js body.page-id-1427 #ouka-preloader .ouka-preloader__logo{
  display: block;
  width: min(60vw, 520px);
  max-width: 100%;
  height: auto;
  max-height: min(26vh, 220px);
  object-fit: contain;
}

html.ouka-js body.page-id-1427.ouka-preloader-done #ouka-preloader{
  opacity: 0;
  visibility: hidden;
}

@media (max-width: 767px){
  html.ouka-js body.page-id-1427 #ouka-preloader .ouka-preloader__logo{
    width: min(74vw, 340px);
    max-height: min(20vh, 140px);
  }
}

body.page-id-1427 .article-header.entry-header,
body.page-id-1427 .entry-header,
body.page-id-1427 .entry-title,
body.page-id-1427 .post-date,
body.page-id-1427 .date-tags,
body.page-id-1427 .eye-catch,
body.page-id-1427 .singular-eye-catch{
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.page-id-1427 .content,
body.page-id-1427 .main,
body.page-id-1427 .article,
body.page-id-1427 .entry-content,
body.page-id-1427 .entry{
  margin: 0 !important;
  padding: 0 !important;
}

body.page-id-1427 .article{
  max-width: none !important;
  width: 100% !important;
  min-height: 0 !important;
}

body.page-id-1427 .ouka-home-hero{
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-bottom: 0 !important;
  overflow: hidden;
  color: var(--ouka-white);
  min-height: 100vh;
  min-height: 100svh;
  min-height: 100dvh;
  height: 100vh;
  height: 100svh;
  height: 100dvh;
  opacity: 1 !important;
}

body.page-id-1427 .ouka-home-hero__bg,
body.page-id-1427 .ouka-home-hero__bg img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

body.page-id-1427 .ouka-home-hero__bg img{
  display: block;
  object-fit: cover;
}

body.page-id-1427 .ouka-home-hero__overlay{
  position: absolute;
  inset: 0;
  background: rgba(20,16,13,.22);
  z-index: 1;
}

body.page-id-1427 .ouka-home-hero__logo{
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 4;
  transform: translate(-50%, -55%);
  width: min(34vw, 280px);
}

body.page-id-1427 .ouka-home-hero__logo img{
  display: block;
  width: 100%;
  height: auto;
}

body.page-id-1427 .ouka-home-hero__content{
  display: none !important;
}

/* PCトップ */
@media (min-width: 768px){
  body.page-id-1427{
    padding-top: 0 !important;
    --ouka-top-header-height: 0px;
  }

  /* 1427 の PC では旧 Cocoon ヘッダー / 旧ナビは使わない */
  body.page-id-1427 #header-container,
  body.page-id-1427 .header-container,
  body.page-id-1427 #header-container-in,
  body.page-id-1427 .header-container-in,
  body.page-id-1427 #header,
  body.page-id-1427 .header,
  body.page-id-1427 #header-in,
  body.page-id-1427 .header-in,
  body.page-id-1427 #navi,
  body.page-id-1427 .navi{
    display: none !important;
  }

  /* 1530型の共通ヘッダーを、FVを抜けた後だけ表示 */
  body.page-id-1427 #ouka-global-header{
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-12px);
    transition:
      opacity .28s ease,
      transform .28s ease,
      visibility 0s linear .28s;
  }

  body.page-id-1427.ouka-top-header-visible #ouka-global-header{
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
    transition-delay: 0s;
  }

  /* FV 全体 */
  body.page-id-1427 .ouka-home-hero{
    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    min-height: 100vh;
    min-height: 100svh;
    min-height: 100dvh;
    height: 100vh;
    height: 100svh;
    height: 100dvh;
    overflow: hidden;
  }

  /* スマホ用スライドはPCでは使わない */
  body.page-id-1427 .ouka-home-hero__slides--sp{
    display: none !important;
  }

  /* 将来の複数画像スライド構造にも対応 */
  body.page-id-1427 .ouka-home-hero__slides--pc,
  body.page-id-1427 .ouka-home-hero__bg{
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
  }

  body.page-id-1427 .ouka-home-hero__slides--pc img{
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    opacity: 0;
    transition: opacity .9s ease;
  }

  body.page-id-1427 .ouka-home-hero__slides--pc img.is-active{
    opacity: 1;
  }

  /* 現在の単一 picture 構造でも崩れないように残す */
  body.page-id-1427 .ouka-home-hero__bg picture,
  body.page-id-1427 .ouka-home-hero__bg img{
    display: block;
    width: 100%;
    height: 100%;
  }

  body.page-id-1427 .ouka-home-hero__bg img{
    object-fit: cover;
    object-position: center center;
  }

  /* オーバーレイ / 文字リンク / テキストは背景より前面 */
  body.page-id-1427 .ouka-home-hero__overlay{
    position: absolute;
    inset: 0;
    z-index: 1;
  }

  body.page-id-1427 .ouka-home-hero__nav,
  body.page-id-1427 .ouka-home-hero__content{
    position: relative;
    z-index: 2;
  }

/* PC版FV内の文字リンク調整 */
body.page-id-1427{
  --ouka-fv-nav-top-pc: 50%;
  --ouka-fv-nav-right-pc: 36px;
  --ouka-fv-nav-gap-pc: 14px;
  --ouka-fv-nav-font-size-pc: 16px;
  --ouka-fv-nav-line-height-pc: 1.55;
  --ouka-fv-nav-letter-spacing-pc: 0.08em;
  --ouka-fv-nav-color-pc: #ffffff;
  --ouka-fv-nav-text-align-pc: right;
}

body.page-id-1427 .ouka-home-hero__nav{
  position: absolute !important;
  top: var(--ouka-fv-nav-top-pc) !important;
  right: var(--ouka-fv-nav-right-pc) !important;
  left: auto !important;
  z-index: 10020 !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  justify-content: center !important;
  gap: var(--ouka-fv-nav-gap-pc) !important;

  transform: translateY(-50%) !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
}

body.page-id-1427 .ouka-home-hero__nav a,
body.page-id-1427 .ouka-home-hero__nav a:visited,
body.page-id-1427 .ouka-home-hero__nav a:hover,
body.page-id-1427 .ouka-home-hero__nav a:focus{
  display: block !important;
  color: var(--ouka-fv-nav-color-pc) !important;
  text-decoration: none !important;
  text-decoration-line: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background: transparent !important;

  font-size: var(--ouka-fv-nav-font-size-pc) !important;
  line-height: var(--ouka-fv-nav-line-height-pc) !important;
  letter-spacing: var(--ouka-fv-nav-letter-spacing-pc) !important;
  text-align: var(--ouka-fv-nav-text-align-pc) !important;

  padding: 0 !important;
  white-space: nowrap !important;
}

/* リンク内に span や Cocoon の装飾クラスが入っていても白・下線なしを優先 */
body.page-id-1427 .ouka-home-hero__nav a *,
body.page-id-1427 .ouka-home-hero__nav .cocoon-custom-text-1{
  color: inherit !important;
  text-decoration: none !important;
  text-decoration-line: none !important;
  text-decoration-color: transparent !important;
  text-decoration-thickness: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

  /* PCではFV上の桜花園ロゴ画像を出さない */
  body.page-id-1427 .ouka-home-hero__logo,
  body.page-id-1427 .ouka-home-hero__logo-sp{
    display: none !important;
  }

  /* FV直後の本文は通常幅に戻す */
  body.page-id-1427 .entry-content{
    padding-top: 0 !important;
  }

  body.page-id-1427 .entry-content > *:not(.ouka-home-hero):not(script):not(style){
    max-width: var(--ouka-content-width);
    margin-left: auto;
    margin-right: auto;
  }

  body.page-id-1427 .entry-content > .block-width{
    max-width: none;
  }
}

/* スマホトップ */
@media (max-width: 767px){
  body.page-id-1427{
    /* 1427スマホは 1530 寄りの見せ方に寄せる */
    padding-top: var(--ouka-header-total-height-sp) !important;

    /* FV の上位置は 1530 系と同じ発想で微調整可能にする */
    --ouka-1427-fv-offset-sp: 6px;

    /* ロゴ位置とサイズ */
    --ouka-1427-logo-left-sp: 18px;
    --ouka-1427-logo-top-sp: calc(var(--ouka-header-total-height-sp) + 28px);
    --ouka-1427-logo-width-sp: min(50vw, 210px);

    /* FV直後の本文との間隔 */
    --ouka-1427-top-text-gap-sp: clamp(40px, 15vw, 60px);
  }

  /* スマホでは共通ヘッダーを最初から使う */
  body.page-id-1427 #ouka-global-header{
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }

  /* 旧 Cocoon ヘッダー系は使わない */
  body.page-id-1427 #header-container,
  body.page-id-1427 .header-container,
  body.page-id-1427 #header-container-in,
  body.page-id-1427 .header-container-in,
  body.page-id-1427 #header,
  body.page-id-1427 .header,
  body.page-id-1427 #header-in,
  body.page-id-1427 .header-in,
  body.page-id-1427 #navi,
  body.page-id-1427 .navi{
    position: static !important;
    display: block !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    line-height: 0 !important;
  }

  body.page-id-1427 .mobile-menu-buttons{
    position: static !important;
    display: block !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
    list-style: none !important;
  }

  body.page-id-1427 .logo-menu-button.menu-button,
  body.page-id-1427 .logo-menu-button.menu-button *,
  body.page-id-1427 .search-menu-button.menu-button,
  body.page-id-1427 .search-menu-button.menu-button *{
    display: none !important;
  }

  /* 1427スマホも 1530寄りに、右ハンバーガーへ寄せる */
  body.page-id-1427 .navi-menu-button.menu-button{
    position: fixed !important;
    top: calc(var(--ouka-safe-top) + ((var(--ouka-header-bar-height-sp) - var(--ouka-header-menu-size-sp)) / 2)) !important;
    right: var(--ouka-header-menu-right-sp) !important;
    left: auto !important;
    width: var(--ouka-menu-box-size-sp) !important;
    height: var(--ouka-menu-box-size-sp) !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    color: var(--ouka-text) !important;
    border: 0 !important;
    box-shadow: none !important;
    z-index: 10090 !important;
  }

  /* 1427スマホも右からドロワーが出るように最終調整 */
  body.page-id-1427 #navi-menu-content.navi-menu-content.menu-content{
    left: auto !important;
    right: 0 !important;
    transform: translateX(100%) !important;
  }

  body.page-id-1427 #navi-menu-input:checked ~ #navi-menu-content{
    transform: translateX(0) !important;
  }

  body.page-id-1427 #navi-menu-content .navi-menu-close-button{
    left: 14px !important;
    right: auto !important;
  }

  /* FV 全体 */
  body.page-id-1427 .ouka-home-hero{
    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    margin-top: calc(
      -1 * var(--ouka-header-total-height-sp) + var(--ouka-1427-fv-offset-sp)
    ) !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;

    min-height: 100vh;
    min-height: 100svh;
    min-height: 100dvh;
    height: 100vh;
    height: 100svh;
    height: 100dvh;
  }

  /* PC用スライドはスマホでは使わない */
  body.page-id-1427 .ouka-home-hero__slides--pc{
    display: none !important;
  }

  /* スマホ用スライド */
  body.page-id-1427 .ouka-home-hero__slides--sp,
  body.page-id-1427 .ouka-home-hero__bg{
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
  }

  body.page-id-1427 .ouka-home-hero__slides--sp img{
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    opacity: 0;
    transition: opacity .9s ease;
  }

  body.page-id-1427 .ouka-home-hero__slides--sp img.is-active{
    opacity: 1;
  }

  /* 現在の単一 picture 構造でも崩れないように残す */
  body.page-id-1427 .ouka-home-hero__bg picture,
  body.page-id-1427 .ouka-home-hero__bg img{
    display: block;
    width: 100%;
    height: 100%;
  }

  body.page-id-1427 .ouka-home-hero__bg img{
    object-fit: cover;
    object-position: center top;
  }

  /* モバイルでは id1530 寄りに、画像上のリンク群は出さない */
  body.page-id-1427 .ouka-home-hero__nav{
    display: none !important;
  }

  /* オーバーレイ / ロゴ / テキストは背景より前へ */
  body.page-id-1427 .ouka-home-hero__overlay{
    position: absolute;
    inset: 0;
    z-index: 1;
  }

  body.page-id-1427 .ouka-home-hero__content,
  body.page-id-1427 .ouka-home-hero__logo,
  body.page-id-1427 .ouka-home-hero__logo-sp{
    position: relative;
    z-index: 2;
  }

  /* PCで消したロゴを、スマホでは左寄せで表示 */
  body.page-id-1427 .ouka-home-hero__logo,
  body.page-id-1427 .ouka-home-hero__logo-sp{
    position: absolute !important;
    top: var(--ouka-1427-logo-top-sp) !important;
    left: var(--ouka-1427-logo-left-sp) !important;
    right: auto !important;
    width: var(--ouka-1427-logo-width-sp) !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    display: block !important;
  }

  body.page-id-1427 .ouka-home-hero__logo img,
  body.page-id-1427 .ouka-home-hero__logo-sp img{
    display: block !important;
    width: 100% !important;
    height: auto !important;
  }

  /* FV直後の本文との間隔 */
  body.page-id-1427 .entry-content{
    padding-top: 0 !important;
  }

  body.page-id-1427 .entry-content > .ouka-home-hero + *{
    margin-top: var(--ouka-1427-top-text-gap-sp) !important;
    margin-block-start: var(--ouka-1427-top-text-gap-sp) !important;
  }

  body.page-id-1427 .entry-content > *:not(.ouka-home-hero):not(script):not(style),
  body.page-id-1427 .entry-content > *:not(.ouka-home-hero):not(script):not(style) p,
  body.page-id-1427 .entry-content > *:not(.ouka-home-hero):not(script):not(style) h1,
  body.page-id-1427 .entry-content > *:not(.ouka-home-hero):not(script):not(style) h2,
  body.page-id-1427 .entry-content > *:not(.ouka-home-hero):not(script):not(style) h3,
  body.page-id-1427 .entry-content > *:not(.ouka-home-hero):not(script):not(style) h4,
  body.page-id-1427 .entry-content > *:not(.ouka-home-hero):not(script):not(style) h5,
  body.page-id-1427 .entry-content > *:not(.ouka-home-hero):not(script):not(style) h6,
  body.page-id-1427 .entry-content > *:not(.ouka-home-hero):not(script):not(style) li,
  body.page-id-1427 .entry-content > *:not(.ouka-home-hero):not(script):not(style) a,
  body.page-id-1427 .entry-content > *:not(.ouka-home-hero):not(script):not(style) span{
    text-align: left !important;
  }
}

/* =========================================
   3) トップFVの下の本文
========================================= */
body.page-id-1427 .entry-content > *:not(.ouka-home-hero):not(script):not(style){
  max-width: var(--ouka-content-width);
  margin-left: auto;
  margin-right: auto;
}

/* PCトップは hero 直後に spacer を置いて、
   共通ヘッダー表示時のレイアウトシフトを防ぐ */
body.page-id-1427 .ouka-top-nav-spacer{
  display: block;
  width: 100%;
  height: 0;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  pointer-events: none;
  transition: height .28s ease;
}

@media (max-width: 767px){
  body.page-id-1427 .ouka-top-nav-spacer{
    display: none !important;
  }
}

@media (min-width: 768px){
  body.page-id-1427 .ouka-top-nav-spacer{
    display: block !important;
    height: 0;
    min-height: 0 !important;
    flex: 0 0 auto;
  }

  /* JS がセットする共通ヘッダー高さの変数を保持 */
  body.page-id-1427{
    --ouka-top-header-height: 0px;
    --ouka-top-body-gap-pc: clamp(64px, 23vw, 90px);
  }
}

@media (max-width: 767px){
  body.page-id-1427 .entry-content > *:not(.ouka-home-hero):not(script):not(style):first-of-type{
    margin-top: var(--ouka-top-text-gap-sp) !important;
  }
}

body.page-id-1427 .entry-content > .block-width{
  max-width: none;
}

/* Instagram */
body.page-id-1427 #sb_instagram,
body.page-id-1427 .instagram-media,
body.page-id-1427 .sbi,
body.page-id-1427 .sbi-owl-stage-outer{
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (min-width: 768px){
  body.page-id-1427 #sb_instagram,
  body.page-id-1427 .instagram-media,
  body.page-id-1427 .sbi,
  body.page-id-1427 .sbi-owl-stage-outer{
    max-width: var(--ouka-instagram-width-pc) !important;
  }
}

@media (max-width: 767px){
  body.page-id-1427 #sb_instagram,
  body.page-id-1427 .instagram-media,
  body.page-id-1427 .sbi,
  body.page-id-1427 .sbi-owl-stage-outer{
    max-width: var(--ouka-instagram-width-sp) !important;
  }
}

body.page-id-1427 .instagram-media{
  min-width: 0 !important;
}

/* =========================================
   4) 既存の汎用ヒーロー画像
========================================= */
.oukaen-page-hero{
  display: block;
  width: 100%;
  max-width: none;
  margin: 0 0 10px;
}

.oukaen-page-hero img{
  display: block;
  width: 100%;
  height: auto;
}

/* =========================================
   スマホ版トップページ本文だけ左揃え
   - PCはそのまま
   - ファーストビューは除外
========================================= */
@media (max-width: 767px){
  body.page-id-1427 .entry-content > *:not(.ouka-home-hero):not(script):not(style),
  body.page-id-1427 .entry-content > *:not(.ouka-home-hero):not(script):not(style) p,
  body.page-id-1427 .entry-content > *:not(.ouka-home-hero):not(script):not(style) h1,
  body.page-id-1427 .entry-content > *:not(.ouka-home-hero):not(script):not(style) h2,
  body.page-id-1427 .entry-content > *:not(.ouka-home-hero):not(script):not(style) h3,
  body.page-id-1427 .entry-content > *:not(.ouka-home-hero):not(script):not(style) h4,
  body.page-id-1427 .entry-content > *:not(.ouka-home-hero):not(script):not(style) h5,
  body.page-id-1427 .entry-content > *:not(.ouka-home-hero):not(script):not(style) h6,
  body.page-id-1427 .entry-content > *:not(.ouka-home-hero):not(script):not(style) li,
  body.page-id-1427 .entry-content > *:not(.ouka-home-hero):not(script):not(style) a,
  body.page-id-1427 .entry-content > *:not(.ouka-home-hero):not(script):not(style) span{
    text-align: left !important;
  }
}

/* =========================================
   B案トップページ page-id-1530
   - PCは MetaSlider
   - スマホは静止画像FV
   - 共通ヘッダーは後段の共通CSSをそのまま使う
========================================= */

body.page-id-1530{
  --ouka-preloader-bg: #f8f5f0;
  --ouka-preloader-fade: 1.0s;
  --ouka-b-top-text-gap-sp: 8px;
}

/* プリローダーは維持 */
html.ouka-js body.page-id-1530.ouka-preloader-active{
  overflow: hidden !important;
  overscroll-behavior: none !important;
}

html.ouka-js body.page-id-1530 #ouka-preloader{
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: var(--ouka-preloader-bg);
  z-index: 110001;
  opacity: 1;
  visibility: visible;
  pointer-events: none;
  transition:
    opacity var(--ouka-preloader-fade) ease,
    visibility 0s linear var(--ouka-preloader-fade);
}

html.ouka-js body.page-id-1530 #ouka-preloader .ouka-preloader__logo{
  display: block;
  width: min(60vw, 520px);
  max-width: 100%;
  height: auto;
  max-height: min(26vh, 220px);
  object-fit: contain;
}

html.ouka-js body.page-id-1530.ouka-preloader-done #ouka-preloader{
  opacity: 0;
  visibility: hidden;
}

@media (max-width: 767px){
  html.ouka-js body.page-id-1530 #ouka-preloader .ouka-preloader__logo{
    width: min(74vw, 340px);
    max-height: min(20vh, 140px);
  }
}

/* 固定ページタイトルなどは非表示 */
body.page-id-1530 .article-header.entry-header,
body.page-id-1530 .entry-header,
body.page-id-1530 .entry-title,
body.page-id-1530 .post-date,
body.page-id-1530 .date-tags,
body.page-id-1530 .eye-catch,
body.page-id-1530 .singular-eye-catch{
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.page-id-1530 .content,
body.page-id-1530 .main,
body.page-id-1530 .article,
body.page-id-1530 .entry-content,
body.page-id-1530 .entry{
  margin: 0 !important;
  padding: 0 !important;
}

body.page-id-1530 .article{
  max-width: none !important;
  width: 100% !important;
  min-height: 0 !important;
}

/* 念のため旧FVの右側リンク群は消す */
body.page-id-1530 .ouka-home-hero__nav{
  display: none !important;
}

/* -------------------------
   PC用FV: MetaSlider
------------------------- */
body.page-id-1530 .ouka-b-top-hero--pc{
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-bottom: 0 !important;
  overflow: hidden;
  min-height: 100vh;
  min-height: 100svh;
  min-height: 100dvh;
  height: 100vh;
  height: 100svh;
  height: 100dvh;
}

body.page-id-1530 .ouka-b-top-hero--pc,
body.page-id-1530 .ouka-b-top-hero--pc .metaslider,
body.page-id-1530 .ouka-b-top-hero--pc .metaslider .flexslider,
body.page-id-1530 .ouka-b-top-hero--pc .metaslider .slides,
body.page-id-1530 .ouka-b-top-hero--pc .metaslider .slides > li{
  height: 100% !important;
}

body.page-id-1530 .ouka-b-top-hero--pc .metaslider{
  margin: 0 !important;
  max-width: none !important;
}

body.page-id-1530 .ouka-b-top-hero--pc .metaslider .slides > li{
  position: relative !important;
}

body.page-id-1530 .ouka-b-top-hero--pc .metaslider .slides img,
body.page-id-1530 .ouka-b-top-hero--pc .flexslider .slides img{
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.page-id-1530 .ouka-b-top-hero--pc .caption-wrap{
  display: none !important;
}

/* スマホ用静止画像FVは初期状態では隠す */
body.page-id-1530 .ouka-b-top-hero-sp{
  display: none;
  margin: 0 !important;
  padding: 0 !important;
}

/* FV以外の本文幅 */
body.page-id-1530 .entry-content > *:not(.ouka-b-top-hero--pc):not(.ouka-b-top-hero-sp):not(script):not(style){
  max-width: var(--ouka-content-width);
  margin-left: auto;
  margin-right: auto;
}

body.page-id-1530 .entry-content > .block-width{
  max-width: none;
}

/* PCだけ、ヘッダー下の線とFVの間を少しあける */
@media (min-width: 768px){
  body.page-id-1530 .entry-content{
    padding-top: 6px !important;
  }

  body.page-id-1530 .ouka-b-top-hero--pc{
    display: block !important;
  }

  body.page-id-1530 .ouka-b-top-hero-sp{
    display: none !important;
  }
}

/* -------------------------
   id1530スマホ用FV: 静止画像
   - 上位置は維持
   - 下方向だけ表示範囲を広げる
------------------------- */
@media (max-width: 767px){
  body.page-id-1530{
    /* 今の上位置はちょうど良いので、そのまま維持 */
    --ouka-1530-fv-offset-sp: 6px;

    /* 下方向の表示範囲をここで調整 */
    --ouka-b-top-text-gap-sp: 8px;
  }

  body.page-id-1530 .ouka-b-top-hero--pc{
    display: none !important;
  }

  body.page-id-1530 .ouka-b-top-hero-sp{
    display: block !important;
    width: 100vw;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    margin-top: calc(
      -1 * var(--ouka-header-total-height-sp) + var(--ouka-1530-fv-offset-sp)
    ) !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;

    /* ここでスマホ画面に近い高さまで見せる */
    height: 100vh !important;
    height: 100svh !important;
    height: 100dvh !important;
    min-height: 100vh !important;
    min-height: 100svh !important;
    min-height: 100dvh !important;
  }

  body.page-id-1530 .ouka-b-top-hero-sp img{
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    /* 上側を維持しながら下へ広げる */
    object-fit: cover !important;
    object-position: center top !important;
  }

  body.page-id-1530 .entry-content > .ouka-b-top-hero-sp + *{
    margin-top: var(--ouka-b-top-text-gap-sp) !important;
    margin-block-start: var(--ouka-b-top-text-gap-sp) !important;
  }

  body.page-id-1530 .entry-content > *:not(.ouka-b-top-hero--pc):not(.ouka-b-top-hero-sp):not(script):not(style),
  body.page-id-1530 .entry-content > *:not(.ouka-b-top-hero--pc):not(.ouka-b-top-hero-sp):not(script):not(style) p,
  body.page-id-1530 .entry-content > *:not(.ouka-b-top-hero--pc):not(.ouka-b-top-hero-sp):not(script):not(style) h1,
  body.page-id-1530 .entry-content > *:not(.ouka-b-top-hero--pc):not(.ouka-b-top-hero-sp):not(script):not(style) h2,
  body.page-id-1530 .entry-content > *:not(.ouka-b-top-hero--pc):not(.ouka-b-top-hero-sp):not(script):not(style) h3,
  body.page-id-1530 .entry-content > *:not(.ouka-b-top-hero--pc):not(.ouka-b-top-hero-sp):not(script):not(style) h4,
  body.page-id-1530 .entry-content > *:not(.ouka-b-top-hero--pc):not(.ouka-b-top-hero-sp):not(script):not(style) h5,
  body.page-id-1530 .entry-content > *:not(.ouka-b-top-hero--pc):not(.ouka-b-top-hero-sp):not(script):not(style) h6,
  body.page-id-1530 .entry-content > *:not(.ouka-b-top-hero--pc):not(.ouka-b-top-hero-sp):not(script):not(style) li,
  body.page-id-1530 .entry-content > *:not(.ouka-b-top-hero--pc):not(.ouka-b-top-hero-sp):not(script):not(style) a,
  body.page-id-1530 .entry-content > *:not(.ouka-b-top-hero--pc):not(.ouka-b-top-hero-sp):not(script):not(style) span{
    text-align: left !important;
  }
}

/*webフォント指定*/
html body,
html body button,
html body input,
html body select,
html body textarea,
html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6,
html body p,
html body li,
html body dt,
html body dd,
html body a,
html body span,
html body div,
.news_date_title,
.oukaen-info-title,
.oukaen-timeline__date,
.oukaen-timeline__heading,
.oukaen-access-title {
	font-family: "Shippori Mincho B1", serif;
}

/* =========================================
   共通カスタムヘッダー
   - 全ページ共通の基礎スタイル
   - 1427 の表示 / 非表示タイミングはトップ専用ブロック側で制御
   - body の padding-top は 1427 以外だけに付与
========================================= */

body{
  --ouka-header-bg: #f8f5f0;
  --ouka-header-line: #000000;

  /* PC */
  --ouka-header-height-pc: 84px;
  --ouka-header-side-pc: 28px;
  --ouka-header-logo-width-pc: 170px;
  --ouka-header-logo-shift-x-pc: 0px;
  --ouka-header-logo-shift-y-pc: 0px;
  --ouka-header-nav-gap-pc: 22px;
  --ouka-header-nav-font-size-pc: 15px;
  --ouka-header-nav-shift-y-pc: 0px;
  --ouka-header-instagram-size-pc: 22px;

  /* SP */
  /* SP */
  --ouka-header-bar-height-sp: 72px;
  --ouka-header-total-height-sp: calc(var(--ouka-safe-top) + var(--ouka-header-bar-height-sp));
  --ouka-header-logo-width-sp: 132px;
  --ouka-header-logo-left-sp: 16px;
  --ouka-header-logo-shift-y-sp: 0px;
  --ouka-header-menu-right-sp: 10px;
  --ouka-header-menu-size-sp: 56px;

  /* ドロワー共通 */
  --ouka-drawer-width: 65vw;
  --ouka-drawer-max-width: 360px;
  --ouka-drawer-bg: rgba(248, 245, 240, 0.82);
  --ouka-drawer-blur: 10px;

  --ouka-drawer-padding-top: calc(var(--ouka-safe-top) + 56px);
  --ouka-drawer-padding-side: 24px;
  --ouka-drawer-padding-bottom: 28px;

  --ouka-drawer-link-gap: 18px;
  --ouka-drawer-link-size: 18px;
  --ouka-drawer-link-line-height: 1.9;
  --ouka-drawer-link-letter-spacing: 0.04em;
  --ouka-drawer-link-font-family: "Shippori Mincho B1", serif;

  --ouka-drawer-close-size: 40px;
  --ouka-drawer-close-top: calc(var(--ouka-safe-top) + 12px);
  --ouka-drawer-close-right: 14px;
  --ouka-drawer-close-bar-length: 24px;
  --ouka-drawer-close-bar-thickness: 1px;
}

/* =========================================
   PC
========================================= */
@media (min-width: 768px){
  /* 旧ヘッダー / 旧ナビは全ページで見せない
     → 以後は #ouka-global-header を使う */
  body #header-container,
  body .header-container,
  body #header-container-in,
  body .header-container-in,
  body #header,
  body .header,
  body #header-in,
  body .header-in,
  body #navi,
  body .navi{
    display: none !important;
  }

  /* 1427 以外は通常ページとしてヘッダーぶん下げる
     1427 はトップ専用ブロックで制御 */
  body:not(.page-id-1427){
    padding-top: var(--ouka-header-height-pc) !important;
  }
}

/* =========================================
   スマホ
========================================= */
@media (max-width: 767px){
  /* 1427 以外は通常ページとしてヘッダーぶん下げる
     1427 はトップ専用ブロックで制御 */
  body:not(.page-id-1427){
    padding-top: var(--ouka-header-total-height-sp) !important;
  }

  /* 旧ヘッダー系は「消す」のではなく、ゼロサイズ化して残す
     → ハンバーガー要素の親を壊さないため */
  body .mobile-header,
  body #header-container,
  body .header-container,
  body #header-container-in,
  body .header-container-in,
  body #header,
  body .header,
  body #header-in,
  body .header-in,
  body #navi,
  body .navi{
    position: static !important;
    display: block !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    line-height: 0 !important;
  }

  body .mobile-menu-buttons{
    position: static !important;
    display: block !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
    list-style: none !important;
  }

  body .logo-menu-button.menu-button,
  body .logo-menu-button.menu-button *,
  body .search-menu-button.menu-button,
  body .search-menu-button.menu-button *{
    display: none !important;
  }

  /* ハンバーガー共通サイズ */
  body{
    --ouka-menu-box-size-sp: 56px;
    --ouka-menu-icon-size-sp: 30px;
    --ouka-menu-label-size-sp: 12px;
    --ouka-menu-label-gap-sp: 2px;
  }

  /* ひとまず 1427 以外は右固定
     1427 は次の「スマホトップ」差し替えで最終統一する */
  body:not(.page-id-1427) .navi-menu-button.menu-button{
    position: fixed !important;
    top: calc(var(--ouka-safe-top) + ((var(--ouka-header-bar-height-sp) - var(--ouka-header-menu-size-sp)) / 2)) !important;
    right: var(--ouka-header-menu-right-sp) !important;
    left: auto !important;
    width: var(--ouka-header-menu-size-sp) !important;
    height: var(--ouka-header-menu-size-sp) !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    color: var(--ouka-text) !important;
    border: 0 !important;
    box-shadow: none !important;
    z-index: 10090 !important;
  }

  body.page-id-1427 .navi-menu-button.menu-button,
  body:not(.page-id-1427) .navi-menu-button.menu-button{
    width: var(--ouka-menu-box-size-sp) !important;
    height: var(--ouka-menu-box-size-sp) !important;
  }

  body.page-id-1427 #navi-menu-open.menu-open.menu-button-in,
  body:not(.page-id-1427) #navi-menu-open.menu-open.menu-button-in{
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    color: inherit !important;
  }

  body.page-id-1427 #navi-menu-open .fa.fa-bars,
  body:not(.page-id-1427) #navi-menu-open .fa.fa-bars{
    font-size: var(--ouka-menu-icon-size-sp) !important;
    line-height: 1 !important;
  }

  body.page-id-1427 #navi-menu-open .navi-menu-caption,
  body:not(.page-id-1427) #navi-menu-open .navi-menu-caption{
    display: block !important;
    font-size: var(--ouka-menu-label-size-sp) !important;
    line-height: 1.1 !important;
    margin-top: var(--ouka-menu-label-gap-sp) !important;
  }

  /* 下層ページの旧ロゴ描画ルートを止める */
  body:not(.page-id-1427) .article::after,
  body:not(.page-id-1427) .article::before,
  body:not(.page-id-1427) .entry-content::before,
  body:not(.page-id-1427) .entry-content::after,
  body:not(.page-id-1427) .oukaen-page-hero::before,
  body:not(.page-id-1427) #header-container-in::after,
  body:not(.page-id-1427) .header-container-in::after{
    content: none !important;
    display: none !important;
  }

  /* ドロワー系 */
  body #navi-menu-input,
  body #navi-menu-content{
    z-index: 10095 !important;
  }

  /* 下層ページの先頭画像まわり */
  body:not(.page-id-1427):not(.page-id-1530){
    --ouka-subpage-first-visual-gap-sp: 0px;
  }

  body:not(.page-id-1427):not(.page-id-1530) .article-header.entry-header,
  body:not(.page-id-1427):not(.page-id-1530) .entry-header,
  body:not(.page-id-1427):not(.page-id-1530) .entry-title,
  body:not(.page-id-1427):not(.page-id-1530) .post-date,
  body:not(.page-id-1427):not(.page-id-1530) .date-tags,
  body:not(.page-id-1427):not(.page-id-1530) .eye-catch,
  body:not(.page-id-1427):not(.page-id-1530) .singular-eye-catch{
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body:not(.page-id-1427):not(.page-id-1530) #content,
  body:not(.page-id-1427):not(.page-id-1530) .content,
  body:not(.page-id-1427):not(.page-id-1530) #content-in,
  body:not(.page-id-1427):not(.page-id-1530) .content-in,
  body:not(.page-id-1427):not(.page-id-1530) #main,
  body:not(.page-id-1427):not(.page-id-1530) .main,
  body:not(.page-id-1427):not(.page-id-1530) .article,
  body:not(.page-id-1427):not(.page-id-1530) .entry-content,
  body:not(.page-id-1427):not(.page-id-1530) .entry{
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body:not(.page-id-1427):not(.page-id-1530) .oukaen-page-hero,
  body:not(.page-id-1427):not(.page-id-1530) .entry-content > figure:first-child,
  body:not(.page-id-1427):not(.page-id-1530) .entry-content > .wp-block-image:first-child{
    margin-top: var(--ouka-subpage-first-visual-gap-sp) !important;
    margin-bottom: 10px !important;
  }
}

/* =========================================
   新ヘッダー本体
========================================= */
#ouka-global-header{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: var(--ouka-header-bg);
  border-bottom: 0.5px solid var(--ouka-header-line);
  z-index: 10080;
  box-sizing: border-box;
}

#ouka-global-header .ouka-global-header__inner{
  box-sizing: border-box;
}

/* PC */
@media (min-width: 768px){
  #ouka-global-header{
    height: var(--ouka-header-height-pc);
  }

  #ouka-global-header .ouka-global-header__inner{
    max-width: 1280px;
    height: 100%;
    margin: 0 auto;
    padding: 0 var(--ouka-header-side-pc);
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  #ouka-global-header .ouka-global-header__logo{
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    transform: translate(
      var(--ouka-header-logo-shift-x-pc),
      var(--ouka-header-logo-shift-y-pc)
    );
  }

  #ouka-global-header .ouka-global-header__logo img{
    display: block;
    width: var(--ouka-header-logo-width-pc);
    height: auto;
  }

  #ouka-global-header .ouka-global-header__nav{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--ouka-header-nav-gap-pc);
    transform: translateY(var(--ouka-header-nav-shift-y-pc));
  }

  #ouka-global-header .ouka-global-header__link{
    color: var(--ouka-text);
    text-decoration: none;
    font-size: var(--ouka-header-nav-font-size-pc);
    line-height: 1.4;
    letter-spacing: 0.04em;
    white-space: nowrap;
  }

  #ouka-global-header .ouka-global-header__instagram{
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  #ouka-global-header .ouka-global-header__instagram img{
    display: block;
    width: var(--ouka-header-instagram-size-pc);
    height: auto;
  }

  #ouka-global-header .ouka-global-header__logo-sp{
    display: none !important;
  }
}

/* スマホ */
@media (max-width: 767px){
  #ouka-global-header{
    height: var(--ouka-header-total-height-sp);
	border-bottom: none !important;
  }

  #ouka-global-header .ouka-global-header__inner{
    position: relative;
    height: 100%;
    width: 100%;
    box-sizing: border-box;
    padding-top: var(--ouka-safe-top);
    padding-left: max(var(--ouka-header-logo-left-sp), env(safe-area-inset-left, 0px));
    display: flex;
    align-items: center;
    justify-content: flex-start;
  }

  #ouka-global-header .ouka-global-header__logo,
  #ouka-global-header .ouka-global-header__nav{
    display: none !important;
  }

  #ouka-global-header .ouka-global-header__logo-sp{
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    height: var(--ouka-header-bar-height-sp);
    margin: 0;
    transform: translateY(var(--ouka-header-logo-shift-y-sp));
  }

  #ouka-global-header .ouka-global-header__logo-sp img{
    display: block;
    width: var(--ouka-header-logo-width-sp);
    height: auto;
  }
}

/* =========================================
   ドロワー共通デザイン
   - 見た目は全ページ共通
   - 出る向きは下の補助ブロックで調整
========================================= */
@media (max-width: 1023px){
  #navi-menu-content.navi-menu-content.menu-content{
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: var(--ouka-drawer-width) !important;
    max-width: var(--ouka-drawer-max-width) !important;
    height: 100dvh !important;
    margin: 0 !important;
    padding:
      var(--ouka-drawer-padding-top)
      var(--ouka-drawer-padding-side)
      var(--ouka-drawer-padding-bottom) !important;
    box-sizing: border-box !important;
    background: var(--ouka-drawer-bg) !important;
    backdrop-filter: blur(var(--ouka-drawer-blur)) !important;
    -webkit-backdrop-filter: blur(var(--ouka-drawer-blur)) !important;
    color: var(--ouka-text) !important;
    overflow-y: auto !important;
    z-index: 10040 !important;
    transform: translateX(-100%) !important;
    transition: transform 0.32s ease !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  #navi-menu-input:checked ~ #navi-menu-content{
    transform: translateX(0) !important;
  }

  #navi-menu-content .menu-drawer{
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
  }

  #navi-menu-content .menu-drawer li{
    margin: 0 0 var(--ouka-drawer-link-gap) !important;
    padding: 0 !important;
  }

  #navi-menu-content .menu-drawer a{
    display: block !important;
    width: 100% !important;
    color: var(--ouka-text) !important;
    text-decoration: none !important;
    font-size: var(--ouka-drawer-link-size) !important;
    line-height: var(--ouka-drawer-link-line-height) !important;
    letter-spacing: var(--ouka-drawer-link-letter-spacing) !important;
    font-family: var(--ouka-drawer-link-font-family) !important;
    white-space: nowrap !important;
  }

  #navi-menu-content .navi-menu-close-button{
    position: absolute !important;
    top: var(--ouka-drawer-close-top) !important;
    right: var(--ouka-drawer-close-right) !important;
    display: block !important;
    width: var(--ouka-drawer-close-size) !important;
    height: var(--ouka-drawer-close-size) !important;
    z-index: 10041 !important;
  }

  #navi-menu-content .navi-menu-close-button .fa.fa-close{
    visibility: hidden !important;
  }

  #navi-menu-content .navi-menu-close-button::before,
  #navi-menu-content .navi-menu-close-button::after{
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: var(--ouka-drawer-close-bar-length) !important;
    height: var(--ouka-drawer-close-bar-thickness) !important;
    background: var(--ouka-text) !important;
    transform-origin: center center !important;
  }

  #navi-menu-content .navi-menu-close-button::before{
    transform: translate(-50%, -50%) rotate(45deg) !important;
  }

  #navi-menu-content .navi-menu-close-button::after{
    transform: translate(-50%, -50%) rotate(-45deg) !important;
  }
}

/* -----------------------------
   右ハンバーガーに合わせて、
   ドロワーを右から出す
   閉じるボタンは左上へ
   ※ 1427 は次のトップ専用ブロック差し替えで最終調整する
----------------------------- */
@media (max-width: 1023px){
  body:not(.page-id-1427) #navi-menu-content.navi-menu-content.menu-content{
    left: auto !important;
    right: 0 !important;
    transform: translateX(100%) !important;
  }

  body:not(.page-id-1427) #navi-menu-input:checked ~ #navi-menu-content{
    transform: translateX(0) !important;
  }

  body:not(.page-id-1427) #navi-menu-content .navi-menu-close-button{
    left: 14px !important;
    right: auto !important;
  }
}

/* -----------------------------
   スマホのInstagram投稿画像の間隔を調整可能にする
   1427 / 1530 の両方を対象
----------------------------- */
@media (max-width: 767px){
  body.page-id-1427,
  body.page-id-1530{
    --ouka-instagram-gap-sp: 18px;
  }

  body.page-id-1427 #sb_instagram #sbi_images,
  body.page-id-1530 #sb_instagram #sbi_images{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: var(--ouka-instagram-gap-sp) !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.page-id-1427 #sb_instagram #sbi_images .sbi_item,
  body.page-id-1530 #sb_instagram #sbi_images .sbi_item{
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    flex: unset !important;
  }

  body.page-id-1427 #sb_instagram .sbi_photo_wrap,
  body.page-id-1530 #sb_instagram .sbi_photo_wrap,
  body.page-id-1427 #sb_instagram .sbi_photo,
  body.page-id-1530 #sb_instagram .sbi_photo{
    margin: 0 !important;
    padding: 0 !important;
  }
}
@media (max-width: 1023px){
  body{
    --ouka-drawer-width: 65vw;
    --ouka-drawer-max-width: 360px;
    --ouka-drawer-bg: rgba(248, 245, 240, 0.82);
    --ouka-drawer-blur: 10px;

    --ouka-drawer-padding-top: calc(var(--ouka-safe-top) + 56px);
    --ouka-drawer-padding-side: 24px;
    --ouka-drawer-padding-bottom: 28px;

    --ouka-drawer-link-gap: 18px;
    --ouka-drawer-link-size: 18px;
    --ouka-drawer-link-line-height: 1.9;
    --ouka-drawer-link-letter-spacing: 0.04em;
    --ouka-drawer-link-font-family: "Shippori Mincho B1", serif;

    --ouka-drawer-close-size: 40px;
    --ouka-drawer-close-top: calc(var(--ouka-safe-top) + 12px);
    --ouka-drawer-close-right: 14px;
    --ouka-drawer-close-bar-length: 24px;
    --ouka-drawer-close-bar-thickness: 1px;
  }

  #navi-menu-content.navi-menu-content.menu-content{
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: var(--ouka-drawer-width) !important;
    max-width: var(--ouka-drawer-max-width) !important;
    height: 100dvh !important;
    margin: 0 !important;
    padding:
      var(--ouka-drawer-padding-top)
      var(--ouka-drawer-padding-side)
      var(--ouka-drawer-padding-bottom) !important;
    box-sizing: border-box !important;
    background: var(--ouka-drawer-bg) !important;
    backdrop-filter: blur(var(--ouka-drawer-blur)) !important;
    -webkit-backdrop-filter: blur(var(--ouka-drawer-blur)) !important;
    color: var(--ouka-text) !important;
    overflow-y: auto !important;
    z-index: 10040 !important;
    transform: translateX(-100%) !important;
    transition: transform 0.32s ease !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  #navi-menu-input:checked ~ #navi-menu-content{
    transform: translateX(0) !important;
  }

  #navi-menu-content .menu-drawer{
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
  }

  #navi-menu-content .menu-drawer li{
    margin: 0 0 var(--ouka-drawer-link-gap) !important;
    padding: 0 !important;
  }

  #navi-menu-content .menu-drawer a{
    display: block !important;
    width: 100% !important;
    color: var(--ouka-text) !important;
    text-decoration: none !important;
    font-size: var(--ouka-drawer-link-size) !important;
    line-height: var(--ouka-drawer-link-line-height) !important;
    letter-spacing: var(--ouka-drawer-link-letter-spacing) !important;
    font-family: var(--ouka-drawer-link-font-family) !important;
    white-space: nowrap !important;
  }

  #navi-menu-content .navi-menu-close-button{
    position: absolute !important;
    top: var(--ouka-drawer-close-top) !important;
    right: var(--ouka-drawer-close-right) !important;
    display: block !important;
    width: var(--ouka-drawer-close-size) !important;
    height: var(--ouka-drawer-close-size) !important;
    z-index: 10041 !important;
  }

  #navi-menu-content .navi-menu-close-button .fa.fa-close{
    visibility: hidden !important;
  }

  #navi-menu-content .navi-menu-close-button::before,
  #navi-menu-content .navi-menu-close-button::after{
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: var(--ouka-drawer-close-bar-length) !important;
    height: var(--ouka-drawer-close-bar-thickness) !important;
    background: var(--ouka-text) !important;
    transform-origin: center center !important;
  }

  #navi-menu-content .navi-menu-close-button::before{
    transform: translate(-50%, -50%) rotate(45deg) !important;
  }

  #navi-menu-content .navi-menu-close-button::after{
    transform: translate(-50%, -50%) rotate(-45deg) !important;
  }
}

/* =========================================
   下層ページのヒーロー
     1) current id1270 block (.ouka-about-intro)
     2) future reusable block (.ouka-subpage-hero)
========================================= */

/* -----------------------------------------
   root variables
----------------------------------------- */
body.page-id-1270 .ouka-about-intro,
.entry-content > .ouka-subpage-hero{
  --ouka-subhero-max-width-pc: 1280px;

  --ouka-subhero-left-pad-pc: 56px;
  --ouka-subhero-left-pad-sp: 20px;

  --ouka-subhero-top-pc: 44px;
  --ouka-subhero-top-sp: 12px;

  --ouka-subhero-bottom-pc: 72px;
  --ouka-subhero-bottom-sp: 40px;

  --ouka-subhero-gap-y-pc: 18px;

  --ouka-subhero-title-size-pc: 29px;
  --ouka-subhero-title-size-sp: 24px;
  --ouka-subhero-title-line: 1.6;
  --ouka-subhero-title-letter-pc: 0.16em;
  --ouka-subhero-title-letter-sp: 0.10em;
  --ouka-subhero-title-media-gap-sp: 14px;
	
  --ouka-subhero-text-max-pc: 360px;
  --ouka-subhero-text-width-pc: 600px;
  --ouka-subhero-text-size-pc: 20px;
  --ouka-subhero-text-size-sp: 16px;
  --ouka-subhero-text-line-pc: 2.1;
  --ouka-subhero-text-line-sp: 2.0;

  --ouka-subhero-media-offset-y-pc: -40px;
  --ouka-subhero-image-aspect-sp: 16 / 9;

  --ouka-subhero-plate-color: #e9e4d9;
  --ouka-subhero-plate-left-pc: 70px;
  --ouka-subhero-plate-top-pc: 70px;
  --ouka-subhero-plate-bottom-pc: 40px;
}

/* -----------------------------------------
   base wrapper
----------------------------------------- */
body.page-id-1270 .entry-content > .ouka-about-intro,
.entry-content > .ouka-subpage-hero{
  box-sizing: border-box;
  width: 100vw;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  color: #4b4043;
  overflow: visible;
}

/* text alignment */
body.page-id-1270 .ouka-about-intro,
body.page-id-1270 .ouka-about-intro *,
.entry-content > .ouka-subpage-hero,
.entry-content > .ouka-subpage-hero *{
  text-align: left;
}

/* typography base */
body.page-id-1270 .ouka-about-intro__title,
body.page-id-1270 .ouka-about-intro__text,
.ouka-subpage-hero__title,
.ouka-subpage-hero__text{
  margin: 0;
  color: #4b4043;
  font-family: "Shippori Mincho B1", serif;
}

body.page-id-1270 .ouka-about-intro__title,
.ouka-subpage-hero__title{
  font-weight: 600;
}

body.page-id-1270 .ouka-about-intro__text,
.ouka-subpage-hero__text{
  font-weight: 400;
}

body.page-id-1270 .ouka-about-intro__media,
.ouka-subpage-hero__media{
  position: relative;
  min-width: 0;
}

body.page-id-1270 .ouka-about-intro__media img,
.ouka-subpage-hero__media img{
  display: block;
  width: 100%;
  max-width: none;
}

/* -----------------------------------------
   PC
----------------------------------------- */
@media (min-width: 768px){
  body.page-id-1270 .entry-content > .ouka-about-intro,
  .entry-content > .ouka-subpage-hero{
    --ouka-subhero-copy-left-pc: max(
      var(--ouka-subhero-left-pad-pc),
      calc((100vw - var(--ouka-subhero-max-width-pc)) / 2 + var(--ouka-subhero-left-pad-pc))
    );
    --ouka-subhero-copy-right-clear-pc: clamp(32px, 4vw, 72px);
    --ouka-subhero-copy-width-pc: min(
      var(--ouka-subhero-text-max-pc),
      calc(50vw - var(--ouka-subhero-copy-left-pc) - var(--ouka-subhero-copy-right-clear-pc))
    );

    display: grid;
    grid-template-columns: 50vw 50vw;
    grid-template-areas:
      "title media"
      "text  media";
    column-gap: 0;
    row-gap: var(--ouka-subhero-gap-y-pc);
    align-items: start;

    padding-top: var(--ouka-subhero-top-pc);
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 0;

    margin-bottom: var(--ouka-subhero-bottom-pc);
  }

  body.page-id-1270 .ouka-about-intro__title,
  .ouka-subpage-hero__title{
    grid-area: title;
    width: var(--ouka-subhero-copy-width-pc);
    max-width: var(--ouka-subhero-copy-width-pc);
    margin-left: var(--ouka-subhero-copy-left-pc);
    margin-right: 0;
    font-size: var(--ouka-subhero-title-size-pc) !important;
    line-height: var(--ouka-subhero-title-line);
    letter-spacing: var(--ouka-subhero-title-letter-pc);
    align-self: end;
    position: relative;
    z-index: 2;
  }

  body.page-id-1270 .ouka-about-intro__text,
  .ouka-subpage-hero__text{
    grid-area: text;
    width: var(--ouka-subhero-text-width-pc);
    max-width: var(--ouka-subhero-text-width-pc);
    margin-left: var(--ouka-subhero-copy-left-pc);
    margin-right: 0;
    font-size: var(--ouka-subhero-text-size-pc);
    line-height: var(--ouka-subhero-text-line-pc);
    letter-spacing: 0.04em;
    position: relative;
    z-index: 2;
  }

  body.page-id-1270 .ouka-about-intro__media,
  .ouka-subpage-hero__media{
    grid-area: media;
    align-self: start;
    justify-self: stretch;
    width: 100%;
    max-width: none;
    margin: 0;
    margin-top: var(--ouka-subhero-media-offset-y-pc);
    overflow: visible;
  }

  body.page-id-1270 .ouka-about-intro__media::before,
  .ouka-subpage-hero__media::before{
    content: "";
    position: absolute;
    z-index: 0;
    left: calc(-1 * var(--ouka-subhero-plate-left-pc));
    top: var(--ouka-subhero-plate-top-pc);
    right: 0;
    bottom: calc(-1 * var(--ouka-subhero-plate-bottom-pc));
    background: var(--ouka-subhero-plate-color);
    pointer-events: none;
  }

  body.page-id-1270 .ouka-about-intro__media img,
  .ouka-subpage-hero__media img{
    position: relative;
    z-index: 3;
    height: auto !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center center;
  }
}

/* -----------------------------------------
   SP
----------------------------------------- */
@media (max-width: 767px){
  body.page-id-1270 .entry-content > .ouka-about-intro,
  .entry-content > .ouka-subpage-hero{
    display: block;
    padding-top: var(--ouka-subhero-top-sp);
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 0;
    margin-bottom: var(--ouka-subhero-bottom-sp);
  }

body.page-id-1270 .entry-content > .ouka-about-intro > .ouka-about-intro__title,
.entry-content > .ouka-subpage-hero > .ouka-subpage-hero__title{
  padding-left: var(--ouka-subhero-left-pad-sp);
  padding-right: var(--ouka-subhero-left-pad-sp);
  margin-top: 0 !important;
  margin-bottom: var(--ouka-subhero-title-media-gap-sp) !important;
  font-size: var(--ouka-subhero-title-size-sp);
  line-height: 1.55;
  letter-spacing: var(--ouka-subhero-title-letter-sp);
}

  /* id1270 + reusable lower-level pages mobile: same layered composition */
  body.page-id-1270 .entry-content > .ouka-about-intro > .ouka-about-intro__media,
  .entry-content > .ouka-subpage-hero > .ouka-subpage-hero__media{
    --ouka-subhero-media-width-sp: calc(100vw - 36px);
    --ouka-subhero-media-plate-shift-y-sp: 18px;
    --ouka-subhero-media-gap-below-sp: 18px;

    position: relative;
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-bottom: calc(
      var(--ouka-subhero-media-gap-below-sp) +
      var(--ouka-subhero-media-plate-shift-y-sp)
    );
    overflow: visible;
  }

  body.page-id-1270 .entry-content > .ouka-about-intro > .ouka-about-intro__media::before,
  .entry-content > .ouka-subpage-hero > .ouka-subpage-hero__media::before{
    content: "";
    position: absolute;
    top: var(--ouka-subhero-media-plate-shift-y-sp);
    left: 0;
    z-index: 0;
    width: var(--ouka-subhero-media-width-sp);
    aspect-ratio: var(--ouka-subhero-image-aspect-sp);
    background: var(--ouka-subhero-plate-color);
    pointer-events: none;
  }

  body.page-id-1270 .entry-content > .ouka-about-intro > .ouka-about-intro__media img,
  .entry-content > .ouka-subpage-hero > .ouka-subpage-hero__media img{
    position: relative;
    z-index: 1;
    width: var(--ouka-subhero-media-width-sp);
    margin-left: auto;
    aspect-ratio: var(--ouka-subhero-image-aspect-sp);
    object-fit: cover;
    object-position: center center;
  }

  /* reusable lower-level pages mobile: new layered composition */
  .entry-content > .ouka-subpage-hero > .ouka-subpage-hero__media{
    --ouka-subhero-media-width-sp: calc(100vw - 36px);
    --ouka-subhero-media-plate-shift-y-sp: 18px;
    --ouka-subhero-media-gap-below-sp: 18px;

    position: relative;
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-bottom: calc(
      var(--ouka-subhero-media-gap-below-sp) +
      var(--ouka-subhero-media-plate-shift-y-sp)
    );
    overflow: visible;
  }

  .entry-content > .ouka-subpage-hero > .ouka-subpage-hero__media::before{
    content: "";
    position: absolute;
    top: var(--ouka-subhero-media-plate-shift-y-sp);
    left: 0;
    z-index: 0;
    width: var(--ouka-subhero-media-width-sp);
    aspect-ratio: var(--ouka-subhero-image-aspect-sp);
    background: var(--ouka-subhero-plate-color);
    pointer-events: none;
  }

  .entry-content > .ouka-subpage-hero > .ouka-subpage-hero__media img{
    position: relative;
    z-index: 1;
    width: var(--ouka-subhero-media-width-sp);
    margin-left: auto;
    aspect-ratio: var(--ouka-subhero-image-aspect-sp);
    object-fit: cover;
    object-position: center center;
  }

  body.page-id-1270 .ouka-about-intro__text,
  .ouka-subpage-hero__text{
    padding-left: var(--ouka-subhero-left-pad-sp);
    padding-right: var(--ouka-subhero-left-pad-sp);
    font-size: var(--ouka-subhero-text-size-sp);
    line-height: var(--ouka-subhero-text-line-sp);
    letter-spacing: 0.03em;
  }
}

/* =========================================
   id1270
   これまでの歩み　PC
   - shorter horizontal lines
   - move content closer to center line
   - font size tuning
========================================= */
@media (min-width: 768px){
  body.page-id-1270{
    --ouka-1270-history-line-left-pc: 280px;
    --ouka-1270-history-line-right-pc: 110px;
    --ouka-1270-history-right-gap-pc: 18px;
    --ouka-1270-history-left-shift-x-pc: 140px; /* positive = move right */

    --ouka-1270-history-year-size-pc: 40px;
    --ouka-1270-history-title-size-pc: 20px;
    --ouka-1270-history-text-size-pc: 16px;
  }

  body.page-id-1270 .oukaen-timeline__item.right .oukaen-timeline__line-h{
    width: var(--ouka-1270-history-line-right-pc);
  }

  body.page-id-1270 .oukaen-timeline__item.left .oukaen-timeline__line-h{
    width: var(--ouka-1270-history-line-left-pc);
  }

  body.page-id-1270 .oukaen-timeline__item.right .oukaen-timeline__body{
    margin-left: calc(
      var(--ouka-1270-history-line-right-pc) +
      var(--ouka-1270-history-right-gap-pc)
    );
  }

  body.page-id-1270 .oukaen-timeline__item.left .oukaen-timeline__body{
    transform: translateX(var(--ouka-1270-history-left-shift-x-pc));
  }

  body.page-id-1270 .oukaen-timeline__date{
    font-size: var(--ouka-1270-history-year-size-pc);
  }

  body.page-id-1270 .oukaen-timeline__heading{
    font-size: var(--ouka-1270-history-title-size-pc);
  }

  body.page-id-1270 .oukaen-timeline__text{
    font-size: var(--ouka-1270-history-text-size-pc);
  }
}

/* =========================================
   id1270 only
   仕事の流れ 01-03
========================================= */
body.page-id-1270{
  --ouka-1270-workflow-max-width: 1280px;
  --ouka-1270-workflow-side-pad-pc: 24px;
  --ouka-1270-workflow-side-pad-sp: 20px;
  --ouka-1270-workflow-top-pad: 8px;
  --ouka-1270-workflow-bottom-pad-pc: 100px;
  --ouka-1270-workflow-bottom-pad-sp: 40px;

  --ouka-1270-workflow-section-title-size: 16px;
  --ouka-1270-workflow-section-title-color: #000000;
  --ouka-1270-workflow-section-title-gap-pc: 42px;
  --ouka-1270-workflow-section-title-gap-sp: 28px;

  --ouka-1270-workflow-step-gap-pc: 64px;
  --ouka-1270-workflow-step-gap-sp: 44px;
  --ouka-1270-workflow-column-gap-pc: clamp(32px, 6vw, 96px);

  --ouka-1270-workflow-number-size: 60px;
  --ouka-1270-workflow-number-color: #9C8B65;
  --ouka-1270-workflow-title-size: 20px;
  --ouka-1270-workflow-title-color: #000000;
  --ouka-1270-workflow-text-size: 16px;
  --ouka-1270-workflow-text-color: #000000;

  --ouka-1270-workflow-title-gap: 14px;
  --ouka-1270-workflow-body-top-gap: 14px;
  --ouka-1270-workflow-image-radius: 0px;
  --ouka-1270-workflow-image-aspect-pc: 16 / 9;
  --ouka-1270-workflow-image-aspect-sp: 16 / 9;
  --ouka-1270-workflow-text-max-pc: 420px;

  --ouka-1270-workflow-carousel-btn-size: 34px;
  --ouka-1270-workflow-carousel-btn-bg: #9C8B65;
  --ouka-1270-workflow-carousel-btn-icon: #f8f5f0;
  --ouka-1270-workflow-carousel-btn-gap-pc: 10px;
  --ouka-1270-workflow-carousel-btn-gap-sp: 4px;
  --ouka-1270-workflow-carousel-btn-triangle-width: 10px;
  --ouka-1270-workflow-carousel-btn-triangle-height: 12px;
  --ouka-1270-workflow-carousel-slide-speed: 380ms;
}

body.page-id-1270 .ouka-workflow{
  max-width: var(--ouka-1270-workflow-max-width);
  margin: 0 auto;
  padding:
    var(--ouka-1270-workflow-top-pad)
    var(--ouka-1270-workflow-side-pad-pc)
    var(--ouka-1270-workflow-bottom-pad-pc);
  color: #000000;
}

body.page-id-1270 .ouka-workflow,
body.page-id-1270 .ouka-workflow *{
  box-sizing: border-box;
}

body.page-id-1270 .ouka-workflow__section-title{
  margin: 0 0 var(--ouka-1270-workflow-section-title-gap-pc);
  text-align: center;
  font-size: var(--ouka-1270-workflow-section-title-size);
  line-height: 1.6;
  letter-spacing: 0.12em;
  color: var(--ouka-1270-workflow-section-title-color);
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
}

body.page-id-1270 .ouka-workflow__step{
  margin: 0 0 var(--ouka-1270-workflow-step-gap-pc);
}

body.page-id-1270 .ouka-workflow__step:last-child{
  margin-bottom: 0;
}

body.page-id-1270 .ouka-workflow__content{
  min-width: 0;
}

body.page-id-1270 .ouka-workflow__head{
  display: flex;
  align-items: baseline;
  gap: var(--ouka-1270-workflow-title-gap);
  margin: 0;
}

body.page-id-1270 .ouka-workflow__num{
  flex: 0 0 auto;
  margin: 0;
  font-size: var(--ouka-1270-workflow-number-size);
  line-height: 1;
  letter-spacing: 0.04em;
  color: var(--ouka-1270-workflow-number-color);
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
}

body.page-id-1270 .ouka-workflow__title{
  margin: 0 !important;
  font-size: var(--ouka-1270-workflow-title-size);
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: var(--ouka-1270-workflow-title-color);
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;

  background: none !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

body.page-id-1270 .ouka-workflow__text{
  margin: var(--ouka-1270-workflow-body-top-gap) 0 0;
  font-size: var(--ouka-1270-workflow-text-size);
  line-height: 2;
  letter-spacing: 0.03em;
  color: var(--ouka-1270-workflow-text-color);
  font-family: "Shippori Mincho B1", serif;
  white-space: normal;
}

body.page-id-1270 .ouka-workflow__media{
  margin: 22px 0 0;
  min-width: 0;
}

body.page-id-1270 .ouka-workflow__carousel{
  position: relative;
  width: 100%;
}

body.page-id-1270 .ouka-workflow__viewport{
  width: 100%;
  overflow: hidden;
}

body.page-id-1270 .ouka-workflow__track{
  display: flex;
  transition: transform var(--ouka-1270-workflow-carousel-slide-speed) ease;
  will-change: transform;
}

body.page-id-1270 .ouka-workflow__slide{
  flex: 0 0 100%;
  margin: 0;
}

body.page-id-1270 .ouka-workflow__slide img{
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: var(--ouka-1270-workflow-image-aspect-sp);
  object-fit: cover;
  object-position: center center;
  border-radius: var(--ouka-1270-workflow-image-radius);
}

body.page-id-1270 .ouka-workflow__nav{
  position: absolute;
  top: 50%;
  z-index: 4;
  width: var(--ouka-1270-workflow-carousel-btn-size);
  height: var(--ouka-1270-workflow-carousel-btn-size);
  border: 0;
  border-radius: 50%;
  background: var(--ouka-1270-workflow-carousel-btn-bg);
  cursor: pointer;
  padding: 0;
  margin: 0;
  appearance: none;
  -webkit-appearance: none;
  touch-action: manipulation;
  transition: opacity .2s ease, transform .2s ease;
}

body.page-id-1270 .ouka-workflow__nav:hover{
  opacity: 0.85;
}

body.page-id-1270 .ouka-workflow__nav:disabled{
  opacity: 0.35;
  cursor: default;
}

body.page-id-1270 .ouka-workflow__nav::before{
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  transform: translate(-50%, -50%);
}

body.page-id-1270 .ouka-workflow__nav--prev::before{
  border-top: calc(var(--ouka-1270-workflow-carousel-btn-triangle-height) / 2) solid transparent;
  border-bottom: calc(var(--ouka-1270-workflow-carousel-btn-triangle-height) / 2) solid transparent;
  border-right: var(--ouka-1270-workflow-carousel-btn-triangle-width) solid var(--ouka-1270-workflow-carousel-btn-icon);
  margin-left: -1px;
}

body.page-id-1270 .ouka-workflow__nav--next::before{
  border-top: calc(var(--ouka-1270-workflow-carousel-btn-triangle-height) / 2) solid transparent;
  border-bottom: calc(var(--ouka-1270-workflow-carousel-btn-triangle-height) / 2) solid transparent;
  border-left: var(--ouka-1270-workflow-carousel-btn-triangle-width) solid var(--ouka-1270-workflow-carousel-btn-icon);
  margin-left: 1px;
}

body.page-id-1270 .ouka-workflow__carousel.is-single .ouka-workflow__nav{
  display: none;
}

/* PC only layout */
@media (min-width: 768px){
  body.page-id-1270 .ouka-workflow__step{
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 520px);
    gap: var(--ouka-1270-workflow-column-gap-pc);
    align-items: start;
  }

  body.page-id-1270 .ouka-workflow__content{
    max-width: var(--ouka-1270-workflow-text-max-pc);
  }

  body.page-id-1270 .ouka-workflow__media{
    margin: 0;
    align-self: start;
  }

  body.page-id-1270 .ouka-workflow__slide img{
    aspect-ratio: var(--ouka-1270-workflow-image-aspect-pc);
  }

  body.page-id-1270 .ouka-workflow__nav--prev{
    left: 0;
    transform: translate(
      calc(-100% - var(--ouka-1270-workflow-carousel-btn-gap-pc)),
      -50%
    );
  }

  body.page-id-1270 .ouka-workflow__nav--next{
    right: 0;
    transform: translate(
      calc(100% + var(--ouka-1270-workflow-carousel-btn-gap-pc)),
      -50%
    );
  }
}

/* Mobile keeps stacked layout */
@media (max-width: 767px){
  body.page-id-1270 .ouka-workflow{
    padding:
      var(--ouka-1270-workflow-top-pad)
      var(--ouka-1270-workflow-side-pad-sp)
      var(--ouka-1270-workflow-bottom-pad-sp);
  }

  body.page-id-1270 .ouka-workflow__section-title{
    margin-bottom: var(--ouka-1270-workflow-section-title-gap-sp);
  }

  body.page-id-1270 .ouka-workflow__step{
    margin-bottom: var(--ouka-1270-workflow-step-gap-sp);
  }

  body.page-id-1270 .ouka-workflow__head{
    gap: 12px;
  }

  body.page-id-1270 .ouka-workflow__num{
    font-size: 60px;
  }

  body.page-id-1270 .ouka-workflow__title{
    font-size: 20px;
  }

  body.page-id-1270 .ouka-workflow__text{
    font-size: 16px;
  }

  body.page-id-1270 .ouka-workflow__nav--prev{
    left: 0;
    transform: translate(
      calc(-100% - var(--ouka-1270-workflow-carousel-btn-gap-sp)),
      -50%
    );
  }

  body.page-id-1270 .ouka-workflow__nav--next{
    right: 0;
    transform: translate(
      calc(100% + var(--ouka-1270-workflow-carousel-btn-gap-sp)),
      -50%
    );
  }
}

/* =========================================
   id1270 only
   仕事の流れ 04 販売
========================================= */
body.page-id-1270{
  --ouka-1270-sales-gallery-max-width-pc: 880px;
  --ouka-1270-sales-gallery-top-gap-pc: 30px;
  --ouka-1270-sales-gallery-top-gap-sp: 22px;

  --ouka-1270-sales-gallery-col-gap-pc: 24px;
  --ouka-1270-sales-gallery-row-gap-pc: 34px;
  --ouka-1270-sales-gallery-row-gap-sp: 26px;

  --ouka-1270-sales-image-aspect: 4 / 3;
  --ouka-1270-sales-caption-top-gap: 8px;
  --ouka-1270-sales-caption-size: 12px;
  --ouka-1270-sales-caption-line-height: 1.8;
  --ouka-1270-sales-caption-color: #000000;

  --ouka-1270-sales-carousel-btn-inset-pc: 8px;
  --ouka-1270-sales-carousel-btn-inset-sp: 8px;
}

/* Empty placeholders should not create blank visible text areas */
body.page-id-1270 .ouka-workflow__step--sales .ouka-workflow__text--sales:empty,
body.page-id-1270 .ouka-workflow__step--sales .ouka-workflow-sales__caption:empty{
  display: none;
}

body.page-id-1270 .ouka-workflow__step--sales .ouka-workflow-sales{
  margin-top: var(--ouka-1270-sales-gallery-top-gap-sp);
}

body.page-id-1270 .ouka-workflow__step--sales .ouka-workflow-sales__grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--ouka-1270-sales-gallery-row-gap-sp);
}

body.page-id-1270 .ouka-workflow__step--sales .ouka-workflow-sales__card,
body.page-id-1270 .ouka-workflow__step--sales .ouka-workflow__slide{
  margin: 0;
}

body.page-id-1270 .ouka-workflow__step--sales .ouka-workflow-sales__image,
body.page-id-1270 .ouka-workflow__step--sales .ouka-workflow__slide img{
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: var(--ouka-1270-sales-image-aspect);
  object-fit: cover;
  object-position: center center;
  border-radius: var(--ouka-1270-workflow-image-radius);
}

body.page-id-1270 .ouka-workflow__step--sales .ouka-workflow-sales__caption{
  margin: var(--ouka-1270-sales-caption-top-gap) 0 0;
  padding: 0;
  font-size: var(--ouka-1270-sales-caption-size);
  line-height: var(--ouka-1270-sales-caption-line-height);
  letter-spacing: 0.03em;
  color: var(--ouka-1270-sales-caption-color);
  font-family: "Shippori Mincho B1", serif;
}

/* 04 only: put carousel buttons inside the image area */
body.page-id-1270 .ouka-workflow__step--sales .ouka-workflow__nav--prev{
  left: var(--ouka-1270-sales-carousel-btn-inset-sp);
  transform: translateY(-50%);
}

body.page-id-1270 .ouka-workflow__step--sales .ouka-workflow__nav--next{
  right: var(--ouka-1270-sales-carousel-btn-inset-sp);
  transform: translateY(-50%);
}

/* PC */
@media (min-width: 768px){
  body.page-id-1270 .ouka-workflow__step--sales{
    display: block;
  }

  body.page-id-1270 .ouka-workflow__step--sales .ouka-workflow__content--sales{
    max-width: var(--ouka-1270-workflow-text-max-pc);
  }

  body.page-id-1270 .ouka-workflow__step--sales .ouka-workflow-sales{
    max-width: var(--ouka-1270-sales-gallery-max-width-pc);
    margin-top: var(--ouka-1270-sales-gallery-top-gap-pc);
    margin-left: 0;
    margin-right: auto;
  }

  body.page-id-1270 .ouka-workflow__step--sales .ouka-workflow-sales__grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--ouka-1270-sales-gallery-col-gap-pc);
    row-gap: var(--ouka-1270-sales-gallery-row-gap-pc);
  }

  body.page-id-1270 .ouka-workflow__step--sales .ouka-workflow-sales__card--final{
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--ouka-1270-sales-gallery-col-gap-pc);
    align-items: center;
  }

  body.page-id-1270 .ouka-workflow__step--sales .ouka-workflow-sales__card--final .ouka-workflow-sales__caption{
    margin-top: 0;
  }

  body.page-id-1270 .ouka-workflow__step--sales .ouka-workflow__nav--prev{
    left: var(--ouka-1270-sales-carousel-btn-inset-pc);
    transform: translateY(-50%);
  }

  body.page-id-1270 .ouka-workflow__step--sales .ouka-workflow__nav--next{
    right: var(--ouka-1270-sales-carousel-btn-inset-pc);
    transform: translateY(-50%);
  }
}

/* SP */
@media (max-width: 767px){
  body.page-id-1270 .ouka-workflow__step--sales .ouka-workflow-sales__card--final{
    display: block;
  }
}

/* =========================================
   主な取り扱い商品 id1214
========================================= */
body.page-id-1214{
  --ouka-items-gallery-max-width-pc: 980px;

  --ouka-items-gallery-column-gap-pc: 48px;
  --ouka-items-gallery-row-gap-pc: 30px;

  --ouka-items-gallery-column-gap-sp: 28px;
  --ouka-items-gallery-row-gap-sp: 0px;

  --ouka-items-image-caption-gap: 10px;

  --ouka-items-caption-min-height-pc: 82px;
  --ouka-items-caption-min-height-sp: 112px;

  --ouka-items-caption-jp-size-pc: 20px;
  --ouka-items-caption-jp-size-sp: 20px;

  --ouka-items-caption-en-size-pc: 14px;
  --ouka-items-caption-en-size-sp: 14px;
}

/* Gallery layout itself */
body.page-id-1214 #post-1214 .entry-content > .wp-block-gallery.has-nested-images{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: start !important;
  justify-items: stretch !important;
  gap:
    var(--ouka-items-gallery-row-gap-sp)
    var(--ouka-items-gallery-column-gap-sp) !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Each gallery card */
body.page-id-1214 #post-1214 .entry-content > .wp-block-gallery.has-nested-images > .wp-block-image{
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Fixed square image area */
body.page-id-1214 #post-1214 .entry-content > .wp-block-gallery.has-nested-images > .wp-block-image > a{
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
}

/* Image itself */
body.page-id-1214 #post-1214 .entry-content > .wp-block-gallery.has-nested-images > .wp-block-image img{
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  object-position: center center !important;
  max-width: none !important;
  margin: 0 !important;
}

/* Caption area below image */
body.page-id-1214 #post-1214 .entry-content > .wp-block-gallery.has-nested-images > .wp-block-image > figcaption.wp-element-caption{
  position: static !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  min-height: var(--ouka-items-caption-min-height-sp) !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: var(--ouka-items-image-caption-gap) 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
  color: inherit !important;
  text-align: center !important;
  overflow: visible !important;
}

/* Caption reset */
body.page-id-1214 .ouka-category-label{
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.4;
  text-align: center !important;
}

body.page-id-1214 .ouka-category-label__link{
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  color: inherit;
  text-decoration: none;
}

body.page-id-1214 .ouka-category-label__link:hover{
  opacity: 0.75;
  text-decoration: none;
}

body.page-id-1214 .ouka-category-label__jp{
  display: block;
  max-width: 100%;
  font-family: "Shippori Mincho B1", serif;
  font-size: var(--ouka-items-caption-jp-size-sp);
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: 0.08em;
  white-space: normal;
  word-break: normal;
  overflow-wrap: anywhere;
}

body.page-id-1214 .ouka-category-label__en{
  display: block;
  max-width: 100%;
  font-family: "Shippori Mincho B1", serif;
  font-size: var(--ouka-items-caption-en-size-sp);
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: -0.02em;
  margin-top: 4px;
  white-space: normal;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}

/* PC: 3 columns */
@media (min-width: 768px){
  body.page-id-1214 #post-1214 .entry-content > .wp-block-gallery.has-nested-images{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    max-width: var(--ouka-items-gallery-max-width-pc) !important;
    gap:
      var(--ouka-items-gallery-row-gap-pc)
      var(--ouka-items-gallery-column-gap-pc) !important;
  }

  body.page-id-1214 #post-1214 .entry-content > .wp-block-gallery.has-nested-images > .wp-block-image > figcaption.wp-element-caption{
    min-height: var(--ouka-items-caption-min-height-pc) !important;
  }

  body.page-id-1214 .ouka-category-label__jp{
    font-size: var(--ouka-items-caption-jp-size-pc);
  }

  body.page-id-1214 .ouka-category-label__en{
    font-size: var(--ouka-items-caption-en-size-pc);
  }
}

/* SP: 2 columns */
@media (max-width: 767px){
  body.page-id-1214 #post-1214 .entry-content > .wp-block-gallery.has-nested-images{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
  }
}
/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

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

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
  /*モバイルヘッダー下メニューの幅をテキストに合わせる
	.navi ul{
		display: flex;
	}
	.navi li{
		flex:1 1;
	}
	*/
}