@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@300;400;500;700;800;900&display=swap');
@import url('https://cdn.jsdelivr.net/npm/yakuhanjp@4.1.1/dist/css/yakuhanrp_s.css');

/*
デフォルト設定上書き
*/
:root {
  --vk-color-text-body: #2655A2;/*基本文字色変更*/
  --color-pink: #FF95BD;
  --main-bg-color: #FDF7EB;
  --hd-height: 95px;
  --hd-height_sp: 60px;
}
body, html {
  font-family: YakuHanRPs, "M PLUS Rounded 1c", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  font-style: normal;
  min-height: 100vh;
}
html {
  scroll-behavior: smooth;/*スムーススクロール用*/
}
img{
  vertical-align: top;
}
.header_scrolled .site-header-logo{/*固定ヘッダーでもロゴを表示*/
  display: block;
}
.site-footer-copyright p:nth-child(2) {/* Powered by 非表示 */
  display:none;
}
@media (min-width: 1200px) {
  .container, .container-lg, .container-md, .container-sm, .container-xl {
      max-width: 950px;
  }
}
@media (max-width: 767.98px) {
  body, html {
    font-size: calc(var(--vk-size-text) * .9375);
  }
}

/*
カスタマイズ
*/
/*******
Common
*******/
h1, h2, h3, h4, h5, h6{
  margin-bottom: 0;
  font-weight: 500;
}
dl+h1, dl+h2, dl+h3, dl+h4, dl+h5, dl+h6, ol+h1, ol+h2, ol+h3, ol+h4, ol+h5, ol+h6, p+h1, p+h2, p+h3, p+h4, p+h5, p+h6, table+h1, table+h2, table+h3, table+h4, table+h5, table+h6, ul+h1, ul+h2, ul+h3, ul+h4, ul+h5, ul+h6{
  margin-top: 1.8em;
}
.title-fontXXXL{
  font-size: 45px !important;
}
.title-fontXXL{
  font-size: 38px !important;
}
.title-fontXL{
  font-size: 30px !important;
  letter-spacing: .05em;
}
.title-fontL{
  font-size: 26px !important;
}
.title-fontM{
  font-size: 23px;
}
.title-fontS{
  font-size: 20px;
}
.title-fontXS{
  font-size: 18px;
}
.font-sml{
  font-size: .8em;
}
.font-weight-medium {
  font-weight: 500!important
}
.font-weight-extraBold {
  font-weight: 800!important
}
@media (max-width:767.98px) {
  .title-fontXXXL{
    font-size: 30px !important;
  }
  .title-fontXXL{
    font-size: 30px !important;
  }
  .title-fontXL{
    font-size: 22px !important;
  }
  .title-fontL{
    font-size: 20px !important;
  }
  .title-fontM{
    font-size: 18px;
  }
  .title-fontS{
    font-size: 18px;
  }
  .title-fontXS{
    font-size: 16px;
  }
.font-sml_sp{
    font-size: .8em;
  }
}
/* Link Button */
a.img-hover{
  transition: .2s;
}
a.img-hover:hover{
  opacity: .6;
}
a.link-arrow,
.link-arrow a{
  color: var(--vk-color-text-body);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-size: 18px;
  font-weight: 500;
  text-decoration: none;
}
.justify-content-end.link-arrow a{
  justify-content: flex-end;
}
a.link-arrow::after,
.link-arrow a::after{
  content: "";
  display: block;
  background: var(--color-pink) url(/wp-content/uploads/2025/07/arrow_right_mini.png) 50% 46% / 46% auto no-repeat;
  border-radius: 100vh;
  height: 2em;
  width: 2em;
  transition: .3s;
}
a.link-arrow:hover::after,
.link-arrow a:hover::after{
  transform: translateX(4px);
}
a.link-arrow.-back,
.link-arrow.-back a{
  flex-direction: row-reverse;
}
a.link-arrow.-back::after,
.link-arrow.-back a::after{
  background-color: var(--vk-color-text-body);
  transform: scale(-1,1);
}
a.link-arrow.-back:hover::after,
.link-arrow.-back a:hover::after{
  transform: translateX(-4px) scale(-1,1);
}
.wp-block-buttons .wp-block-button__link,
.btn{
  background: var(--vk-color-text-body);
  border: none;
  box-shadow: 0 6px 0 var(--color-pink);
  border-radius: 100vh;
  color: #FFF;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 21px;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.3;
  margin-inline: auto;
  max-width: 100%;
  min-width: 325px;
  min-height: 77px;
  padding: 15px 50px;
  text-align: center;
  transition: .3s;
  width: fit-content;
}
.wp-block-buttons .wp-block-button__link:hover,
.btn:hover,
.btn.-small:hover{
  color: #FFF;
  background: var(--vk-color-text-body);
  box-shadow: 0 3px 0 var(--color-pink);
  filter: none;
  transform: translateY(3px);
}
.btn.-small{
  box-shadow: 0 6px 0 var(--color-pink);
  font-size: 17px;
  min-height: 63px;
}
.btn.-pink{
  background-color: var(--color-pink);
  box-shadow: 0 6px 0 var(--vk-color-text-body);
}
.btn.-pink:hover{
  box-shadow: 0 3px 0 var(--vk-color-text-body);
}
.btn.-arrow{
  padding: 15px 30px 15px 50px;
}
.btn.-arrow::after{
  content: "";
  display: block;
  background: url(/wp-content/uploads/2025/07/arrow_right_long.png) center center / contain no-repeat;
  margin-left: 1.4em;
  margin-bottom: .2em;
  height: .7em;
  width: 1.6em;
}
.btn.-arrow.-small::after{
  height: .6em;
  width: 1.5em;
}
.btn.-full{
  width: 100%;
}
@media (max-width:767.98px) {
  a.link-arrow, .link-arrow a{
    font-size: 15px;
  }
  .wp-block-buttons .wp-block-button__link,
  .btn{
    font-size: 17px;
    min-height: 60px;
    min-width: 248px;
    padding: 13px 20px 11px;
  }
  .btn.-arrow{
    padding: 18px 20px 18px 30px;
  }
  .btn.-full_sp{
    width: 100%;
  }
}
/* spacer */
.mt0{margin-top: 0 !important;}
.mt5{margin-top: 5px !important;}
.mt10{margin-top: 10px !important;}
.mt15{margin-top: 15px !important;}
.mt20{margin-top: 20px !important;}
.mt25{margin-top: 25px !important;}
.mt30{margin-top: 30px !important;}
.mt35{margin-top: 35px !important;}
.mt40{margin-top: 40px !important;}
.mt45{margin-top: 45px !important;}
.mt50{margin-top: 50px !important;}
.mt55{margin-top: 55px !important;}
.mt60{margin-top: 60px !important;}
.mt65{margin-top: 65px !important;}
.mt70{margin-top: 70px !important;}
.mt75{margin-top: 75px !important;}
.mt80{margin-top: 80px !important;}
.mt85{margin-top: 85px !important;}
.mt90{margin-top: 90px !important;}
.mt95{margin-top: 95px !important;}
.mt100{margin-top: 100px !important;}
.mb0{margin-bottom: 0 !important;}
.mb5{margin-bottom: 5px !important;}
.mb10{margin-bottom: 10px !important;}
.mb15{margin-bottom: 15px !important;}
.mb20{margin-bottom: 20px !important;}
.mb25{margin-bottom: 25px !important;}
.mb30{margin-bottom: 30px !important;}
.mb35{margin-bottom: 35px !important;}
.mb40{margin-bottom: 40px !important;}
.mb45{margin-bottom: 45px !important;}
.mb50{margin-bottom: 50px !important;}
.mb55{margin-bottom: 55px !important;}
.mb60{margin-bottom: 60px !important;}
.mb65{margin-bottom: 65px !important;}
.mb70{margin-bottom: 70px !important;}
.mb75{margin-bottom: 75px !important;}
.mb80{margin-bottom: 80px !important;}
.mr0{margin-right: 0 !important;}
.mr5{margin-right: 5px !important;}
.mr10{margin-right: 10px !important;}
.mr15{margin-right: 15px !important;}
.mr20{margin-right: 20px !important;}
.mr25{margin-right: 25px !important;}
.mr30{margin-right: 30px !important;}
.mr35{margin-right: 35px !important;}
.mr40{margin-right: 40px !important;}
.mr45{margin-right: 45px !important;}
.mr50{margin-right: 50px !important;}
.pl1em{padding-left: 1em;}
@media (min-width:768px) {
  .mt0_pc{margin-top: 0 !important;}
  .mt5_pc{margin-top: 5px !important;}
  .mt10_pc{margin-top: 10px !important;}
  .mt15_pc{margin-top: 15px !important;}
  .mt20_pc{margin-top: 20px !important;}
  .mt25_pc{margin-top: 25px !important;}
  .mt30_pc{margin-top: 30px !important;}
  .mt35_pc{margin-top: 35px !important;}
  .mt40_pc{margin-top: 40px !important;}
  .mt45_pc{margin-top: 45px !important;}
  .mt50_pc{margin-top: 50px !important;}
  .mt55_pc{margin-top: 55px !important;}
  .mt60_pc{margin-top: 60px !important;}
  .mt65_pc{margin-top: 65px !important;}
  .mt70_pc{margin-top: 70px !important;}
  .mt75_pc{margin-top: 75px !important;}
  .mt80_pc{margin-top: 80px !important;}
  .mt85_pc{margin-top: 85px !important;}
  .mt90_pc{margin-top: 90px !important;}
  .mt95_pc{margin-top: 95px !important;}
  .mt100_pc{margin-top: 100px !important;}
  .mr0_pc{margin-right: 0 !important;}
  .mr5_pc{margin-right: 5px !important;}
  .mr10_pc{margin-right: 10px !important;}
  .mr15_pc{margin-right: 15px !important;}
  .mr20_pc{margin-right: 20px !important;}
  .mr25_pc{margin-right: 25px !important;}
  .mr30_pc{margin-right: 30px !important;}
  .mr35_pc{margin-right: 35px !important;}
  .mr40_pc{margin-right: 40px !important;}
  .mr45_pc{margin-right: 45px !important;}
  .mr50_pc{margin-right: 50px !important;}
  .pl1em_pc{padding-left: 1em;}
}
@media (max-width:767.98px) {
  .mt0_sp{margin-top: 0 !important;}
  .mt5_sp{margin-top: 5px !important;}
  .mt10_sp{margin-top: 10px !important;}
  .mt15_sp{margin-top: 15px !important;}
  .mt20_sp{margin-top: 20px !important;}
  .mt25_sp{margin-top: 25px !important;}
  .mt30_sp{margin-top: 30px !important;}
  .mt35_sp{margin-top: 35px !important;}
  .mt40_sp{margin-top: 40px !important;}
  .mt45_sp{margin-top: 45px !important;}
  .mt50_sp{margin-top: 50px !important;}
  .mt55_sp{margin-top: 55px !important;}
  .mt60_sp{margin-top: 60px !important;}
  .mt65_sp{margin-top: 65px !important;}
  .mt70_sp{margin-top: 70px !important;}
  .mt75_sp{margin-top: 75px !important;}
  .mt80_sp{margin-top: 80px !important;}
  .mt85_sp{margin-top: 85px !important;}
  .mt90_sp{margin-top: 90px !important;}
  .mt95_sp{margin-top: 95px !important;}
  .mt100_sp{margin-top: 100px !important;}
  .mb0_sp{margin-bottom: 0 !important;}
  .mb5_sp{margin-bottom: 5px !important;}
  .mb10_sp{margin-bottom: 10px !important;}
  .mb15_sp{margin-bottom: 15px !important;}
  .mb20_sp{margin-bottom: 20px !important;}
  .mb25_sp{margin-bottom: 25px !important;}
  .mb30_sp{margin-bottom: 30px !important;}
  .mb35_sp{margin-bottom: 35px !important;}
  .mb40_sp{margin-bottom: 40px !important;}
  .mb45_sp{margin-bottom: 45px !important;}
  .mb50_sp{margin-bottom: 50px !important;}
  .mb55_sp{margin-bottom: 55px !important;}
  .mb60_sp{margin-bottom: 60px !important;}
  .mb65_sp{margin-bottom: 65px !important;}
  .mb70_sp{margin-bottom: 70px !important;}
  .mb75_sp{margin-bottom: 75px !important;}
  .mb80_sp{margin-bottom: 80px !important;}
  .mr0_sp{margin-right: 0 !important;}
  .mr5_sp{margin-right: 5px !important;}
  .mr10_sp{margin-right: 10px !important;}
  .mr15_sp{margin-right: 15px !important;}
  .mr20_sp{margin-right: 20px !important;}
  .mr25_sp{margin-right: 25px !important;}
  .mr30_sp{margin-right: 30px !important;}
  .mr35_sp{margin-right: 35px !important;}
  .mr40_sp{margin-right: 40px !important;}
  .mr45_sp{margin-right: 45px !important;}
  .mr50_sp{margin-right: 50px !important;}
  .pl1em_sp{padding-left: 1em;}
}
/* block */
.box-round{
  border-radius: 30px;
  padding: 38px 30px 44px;
}
.box-round.-yellow{
  background-color: var(--main-bg-color);
}
@media (max-width:767.98px) {
  .box-round{
    border-radius: 20px;
    padding: 25px 22px 30px;
  }
}
/* アニメーション */
.js-animation{
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .5s linear, transform .5s linear;
  transition-delay: .3s;
}
.js-animation.-show{
  opacity: 1;
  transform: none;
}
/* ページトップ */
.page_top_btn{
  background: var(--vk-color-text-body) url(/wp-content/uploads/2025/07/arrow_page_top.png) center center / 30% no-repeat;
  box-shadow: none;
  border-radius: 100vh;
  transition: .3s;
  height: 50px;
  width: 50px;
  z-index: 1000;
}
.page_top_btn:hover{
  transform: translateY(-5px);
  transition: .3s;
}
@media (max-width:767.98px) {
  .page_top_btn{
    height: 40px;
    width: 40px;
  }
}

