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


.left01{
float:left;
margin:2px;
}

.oak-facility-card h3{
border:none;
margin-bottom:0px;
padding: 0px;
}

.oak-strength-grid img{
margin:0 auto;
width: 100px;
height:100px;
}

.oak-service-card h3{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}

/* 共通アイコン設定 */
.oak-service-card h3::before{
  content:"";
  display:inline-block;
  width:30px;
  height:30px;
  flex:0 0 30px;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
border:none;
}

/* グループホーム */
.oak-service-card h3.gh::before{
  background-image:url("/wp-content/uploads/2026/09/gh001.png");
}

/* デイサービス */
.oak-service-card h3.ds::before{
  background-image:url("/wp-content/uploads/2026/09/ds001.png");
}

/* ショートステイ */
.oak-service-card h3.ss::before{
  background-image:url("/wp-content/uploads/2026/09/ss001.png");
}

.content{
margin-top: 0px;
}
.main{
padding-top:0;
}

/* ========================================
   セクション見出し
   日本語見出しを上、英字を下に固定
======================================== */
.oak-section-heading{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  width:100%;
  text-align:center;
  margin:0 auto 34px;
}

.article .oak-section-heading h2,
.entry-content .oak-section-heading h2,
.oak-section-heading h2{
  position:relative;
  display:inline-block;
  width:auto;
  max-width:100%;
  box-sizing:border-box;
  background:none !important;
  border:none !important;
  border-radius:0 !important;
  margin:0 !important;
  padding:0 52px !important;
  color:#196a8f !important;
  font-family:serif;
  font-size:31px;
  font-weight:600;
  line-height:1.4;
  letter-spacing:.03em;
}

.article .oak-section-heading h2::before,
.entry-content .oak-section-heading h2::before,
.oak-section-heading h2::before{
  content:"" !important;
  display:block !important;
  position:absolute;
  left:6px;
  top:50%;
  width:30px;
  height:30px;
  transform:translateY(-50%);
  background:url("/wp-content/themes/cocoon-child-master/img/left01.png") no-repeat center center / contain;
}

.article .oak-section-heading h2::after,
.entry-content .oak-section-heading h2::after,
.oak-section-heading h2::after{
  content:"" !important;
  display:block !important;
  position:absolute;
  right:6px;
  top:50%;
  width:30px;
  height:30px;
  transform:translateY(-50%);
  background:url("/wp-content/themes/cocoon-child-master/img/right01.png") no-repeat center center / contain;
}

.oak-section-heading > span{
  display:block !important;
  position:static !important;
  order:2;
  width:100%;
  margin:5px 0 0 !important;
  padding:0 !important;
  float:none !important;
  font-size:11px !important;
  line-height:1.2;
  font-weight:700;
  color:#65b8d7 !important;
  letter-spacing:.14em;
  text-align:center !important;
}

.ypc-vacancy-number{
font-size: 50px !important;
color: red !important;
}

