@charset "UTF-8";
/*-変数定義 font
------------------------------*/
/*-変数定義 color (旗の台用)
------------------------------*/
/*--------------------------
font-size
---------------------------*/
/*行間計算*/
/*--------------------------
content-width
---------------------------*/
/* ----------------------------------------
header pc
---------------------------------------- */
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  z-index: 15;
}

header.js-header:not(.is-open) {
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

header.js-header.is-active {
  -webkit-transform: translateY(0%);
          transform: translateY(0%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

/* ----------------------------------------
header sp head
---------------------------------------- */
.header-sp {
  height: 47px;
}

.header-sp.is-open {
  height: 100svh;
}

.header-sp__head {
  background-color: #fff;
  padding: 10px 14px;
  border-bottom: 1px solid #A4A4A4;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

.header-sp__head.is-open {
  border-bottom: none;
  background-color: unset;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.header-sp__head a {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.header-sp__head img {
  display: block;
  height: 26px;
  width: auto;
  opacity: 1;
  visibility: visible;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.header-sp__head.is-open img {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.header-sp__head .header-sp__switch {
  position: absolute;
  right: 14px;
  top: 19px;
  width: 52px;
  height: 10px;
}

.header-sp__head .header-sp__switch span {
  width: 100%;
  height: 1px;
  background-color: #000;
  display: block;
  position: absolute;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.header-sp__head .header-sp__switch span:nth-child(1) {
  top: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  left: 50%;
}

.header-sp__head .header-sp__switch span:nth-child(2) {
  bottom: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  left: 50%;
}

.header-sp__head.is-open .header-sp__switch {
  top: 48px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.header-sp__head.is-open .header-sp__switch span:nth-child(1) {
  width: 94%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(15deg);
          transform: translate(-50%, -50%) rotate(15deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  background-color: #5E5E5E;
}

.header-sp__head.is-open .header-sp__switch span:nth-child(2) {
  width: 94%;
  bottom: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(-15deg);
          transform: translate(-50%, -50%) rotate(-15deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  background-color: #5E5E5E;
}

/* ----------------------------------------
header sp body
---------------------------------------- */
.header-sp__body {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.header-sp__body.is-open {
  opacity: 1;
  visibility: visible;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.header-sp__body.type01 {
  background-image: url(../img/sp-nav-bg-grade01.jpg);
}

.header-sp__body.type02 {
  background-image: url(../img/sp-nav-bg-grade02.jpg);
}

.header-sp__body {
  position: relative;
  width: 100svw;
  height: 125svh;
  background-repeat: no-repeat;
  background-size: cover;
}

.header-sp__body > img {
  -webkit-filter: brightness(0.37);
          filter: brightness(0.37);
}

.header-sp__body img {
  width: 44.4%;
  height: auto;
  margin-top: 30.7692307692%;
  margin-left: 48.6666666667%;
}

.header-sp__body nav {
  width: 80%;
  margin: 5.4794520548% auto 0;
}

.header-sp__body nav ul li {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.5;
  color: #5E5E5E;
  font-weight: 500;
  letter-spacing: 0.2em;
}

.header-sp__body nav ul li:nth-child(n+2) {
  margin-top: 18px;
}

.header-sp__body .header__wave {
  position: absolute;
  width: 100%;
  height: auto;
  top: 0;
  left: 0;
}

.header-sp__body .header__wave svg {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.Mv-menu__place-logo {
  margin-right: auto;
  height: 40px;
  width: auto;
  margin-left: 16px;
  -ms-flex-item-align: center;
      align-self: center;
  vertical-align: middle;
}

.header-sp__head-place-logo {
  height: 25px;
  width: auto;
  margin-left: 8px;
  vertical-align: middle;
}

/* B2: SP head を flex化して横並びに */
.header-sp__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

/* B-stopgap: MVのなみなみテキスト群を非表示（城南ロゴのみ表示） */
.Mv-logo__txt {
  display: none !important;
}

/* B-stopgap (specificity boost): なみなみテキスト群を確実に非表示 */
.is-front .Mv-logo__txt,
.Mv .Mv-logo__txt,
body .Mv-logo__txt {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

/* fix(hatanodai): MVの城南ロゴ（白色版）が左半分の白背景で見えない問題への暫定対応 (Issue #252)
 * filter: invert + brightness でロゴ画像の色を反転させて黒く表示する。
 * 後日デザイナー指示に応じて、左背景色や写真の幅を調整する本対応を実施予定。
 */
.Mv-logo__main--clip image.sp-hide {
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="table" tableValues="1 0" /><feFuncG type="table" tableValues="1 0" /><feFuncB type="table" tableValues="1 0" /></feComponentTransfer><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1" /><feFuncG type="linear" slope="1" /><feFuncB type="linear" slope="1" /></feComponentTransfer></filter></svg>#filter');
  -webkit-filter: invert(1) brightness(0);
          filter: invert(1) brightness(0);
}

/* feat(hatanodai): 旗の台地名ピルを TOP MV に追加（Issue #253）
 * デザイン指示は「TOP 左下に場所表記を追加」＝キャッチコピー(.Mv__read)の真上・同じ左端。
 *
 * fix (#4066): PC で見えなかった原因は「画面外」ではなく「白地に白」。
 * place-logo-hatanodai.png は透過背景＋黒インク、PC の MV 左半分は白背景なのに
 * invert(1) brightness(2) が全幅に効いていて黒→白に反転していた（＝不可視）。
 * よって PC は filter なし・left は静的位置（.Mv__read と左端が揃う）、
 * SP のみ従来どおり白抜き＋従来座標にする。
 */
.Mv__place-logo {
  position: absolute;
  bottom: 155px;
  z-index: 10;
  width: 95px;
  height: auto;
  display: block;
}
@media screen and (max-width:767px) {
  .Mv__place-logo {
    bottom: 80px;
    left: 0;
    filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="table" tableValues="1 0" /><feFuncG type="table" tableValues="1 0" /><feFuncB type="table" tableValues="1 0" /></feComponentTransfer><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="2" /><feFuncG type="linear" slope="2" /><feFuncB type="linear" slope="2" /></feComponentTransfer></filter></svg>#filter');
    -webkit-filter: invert(1) brightness(2);
            filter: invert(1) brightness(2);
  }
}

/* 親要素（Mv__wrap）が relative でなくても基準になるように補強 */
.Mv__wrap {
  position: relative;
}

/* feat(hatanodai): 旗の台地名ピルを SPナビ（ハンバーガーメニュー）に追加（Issue #253）
 * グラデ背景の上なので filter で白色化、左寄せでメニュー項目の上に配置。
 */
.header-sp__nav-place-logo {
  display: block;
  width: 75px !important;
  height: auto !important;
  margin: 0 0 20px 0 !important;
  -webkit-filter: invert(0.37);
          filter: invert(0.37);
}

/* ----------------------------------------
Mv
---------------------------------------- */
.is-front .Mv {
  position: relative;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width:767px) {
  .is-front .Mv {
    overflow: hidden;
  }
}
.is-front .Mv__wave {
  display: block;
  position: absolute;
  top: -60px;
  left: 0;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  width: 100%;
  margin-top: -1px;
  z-index: 1;
}
@media screen and (max-width:767px) {
  .is-front .Mv__wave {
    top: -4px;
    margin-top: 0;
  }
}
.is-front .Mv__wave--top {
  background-color: #fff;
  height: 24px;
  width: 100%;
}
@media screen and (max-width:767px) {
  .is-front .Mv__wave--top {
    margin-top: -4px;
  }
}
.is-front .Mv__wave .wave {
  width: 100%;
}
.is-front .Mv__wrap {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 2;
}
.is-front .Mv__wrap .container04 {
  max-width: 1550px;
  padding: 0 175px;
  margin-top: 12%;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .is-front .Mv__wrap .container04 {
    padding: 0 24px;
  }
}
@media screen and (min-width: 940px) {
  .is-front .Mv__wrap .container04 {
    padding: 0 10svw;
  }
}
@media screen and (min-width: 1340px) {
  .is-front .Mv__wrap .container04 {
    margin-top: 160px;
  }
}
@media screen and (max-width:767px) {
  .is-front .Mv__wrap .container04 {
    margin-top: 0;
    width: 92%;
    padding: 0;
  }
}
.is-front .Mv__left {
  max-width: 1000px;
  width: 62.8571428571%;
  margin: 0 0 0 auto;
}
@media screen and (max-width:767px) {
  .is-front .Mv__left {
    width: 100%;
    margin: 0;
  }
}
.is-front .Mv__left img {
  display: block;
  width: 100%;
  height: 100vh;
  aspect-ratio: 880/720;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width:767px) {
  .is-front .Mv__left img {
    aspect-ratio: 375/650;
    height: auto;
  }
}
@media screen and (max-width:767px) {
  .is-front .Mv__wrap .container04 {
    position: relative;
    height: 100%;
    z-index: 2;
  }
}
.is-front .Mv__logo-wrap {
  width: 100%;
  height: 100%;
  position: relative;
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .is-front .Mv__logo-wrap {
    position: static;
  }
}
@media screen and (max-width:767px) {
  .is-front .Mv__logo-wrap {
    margin-top: 0;
  }
}
.is-front .Mv__logo {
  max-width: 276px;
  aspect-ratio: 395/250;
  width: 100%;
}
@media screen and (max-width:767px) {
  .is-front .Mv__logo {
    max-width: 288px;
    width: 74vw;
    aspect-ratio: 237/149;
    position: absolute;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
  }
}
.is-front .Mv-logo__anim {
  width: 242px;
  height: auto;
  position: relative;
}
@media screen and (max-width:767px) {
  .is-front .Mv-logo__anim {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .is-front .Mv-logo__anim {
    position: absolute;
    left: max(18.5715vw, 50vw - 500px);
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: min(339px, 26.5vw);
  }
}
.is-front .Mv-logo__txt {
  position: absolute;
  width: 105px;
  height: 94px;
  bottom: 0;
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (max-width:767px) {
  .is-front .Mv-logo__txt {
    width: 90px;
    height: 80px;
  }
}
.is-front .Mv-logo__txt .Mv-anim__wrap {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.is-front .Mv-logo__txt .Mv-anim__wrap:nth-child(1) img {
  width: 12px;
  margin-left: 8px;
}
@media screen and (max-width:767px) {
  .is-front .Mv-logo__txt .Mv-anim__wrap:nth-child(1) img {
    width: 11px;
    margin-left: 6px;
  }
}
.is-front .Mv-logo__txt .Mv-anim__wrap:nth-child(2) img {
  width: 10.5px;
  margin-left: 16px;
}
@media screen and (max-width:767px) {
  .is-front .Mv-logo__txt .Mv-anim__wrap:nth-child(2) img {
    width: 10px;
    margin-left: 15px;
  }
}
.is-front .Mv-logo__txt .Mv-anim__wrap:nth-child(3) img {
  width: 24px;
  margin-left: 12px;
}
@media screen and (max-width:767px) {
  .is-front .Mv-logo__txt .Mv-anim__wrap:nth-child(3) img {
    width: 18px;
    margin-left: 12px;
  }
}
.is-front .Mv-logo__txt .Mv-anim__wrap:nth-child(4) img {
  margin-top: 40px;
  width: 24px;
}
@media screen and (max-width:767px) {
  .is-front .Mv-logo__txt .Mv-anim__wrap:nth-child(4) img {
    width: 18px;
    margin-top: 34px;
  }
}
.is-front .Mv__info {
  margin-top: 1.5em;
  font-size: 15px;
  font-size: 0.9375rem;
  letter-spacing: 0.18em;
  font-weight: 500;
  position: absolute;
  bottom: 42px;
}
@media screen and (max-width: 1340px) {
  .is-front .Mv__info {
    margin-top: 60px;
  }
}
@media screen and (max-width:767px) {
  .is-front .Mv__info {
    margin-top: 0;
    width: 100%;
    text-align: center;
    font-size: 0.875rem;
    position: absolute;
    top: 12px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
.is-front .Mv__read {
  margin-top: 264px;
  position: absolute;
  bottom: 85px;
}
@media screen and (max-width: 1340px) {
  .is-front .Mv__read {
    margin-top: 64px;
  }
}
@media screen and (max-width:767px) {
  .is-front .Mv__read {
    bottom: auto;
    position: absolute;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    left: 50%;
    top: 36px;
    margin-top: 4px;
  }
}
.is-front .Mv__read img {
  display: block;
  height: 54px;
  width: auto;
}
@media screen and (max-width:767px) {
  .is-front .Mv__read img {
    height: 14px;
  }
}

/* ----------------------------------------
Mv anim
---------------------------------------- */
.is-front {
  /*---Mv first-anim
  ------------------------------*/
}
.is-front .Mv-logo__anim > * {
  width: 100%;
  height: auto;
}
.is-front .Mv-logo__main--clip {
  position: absolute;
  top: 0;
  left: 0;
  fill: none;
  stroke: #FFFFFF;
  stroke-width: 13;
  stroke-linecap: round;
  stroke-miterlimit: 10;
  stroke-dasharray: 1500; /* この行を追加 */
  stroke-dashoffset: 1500; /* この行を追加 */
}
.is-front .Mv-anim__wrap .js-anim04 {
  opacity: 0;
}
.is-front .Mv-anim__wrap .js-anim04.is-load {
  opacity: 0;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp; /*アニメーションの定義名*/
  -webkit-animation-duration: 1s;
          animation-duration: 1s; /*アニメーション変化時間 ※デフォルト*/
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards; /*アニメーションの開始と終了時の状態を指定*/
}
.is-front .Mv-anim__wrap:nth-child(2) .js-anim04 {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s; /*アニメーション変化時間 ※デフォルト*/
}
.is-front .Mv-anim__wrap:nth-child(3) .js-anim04 {
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s; /*アニメーション変化時間 ※デフォルト*/
}
.is-front .Mv-anim__wrap:nth-child(4) .js-anim04 {
  -webkit-animation-delay: 0.9s;
          animation-delay: 0.9s; /*アニメーション変化時間 ※デフォルト*/
}

/* ----------------------------------------
Mv menu
---------------------------------------- */
.Mv-menu {
  background-color: #fff;
  border-bottom: 1px solid #A5A5A5;
}

.Mv-menu__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 1200px;
  width: 100%;
  padding: 0 20px;
  margin: 0 auto;
  gap: 40px;
}

.Mv-menu__row a {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

.Mv-menu__row img {
  display: block;
  width: auto;
  height: 32px;
  padding: 8px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}

.Mv-menu__row ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  padding: 16px 0 12px;
}

.Mv-menu__row ul li {
  font-size: 11px;
  font-size: 0.6875rem;
  line-height: 1;
  font-weight: 500;
}
@media screen and (min-width: 900px) {
  .Mv-menu__row ul li {
    font-size: 0.875rem;
  }
}

/* ----------------------------------------
Info
---------------------------------------- */
.Info {
  background-color: #EAEEE0;
  padding: 60px 0 120px;
}
@media screen and (max-width:767px) {
  .Info {
    padding: 50px 0 50px;
  }
}

/* ----------------------------------------
Info-time
---------------------------------------- */
.Info-time {
  margin: 0 auto;
  max-width: 920px;
}
.Info-time__title {
  font-size: 26px;
  font-size: 1.625rem;
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width:767px) {
  .Info-time__title {
    font-size: 0.875rem;
  }
}

.Info-time img {
  display: block;
  width: 100%;
  height: auto;
  margin-top: 14px;
}
@media screen and (max-width:767px) {
  .Info-time img {
    margin-top: 8px;
  }
}

.Info-time p {
  margin-top: 18px;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
}
@media screen and (max-width:767px) {
  .Info-time p {
    margin-top: 10px;
    font-size: 0.75rem;
  }
}

/* ----------------------------------------
Info-news
---------------------------------------- */
.Info-news {
  margin: 64px auto 0;
  padding: 20px 90px 40px;
  background-color: #fff;
  border-radius: 50px;
  max-width: 830px;
  width: 100%;
}
@media screen and (max-width:767px) {
  .Info-news {
    margin: 50px auto 0;
    padding: 18px 14px;
    border-radius: 25px;
  }
}

.Info-news__title {
  text-align: center;
  font-weight: 500;
  font-size: 18px;
  font-size: 1.125rem;
}
@media screen and (max-width:767px) {
  .Info-news__title {
    font-size: 0.75rem;
  }
}

.Info-news__wrap {
  margin-top: 24px;
}
@media screen and (max-width:767px) {
  .Info-news__wrap {
    margin-top: 16px;
    padding-left: 26px;
  }
}

.Info-news__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 64px;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.2;
  font-weight: 500;
  position: relative;
  border-bottom: 1px solid #000;
  padding-top: 2px;
  padding-bottom: 2px;
  text-align: left;
}
@media screen and (max-width:767px) {
  .Info-news__row {
    gap: 4px;
    font-size: 0.75rem;
    padding-top: 2px;
    padding-bottom: 2px;
    border: none;
    line-height: 1.5;
  }
}

.Info-news__row:nth-child(n+2) {
  margin-top: 20px;
}
@media screen and (max-width:767px) {
  .Info-news__row:nth-child(n+2) {
    margin-top: 8px;
  }
}

.Info-news__row.is-caution::before {
  position: absolute;
  top: 0;
  left: -14px;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
  content: "重要";
  padding: 6px;
  font-size: 15px;
  font-size: 0.9375rem;
  color: #fff;
  background-color: #000;
  border-radius: 9px;
  line-height: 1;
}
@media screen and (max-width:767px) {
  .Info-news__row.is-caution::before {
    top: 2px;
    left: -4px;
    border-radius: 3px;
    font-size: 0.625rem;
    padding: 3px;
    font-weight: 400;
  }
}

.Info-news__date {
  white-space: nowrap;
}

.Info-news__name-wrap {
  margin-top: -0.3em;
}

@media screen and (max-width:767px) {
  .Info-news__name {
    line-height: 2;
    width: 100%;
    padding-bottom: 0.2em;
    display: inline;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(96%, transparent), color-stop(0%, #000));
    background: linear-gradient(transparent 96%, #000 0%);
  }
}

.Info-news__btn {
  margin-top: 24px;
}
@media screen and (max-width:767px) {
  .Info-news__btn {
    margin-top: 12px;
  }
}

.is-front {
  /* ----------------------------------------
  Info
  ---------------------------------------- */
  /* ----------------------------------------
  Info-time
  ---------------------------------------- */
  /* ----------------------------------------
  Info-news
  ---------------------------------------- */
}
.is-front .Info {
  background-color: #EAEEE0;
  padding: 60px 0 120px;
}
@media screen and (max-width:767px) {
  .is-front .Info {
    padding: 50px 0 50px;
  }
}
.is-front .Info-time {
  margin: 0 auto;
  max-width: 920px;
}
.is-front .Info-time__title {
  font-size: 26px;
  font-size: 1.625rem;
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width:767px) {
  .is-front .Info-time__title {
    font-size: 0.875rem;
  }
}
.is-front .Info-time img {
  display: block;
  width: 100%;
  height: auto;
  margin-top: 14px;
}
@media screen and (max-width:767px) {
  .is-front .Info-time img {
    margin-top: 8px;
  }
}
.is-front .Info-time p {
  margin-top: 18px;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
}
@media screen and (max-width:767px) {
  .is-front .Info-time p {
    margin-top: 10px;
    font-size: 0.75rem;
  }
}
.is-front .Info-news {
  margin: 64px auto 0;
  padding: 20px 90px 40px;
  background-color: #fff;
  border-radius: 50px;
  max-width: 830px;
  width: 100%;
}
@media screen and (max-width:767px) {
  .is-front .Info-news {
    margin: 50px auto 0;
    padding: 18px 14px;
    border-radius: 25px;
  }
}
.is-front .Info-news__title {
  text-align: center;
  font-weight: 500;
  font-size: 18px;
  font-size: 1.125rem;
}
@media screen and (max-width:767px) {
  .is-front .Info-news__title {
    font-size: 0.75rem;
  }
}
.is-front .Info-news__wrap {
  margin-top: 24px;
}
@media screen and (max-width:767px) {
  .is-front .Info-news__wrap {
    margin-top: 16px;
    padding-left: 26px;
  }
}
.is-front .Info-news__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 64px;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.2;
  font-weight: 500;
  position: relative;
  border-bottom: 1px solid #000;
  padding-top: 2px;
  padding-bottom: 2px;
  text-align: left;
}
@media screen and (max-width:767px) {
  .is-front .Info-news__row {
    gap: 4px;
    font-size: 0.75rem;
    padding-top: 2px;
    padding-bottom: 2px;
    border: none;
    line-height: 1.5;
  }
}
.is-front .Info-news__row:nth-child(n+2) {
  margin-top: 20px;
}
@media screen and (max-width:767px) {
  .is-front .Info-news__row:nth-child(n+2) {
    margin-top: 8px;
  }
}
.is-front .Info-news__row.is-caution::before {
  position: absolute;
  top: 0;
  left: -14px;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
  content: "重要";
  padding: 6px;
  font-size: 15px;
  font-size: 0.9375rem;
  color: #fff;
  background-color: #000;
  border-radius: 9px;
  line-height: 1;
}
@media screen and (max-width:767px) {
  .is-front .Info-news__row.is-caution::before {
    top: 2px;
    left: -4px;
    border-radius: 3px;
    font-size: 0.625rem;
    padding: 3px;
    font-weight: 400;
  }
}
.is-front .Info-news__date {
  white-space: nowrap;
}
.is-front .Info-news__name-wrap {
  margin-top: -0.3em;
}
@media screen and (max-width:767px) {
  .is-front .Info-news__name {
    line-height: 2;
    width: 100%;
    padding-bottom: 0.2em;
    display: inline;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(96%, transparent), color-stop(0%, #000));
    background: linear-gradient(transparent 96%, #000 0%);
  }
}
.is-front .Info-news__btn {
  margin-top: 24px;
}
@media screen and (max-width:767px) {
  .is-front .Info-news__btn {
    margin-top: 12px;
  }
}

/* ----------------------------------------
About
---------------------------------------- */
.is-front .About {
  padding: 130px 0;
}
@media screen and (max-width:767px) {
  .is-front .About {
    padding: 0 0 50px;
    overflow: hidden;
  }
}
.is-front .About .About__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width:767px) {
  .is-front .About .About__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 100%;
  }
}
@media screen and (max-width:767px) {
  .is-front .About__container .sp-container {
    padding-top: 48px;
  }
}
.is-front .About__container .sp-container p {
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
  font-weight: 500;
  margin-top: 48px;
  padding-right: 40px;
}
@media screen and (max-width:767px) {
  .is-front .About__container .sp-container p {
    margin-top: 32px;
    font-size: 0.875rem;
    padding: 0;
  }
}
.is-front .About__container .child-container02 {
  margin: 0 0 0 auto;
}
@media screen and (max-width:767px) {
  .is-front .About__container .child-container02 {
    max-width: 100%;
  }
}
.is-front .About__img {
  position: relative;
}
.is-front .About__img img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 686/654;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width:767px) {
  .is-front .About__img img {
    aspect-ratio: 686/585;
  }
}
.is-front .About__img img svg {
  position: absolute;
  top: -1px;
  left: 0;
  width: 100%;
  height: auto;
}
@media screen and (max-width:767px) {
  .is-front .About .Concept__btns {
    margin-top: 50px;
  }
}

/* ----------------------------------------
menu
---------------------------------------- */
.Menu {
  padding: 94px 0 160px;
  background: #EAEEE0;
}
@media screen and (max-width:767px) {
  .Menu {
    padding: 0px 0 50px;
  }
}

.Menu__container .section__title {
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width:767px) {
  .Menu__container .section__title {
    top: 30px;
  }
}

.Menu__container .child-container {
  margin-left: auto;
}

.Menu_search-title {
  font-size: 22px;
  font-size: 1.375rem;
  text-align: center;
  font-weight: 500;
  letter-spacing: 0.24em;
}
@media screen and (max-width:767px) {
  .Menu_search-title {
    font-size: 0.75rem;
  }
}

@media screen and (max-width:767px) {
  .Menu_search-title.is-top {
    padding-top: 120px;
  }
}

.Menu_search-title img {
  display: block;
  margin: 30px auto 0;
  width: 100%;
  height: auto;
  max-width: 30px;
}
@media screen and (max-width:767px) {
  .Menu_search-title img {
    margin: 15px auto 0;
    max-width: 15px;
  }
}

.Menu__nav {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px 24px;
  margin-top: 42px;
}
@media screen and (max-width:767px) {
  .Menu__nav {
    gap: 24px 4px;
    margin-top: 24px;
  }
}
/* fix (#4066): 項目がちょうど4件のときだけ 2列（2+2）に組む。
   3列固定はなみなみ由来で、なみなみの5科（3+2）に合わせた指定。旗の台は内科が無く
   4科なので 3+1 になり、2段目に1つだけ左端に取り残されて据わりが悪かった。
   ナビは実際の診療科目から自動生成されるので件数は増減する（template-parts/menus.php）。
   5件に戻れば従来の 3+2 のまま。未対応ブラウザでは3列にフォールバックするだけで壊れない。 */
.Menu__nav:has(> a:nth-child(4):last-child) {
  grid-template-columns: 1fr 1fr;
}

.Menu__nav a:nth-child(1) {
  background-image: url(../img/menu-bg01.jpg);
}

.Menu__nav a:nth-child(2) {
  background-image: url(../img/menu-bg03.jpg);
}

.Menu__nav a:nth-child(3) {
  background-image: url(../img/menu-bg04.jpg);
}

.Menu__nav a:nth-child(4) {
  background-image: url(../img/menu-bg05.jpg);
}

.Menu__nav a:nth-child(5) {
  background-image: url(../img/menu-bg06.jpg);
}

.Menu__nav a {
  display: block;
  position: relative;
  width: 100%;
  height: 130px;
  border-radius: 65px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
@media screen and (max-width:767px) {
  .Menu__nav a {
    height: 64px;
    border-radius: 32px;
  }
}

.Menu__nav a span {
  position: absolute;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
  font-weight: 500;
  font-size: 30px;
  font-size: 1.875rem;
  line-height: 1.5;
  color: #fff;
  text-align: center;
}
@media screen and (max-width:767px) {
  .Menu__nav a span {
    font-size: 1.125rem;
    white-space: nowrap;
    line-height: 1.3;
  }
}

.Menu__bottom {
  margin-top: 80px;
}
@media screen and (max-width:767px) {
  .Menu__bottom {
    margin-top: 68px;
  }
}

.Menu__category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.Menu__category:nth-child(1) h5, .Menu__category:nth-child(1) .Menu__category--title {
  color: #D7A599;
}
.Menu__category:nth-child(2) h5, .Menu__category:nth-child(2) .Menu__category--title {
  color: #789682;
}
.Menu__category:nth-child(3) h5, .Menu__category:nth-child(3) .Menu__category--title {
  color: #8C879B;
}
.Menu__category:nth-child(4) h5, .Menu__category:nth-child(4) .Menu__category--title {
  color: #E6B4BE;
}
.Menu__category:nth-child(5) h5, .Menu__category:nth-child(5) .Menu__category--title {
  color: #7896AA;
}
.Menu__categories {
  margin-top: 84px;
}
@media screen and (max-width:767px) {
  .Menu__categories {
    margin-top: 40px;
  }
}

.Menu__category:not(:first-child) {
  padding-top: 80px;
}
@media screen and (max-width:767px) {
  .Menu__category:not(:first-child) {
    padding-top: 40px;
  }
}

.Menu__category--title {
  font-size: 30px;
  font-size: 1.875rem;
  line-height: 1.5;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  letter-spacing: 0.4em;
  font-weight: 500;
  padding-left: 112px;
}
@media screen and (max-width:767px) {
  .Menu__category--title {
    font-size: 1.125rem;
    padding-left: 0px;
    padding-right: 16px;
  }
}

.Menu__category .child-container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 40px;
}
@media screen and (max-width:767px) {
  .Menu__category .child-container {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}

.Menu__content {
  background-color: #fff;
  border-radius: 33px;
  width: 100%;
  padding: 24px 0;
  min-height: 100px;
}
@media screen and (max-width:767px) {
  .Menu__content {
    position: relative;
    border-radius: 15px;
    padding: 14px 14px 14px 84px;
  }
}

.Menu__content h5 {
  text-align: center;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 20px;
  line-height: 1.25rem;
  min-height: 40px;
  min-height: 2.5rem;
  line-height: 1.1;
}
@media screen and (max-width:767px) {
  .Menu__content h5 {
    text-align: left;
    font-size: 0.875rem;
    line-height: 1.2;
    min-height: auto;
  }
}

.Menu__content h5 span {
  font-size: 16px;
  font-size: 1rem;
  line-height: 20px;
  line-height: 1.25rem;
  display: block;
  text-align: center;
}
@media screen and (max-width:767px) {
  .Menu__content h5 span {
    font-size: inherit;
  }
}

.Menu__content img {
  display: block;
  height: 150px;
  width: auto;
  margin: 12px auto 0;
}
@media screen and (max-width:767px) {
  .Menu__content img {
    position: absolute;
    top: 14px;
    max-width: 52px;
    height: auto;
    max-height: 82%;
    left: 12px;
    margin-top: 0;
  }
}
@media screen and (max-width: 414px) {
  .Menu__content img {
    max-height: 75%;
  }
}

.Menu__content p {
  padding: 0 22px;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.5;
  margin-top: 12px;
}
@media screen and (max-width:767px) {
  .Menu__content p {
    padding: 0;
    font-size: 0.75rem;
    margin-top: 0.8em;
    line-height: 1.6;
  }
}

.Menu__btns {
  margin: 64px auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  gap: 60px;
}
@media screen and (max-width:767px) {
  .Menu__btns {
    display: block;
    margin: 32px auto 0;
  }
}

@media screen and (max-width:767px) {
  .Menu__btns .btn {
    margin-left: auto;
    margin-right: auto;
  }
}

@media screen and (max-width:767px) {
  .Menu__btns .btn:nth-child(1) {
    width: 100%;
  }
}

.price__btn, .menu__btn {
  background-color: #fff;
}
@media screen and (max-width:767px) {
  .price__btn, .menu__btn {
    width: 100%;
    text-align: center;
  }
}

@media screen and (max-width:767px) {
  .menu__btn:nth-child(2) {
    margin-top: 24px;
  }
}

/* ----------------------------------------
Concept
---------------------------------------- */
.is-front .Concept, .is-page .Concept {
  padding: 120px 0 140px;
}
@media screen and (max-width:767px) {
  .is-front .Concept, .is-page .Concept {
    padding: 30px 0 50px;
  }
}
.is-front .Facility, .is-page .Facility {
  padding-top: 0;
}
.is-front .Concept .Concept-container, .is-page .Concept .Concept-container {
  position: relative;
}
@media screen and (max-width:767px) {
  .is-front .Concept .Concept-container, .is-page .Concept .Concept-container {
    width: 100%;
  }
}
.is-front .Concept-container .section__title, .is-page .Concept-container .section__title {
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width:767px) {
  .is-front .Concept-container .section__title, .is-page .Concept-container .section__title {
    position: relative;
  }
}
.is-front .Concept-container .child-container, .is-page .Concept-container .child-container {
  margin-left: auto;
}
.is-front .swiper-concept-top, .is-front .swiper-facility-top, .is-page .swiper-concept-top, .is-page .swiper-facility-top {
  padding-bottom: 36px;
}
@media screen and (max-width:767px) {
  .is-front .swiper-concept-top, .is-front .swiper-facility-top, .is-page .swiper-concept-top, .is-page .swiper-facility-top {
    padding-bottom: 30px;
  }
}
.is-front .swiper-concept-top .swiper-button-prev, .is-front .swiper-facility-top .swiper-button-prev, .is-page .swiper-concept-top .swiper-button-prev, .is-page .swiper-facility-top .swiper-button-prev {
  display: none;
}
.is-front .swiper-concept-top .swiper-button-next, .is-front .swiper-facility-top .swiper-button-next, .is-page .swiper-concept-top .swiper-button-next, .is-page .swiper-facility-top .swiper-button-next {
  top: 0;
  width: 100%;
  height: 100%;
  background: none;
}
.is-front .swiper-concept-top .swiper-button-next:after, .is-front .swiper-facility-top .swiper-button-next:after, .is-page .swiper-concept-top .swiper-button-next:after, .is-page .swiper-facility-top .swiper-button-next:after {
  content: "";
}
.is-front .swiper-facility-top, .is-page .swiper-facility-top {
  padding-bottom: 8px;
}
.is-front .swiper-concept-top .swiper-slide img, .is-front .swiper-facility-top .swiper-slide img, .is-page .swiper-concept-top .swiper-slide img, .is-page .swiper-facility-top .swiper-slide img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 767/458;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width:767px) {
  .is-front .swiper-concept-top .swiper-slide img, .is-front .swiper-facility-top .swiper-slide img, .is-page .swiper-concept-top .swiper-slide img, .is-page .swiper-facility-top .swiper-slide img {
    aspect-ratio: 375/306;
  }
}
.is-front .swiper-concept-top .swiper-pagination, .is-page .swiper-concept-top .swiper-pagination {
  bottom: 0;
  position: absolute;
}
.is-front .swiper-concept-top .swiper-pagination .swiper-pagination-bullet-active, .is-page .swiper-concept-top .swiper-pagination .swiper-pagination-bullet-active {
  background-color: #000;
}
.is-front .swiper-concept-top .swiper-pagination .swiper-pagination-bullet, .is-page .swiper-concept-top .swiper-pagination .swiper-pagination-bullet {
  margin: 0 10px;
  width: 9px;
  height: 9px;
}
@media screen and (max-width:767px) {
  .is-front .swiper-concept-top .swiper-pagination .swiper-pagination-bullet, .is-page .swiper-concept-top .swiper-pagination .swiper-pagination-bullet {
    margin: 5px;
    width: 4px;
    height: 4px;
  }
}
.is-front .Concept__slider--description, .is-page .Concept__slider--description {
  margin-top: 56px;
}
@media screen and (max-width:767px) {
  .is-front .Concept__slider--description, .is-page .Concept__slider--description {
    margin-top: 36px;
  }
}
.is-front .Concept__slider--description .swiper-slide, .is-page .Concept__slider--description .swiper-slide {
  background-color: #fff;
}
.is-front .swiper-concept-bottom .swiper-slide h3, .is-front .swiper-facility-top h3, .is-page .swiper-concept-bottom .swiper-slide h3, .is-page .swiper-facility-top h3 {
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: 500;
  letter-spacing: 0.12em;
}
@media screen and (max-width:767px) {
  .is-front .swiper-concept-bottom .swiper-slide h3, .is-front .swiper-facility-top h3, .is-page .swiper-concept-bottom .swiper-slide h3, .is-page .swiper-facility-top h3 {
    font-size: 0.9375rem;
  }
}
.is-front .swiper-facility-top h3, .is-page .swiper-facility-top h3 {
  margin-top: 0.4em;
  font-size: 24px;
  font-size: 1.5rem;
  background-color: #fff;
  text-align: center;
}
@media screen and (max-width:767px) {
  .is-front .swiper-facility-top h3, .is-page .swiper-facility-top h3 {
    font-size: 0.9375rem;
  }
}
.is-front .swiper-concept-bottom .swiper-slide p, .is-page .swiper-concept-bottom .swiper-slide p {
  min-height: 160px;
  margin-top: 24px;
  line-height: 2;
  font-size: 19px;
  font-size: 1.1875rem;
}
@media screen and (max-width:767px) {
  .is-front .swiper-concept-bottom .swiper-slide p, .is-page .swiper-concept-bottom .swiper-slide p {
    margin-top: 8px;
    font-size: 0.6875rem;
    min-height: 140px;
  }
}
.is-front .Concept__btns, .is-page .Concept__btns {
  margin: 60px auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 60px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width:767px) {
  .is-front .Concept__btns, .is-page .Concept__btns {
    margin: 24px auto 0;
    display: block;
  }
}
.is-front .Concept .Concept__btns, .is-page .Concept .Concept__btns {
  margin: 0 auto;
}
@media screen and (max-width:767px) {
  .is-front .Concept .Concept__btns, .is-page .Concept .Concept__btns {
    margin: 0 auto;
  }
}
.is-front .Concept__btns .first__btn, .is-page .Concept__btns .first__btn {
  background: #FFFFC9;
}
@media screen and (max-width:767px) {
  .is-front .Concept__btns .first__btn, .is-page .Concept__btns .first__btn {
    margin-top: 24px;
  }
}
.is-front .Concept__wave, .is-page .Concept__wave {
  position: absolute;
  z-index: 2;
  top: -12px;
  left: 0;
  width: 100%;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.is-front .Concept__wave path, .is-page .Concept__wave path {
  width: 100%;
}
.is-front .swiper-facility-bottom .swiper-slide, .is-page .swiper-facility-bottom .swiper-slide {
  position: relative;
  cursor: pointer;
  border: #fff solid 2px;
}
.is-front .swiper-facility-bottom .swiper-slide::after, .is-page .swiper-facility-bottom .swiper-slide::after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, .6);
}
.is-front .swiper-facility-bottom .swiper-slide.swiper-slide-thumb-active::after, .is-page .swiper-facility-bottom .swiper-slide.swiper-slide-thumb-active::after {
  background: rgba(255, 255, 255, 0);
  border: 2px solid #E6B4BE;
}
@media screen and (max-width:767px) {
  .is-front .swiper-facility-bottom .swiper-slide.swiper-slide-thumb-active::after, .is-page .swiper-facility-bottom .swiper-slide.swiper-slide-thumb-active::after {
    border: 1px solid #E6B4BE;
  }
}
.is-front .swiper-facility-bottom .swiper-slide:hover, .is-page .swiper-facility-bottom .swiper-slide:hover {
  background: rgba(255, 255, 255, 0);
  border: 2px solid #E6B4BE;
}
@media screen and (max-width:767px) {
  .is-front .swiper-facility-bottom .swiper-slide:hover, .is-page .swiper-facility-bottom .swiper-slide:hover {
    border: 1px solid #E6B4BE;
  }
}
.is-front .swiper-facility-bottom .swiper-slide img, .is-page .swiper-facility-bottom .swiper-slide img {
  width: 100%;
  height: auto;
}
.is-front .swiper-facility-bottom.swiper-grid-column > .swiper-wrapper, .is-page .swiper-facility-bottom.swiper-grid-column > .swiper-wrapper {
  -webkit-box-orient: unset !important;
  -webkit-box-direction: unset !important;
      -ms-flex-direction: unset !important;
          flex-direction: unset !important;
}

.is-page .swiper-facility-top h3 {
  background-color: #EAEEE0;
}
.is-page .swiper-facility-bottom .swiper-slide {
  border: #EAEEE0 solid 2px;
}

/* ----------------------------------------
.Message
---------------------------------------- */
.Message:not(.page__section) {
  padding: 100px 0 120px;
  background-color: #EAEEE0;
}
@media screen and (max-width:767px) {
  .Message:not(.page__section) {
    padding: 50px 0 80px;
  }
}

.Message-container .section__title {
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width:767px) {
  .Message-container .section__title {
    position: relative;
    -webkit-transform: translateX(-5px);
            transform: translateX(-5px);
  }
}

.Message-container .child-container {
  margin-top: 40px;
  margin-left: auto;
}

.Message__main {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 2.2;
  font-family: "Shippori Mincho", serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width:767px) {
  .Message__main {
    font-size: 0.875rem;
  }
}

.Message__profile {
  margin-top: 40px;
  color: #2C4A70;
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
  font-weight: 400;
}
@media screen and (max-width:767px) {
  .Message__profile {
    margin-top: 40px;
    font-size: 0.625rem;
    line-height: 1.8;
  }
}

.Message-profile__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.Message-profile__top img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  width: 31.875%;
  position: relative;
}
@media screen and (max-width:767px) {
  .Message-profile__top img {
    width: 127.5px;
  }
}

.Message-profile__name {
  width: 63.75%;
  margin-left: auto;
  position: relative;
  color: #000;
}
@media screen and (max-width:767px) {
  .Message-profile__name {
    width: calc(100% - 145px);
  }
}

.Message-profile__name::before {
  position: absolute;
  content: "";
  aspect-ratio: 340/68;
  background-image: url(../img/profile-sign.png?v=20260817);
  background-size: cover;
  background-repeat: no-repeat;
  max-width: 350px;
  width: 90%;
  top: 45px;
  left: 60px;
}
@media screen and (max-width:767px) {
  .Message-profile__name::before {
    max-width: 240px;
    top: 50px;
    left: auto;
    right: 0px;
  }
}

.Message-profile__name span {
  display: block;
  font-size: 20px;
  font-size: 1.25rem;
  letter-spacing: 0.2em;
  font-family: "Shippori Mincho", serif;
  position: relative;
}
@media screen and (max-width:767px) {
  .Message-profile__name span {
    font-size: 0.75rem;
  }
}

.Message-profile__name h3 {
  display: block;
  font-size: 35px;
  font-size: 2.1875rem;
  letter-spacing: 0.6em;
  font-family: "Shippori Mincho", serif;
  line-height: 1.5;
  position: relative;
}
@media screen and (max-width:767px) {
  .Message-profile__name h3 {
    font-size: 1.375rem;
    letter-spacing: 0.2em;
  }
}

.Message-profile__name p {
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
  color: #2C4A70;
  margin-top: 0.5em;
  position: relative;
}
@media screen and (max-width:767px) {
  .Message-profile__name p {
    font-size: 0.625rem;
  }
}

.message__btn {
  margin: 96px auto 0;
  background-color: #EDEBE7;
}
@media screen and (max-width:767px) {
  .message__btn {
    margin: 50px auto 0;
  }
}

.is-front .Message:not(.page__section) {
  padding: 100px 0 120px;
  background-color: #EAEEE0;
}
@media screen and (max-width:767px) {
  .is-front .Message:not(.page__section) {
    padding: 50px 0 80px;
  }
}
.is-front .Message-container .section__title {
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width:767px) {
  .is-front .Message-container .section__title {
    position: relative;
    -webkit-transform: translateX(-5px);
            transform: translateX(-5px);
  }
}
.is-front .Message-container .child-container {
  margin-top: 40px;
  margin-left: auto;
}
.is-front .Message__main {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 2.2;
  font-family: "Shippori Mincho", serif;
  letter-spacing: 0.1em;
}
@media screen and (max-width:767px) {
  .is-front .Message__main {
    font-size: 0.875rem;
  }
}
.is-front .Message__profile {
  margin-top: 40px;
  color: #2C4A70;
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
  font-weight: 400;
}
@media screen and (max-width:767px) {
  .is-front .Message__profile {
    margin-top: 40px;
    font-size: 0.625rem;
    line-height: 1.8;
  }
}
.is-front .Message-profile__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.is-front .Message-profile__top img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  width: 31.875%;
  position: relative;
}
@media screen and (max-width:767px) {
  .is-front .Message-profile__top img {
    width: 127.5px;
  }
}
.is-front .Message-profile__name {
  width: 63.75%;
  margin-left: auto;
  position: relative;
  color: #000;
}
@media screen and (max-width:767px) {
  .is-front .Message-profile__name {
    width: calc(100% - 145px);
  }
}
.is-front .Message-profile__name::before {
  position: absolute;
  content: "";
  aspect-ratio: 340/68;
  background-image: url(../img/profile-sign.png?v=20260817);
  background-size: cover;
  background-repeat: no-repeat;
  max-width: 350px;
  width: 90%;
  top: 45px;
  left: 60px;
}
@media screen and (max-width:767px) {
  .is-front .Message-profile__name::before {
    max-width: 240px;
    top: 50px;
    left: auto;
    right: 0px;
  }
}
.is-front .Message-profile__name span {
  display: block;
  font-size: 20px;
  font-size: 1.25rem;
  letter-spacing: 0.2em;
  font-family: "Shippori Mincho", serif;
  position: relative;
}
@media screen and (max-width:767px) {
  .is-front .Message-profile__name span {
    font-size: 0.75rem;
  }
}
.is-front .Message-profile__name h3 {
  display: block;
  font-size: 35px;
  font-size: 2.1875rem;
  letter-spacing: 0.6em;
  font-family: "Shippori Mincho", serif;
  line-height: 1.5;
  position: relative;
}
@media screen and (max-width:767px) {
  .is-front .Message-profile__name h3 {
    font-size: 1.375rem;
    letter-spacing: 0.2em;
  }
}
.is-front .Message-profile__name h3 rt {
  letter-spacing: 0.1em;
  padding-left: 2.8em;
  font-size: 30%;
  -webkit-transform: translateY(-0.2em);
          transform: translateY(-0.2em);
}
@media screen and (max-width:767px) {
  .is-front .Message-profile__name h3 rt {
    padding-left: 0.8em;
  }
}
.is-front .Message-profile__name p {
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
  color: #2C4A70;
  margin-top: 0.5em;
  position: relative;
}
@media screen and (max-width:767px) {
  .is-front .Message-profile__name p {
    font-size: 0.625rem;
  }
}
.is-front .message__btn {
  margin: 96px auto 0;
  background-color: #EDEBE7;
}
@media screen and (max-width:767px) {
  .is-front .message__btn {
    margin: 50px auto 0;
  }
}

/* feat(hatanodai): 院長サイン画像を石橋由梨乃版に差し替え (Issue #257 / 実施は #4066 2026-08-17)
 * ⚠️ #257 時点ではコメントだけで実作業が漏れており、profile-sign.png は
 *    なみなみ院長「Suzumi Kanatani」のまま（なみなみ本番と md5 一致）だった。
 * 2026-08-17 に assets/naminami-snapshot/designer/ishibashi_sign.webp（デザイナー支給）から
 * 「Yurino Ishibashi」版を生成して差し替え済み。CSS の aspect-ratio 340/68 を変えずに済むよう
 * 5:1 キャンバスへ収め、色は現行実測の rgb(234,226,216) に合わせている。
 */
/* fix(hatanodai): ふりがなと漢字のバランス調整（Issue #257）
 * 各 ruby ペア（漢字+読み）の間に余白を入れて視認性向上。
 */
.Message-profile__name h3 ruby {
  padding: 0 0.15em;
}

@media screen and (max-width: 767px) {
  body:not(.is-en) .Message-profile__name h3 {
    white-space: nowrap;
  }
}

.Message-profile__name h3 ruby rt {
  font-size: 0.5em;
  letter-spacing: 0.05em;
}

/* ----------------------------------------
.Online
---------------------------------------- */
.is-front .Online:not(.page__section) {
  padding: 100px 0 120px;
}
@media screen and (max-width:767px) {
  .is-front .Online:not(.page__section) {
    padding: 50px 0 80px;
  }
}
@media screen and (max-width:767px) {
  .is-front .Online .container {
    width: 100%;
  }
}
.is-front .Online-container .child-container .container05 {
  width: 100%;
  margin-right: auto;
}
@media screen and (max-width:767px) {
  .is-front .Online-container .child-container .container05:not(.feature__img) {
    width: 84%;
  }
}
.is-front .Online-container .section__title {
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width:767px) {
  .is-front .Online-container .section__title {
    position: relative;
    -webkit-transform: translateX(-5px);
            transform: translateX(-5px);
    padding-left: 9%;
  }
}
.is-front .Online-container .child-container {
  margin-left: auto;
}

/* ----------------------------------------
Access
---------------------------------------- */
main:not(.is-page) .Access {
  padding: 150px 0;
  background-color: #FBF5E5;
}
@media screen and (max-width:767px) {
  main:not(.is-page) .Access {
    padding: 50px 0;
  }
}

main:not(.is-page) .Access .child-container {
  margin-left: auto;
}
@media screen and (max-width:767px) {
  main:not(.is-page) .Access .child-container {
    width: 100%;
    margin-top: 24px;
  }
}

main:not(.is-front) .Access .child-container {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width:767px) {
  main:not(.is-front) .Access .child-container {
    width: 100%;
    margin-top: 24px;
  }
}

.Access-container .section__title {
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width:767px) {
  .Access-container .section__title {
    position: relative;
  }
}

.Access .child-container iframe {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 615/348;
}
@media screen and (max-width:767px) {
  .Access .child-container iframe {
    aspect-ratio: 603/381;
  }
}

.Access .child-container table {
  margin-top: 48px;
  width: 100%;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 2;
  font-weight: 400;
  letter-spacing: 0.18em;
}
@media screen and (max-width:767px) {
  .Access .child-container table {
    margin-top: 24px;
    font-size: 0.75rem;
  }
}

.Access .child-container table tbody tr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.Access .child-container table tbody tr:nth-child(n+2) {
  margin-top: 12px;
}
@media screen and (max-width:767px) {
  .Access .child-container table tbody tr:nth-child(n+2) {
    margin-top: 0;
  }
}

.Access .child-container table tbody tr th {
  width: 148px;
  font-weight: 400;
  color: #D54342;
}
@media screen and (max-width:767px) {
  .Access .child-container table tbody tr th {
    width: 74px;
  }
}

.Access .child-container table tbody tr td {
  width: calc(100% - 148px);
}
@media screen and (max-width:767px) {
  .Access .child-container table tbody tr td {
    width: calc(100% - 74px);
  }
}

.Access_btn {
  margin: 70px auto 0;
  background-color: #fff;
}
@media screen and (max-width:767px) {
  .Access_btn {
    margin: 48px auto 0;
  }
}

/* ----------------------------------------
Column
---------------------------------------- */
.Column {
  padding: 148px 0 240px;
}
@media screen and (max-width:767px) {
  .Column {
    padding: 60px 0 180px;
  }
}

.Column-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width:767px) {
  .Column-container .section__title {
    padding-right: 30px;
  }
}

.Column-container .child-container {
  margin-left: auto;
}

.Column__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 14px;
}
@media screen and (max-width:767px) {
  .Column__wrap {
    display: block;
  }
}

.Column__con {
  display: block;
  width: calc(33.33333% - 9px);
}
@media screen and (max-width:767px) {
  .Column__con {
    width: 100%;
  }
}

@media screen and (max-width:767px) {
  .Column__con:nth-child(n+2) {
    margin-top: 32px;
  }
}

.Column__con img {
  width: 100%;
  aspect-ratio: 530/320;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
}

.Column__con h3 {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.5em;
  margin-top: 1.2em;
  font-weight: 500;
}
@media screen and (max-width:767px) {
  .Column__con h3 {
    font-size: 0.75rem;
  }
}

.Column__con p {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1;
  margin-top: 0.5em;
}
@media screen and (max-width:767px) {
  .Column__con p {
    font-size: 0.6875rem;
  }
}

.Column__to-column {
  margin-top: 32px;
}
@media screen and (max-width:767px) {
  .Column__to-column {
    margin-top: 26px;
  }
}

/* ----------------------------------------
Congestion
---------------------------------------- */
.Congestion {
  margin: 0 auto;
  max-width: 920px;
}

.Congestion__title span {
  font-size: 75%;
  margin: 0 -0.5em;
}

.Congestion__wrap {
  margin-top: 40px;
}
@media screen and (max-width:767px) {
  .Congestion__wrap {
    margin-top: 18px;
  }
}

.Congestion__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
}

.Congestion__row2 {
  background-color: rgba(255, 255, 255, .3);
}

.Congestion__column {
  width: 45.075%;
}

.Congestion__th {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.Congestion__th span {
  display: block;
  line-height: 2.4;
  letter-spacing: 0.1em;
  font-weight: bold;
  font-size: 20px;
  font-size: 1.25rem;
}
@media screen and (max-width:767px) {
  .Congestion__th span {
    font-size: 0.625rem;
  }
}

.Congestion__td {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.Congestion__td {
  border-right: 1px solid #000;
  border-left: 1px solid #000;
}

.Congestion__td img {
  width: 50%;
  height: auto;
}

.Congestion__td img:nth-child(1) {
  border-right: 1px solid #000;
}

.Congestion p {
  margin-top: 18px;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
}
@media screen and (max-width:767px) {
  .Congestion p {
    margin-top: 10px;
    font-size: 0.75rem;
  }
}

/* ----------------------------------------
float nav
---------------------------------------- */
.float__cta {
  position: fixed;
  z-index: 5;
  bottom: 20px;
  right: 0;
}
@media screen and (max-width:767px) {
  .float__cta {
    bottom: 0;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.float__cta li:nth-child(n+2) {
  margin-top: 10px;
}
@media screen and (max-width:767px) {
  .float__cta li:nth-child(n+2) {
    margin-top: 0px;
  }
}

.float__cta li a {
  font-weight: 500;
  white-space: nowrap;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.float__cta li a p {
  font-size: 16px;
  font-size: 1rem;
}

.float__cta li * {
  text-align: center;
}

.float__cta li:nth-child(1) {
  background-color: #708E75;
  background-image: url(../img/float-bg01.jpg);
  background-size: cover;
  background-blend-mode: soft-light;
}
.float__cta li:nth-child(1) p {
  line-height: 1.4;
}
.float__cta li:nth-child(1) span {
  font-size: 80%;
}
@media screen and (max-width:767px) {
  .float__cta li:nth-child(1) span {
    font-size: 65%;
  }
}

.float__cta li:nth-child(2) {
  background-color: #AAC0B8;
  background-image: url(../img/float-bg02.jpg);
  background-size: cover;
  background-blend-mode: soft-light;
}
.float__cta li:nth-child(2) p {
  padding-bottom: 6px;
}
.float__cta li:nth-child(2) span {
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 2;
}

.float__cta li:nth-child(3) {
  background-color: #C8ABAC;
  background-image: url(../img/float-bg03.jpg);
  background-size: cover;
  background-blend-mode: soft-light;
}
.float__cta li:nth-child(3) p {
  font-size: 20px;
  font-size: 1.25rem;
  padding-bottom: 8px;
}
@media screen and (max-width:767px) {
  .float__cta li:nth-child(3) p {
    font-size: 0.875rem;
    padding-bottom: 0;
    line-height: 1.6;
  }
}
.float__cta li:nth-child(3) span {
  font-size: 10px;
  font-size: 0.625rem;
  line-height: 2;
}

.float__cta li {
  width: 160px;
  height: 62px;
  color: #fff;
}
@media screen and (max-width:767px) {
  .float__cta li {
    width: 33.3333333333%;
  }
  .float__cta li p {
    font-size: 0.8125rem;
    padding-bottom: 8px;
  }
  .float__cta li span {
    font-size: 0.6875rem;
  }
}

.float__cta li span {
  width: 100%;
}

.float__cta li:nth-child(n) {
  position: relative;
  background-repeat: no-repeat;
  background-size: cover;
}

/* ----------------------------------------
GTranslate言語切替のスタイルは削除した (#4066)
追従CTAの3つ目は gtranslate ウィジェットではなく /en/ への「English」ボタンに固定したため
（footer.php 参照）。.gtranslate-default 自体が出力されなくなり、この一式は死にコードだった。
---------------------------------------- */

/* ----------------------------------------
Links
---------------------------------------- */
.Links {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  margin-right: 180px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  padding-bottom: 16px;
}
@media screen and (max-width: 920px) {
  .Links {
    margin-right: 100px;
  }
}
@media screen and (max-width:767px) {
  .Links {
    display: block;
    margin: 0 auto;
    padding-bottom: 24px;
  }
}

.Links__wrap.false {
  background-color: #FBF5E5;
}

.Links__sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
}
@media screen and (max-width:767px) {
  .Links__sns {
    gap: 12px;
  }
}

.Links__sns a {
  display: block;
  width: 100%;
  height: auto;
}

.Links__sns a:nth-child(1), .Links__sns a:nth-child(2) {
  margin: 0 8px;
}
@media screen and (max-width:767px) {
  .Links__sns a:nth-child(1), .Links__sns a:nth-child(2) {
    margin: 0;
  }
}

.Links__sns a:nth-child(1) {
  margin: 0 8px;
}
@media screen and (max-width:767px) {
  .Links__sns a:nth-child(1) {
    margin: 0 12px 0 0;
  }
}

.Links__sns a img {
  display: block;
  width: auto;
  height: 50px;
}
@media screen and (max-width:767px) {
  .Links__sns a img {
    height: 42px;
  }
}

@media screen and (max-width:767px) {
/* NOTE (#4066): 採用情報(talentio)バナーは TOP / EN から削除済み（Studio KAJi ロゴに差し替え）。
   以下の .Links__talentio 一式は現在どのテンプレートからも参照されていない。
   将来 採用バナーを戻す可能性があるため様式だけ残している。 */
  .Links__talentio {
    margin-top: 18px;
  }
}

.Links__talentio a {
  line-height: 50px;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  letter-spacing: 0.12em;
}
@media screen and (max-width:767px) {
  .Links__talentio a {
    display: block;
    line-height: 2;
    font-size: 0.875rem;
  }
}

.Links__talentio a span {
  position: relative;
  display: block;
  padding: 0px 0 0px 18px;
}
@media screen and (max-width:767px) {
  .Links__talentio a span {
    padding: 0px 0 0px 16px;
  }
}

.Links__talentio a img {
  display: block;
  width: 158px;
  height: auto;
}
@media screen and (max-width:767px) {
  .Links__talentio a img {
    width: 116px;
  }
}

.Links__talentio a span::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 16px;
  height: auto;
  aspect-ratio: 16.58/12.36;
  background-image: url(../img/arrow-right.svg);
  background-repeat: no-repeat;
  background-size: cover;
}
/* ----------------------------------------
Footer
---------------------------------------- */
footer {
  padding: 40px 0 20px;
  background-color: #9BC2C1;
  color: #fff;
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.5;
  position: relative;
}
@media screen and (max-width:767px) {
  footer {
    padding: 80px 0 12px;
    font-size: 0.75rem;
  }
}

.footer__logo img {
  display: block;
  max-width: 228px;
  width: 100%;
  height: auto;
}
@media screen and (max-width:767px) {
  .footer__logo img {
    max-width: 200px;
    margin: 0 auto;
  }
}

.footer__nav {
  margin-top: 74px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
}
@media screen and (max-width:767px) {
  .footer__nav {
    margin-top: 60px;
    display: block;
  }
}

.footer__nav--con {
  width: calc(20% - 42px);
  display: block;
}
@media screen and (max-width:767px) {
  .footer__nav--con {
    width: 100%;
  }
}

.footer__nav--con:nth-child(2) {
  width: calc(60% + 20px);
}
@media screen and (max-width:767px) {
  .footer__nav--con:nth-child(2) {
    width: 100%;
    margin-top: 40px;
  }
}

.footer__nav--con:nth-child(3) {
  width: calc(20% + 30px);
}
@media screen and (max-width:767px) {
  .footer__nav--con:nth-child(3) {
    width: 100%;
    margin-top: 40px;
  }
}

.footer__nav--con h2 {
  font-weight: 500;
  border-bottom: 1px solid #fff;
  padding-bottom: 8px;
}
.footer__nav--wrap {
  margin-top: 14px;
}

.footer__nav--wrap-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width:767px) {
  .footer__nav--wrap-menu {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.footer__nav--menu {
  width: calc(30% + 60px);
}
@media screen and (max-width:767px) {
  .footer__nav--menu {
    width: 50%;
  }
}

.footer__nav--menu:not(:last-child) {
  padding-right: 10px;
  width: 32%;
}
@media screen and (max-width:767px) {
  .footer__nav--menu:not(:last-child) {
    width: 100%;
  }
}

.footer__nav--menu:last-child {
  width: 36%;
}
@media screen and (max-width:767px) {
  .footer__nav--menu:last-child {
    width: 100%;
  }
}

@media screen and (max-width:767px) {
  .footer__nav--menu:nth-of-type(n+2) {
    margin-top: 40px;
  }
}

.footer__nav--wrap h3 {
  font-weight: 500;
}

.footer__nav--wrap h3:nth-of-type(n+2), .footer__nav--wrap > h3 {
  margin-top: 40px;
}

.footer__nav__child {
  font-weight: 400;
}

.footer__nav--menu .footer__nav__child {
  margin-top: 12px;
}

.footer__nav__child li:not(:first-child) {
  margin-top: 0.5em;
}

.footer__nav--con:nth-child(3) .footer__nav__child:not(:first-of-type) {
  margin-top: 12px;
}

.footer__nav--con:nth-child(3) .footer__nav__child:last-of-type {
  margin-top: 40px;
}

.footer__guideline {
  margin-top: 64px;
  line-height: 2;
}
@media screen and (max-width:767px) {
  .footer__guideline {
    font-size: 0.625rem;
  }
}

.footer__guideline h2 {
  font-weight: 500;
}

.footer__guideline p {
  font-weight: 400;
}

.footer__guideline a {
  text-decoration: underline;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.footer__bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 52px;
}
@media screen and (max-width:767px) {
  .footer__bottom {
    font-size: 0.625rem;
    display: block;
  }
}

.footer__bottom p {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-family: "Poppins", sans-serif;
}
@media screen and (max-width:767px) {
  .footer__bottom p {
    text-align: center;
    width: 100%;
  }
}

.footer__bottom p a {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  text-decoration: underline;
}

.Footer__icecream {
  display: block;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 74px;
  height: auto;
  position: absolute;
  right: 0.5%;
  top: -40px;
}
@media screen and (min-width: 920px) {
  .Footer__icecream {
    right: 80px;
  }
}
@media screen and (max-width:767px) {
  .Footer__icecream {
    max-width: 50px;
    right: 20px;
    top: -24px;
  }
}

.Footer__icecream img {
  display: block;
  width: 100%;
  height: auto;
}
body, * {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  text-align: justify;
}

@media screen and (max-width:767px) {
  body {
    padding-bottom: 60px;
  }
}

main.is-page {
  padding-top: 48px;
}
@media screen and (max-width:767px) {
  main.is-page {
    padding-top: 47px;
  }
}

/*--container
------------------------------*/
.container {
  max-width: 1000px;
  width: 84%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.container02 {
  max-width: 1080px;
  width: 84%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.container03 {
  max-width: 1080px;
  width: 84%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.container04 {
  max-width: 1200px;
  width: 84%;
  margin-left: auto;
  margin-right: auto;
}

.container05 {
  max-width: 820px;
  width: 84%;
  margin-left: auto;
  margin-right: auto;
}

.container06 {
  max-width: 880px;
  width: 84%;
  margin-left: auto;
  margin-right: auto;
}

.container07 {
  max-width: 900px;
  width: 84%;
  margin-left: auto;
  margin-right: auto;
}

.child-container {
  max-width: 800px;
  width: calc(100% - 120px);
}
@media screen and (max-width:767px) {
  .child-container {
    width: 100%;
  }
}

.child-container02 {
  max-width: 684px;
  width: calc(100% - 120px);
}
@media screen and (max-width:767px) {
  .child-container02 {
    width: 100%;
  }
}

@media screen and (max-width:767px) {
  .sp-container {
    width: 84%;
    margin: 0 auto;
  }
}

/*--container
------------------------------*/
.is-front .container {
  max-width: 1000px;
  width: 84%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
.is-front .container02 {
  max-width: 1080px;
  width: 84%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
.is-front .container03 {
  max-width: 1080px;
  width: 84%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
.is-front .container04 {
  max-width: 1200px;
  width: 84%;
  margin-left: auto;
  margin-right: auto;
}
.is-front .container05 {
  max-width: 820px;
  width: 84%;
  margin-left: auto;
  margin-right: auto;
}
.is-front .container06 {
  max-width: 880px;
  width: 84%;
  margin-left: auto;
  margin-right: auto;
}
.is-front .container07 {
  max-width: 900px;
  width: 84%;
  margin-left: auto;
  margin-right: auto;
}
.is-front .child-container {
  max-width: 800px;
  width: calc(100% - 120px);
}
@media screen and (max-width:767px) {
  .is-front .child-container {
    width: 100%;
  }
}
.is-front .child-container02 {
  max-width: 684px;
  width: calc(100% - 120px);
}
@media screen and (max-width:767px) {
  .is-front .child-container02 {
    width: 100%;
  }
}
@media screen and (max-width:767px) {
  .is-front .sp-container {
    width: 84%;
    margin: 0 auto;
  }
}

/*--section__title
------------------------------*/
.section__title {
  font-size: 30px;
  font-size: 1.875rem;
  line-height: 1.5;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  letter-spacing: 0.4em;
  font-weight: 500;
  z-index: 5;
  position: relative;
}
@media screen and (max-width:767px) {
  .section__title {
    font-size: 1.125rem;
  }
}

.section__title span {
  display: block;
  font-size: 16px;
  font-size: 1rem;
  margin-left: 4px;
}
@media screen and (max-width:767px) {
  .section__title span {
    font-size: 0.8125rem;
    margin-left: 2px;
    letter-spacing: 0.3em;
  }
}

/*--btn
------------------------------*/
.btn {
  font-size: 18px;
  font-size: 1.125rem;
  white-space: nowrap;
  padding: 12px 32px;
  line-height: 1;
  border: 2px solid #000;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 100px;
  font-weight: 500;
}
@media screen and (max-width:767px) {
  .btn {
    font-size: 0.9375rem;
    border: 1px solid #000;
    border-radius: 100px;
  }
}

.btn-arrow {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  padding-bottom: 6px;
  padding-right: 16px;
  position: relative;
  border-bottom: 1px solid #000;
  font-size: 16px;
  font-size: 1rem;
}
@media screen and (max-width:767px) {
  .btn-arrow {
    padding-bottom: 0;
    padding-right: 16px;
    font-size: 0.75rem;
  }
}

.btn-arrow::after {
  position: absolute;
  content: "";
  background-image: url(../img/arrow-right.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 14px;
  height: 10px;
  right: 0;
  top: 6px;
}
@media screen and (max-width:767px) {
  .btn-arrow::after {
    top: 3px;
    width: 12.5px;
    height: 8.5px;
  }
}

.btn-back {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-bottom: 6px;
  padding-left: 16px;
  position: relative;
  color: #fff;
  border-bottom: 1px solid #fff;
  font-size: 16px;
  font-size: 1rem;
}
@media screen and (max-width:767px) {
  .btn-back {
    padding-bottom: 0;
    padding-left: 16px;
    font-size: 0.75rem;
  }
}

.btn-back::after {
  position: absolute;
  content: "";
  background-image: url(../img/arrow-back.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 14px;
  height: 10px;
  left: 0;
  top: 6px;
}
@media screen and (max-width:767px) {
  .btn-back::after {
    top: 3px;
    width: 12.5px;
    height: 8.5px;
  }
}

/*--hover
------------------------------*/
a {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

a:not(.Footer__icecream):hover {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  opacity: 0.7;
}
@media screen and (max-width:767px) {
  a:not(.Footer__icecream):hover {
    opacity: 1;
  }
}

.Footer__icecream:hover {
  -webkit-transform: rotate(30deg) translateY(-50%);
          transform: rotate(30deg) translateY(-50%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width:767px) {
  .Footer__icecream:hover {
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}

/*---Mv-anim step1
------------------------------*/
.loading__text .fadeInUp.js-anim01-1, .loading__text .fadeInUp.js-anim01-2 {
  opacity: 0;
}

.loading__text .fadeInUp.js-anim01-1.is-load {
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp; /*アニメーションの定義名*/
  -webkit-animation-duration: 1s;
          animation-duration: 1s; /*アニメーション変化時間 ※デフォルト*/
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards; /*アニメーションの開始と終了時の状態を指定*/
}

.loading__text .fadeInUp.js-anim01-2.is-load {
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp; /*アニメーションの定義名*/
  -webkit-animation-duration: 1s;
          animation-duration: 1s; /*アニメーション変化時間 ※デフォルト*/
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards; /*アニメーションの開始と終了時の状態を指定*/
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s; /*アニメーション変化時間 ※デフォルト*/
}

/*---Mv-anim step2
------------------------------*/
.loading-anim.js-anim02.is-load {
  -webkit-animation-name: roll-up;
          animation-name: roll-up; /*アニメーションの定義名*/
  -webkit-animation-duration: 1.5s;
          animation-duration: 1.5s; /*アニメーション変化時間 ※デフォルト*/
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards; /*アニメーションの開始と終了時の状態を指定*/
}

/*---Mv-anim step3
------------------------------*/
body.js-anim03.is-load {
  overflow: visible;
}

/*- animation fadeInUp
------------------------------*/
@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 10%, 0);
    transform: translate3d(0, 10%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 10%, 0);
    transform: translate3d(0, 10%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
/*- animation roll-up
------------------------------*/
@-webkit-keyframes roll-up {
  0% {
    top: 0svh;
  }
  100% {
    top: -100svh;
  }
}
@keyframes roll-up {
  0% {
    top: 0svh;
  }
  100% {
    top: -100svh;
  }
}
/* ----------------------------------------
page base
---------------------------------------- */
.is-page {
  background: #EAEEE0;
}

.page__section:not(:last-of-type) {
  padding-top: 148px;
}
@media screen and (max-width:767px) {
  .page__section:not(:last-of-type) {
    padding-top: 80px;
  }
}

.page__section:last-of-type {
  padding-top: 148px;
  padding-bottom: 160px;
}
@media screen and (max-width:767px) {
  .page__section:last-of-type {
    padding-top: 80px;
    padding-bottom: 120px;
  }
}

/* ----------------------------------------
page mv
---------------------------------------- */
.mv__wrap .container:not(.breadcrumbs) {
  padding: 100px 0;
}
@media screen and (max-width:767px) {
  .mv__wrap .container:not(.breadcrumbs) {
    padding: 60px 0 80px;
    width: 100%;
  }
}

.mv__wrap .container .page__top-title, .is-404 h1 {
  text-align: center;
  font-weight: 500;
  font-size: 32px;
  font-size: 2rem;
  letter-spacing: 0.35em;
  line-height: 1.5;
}
@media screen and (max-width:767px) {
  .mv__wrap .container .page__top-title, .is-404 h1 {
    font-size: 1.125rem;
  }
}

/* ----------------------------------------
breadcrumbs
---------------------------------------- */
.breadcrumbs {
  padding-top: 14px;
  font-size: 12px;
  font-size: 0.75rem;
  letter-spacing: 0.2em;
}
.breadcrumbs b {
  display: none;
}
@media screen and (max-width:767px) {
  .breadcrumbs {
    padding-top: 14px;
    font-size: 0.625rem;
    width: 100%;
    letter-spacing: 0em;
    padding-left: 8%;
    padding-right: 8%;
    overflow-x: auto;
    /* #4066: 枠内の横スワイプがページ側へ連鎖してページごと横に振れる（iOS）のを止める */
    overscroll-behavior-x: contain;
    white-space: nowrap;
  }
  .breadcrumbs::-webkit-scrollbar {
    display: none;
  }
}

.breadcrumbs .current-item {
  font-weight: 500;
}

/* ----------------------------------------
page title
---------------------------------------- */
.page__title {
  font-size: 32px;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.35em;
  text-align: center !important;
  margin-bottom: 80px;
  line-height: 2;
  position: relative;
  z-index: 5;
}
@media screen and (max-width:767px) {
  .page__title {
    font-size: 1rem;
    margin-bottom: 40px;
  }
}

.page__title span {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  position: relative;
  text-align: center !important;
}
/* ----------------------------------------
見出しオブジェ
---------------------------------------- */
/* 見出し 院長メッセージ（ベース）
---------------------------------------- */
.page__section .page__title span::after {
  background-image: url(../img/message-obj01.png);
}
@media screen and (max-width:767px) {
  .page__section .page__title span::after {
    background-image: url(../img/message-obj01-sp.png);
    bottom: 0.4em;
    left: 48.9%;
  }
}

/* 見出し アクセス・診療時間
---------------------------------------- */
.page__section .page__title.is-02 span::after {
  background-image: url(../img/message-obj02.png);
}
@media screen and (max-width:767px) {
  .page__section .page__title.is-02 span::after {
    background-image: url(../img/message-obj02-sp.png);
  }
}

/* 見出し レディースクリニック なみなみの特徴
---------------------------------------- */
.page__section .page__title.container.is-03 {
  line-height: 1.52;
}

.page__section .page__title.is-03 span::after {
  background-image: url(../img/message-obj03.png);
  bottom: 0.25em;
  left: 49.8%;
}
@media screen and (max-width:767px) {
  .page__section .page__title.is-03 span::after {
    background-image: url(../img/message-obj03-sp.png);
    bottom: 0.2em;
    left: 47.9%;
  }
}

/* 見出し 診療時間
---------------------------------------- */
@media screen and (max-width:767px) {
  .page__section .page__title.is-04 {
    letter-spacing: 0.25em;
  }
}

.page__section .page__title.is-04 span::after {
  background-image: url(../img/message-obj04.png);
  left: 47%;
}
@media screen and (max-width:767px) {
  .page__section .page__title.is-04 span::after {
    background-image: url(../img/message-obj04-sp.png);
    left: 46.8%;
    bottom: 0.4em;
  }
}

/* 見出し お問い合わせ・ご予約はこちら
---------------------------------------- */
.page__section .page__title.is-05 {
  letter-spacing: 0.328em;
}
@media screen and (max-width:767px) {
  .page__section .page__title.is-05 {
    letter-spacing: 0.25em;
  }
}

.page__section .page__title.is-05 span::after {
  background-image: url(../img/message-obj05.png);
  bottom: 0.49em;
  left: 48%;
}
@media screen and (max-width:767px) {
  .page__section .page__title.is-05 span::after {
    background-image: url(../img/message-obj05-sp.png);
    bottom: 0.5em;
    left: 48.5%;
  }
}

/* 見出し お支払い方法
---------------------------------------- */
@media screen and (max-width:767px) {
  .page__section .page__title.is-06 {
    letter-spacing: 0.25em;
  }
}

.page__section .page__title.is-06 span::after {
  background-image: url(../img/message-obj06.png);
  bottom: 0.36em;
  left: 47.9%;
}
@media screen and (max-width:767px) {
  .page__section .page__title.is-06 span::after {
    background-image: url(../img/message-obj06-sp.png);
    bottom: 0.5em;
    left: 50%;
  }
}

/* 見出し 道のり案内
---------------------------------------- */
@media screen and (max-width:767px) {
  .page__section .page__title.is-07 {
    letter-spacing: 0.25em;
  }
}

.page__section .page__title.is-07 span::after {
  background-image: url(../img/message-obj07.png);
}
@media screen and (max-width:767px) {
  .page__section .page__title.is-07 span::after {
    background-image: url(../img/message-obj07-sp.png);
  }
}

/* 見出し 当院の取り組み
---------------------------------------- */
.page__section .page__title.is-08 span::after {
  background-image: url(../img/message-obj08.png);
  bottom: 0.5em;
  left: 48.5%;
}
@media screen and (max-width:767px) {
  .page__section .page__title.is-08 span::after {
    background-image: url(../img/message-obj08-sp.png);
    bottom: 0.35em;
    left: 51.8%;
  }
}

/* 見出し 受けられる医療について
---------------------------------------- */
.page__section .page__title.is-09 span::after {
  background-image: url(../img/message-obj09.png);
  bottom: 0.45em;
  left: 48%;
}
@media screen and (max-width:767px) {
  .page__section .page__title.is-09 span::after {
    background-image: url(../img/message-obj09-sp.png);
    bottom: 0.5em;
    left: 50%;
  }
}

/* 見出し オンライン診療について
---------------------------------------- */
@media screen and (max-width:767px) {
  .page__section .page__title.is-10 {
    letter-spacing: 0.23em;
  }
}

.page__section .page__title.is-10 span::after {
  background-image: url(../img/message-obj10.png);
  bottom: 0.45em;
  left: 56%;
}
@media screen and (max-width:767px) {
  .page__section .page__title.is-10 span::after {
    background-image: url(../img/message-obj10-sp.png);
    bottom: 0.45em;
    left: 48.5%;
  }
}

/* 見出し 料金一覧
---------------------------------------- */
.page__section .page__title.is-11 span::after {
  background-image: url(../img/message-obj11.png);
}
@media screen and (max-width:767px) {
  .page__section .page__title.is-11 span::after {
    background-image: url(../img/message-obj11-sp.png);
    bottom: 0.45em;
    left: 47.5%;
    width: 314px;
  }
}

/* 見出し 募集要項
---------------------------------------- */
.page__section .page__title.is-12 span::after {
  background-image: url(../img/message-obj12.png);
  left: 46%;
}
@media screen and (max-width:767px) {
  .page__section .page__title.is-12 span::after {
    background-image: url(../img/message-obj12-sp.png);
    left: 50%;
  }
}

/* 見出し 採用の流れ
---------------------------------------- */
@media screen and (max-width:767px) {
  .page__section .page__title.is-13 {
    letter-spacing: 0.25em;
  }
}

.page__section .page__title.is-13 span::after {
  background-image: url(../img/message-obj13.png);
  bottom: 0.46em;
  left: 50%;
}
@media screen and (max-width:767px) {
  .page__section .page__title.is-13 span::after {
    background-image: url(../img/message-obj13-sp.png);
    bottom: 0.5em;
    left: 48.6%;
  }
}

/* 見出し よくある質問
---------------------------------------- */
.page__section .page__title.is-14 span::after {
  background-image: url(../img/message-obj14.png);
  bottom: 0.45em;
  left: 49%;
}
@media screen and (max-width:767px) {
  .page__section .page__title.is-14 span::after {
    background-image: url(../img/message-obj14-sp.png);
    bottom: 0.5em;
    left: 50%;
  }
}

.page__section .page__title span::after {
  position: absolute;
  content: "";
  width: 760px;
  height: auto;
  aspect-ratio: 800/50;
  background-repeat: no-repeat;
  background-size: cover;
  -webkit-transform: translate(-50%, 100%);
          transform: translate(-50%, 100%);
  bottom: 0.45em;
  left: 44%;
}
@media screen and (max-width:767px) {
  .page__section .page__title span::after {
    width: 324px;
    height: auto;
    aspect-ratio: 300/30;
    bottom: 0.5em;
    left: 50%;
  }
}

/* 見出し 受けられる医療について
---------------------------------------- */
@media screen and (max-width:767px) {
  .page__section .page__title.is-09 span::after {
    bottom: 0.5em;
    left: 50%;
  }
}

/* ----------------------------------------
bottom wave
---------------------------------------- */
.bottom-wave {
  background-image: url(../img/bottom-wave.svg);
  background-size: auto 4px;
  background-repeat: repeat-x;
  background-position: 100% 98%;
}
@media screen and (max-width:767px) {
  .bottom-wave {
    background-size: auto 3px;
  }
}

/* ----------------------------------------
page__nav bg
---------------------------------------- */
.page-nav__feature {
  background-image: url(../img/nav01.jpg);
}

.page-nav__message {
  background-image: url(../img/nav02.jpg);
}

.page-nav__time {
  background-image: url(../img/nav11.jpg);
}

.page-nav__faq {
  background-image: url(../img/nav09.jpg);
}

.page-nav__access {
  background-image: url(../img/nav06.jpg);
}

.page-nav__route {
  background-image: url(../img/nav10.jpg);
}

.page-nav__pay {
  background-image: url(../img/nav04.jpg);
}

.page-nav__attempt {
  background-image: url(../img/nav03.jpg);
}

.page-nav__medical {
  background-image: url(../img/nav08.jpg);
}

.page-nav__online {
  background-image: url(../img/nav05.jpg);
}

.page-nav__recruit {
  background-image: url(../img/nav04.jpg);
}

/* ----------------------------------------
page__nav 
---------------------------------------- */
.page-nav__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 30px 24px;
}

.page-nav__wrap li {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}

.page-nav {
  display: block;
  position: relative;
  text-align: center;
  padding: 16px 0 26px;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  width: 280px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  border-radius: 32px;
}
@media screen and (max-width:767px) {
  .page-nav {
    padding: 12px 0 18px;
    font-size: 0.875rem;
    width: 200px;
  }
}

.page-nav::after {
  position: absolute;
  content: "";
  background-image: url(../img/arrow-bottom.svg);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  left: 50%;
  bottom: 6px;
  width: 18px;
  height: auto;
  aspect-ratio: 15.25/8.1;
  background-size: cover;
}
@media screen and (max-width:767px) {
  .page-nav::after {
    bottom: 6px;
    width: 12px;
  }
}

/* ----------------------------------------
message mv
---------------------------------------- */
.is-message {
  background-image: url(../img/h1-message.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
}
@media screen and (max-width:767px) {
  .is-message {
    background-image: url(../img/h1-message-sp.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;
  }
}

/* ----------------------------------------
message top
---------------------------------------- */
.message__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-family: "Shippori Mincho", serif;
}
@media screen and (max-width:767px) {
  .message__top {
    display: block;
  }
}

.message__top .message__left {
  width: 36%;
}
@media screen and (max-width:767px) {
  .message__top .message__left {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    gap: 4svw;
  }
}

.message__top .message__left img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width:767px) {
  .message__top .message__left img {
    width: 50%;
  }
}

@media screen and (max-width:767px) {
  .massage__text {
    padding-top: 18svw;
  }
}

.message__top .message__left .message__title {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.8;
  margin-top: 0.5em;
  font-family: "Shippori Mincho", serif;
  letter-spacing: 0.18em;
}
@media screen and (max-width:767px) {
  .message__top .message__left .message__title {
    font-size: 3.2svw;
  }
}

.message__top .message__left .message__name {
  font-size: 35px;
  font-size: 2.1875rem;
  line-height: 1.2;
  letter-spacing: 0.6em;
  margin-top: 0.3em;
  font-family: "Shippori Mincho", serif;
}
@media screen and (max-width:767px) {
  .message__top .message__left .message__name {
    font-size: 5.3svw;
  }
}

.message__right {
  width: 56.6%;
}
@media screen and (max-width:767px) {
  .message__right {
    width: 100%;
    margin-top: 42px;
  }
}

.message__right p {
  font-size: 17px;
  font-size: 1.0625rem;
  line-height: 2.6666666667;
  letter-spacing: 0.1em;
  font-family: "Shippori Mincho", serif;
  margin-top: -0.5em;
}
@media screen and (max-width:767px) {
  .message__right p {
    font-size: 0.875rem;
    letter-spacing: 0;
  }
}

/* ----------------------------------------
message bottom
---------------------------------------- */
.Message-profile__middle {
  margin-top: 64px;
  padding-top: 32px;
  border-top: 1px solid #2C4A70;
  color: #2C4A6E;
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
  font-weight: 400;
}
@media screen and (max-width:767px) {
  .Message-profile__middle {
    font-size: 0.625rem;
    margin-top: 24px;
    padding-top: 10px;
  }
}

.Message-profile__middle.is_book {
  margin-top: 0px;
  border-top: none;
  color: #2C4A6E;
}
@media screen and (max-width:767px) {
  .Message-profile__middle.is_book {
    margin-top: 0;
  }
}

.Message-profile__middle table {
  line-height: 1.8;
  letter-spacing: 0.15em;
}

.Message-profile__middle.is_book table {
  line-height: 1.2;
  letter-spacing: 0.15em;
}

.Message-profile__middle.is_book table tbody tr {
  padding: 0.5em 0;
  display: block;
}

.Message-profile__middle table tbody tr th {
  width: 72px;
  font-weight: 400;
}
@media screen and (max-width:767px) {
  .Message-profile__middle table tbody tr th {
    width: 45px;
  }
}

.Message-profile__middle table tbody tr td {
  width: calc(100% - 72px);
}
@media screen and (max-width:767px) {
  .Message-profile__middle table tbody tr td {
    width: calc(100% - 45px);
  }
}

.Message-profile__middle p {
  margin-top: 12px;
}
@media screen and (max-width:767px) {
  .Message-profile__middle p {
    margin-top: 6px;
  }
}

.Message-profile__middle a {
  text-decoration: underline;
}

.Message-profile__bottom {
  color: #2C4A6E;
  margin-top: 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  margin-top: 40px;
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
  font-weight: 400;
}
@media screen and (max-width:767px) {
  .Message-profile__bottom {
    margin-top: 12px;
    display: block;
    font-size: 0.625rem;
  }
}

.Message-profile__txt {
  width: 100%;
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
  font-weight: 400;
}
@media screen and (max-width:767px) {
  .Message-profile__txt {
    font-size: 0.625rem;
  }
}

.Message-profile__txt h3,
.Message-profile__txt h4,
.Message-profile__title {
  font-size: 14px;
  font-size: 0.875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 500;
}
@media screen and (max-width:767px) {
  .Message-profile__txt h3,
  .Message-profile__txt h4,
  .Message-profile__title {
    font-size: 0.625rem;
  }
}

@media screen and (max-width:767px) {
  .Message-profile__txt:nth-child(2) h3 {
    margin-top: 6px;
  }
}

.Message-profile__txt h3:after,
.Message-profile__txt h4:after,
.Message-profile__title::after {
  border-top: 1px solid;
  content: "";
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}

.Message-profile__txt h3:after,
.Message-profile__txt h4:after {
  margin-left: 0.5em;
}

@media screen and (max-width:767px) {
  .Message-profile__txt p {
    margin-top: 6px;
  }
}

.Message-profile__txt p a {
  text-decoration: underline;
}

.message .child-container {
  margin-left: auto;
  margin-right: auto;
}

.message .Message-profile__name::before {
  right: -34px;
}
@media screen and (max-width:767px) {
  .message .Message-profile__name::before {
    right: 0px;
  }
}

/* ----------------------------------------
sub-doctor
---------------------------------------- */
.sub-doctor__list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 48px;
}
@media screen and (max-width:767px) {
  .sub-doctor__list {
    grid-template-columns: 1fr;
  }
}

.sub-doctor__con img {
  width: 100%;
  height: auto;
  aspect-ratio: 280/345;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (max-width:767px) {
  .sub-doctor__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (max-width:767px) {
  .sub-doctor__con img {
    width: 40%;
  }
}

@media screen and (max-width:767px) {
  .sub-doctor__con .sub-doctor__profile {
    margin-top: 3em;
    margin-left: 1em;
  }
}

.sub-doctor__profile {
  line-height: 1.5;
}

.sub-doctor__title {
  margin: 1em 0 0.2em;
  font-size: 12px;
  font-size: 0.75rem;
  color: #2C4A6E;
}

.sub-doctor__name {
  font-size: 16px;
  font-size: 1rem;
  margin: 0.1em 0 0.2em;
}

.sub-doctor__text {
  font-size: 12px;
  font-size: 0.75rem;
  margin: 0.5em 0;
}
@media screen and (max-width:767px) {
  .sub-doctor__text {
    margin-top: 1em;
  }
}

.sub-doctor__wrap .Message-profile__txt h4,
.post-contents .supervisor .Message-profile__middle .Message-profile__title {
  color: #2C4A6E;
  font-size: 10px;
  font-size: 0.625rem;
  margin-top: 1em;
  padding-top: 0;
  border-top: none;
}

.Message-profile__txt h4:after,
.Message-profile__title::after {
  border-top: 1px solid #2C4A6E;
  margin-left: 0.5em;
}

.sub-doctor__wrap .Message-profile__txt ul,
.Message-profile__txt ul,
main .post-contents .post-contents-blocks .Message-profile__txt ul {
  color: #2C4A6E;
  font-size: 12px;
  font-size: 0.75rem;
  list-style: disc;
  padding-left: 1.3em;
  margin-top: 0;
}

.sub-doctor__wrap .Message-profile__txt ul li,
main .Message-profile__txt ul:not(.column__archive) li {
  text-indent: 0em;
  font-size: 12px;
  padding: 0;
}

main .post-contents .post-contents-blocks .Message-profile__txt ul:not(.column__archive) li::before {
  content: none;
}

.sub-doctor__wrap .Message-profile__txt ul a,
.Message-profile__txt ul a {
  text-decoration: underline;
}

/* C1: 旗の台 院長画像・名前のレイアウト調整 */
.message__top .message__left img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
  width: 100%;
  height: auto;
  max-width: none;
  aspect-ratio: 395/487;
}

.message__top .message__left img.sp-block {
  aspect-ratio: 1/1;
}

/* C1-fix (#4066): SP の写真は基底どおり 50%。100% だと flex 行から氏名がはみ出す。
   実機 iPhone は画像ロード後に min-width:auto の自動最小サイズで縮まなくなり 102px はみ出す。 */
@media (max-width: 767px) {
  .message__top .message__left img {
    width: 50%;
  }
  .massage__text {
    min-width: 0;
  }
}

.message__top .message__left .message__name {
  letter-spacing: 0.02em;
  white-space: nowrap;
  word-wrap: break-word;
  word-break: keep-all;
}

@media (max-width: 767px) {
  .message__top .message__left .message__name {
    font-size: 1.4rem;
    letter-spacing: 0.05em;
  }
}
/* ----------------------------------------
first mv
---------------------------------------- */
.is-first {
  background-image: url(../img/h1-first.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
}
@media screen and (max-width:767px) {
  .is-first {
    background-image: url(../img/h1-first-sp.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;
  }
}

/* ----------------------------------------
first section
---------------------------------------- */
.Message.page__section {
  padding-top: 240px;
}
@media screen and (max-width:767px) {
  .Message.page__section {
    padding-top: 120px;
  }
}

.time.page__section {
  padding-top: 240px;
}
@media screen and (max-width:767px) {
  .time.page__section {
    padding-top: 120px;
  }
}

.cta.page__section {
  padding-top: 240px;
}
@media screen and (max-width:767px) {
  .cta.page__section {
    padding-top: 120px;
  }
}

.access.page__section {
  padding-top: 240px;
}
@media screen and (max-width:767px) {
  .access.page__section {
    padding-top: 120px;
  }
}

.route.page__section {
  padding-top: 240px;
}
@media screen and (max-width:767px) {
  .route.page__section {
    padding-top: 120px;
  }
}

.pay.page__section {
  padding-top: 240px;
}
@media screen and (max-width:767px) {
  .pay.page__section {
    padding-top: 120px;
  }
}

/* ----------------------------------------
cta
---------------------------------------- */
.cta__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 720px;
  width: 92%;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  text-align: center;
  white-space: nowrap;
  font-weight: 500;
  margin-left: auto;
  margin-right: auto;
  font-weight: 500;
}

.cta__wrap > a > .cta__text {
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media screen and (max-width:767px) {
  .cta__wrap > a > .cta__text {
    top: 44%;
  }
}

.cta__top, .cta__tel, .cta__bottom-right {
  border: 2px solid #000;
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width:767px) {
  .cta__top, .cta__tel, .cta__bottom-right {
    border: 1px solid #000;
  }
}

.cta__top {
  background-image: url(../img/line-bg.jpg);
  max-width: 460px;
  width: 100%;
  height: 140px;
  border-radius: 100px;
  color: #fff;
}
@media screen and (max-width:767px) {
  .cta__top {
    height: 100px;
    border-radius: 100px;
    max-width: 248px;
  }
}

.cta__tel, .cta__bottom-right {
  max-width: 340px;
  width: 100%;
  height: 160px;
  border-radius: 80px;
  margin-top: 40px;
}
@media screen and (max-width:767px) {
  .cta__tel, .cta__bottom-right {
    max-width: 248px;
    width: 90%;
    height: 94px;
    border-radius: 47px;
    margin-top: 24px;
  }
}

.cta__tel {
  color: #FF0000;
  background-color: #fff;
}

.cta__bottom-right {
  background-image: url(../img/web-bg.jpg);
}

.cta__top, .cta__bottom-right {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}

/* ----------------------------------------
cta text
---------------------------------------- */
.cta__top .cta__read {
  font-size: 16px;
  font-size: 1rem;
  letter-spacing: 0.08em;
  font-weight: 500;
}
@media screen and (max-width:767px) {
  .cta__top .cta__read {
    font-size: 0.6875rem;
  }
}

.cta__tel .cta__read {
  font-size: 14px;
  font-size: 0.875rem;
  letter-spacing: 0.08em;
  line-height: 1.5;
  font-weight: 500;
}
@media screen and (max-width:767px) {
  .cta__tel .cta__read {
    line-height: 1;
    font-size: 0.75rem;
  }
}

.cta__bottom-right .cta__read {
  font-size: 14px;
  font-size: 0.875rem;
  letter-spacing: 0.08em;
  font-weight: 500;
}
@media screen and (max-width:767px) {
  .cta__bottom-right .cta__read {
    line-height: 1;
    font-size: 0.625rem;
  }
}

.cta__txt-web {
  margin-top: 0.5em;
  font-size: 26px;
  font-size: 1.625rem;
  letter-spacing: 0.23em;
  display: block;
}
@media screen and (max-width:767px) {
  .cta__txt-web {
    font-size: 1rem;
  }
}

.cta__txt-tel {
  font-size: 32px;
  font-size: 2rem;
  display: block;
  margin-top: 0.3em;
  letter-spacing: 0.08em;
  text-align: center;
}
@media screen and (max-width:767px) {
  .cta__txt-tel {
    font-size: 1.1875rem;
  }
}

.cta__txt-line {
  display: block;
  margin-top: 0.5em;
  font-size: 24px;
  font-size: 1.5rem;
  letter-spacing: 0.06em;
}
@media screen and (max-width:767px) {
  .cta__txt-line {
    font-size: 1rem;
  }
}

/* ----------------------------------------
feature mv
---------------------------------------- */
.is-feature {
  background-image: url(../img/h1-feature.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
}
@media screen and (max-width:767px) {
  .is-feature {
    background-image: url(../img/h1-feature-sp.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;
  }
}

/* ----------------------------------------
feature
---------------------------------------- */
.first {
  max-width: 920px;
}

.first__logo {
  display: block;
  max-width: 380px;
  width: 80%;
  height: auto;
  margin: 0 auto 100px;
}
@media screen and (max-width:767px) {
  .first__logo {
    margin: 0 auto 40px;
  }
}

/* ----------------------------------------
feature
---------------------------------------- */
.feature__con {
  position: relative;
}
@media screen and (max-width:767px) {
  .feature__con {
    max-width: 100%;
    width: 100%;
  }
}

.feature__con:nth-of-type(n+2) {
  margin-top: 64px;
}
@media screen and (max-width:767px) {
  .feature__con:nth-of-type(n+2) {
    margin-top: 18px;
  }
}

.feature__img {
  position: relative;
}

.feature__img img {
  display: block;
  width: 100%;
  height: auto;
}

.feature__img .wave {
  position: absolute;
  width: 100%;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  top: -30px;
  left: 0;
}

@media screen and (max-width:767px) {
  .feature__txt {
    width: 92%;
    margin-left: auto;
    margin-right: auto;
  }
}

/* fix (#4066): 「アーブ」のアイコンを削除。
   icon-ice.png は なみなみ(自由が丘)の隣接店「ハーブアイススタンド erb」の
   かき氷カップのイラストで、旗の台とは無関係。footer のリンクは 2026-08-17 に
   削除済みだったが、この装飾アイコンだけ TOP の特徴スライダー・/feature/・/first/ の
   3箇所に残っていた（::after の擬似要素なので画像タグの grep では見つからなかった）。
   画像ファイル自体は残している（削除は承認ゲート）。 */

.feature__txt h3 {
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: 500;
  line-height: 1.5;
  margin-top: 24px;
  letter-spacing: 0.12em;
}
@media screen and (max-width:767px) {
  .feature__txt h3 {
    margin-top: 12px;
    font-size: 0.9375rem;
  }
}

.feature__txt p {
  margin-top: 18px;
  line-height: 2;
  font-size: 19px;
  font-size: 1.1875rem;
  position: relative;
  z-index: 5;
}
@media screen and (max-width:767px) {
  .feature__txt p {
    margin-top: 8px;
    font-size: 0.6875rem;
  }
}

/* ----------------------------------------
attempt / medical
---------------------------------------- */
.page__section#medical {
  max-width: 900px;
}

.attempt__wrap, .medical__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.attempt__con, .medical__con {
  max-width: 400px;
  width: 100%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
  margin-top: 48px;
}
@media screen and (max-width:767px) {
  .attempt__con, .medical__con {
    margin-top: 36px;
  }
}

.medical__con {
  max-width: 380px;
}

.attempt__con:nth-child(n+3) {
  margin-top: 40px;
}

@media screen and (max-width:767px) {
  .attempt__con:nth-child(n+2) {
    margin-top: 40px;
  }
}

.attempt__con img, .medical__con img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 20px;
}
@media screen and (max-width:767px) {
  .attempt__con img, .medical__con img {
    border-radius: 10px;
  }
}

.medical__con img {
  border-radius: 0px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width:767px) {
  .medical__con img {
    width: 70%;
    border-radius: 0px;
  }
}

.attempt__con p {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.5;
  margin-top: 1em;
}
@media screen and (max-width:767px) {
  .attempt__con p {
    font-size: 0.875rem;
  }
}

.medical__con p {
  font-size: 21px;
  font-size: 1.3125rem;
  line-height: 1.8;
  margin-top: 1em;
  letter-spacing: 0.1em;
  padding-left: 1em;
  padding-right: 1em;
}
@media screen and (max-width:767px) {
  .medical__con p {
    font-size: 0.875rem;
  }
}

.medical__con:nth-child(1) {
  color: #B6807F;
}

.medical__con:nth-child(2) {
  color: #4A8090;
}

.medical__con:nth-child(3) {
  color: #718889;
}

.medical__con:nth-child(4) {
  color: #B1808C;
}

.medical__con img {
  display: block;
  width: 80%;
  height: auto;
  margin: 0 auto;
}

/* ----------------------------------------
online
---------------------------------------- */
@media screen and (max-width:767px) {
  .online__container {
    width: 100%;
  }
}

.online__text {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 2;
  margin-top: 1em;
  letter-spacing: 0.1em;
}
@media screen and (max-width:767px) {
  .online__text {
    margin-top: 2em;
    font-size: 0.875rem;
  }
}

.online__points {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 60px;
  margin-top: 42px;
}
@media screen and (max-width:767px) {
  .online__points {
    margin-top: 36px;
    display: block;
  }
}

.online__points li {
  display: block;
  width: calc(100% - 30px);
}
@media screen and (max-width:767px) {
  .online__points li {
    width: 100%;
  }
}

@media screen and (max-width:767px) {
  .online__points li:nth-child(2) {
    margin-top: 24px;
  }
}

.online__points li span {
  font-size: 20px;
  font-size: 1.25rem;
  letter-spacing: 0.25em;
  line-height: 1.5;
  font-weight: 500;
  color: #437C80;
}
@media screen and (max-width:767px) {
  .online__points li span {
    font-size: 0.6875rem;
  }
}

.online__points li h3 {
  font-size: 26px;
  font-size: 1.625rem;
  line-height: 1.5;
  letter-spacing: 0.12em;
  color: #437C80;
  margin-bottom: 0.5em;
  font-weight: 500;
}
@media screen and (max-width:767px) {
  .online__points li h3 {
    font-size: 0.875rem;
  }
}

.online__points li .online__obj {
  height: 16px;
  background-image: url(../img/online-bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
@media screen and (max-width:767px) {
  .online__points li .online__obj {
    height: 8px;
  }
}

.online__points li p {
  font-size: 14px;
  font-size: 0.875rem;
  margin-top: 0.5em;
  line-height: 1.8;
}

.online_btn {
  margin: 80px auto 0;
  background-color: #B5C5C2;
}
@media screen and (max-width:767px) {
  .online_btn {
    margin: 64px auto 0;
  }
}

/* ----------------------------------------
access mv
---------------------------------------- */
.is-access {
  background-image: url(../img/h1-access.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
}
@media screen and (max-width:767px) {
  .is-access {
    background-image: url(../img/h1-access-sp.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;
  }
}

/* ----------------------------------------
route
---------------------------------------- */
.route__title {
  font-size: 22px;
  font-size: 1.375rem;
  letter-spacing: 0.5em;
  color: #468096;
  text-align: center;
  font-weight: 500;
  margin-top: 100px;
  line-height: 1.5;
}
@media screen and (max-width:767px) {
  .route__title {
    letter-spacing: 0.2em;
    font-size: 1rem;
    margin-top: 80px;
    line-height: 2;
  }
}

.route__wrap {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 48px 18px;
  margin-top: 64px;
}
@media screen and (max-width:767px) {
  .route__wrap {
    grid-template-columns: 1fr 1fr;
    gap: 18px 20px;
    margin-top: 40px;
  }
}

.route__con img {
  display: block;
  width: 100%;
  height: auto;
}
.route__con p {
  margin-top: 10px;
  display: block;
  text-indent: -29px;
  padding-left: 36px;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.3333333333;
}
@media screen and (max-width:767px) {
  .route__con p {
    margin-top: 4px;
    text-indent: -16px;
    padding-left: 18px;
    font-size: 0.75rem;
  }
}

.route__con p span {
  font-size: 40px;
  font-size: 2.5rem;
  font-weight: 500;
  color: #468096;
}
@media screen and (max-width:767px) {
  .route__con p span {
    font-size: 1.375rem;
  }
}

/* ----------------------------------------
photo
---------------------------------------- */
@media screen and (max-width:767px) {
  .clinic-photo {
    grid-template-columns: 1fr;
  }
}

/* ----------------------------------------
price mv
---------------------------------------- */
.is-price {
  background-image: url(../img/h1-price.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
}
@media screen and (max-width:767px) {
  .is-price {
    background-image: url(../img/h1-price-sp.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;
  }
}

/* ----------------------------------------
pay
---------------------------------------- */
.pay__variation {
  font-size: 24px;
  font-size: 1.5rem;
  padding-bottom: 14px;
  border-bottom: 1px solid #000;
  letter-spacing: 0.13em;
  font-weight: 500;
  margin-top: 100px;
}
@media screen and (max-width:767px) {
  .pay__variation {
    font-size: 0.8125rem;
    padding-bottom: 7px;
    margin-top: 40px;
  }
}

.pay p {
  margin-top: 0.5em;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 2;
}
@media screen and (max-width:767px) {
  .pay p {
    margin-top: 0.8em;
    font-size: 0.75rem;
  }
}

.pay img.pay-more {
  width: 100%;
  height: auto;
}

.pay img {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 65px;
  margin-top: 14px;
  max-width: 100%;
}
@media screen and (max-width:767px) {
  .pay img {
    height: auto;
    margin-top: 7px;
    width: 100%;
  }
}

/* ----------------------------------------
price
---------------------------------------- */
.price__title {
  margin-top: 100px;
  text-align: center;
  font-size: 28px;
  font-size: 1.75rem;
  font-weight: 500;
  letter-spacing: 0.25em;
  color: #C48880;
}
@media screen and (max-width:767px) {
  .price__title {
    margin-top: 80px;
    font-size: 1rem;
  }
}

.price__caution {
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.5;
  margin-top: 1em;
  text-align: right;
}
@media screen and (max-width:767px) {
  .price__caution {
    text-align: left;
    font-size: 0.625rem;
  }
}

/* ----------------------------------------
price table
---------------------------------------- */
.price__table {
  width: 100%;
  border-top: 1px solid #000;
  border-left: 1px solid #000;
  font-size: 14px;
  font-size: 0.875rem;
  margin-top: 8px;
}
@media screen and (max-width:767px) {
  .price__table {
    display: block;
    font-size: 0.75rem;
    border-top: unset;
    border-bottom: 1px solid #000;
    border-right: 1px solid #000;
  }
}

.price__table thead {
  background: #fff;
}
@media screen and (max-width:767px) {
  .price__table thead {
    display: none;
  }
}

.price__table thead tr th {
  border-bottom: 1px solid #000;
  border-right: 1px solid #000;
  text-align: center;
  font-weight: 400;
}

@media screen and (max-width:767px) {
  .price__table tbody {
    display: block;
  }
}

/*===== rowspan制御 =====*/
.price__table:not(.is-intima):not(.is-supplement) tbody tr:nth-child(even) {
  background-color: #DBD8D4;
}
@media screen and (max-width:767px) {
  .price__table:not(.is-intima):not(.is-supplement) tbody tr:nth-child(even) {
    background-color: inherit;
  }
}

/*===== rowspan制御 インティマレーザー =====*/
.price__table tbody tr.is-even {
  background-color: #DBD8D4;
}
@media screen and (max-width:767px) {
  .price__table tbody tr.is-even {
    background-color: inherit;
  }
}

/*===== rowspan制御 サプリメント =====*/
.price__table tbody tr.is-even {
  background-color: #DBD8D4;
}
@media screen and (max-width:767px) {
  .price__table tbody tr.is-even {
    background-color: inherit;
  }
}

@media screen and (max-width:767px) {
  .price__table tbody tr {
    display: block;
    width: 100%;
  }
}

.price__table tbody tr td {
  border-bottom: 1px solid #000;
  border-right: 1px solid #000;
  vertical-align: middle;
}
@media screen and (max-width:767px) {
  .price__table tbody tr td {
    display: block;
    width: 100%;
    border-bottom: none;
    border-right: none;
    line-height: 1.5;
    vertical-align: inherit;
  }
}

@media screen and (max-width:767px) {
  .price__table tbody tr td:first-child {
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    padding: 4px 12px;
    background-color: #DBD8D4;
  }
}

@media screen and (max-width:767px) {
  .price__table tbody tr td:nth-child(2):not(:first-child) {
    padding: 8px 12px 0;
  }
}

@media screen and (max-width:767px) {
  .price__table tbody tr td:not(:first-child) {
    padding: 4px 12px 0;
  }
}

.price__table tbody tr td:last-child:not(:first-child), .price__table tbody tr td.is-price-td {
  font-weight: 500;
  text-align: right;
}
@media screen and (max-width:767px) {
  .price__table tbody tr td:last-child:not(:first-child), .price__table tbody tr td.is-price-td {
    padding-bottom: 8px;
    text-align: left;
  }
}

.price__table thead tr th, .price__table tbody tr td {
  padding: 10px 18px;
}
@media screen and (max-width:767px) {
  .price__table thead tr th, .price__table tbody tr td {
    padding: 0;
  }
}

/* ----------------------------------------
media-contact mv
---------------------------------------- */
.is-media-contact {
  background-image: url(../img/h1-media-contact.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
}
@media screen and (max-width:767px) {
  .is-media-contact {
    background-image: url(../img/h1-media-contact-sp.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;
  }
}

/* ----------------------------------------
media-contact
---------------------------------------- */
.media-contact__wrap .page__section:last-of-type {
  padding-top: 48px;
}
@media screen and (max-width:767px) {
  .media-contact__wrap .page__section:last-of-type {
    padding-top: 0;
  }
}

.media-contact__description {
  margin: 2em auto 0;
  font-size: 22px;
  font-size: 1.375rem;
  line-height: 1.8;
  color: #2C4A70;
  font-weight: 500;
}
@media screen and (max-width:767px) {
  .media-contact__description {
    font-size: 0.875rem;
    width: 92%;
    text-align: center;
    padding-bottom: 40px;
    border-bottom: 1px solid #000;
  }
}

/* ----------------------------------------
media-contact form
---------------------------------------- */
.media-contact__wrap .form__title span {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 2;
  display: block;
}
@media screen and (max-width:767px) {
  .media-contact__wrap .form__title span {
    font-size: 0.75rem;
  }
}

.media-contact__wrap .form__bottom input[type=submit] {
  background: #ADB3C6;
}

.wpcf7-spinner {
  display: none;
}

/* ----------------------------------------
recruit mv
---------------------------------------- */
.is-recruit {
  background-image: url(../img/h1-recruit.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
}
@media screen and (max-width:767px) {
  .is-recruit {
    background-image: url(../img/h1-recruit-sp.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;
  }
}

/* ----------------------------------------
recruit info
---------------------------------------- */
.recruit-info__wrap {
  display: grid;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 50px;
  grid-template-columns: 1fr 1fr;
}
@media screen and (max-width:767px) {
  .recruit-info__wrap {
    gap: 24px;
    grid-template-columns: 1fr;
  }
}

.recruit-info__con {
  width: 100%;
  margin: 0 auto;
  background-color: #fff;
  border-radius: 15px;
  overflow: hidden;
}
@media screen and (max-width:767px) {
  .recruit-info__con {
    border-radius: 8px;
  }
}

.recruit-info__variation {
  text-align: center;
  font-size: 22px;
  font-size: 1.375rem;
  letter-spacing: 0.5em;
  font-weight: 500;
  padding: 14px 0;
  border-bottom: 2px solid #E2E2DD;
  color: #468096;
}
@media screen and (max-width:767px) {
  .recruit-info__variation {
    font-size: 0.875rem;
    padding: 10px 0;
    border-bottom: 1px solid #E2E2DD;
  }
}

.recruit-info__list {
  padding: 24px 20px;
  font-weight: 18px;
  font-weight: 1.125rem;
  line-height: 2;
}
@media screen and (max-width:767px) {
  .recruit-info__list {
    padding: 16px 10px;
    font-weight: 0.875rem;
  }
}

.recruit-info__list li {
  position: relative;
  text-indent: -1.2em;
  padding-left: 1em;
}

.recruit-info__list li::before {
  content: "・ ";
}

.recruit-info__list li a {
  text-decoration: underline;
}

/* ----------------------------------------
recruit frow
---------------------------------------- */
.recruit-frow__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  row-gap: 18px;
}

.recruit-frow__wrap li {
  display: block;
  max-width: 234px;
  width: 100%;
  aspect-ratio: 237.78/168.82;
  height: auto;
  background-image: url(../img/recruit-frow-bg.svg);
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}
@media screen and (max-width:767px) {
  .recruit-frow__wrap li {
    background-image: url(../img/recruit-frow-bg-sp.svg);
    max-width: 200px;
    aspect-ratio: 400/285.26;
    margin: 0 auto;
  }
}

.recruit-frow__wrap li .recruit-frow__step {
  position: absolute;
  top: 12px;
  left: 20px;
  font-size: 14px;
  font-size: 0.875rem;
  letter-spacing: 0.12em;
  display: block;
  color: #CF8069;
  font-weight: 500;
}
@media screen and (max-width:767px) {
  .recruit-frow__wrap li .recruit-frow__step {
    top: 6px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    font-size: 0.625rem;
  }
}

.recruit-frow__wrap li h3 {
  position: absolute;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  top: 50%;
  left: 48%;
  white-space: nowrap;
  font-size: 28px;
  font-size: 1.75rem;
  letter-spacing: 0.35em;
  font-weight: 500;
}
@media screen and (max-width:767px) {
  .recruit-frow__wrap li h3 {
    font-size: 1rem;
    top: 45%;
    left: 50%;
  }
}

.recruit-frow__link {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 96px auto 0;
  text-align: center;
}
.recruit-frow__link p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1.6;
  margin: 0 auto;
  letter-spacing: 0.05em;
  font-weight: 500;
}
@media screen and (max-width:767px) {
  .recruit-frow__link p {
    font-size: 0.75rem;
  }
}

.recruit-frow__link p::before {
  background-image: url(../img/recruit-line-left.svg);
}

.recruit-frow__link p::after {
  background-image: url(../img/recruit-line-right.svg);
}

.recruit-frow__link p::before, .recruit-frow__link p::after {
  content: "";
  width: 20.84px;
  height: auto;
  display: block;
  aspect-ratio: 20.84/47.92;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom center;
  -webkit-transform: translateY(10%);
          transform: translateY(10%);
}
@media screen and (max-width:767px) {
  .recruit-frow__link p::before, .recruit-frow__link p::after {
    width: 12.84px;
    -webkit-transform: translateY(18%);
            transform: translateY(18%);
  }
}

.recruit-frow__link .recruit__btn {
  margin-top: 8px;
  letter-spacing: 0.08em;
  font-weight: 500;
}
@media screen and (max-width:767px) {
  .recruit-frow__link .recruit__btn {
    margin-top: 12px;
  }
}

.recruit__btn {
  background-color: #C7D8CC;
}
@media screen and (max-width:767px) {
  .recruit__btn {
    background-color: #ECEAE6;
  }
}

/* ----------------------------------------
service mv
---------------------------------------- */
.is-service {
  background-image: url(../img/h1-service.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
}
@media screen and (max-width:767px) {
  .is-service {
    background-image: url(../img/h1-service-sp.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;
  }
}

/* ----------------------------------------
service wrap
---------------------------------------- */
.service__wrap .child-container {
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width:767px) {
  .service__wrap .Menu_search-title.is-top {
    padding-top: 0;
  }
}

.service__wrap .Menu__category {
  display: block;
}

.service__wrap .Menu__category .Menu__category--title {
  -webkit-writing-mode: inherit;
      -ms-writing-mode: inherit;
          writing-mode: inherit;
  text-align: center;
  margin-bottom: 1em;
  padding: 0;
}

/* ----------------------------------------
service blocks
---------------------------------------- */
.service-child .supervisor {
  margin: 0 auto;
}

.page__section.service-child.container05.post-contents {
  padding-top: 64px;
}
@media screen and (max-width:767px) {
  .page__section.service-child.container05.post-contents {
    padding-top: 48px;
  }
}

.post-contents .post-contents-blocks.service-child .service__first__content {
  max-width: 820px;
  width: 100%;
  margin: 0px auto 1em;
  font-size: 26px;
  font-size: 1.625rem;
  line-height: 1.2307692308;
  letter-spacing: 0.03em;
  font-weight: 500;
}
@media screen and (max-width:767px) {
  .post-contents .post-contents-blocks.service-child .service__first__content {
    font-size: 0.9375rem;
  }
}
.post-contents .post-contents-blocks.service-child .service__first__content .service__first__content-span {
  border-top: #32939C 1px solid;
  border-bottom: #32939C 1px solid;
  height: 6px;
  display: block;
  width: 100%;
}
@media screen and (max-width:767px) {
  .post-contents .post-contents-blocks.service-child .service__first__content .service__first__content-span {
    height: 3px;
  }
}
.post-contents .post-contents-blocks.service-child .service__first__content p {
  margin: 1.5em auto;
  display: block;
  max-width: 620px;
  width: 91.1764705882%;
}
.post-contents .post-contents-blocks.service-child h2, .post-contents .post-contents-blocks.service-child h3, .post-contents .post-contents-blocks.service-child h4 {
  letter-spacing: 0.125em;
}
.post-contents .post-contents-blocks.service-child p, .post-contents .post-contents-blocks.service-child ul li, .post-contents .post-contents-blocks.service-child ol li {
  font-size: 20px;
  font-size: 1.25rem;
}
@media screen and (max-width:767px) {
  .post-contents .post-contents-blocks.service-child p, .post-contents .post-contents-blocks.service-child ul li, .post-contents .post-contents-blocks.service-child ol li {
    font-size: 0.875rem;
  }
}
.post-contents .post-contents-blocks.service-child ul.check-list > li::before {
  width: 18px;
  top: 8px;
}
@media screen and (max-width:767px) {
  .post-contents .post-contents-blocks.service-child ul.check-list > li::before {
    width: 14px;
    top: 5px;
  }
}
.post-contents .post-contents-blocks.service-child h2 {
  border: none;
  background-color: #C4D4B2;
  padding: 8px 12px;
}
.post-contents .post-contents-blocks.service-child h3:not(.faq__question) {
  border-bottom: #D75828 1px solid;
  border-left: none;
  color: #D75828;
  padding-left: 0;
  padding-bottom: 8px;
}
.post-contents .post-contents-blocks.service-child .heading-box > h3, .post-contents .post-contents-blocks.service-child .heading-box > h4 {
  background-color: #DBACB8;
  color: rgba(0, 0, 0, 0);
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.5;
  padding: 8px 24px 8px 54px;
  color: #fff;
  border: none;
  position: relative;
}
@media screen and (max-width:767px) {
  .post-contents .post-contents-blocks.service-child .heading-box > h3, .post-contents .post-contents-blocks.service-child .heading-box > h4 {
    font-size: 0.875rem;
  }
}
.post-contents .post-contents-blocks.service-child .heading-box .heading-wrap, .post-contents .post-contents-blocks.service-child .comment-wrap, .post-contents .post-contents-blocks.service-child .check-box {
  background-color: #fff;
}
.post-contents .post-contents-blocks.service-child .is-reverse .comment-wrap::before, .post-contents .post-contents-blocks.service-child .comment-wrap::before {
  background-image: url(../img/comment-obj-white.svg);
}
.post-contents .post-contents-blocks.service-child img {
  max-width: 100%;
  margin-top: 20px;
}
.post-contents .post-contents-blocks.service-child .service-3col__wrap {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
}
@media screen and (max-width:767px) {
  .post-contents .post-contents-blocks.service-child .service-3col__wrap {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width:767px) {
  .post-contents .post-contents-blocks.service-child .service-3col__wrap .img-wrap {
    width: 50%;
  }
}
@media screen and (max-width:767px) {
  .post-contents .post-contents-blocks.service-child .service-col {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media screen and (max-width:767px) {
  .post-contents .post-contents-blocks.service-child .service-col__text, .post-contents .post-contents-blocks.service-child .service-2col-text {
    width: 48%;
  }
}
.post-contents .post-contents-blocks.service-child .service-col__text h3:not(.faq__question), .post-contents .post-contents-blocks.service-child .service-2col-text h3:not(.faq__question) {
  font-size: 22px;
  font-size: 1.375rem;
  margin-top: 1em;
  color: #000;
  border: none;
  padding: 0;
}
@media screen and (max-width:767px) {
  .post-contents .post-contents-blocks.service-child .service-col__text h3:not(.faq__question), .post-contents .post-contents-blocks.service-child .service-2col-text h3:not(.faq__question) {
    font-size: 0.875rem;
  }
}
.post-contents .post-contents-blocks.service-child .service-2col__wrap {
  margin-top: 44px;
}
.post-contents .post-contents-blocks.service-child .service-2col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 20px;
}
@media screen and (max-width:767px) {
  .post-contents .post-contents-blocks.service-child .service-2col {
    display: block;
  }
}
.post-contents .post-contents-blocks.service-child .is-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (max-width:767px) {
  .post-contents .post-contents-blocks.service-child .is-reverse {
    -webkit-box-orient: unset;
    -webkit-box-direction: unset;
        -ms-flex-direction: unset;
            flex-direction: unset;
  }
}
.post-contents .post-contents-blocks.service-child .service-2col > .img-wrap {
  width: 50%;
}
@media screen and (max-width:767px) {
  .post-contents .post-contents-blocks.service-child .service-2col > .img-wrap {
    width: 100%;
  }
}
.post-contents .post-contents-blocks.service-child .service-2col-text {
  width: 48%;
}
@media screen and (max-width:767px) {
  .post-contents .post-contents-blocks.service-child .service-2col-text {
    width: 100%;
  }
}
.post-contents .post-contents-blocks.service-child .service__table {
  margin-top: 64px;
  width: 100%;
}
.post-contents .post-contents-blocks.service-child .service__table tbody tr:not(:last-child) {
  border-bottom: 1px solid #000;
}
.post-contents .post-contents-blocks.service-child .service__table tbody tr th, .post-contents .post-contents-blocks.service-child .service__table tbody tr td {
  vertical-align: middle;
  padding: 40px 12px;
}
@media screen and (max-width:767px) {
  .post-contents .post-contents-blocks.service-child .service__table tbody tr th, .post-contents .post-contents-blocks.service-child .service__table tbody tr td {
    padding: 12px 12px;
  }
}
.post-contents .post-contents-blocks.service-child .service__table tbody tr th {
  width: 160px;
  text-align: center;
  font-weight: 400;
  border-right: 1px solid #000;
}
@media screen and (max-width:767px) {
  .post-contents .post-contents-blocks.service-child .service__table tbody tr th {
    width: 36%;
  }
}
.post-contents .post-contents-blocks.service-child .service__table tbody tr td {
  width: calc(100% - 160px);
}
@media screen and (max-width:767px) {
  .post-contents .post-contents-blocks.service-child .service__table tbody tr td {
    width: 64%;
  }
}

table code {
  font-size: 80%;
}

/* ----------------------------------------
関連コラムの表示
---------------------------------------- */
/* ----------------------------------------
column mv
---------------------------------------- */
.is-column {
  background-image: url(../img/h1-column.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
}
@media screen and (max-width:767px) {
  .is-column {
    background-image: url(../img/h1-column-sp.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;
  }
}

/* ----------------------------------------
column archive
---------------------------------------- */
.column__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 84px;
  gap: 24px;
  padding-bottom: 120px;
}
@media screen and (max-width:767px) {
  .column__wrap {
    display: block;
    margin-top: 48px;
    padding-bottom: 80px;
  }
}

.column__left {
  max-width: 680px;
  width: 100%;
}
@media screen and (max-width:767px) {
  .column__left {
    max-width: 100%;
  }
}

.column__right {
  max-width: 374px;
  width: 100%;
}
@media screen and (max-width:767px) {
  .column__right {
    max-width: 100%;
    margin-top: 40px;
  }
}

.column__box {
  background-color: #fff;
  padding: 48px 42px;
}
@media screen and (max-width:767px) {
  .column__box {
    padding: 24px 12px;
  }
}

.column__archive-title {
  font-size: 24px;
  font-size: 1.5rem;
  letter-spacing: 0.225em;
  color: #43798D;
  margin-bottom: 24px;
  margin-top: 80px;
  font-weight: 500;
}
@media screen and (max-width:767px) {
  .column__archive-title {
    font-size: 1rem;
    margin-bottom: 18px;
    margin-top: 48px;
    text-align: center;
  }
}

.column__archive-title:first-child {
  margin-top: 0;
}

@media screen and (max-width:767px) {
  .column__btn {
    margin-top: 24px;
  }
}

/* ----------------------------------------
column breadcrumb
---------------------------------------- */
.navigation.pagination {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
  font-weight: 500;
}

.nav-links {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 84px auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5em;
}

.page-numbers:not(.prev):not(.next) {
  text-align: center;
  aspect-ratio: 1/1;
  border-radius: 50%;
  display: block;
  width: 20px;
  height: auto;
}

.page-numbers.current {
  border: 1px solid #000;
}

.prev.page-numbers, .next.page-numbers {
  position: relative;
}

.prev.page-numbers::after, .next.page-numbers::after {
  position: absolute;
  content: "";
  background-image: url(../img/arrow-right.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 14px;
  height: 10px;
  top: 4px;
}

.prev.page-numbers {
  padding-left: 18px;
}

.next.page-numbers {
  padding-right: 18px;
}

.prev.page-numbers::after {
  left: 0;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.next.page-numbers::after {
  right: 0;
}

/* ----------------------------------------
column card max
---------------------------------------- */
.p-pageColumn__articlesFigure img, .p-sidebar__articleFigure img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 246/173;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-pageColumn__articlesItem {
  margin-top: 24px;
  list-style-type: none;
}
@media screen and (max-width:767px) {
  .p-pageColumn__articlesItem {
    margin-top: 18px;
  }
}

.p-pageColumn__articlesItem:first-of-type {
  margin-top: 0;
}

.p-pageColumn__articlesItem a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width:767px) {
  .p-pageColumn__articlesItem a {
    width: 100%;
  }
}

.p-pageColumn__articlesItem a .p-pageColumn__articlesFigure {
  display: block;
  width: 38.3191511001%;
}
@media screen and (max-width:767px) {
  .p-pageColumn__articlesItem a .p-pageColumn__articlesFigure {
    width: 40%;
  }
}

.p-pageColumn__articlesDesc {
  width: 57.632979625%;
}
@media screen and (max-width:767px) {
  .p-pageColumn__articlesDesc {
    width: 56.6666666667%;
  }
}

.p-pageColumn__articlesDesc .p-pageColumn__articlesCat {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1;
  padding: 4px 8px;
  background-color: #53855F;
  color: #fff;
  font-weight: 500;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 11px;
  letter-spacing: 0.112em;
}
@media screen and (max-width:767px) {
  .p-pageColumn__articlesDesc .p-pageColumn__articlesCat {
    font-size: 0.625rem;
    border-radius: 9px;
  }
}

.p-pageColumn__dates {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
  margin-top: 1em;
  font-size: 12px;
  font-size: 0.75rem;
}
@media screen and (max-width:767px) {
  .p-pageColumn__dates {
    margin-top: 1em;
    font-size: 0.75rem;
  }
}

.p-pageColumn__dates .c-articleDates__modified {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width:767px) {
  .p-pageColumn__dates .c-articleDates__modified:last-child {
    display: none;
  }
}

.p-pageColumn__dates .c-articleDates__modified .c-articleDates__modifiedTtl {
  letter-spacing: 0.112em;
  text-decoration: none;
  color: #000;
  margin-top: 0;
  line-height: inherit;
  font-size: inherit;
}
.p-pageColumn__dates .c-articleDates__modified .c-articleDates__modifiedNum {
  text-decoration: none;
  color: #000;
  letter-spacing: 0.112em;
}

.p-pageColumn__articlesTitle {
  font-size: 14px;
  font-size: 0.875rem;
  margin-top: 1em;
  line-height: 2;
  text-decoration: none;
  color: #000;
  letter-spacing: 0.08em;
}
@media screen and (max-width:767px) {
  .p-pageColumn__articlesTitle {
    font-size: 0.875rem;
    margin-top: 0.3em;
    line-height: 1.5;
  }
}

.post-contents .post-contents-blocks.service-child {
  /* ----------------------------------------
  column card max
  ---------------------------------------- */
}
.post-contents .post-contents-blocks.service-child .p-pageColumn__articlesFigure img, .post-contents .post-contents-blocks.service-child .p-sidebar__articleFigure img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 246/173;
  -o-object-fit: cover;
     object-fit: cover;
  margin-top: 0;
}
.post-contents .post-contents-blocks.service-child li.p-pageColumn__articlesItem::before {
  content: none;
}
.post-contents .post-contents-blocks.service-child li.p-pageColumn__articlesItem {
  margin: 24px auto 0;
  list-style-type: none;
  text-indent: 0;
  padding-left: 0;
  background-color: #fff;
  padding: 20px 24px 16px 24px;
  border-radius: 20px;
  max-width: 630px;
  width: 100%;
}
@media screen and (max-width:767px) {
  .post-contents .post-contents-blocks.service-child li.p-pageColumn__articlesItem {
    margin: 18px auto 0;
    background-color: unset;
    padding: 0;
  }
}
.post-contents .post-contents-blocks.service-child .p-pageColumn__articlesItem:first-of-type {
  margin-top: 0;
}
.post-contents .post-contents-blocks.service-child .p-pageColumn__articlesItem a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width:767px) {
  .post-contents .post-contents-blocks.service-child .p-pageColumn__articlesItem a {
    width: 100%;
  }
}
.post-contents .post-contents-blocks.service-child .p-pageColumn__articlesItem a .p-pageColumn__articlesFigure {
  display: block;
  width: 38.3191511001%;
}
@media screen and (max-width:767px) {
  .post-contents .post-contents-blocks.service-child .p-pageColumn__articlesItem a .p-pageColumn__articlesFigure {
    width: 40%;
  }
}
.post-contents .post-contents-blocks.service-child .p-pageColumn__articlesDesc {
  width: 57.632979625%;
}
@media screen and (max-width:767px) {
  .post-contents .post-contents-blocks.service-child .p-pageColumn__articlesDesc {
    width: 56.6666666667%;
  }
}
.post-contents .post-contents-blocks.service-child .p-pageColumn__articlesDesc .p-pageColumn__articlesCat {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1;
  padding: 4px 8px;
  background-color: #53855F;
  color: #fff;
  font-weight: 500;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 11px;
  letter-spacing: 0.112em;
}
@media screen and (max-width:767px) {
  .post-contents .post-contents-blocks.service-child .p-pageColumn__articlesDesc .p-pageColumn__articlesCat {
    font-size: 0.625rem;
    border-radius: 9px;
  }
}
.post-contents .post-contents-blocks.service-child .p-pageColumn__dates {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
  margin-top: 1em;
  font-size: 12px;
  font-size: 0.75rem;
}
@media screen and (max-width:767px) {
  .post-contents .post-contents-blocks.service-child .p-pageColumn__dates {
    margin-top: 0.2em;
    font-size: 0.75rem;
  }
}
.post-contents .post-contents-blocks.service-child .p-pageColumn__dates .c-articleDates__modified {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width:767px) {
  .post-contents .post-contents-blocks.service-child .p-pageColumn__dates .c-articleDates__modified:last-child {
    display: none;
  }
}
.post-contents .post-contents-blocks.service-child .p-pageColumn__dates .c-articleDates__modified .c-articleDates__modifiedTtl {
  letter-spacing: 0.112em;
  text-decoration: none;
  color: #000;
  margin-top: 0;
  line-height: inherit;
  font-size: inherit;
}
.post-contents .post-contents-blocks.service-child .p-pageColumn__dates .c-articleDates__modified .c-articleDates__modifiedNum {
  text-decoration: none;
  color: #000;
  letter-spacing: 0.112em;
}
.post-contents .post-contents-blocks.service-child .p-pageColumn__articlesTitle {
  font-size: 14px;
  font-size: 0.875rem;
  margin-top: 1em;
  line-height: 2;
  text-decoration: none;
  color: #000;
  letter-spacing: 0.08em;
}
@media screen and (max-width:767px) {
  .post-contents .post-contents-blocks.service-child .p-pageColumn__articlesTitle {
    font-size: 0.875rem;
    margin-top: 0.3em;
    line-height: 1.5;
  }
}
.post-contents .post-contents-blocks.service-child h3:not(.faq__question) {
  color: inherit;
  border: none;
}
.post-contents .post-contents-blocks.service-child a.column__btn:not(.p-pageColumn__articlesItem-a):not(.custom-btn) {
  color: inherit;
  text-decoration: none;
  margin-top: 24px;
}
@media screen and (max-width:767px) {
  .post-contents .post-contents-blocks.service-child a.column__btn:not(.p-pageColumn__articlesItem-a):not(.custom-btn) {
    margin-top: 18px;
  }
}

/* ----------------------------------------
column card min
---------------------------------------- */
.column-sidebar__box {
  background: #fff;
  padding: 24px 12px;
}

.column__box:nth-of-type(n+2), .column-sidebar__box:nth-of-type(n+2) {
  margin-top: 20px;
}

.p-sidebar__title {
  font-size: 20px;
  font-size: 1.25rem;
  letter-spacing: 0.225em;
  font-weight: 500;
  margin-bottom: 0.5em;
}
@media screen and (max-width:767px) {
  .p-sidebar__title {
    font-size: 1rem;
    margin-bottom: 18px;
    text-align: center;
  }
}

/* ----------------------------------------
column card min post
---------------------------------------- */
.p-sidebar__articlesFigure img, .p-sidebar__articleFigure img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 246/173;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-sidebar__articlesItem {
  margin-top: 32px;
}

.p-sidebar__articlesItem a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
}

.p-sidebar__articlesItem a .p-sidebar__articlesFigure {
  display: block;
  width: 40%;
}
.p-sidebar__articlesDesc {
  width: 56.6666666667%;
}
.p-sidebar__articlesDesc .p-sidebar__articlesCat {
  line-height: 1;
  padding: 4px 8px;
  background-color: #53855F;
  color: #fff;
  font-weight: 500;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 10px;
  font-size: 0.625rem;
  border-radius: 9px;
  letter-spacing: 0.112em;
}

.p-sidebar__dates {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
  margin-top: 0.3em;
  font-size: 12px;
  font-size: 0.75rem;
  letter-spacing: 0.112em;
}
.p-sidebar__dates .c-articleDates__modified {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-sidebar__dates .c-articleDates__modified .c-articleDates__modifiedTtl {
  letter-spacing: 0.112em;
}
.p-sidebar__articlesTitle {
  font-size: 14px;
  font-size: 0.875rem;
  margin-top: 0.3em;
  line-height: 1.5;
  letter-spacing: 0.08em;
}
/* ----------------------------------------
column card min category
---------------------------------------- */
.p-sidebar__categoryList {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.5;
  color: #53855F;
  margin-top: 1em;
}
@media screen and (max-width:767px) {
  .p-sidebar__categoryList {
    font-size: 0.875rem;
  }
}

.p-sidebar__categoryItem:nth-child(n+2) {
  margin-top: 0.5em;
}

/* ----------------------------------------
column card min search
---------------------------------------- */
.p-sidebar__searchForm {
  width: 100%;
  border: 1px solid #000;
  position: relative;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  border-radius: 18px;
}

.p-sidebar__searchForm input[type=text] {
  font-size: 14px;
  font-size: 0.875rem;
  display: block;
  width: 100%;
  padding: 10px 18px;
}

.p-sidebar__searchForm input[type=submit] {
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 56px;
  height: auto;
  aspect-ratio: 63/41;
  background-image: url(../img/search-obj.png);
  background-repeat: no-repeat;
  background-size: cover;
}

/* ----------------------------------------
supervisor
---------------------------------------- */
.supervisor {
  background-color: #fff;
  padding: 20px 24px 16px 48px;
  border-radius: 20px;
  max-width: 630px;
  width: 100%;
  font-weight: 500;
}
@media screen and (max-width:767px) {
  .supervisor {
    padding: 7px 12px 12px;
    border-radius: 10px;
    max-width: 100%;
  }
}

.supervisor__text {
  font-size: 14px;
  font-size: 0.875rem;
  letter-spacing: 0.225em;
}
@media screen and (max-width:767px) {
  .supervisor__text {
    font-size: 0.625rem;
  }
}

.supervisor__about {
  margin-top: 18px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
}
@media screen and (max-width:767px) {
  .supervisor__about {
    margin-top: 8px;
    gap: 8px;
  }
}

.supervisor__about > img {
  display: block;
  width: 132px;
  height: auto;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
}
@media screen and (max-width:767px) {
  .supervisor__about > img {
    width: 84px;
  }
}

.supervisor__about .supervisor__names .supervisor__profile {
  padding-top: 1.5em;
  font-size: 16px;
  font-size: 1rem;
  color: #21416A;
}
@media screen and (max-width:767px) {
  .supervisor__about .supervisor__names .supervisor__profile {
    font-size: 0.625rem;
    padding-top: 0.5em;
  }
}

.supervisor__about .supervisor__names .supervisor__title {
  font-size: 18px;
  font-size: 1.125rem;
  margin-top: 0.5em;
}
@media screen and (max-width:767px) {
  .supervisor__about .supervisor__names .supervisor__title {
    font-size: 0.75rem;
  }
}

.supervisor__about .supervisor__names .supervisor__name {
  font-size: 24px;
  font-size: 1.5rem;
  margin-top: 0.5em;
  letter-spacing: 0.2em;
}
@media screen and (max-width:767px) {
  .supervisor__about .supervisor__names .supervisor__name {
    font-size: 1rem;
  }
}

.supervisor__name span {
  font-size: 80%;
}

@media screen and (max-width:767px) {
  .supervisor__btn {
    margin-top: -0.5em;
  }
}

/* ----------------------------------------
column single top
---------------------------------------- */
.column-single__top h1 {
  font-size: 36px;
  font-size: 2.25rem;
  line-height: 1.5;
  font-weight: 500;
}
@media screen and (max-width:767px) {
  .column-single__top h1 {
    font-size: 1.125rem;
  }
}

.column-single__days {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
  font-size: 12px;
  font-size: 0.75rem;
  margin-top: 0.5em;
}

.column-single__days--con {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 1.5;
}

.column-single__days--con time {
  letter-spacing: 0.12em;
}

.column-single__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 14px;
}

.column-single__link > a {
  display: block;
  margin-top: 2px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1;
  padding: 4px 8px;
  background-color: #53855F;
  color: #fff;
  font-weight: 500;
  font-size: 14px;
  font-size: 0.875rem;
  border-radius: 11px;
}

.post-contents .column-single__link img {
  margin-top: 0;
}

.p-singleColumn__sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4px;
}

.p-singleColumn__sns > a {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.p-singleColumn__sns > a img {
  aspect-ratio: 1/1;
  width: 24px;
  height: auto;
}

.column-single__top .p-pageColumn__articlesFigure img {
  aspect-ratio: unset;
  margin-top: 20px;
}

.post-contents {
  /* ----------------------------------------
  sub
  ---------------------------------------- */
}
.post-contents img {
  max-width: 100%;
}
.post-contents .supervisor {
  background-color: #DAEDF3;
  max-width: 490px;
  margin-top: 40px;
  margin-bottom: 40px;
  margin-left: auto;
  margin-right: auto;
  /* ----------------------------------------
  single column
  ---------------------------------------- */
}
@media screen and (max-width:767px) {
  .post-contents .supervisor {
    max-width: 100%;
  }
}
.post-contents .supervisor .supervisor__text {
  display: none;
}
.post-contents .supervisor .supervisor__about {
  margin-top: 0;
}
.post-contents .supervisor .supervisor__about img {
  width: 114px;
}
@media screen and (max-width:767px) {
  .post-contents .supervisor .supervisor__about img {
    width: 84px;
  }
}
.post-contents .supervisor .supervisor__about .supervisor__profile {
  font-size: 12px;
  font-size: 0.75rem;
  padding-top: 1em;
}
@media screen and (max-width:767px) {
  .post-contents .supervisor .supervisor__about .supervisor__profile {
    font-size: 0.625rem;
    padding-top: 0.5em;
  }
}
.post-contents .supervisor .supervisor__about .supervisor__title {
  font-size: 16px;
  font-size: 1rem;
}
@media screen and (max-width:767px) {
  .post-contents .supervisor .supervisor__about .supervisor__title {
    font-size: 0.75rem;
  }
}
.post-contents .supervisor .supervisor__about .supervisor__name {
  font-size: 22px;
  font-size: 1.375rem;
  margin-top: 0.3em;
}
@media screen and (max-width:767px) {
  .post-contents .supervisor .supervisor__about .supervisor__name {
    font-size: 1rem;
  }
}
.post-contents .supervisor .supervisor__btn {
  margin-top: -1.5em;
  font-size: 12px;
  font-size: 0.75rem;
}
@media screen and (max-width:767px) {
  .post-contents .supervisor .supervisor__btn {
    font-size: 0.625rem;
  }
}
.post-contents .supervisor .supervisor__btn::after {
  top: 3px;
}
.post-contents .supervisor .Message-profile__middle {
  margin-top: 12px;
  padding-top: 0;
  border-top: none;
}
.post-contents .supervisor .Message-profile__middle table {
  width: 100%;
  margin-top: 0;
}
.post-contents .supervisor .Message-profile__middle table th,
.post-contents .supervisor .Message-profile__middle table td {
  font-size: 12px;
  font-size: 0.75rem;
}
.post-contents .supervisor .Message-profile__middle p {
  padding-top: 12px;
  border-top: 1px solid #333;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.5;
  color: #333;
}
.post-contents .supervisor .supervisor__btn.is-row {
  margin-top: 1em;
}
.post-contents .post-contents-blocks .supervisor__btn {
  color: #333;
  text-decoration: none;
}
.post-contents .supervisor.is-close {
  height: 240px;
  overflow: hidden;
  position: relative;
}
.post-contents .supervisor.is-close::before,
.post-contents .supervisor.is-close .js-close-btn {
  position: absolute;
}
.post-contents .supervisor.is-close::before {
  content: "";
  border-radius: 0 0 20px 20px;
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), color-stop(60%, rgb(218, 237, 244)));
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0), rgb(218, 237, 244) 60%);
  width: 100%;
  height: 84px;
  left: 0;
  bottom: 0;
}
.post-contents .supervisor .js-close-btn {
  display: none;
}
.post-contents .supervisor.is-close .js-close-btn {
  display: block;
  text-align: left;
  font-size: 12px;
  font-size: 0.75rem;
  color: #777;
  bottom: 24px;
  right: 36px;
  cursor: pointer;
}
.post-contents .supervisor.is-sub {
  background-color: #fff;
  border: 1px solid #333;
}
.post-contents .supervisor.is-sub .supervisor__profile {
  margin-top: 0;
}
.post-contents .supervisor.is-sub.is-close::before {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), color-stop(60%, rgb(255, 255, 255)));
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0), rgb(255, 255, 255) 60%);
}

.column__box .post-contents img {
  margin-top: 0px;
}

/* ----------------------------------------
column single table
---------------------------------------- */
.lwptoc {
  margin: 40px 0;
}

.lwptoc_i {
  padding: 0 !important;
  font-family: "Zen Old Mincho", serif;
}

.lwptoc_header {
  margin-bottom: 0 !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 4px 18px;
  border-bottom: 1px solid #000;
}

.lwptoc_header .lwptoc_title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 20px;
  font-size: 1.25rem;
  letter-spacing: 0.5em;
}

.lwptoc_header .lwptoc_toggle::before, .lwptoc_header .lwptoc_toggle::after {
  display: none;
}

.lwptoc_header .lwptoc_toggle a {
  position: relative;
  display: block;
  width: 32px;
  width: 2rem;
  height: 32px;
  height: 2rem;
  border-radius: 50%;
}

.lwptoc_header .lwptoc_toggle a:hover {
  opacity: 1;
}

.lwptoc_header .lwptoc_toggle a::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 20px;
  aspect-ratio: 1/1;
  height: auto;
  background-image: url(../img/toc-open.svg);
}

.lwptoc_header .lwptoc_toggle a::after {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.lwptoc_header .lwptoc_toggle a.is-active::after {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}

.lwptoc_items {
  padding: 14px 18px;
}

.lwptoc_items > .lwptoc_itemWrap > .lwptoc_item {
  margin-top: 1em;
}

.lwptoc_items > .lwptoc_itemWrap > .lwptoc_item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 12.8px;
  gap: 0 0.8rem;
}

.lwptoc_items > .lwptoc_itemWrap > .lwptoc_item > .lwptoc_itemWrap, .lwptoc_items > .lwptoc_itemWrap > .lwptoc_item + .lwptoc_item, .lwptoc_itemWrap LI.lwptoc_item {
  margin-top: 1em !important;
}

.lwptoc_items > .lwptoc_itemWrap > .lwptoc_item a:hover {
  border-bottom: none !important;
}

.lwptoc_items > .lwptoc_itemWrap > .lwptoc_item a .lwptoc_item_label {
  position: relative;
  font-weight: 500;
}

.lwptoc_items > .lwptoc_itemWrap > .lwptoc_item a .lwptoc_item_label::before {
  content: "";
  position: absolute;
  left: 0;
  display: inline-block;
  height: 100%;
  width: 1.6px;
  width: 0.1rem;
}

.lwptoc_items > .lwptoc_itemWrap > .lwptoc_item > .lwptoc_itemWrap, .lwptoc_items > .lwptoc_itemWrap > .lwptoc_item + .lwptoc_item, .lwptoc_itemWrap LI.lwptoc_item {
  font-weight: 400 !important;
}

/* ----------------------------------------
column single basic
---------------------------------------- */
.post-contents .post-contents-blocks h2 {
  font-size: 32px;
  font-size: 2rem;
  letter-spacing: 0.125em;
  margin-top: 4em;
  margin-bottom: 1em;
  border-left: 2px solid #D96C56;
  border-bottom: 2px solid #D96C56;
  padding-left: 12px;
  padding-bottom: 8px;
  line-height: 1.5;
  font-weight: 500;
}
@media screen and (max-width:767px) {
  .post-contents .post-contents-blocks h2 {
    font-size: 1.125rem;
  }
}
.post-contents .post-contents-blocks h3 {
  padding-left: 12px;
  color: #8D5741;
  border-left: 2px solid #8D5741;
  margin-top: 3em;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.5;
  font-weight: 500;
}
@media screen and (max-width:767px) {
  .post-contents .post-contents-blocks h3 {
    font-size: 1rem;
  }
}
.post-contents .post-contents-blocks h4 {
  padding-left: 12px;
  color: #8D5741;
  border-left: 2px solid #8D5741;
  margin-top: 2em;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.5;
  font-weight: 500;
}
@media screen and (max-width:767px) {
  .post-contents .post-contents-blocks h4 {
    font-size: 1rem;
  }
}
.post-contents .post-contents-blocks p, .post-contents .post-contents-blocks ul:not(.column__archive), .post-contents .post-contents-blocks ol, .post-contents .post-contents-blocks .faq__answer p {
  font-size: 14px;
  font-size: 0.875rem;
  margin-top: 1em;
  line-height: 1.8;
}
.post-contents .post-contents-blocks a:not(.p-pageColumn__articlesItem-a):not(.custom-btn):not(.supervisor__btn) {
  color: #2E6687;
  text-decoration: underline;
}
.post-contents .post-contents-blocks ul:not(.column__archive) li {
  position: relative;
  text-indent: -1.2em;
  padding-left: 1em;
}
.post-contents .post-contents-blocks ul:not(.column__archive) li::before {
  content: "・ ";
}
.post-contents .post-contents-blocks ol:not(.lwptoc_itemWrap) li {
  counter-increment: list-counter;
  position: relative;
  padding-left: 1em;
}
.post-contents .post-contents-blocks ol:not(.lwptoc_itemWrap) li::before {
  content: counter(list-counter) ". ";
  position: absolute;
  left: 0;
}
.post-contents .post-contents-blocks table {
  margin-top: 2em;
  line-height: 2;
}
.post-contents .post-contents-blocks .is-provider-youtube {
  margin-top: 40px;
  margin-left: auto;
  margin-right: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.post-contents .post-contents-blocks .is-provider-youtube .wp-block-embed__wrapper {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

/* ----------------------------------------
column single custom ボタンブロック
---------------------------------------- */
.post-contents .post-contents-blocks {
  /* ----------------------------------------
  column single custom FAQ ブロック
  ---------------------------------------- */
  /* ----------------------------------------
  column single custom 見出しボックス ブロック
  ---------------------------------------- */
  /* ----------------------------------------
  column single custom 吹き出し ブロック
  ---------------------------------------- */
  /* ----------------------------------------
  column single custom 見出しチェックボックス ブロック
  ---------------------------------------- */
  /* ----------------------------------------
  column single custom チェックボックス ブロック
  ---------------------------------------- */
  /* ----------------------------------------
  column single custom 関連記事 ブロック
  ---------------------------------------- */
}
.post-contents .post-contents-blocks .custom-btn {
  display: block;
  font-weight: 500;
  font-size: 18px;
  font-size: 1.125rem;
  padding: 4px 54px 4px 24px;
  line-height: 1.5;
  border: 1px solid #000;
  color: #000;
  text-decoration: none;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 3em auto 0;
  background-color: #ECE9E4;
  border-radius: 100px;
}
.post-contents .post-contents-blocks .custom-btn span {
  position: relative;
  display: block;
}
.post-contents .post-contents-blocks .custom-btn span::after {
  position: absolute;
  content: "";
  background-image: url(../img/arrow-right.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 22px;
  height: 16px;
  right: -12px;
  top: 50%;
  -webkit-transform: translateY(-50%) translateX(100%);
          transform: translateY(-50%) translateX(100%);
}
.post-contents .post-contents-blocks .faq__con:nth-of-type(1) {
  margin-top: 40px;
}
.post-contents .post-contents-blocks .faq__con p:nth-of-type(1) {
  margin-top: 0;
}
.post-contents .post-contents-blocks div .faq__question, .post-contents .post-contents-blocks div .faq__answer, .post-contents .post-contents-blocks .faq__question, .post-contents .post-contents-blocks .faq__answer {
  padding-left: 48px;
}
@media screen and (max-width:767px) {
  .post-contents .post-contents-blocks div .faq__question, .post-contents .post-contents-blocks div .faq__answer, .post-contents .post-contents-blocks .faq__question, .post-contents .post-contents-blocks .faq__answer {
    padding-left: 34px;
  }
}
.post-contents .post-contents-blocks div .faq__question::before, .post-contents .post-contents-blocks div .faq__answer::before {
  right: 0;
  left: 0;
}
@media screen and (max-width:767px) {
  .post-contents .post-contents-blocks div .faq__question::before, .post-contents .post-contents-blocks div .faq__answer::before {
    right: 0;
  }
}
.post-contents .post-contents-blocks .heading-box > h3, .post-contents .post-contents-blocks .heading-box > h4 {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.5;
  padding: 8px 24px 8px 54px;
  color: #fff;
  border: none;
  position: relative;
}
@media screen and (max-width:767px) {
  .post-contents .post-contents-blocks .heading-box > h3, .post-contents .post-contents-blocks .heading-box > h4 {
    font-size: 0.875rem;
  }
}
.post-contents .post-contents-blocks .heading-box .heading-wrap {
  padding: 12px 24px 28px;
  background-color: #F4F3ED;
  border-radius: 0 0 12px 12px;
}
@media screen and (max-width:767px) {
  .post-contents .post-contents-blocks .heading-box .heading-wrap {
    padding: 2px 12px 16px;
    border-radius: 0 0 6px 6px;
  }
}
.post-contents .post-contents-blocks .heading-box.is-caution > h3, .post-contents .post-contents-blocks .heading-box.is-caution > h4 {
  background-color: #DBACB8;
}
.post-contents .post-contents-blocks .heading-box.is-caution > h3::before, .post-contents .post-contents-blocks .heading-box.is-caution > h4::before {
  background-image: url(../img/box-caution.svg);
}
.post-contents .post-contents-blocks .heading-box.is-question > h3, .post-contents .post-contents-blocks .heading-box.is-question > h4 {
  background-color: #718EA5;
}
.post-contents .post-contents-blocks .heading-box.is-question > h3::before, .post-contents .post-contents-blocks .heading-box.is-question > h4::before {
  background-image: url(../img/box-question.svg);
}
.post-contents .post-contents-blocks .heading-box > h3::before, .post-contents .post-contents-blocks h4::before {
  content: "";
  position: absolute;
  width: 24px;
  height: auto;
  aspect-ratio: 1/1;
  background-repeat: no-repeat;
  background-size: cover;
  left: 18px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.post-contents .post-contents-blocks .comment-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 40px;
}
.post-contents .post-contents-blocks .comment-img-wrap {
  width: 110px;
}
@media screen and (max-width:767px) {
  .post-contents .post-contents-blocks .comment-img-wrap {
    width: 50px;
  }
}
.post-contents .post-contents-blocks .comment-img-wrap > img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
  display: block;
  width: 100%;
  height: auto;
  margin-top: 0;
}
.post-contents .post-contents-blocks .comment-wrap {
  width: 74.0116967088%;
  padding: 0 24px 24px;
  border-radius: 12px;
  background-color: #F4F3ED;
  position: relative;
}
@media screen and (max-width:767px) {
  .post-contents .post-contents-blocks .comment-wrap {
    width: 79.4676410736%;
    padding: 0 8px 12px;
  }
}
.post-contents .post-contents-blocks .comment-wrap::before {
  position: absolute;
  content: "";
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(../img/comment-obj.svg);
  top: 10px;
  left: -30px;
  -webkit-transform: scale(1, -1);
          transform: scale(1, -1);
  width: 35px;
  height: auto;
  aspect-ratio: 55.86/37.43;
}
@media screen and (max-width:767px) {
  .post-contents .post-contents-blocks .comment-wrap::before {
    width: 12px;
    left: -12px;
    top: 8px;
  }
}
.post-contents .post-contents-blocks .comment-block.is-reverse {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.post-contents .post-contents-blocks .is-reverse .comment-wrap::before {
  position: absolute;
  content: "";
  top: 10px;
  left: unset;
  -webkit-transform: scale(-1, -1);
          transform: scale(-1, -1);
  right: -30px;
  height: auto;
}
@media screen and (max-width:767px) {
  .post-contents .post-contents-blocks .is-reverse .comment-wrap::before {
    right: -12px;
  }
}
.post-contents .post-contents-blocks .check-box {
  padding: 24px 24px;
  background-color: #F4F3ED;
  border-radius: 20px;
  margin-top: 40px;
}
@media screen and (max-width:767px) {
  .post-contents .post-contents-blocks .check-box {
    padding: 14px;
    border-radius: 10px;
  }
}
.post-contents .post-contents-blocks .check-box > h3 {
  border: none;
  font-size: 20px;
  font-size: 1.25rem;
  color: #D96C56;
  margin-top: 0;
  margin-bottom: 1em;
  padding-left: 0;
}
@media screen and (max-width:767px) {
  .post-contents .post-contents-blocks .check-box > h3 {
    font-size: 0.875rem;
  }
}
.post-contents .post-contents-blocks ul.check-list {
  display: block;
}
.post-contents .post-contents-blocks ul.check-list > li {
  position: relative;
  text-indent: 0em;
  padding-left: 1.5em;
}
.post-contents .post-contents-blocks ul.check-list > li::before {
  content: "";
  background-image: url(../img/check-icon.svg);
  width: 14px;
  height: auto;
  background-repeat: no-repeat;
  aspect-ratio: 1/1;
  background-size: cover;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  top: 5px;
  left: 0;
  position: absolute;
}
.post-contents .post-contents-blocks .column__box--single {
  display: block;
  background-color: #F4F3ED;
  border-radius: 10px;
  padding: 28px 24px;
  margin-top: 40px;
}

.service-child__wrap .post-contents .post-contents-blocks .comment-img-wrap {
  width: 160px;
}
@media screen and (max-width:767px) {
  .service-child__wrap .post-contents .post-contents-blocks .comment-img-wrap {
    width: 50px;
  }
}

/* ----------------------------------------
column sidebar
---------------------------------------- */
/* ----------------------------------------
news mv
---------------------------------------- */
.is-news {
  background-image: url(../img/h1-news.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
}
@media screen and (max-width:767px) {
  .is-news {
    background-image: url(../img/h1-news-sp.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;
  }
}

/* ----------------------------------------
news row
---------------------------------------- */
.news {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width:767px) {
  .news {
    width: 92%;
  }
}

.news__archive {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 2;
}
@media screen and (max-width:767px) {
  .news__archive {
    font-size: 0.875rem;
  }
}

.news__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-bottom: 54px;
}
@media screen and (max-width:767px) {
  .news__row {
    display: block;
    padding-bottom: 24px;
  }
}

.news__row:nth-child(n+2) {
  margin-top: 60px;
}
@media screen and (max-width:767px) {
  .news__row:nth-child(n+2) {
    margin-top: 32px;
  }
}

.news__row .c-articleDates__modifiedNum {
  width: 180px;
}
@media screen and (max-width:767px) {
  .news__row .c-articleDates__modifiedNum {
    width: 100%;
  }
}

.news__row h2 {
  width: calc(100% - 180px);
}
@media screen and (max-width:767px) {
  .news__row h2 {
    width: 100%;
  }
}

/* ----------------------------------------
news single
---------------------------------------- */
/* ----------------------------------------
faq mv
---------------------------------------- */
.is-faq {
  background-image: url(../img/h1-faq.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
}
@media screen and (max-width:767px) {
  .is-faq {
    background-image: url(../img/h1-faq-sp.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;
  }
}

/* ----------------------------------------
faq nav
---------------------------------------- */
.faq-nav .page-nav__wrap {
  max-width: 520px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  gap: unset;
}
.faq-nav .page-nav__wrap .page-nav {
  background-color: #fff;
  border-radius: 0;
}

.faq-nav .page-nav__wrap li:nth-child(1) {
  width: 250px;
}
@media screen and (max-width:767px) {
  .faq-nav .page-nav__wrap li:nth-child(1) {
    width: 50%;
  }
}

.faq-nav .page-nav__wrap li:nth-child(2) {
  width: 180px;
}
@media screen and (max-width:767px) {
  .faq-nav .page-nav__wrap li:nth-child(2) {
    width: 34%;
  }
}

.faq-nav .page-nav__wrap li a {
  width: 100%;
}
@media screen and (max-width:767px) {
  .faq-nav .page-nav__wrap li a {
    font-size: 0.8125rem;
  }
}

/* ----------------------------------------
form
---------------------------------------- */
.form form {
  border: 2px solid #000;
  border-radius: 32px;
  padding: 56px 90px 36px;
  font-weight: 500;
}
@media screen and (max-width:767px) {
  .form form {
    padding: 64px 0px 0px;
    border: none;
    border-radius: unset;
  }
}

.form__title {
  text-align: center;
  font-size: 24px;
  font-size: 1.5rem;
  letter-spacing: 0.25em;
  font-weight: 500;
}
@media screen and (max-width:767px) {
  .form__title {
    font-size: 0.875rem;
  }
}

.page__title.form__title {
  margin-bottom: 40px;
}

.form__description {
  font-size: 17px;
  font-size: 1.0625rem;
  line-height: 1.5;
  margin-top: 3em;
  margin-bottom: 4em;
}
@media screen and (max-width:767px) {
  .form__description {
    font-size: 0.75rem;
  }
}

.form__description a {
  text-decoration: underline;
}

.form__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
}
@media screen and (max-width:767px) {
  .form__row {
    display: block;
  }
}

.form__row:nth-child(n+2) {
  margin-top: 20px;
}
@media screen and (max-width:767px) {
  .form__row:nth-child(n+2) {
    margin-top: 14px;
  }
}

.form__row label {
  display: block;
  width: 130px;
  font-size: 14px;
  font-size: 0.875rem;
  position: relative;
  line-height: 1;
  padding: 13px 0;
}
@media screen and (max-width:767px) {
  .form__row label {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    font-size: 0.75rem;
    padding: 0;
    padding-right: 36px;
  }
}

.form__row label.required::after {
  position: absolute;
  content: "必須";
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  top: 50%;
  right: 0;
  font-size: 10px;
  font-size: 0.625rem;
  color: #F54100;
}

.form__row input, .form__row textarea {
  font-size: 10px;
  font-size: 0.625rem;
  line-height: 14px;
  line-height: 0.875rem;
  padding: 13px;
  background-color: #fff;
  width: 100%;
  resize: none;
}
@media screen and (max-width:767px) {
  .form__row input, .form__row textarea {
    margin-top: 8px;
  }
}

.form__row input, .wpcf7-form-control-wrap {
  max-width: 340px;
  width: 100%;
}
@media screen and (max-width:767px) {
  .form__row input, .wpcf7-form-control-wrap {
    max-width: 100%;
  }
}

.is-text-area .wpcf7-form-control-wrap {
  max-width: calc(100% - 150px);
  width: 100%;
}
@media screen and (max-width:767px) {
  .is-text-area .wpcf7-form-control-wrap {
    max-width: 100%;
  }
}

.form__row textarea {
  max-width: 100%;
}

.form__bottom {
  margin-top: 74px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width:767px) {
  .form__bottom {
    display: block;
    margin-top: 40px;
    padding-bottom: 40px;
  }
}

.form__left {
  padding: 18px 0;
}
@media screen and (max-width:767px) {
  .form__left {
    padding: 0;
  }
}

.form__left input[type=checkbox] {
  display: none;
}

.form__left label {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 16px;
  line-height: 1rem;
  padding-left: 24px;
  position: relative;
}
@media screen and (max-width:767px) {
  .form__left label {
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
  }
}

.form__left label::after {
  position: absolute;
  content: "";
  width: 16px;
  height: auto;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  top: 50%;
  left: 0;
  aspect-ratio: 1/1;
  background-image: url(../img/ckeck.svg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
.form__left input[type=checkbox]:checked + label::after {
  background-image: url(../img/ckecked.svg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}

.form__left label a {
  text-decoration: underline;
}

.form__bottom input[type=submit] {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
  text-align: center;
  padding: 18px 0;
  display: block;
  width: 148px;
  border-radius: 27px;
  background-color: #FFCEAF;
  pointer-events: none;
}
@media screen and (max-width:767px) {
  .form__bottom input[type=submit] {
    display: block;
    margin: 40px auto 0;
  }
}

.form__bottom input[type=submit].is-active {
  pointer-events: all;
}

/* ----------------------------------------
faq
---------------------------------------- */
.faq-category {
  font-size: 16px;
  font-size: 1rem;
  padding: 10px 16px;
  margin-bottom: 24px;
  background-color: #fff;
  font-weight: 500;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 19px;
  margin-top: 40px;
}
@media screen and (max-width:767px) {
  .faq-category {
    margin-left: auto;
    margin-right: auto;
    margin-top: 48px;
    margin-bottom: 18px;
  }
}

div .faq .form__title, .post-contents .post-contents-blocks .faq .form__title {
  margin-bottom: 64px;
}
@media screen and (max-width:767px) {
  div .faq .form__title, .post-contents .post-contents-blocks .faq .form__title {
    margin-bottom: 48px;
  }
}
div .faq-category, .post-contents .post-contents-blocks .faq-category {
  font-size: 16px;
  font-size: 1rem;
  padding: 10px 16px;
  margin-bottom: 24px;
  background-color: #fff;
  font-weight: 500;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 19px;
  margin-top: 40px;
}
@media screen and (max-width:767px) {
  div .faq-category, .post-contents .post-contents-blocks .faq-category {
    margin-left: auto;
    margin-right: auto;
    margin-top: 48px;
    margin-bottom: 18px;
  }
}
div .faq__con, .post-contents .post-contents-blocks .faq__con {
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
  padding-bottom: 40px;
}
@media screen and (max-width:767px) {
  div .faq__con, .post-contents .post-contents-blocks .faq__con {
    font-size: 0.75rem;
    padding-bottom: 20px;
  }
}
div .faq__question, div .faq__answer, .post-contents .post-contents-blocks .faq__question, .post-contents .post-contents-blocks .faq__answer {
  padding-left: 94px;
  padding-right: 48px;
  padding-top: 32px;
  position: relative;
  border-left: none;
  margin-top: 0;
  font-size: inherit;
  line-height: inherit;
}
@media screen and (max-width:767px) {
  div .faq__question, div .faq__answer, .post-contents .post-contents-blocks .faq__question, .post-contents .post-contents-blocks .faq__answer {
    padding-left: 34px;
    padding-right: 24px;
    padding-top: 16px;
  }
}
div .faq__question::before, div .faq__answer::before, .post-contents .post-contents-blocks .faq__question::before, .post-contents .post-contents-blocks .faq__answer::before {
  position: absolute;
  top: 8px;
  left: 42px;
  font-size: 36px;
  font-size: 2.25rem;
  font-weight: 400;
}
@media screen and (max-width:767px) {
  div .faq__question::before, div .faq__answer::before, .post-contents .post-contents-blocks .faq__question::before, .post-contents .post-contents-blocks .faq__answer::before {
    top: 2px;
    left: 4px;
    font-size: 1.5rem;
  }
}
div .faq__question, .post-contents .post-contents-blocks .faq__question {
  color: #4682AA;
  cursor: pointer;
}
div .faq__question::after, .post-contents .post-contents-blocks .faq__question::after {
  content: "";
  position: absolute;
  background-image: url(../img/faq-obj.svg);
  width: 18px;
  background-repeat: no-repeat;
  background-size: cover;
  height: auto;
  aspect-ratio: 1/1;
  top: 42px;
  right: 24px;
}
@media screen and (max-width:767px) {
  div .faq__question::after, .post-contents .post-contents-blocks .faq__question::after {
    width: 10px;
    top: 24px;
    right: 0;
  }
}
div .faq__question.open::after, .post-contents .post-contents-blocks .faq__question.open::after {
  background-image: url(../img/faq-obj-close.svg);
  background-repeat: no-repeat;
  background-size: cover;
}
div .faq__question::before, .post-contents .post-contents-blocks .faq__question::before {
  content: "Q";
}
div .faq__answer, .post-contents .post-contents-blocks .faq__answer {
  color: #E38269;
  display: none;
}
div .faq__answer::before, .post-contents .post-contents-blocks .faq__answer::before {
  content: "A";
}
div .faq__answer p, .post-contents .post-contents-blocks .faq__answer p {
  font-size: 12px;
  font-size: 0.75rem;
}
/* ----------------------------------------
thanks
---------------------------------------- */
.thanks h1 {
  display: block;
  margin: 0 auto;
  width: 600px;
  height: 160px;
  border-radius: 80px;
  background-image: url(../img/thanks-bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  position: relative;
}
@media screen and (max-width:767px) {
  .thanks h1 {
    background-image: url(../img/thanks-bg-sp.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    width: 300px;
    height: 85px;
    border-radius: 42.5px;
  }
}

.thanks h1 span {
  position: absolute;
  white-space: nowrap;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  color: #fff;
  font-size: 32px;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.125em;
  text-align: center;
}
@media screen and (max-width:767px) {
  .thanks h1 span {
    font-size: 1.125rem;
  }
}

.thanks__wrap {
  margin: 72px auto 0;
  max-width: 620px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width:767px) {
  .thanks__wrap {
    margin: 32px auto 0;
    max-width: 620px;
  }
}

.thanks__wrap li {
  font-size: 16px;
  font-size: 1rem;
  color: #546B98;
  line-height: 2;
  position: relative;
  text-indent: -1.2em;
  padding-left: 1em;
}
@media screen and (max-width:767px) {
  .thanks__wrap li {
    font-size: 0.75rem;
  }
}

.thanks__wrap li::before {
  content: "・ ";
}

.thanks__wrap li a {
  text-decoration: underline;
}

.is-thanks__btn {
  margin: 100px auto 0;
  color: #000;
  border-bottom: 1px solid #000;
}
@media screen and (max-width:767px) {
  .is-thanks__btn {
    margin: 42px auto 0;
  }
}

.is-thanks__btn::after {
  background-image: url(../img/arrow-right.svg);
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

/* ----------------------------------------
sitemap mv
---------------------------------------- */
.is-sitemap {
  background-image: url(../img/h1-sitemap.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
}
@media screen and (max-width:767px) {
  .is-sitemap {
    background-image: url(../img/h1-sitemap-sp.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;
  }
}

.is-sitemap .breadcrumbs {
  color: #fff;
}

/* ----------------------------------------
sitemap con
---------------------------------------- */
.sitemap__wrap {
  margin-top: 120px;
  padding-bottom: 120px;
}
@media screen and (max-width:767px) {
  .sitemap__wrap {
    margin-top: 40px;
    padding-bottom: 100px;
  }
}

.sitemap__wrap a {
  text-decoration: underline;
}

.sitemap__contents .sitemap__con:nth-of-type(n+2) {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
@media screen and (max-width:767px) {
  .sitemap__contents .sitemap__con:nth-of-type(n+2) {
    display: block;
  }
}

.sitemap__contents h2 {
  margin-top: 80px;
  padding-bottom: 14px;
  padding-right: 4px;
  padding-left: 4px;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 500;
  color: #9BC2C1;
}
@media screen and (max-width:767px) {
  .sitemap__contents h2 {
    padding-bottom: 8px;
    padding-right: 4px;
    padding-left: 4px;
    margin-top: 60px;
    font-size: 0.875rem;
  }
}

.sitemap__contents h2:nth-of-type(1) {
  margin-top: 0;
}

.sitemap__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 800px;
  width: 100%;
}
.sitemap__top .sitemap__left, .sitemap__top .sitemap__right {
  width: 49%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width:767px) {
  .sitemap__top .sitemap__left, .sitemap__top .sitemap__right {
    width: 100%;
    display: block;
  }
}

.sitemap__top .sitemap__left ul, .sitemap__top .sitemap__right ul {
  width: 48%;
}
@media screen and (max-width:767px) {
  .sitemap__top .sitemap__left ul, .sitemap__top .sitemap__right ul {
    width: 100%;
  }
  .sitemap__top .sitemap__left ul:nth-of-type(n+2), .sitemap__top .sitemap__right ul:nth-of-type(n+2) {
    margin-top: 0.8em;
  }
}

.sitemap__con {
  margin-top: 36px;
}
@media screen and (max-width:767px) {
  .sitemap__con {
    width: 100%;
    margin-top: 24px;
  }
}

.sitemap__con {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.5;
}
@media screen and (max-width:767px) {
  .sitemap__column:nth-of-type(n+2) {
    margin-top: 1.5em;
  }
}

.sitemap__column h3 {
  color: #D37166;
  margin-bottom: 1em;
  letter-spacing: 0.125em;
}
.sitemap__column h3:nth-of-type(n+2) {
  margin-top: 1.5em;
}

.sitemap__column ul li:nth-child(n+2), .sitemap__con ul li:nth-child(n+2) {
  margin-top: 0.8em;
}

/* ----------------------------------------
policy
---------------------------------------- */
.policy__contents {
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 2;
  padding-bottom: 160px;
}
@media screen and (max-width:767px) {
  .policy__contents {
    padding-bottom: 80px;
    font-size: 0.875rem;
  }
}

.policy__contents h2 {
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 500;
  margin-top: 64px;
  margin-bottom: 20px;
}
@media screen and (max-width:767px) {
  .policy__contents h2 {
    font-size: 0.875rem;
    margin-top: 56px;
    margin-bottom: 14px;
  }
}

.policy__contents p, .policy__contents ul {
  margin-bottom: 20px;
}
@media screen and (max-width:767px) {
  .policy__contents p, .policy__contents ul {
    margin-bottom: px;
  }
}

.policy__contents h3, .policy__contents h4 {
  margin-bottom: 12px;
}
@media screen and (max-width:767px) {
  .policy__contents h3, .policy__contents h4 {
    margin-bottom: 4px;
  }
}

.policy__contents h3 {
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 500;
}
@media screen and (max-width:767px) {
  .policy__contents h3 {
    font-size: 0.75rem;
  }
}

.policy__contents h4 {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
}
@media screen and (max-width:767px) {
  .policy__contents h4 {
    font-size: 0.75rem;
  }
}

.policy__contents ul li {
  position: relative;
  text-indent: -1.2em;
  padding-left: 1em;
}
.policy__contents ul li::before {
  content: "・ ";
}

.policy__contents a {
  text-decoration: underline;
}

.policy__contents span {
  font-size: 12px;
  font-size: 0.75rem;
}
@media screen and (max-width:767px) {
  .policy__contents span {
    font-size: 0.625rem;
  }
}

.policy__contents > .container > h2:nth-of-type(1) {
  margin-top: 0;
}

/* ----------------------------------------
404
---------------------------------------- */
.is-404 {
  background-image: url(../img/bg-404.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
}
@media screen and (max-width:767px) {
  .is-404 {
    background-image: url(../img/bg-404-sp.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;
  }
}

.is-404 * {
  color: #fff;
}

.is-404 .is-404__container {
  padding: 180px 0 140px;
}
@media screen and (max-width:767px) {
  .is-404 .is-404__container {
    padding: 120px 0 160px;
  }
}

.is-404 p {
  font-size: 22px;
  font-size: 1.375rem;
  margin-top: 100px;
  text-align: center;
  line-height: 2;
}
@media screen and (max-width:767px) {
  .is-404 p {
    font-size: 0.875rem;
    margin-top: 48px;
  }
}

.is-404 .is-404__btn {
  margin: 148px auto 0;
}
@media screen and (max-width:767px) {
  .is-404 .is-404__btn {
    margin: 48px auto 0;
  }
}

/* ----------------------------------------
last
---------------------------------------- */
.sp-flex, .sp-block, .sp-inline {
  display: none !important;
}

@media screen and (max-width:767px) {
  .sp-hide {
    display: none !important;
  }
  .sp-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .sp-block {
    display: block !important;
  }
  .sp-inline {
    display: inline !important;
  }
}
.pc-hide {
  display: none;
}
@media screen and (max-width:767px) {
  .pc-hide {
    display: block;
  }
}
/*# sourceMappingURL=style.css.map */

/* ============================================================
   fix (#4066): fork 時に落ちていた なみなみ由来の規則を復元（追加のみ）
   旗の台の compiled style.css には、なみなみ本番 css/style.css にある規則が
   72 セレクタ分入っていなかった。SCSS にも元から無く（なみなみ側で compiled CSS を
   直接編集していたため）、fork の際にまるごと欠落したとみられる。
   影響が大きかったのは英語ページ（body.is-en）で、たとえば
     .is-en .section__title { writing-mode: unset }  … 縦組み解除（英字が縦のままだった）
     .is-front .Mv__read-en                          … MV「English available」の位置指定
                                                       （無いので画面上端に張り付いて見切れていた）
     .is-front #Patients / .Patients-container 一式  … 保険・料金セクションの余白
   gtranslate 系（ウィジェットを廃止済み）と .header-sp__body.type03/type04
   （旗の台は type01/02 のみ）は意図的に除外した。
   ※ SCSS 側にも同じ内容を追記してあるので、再コンパイルしても落ちない。
   ============================================================ */


.is-en .header-sp__body nav ul li:nth-child(n+2) {
  margin-top: 8px;
}
.is-front .Mv__read-en {
  position: absolute;
  bottom: 165px;
}
.is-front .Mv__read-en img {
  display: block;
  height: 36px;
  width: auto;
}
.Info-news__title.is-radio {
  margin: 1em auto 0.5em;
}
.Info-news__title.is-radio span {
  font-size: 80%;
  color: #666;
}
.is-en .Menu__nav a span {
  font-size: 18px;
  font-size: 1.125rem;
  white-space: nowrap;
}
/* ----------------------------------------
.Online
---------------------------------------- */
.is-front .Online:not(.page__section),
.is-front .pay:not(.page__section) {
  padding: 100px 0 120px;
}
/* ----------------------------------------
Access
---------------------------------------- */
main:not(.is-page) .Access,
main .Access.is-last {
  padding: 150px 0;
  /* ⚠️ #4066: なみなみの #E6F0F0 が旗の台の #FBF5E5 を打ち消していた（scss 側に経緯） */
  background-color: #FBF5E5;
}
main:not(.is-page) .Access .child-container,
main .Access.is-last .child-container {
  margin-left: auto;
}
main:not(.is-front) .Access:not(.is-last) .child-container {
  margin-left: auto;
  margin-right: auto;
}
/* ----------------------------------------
Patients
---------------------------------------- */
.is-front #Patients {
  padding: 100px 0 120px;
}
.is-front .Patients-container .child-container .container05 {
  width: 100%;
  margin-right: auto;
}
.is-front .Patients-container .section__title {
  position: absolute;
  top: 0;
  left: 0;
}
.is-front .Patients-container .child-container {
  margin-left: auto;
}
.is-front #Patients p {
  margin-top: 0.5em;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 2;
}
.float__cta.is-en li:nth-child(1) {
  background: url(../img/float-bg02.jpg);
}
.float__cta.is-en li:nth-child(1) p {
  padding-bottom: 6px;
}
.float__cta.is-en li:nth-child(1) span {
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 2;
}
.float__cta.is-en li:nth-child(2) {
  background: url(../img/float-bg03.jpg);
}
.float__cta.is-en li:nth-child(2) p {
  font-size: 20px;
  font-size: 1.25rem;
  padding-bottom: 8px;
}
.float__cta.is-en li:nth-child(2) span {
  font-size: 10px;
  font-size: 0.625rem;
  line-height: 2;
}
/* ----------------------------------------
Links
---------------------------------------- */
/* ⚠️ #4066: `.Links` の完全な重複を外した。_sec98-Links.scss の SP メディアクエリを打ち消し、
   SNS アイコンが左端に張り付いていた（scss 側に経緯） */
body:not(.is-en) {
  text-align: justify;
}
/* ----------------------------------------
page mv
---------------------------------------- */
.mv__wrap.is-service br {
  display: none;
}
/* :has() が使える環境で「反対側の言語だけ表示」 */
@supports selector(.x:has(.y)) {
  /* 日本語が現在 → 英語リンクを表示 */
  .gtranslate_wrapper:has(a.glink[data-gt-lang=ja].gt-current-lang) a.glink[data-gt-lang=en] {
    display: inline !important;
  }
  /* 英語が現在 → 日本語リンクを表示 */
  .gtranslate_wrapper:has(a.glink[data-gt-lang=en].gt-current-lang) a.glink[data-gt-lang=ja] {
    display: inline !important;
  }
}
/* :has() 非対応ブラウザのフォールバック（2つ表示） */
@supports not selector(.x:has(.y)) {
  .gtranslate_wrapper a.glink {
    display: inline !important;
  }
}
.pay p,
#pay p {
  margin-top: 0.5em;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 2;
}
.pay img.pay-more,
#pay img.pay-more {
  width: 100%;
  height: auto;
}
.pay img,
#pay img {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 65px;
  margin-top: 14px;
  max-width: 100%;
}
.post-contents .post-contents-blocks.service-child h3:not(.faq__question),
.post-contents .post-contents-blocks.service-child .check-box h4.wp-block-heading {
  border-bottom: #D75828 1px solid !important;
  border-left: none;
  color: #D75828 !important;
  padding-left: 0;
  padding-bottom: 8px;
  margin-bottom: 1em;
}
.post-contents .post-contents-blocks.service-child .check-box h3.wp-block-heading,
.post-contents .post-contents-blocks.service-child .check-box h4.wp-block-heading {
  margin-top: 0;
}
.post-contents .post-contents-blocks.service-child .wp-block-columns h2,
.post-contents .post-contents-blocks.service-child .wp-block-columns h3,
.post-contents .post-contents-blocks.service-child .wp-block-columns h4,
.post-contents .post-contents-blocks.service-child .wp-block-columns p {
  margin-top: 1em;
}
/* ----------------------------------------
関連コラムの表示
---------------------------------------- */
.is-medical-care-img {
  max-width: 100%;
  margin-top: 20px;
}
.is-servise-table td {
  border: none;
}
.is-servise-table table {
  margin-top: 64px;
  width: 100%;
}
.is-servise-table table tbody tr:not(:last-child) {
  border-bottom: 1px solid #000 !important;
}
.is-servise-table table tbody tr th,
.is-servise-table table tbody tr td {
  vertical-align: middle;
  padding: 40px 12px;
}
.is-servise-table table tbody tr td:first-child {
  width: 160px;
  text-align: center;
  font-weight: 400;
  border-right: 1px solid #000 !important;
}
.is-servise-table table tbody tr td {
  width: calc(100% - 160px);
}
/* ----------------------------------------
column mv
---------------------------------------- */
/* ⚠️ #4066: `.is-column` の完全な重複を外した。SP 用 h1-column-sp.jpg を打ち消していた（scss 側に経緯） */
/* ----------------------------------------
column single basic
---------------------------------------- */
.post-contents .post-contents-blocks .is-service-2colum h3 {
  padding-left: 12px;
  color: rgba(0, 0, 0, 0);
  border-left: none;
  margin-top: 20px;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.5;
  font-weight: 500;
}
.post-contents .post-contents-blocks .is-service-3colum h3 {
  padding-left: 12px;
  color: rgba(0, 0, 0, 0);
  border-left: none;
  margin-top: 20px;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.5;
  font-weight: 500;
}
.post-contents .post-contents-blocks h3:not(.faq__question) {
  border-bottom: #D75828 1px solid !important;
  border-left: none;
  color: #D75828 !important;
  padding-left: 0;
  padding-bottom: 8px;
  margin-bottom: 1em;
  margin-top: 3em;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.5;
  font-weight: 500;
}
.post-contents .post-contents-blocks .check-box > h3,
.post-contents .post-contents-blocks .check-box > h4 {
  border: none;
  font-size: 20px;
  font-size: 1.25rem;
  color: #D96C56;
  margin-top: 0;
  margin-bottom: 1em;
  padding-left: 0;
}
/* ----------------------------------------
column single custom 導入ブロック
---------------------------------------- */
.service__first__content {
  padding-top: 64px;
  max-width: 820px;
  width: 100%;
  margin: 0px auto 1em;
  font-size: 26px;
  font-size: 1.625rem;
  line-height: 1.2307692308;
  letter-spacing: 0.03em;
  font-weight: 500;
}
.service__first__content .service__first__content-span {
  border-top: #32939C 1px solid;
  border-bottom: #32939C 1px solid;
  height: 6px;
  display: block;
  width: 100%;
}
.service__first__content p {
  margin: 1.5em auto;
  display: block;
  max-width: 620px;
  width: 91.1764705882%;
}
/* ===========================================================
 * 参考文献セクション（コラム記事末尾）
 * 追加: 2026-05-13 (P1-3 SEO 回復施策 — E-E-A-T Authority 強化)
 * 参照: template-parts/references.php
 * =========================================================== */
.references {
  margin: 3em 0 2em;
  padding: 1.5em 1.5em 1.2em;
  border: 1px solid #d8d4cc;
  border-radius: 8px;
  background: #fafaf6;
}
.references__title {
  font-size: 1.15em;
  font-weight: 600;
  margin: 0 0 0.8em;
  padding-bottom: 0.5em;
  border-bottom: 2px solid #b8a991;
  color: #5b513f;
}
.references__list {
  margin: 0;
  padding: 0 0 0 1.8em;
  list-style: decimal;
}
.references__item {
  font-size: 0.92em;
  line-height: 1.75;
  margin: 0.5em 0;
  color: #555;
  /* 親 (.post など) から text-align: justify を継承して
     日本語の文字間が不自然に開く問題を解消 */
  text-align: left;
  /* 長い URL や英語タイトルがコンテナを突き抜けるのを防ぐ */
  overflow-wrap: anywhere;
  word-break: break-word;
}
.references__text {
  color: #555;
}
.references__link {
  color: #1a6e8c;
  text-decoration: underline;
  word-break: break-word;
}
.references__link:hover {
  color: #0d4a60;
  text-decoration: none;
}

@media screen and (max-width: 767px) {
  .references {
      padding: 1.2em 1em 1em;
      margin: 2em 0 1.5em;
    }
  .references__title {
      font-size: 1.05em;
    }
  .references__list {
      padding-left: 1.5em;
    }
  .references__item {
      font-size: 0.88em;
      line-height: 1.7;
    }
}

@media screen and (max-width:767px) {
  .is-front .Mv__read-en {
      position: absolute;
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%);
      left: 50%;
      bottom: 64px;
      margin-top: 4px;
    }
  .is-en .Menu__nav a span {
      font-size: 0.75rem;
      white-space: wrap;
    }
  .is-en .Message-profile__name h3 {
      font-size: 4.8svw;
      letter-spacing: 0em;
    }
  .is-front .Online:not(.page__section),
    .is-front .pay:not(.page__section) {
      padding: 50px 0 80px;
    }
  main:not(.is-page) .Access,
    main .Access.is-last {
      padding: 50px 0;
    }
  main:not(.is-page) .Access .child-container,
    main .Access.is-last .child-container {
      width: 100%;
      margin-top: 24px;
    }
  main:not(.is-front) .Access:not(.is-last) .child-container {
      width: 100%;
      margin-top: 24px;
    }
  .is-front #Patients {
      padding: 50px 0 80px;
    }
  .is-front .Patients .container {
      width: 100%;
    }
  .is-front .Patients-container .child-container .container05:not(.feature__img) {
      width: 84%;
    }
  .is-front .Patients-container .section__title {
      position: relative;
      -webkit-transform: translateX(-5px);
              transform: translateX(-5px);
      padding-left: 9%;
    }
  .is-front #Patients p {
      margin-top: 0.8em;
      font-size: 0.75rem;
    }
  .float__cta.is-en li:nth-child(2) p {
      font-size: 0.875rem;
      padding-bottom: 0;
      line-height: 1.6;
    }
  .is-en .float__cta li:nth-child(2) p,
    .is-en .float__cta li:nth-child(3) p {
      padding-bottom: 8px;
      line-height: 1.4;
      font-size: 1rem;
    }
  .Links__talentio {
      margin-top: 18px;
    }
  .is-en .section__title {
      -webkit-writing-mode: unset;
          -ms-writing-mode: unset;
              writing-mode: unset;
    }
  .pay p,
    #pay p {
      margin-top: 0.8em;
      font-size: 0.75rem;
    }
  .pay img,
    #pay img {
      height: auto;
      margin-top: 7px;
      width: 100%;
    }
  .is-servise-table table tbody tr th,
    .is-servise-table table tbody tr td {
      padding: 12px 12px;
    }
  .is-servise-table table tbody tr td:first-child {
      width: 36%;
    }
  .is-servise-table table tbody tr td {
      width: 64%;
    }
  .post-contents .post-contents-blocks .is-service-2colum h3 {
      font-size: 1rem;
    }
  .post-contents .post-contents-blocks .is-service-3colum h3 {
      font-size: 1rem;
    }
  .post-contents .post-contents-blocks h3:not(.faq__question) {
      font-size: 1rem;
    }
  .post-contents .post-contents-blocks .check-box > h3,
    .post-contents .post-contents-blocks .check-box > h4 {
      font-size: 0.875rem;
    }
  .service__first__content {
      font-size: 0.9375rem;
    }
  .service__first__content .service__first__content-span {
      height: 3px;
    }
}

/* ----------------------------------------
Flexible Table Block の自前ホスト（#4066・2026-08-20）

なみなみは `flexible-table-block` プラグインを使って表を作っており、
罫線・余白・折返し・横スクロールは**プラグインが出すCSS**で描かれている:
  ・plugins/flexible-table-block/build/style-index.css
  ・<style id="flexible-table-block-inline-css">（プラグインのグローバル設定）

旗の台には**このプラグインが入っていない**ため、
`wp-block-flexible-table-block-table` の表が**罫線ゼロ**で出ていた
（2026-08-20 オーナー指摘。料金一覧・プレコン・各種ワクチン・性病チェック・レディースドックの計6表）。

本文は seeder が入れる静的HTMLでブロックエディタを使わないので、
**プラグインを増やさず CSS だけ自前で持つ**（wavify 自前ホストと同じ方針）。
本番切替のプラグイン一覧（6本）を増やさずに済む。

⚠️ 値は なみなみ本番から**そのまま写した**もの（推測で決めていない）。
なみなみ側でプラグイン設定を変えたらここも合わせる。
---------------------------------------- */

.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table{box-sizing:border-box}.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table.has-fixed-layout{table-layout:fixed}.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table.is-sticky-header:not(.is-stacked-on-mobile) thead{position:sticky;top:0;z-index:1}.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table.is-sticky-first-column tr>:first-child{left:0;position:sticky;z-index:1}.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table td,.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table th{box-sizing:border-box;min-width:auto;overflow-wrap:anywhere;word-break:normal}.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table td img,.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table th img{max-width:100%}.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.is-content-justification-center,.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.is-content-justification-left,.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.is-content-justification-right{display:flex;flex-flow:column}.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.is-content-justification-center figcaption,.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.is-content-justification-left figcaption,.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.is-content-justification-right figcaption{align-self:stretch}.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.is-content-justification-left{align-items:flex-start}.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.is-content-justification-center{align-items:center}.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.is-content-justification-right{align-items:flex-end}
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table{width:100%;max-width:100%;border-collapse:collapse;}.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.is-style-stripes tbody tr:nth-child(odd) th{background-color:#f0f0f1;}.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.is-style-stripes tbody tr:nth-child(odd) td{background-color:#f0f0f1;}.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.is-style-stripes tbody tr:nth-child(even) th{background-color:#ffffff;}.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.is-style-stripes tbody tr:nth-child(even) td{background-color:#ffffff;}.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr th,.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr td{padding:0.5em;border-width:1px;border-style:solid;border-color:#000000;text-align:center;vertical-align:middle;}.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr th{background-color:#f0f0f1;}.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr td{background-color:#ffffff;}@media screen and (min-width:769px){.wp-block-flexible-table-block-table.is-scroll-on-pc{overflow-x:scroll;}.wp-block-flexible-table-block-table.is-scroll-on-pc table{max-width:none;align-self:self-start;}}@media screen and (max-width:768px){.wp-block-flexible-table-block-table.is-scroll-on-mobile{overflow-x:scroll;}.wp-block-flexible-table-block-table.is-scroll-on-mobile table{max-width:none;align-self:self-start;}.wp-block-flexible-table-block-table table.is-stacked-on-mobile th,.wp-block-flexible-table-block-table table.is-stacked-on-mobile td{width:100%!important;display:block;}}

/* #4066 (2026-08-20): 枠内の横スワイプがページ側へ連鎖し、ページごと横に振れる（iOS で起きやすい）
   のを止める。表示は一切変えない。件3「iPhone で /message/ が横にはみ出す」の保険。 */
.wp-block-flexible-table-block-table{overscroll-behavior-x:contain}

/* ----------------------------------------
WordPress ブロックCSS の自前ホスト（#4066・2026-08-20）

⚠️ **旗の台は本文を「素のHTML」で保存している**（seeder が なみなみの描画後HTMLを入れる）。
一方 なみなみ は Gutenberg の**ブロック形式**で保存している。

WordPress は「そのページがどのブロックを使っているか」を**ブロック形式の本文から検出して**、
必要なブロックCSSだけを inline で出力する。素のHTMLだと**検出できないので一切出力されない**。

実測（2026-08-20・/service/ward-cancer-screening/）— なみなみだけが持っていた inline CSS:
  wp-block-columns-inline-css / core-block-supports-inline-css /
  wp-block-image-inline-css / wp-block-heading-inline-css /
  wp-block-list-inline-css / wp-block-paragraph-inline-css

このうち **wp-block-columns** が無いと `.wp-block-columns` が flex にならず、
**イラストとテキストの2カラムが縦積み**になる（オーナー指摘「子宮がん検診ページの
イラストとテキストの配置がなみなみと異なる」の直接の原因）。

`core-block-supports` はブロック属性から**ハッシュ名のクラス**を生成する仕組みで、
本文が素のHTMLだと生成されない。旗の台の本文で使われているのは
`wp-container-core-columns-is-layout-9d6595d7` の**1種類だけ**（全13箇所・実測）で、
なみなみが出しているものと同一なのでそのまま写した。

⚠️ 値は なみなみ本番から**そのまま写した**もの（推測で書いていない）。
本文に新しいレイアウトブロックを増やしたら、対応するCSSがここに要る。
---------------------------------------- */

/* --- wp-block-columns-inline-css --- */
.wp-block-columns{box-sizing:border-box;display:flex;flex-wrap:wrap!important}@media (min-width:782px){.wp-block-columns{flex-wrap:nowrap!important}}.wp-block-columns{align-items:normal!important}.wp-block-columns.are-vertically-aligned-top{align-items:flex-start}.wp-block-columns.are-vertically-aligned-center{align-items:center}.wp-block-columns.are-vertically-aligned-bottom{align-items:flex-end}@media (max-width:781px){.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis:100%!important}}@media (min-width:782px){.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis:0;flex-grow:1}.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column[style*=flex-basis]{flex-grow:0}}.wp-block-columns.is-not-stacked-on-mobile{flex-wrap:nowrap!important}.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column{flex-basis:0;flex-grow:1}.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column[style*=flex-basis]{flex-grow:0}:where(.wp-block-columns){margin-bottom:1.75em}:where(.wp-block-columns.has-background){padding:1.25em 2.375em}.wp-block-column{flex-grow:1;min-width:0;overflow-wrap:break-word;word-break:break-word}.wp-block-column.is-vertically-aligned-top{align-self:flex-start}.wp-block-column.is-vertically-aligned-center{align-self:center}.wp-block-column.is-vertically-aligned-bottom{align-self:flex-end}.wp-block-column.is-vertically-aligned-stretch{align-self:stretch}.wp-block-column.is-vertically-aligned-bottom,.wp-block-column.is-vertically-aligned-center,.wp-block-column.is-vertically-aligned-top{width:100%}

/* --- core-block-supports-inline-css --- */
.wp-container-core-columns-is-layout-9d6595d7{flex-wrap:nowrap;}

/* --- wp-block-image-inline-css --- */
.wp-block-image>a,.wp-block-image>figure>a{display:inline-block}.wp-block-image img{box-sizing:border-box;height:auto;max-width:100%;vertical-align:bottom}@media not (prefers-reduced-motion){.wp-block-image img.hide{visibility:hidden}.wp-block-image img.show{animation:show-content-image .4s}}.wp-block-image[style*=border-radius] img,.wp-block-image[style*=border-radius]>a{border-radius:inherit}.wp-block-image.has-custom-border img{box-sizing:border-box}.wp-block-image.aligncenter{text-align:center}.wp-block-image.alignfull>a,.wp-block-image.alignwide>a{width:100%}.wp-block-image.alignfull img,.wp-block-image.alignwide img{height:auto;width:100%}.wp-block-image .aligncenter,.wp-block-image .alignleft,.wp-block-image .alignright,.wp-block-image.aligncenter,.wp-block-image.alignleft,.wp-block-image.alignright{display:table}.wp-block-image .aligncenter>figcaption,.wp-block-image .alignleft>figcaption,.wp-block-image .alignright>figcaption,.wp-block-image.aligncenter>figcaption,.wp-block-image.alignleft>figcaption,.wp-block-image.alignright>figcaption{caption-side:bottom;display:table-caption}.wp-block-image .alignleft{float:left;margin:.5em 1em .5em 0}.wp-block-image .alignright{float:right;margin:.5em 0 .5em 1em}.wp-block-image .aligncenter{margin-left:auto;margin-right:auto}.wp-block-image :where(figcaption){margin-bottom:1em;margin-top:.5em}.wp-block-image.is-style-circle-mask img{border-radius:9999px}@supports ((-webkit-mask-image:none) or (mask-image:none)) or (-webkit-mask-image:none){.wp-block-image.is-style-circle-mask img{border-radius:0;-webkit-mask-image:url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50"/></svg>');mask-image:url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50"/></svg>');mask-mode:alpha;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}}:root :where(.wp-block-image.is-style-rounded img,.wp-block-image .is-style-rounded img){border-radius:9999px}.wp-block-image figure{margin:0}.wp-lightbox-container{display:flex;flex-direction:column;position:relative}.wp-lightbox-container img{cursor:zoom-in}.wp-lightbox-container img:hover+button{opacity:1}.wp-lightbox-container button{align-items:center;backdrop-filter:blur(16px) saturate(180%);background-color:#5a5a5a40;border:none;border-radius:4px;cursor:zoom-in;display:flex;height:20px;justify-content:center;opacity:0;padding:0;position:absolute;right:16px;text-align:center;top:16px;width:20px;z-index:100}@media not (prefers-reduced-motion){.wp-lightbox-container button{transition:opacity .2s ease}}.wp-lightbox-container button:focus-visible{outline:3px auto #5a5a5a40;outline:3px auto -webkit-focus-ring-color;outline-offset:3px}.wp-lightbox-container button:hover{cursor:pointer;opacity:1}.wp-lightbox-container button:focus{opacity:1}.wp-lightbox-container button:focus,.wp-lightbox-container button:hover,.wp-lightbox-container button:not(:hover):not(:active):not(.has-background){background-color:#5a5a5a40;border:none}.wp-lightbox-overlay{box-sizing:border-box;cursor:zoom-out;height:100vh;left:0;overflow:hidden;position:fixed;top:0;visibility:hidden;width:100%;z-index:100000}.wp-lightbox-overlay .close-button{align-items:center;cursor:pointer;display:flex;justify-content:center;min-height:40px;min-width:40px;padding:0;position:absolute;right:calc(env(safe-area-inset-right) + 16px);top:calc(env(safe-area-inset-top) + 16px);z-index:5000000}.wp-lightbox-overlay .close-button:focus,.wp-lightbox-overlay .close-button:hover,.wp-lightbox-overlay .close-button:not(:hover):not(:active):not(.has-background){background:none;border:none}.wp-lightbox-overlay .lightbox-image-container{height:var(--wp--lightbox-container-height);left:50%;overflow:hidden;position:absolute;top:50%;transform:translate(-50%,-50%);transform-origin:top left;width:var(--wp--lightbox-container-width);z-index:9999999999}.wp-lightbox-overlay .wp-block-image{align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:center;margin:0;position:relative;transform-origin:0 0;width:100%;z-index:3000000}.wp-lightbox-overlay .wp-block-image img{height:var(--wp--lightbox-image-height);min-height:var(--wp--lightbox-image-height);min-width:var(--wp--lightbox-image-width);width:var(--wp--lightbox-image-width)}.wp-lightbox-overlay .wp-block-image figcaption{display:none}.wp-lightbox-overlay button{background:none;border:none}.wp-lightbox-overlay .scrim{background-color:#fff;height:100%;opacity:.9;position:absolute;width:100%;z-index:2000000}.wp-lightbox-overlay.active{visibility:visible}@media not (prefers-reduced-motion){.wp-lightbox-overlay.active{animation:turn-on-visibility .25s both}.wp-lightbox-overlay.active img{animation:turn-on-visibility .35s both}.wp-lightbox-overlay.show-closing-animation:not(.active){animation:turn-off-visibility .35s both}.wp-lightbox-overlay.show-closing-animation:not(.active) img{animation:turn-off-visibility .25s both}.wp-lightbox-overlay.zoom.active{animation:none;opacity:1;visibility:visible}.wp-lightbox-overlay.zoom.active .lightbox-image-container{animation:lightbox-zoom-in .4s}.wp-lightbox-overlay.zoom.active .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.active .scrim{animation:turn-on-visibility .4s forwards}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active){animation:none}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container{animation:lightbox-zoom-out .4s}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .scrim{animation:turn-off-visibility .4s forwards}}@keyframes show-content-image{0%{visibility:hidden}99%{visibility:hidden}to{visibility:visible}}@keyframes turn-on-visibility{0%{opacity:0}to{opacity:1}}@keyframes turn-off-visibility{0%{opacity:1;visibility:visible}99%{opacity:0;visibility:visible}to{opacity:0;visibility:hidden}}@keyframes lightbox-zoom-in{0%{transform:translate(calc((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position)),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale))}to{transform:translate(-50%,-50%) scale(1)}}@keyframes lightbox-zoom-out{0%{transform:translate(-50%,-50%) scale(1);visibility:visible}99%{visibility:visible}to{transform:translate(calc((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position)),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale));visibility:hidden}}

/* --- wp-block-heading-inline-css --- */
h1:where(.wp-block-heading).has-background,h2:where(.wp-block-heading).has-background,h3:where(.wp-block-heading).has-background,h4:where(.wp-block-heading).has-background,h5:where(.wp-block-heading).has-background,h6:where(.wp-block-heading).has-background{padding:1.25em 2.375em}h1.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h1.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h2.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h2.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h3.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h3.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h4.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h4.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h5.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h5.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h6.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h6.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]){rotate:180deg}

/* --- wp-block-list-inline-css --- */
ol,ul{box-sizing:border-box}:root :where(.wp-block-list.has-background){padding:1.25em 2.375em}

/* --- wp-block-paragraph-inline-css --- */
.is-small-text{font-size:.875em}.is-regular-text{font-size:1em}.is-large-text{font-size:2.25em}.is-larger-text{font-size:3em}.has-drop-cap:not(:focus):first-letter{float:left;font-size:8.4em;font-style:normal;font-weight:100;line-height:.68;margin:.05em .1em 0 0;text-transform:uppercase}body.rtl .has-drop-cap:not(:focus):first-letter{float:none;margin-left:.1em}p.has-drop-cap.has-background{overflow:hidden}:root :where(p.has-background){padding:1.25em 2.375em}:where(p.has-text-color:not(.has-link-color)) a{color:inherit}p.has-text-align-left[style*="writing-mode:vertical-lr"],p.has-text-align-right[style*="writing-mode:vertical-rl"]{rotate:180deg}

/* --- global-styles（ブロック別の block-gap） ---
   WP は「そのページが使っているブロック」に対してだけ gap 規則を出す。
   素のHTML本文では wp-block-columns が検出されず、この1行が**出力されない**。
   その結果 `:where(.is-layout-flex){gap:0.5em}` にフォールバックし、
   カラム間が **32px → 8px** に詰まる（2026-08-20 実測: なみなみ394px幅/gap32、旗の台406px幅/gap8）。
   なみなみ本番の global-styles-inline-css からそのまま写した。 */
:where(.wp-block-columns.is-layout-flex){gap: 2em;}

/* ----------------------------------------
医師診察スケジュール（外来担当表）— #4066・2026-08-20

画像でなく HTML の表で出す（オーナー判断）。更新は data/doctor-schedule.json 差し替えのみ。
配色はテーマ既存のトークンに合わせる（生HEXの新規発明をしない）:
  見出し/罫線 #D96C56 ・ 本文見出し #8D5741 ・ 日曜/祝日 #C86B5E ・ 土曜 #5C8AA6
---------------------------------------- */
.doctor-schedule{max-width:1000px;margin:0 auto;padding:0 16px}
.doctor-schedule__head{display:flex;align-items:baseline;gap:16px;margin-bottom:16px;flex-wrap:wrap}
.doctor-schedule__title{font-size:24px;font-weight:500;color:#8D5741;border-left:2px solid #8D5741;padding-left:12px;line-height:1.5;margin:0}
.doctor-schedule__month{font-size:18px;color:#D96C56;margin:0;letter-spacing:.05em}
.doctor-schedule__caption{caption-side:top;text-align:left;font-size:13px;line-height:1.8;color:#7a7a7a;padding-bottom:8px}
.doctor-schedule__table{width:100%;border-collapse:collapse;table-layout:fixed}
.doctor-schedule__table th,.doctor-schedule__table td{border:1px solid #dcd6cd;vertical-align:top;padding:6px 4px}
.doctor-schedule__table th{background:#f3efe9;font-weight:500;font-size:14px;text-align:center;padding:8px 4px}
.doctor-schedule__table th.is-sat{color:#5C8AA6}
.doctor-schedule__table th.is-sun{color:#C86B5E}
.doctor-schedule__table td{height:96px;background:#fff}
.doctor-schedule__table td.is-empty{background:#faf8f5;border-color:#eae5dd}
.doctor-schedule__table td.is-closed{background:#f1eee9}
.doctor-schedule__day{display:block;font-size:13px;color:#8a8a8a;line-height:1.4}
.doctor-schedule__table td.is-sat .doctor-schedule__day{color:#5C8AA6}
.doctor-schedule__table td.is-sun .doctor-schedule__day{color:#C86B5E}
.doctor-schedule__note{display:block;font-size:11px;color:#a08e84;line-height:1.5;margin-top:2px}
.doctor-schedule__docs{list-style:none;margin:4px 0 0;padding:0}
.doctor-schedule__docs li{margin-bottom:4px;line-height:1.35}
.doctor-schedule__name{display:block;font-size:14px;color:#2C4A6E}
.doctor-schedule__hours{display:block;font-size:11px;color:#7a7a7a}
.doctor-schedule__foot{font-size:13px;color:#7a7a7a;line-height:1.8;margin-top:12px}
/* ---- SP（767px以下）も 7 列カレンダーを出す。横スクロールで読ませる（#4066・2026-08-20 オーナー判断）----
   経緯: 一度「SP は日付順の縦リスト」にしたが、1ヶ月分で 30 行＝かなり縦長になったため
   オーナー判断で**横スクロールする表**に戻した。表は overflow-x:auto の枠で必ず包む
   （包み忘れて表がページごとはみ出した前例あり → runbook 6af）。
   縦リスト（.doctor-schedule__lead / __list）はマークアップも CSS も残してあるが**非表示**。
   戻したくなったら下の display を入れ替えるだけでよい。 */
.doctor-schedule__lead{display:none}
.doctor-schedule__list{display:none}
.doctor-schedule__hint{display:none;font-size:12px;color:#a08e84;margin:0 0 6px;text-align:right;letter-spacing:.02em}

@media (max-width:767px){
  .doctor-schedule{padding:0 8px}
  .doctor-schedule__title{font-size:18px}

  /* 横スクロールできることを知らせる（出さないと「切れている」と誤解される） */
  .doctor-schedule__hint{display:block}

  /* 説明文は表の <caption> ではなく枠の外に出す。
     <caption> は表(640px)と同じ幅になるので、スクロール枠に入れると
     横に送らないと読めない。同じ文言の .doctor-schedule__lead を画面幅で出し、
     <caption> は隠す（文言は1箇所で管理・読み上げも二重にならない）。 */
  .doctor-schedule__lead{display:block;font-size:13px;line-height:1.8;color:#7a7a7a;margin:0 0 6px}
  .doctor-schedule__caption{display:none}

  /* 縦リストは非表示（残置。戻すなら __list を block にし、__scroll と __hint を none にする） */
  .doctor-schedule__list{display:none}
  .doctor-schedule__row{display:flex;align-items:baseline;gap:10px;padding:9px 4px;border-bottom:1px solid #dcd6cd}
  .doctor-schedule__row.is-closed{background:#f6f3ee}
  .doctor-schedule__rowday{flex:0 0 78px;font-size:14px;color:#4a4a4a;letter-spacing:.02em}
  .doctor-schedule__rowwd{font-size:12px}
  .doctor-schedule__row.is-sat .doctor-schedule__rowday{color:#5C8AA6}
  .doctor-schedule__row.is-sun .doctor-schedule__rowday{color:#C86B5E}
  /* min-width:0 が無いと、flex の既定 min-width:auto で中身が縮まず行が右にはみ出す */
  .doctor-schedule__rowbody{flex:1 1 auto;min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px}
  .doctor-schedule__rowdoc{display:inline-flex;align-items:baseline;gap:6px}
  .doctor-schedule__row .doctor-schedule__name{display:inline;font-size:15px;color:#2C4A6E}
  .doctor-schedule__row .doctor-schedule__hours{display:inline;font-size:12px;color:#7a7a7a}
  .doctor-schedule__rownote{font-size:12px;color:#a08e84}
  .doctor-schedule__row.is-closed .doctor-schedule__rownote{color:#a89e94}
}

/* SP の横スクロール本体。min-width を持つ表は**必ず** overflow-x:auto の親で包む
   （包み忘れて表がページごとはみ出した前例あり → runbook 6af）。
   overscroll-behavior-x:contain は、枠内の横スワイプがページ側に連鎖して
   ページごと横に振れる（iOS で起きやすい）のを止める。 */
.doctor-schedule__scroll{max-width:100%}
@media (max-width:767px){
  /* ⚠️ table-layout は **fixed**（PC と同じ＝等幅）。
     以前は auto で、列幅が中身任せになり実測で 59〜124px とバラついていた
     （2026-09-04 オーナー指摘「SP版で各日のセルのサイズを統一してほしい」・#8159）。

     min-width は「**一番長い医師名が折り返さない**」ことから決めている:
       ・最長は「イズデプスキ」= 84px（14px / Zen Kaku Gothic Antique・実測）
       ・1列 = 700/7 = 100px、padding 4+4 と罫線を引いて中身に使えるのが 91px
     640px に戻すと 1列 82px しか無く折り返す → **その行だけ高くなって不揃いに戻る**。
     医師名がこれより長くなったら min-width を上げること（折り返した時点で崩れる）。 */
  .doctor-schedule__table{table-layout:fixed;min-width:700px}
  /* 高さも PC と揃える。中身の最大が約 91px なので 96px なら全行が同じ高さになる
     （td の height は表では最小値として効く。足りないと中身のある行だけ伸びる） */
  .doctor-schedule__table td{height:96px}
  .doctor-schedule__scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
}

/* TOP: 診療時間の下の「医師診察スケジュールはこちら」リンク（#4066）
   表は医師紹介ページに置き、TOP からは動線だけ張る（TOP を縦に伸ばさない） */
.Info-time__schedule-link{margin:12px 0 0;text-align:right;font-size:14px;line-height:1.8}
.Info-time__schedule-link a{color:#8D5741;text-decoration:underline;text-underline-offset:3px}
@media (max-width:767px){.Info-time__schedule-link{text-align:center;font-size:13px}}

/* ---- 複数月をタブで切り替える（#8159・2026-09-04 オーナー判断「案A」）----

   JS を使わない。`<input type="radio">`＋`<label>` を月ごとに並べ、隣接セレクタで
   「選ばれたラベルの次のパネル」だけを出す。月が何個あっても CSS 側に上限を書かずに済む
   （nth-child で切り替える書き方だと N 個ぶん規則を並べることになり、N を超えた月が
   黙って開かなくなる＝engineering-principles.md「禁じ手: 黙って上限で打ち切る」）。

   DOM は「ラジオ → ラベル → パネル」の3つ組を月ごとに繰り返す。
   見た目で「ラベル全部 → パネル全部」にするのは flex の order。

   ⚠️ パネルを隠すのは `--tabs` が付いたときだけ。付け忘れても**全月が出る**側に倒す
      （1つも出ない、が起きない）。 */
.doctor-schedule__months{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.doctor-schedule__panel{order:2;width:100%}
/* ラジオ本体は視覚的に隠すが、フォーカスと読み上げには残す（display:none にしない） */
.doctor-schedule__radio{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.doctor-schedule__tab{order:1;display:inline-block;font-size:14px;line-height:1;padding:9px 20px;border:1px solid #dcd6cd;border-radius:999px;background:#fff;color:#8D5741;cursor:pointer;letter-spacing:.03em;transition:background-color .15s,border-color .15s,color .15s}
.doctor-schedule__tab:hover{border-color:#D96C56}
.doctor-schedule__radio:checked+.doctor-schedule__tab{background:#D96C56;border-color:#D96C56;color:#fff}
.doctor-schedule__radio:focus-visible+.doctor-schedule__tab{outline:2px solid #8D5741;outline-offset:2px}
.doctor-schedule__months--tabs{margin-bottom:4px}
.doctor-schedule__months--tabs .doctor-schedule__panel{display:none;margin-top:6px}
.doctor-schedule__radio:checked+.doctor-schedule__tab+.doctor-schedule__panel{display:block}

@media (max-width:767px){
  .doctor-schedule__months{gap:6px}
  .doctor-schedule__tab{font-size:13px;padding:8px 16px}
}

/* 印刷は切り替えられない。タブを消して全月を出す（片方だけ刷って気づかない、を避ける）。
   月は各表の <caption> が持っているので、ラベルが消えても何月かは分かる。 */
@media print{
  .doctor-schedule__tab{display:none}
  .doctor-schedule__months--tabs .doctor-schedule__panel{display:block;margin-top:16px}
}