/*******
  ヘッダー、フッター
*******/
.site-header{
  background: #FFF;
  box-shadow: 0 0 4px rgba(0, 0, 0, .3);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
}
.header_scrolled .site-header{
  animation: none !important;
}
.site-header--layout--nav-float .site-header-container {
  max-width: initial;
  padding: 0;
}
.site-header--layout--nav-float .site-header-logo a,
.global-nav-list>li:not(.menu-item-tel)>a{
  transition: .2s;
}
.site-header--layout--nav-float .site-header-logo a:hover,
.global-nav-list>li:not(.menu-item-tel)>a:hover{
  opacity: .6;
}
.vk-mobile-nav{
  background: var(--main-bg-color);
  padding: 110px 0 0;
  display: flex;
  flex-direction: column;
  transition: opacity .3s, visibility .3s;
}
.vk-mobile-nav nav{
  flex: 1;
}
.vk-mobile-nav nav>ul,
.vk-mobile-nav .widget_nav_menu ul li a,
.vk-mobile-nav nav ul li a{
  border: none;
}
.vk-mobile-nav nav>ul{
  max-width: fit-content;
  margin:  0 auto;
}
.vk-mobile-nav .widget_nav_menu ul li a,
.vk-mobile-nav nav ul li a{
  color: var(--vk-color-text-body);
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: .1em;
  padding: .6em 0;
  padding-left: 1.6em !important;
}
.global-nav-list>li .global-nav-name{
  font-size: 18px;
  font-weight: 500;
  letter-spacing: .05em;
}
.vk-mobile-nav nav ul li.menu-item-tel{
  display: none;
}
.global-nav-list>li:not(.menu-item-tel) .global-nav-name,
.vk-mobile-nav nav ul li a,
.global-nav-list>li:not(.menu-item-tel):nth-child(4n+2) .global-nav-name,
.vk-mobile-nav nav ul li:nth-child(4n+2) a{
  background: url(/wp-content/uploads/2025/07/menu_deco2.png) left center / 1.1em auto no-repeat;
  padding-left: 1.4em;
}
.global-nav-list>li:not(.menu-item-tel):nth-child(4n+1) .global-nav-name,
.vk-mobile-nav nav ul li:nth-child(4n+1) a{
  background-image: url(/wp-content/uploads/2025/07/menu_deco1.png);
  padding-left: 1.5em;
}
.global-nav-list>li:not(.menu-item-tel):nth-child(4n+3) .global-nav-name,
.vk-mobile-nav nav ul li:nth-child(4n+3) a{
  background-image: url(/wp-content/uploads/2025/07/menu_deco3.png);
  padding-left: 1.5em;
}
.global-nav-list .menu-item-tel{
  background-image: none;
  background: var(--vk-color-text-body);
}
.global-nav-list .menu-item-tel a{
  color: #FFF;
  cursor: default;
}
.global-nav-list .menu-item-tel .global-nav-name{
  background: url(/wp-content/uploads/2025/07/tel.png) center center / contain no-repeat;
  -webkit-filter: brightness(0) invert(1);
  filter: brightness(0) invert(1);
  height: 25px;
  width: 100%;
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
}
.global-nav-list .menu-item-tel .global-nav-description{
  font-size: 11px;
  font-weight: 300;
  letter-spacing: .01em;
  line-height: 1.5;
  text-align: left;
  overflow: initial;
  opacity: 1;
  white-space: initial;
}
.vk-mobile-nav-menu-btn,
.vk-mobile-nav-menu-btn.menu-open{
  border: none;
}
.vk-mobile-nav-menu-btn{
  background: url(/wp-content/uploads/2025/07/ico_menu.png) center center / 60% no-repeat;
  left: initial;
  right: 5px;
  top: 0;
  height: 60px;
  width: 50px;
}
.vk-mobile-nav-menu-btn.menu-open{
  background: url(/wp-content/uploads/2025/07/ico_menu_close.png) center center / 60% no-repeat;
}
.admin-bar .vk-mobile-nav.vk-mobile-nav-drop-in,
.vk-mobile-nav.vk-mobile-nav-drop-in{
  top: 0;
  opacity: 0;
  visibility: hidden;
}
.vk-mobile-nav.vk-mobile-nav-open.vk-mobile-nav-drop-in,
.vk-mobile-nav.vk-mobile-nav-open.vk-mobile-nav-left-in,
.vk-mobile-nav.vk-mobile-nav-open.vk-mobile-nav-right-in{
  opacity: 1;
  visibility: initial;
}
/* 電話ブロック */
.widget:has(.nav_contact),
.widget:has(.footer_contact){
  background: var(--vk-color-text-body);
  color: #FFF;
  margin-bottom: 10px;
  padding: 20px 10px 18px;
}
.widget:has(.nav_contact) figure,
.widget:has(.footer_contact) figure{
  text-align: center;
}
.widget:has(.nav_contact) figure img,
.widget:has(.footer_contact) figure img{
  -webkit-filter: brightness(0) invert(1);
  filter: brightness(0) invert(1);
  max-width: 260px;
  width: 64%;
}
.widget:has(.nav_contact) p,
.widget:has(.footer_contact) p{
  font-size: 12px;
  font-weight: 300;
  line-height: 1.5;
  margin-top: 7px;
  margin-bottom: 0 !important;
  width: fit-content;
}
.widget:has(.nav_copyright) p{
  color: #808080;
  font-size: 12px;
  margin-bottom: 10px;
}
/* フッター */
.site-footer-content{
  padding-top: 70px;
}
.site-footer-copyright{
  padding-bottom: 5px;
}
.site-footer-copyright p{
  color: #808080;
  margin: 0;
}
@media (min-width: 992px) {
  .site-header{
    box-shadow: 0 1px 8px rgba(0, 0, 0, .3);
  }
  .header_scrolled .site-header{
    width: 100%;
  }
  .site-header--layout--nav-float .site-header-container{
    height: 95px;
    align-items: center;
  }
  .site-header--layout--nav-float .site-header-logo {
    padding: 0;
    margin: .9em 1.1em;
    max-width: 235px;
  }
  .site-header .global-nav,
  .header_scrolled .site-header .global-nav{
    height: 100%;
    margin-right: 0;
  }
  .device-pc .global-nav-list>li>a{
    padding: 14px 1.2em 10px;
  }
  .global-nav--layout--float-right .global-nav-list{
    height: 100%;
  }
  .global-nav-list .menu-item-tel{
    margin-left: 1.5em;
    width: 248px;
  }
  .device-pc .global-nav-list .menu-item-tel a{
    padding: 14px 1.5em;
  }
  /* フッター */
  .widget:has(.footer_contact){
    display: none;
  }
}
@media (max-width: 991.98px) {
  .site-header{
    display: flex;
    align-items: center;
    height: 60px;
    /* position: fixed;
    top: 0;
    left: 0; */
    z-index: 2001;
  }
  .site-header-logo{
    margin: 0;
    padding: 0 0 0 1.1rem;
  }
  .site-header-logo img {
    max-height: 29px;
    margin-inline: 0;
  }
  /* フッター */
  .site-footer{
    position: sticky;
    top: 100vh;
    width: 100%;
  }
  .site-footer .container{
    padding-inline: 0;
    max-width: initial;
  }
  .site-footer .row{
    margin-inline: 0;
  }
  .site-footer .row > div{
    padding-inline: 0;
    flex: auto;
    max-width: initial;
  }
  .widget:has(.footer_contact){
    margin-top: 0;
    margin-bottom: 18px;
  }
  .site-footer-content{
    padding-top: 0;
  }
  .site-footer-content .row{
    justify-content: center;
  }
  .site-footer-content .row > div:first-child,
  .site-footer-content .row > div:last-child{/* 真ん中以外のフッターウィジェットを削除 */
    display: none;
  }
  footer .footer_logo{
    max-width: 182px;
  }
  .site-footer-copyright{
    padding-top: 0;
  }
}