:root{
  --oak-blue:#42a9cd;
  --oak-blue-dark:#12658a;
  --oak-sky:#eaf8fd;
  --oak-green:#78bf3c;
  --oak-orange:#f58d29;
  --oak-cream:#fffaf1;
  --oak-text:#3b302b;
  --oak-muted:#6d6b69;
  --oak-border:#dcebf0;
  --oak-shadow:0 8px 25px rgba(42,82,104,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--oak-text);font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;line-height:1.8;background:#fff}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.oak-wrap{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.oak-center{text-align:center}
.oak-header{background:#fff;position:relative;z-index:20;box-shadow:0 2px 12px rgba(0,0,0,.06)}
.oak-header__top{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.oak-brand__link{display:flex;align-items:center;gap:12px}
.oak-brand__leaf{font-size:42px;color:var(--oak-green);line-height:1}
.oak-brand__text strong{display:block;font-family:serif;font-size:29px;letter-spacing:.03em}
.oak-brand__text strong em{font-style:normal;font-family:"Noto Sans JP",sans-serif;font-size:16px;margin-left:8px}
.oak-brand__text small{display:block;color:#666;font-size:12px}
.oak-header__contact{display:flex;align-items:center;gap:18px}
.oak-header__tel{display:grid;text-align:right;line-height:1.2}
.oak-header__tel a{font-size:28px;font-weight:700;color:#222}
.oak-header__tel span,.oak-header__tel small{font-size:11px;color:#777}
.oak-nav{
  position:relative;
  z-index:30;
  border-top:1px solid #e8f1f4;
  background:#fff;
}

.oak-nav .oak-wrap{
  display:block;
}

/* WordPressの「ヘッダーメニュー」をそのまま表示 */
.oak-nav__menu,
.oak-nav__menu ul{
  list-style:none;
  margin:0;
  padding:0;
}

.oak-nav__menu{
  display:flex;
  align-items:stretch;
  width:100%;
}

.oak-nav__menu > li{
  position:relative;
  flex:1 1 0;
  min-width:0;
  margin:0;
  padding:0;
}

.oak-nav__menu > li > a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  height:100%;
  padding:10px 8px;
  border-right:1px solid #edf3f5;
  background:#fff;
  color:#305d72;
  font-size:14px;
  font-weight:600;
  line-height:1.45;
  text-align:center;
  white-space:normal;
  transition:background-color .2s,color .2s;
}

.oak-nav__menu > li:first-child > a{
  border-left:1px solid #edf3f5;
}

.oak-nav__menu > li > a:hover,
.oak-nav__menu > li > a:focus-visible,
.oak-nav__menu > li.current-menu-item > a,
.oak-nav__menu > li.current-menu-ancestor > a{
  background:#eef9fd;
  color:var(--oak-blue-dark);
}

/* サブメニュー */
.oak-nav__menu .sub-menu{
  display:none;
  position:absolute;
  top:100%;
  left:0;
  z-index:100;
  min-width:230px;
  margin:0;
  padding:0;
  border:1px solid #e5eef2;
  background:#fff;
  box-shadow:0 8px 24px rgba(0,0,0,.12);
}

.oak-nav__menu li:hover > .sub-menu,
.oak-nav__menu li:focus-within > .sub-menu{
  display:block;
}

.oak-nav__menu .sub-menu li{
  position:relative;
  margin:0;
  padding:0;
}

.oak-nav__menu .sub-menu a{
  display:block;
  padding:11px 15px;
  border-bottom:1px solid #edf3f5;
  background:#fff;
  color:#305d72;
  font-size:13px;
  line-height:1.5;
  white-space:nowrap;
}

.oak-nav__menu .sub-menu li:last-child > a{
  border-bottom:0;
}

.oak-nav__menu .sub-menu a:hover,
.oak-nav__menu .sub-menu a:focus-visible,
.oak-nav__menu .sub-menu .current-menu-item > a{
  background:#eef9fd;
  color:var(--oak-blue-dark);
}
.oak-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 22px;border-radius:9px;font-weight:700;transition:.2s}
.oak-btn:hover{transform:translateY(-1px)}
.oak-btn--orange{background:linear-gradient(#ffa95c,#f47c13);color:#fff;box-shadow:0 4px 10px rgba(230,119,22,.2)}
.oak-btn--outline{border:2px solid #67bce0;color:#267da4;background:#fff}
.oak-btn--large{min-width:330px;font-size:16px}
.oak-hero{min-height:540px;position:relative;background:url('/wp-content/uploads/oakland/hero.jpg') center/cover no-repeat;overflow:hidden}
.oak-hero__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.90) 0%,rgba(255,255,255,.65) 42%,rgba(255,255,255,.10) 72%)}
.oak-hero__inner{position:relative;z-index:2;padding-top:70px;padding-bottom:48px}
.oak-hero__copy{max-width:650px}
.oak-kicker{color:#4f8151;font-weight:700;letter-spacing:.06em}
.oak-hero h1{font-family:serif;font-weight:500;font-size:56px;line-height:1.35;margin:8px 0 18px;color:#44291f}
.oak-hero__copy>p:last-child{font-size:17px}
.oak-hero__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:60px}
.oak-mini-card{background:rgba(255,255,255,.94);border-radius:14px;padding:18px 22px;box-shadow:var(--oak-shadow);display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:14px}
.oak-mini-card__icon{grid-row:1/3;font-size:38px;color:var(--oak-orange);align-self:center}
.oak-mini-card strong{font-size:18px}
.oak-mini-card small{color:#6f6a66}
.oak-section{padding:68px 0}
.oak-section--blue{background:linear-gradient(#f4fcff,#e8f8fe)}
.oak-section--cream{background:linear-gradient(#fffdf7,#fff8ea)}
.oak-grid-2{display:grid;grid-template-columns:1.15fr .85fr;gap:58px;align-items:center}
.oak-section-title{margin-bottom:24px}
.oak-section-title span{font-size:11px;color:#65b8d7;font-weight:700;letter-spacing:.12em}
.oak-section-title h2{margin:2px 0 0;color:#196a8f;font-family:serif;font-size:31px}
.oak-section-title--center{text-align:center}
.oak-about h3{font-family:serif;font-size:28px;font-weight:500;line-height:1.65;margin-top:0}
.oak-photo-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:170px 140px;gap:8px}
.oak-photo-grid img{width:100%;height:100%;object-fit:cover;border-radius:12px}
.oak-photo-grid img:first-child{grid-column:1/3}
.oak-card-grid{display:grid;gap:24px}
.oak-card-grid--2{grid-template-columns:repeat(2,1fr)}
.oak-card-grid--3{grid-template-columns:repeat(3,1fr)}
.oak-card-grid--4{grid-template-columns:repeat(4,1fr)}
.oak-service-card,.oak-facility-card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:var(--oak-shadow);border:1px solid #ebf2f4}
.oak-service-card>img{width:100%;height:190px;object-fit:cover}
.oak-service-card__body{padding:20px;text-align:center}
.oak-service-card__body h3{font-size:20px;margin:0 0 8px;border: none;color: #196a8f !important;}
.oak-service-card__body p{min-height:58px;color:#666}
.oak-availability{background:linear-gradient(180deg,#f7fdff,#f0fbff 55%,#fff)}
.oak-availability__grid{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border-radius:14px;box-shadow:var(--oak-shadow);overflow:hidden;margin-bottom:26px}
.oak-availability__item{text-align:center;padding:28px 24px;border-right:1px solid #dcebf0;display:flex;flex-direction:column;gap:4px;justify-content:center}
.oak-availability__item:last-child{border-right:0}
.oak-availability__item strong{font-size:19px;color:#176487}
.oak-availability__item span{color:#6b7b84;font-size:20px}
.oak-availability__item b{font-size:50px;color:#ef4d55;line-height:1.2}
.oak-availability__item b small{font-size:16px;color:#333;margin-left:4px}
.oak-availability__open{font-size:28px!important;color:#176487!important}
.oak-note{text-align:center;font-size:12px;color:#777;margin:16px auto 0;max-width:900px}
.oak-strength-grid article{text-align:center;padding:8px 26px}
.oak-strength-grid article+article{border-left:1px solid #e7e7e7}
.oak-strength-grid h3{font-size:18px;color:#1d6787;border: none;}
.oak-strength-grid p{font-size:14px;color:#666;text-align:left}
.oak-facility-card{display:grid;grid-template-columns:44% 1fr;align-items:stretch}
.oak-facility-card img{width:100%;height:100%;min-height:230px;object-fit:cover}
.oak-facility-card>div{padding:24px}
.oak-facility-card h3{font-size:22px;color:#176487;margin-top:0}
.oak-news-card img{width:100%;height:150px;object-fit:cover;border-radius:8px;margin-bottom:10px}
.oak-news-card time{font-size:12px;color:#777}
.oak-news-card h3{font-size:15px;line-height:1.6;margin-top:5px;color:#176487;text-decoration:underline}
.oak-footer{margin-top:0;background:#dff4fb;color:#2f454f}
.oak-footer__main{padding:42px 0 34px;background:linear-gradient(#e6f8fd,#d4f1fa)}
.oak-footer__grid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1.2fr;gap:32px}
.oak-footer h2,.oak-footer h3{color:#264c5e;background:transparent;border:none;margin:0 0 4px;padding:0;}
.oak-footer h2{font-size:20px}.oak-footer h3{font-size:16px;}
.oak-footer p{font-size:13px;line-height:1.8;margin-bottom:0}
.oak-footer__map{width:100%;height:160px;object-fit:cover;border-radius:8px}
.oak-footer__bottom{background:#4f99b4;color:#fff;padding:14px 0}
.oak-footer__bottom-inner{display:flex;justify-content:space-between;align-items:center;gap:20px}
.oak-footer__bottom a{font-size:20px;margin-right:18px}
.oak-footer__bottom small{font-size:11px;opacity:.95}
/* ========================================
   スマホ・タブレット調整
======================================== */
@media(max-width:900px){
  .oak-nav{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;

    /* スクロールバーを非表示 */
    scrollbar-width:none;
    -ms-overflow-style:none;
  }

  .oak-nav::-webkit-scrollbar{
    display:none;
  }

  .oak-header__top{
    padding:12px 0;
    align-items:flex-start;
  }

  .oak-header__contact{
    display:none;
  }

  /* タブレットではメニューを横スクロール */
  .oak-nav{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }

  .oak-nav .oak-wrap{
    width:max-content;
    min-width:100%;
  }

  .oak-nav__menu{
    width:max-content;
    min-width:100%;
  }

  .oak-nav__menu > li{
    flex:0 0 150px;
  }

  .oak-nav__menu > li > a{
    font-size:13px;
  }

  /* タッチ端末でも親項目にフォーカスした時だけサブメニューを表示 */
  .oak-nav__menu .sub-menu{
    min-width:210px;
  }

  .oak-hero{
    min-height:auto;
  }

  .oak-hero__inner{
    padding-top:50px;
  }

  .oak-hero h1{
    font-size:42px;
  }

  .oak-hero__cards{
    grid-template-columns:1fr;
    margin-top:40px;
  }

  .oak-grid-2,
  .oak-card-grid--3,
  .oak-card-grid--4,
  .oak-availability__grid,
  .oak-footer__grid{
    grid-template-columns:1fr 1fr;
  }

  .oak-availability__item:nth-child(2){
    border-right:0;
  }

  .oak-availability__item:nth-child(3){
    grid-column:1/3;
    border-top:1px solid #dcebf0;
  }

  .oak-card-grid--2{
    grid-template-columns:1fr;
  }

  .oak-footer__grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:640px){
  .oak-wrap{
    width:min(1180px,calc(100% - 28px));
  }

  .oak-brand__text strong{
    font-size:22px;
  }

  .oak-brand__text strong em{
    font-size:13px;
  }

  .oak-brand__leaf{
    font-size:34px;
  }

  .oak-nav__menu > li{
    flex-basis:132px;
  }

  .oak-nav__menu > li > a{
    font-size:12px;
    padding:9px 6px;
  }

  .oak-nav__menu .sub-menu a{
    font-size:12px;
  }

  .oak-hero{
    background-position:62% center;
  }

  .oak-hero__overlay{
    background:rgba(255,255,255,.74);
  }

  .oak-hero h1{
    font-size:34px;
  }

  .oak-hero__copy>p:last-child{
    font-size:15px;
  }

  .oak-section{
    padding:48px 0;
  }

  .oak-grid-2,
  .oak-card-grid--3,
  .oak-card-grid--4,
  .oak-availability__grid,
  .oak-footer__grid{
    grid-template-columns:1fr;
  }

  .oak-section-title h2{
    font-size:26px;
  }

  .oak-about h3{
    font-size:23px;
  }

  .oak-photo-grid{
    grid-template-rows:150px 120px;
  }

  .oak-availability__item{
    border-right:0;
    border-bottom:1px solid #dcebf0;
  }

  .oak-availability__item:nth-child(3){
    grid-column:auto;
    border-top:0;
  }

  .oak-availability__item:last-child{
    border-bottom:0;
  }

  .oak-strength-grid article+article{
    border-left:0;
    border-top:1px solid #e7e7e7;
    padding-top:26px;
  }

  .oak-facility-card{
    grid-template-columns:1fr;
  }

  .oak-facility-card img{
    min-height:190px;
  }

  .oak-btn--large{
    min-width:0;
    width:100%;
  }

  .oak-footer__bottom-inner{
    display:block;
    text-align:center;
  }

  .oak-footer__bottom a{
    display:inline-block;
    margin:4px 8px;
  }

  .oak-footer__bottom small{
    display:block;
    margin-top:8px;
  }
}
/* オークランドホーム内のH2はCocoon標準デザインを解除
   ※葉っぱ付き見出し .oak-section-heading は上の専用ルールを優先 */
.article .oak-section-title:not(.oak-section-heading) h2,
.entry-content .oak-section-title:not(.oak-section-heading) h2,
.oak-section-title:not(.oak-section-heading) h2{
  background:none !important;
  border:none !important;
  border-radius:0 !important;
  padding:0 !important;
  margin:2px 0 0 !important;
  color:#196a8f !important;
  font-family:serif;
  font-size:31px;
  font-weight:600;
  line-height:1.4;
}

/* オークランドホーム内のH3はCocoon標準デザインを解除 */
.article .oak-about h3,
.entry-content .oak-about h3,
.oak-about h3{
  background:none !important;
  border:none !important;
  border-left:none !important;
  border-radius:0 !important;
  padding:0 !important;
  margin:0 0 18px !important;

  font-family:serif;
  font-size:28px;
  font-weight:500;
  line-height:1.65;
  color:#44291f;
}

/* 葉っぱ付き見出し：タブレット */
@media screen and (max-width:1024px){
  .article .oak-section-heading h2,
  .entry-content .oak-section-heading h2,
  .oak-section-heading h2{
    font-size:29px;
    padding-left:48px !important;
    padding-right:48px !important;
  }
  .article .oak-section-heading h2::before,
  .entry-content .oak-section-heading h2::before,
  .oak-section-heading h2::before,
  .article .oak-section-heading h2::after,
  .entry-content .oak-section-heading h2::after,
  .oak-section-heading h2::after{
    width:28px;
    height:28px;
  }
}

/* 葉っぱ付き見出し：スマホ */
@media screen and (max-width:767px){
  .oak-section-heading{margin-bottom:26px;}
  .article .oak-section-heading h2,
  .entry-content .oak-section-heading h2,
  .oak-section-heading h2{
    font-size:24px;
    line-height:1.45;
    letter-spacing:.01em;
    padding-left:36px !important;
    padding-right:36px !important;
  }
  .article .oak-section-heading h2::before,
  .entry-content .oak-section-heading h2::before,
  .oak-section-heading h2::before,
  .article .oak-section-heading h2::after,
  .entry-content .oak-section-heading h2::after,
  .oak-section-heading h2::after{
    width:24px;
    height:24px;
  }
  .article .oak-section-heading h2::before,
  .entry-content .oak-section-heading h2::before,
  .oak-section-heading h2::before{left:3px;}
  .article .oak-section-heading h2::after,
  .entry-content .oak-section-heading h2::after,
  .oak-section-heading h2::after{right:3px;}
  .oak-section-heading > span{
    margin-top:4px !important;
    font-size:10px !important;
  }
}

@media screen and (max-width:480px){
  .article .oak-section-heading h2,
  .entry-content .oak-section-heading h2,
  .oak-section-heading h2{
    font-size:22px;
    padding-left:32px !important;
    padding-right:32px !important;
  }
  .article .oak-section-heading h2::before,
  .entry-content .oak-section-heading h2::before,
  .oak-section-heading h2::before,
  .article .oak-section-heading h2::after,
  .entry-content .oak-section-heading h2::after,
  .oak-section-heading h2::after{
    width:21px;
    height:21px;
  }
}

/* YPC Slider内の見出しはテーマ側のH1/H2/H3装飾を解除 */
.entry-content .psl-slider h1,
.entry-content .psl-slider h2,
.entry-content .psl-slider h3,
.psl-slider h1,
.psl-slider h2,
.psl-slider h3 {
    background: none !important;
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Cocoon等が疑似要素で装飾している場合も解除 */
.psl-slider h1::before,
.psl-slider h1::after,
.psl-slider h2::before,
.psl-slider h2::after,
.psl-slider h3::before,
.psl-slider h3::after {
    content: none !important;
    display: none !important;
}