/*******
  TOP common
*******/
.page-top p{
  font-size: 18px;
}
.site-body.site-body--padding-vertical--off{
  margin-top: var(--hd-height);
}
@media (max-width: 991.98px){
  .site-body.site-body--padding-vertical--off{
    margin-top: var(--hd-height_sp);
  }
}
@media (max-width:767.98px) {
  .page-top p{
    font-size: 15px;
  }
}
/**
  MV
**/
.mv{
  background-color: var(--main-bg-color);
  display: flex;
  padding-bottom: 85px;
}
.mv .mv_logo{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-inline: 5.5% 4.2%;
  width: 27.5%;
}
.mv .mv_logo figure{
  margin-bottom: 0;
}
.mv .mv_logo .mv_logo_copy{
  font-size: 0;
  line-height: 1;
  margin-block: 13% 22%;
  width: 86%;
}
.mv .mv_photo{
  flex: 1;
  position: relative;
}
.mv .mv_photo::before,
.mv .mv_photo::after{
  content: "";
  display: block;
  position: absolute;
}
.mv .mv_photo::before{
  background: url(/wp-content/uploads/2025/07/mv_deco1.png) center center / contain no-repeat;
  top: 3.5%;
  left: -6.3%;
  height: 17%;
  width: 12.5%;
}
.mv .mv_photo::after{
  background: url(/wp-content/uploads/2025/07/mv_deco2.png) bottom right / contain no-repeat;
  bottom: -4.5%;
  right: 6px;
  height: 100%;
  width: 85.5%;
}
/* MVアニメーション */
.mv .mv_logo_copy.js-animation{
  opacity: 0;
  transform: translateY(15px);
  transition: .9s;
  transition-delay: .9s;
}
.mv .mv_logo_img.js-animation{
  opacity: 0;
  transform: translateY(15px);
  transition: .9s;
  transition-delay: 1.2s;
}
.mv .mv_photo.js-animation{
  opacity: 1;
  transform: none;
}
.mv .mv_photo.js-animation::before{
  opacity: 0;
  transform: translateX(15px) translateY(10px) rotate(-3deg);
  transition: .8s;
}
.mv .mv_photo.js-animation::after{
  opacity: 0;
  transform: translateY(10px);
  transition: .8s;
  transition-delay: .2s;
}
.mv .mv_logo_copy.js-animation.-show,
.mv .mv_logo_img.js-animation.-show,
.mv .mv_photo.js-animation.-show::before,
.mv .mv_photo.js-animation.-show::after{
  opacity: 1;
  transform: none;
}
@media (max-width:767.98px) {
  .mv{
    padding-bottom: 48px;
    flex-direction: column-reverse;
  }
  .mv .mv_logo{
    margin-top: 58px;
    padding: 0;
    width: 38.5%;
  }
  .mv .mv_logo .mv_logo_copy{
    margin-block: 0 22%;
  }
  .mv .mv_photo::before{
    top: 2%;
    left: 5.9%;
    height: 17%;
    width: 20%;
  }
  .mv .mv_photo::after{
    background-image: url(/wp-content/uploads/2025/07/mv_deco2_sp.png);
    bottom: -3.5%;
    width: 89.5%;
  }
}

/**
  診療案内
**/
.info{
  background: url(/wp-content/uploads/2025/07/frame1.png) top center / 100% auto no-repeat;
  padding-top: 1px;
}
.info > .container{
  max-width: 960px;
}
.info-block{
  background: rgba(255,255,255,.6);
  border: 4px solid var(--color-pink);
  border-radius: 70px;
  padding: 52px 65px;
  position: relative;
}
.info-block::before,
.info-block::after{
  content: "";
  display: block;
  position: absolute;
}
.info-block::before{
  background: url(/wp-content/uploads/2025/07/deco_apple.png) center center / contain no-repeat;
  left: -43px;
  top: -40px;
  height: 58px;
  width: 56px;
}
.info-block::after{
  background: url(/wp-content/uploads/2025/07/deco_flower.png) center center / contain no-repeat;
  right: -58px;
  bottom: -25px;
  height: 76px;
  width: 55px;
}
.info-block p{
  margin-bottom: 0;
}
.container .label-round-pink{
  background: var(--color-pink);
  border-radius: 100vh;
  color: #FFF;
  font-size: 22px;
  font-weight: 500;
  letter-spacing: .2em;
  padding: .09em 1.1em .08em 1.4em;
  margin-bottom: 0 !important;
  text-align: center;
  width: fit-content;
}
.info-block .info_item:not(:first-child){
  margin-top: 32px;
}
.info-block .info_text{
  font-size: 26px;
  font-weight: 500;
}
.info-block .info_table{
  border: none;
  table-layout: fixed;
}
.info-block .info_table :is(th,td){
  border: none;
  border-right: 3px solid var(--vk-color-text-body);
  border-bottom: 3px solid var(--vk-color-text-body);
  font-weight: 500;
}
.info-block .info_table thead th:not(.info_table-title){
  font-size: 25px;
  padding: .2rem 1rem .8rem;
  text-align: center;
  width: auto;
}
.info-block .info_table thead th.info_table-title{
  padding: 0;
  vertical-align: top;
  width: 172px;
}
.info-block .info_table tbody th{
  font-size: 21px;
  letter-spacing: -.05em;
  height: 44px;
  padding: .2rem .1rem;
  text-align: center;
}
.info-block .info_table tbody td{
  font-size: 16px;
  padding: .5rem .3rem .4em;
  text-align: center;
  vertical-align: middle;
}
.info-block .info_table tbody td p{
  font-size: 16px;
}
.info-block .info_table_close{
  background: #E6E6E6;
}
.p-ico-caution{
  display: flex;
  align-items: flex-start;
  font-feature-settings: "palt";
  line-height: 1.2;
}
.p-ico-caution .p-ico_icon{
  line-height: 1;
  margin-right: .3em;
  margin-top: -.1em;
  width: 1.4em;
}
.p-ico-caution .p-ico_text{
  flex: 1;
}
.p-ico-circle,
.p-ico-triangle{
  display: flex;
  justify-content: center;
}
.p-ico-circle::before,
.p-ico-triangle::before{
  content: "";
  display: block;
  height: 1.2em;
  width: 1.2em;
}
.p-ico-circle.-text,
.p-ico-triangle.-text{
  line-height: 1.2;
}
.p-ico-circle.-text::before,
.p-ico-triangle.-text::before{
  margin-right: .5em;
  margin-top: -.15em;
  height: 1.4em;
  width: 1.4em;
}
.p-ico-circle.-text .p-ico_text,
.p-ico-triangle.-text .p-ico_text{
  flex: 1;
}
.p-ico-circle::before{
  background: url(/wp-content/uploads/2025/07/ico_circle.png) center center / contain no-repeat;
}
.p-ico-triangle::before{
  background: url(/wp-content/uploads/2025/07/ico_triangle.png) center center / contain no-repeat;
}
.info-block .info_table .p-ico-caution{
  justify-content: center;
}
.info-block .info_table .p-ico-caution .p-ico_text{
  flex: initial;
  text-align: left;
}
.info .info_table_caution{
  flex-wrap: wrap;
  gap: 8px 30px;
}
.info .info_table_caution p{
  font-size: 14px;
  line-height: 1.2;
  margin-bottom: 0 !important;
}
@media (min-width:992px) {
  .info > .container{
    padding-top: 95px;
    margin-top: -95px;
  }
}
@media (max-width:991.98px) {
  .info > .container{
    padding-top: 40px;
    margin-top: -40px;
  }
  .info-block{
    border-radius: 50px;
    padding-inline: 30px;
  }
}
@media (max-width:767.98px) {
  .info{
    background-image: url(/wp-content/uploads/2025/08/frame1_sp.png);
    padding-top: 25px;
  }
  .info-block{
    border-radius: 21px;
    border-width: 3px;
    padding: 45px 15px 22px;
  }
  .info-block::before{
    left: -17px;
    top: -42px;
    height: 58px;
    width: 11%;
    transform: rotate(8deg);
  }
  .info-block::after{
    right: -17px;
    bottom: -41px;
    height: 46px;
    width: 33px;
    transform: rotate(28deg);
  }
  .info-block .info_item{
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .container .label-round-pink{
    font-size: 1.15rem;
    padding: .04em 1em .04em 1.2em;
  }
  .info-block .info_item .label-round-pink{
    margin-bottom: 12px;
  }
  .info-block .info_text{
    font-size: 1.3rem;
    margin-top: 10px;
  }
  .info-block .info_item:not(:first-child){
    margin-top: 48px;
  }
  .info-block .info_item:not(:first-child) .label-round-pink{
    margin-bottom: 40px;
  }
  .info-block .info_table{
    margin-top: 30px;
  }
  .info-block .info_table :is(th,td){
    border-right-width: 2px;
    border-bottom-width: 2px;
  }
  .info-block .info_table thead th:not(.info_table-title){
    font-size: 16px;
    line-height: 1.1;
    padding: .7rem 0rem .8rem;
  }
  .info-block .info_table thead th.info_table-title{
    width: 50px;
  }
  .info-block .info_table tbody th{
    font-size: 19px;
    padding: 1.25rem .1rem;
  }
  .info-block .info_table tbody td p{
    font-size: 15px;
  }
  .info-block .info_table .p-ico-caution{
    flex-direction: column;
    align-items: center;
  }
  .info-block .info_table .p-ico-caution .p-ico_icon{
    margin: 0 0 .4em;
    width: 1.2em;
  }
  .info-block .info_table .p-ico-caution .p-ico_text{
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    white-space: pre;
    text-orientation: upright; /* 縦書きの文字の向きを調整 */
    text-align: justify; /* 行内の文字を両端揃えにする */
    line-height: 1.2;
    flex: auto;
  }
  _::-webkit-full-page-media, _:future, :root .info-block .info_table .p-ico-caution .p-ico_text{
    margin-left: -1em;
  }
  .info .info_table_caution .p-ico_text{
    font-size: 13px;
  }
}


/**
  お知らせ
**/
.page-top .news h2{
  margin-block-end: 0 !important;
}
.news.container{
  margin-top: 100px;
  max-width: 800px;
  padding-inline: 0;
}
.news .news-lists{
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
  width: 100%;
}
.post-list{
  display: block;
  padding: 0;
  margin: 0 auto;
  max-width: 800px;
}
.news .news-lists li:not(:first-child),
.news-list:not(:first-child){
  border-top: 1px solid #A8BBDA;
}
.news-list a,
.news .news-lists li a{
  line-height: 80px;
  height: 80px;
  text-decoration: none;
}
.news-list a{
  color: inherit;
  display: flex;
  align-items: center;
  margin-bottom: 0;
}
.news .news-lists li a{
  display: block;
}
.news .news-lists li:hover,
.news-list a:hover{
  background: #F6F8FB;
}
.news .news-lists li .news-list_title,
.news-list a p{
  margin-bottom: 0;
}
.news .news-lists li .news-list_title,
.news-list p:not(.data){
  font-size: 18px;
  font-weight: 400;
  flex: 1;
  /* １行以上になると省略する */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.news .news-lists li .data,
.news-list .data{
  color: var(--color-pink);
  font-size: 16px;
  padding-left: 40px;
  width: 180px;
}
@media (max-width:767.98px) {
  .news.container{
    margin-top: 70px;
  }
  .news-list a,
  .news .news-lists li a{
    line-height: 75px;
    height: 75px;
  }
  .news .news-lists li .news-list_title,
  .news-list p:not(.data){
    font-size: 16px;
  }
  .news .news-lists li .data,
  .news-list .data{
    font-size: 15px;
    padding: 0;
    width: 102px;
  }
}

/**
  あいさつ
**/
.page-top .ico-mark{
  width: 60%;
  max-width: 180px;
  margin: 0 auto;
}
section.greetings{
  background: #FFF url(/wp-content/uploads/2025/07/frame2.png) bottom center / 100% auto no-repeat;
  margin-top: 80px;
  padding-bottom: 240px;
  position: relative;
}
section.greetings h2{
  margin-top: 28px;
}
section.greetings p{
  font-size: 18px;
  line-height: 2.2;
  margin-top: 60px;
}
@media (max-width:767.98px) {
  .page-top .ico-mark{
    max-width: 132px;
  }
  section.greetings{
    background-image: url(/wp-content/uploads/2025/07/frame2_sp.png);
    margin-top: 0;
    padding-block: 65px 117px;
    z-index: 2;
  }
  section.greetings .container{
    padding-inline: 10px;
  }
  section.greetings h2{
    margin-top: 42px;
  }
  section.greetings p{
    font-size: 1em;
    margin-top: 40px;
  }
}

/**
  診療予約
**/
section.reserve{
  background: var(--main-bg-color);
  padding-top: calc(60px);
  position: relative;
}
section.reserve::after{
  content: "";
  display: block;
  background: url(/wp-content/uploads/2025/07/deco_flower2.png) center center / contain no-repeat;
  height: 86px;
  width: 107px;
  position: absolute;
  top: -130px;
  left: 2.5%;
  z-index: 2;
}
section.reserve #reserve{
  margin-top: -120px;
  padding-top: 120px;
}
.reserve .container{
  padding-inline: 27px;
}
.reserve .container:not(.hospital-photo){
  max-width: 1040px;
}
.reserve .container + .container:not(.hospital-photo){
  margin-top: 105px;
}
.reserve .reserve_card{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.reserve .reserve_card .item{
  background: #FFF;
  border-radius: 20px;
  padding: 22px 30px 42px;
  position: relative;
}
.reserve .reserve_card .item p{
  line-height: 1.55;
  margin-bottom: 0;
}
.reserve .reserve_card .item p:not(.font-weight-medium){
  line-height: 1.35;
}
.reserve .reserve_card .item .tel{
  border-top: 1px solid var(--vk-color-text-body);
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 15px;
  padding-top: 12px;
}
.reserve .reserve_card .item .tel p{
  font-weight: 300;
  font-size: 12px;
  letter-spacing: -.02em;
  line-height: 1.2;
}
.reserve .reserve_card .item .tel .tel_img{
  max-width: 220px;
  width: 56%;
}
.reserve .reserve_card .item .item_bottom{
  position: absolute;
  top: calc(100% - 33px);
  left: 0;
  width: 100%;
}
.reserve .reserve_card .item .item_bottom .btn{
  font-size: 19px;
  min-height: 68px;
  padding-inline: 15px 5px;
  width: 87%;
}
.reserve .reserve_card .item .item_bottom .note{
  font-size: 14px;
  margin-top: 15px;
  text-align: center;
}
.hospital-photo{
  gap: 30px 60px;
  max-width: 922px;
  margin-top: 120px;
}
.hospital-photo .item{
  flex: 1;
  position: relative;
}
.hospital-photo .item::before{
  content: "";
  display: block;
  position: absolute;
}
.hospital-photo .item:nth-of-type(1):before{
  background: url(/wp-content/uploads/2025/07/deco_flower3.png) bottom left / contain no-repeat;
  bottom: -16px;
  left: -32px;
  height: 59px;
  width: 104px;
}
.hospital-photo .item.js-animation:nth-of-type(1):before{
  opacity: 0;
  transform: translateY(-30px) rotate(-5deg);
  transition: 1s;
  transition-delay: .9s;
}
.hospital-photo .item.js-animation.-show:nth-of-type(1):before{
  opacity: 1;
  transform: none;
}
.hospital-photo .item.js-animation:nth-of-type(2){
  transition-delay: .5s;
}
.hospital-photo .item:nth-of-type(2):before{
  background: url(/wp-content/uploads/2025/07/deco_flower4.png) bottom left / contain no-repeat;
  bottom: -18px;
  right: -15px;
  height: 68px;
  width: 121px;
}
.hospital-photo .item.js-animation:nth-of-type(2):before{
  opacity: 0;
  transform: translateY(-30px) rotate(5deg);
  transition: 1s;
  transition-delay: 1.1s;
}
.hospital-photo .item.js-animation.-show:nth-of-type(2):before{
  opacity: 1;
  transform: none;
}
.hospital-photo .item .photo{
  border-radius: 50px;
  margin-bottom: 0;
  overflow: hidden;
}
/* アニメーション */
section.reserve.js-animation{
  opacity: 1;
  transform: none;
}
section.reserve.js-animation::after{
  opacity: 0;
  transform: translateX(-5px) translateY(-30px) rotate(-15deg);
  transition: 1s;
  transition-delay: .5s;
}
section.reserve.js-animation.-show::after{
  opacity: 1;
  transform: none;
}
@media (max-width:991.98px) {
  section.reserve #reserve{
    margin-top: -80px;
    padding-top: 80px;
  }
  .reserve .reserve_card .item .tel{
    flex-direction: column;
    margin-top: 25px;
    padding-top: 26px;
  }
  .reserve .reserve_card .item .tel .tel_img{
    width: 76%;
  }
  .reserve .reserve_card .item .tel p{
    font-size: 14px;
    line-height: 1.4;
  }
}
@media (min-width:768px) {
  section.reserve{
    background: var(--main-bg-color) url(/wp-content/uploads/2025/07/frame1.png) bottom center / 100% auto no-repeat;
  }
  .hospital-photo{
    position: relative;
    top: 70px;
    z-index: 2;
  }
}
@media (max-width:767.98px) {
  section.reserve{
    margin-top: -10px;
  }
  section.reserve::after{
    height: 48px;
    width: 60px;
    top: -56px;
    left: 2.5%;
  }
  .reserve .container + .container:not(.hospital-photo){
    margin-top: 75px;
  }
  .reserve .reserve_card{
    grid-template-columns: 1fr;
    gap: 90px;
  }
  .reserve .reserve_card .item{
    border-radius: 18px;
    padding: 30px 36px 70px;
  }
  .reserve .reserve_card .item .item_bottom{
    top: calc(100% - 40px);
  }
  .reserve .reserve_card .item .item_bottom .btn{
    font-size: 17px;
    width: fit-content;
  }
  .reserve .reserve_card .item .item_bottom .note{
    margin-top: 20px;
  }
  .hospital-photo{
    background: url(/wp-content/uploads/2025/08/frame1_sp.png), linear-gradient(180deg, var(--main-bg-color) 0%, var(--main-bg-color) 23%, #FFF 23%, #FFF 100%);
    background-size: contain, cover;
    background-repeat: no-repeat, no-repeat;
    background-position: top 23% center, top center;
    flex-direction: column;
    align-items: center;
    margin-top: 165px;
    margin-bottom: 0;
  }
  .hospital-photo .item{
    max-width: 400px;
  }
  .hospital-photo .item .photo{
    border-radius: 40px;
  }
  .hospital-photo .item:nth-of-type(1):before{
    bottom: -13px;
    left: -10px;
    height: 59px;
    width: 74px;
  }
  .hospital-photo .item:nth-of-type(2):before{
    bottom: -16px;
    right: -10px;
    height: 68px;
    width: 96px;
  }
}

/**
  院長について
**/
section.about{
  padding-top: 135px;
}
section.about .container{
  max-width: 922px;
  padding-inline: 27px;
}
section.about h2{
  margin-top: 15px;
}
section.about p{
  font-size: 14px;
  margin-bottom: 0;
}
@media (max-width:767.98px) {
  section.about{
    background: #FFF;
    padding-top: 54px;
  }
  section.about h2{
    margin-top: 32px;
  }
  section.about p{
    line-height: 1.8;
  }
  section.about .btn{
    line-height: 1.2;
    padding-block: 19px 20px;
  }
}

/**
  アクセス
**/
section.access{
  padding-top: 145px;
}
section.access .container{
  max-width: 1160px;
  padding-inline: 27px;
}
.access_map{
  position: relative;
	padding-top: 42%; /* 4:3 アスペクト比 */
	height: 0;
}
.access_map iframe{
  position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100% !important;
}
.access p,.access ul,.access li{
  font-size: 14px;
  margin: 0;
}
@media (max-width:767.98px) {
  section.access{
    padding-top: 82px;
  }
  .access_map{
    padding-top: 120%;
  }
}

/*******
  ページタイトルヘッダー
*******/
.page-header{
  background: var(--main-bg-color);
  height: 170px;
  padding-top: 3.3rem;
  position: relative;
  margin-top: var(--hd-height);
  margin-bottom: 90px;
  min-height: initial;
  z-index: 0;
}
.page-header::before, .page-header::after{
  content: "";
  display: block;
  position: absolute;
}
.page-header::before{
  background: url(/wp-content/uploads/2025/07/logo_icon.png) right center / contain no-repeat;
  bottom: -28%;
  right: 50%;
  transform: translateX(50%);
  height: 61px;
  max-width: 950px;
  width: 85%;
  z-index: 2;
}
.page-header::after{
  background: url(/wp-content/uploads/2025/07/frame1.png) top center / 100% 100% no-repeat;
  top: 100%;
  left: 0;
  height: 150px;
  width: 100%;
}
.page-header-inner{
  margin-block: 0;
}
.page-header-title, h1.page-header-title {
  font-size: 2.4rem;
  font-weight: 500;
}
/* アニメーション */
.page-header .page-header-title{
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .8s linear, transform .8s ease;
  transition-delay: .3s;
}
.page-header.-show .page-header-title{
  opacity: 1;
  transform: none;
}
@media (max-width: 991.98px){
  .page-header{
    margin-top: var(--hd-height_sp);
  }
}
@media (max-width:767.98px) {
  .page-header{
    height: 105px;
    margin-bottom: 42px;
    padding-top: 1.2rem;
  }
  .page-header::before{
    height: 47px;
    width: 86%;
  }
  .page-header::after{
    background-image: url(/wp-content/uploads/2025/07/frame3_sp.png);
    height: 40px;
  }
  .page-header-title, h1.page-header-title{
    font-size: 1.6rem;
  }
}

/*******
  投稿記事カスタマイズ
*******/
.main-section-no-posts{ /*投稿がない時のテキスト*/
  text-align: center;
}
.entry.post.type-post{
  margin-inline: auto;
  max-width: 830px;
  padding-right: 15px;
  padding-left: 15px;
}
.entry-header{
  border-bottom: 1px solid #A8BBDA;
  display: flex;
  flex-direction: column-reverse;
  margin-bottom: 3em;
}
.entry-meta{
  color: var(--color-pink);
  font-size: 1rem;
  font-weight: 500;
  margin-bottom: .8rem;
}
.entry-meta-item.entry-meta-item-updated,
.entry-meta-item.entry-meta-item-author{/*最終更新日、編集者非表示*/
  display: none;
}
.entry-meta-item.entry-meta-item-date i{
  display: none;
}
.entry-title{
  font-size: 1.3rem;
  margin-bottom: 1.8rem;
}
.entry-footer{/*カテゴリー非表示*/
  display: none;
}
.vk_posts.next-prev{/*前後記事リンク非表示*/
  display: none;
}
.entry_back_btn{
  border-top: 1px solid #A8BBDA;
  margin-top: 3.2rem;
  padding-top: 2rem;
}

/*******
  投稿一覧カスタマイズ
*******/
/* ページャー */
.pagination{
  margin-top: 4rem;
}
ul.page-numbers li{
  margin-inline: .5rem;
}
ul.page-numbers li a,
ul.page-numbers li span.page-numbers,
ul.page-numbers li:first-child>.page-numbers,
ul.page-numbers li:last-child>.page-numbers{
  border: none;
  border-radius: 100vh;
  font-size: 1.1rem;
  font-weight: 700;
  padding: 4px 10px;
  margin: 0;
  height: 2.2rem;
  width: 2.2rem;
}
ul.page-numbers li a:hover{
  background: #F6F8FB;
}
ul.page-numbers li span.page-numbers.current{
  background-color: var(--vk-color-text-body);
  color: #FFF;
}
ul.page-numbers li .prev,
ul.page-numbers li .next{
  text-indent: -9999px;
	white-space:nowrap;
	overflow:hidden;
  position: relative;
}
ul.page-numbers li .prev::before,
ul.page-numbers li .next::before{
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 1.4rem;
  display: block;
  position: absolute;
  top: 18%;
  left: 30%;
  text-indent: 0;
}
ul.page-numbers li .prev::before{
  content: "\f104";
}
ul.page-numbers li .next::before{
  content: "\f105";
}
@media (max-width:767.98px) {
  .pagination{
    margin-top: 3rem;
  }
}
