@charset "utf-8";
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
common
font-family: 'Montserrat', sans-serif;

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ----------------------------------------------------
element base setting (common)
---------------------------------------------------- */
body {
  color: #333333;
  line-height: 1.5;
  background: #fff;
}
a {
  color: #1d2f82;
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}
.clickable a, .clickable a:hover {
  color: #333;
}
img {
  width: 100%;
  height: auto;
}
.flex {
  display: flex;
  display: -webkit-flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.inrContent {
  width: 90%;
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
}
:root {
  --c-hifuka: #e47a82;
  --c-naika: #38acbb;
  --c-houmon: #f1a232;
  --c-gairai: #709bb7;
  --c-jiyu: #c088ba;
  --c-green: #709bb7;
  --c-beige: #f7f6f1;
  --ff-en: 'Montserrat', sans-serif;
  --ff-symbol: "Material Symbols Outlined";
}
@media (min-width:768px) {
  .pcNoDisplay {
    display: none !important;
  }
  .spNoDisplay {
    display: block !important;
  }
}
@media (max-width: 767px) {
  .spNoDisplay {
    display: none !important;
  }
  .pcNoDisplay {
    display: block !important;
  }
}
/* category color */
.cat--news {
  background: #47be97 !important;
}
.cat--diagnosis {
  background: #c79f25 !important;
}
.cat--schedule {
  background: #ee7c7c !important;
}
.cat--information {
  background: #38acbb !important;
}
.cat--staff {
  background: #c088ba !important;
}
/* ----------------------------------------------------
calendar (common)
---------------------------------------------------- */
div.cal_wrapper table.cal tr th div.cal_ui input {
  /* next.prev btn */
  border: 1px solid #98bdb3;
  background-color: #98bdb3;
  color: #fff !important;
}
div.cal_wrapper table.cal tr.headline td {
  /* 曜日 */
  border-top: 1px solid #87795d;
  border-bottom: 1px solid #87795d !important;
}
div.cal_wrapper table.cal tr td {
  border: 1px solid transparent;
}
/* 午後休診 */
div.cal_wrapper table.cal tr td div.Sat, div.cal_wrapper table.cal tr td div.Wed {
  background: #bce2e8;
  color: #007bbb;
}
/* Sun;日曜*/
div.cal_wrapper table.cal tr td div.Sun {
  background: #f6bfbc;
  color: #c53d43;
}
/* Holyday;祝日*/
div.cal_wrapper table.cal tr td div.Holyday {
  background: #f6bfbc;
  color: #c53d43;
}
/* PMOff；午後休診 */
div.cal_wrapper table.cal tr td div.PMOff {
  background: #bce2e8;
  color: #007bbb;
}
/* dayOff;祝日*/
div.cal_wrapper table.cal tr td div.dayOff {
  background: #f6bfbc;
  color: #c53d43;
}
/* otherDay;その他 */
div.cal_wrapper table.cal tr td div.otherDay {
  background: #d8e698;
  color: #333333;
}
/* weekday;一日診療　*/
div.cal_wrapper table.cal tr td div.weekday {
  background: transparent;
  color: #333;
}
/* Today;当日 */
div.cal_wrapper table.cal tr td div.Today {
  font-weight: bold;
  color: #333;
}
div.cal_wrapper table.cal tr td div.pointer:hover {
  background-color: #AAA;
  color: #fff;
}
.cal-off {
  color: #f6bfbc;
}
.cal-halfOff {
  color: #bce2e8;
}
.cal-other {
  color: #d8e698;
}
#mainContainer {
  width: 100%;
  position: relative;
  overflow: hidden;
}
/* ----------------------------------------------------
header
---------------------------------------------------- */
#header {
  width: 100%;
  height: min(9.17vw, 110px);
  background: #fff;
  padding-right: min(2.5vw, 30px);
  display: flex;
  display: -webkit-flex;
  justify-content: flex-end;
  align-items: center;
  position: sticky;
  left: 0;
  top: 0;
  z-index: 10;
}
#header #hd-logo {
  position: absolute;
  left: 0;
  top: 0;
  width: min(26.25vw, 315px);
  height: min(23.33vw, 280px);
  background: #fff;
  border-radius: 0 0 min(3.3vw, 40px) 0;
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center;
  z-index: 10;
  transition: all 0.2s ease-in-out;
}
#header #hd-logo.fixed {
  width: auto;
  height: 100%;
  border-radius: 0;
  padding-left: min(2.5vw, 30px);
}
#header #hd-logo img {
  transition: all 0.2s ease-in-out;
}
#header #hd-logo img.logo--L {
  display: block;
  width: min(21vw, 252px);
}
#header #hd-logo img.logo--S {
  display: none;
}
#header #hd-logo.fixed img.logo--L {
  display: none;
}
#header #hd-logo.fixed img.logo--S {
  display: block;
  width: min(21vw, 252px);
}
#hdTel {
  display: flex;
}
#btnGlobal {
  width: min(17.5vw, 210px);
  height: min(5vw, 60px);
  top: min(2.08vw, 25px);
  z-index: 120;
  background: #ffc000;
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  border-radius: min(2.5vw, 30px);
  position: fixed;
  color: #fff;
  font-family: var(--ff-en);
  font-size: min(1.5vw, 1.8rem);
  font-weight: 500;
  letter-spacing: 0.1rem;
}
#btnGlobal .btnWrapGlobal {
  position: absolute;
  left: min(2.5vw, 30px);
  top: 50%;
  transform: translateY(-50%);
  width: min(1.66vw, 20px);
  height: min(1.42vw, 17px);
}
#btnGlobal .btnLine {
  height: 2px;
  background: #fff;
  position: absolute;
  right: 0;
  width: 100%;
}
#btnGlobal .btnLine.btnLineT {
  top: 0;
}
#btnGlobal .btnLine.btnLineM {
  top: 50%;
  transform: translateY(-50%);
}
#btnGlobal .btnLine.btnLineB {
  bottom: 0;
}
#btnGlobal.active .btnLine {
  background: #fff;
}
#btnGlobal.active .btnLine.btnLineT {
  display: none;
}
#btnGlobal.active .btnLine.btnLineM {
  transform: translateY(0) rotate(45deg);
}
#btnGlobal.active .btnLine.btnLineB {
  transform: rotate(-45deg);
  bottom: inherit;
  top: 50%;
}
#btnGlobal .btnLine.btnLineM, #btnGlobal .btnLine.btnLineB {
  -moz-transition: all, ease-in-out, 0.3s;
  -o-transition: all, ease-in-out, 0.3s;
  -webkit-transition: all, ease-in-out, 0.3s;
  transition: all, ease-in-out, 0.3s;
}
#grandMenu {
  background: #fff;
  width: 100%;
  position: fixed;
  z-index: 100;
  left: 0;
  top: 0;
  display: none;
}
#grandMenu .inrGM {
  overflow: auto;
  width: 100%;
  height: 100vh;
  scrollbar-width: none;
  margin: 0 auto;
}
#grandMenu .inrGM::-webkit-scrollbar {
  display: none;
}
#grandMenu a {
  color: #333;
}
#grandMenu .nav__wrapper {
  display: flex;
  display: -webkit-flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  margin: 0 auto;
  height: 100%;
}
#grandMenu .nav__wrapAbove {
  width: 76%;
  padding: min(10vw, 120px) 4%;
  justify-content: flex-start;
  column-gap: min(2.5vw, 30px);
}
#grandMenu .nav__wrapBelow {
  width: 24%;
  background: var(--c-beige);
  padding: 3% 2%;
}
.gmWrap ul li, .gmWrap dl dd {
  margin: min(0.83vw, 10px) 0;
  padding-left: 1.5em;
  text-indent: -0.7em;
  position: relative;
}
.gmWrap ul li::before, .gmWrap dl dd::before {
  content: "●";
  font-size: min(0.83vw, 1rem);
  margin-right: 1em;
  display: inline-block;
  transform: scale(0.7);
  left: 0;
  color: var(--c-green);
}
.nav-naika dt a {
  color: var(--c-naika) !important;
}
.nav-hifuka dt a {
  color: var(--c-hifuka) !important;
}
.nav-jiyu dt a {
  color: var(--c-jiyu) !important;
}
ul.nav-houmon li::before {
  color: var(--c-houmon);
}
ul.nav-gairai li::before {
  color: var(--c-gairai);
}
dl.nav-hifuka dd::before {
  color: var(--c-hifuka);
}
dl.nav-naika dd::before {
  color: var(--c-naika);
}
dl.nav-jiyu dd::before {
  color: var(--c-jiyu);
}
#hdTel {
  margin-right: min(19.17vw, 230px);
}
.hdTel {
  font-size: min(1.16vw, 1.4rem);
  margin-right: min(2.5vw, 30px);
  font-weight: 600;
  padding-left: min(1.25vw, 15px);
  border-left: 3px solid #ccc;
}
.hdTel__gairai {
  border-color: var(--c-gairai);
}
.hdTel__houmon {
  border-color: var(--c-houmon);
}
.hdTel p {
  line-height: 1.4;
  color: #666666;
}
.hdTel .hdTel__num {
  font-size: min(2.17vw, 2.6rem);
  font-family: var(--ff-en);
  line-height: 1.3;
}
.hdTel__gairai span {
  color: var(--c-gairai);
}
.hdTel__houmon span {
  color: var(--c-houmon);
}
@media (max-width: 1380px) {
  #header #hd-logo {
    width: min(23vw, 315px);
    height: min(20vw, 280px);
  }
  #header #hd-logo img.logo--L {
    width: min(18vw, 252px);
  }
}
@media (min-width:768px) {
  .nav__wrapAbove .gmWrap {
    flex: 1;
  }
  .nav__wrapAbove .gmRecruit {
    width: 100%;
  }
  .navBlock:not(:first-child) {
    margin-top: min(4.4vw, 50px);
  }
  .navBlock {
    padding-left: min(1.25vw, 15px);
    position: relative;
  }
  .navBlock h2 {
    margin-left: max(-1.25vw, -15px);
    background: #fff;
  }
  .gmWrap h2 {
    font-size: min(2vw, 2.4rem);
    font-weight: 600;
    margin-bottom: min(1.25vw, 15px);
  }
  .navBlock dt {
    font-weight: 600;
    margin-top: min(1.25vw, 15px);
    font-size: min(1.5vw, 1.8rem);
  }
  .gmWrap ul, .navBlock dl {
    font-size: min(1.3vw, 1.6rem);
  }
  .nav__logo {
    text-align: center;
    margin-bottom: min(3.3vw, 40px);
  }
  .nav__logo img {
    max-width: 252px;
  }
  #grandMenu .nav__hdTel {
    text-align: center;
  }
  #grandMenu .nav__hdTel .hdTel {
    border: none;
    padding: 0;
  }
  #grandMenu .nav__wrapBelow .hdTel__gairai {
    margin-bottom: min(1.25vw, 15px);
  }
  #grandMenu .nav__hdBtn {
    margin: min(3.3vw, 40px) auto 0;
    max-width: min(20.83vw, 250px);
  }
  #grandMenu .nav__hdBtn li {
    margin: min(0.4vw, 5px) 0;
  }
  #grandMenu .nav__hdBtn li a {
    display: block;
    text-align: center;
    color: #fff !important;
    padding: min(1.25vw, 15px);
    font-weight: 600;
    border-radius: 30vw;
  }
  @media (max-width:1260px) {
    #grandMenu {
      background: #f3f3f3;
    }
    #grandMenu .nav__wrapper {
      flex-direction: column;
      justify-content: inherit;
    }
    #grandMenu .nav__wrapAbove {
      width: 100%;
      padding: min(8.3vw, 100px) 4% 5%;
      background: #fff;
    }
    #grandMenu .nav__wrapBelow {
      width: 100%;
      padding: 3% 2% 5%;
    }
    .nav__logo img {
      width: 15vw;
    }
    #grandMenu .nav__hdTel {
      display: flex;
      display: -webkit-flex;
      justify-content: center;
      column-gap: min(2.5vw, 30px);
    }
    #grandMenu .nav__hdTel .hdTel {
      margin: 0;
    }
    #grandMenu .nav__hdBtn {
      margin: min(2vw, 40px) auto 0;
      max-width: inherit;
      display: flex;
      display: -webkit-flex;
      justify-content: center;
      column-gap: min(0.83vw, 10px);
    }
    #grandMenu .nav__hdBtn li {
      margin: 0;
      min-width: min(16.6vw, 200px);
    }
  }
}
@media (max-width: 767px) {
  #header {
    height: min(16vw, 120px);
    display: flex;
    display: -webkit-flex;
    padding: 3vw;
    align-items: center;
    justify-content: flex-start;
  }
  #header #hd-logo {
    height: auto;
    border-radius: 0;
    width: 45vw;
    position: relative;
    left: inherit;
    top: inherit;
    z-index: 1000;
  }
  #header #hd-logo img.logo--L {
    display: none;
  }
  #header #hd-logo img.logo--S {
    display: block;
  }
  #hdTel {
    display: none;
  }
  #btnGlobal {
    width: 27vw;
    height: 10vw;
    position: absolute;
    right: 2vw;
    top: 3vw;
    font-size: min(3.6vw, 2rem);
    border-radius: 30vw;
    padding-left: min(5vw, 24px);
  }
  #btnGlobal .btnWrapGlobal {
    width: 4vw;
    height: 2.8vw;
    left: min(4vw, 30px);
  }
  #grandMenu {
    display: none;
  }
  .inrGM {
    padding-bottom: 17vw;
  }
  #grandMenu .nav__wrapper {
    display: block;
    height: 100%;
    padding: 18vw 5% 10vw;
    position: relative;
  }
  #grandMenu .nav__wrapper::after {
    content: "";
    width: 100%;
    height: min(16vw, 120px);
    background: #fff;
    position: fixed;
    left: 0;
    top: 0;
  }
  #grandMenu .nav__wrapAbove {
    width: 100%;
    padding: 0;
    column-gap: 0;
    display: block !important;
  }
  #grandMenu .nav__wrapBelow {
    width: 100%;
    background: #fff;
    padding: 0 0 18vw 0;
    margin-top: 5vw;
  }
  #grandMenu .nav__wrapBelow .nav__logo {
    display: none;
  }
  .gmWrap ul li, .gmWrap dl dd {
    margin: min(2vw, 10px) 0;
    padding-left: 1em;
    text-indent: -0.5em;
  }
  .gmWrap ul li::before, .gmWrap dl dd::before {
    font-size: min(0.83vw, 1rem);
    margin-right: 1.2em;
  }
  .navBlock {
    background: #eaf2f1;
    margin-bottom: min(1vw, 5px);
    border-radius: min(2vw, 10px);
  }
  .navBlock h2 {
    position: relative;
    font-weight: 600;
  }
  .nav__accordion h2 {
    padding: min(4vw, 20px);
    color: var(--c-green);
    font-size: min(4.2vw, 2rem);
  }
  .navBlock h2 a {
    color: var(--c-green) !important;
    padding: min(4vw, 20px);
    display: block;
  }
  .navBlock .nvGlobal {
    display: none;
    padding: 0 5vw 5vw;
    font-size: min(4vw, 1.6rem);
  }
  .navBlock h2 {
    position: relative;
  }
  .navBlock h2:not(.navTab)::before {
    content: "";
    width: min(2vw, 10px);
    height: min(2vw, 10px);
    border-top: 2px solid var(--c-green);
    border-right: 2px solid var(--c-green);
    position: absolute;
    right: 5vw;
    top: 50%;
    transform: translateY(-50%)rotate(45deg);
  }
  .navBlock h2.navTab::before, .navBlock h2.navTab::after {
    content: "";
    width: min(3.2vw, 18px);
    height: 2px;
    background: var(--c-green);
    position: absolute;
    right: 5vw;
    top: 50%;
    transform: translateY(-50%);
  }
  .navBlock h2.navTab::after {
    transform: translateY(-50%) rotate(90deg);
    transition: 0.3s all linear;
  }
  .navBlock h2.active.navTab::after {
    transform: translateY(-50%) rotate(0);
  }
  .navBlock dl dt {
    font-weight: 600;
    font-size: min(4vw, 1.8rem);
    margin-top: min(3vw, 20px);
  }
  .navBlock dl:first-child dt {
    margin-top: 0;
  }
  .navBlock .nvGlobal li, .navBlock .nvGlobal dd {
    margin: min(2vw, 15px) 0;
  }
  .navBlock .nvGlobal li:first-child {
    margin-top: 0;
  }
  .navBlock .nvGlobal li:last-child {
    margin-bottom: 0;
  }
  #grandMenu .nav__hdTel {
    display: flex;
    display: -webkit-flex;
    justify-content: space-between;
  }
  #grandMenu .hdTel {
    width: 49%;
    padding-left: 3vw;
  }
  #grandMenu .hdTel p {
    font-size: min(3.4vw, 1.6rem);
  }
  #grandMenu .hdTel .hdTel__num {
    font-size: min(5vw, 4rem);
  }
  #grandMenu .nav__hdBtn {
    display: none;
  }
}
/* ----------------------------------------------------
footer (common)
---------------------------------------------------- */
#bnrRecruit {
  background: url("../../img/common/bg-bnrRecruit-01.jpg") center center / cover no-repeat;
  text-align: center;
  overflow: hidden;
}
#bnrRecruit .bnrRecruit__cont {
  width: 90%;
  max-width: 450px;
  margin: 0 auto;
  position: relative;
  padding: min(2.5vw, 30px) 0;
}
#bnrRecruit .bnrRecruit__cont::before {
  content: "";
  width: 100%;
  aspect-ratio: 1/0.85;
  background: #e1b1df;
  border: 7px solid #fff;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
}
#bnrRecruit .bnrRecruit__cont h2 {
  font-size: min(2.17vw, 2.6rem);
  margin-bottom: min(2.92vw, 35px);
}
#bnrRecruit .bnrRecruit__cont h2 a {
  color: #fff;
}
#bnrRecruit .bnrRecruit__cont h2 span {
  position: relative;
  padding-bottom: min(0.83vw, 10px);
}
#bnrRecruit .bnrRecruit__cont h2 span::before {
  content: "";
  background: url("../../img/common/bg-wavyline-wh-01.png") center center / auto 100% no-repeat;
  width: 100%;
  height: min(0.5vw, 6px);
  position: absolute;
  left: 0;
  bottom: 0;
}
#bnrRecruit .bnrRecruit__cont p {
  font-size: min(1.3vw, 1.6rem);
  font-weight: 600;
  position: relative;
}
@media (max-width: 767px) {
  #bnrRecruit .bnrRecruit__cont {
    width: 85%;
    max-width: inherit;
    padding: min(6vw, 30px) 0;
  }
  #bnrRecruit .bnrRecruit__cont::before {
    border-width: min(1.4vw, 7px);
  }
  #bnrRecruit .bnrRecruit__cont h2 {
    font-size: min(6vw, 2.6rem);
    margin-bottom: min(7vw, 35px);
  }
  #bnrRecruit .bnrRecruit__cont h2 span {
    padding-bottom: min(2vw, 10px);
  }
  #bnrRecruit .bnrRecruit__cont h2 span::before {
    height: min(1.2vw, 6px);
  }
  #bnrRecruit .bnrRecruit__cont p {
    font-size: min(3.8vw, 1.6rem);
  }
}
.ftAbove {
  padding: min(6.67vw, 80px) 0 min(8.3vw, 100px);
}
.ftLogo {
  text-align: center;
  margin-bottom: min(4.4vw, 50px);
}
.ftLogo h2 img {
  width: min(27.58vw, 331px);
}
.ftLogo p {
  font-size: min(1.08vw, 1.3rem);
  font-weight: 600;
  margin-top: min(0.83vw, 10px);
}
@media (max-width: 767px) {
  #footer {
    padding-bottom: 16vw;
    position: relative;
  }
  .ftAbove {
    padding: min(10vw, 80px) 0;
  }
  .ftLogo {
    margin-bottom: min(6vw, 50px);
  }
  .ftLogo h2 img {
    width: min(60vw, 331px);
  }
  .ftLogo p {
    font-size: min(3.6vw, 1.3rem);
    margin-top: min(2vw, 10px);
  }
}
.ftContact {
  justify-content: center;
  column-gap: min(2.5vw, 30px);
}
.ftCont__tel {
  position: relative;
  padding-left: min(6.67vw, 80px);
}
.ftCont__tel .ft__tel__item {
  color: #fff;
  width: min(5.83vw, 70px);
  aspect-ratio: 1/1;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  letter-spacing: 0.3rem;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
  font-weight: 600;
}
.ftCont__tel .ft__tel__num, .ftCont__tel .ft__tel__fax {
  font-family: var(--ff-en);
  line-height: 1.4;
}
.ftCont__tel .ft__tel__num {
  font-weight: 600;
}
.ftCont__tel .ft__tel__num span {
  font-size: min(2.33vw, 2.8rem);
}
.ftCont__tel--gairai .ft__tel__item {
  background: var(--c-gairai);
}
.ftCont__tel--houmon .ft__tel__item {
  background: var(--c-houmon);
}
.ftCont__tel--gairai .ft__tel__num, .ftCont__tel--gairai .ft__tel__num a {
  color: var(--c-gairai);
}
.ftCont__tel--houmon .ft__tel__num, .ftCont__tel--houmon .ft__tel__num a {
  color: var(--c-houmon);
}
.ftCont__btn a {
  display: inline-block;
  padding: min(1.66vw, 20px) min(4.4vw, 50px) min(1.66vw, 20px) min(5.8vw, 70px);
  background: var(--c-gairai);
  color: #fff;
  border-radius: 30vw;
  font-weight: 600;
  letter-spacing: 0.1rem;
  position: relative;
  font-size: min(1.66vw, 2rem);
}
.ftCont__btn a::before {
  content: "";
  width: min(0.83vw, 10px);
  aspect-ratio: 1/1;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  position: absolute;
  right: min(1.66vw, 20px);
  top: 50%;
  transform: translate(0, -50%) rotate(45deg);
}
.ftCont__btn a::after {
  content: "\f233";
  font-family: var(--ff-symbol);
  font-weight: 300;
  position: absolute;
  left: min(2vw, 25px);
  top: 50%;
  transform: translate(0, -50%);
  font-size: min(2.67vw, 3.2rem);
}
@media (max-width: 767px) {
  .ftContact {
    display: block !important;
  }
  .ftCont__tel {
    padding-left: min(18vw, 80px);
    margin-bottom: min(4vw, 20px);
  }
  .ftCont__tel .ft__tel__item {
    width: min(15vw, 70px);
  }
  .ftCont__tel .ft__tel__num span {
    font-size: min(7vw, 2.8rem);
  }
  .ftCont__btn a {
    display: block;
    padding: min(4vw, 20px);
    border-radius: 30vw;
    font-size: min(5vw, 2rem);
    text-align: center;
  }
  .ftCont__btn a::before {
    width: min(3vw, 10px);
    right: min(4vw, 20px);
  }
  .ftCont__btn a::after {
    left: min(8vw, 25px);
    font-size: min(10vw, 3.2rem);
  }
}
.ftSchedule {
  margin-top: min(2.5vw, 30px);
}
.ftTimeTable {
  width: 48.5%;
  padding-top: min(5vw, 60px);
}
.ftCalendar {
  width: 47%;
  min-height: min(50vw, 600px);
}
.ftTime {
  position: relative;
  padding-left: min(5.8vw, 70px);
}
.ftTime:not(:last-child) {
  margin-bottom: min(1.25vw, 15px);
}
.ftTime__item {
  position: absolute;
  left: 0;
  top: 0;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  display: flex;
  display: -webkit-flex;
  align-items: center;
  justify-content: center;
  width: min(4vw, 48px);
  height: min(12.5vw, 150px);
  font-size: min(2vw, 2.4rem);
  font-weight: 600;
  border-radius: 50vw;
  color: #fff;
  letter-spacing: 0.15rem;
}
.ftTime__item::before {
  content: "";
  width: min(1vw, 12px);
  aspect-ratio: 1/1;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(50%, -50%) rotate(45deg);
}
.ftTime__hifuka .ftTime__item, .ftTime__hifuka .ftTime__item::before {
  background: var(--c-hifuka);
}
.ftTime__naika .ftTime__item, .ftTime__naika .ftTime__item::before {
  background: var(--c-naika);
}
.ftCalendar iframe {
  width: 100%;
  height: 100%;
}
@media (max-width: 767px) {
  .ftSchedule {
    margin-top: min(10vw, 65px);
  }
  .ftTimeTable {
    width: 100%;
    padding-top: 0;
  }
  .ftCalendar {
    width: 100%;
    min-height: 165vw;
  }
  .ftTime {
    padding-left: min(10vw, 70px);
  }
  .ftTime:not(:last-child) {
    margin-bottom: min(3vw, 15px);
  }
  .ftTime__item {
    width: min(7.5vw, 48px);
    height: min(28vw, 150px);
    font-size: min(3.8vw, 2.4rem);
  }
  .ftTime__item::before {
    width: min(2vw, 12px);
  }
}
.ftAccess {
  height: min(42.5vw, 510px);
}
.ftMap {
  width: 74%;
}
.ftMap iframe {
  width: 100%;
  height: 100%;
}
.ftAccess__cont {
  width: 26%;
  background: #5db3d3;
  padding: min(5vw, 60px) 3% 3%;
}
.ftAccess__cont h2 {
  text-align: center;
  font-size: min(2vw, 2.4rem);
  font-weight: 600;
  margin-bottom: min(2.5vw, 30px);
}
.ftAccess__cont dl {
  font-size: min(1.3vw, 1.6rem);
}
.ftAccess__cont dt {
  font-weight: 600;
  color: #fff;
  padding-left: 1.6em;
  margin-top: min(1.66vw, 20px);
  position: relative;
  margin-bottom: min(0.4vw, 5px);
}
.ftAccess__cont dt::before {
  font-family: var(--ff-symbol);
  position: absolute;
  left: 0;
  top: 0;
  font-weight: 300;
  font-size: min(2vw, 2.4rem);
  line-height: 1;
}
.ic--pin::before {
  content: "\e0c8";
}
.ic--train::before {
  content: "\e570";
}
.ftAccess__btn {
  margin-top: min(2vw, 24px);
}
@media (max-width: 767px) {
  .ftAccess {
    height: auto;
  }
  .ftMap {
    width: 100%;
    height: 60vw;
  }
  .ftAccess__cont {
    width: 100%;
    padding: 8vw 5vw;
  }
  .ftAccess__cont h2 {
    font-size: min(5.2vw, 2.4rem);
    margin-bottom: min(3vw, 30px);
  }
  .ftAccess__cont dl {
    font-size: min(3.8vw, 1.6rem);
  }
  .ftAccess__cont dt {
    padding-left: 1.6em;
    margin-top: min(4vw, 20px);
    margin-bottom: min(0.4vw, 5px);
  }
  .ftAccess__cont dt::before {
    font-size: min(5vw, 2.4rem);
  }
  .ftAccess__btn {
    margin-top: min(8vw, 24px);
  }
}
.ftNav {
  font-size: min(1.16vw, 1.4rem);
  padding: min(3.3vw, 40px) 0;
}
.ftNav__cont:not(:last-child) {
  margin-bottom: min(1.25vw, 15px);
}
.ftNav__cont h2, .ftNav__cont h2 a {
  color: #333;
  font-weight: 600;
}
.ftNav__cont ul li, .ftNav__cont dt, .ftNav__cont dd {
  margin: min(0.4vw, 5px) 0;
}
.ftNav__cont ul li a {
  color: #333;
}
.ftNav__cont dt a {
  font-weight: 600;
  color: #333;
}
.ftNav__cont dd a {
  color: #333;
  padding-left: 1em;
  position: relative;
}
.ftNav__cont dd a::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}
@media (max-width: 767px) {
  .ftNav {
    display: none !important;
  }
}
.copy {
  text-align: center;
  padding: min(2vw, 25px) 4%;
  font-size: min(1vw, 1.2rem);
  background: #eee;
}
.copy a {
  color: #333;
}
#pagetop {
  position: fixed;
  bottom: 4%;
  right: 3%;
  z-index: 7;
}
#pagetop a {
  display: block;
  width: 45px;
  height: 45px;
  background-color: var(--c-green);
  color: #fff;
  position: relative;
  z-index: 8;
  border-radius: 50%;
}
#pagetop a::before {
  content: "";
  width: 12px;
  height: 12px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
  z-index: 9;
}
@media (max-width: 767px) {
  .copy {
    padding: 3vw;
    font-size: min(3.2vw, 1.2rem);
  }
  #pagetop {
    bottom: 8%;
  }
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━
fixed bannar(common)
 ━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#fixedBtn {
  position: fixed;
  z-index: 10;
}
#fixedBtn ul {
  display: flex;
  display: -webkit-flex;
}
.followBtn li a span {
  position: relative;
}
.followBtn li a span::before {
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
}
.bnr--reservation a {
  background: #fc649a;
}
.bnr--monshin a {
  background: #a74add;
}
.bnr--online a {
  background: #219fe8;
}
.bnr--reservation a span::before {
  background-image: url("../../img/common/ic-reservation-01.png");
}
.bnr--monshin a span::before {
  background-image: url("../../img/common/ic-monshin-01.png");
}
.bnr--online a span::before {
  background-image: url("../../img/common/ic-online-01.png");
}
@media (min-width:768px) {
  #fixedBtn {
    right: 0;
    top: 50%;
    transform: translateY(-50%);
  }
  #fixedBtn ul {
    flex-direction: column;
  }
  #fixedBtn ul li {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-orientation: upright;
    margin: min(0.21vw, 2.5px) 0;
  }
  #fixedBtn ul li a {
    padding: min(1.66vw, 20px);
    display: block;
    border-radius: min(0.83vw, 10px) 0 0 min(0.83vw, 10px);
    color: #fff;
    line-height: 1.4;
    letter-spacing: 0.1rem;
  }
  #fixedBtn ul li a span {
    padding-top: min(2.92vw, 35px);
  }
  #fixedBtn ul li a span::before {
    width: min(2vw, 24px);
    height: min(2.5vw, 30px);
  }
}
@media (max-width: 767px) {
  #fixedBtn {
    left: 0;
    bottom: 0;
    width: 100%;
    height: 16vw;
    background: #fff;
  }
  #fixedBtn ul {
    column-gap: 0.5vw;
  }
  #fixedBtn ul li {
    flex-grow: 1;
  }
  #fixedBtn ul li a {
    display: block;
    height: 16vw;
    text-align: center;
    color: #fff;
    padding: 0.5vw;
  }
  #fixedBtn ul li a span {
    padding-top: 8vw;
    display: inline-block;
  }
  #fixedBtn ul li a span::before {
    width: min(5vw, 20px);
    height: min(10vw, 40px);
  }
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━
common + home module(common)
 ━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.tbl-time {
  width: 100%;
  text-align: center;
  font-size: min(1.3vw, 1.6rem);
}
.tbl-time th {
  color: #fff;
  font-weight: 500;
  padding: min(0.8vw, 10px);
}
.tbl-time th:first-child {
  border-radius: min(0.4vw, 5px) 0 0 min(0.4vw, 5px);
}
.tbl-time th:last-child {
  border-radius: 0 min(0.4vw, 5px) min(0.4vw, 5px) 0;
}
.tbl-time td {
  font-weight: 500;
  padding: min(0.8vw, 10px);
}
.tbl-time tr:not(:first-child) {
  border-bottom: 1px solid #000;
}
.timetable__note {
  font-size: min(1.16vw, 1.4rem);
  margin-top: min(0.83vw, 10px);
}
@media (max-width: 767px) {
  .tbl-time {
    font-size: min(3.4vw, 1.6rem);
  }
  .tbl-time th {
    padding: min(2vw, 10px);
  }
  .tbl-time th:first-child {
    border-radius: min(1vw, 5px) 0 0 min(1vw, 5px);
  }
  .tbl-time th:last-child {
    border-radius: 0 min(1vw, 5px) min(1vw, 5px) 0;
  }
  .tbl-time td {
    padding: min(2vw, 10px);
  }
  .timetable__note {
    font-size: min(3.4vw, 1.4rem);
    margin-top: min(2vw, 10px);
  }
}
.tbl-time--hifuka th {
  background: var(--c-hifuka);
}
.tbl-time--hifuka td:not(:first-child), .tt--hifuka span {
  color: var(--c-hifuka);
}
.tbl-time--hifuka tr:not(:first-child) {
  border-color: var(--c-hifuka);
}
.tbl-time--naika th {
  background: var(--c-naika);
}
.tbl-time--naika td:not(:first-child), .tt--naika span {
  color: var(--c-naika);
}
.tbl-time--naika tr:not(:first-child) {
  border-color: var(--c-naika);
}
/* btn */
.btn {
  display: inline-block;
  text-align: center;
  border-radius: 50vw;
  position: relative;
  padding: min(1.25vw, 15px) min(3vw, 60px);
  font-weight: 600;
  font-size: min(1.66vw, 2rem);
  min-width: min(21vw, 320px);
  color: #fff;
}
.btn::before {
  content: "";
  width: min(1vw, 12px);
  aspect-ratio: 1/1;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  position: absolute;
  right: min(1.66vw, 20px);
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
.btn--wh {
  background: #fff;
  color: #333;
}
.btn--wh::before {
  border-color: #333;
}
.btn--green {
  background: var(--c-green);
}
.btn--hifuka {
  background: var(--c-hifuka);
}
.btn--naika {
  background: var(--c-naika);
}
.btn--houmon {
  background: var(--c-houmon);
}
.btn--jiyu {
  background: var(--c-jiyu);
}
.btn--oline {
  background: #219fe8;
}
@media (max-width: 767px) {
  .btn {
    display: block;
    padding: 4vw;
    font-size: min(4.2vw, 2rem);
    min-width: inherit;
  }
  .btn::before {
    width: min(2.4vw, 12px);
    right: min(4vw, 20px);
  }
}
/* wave */
.wave {
  position: relative;
  padding-bottom: min(1.25vw, 15px);
}
.wave::before {
  content: "";
  width: 100%;
  height: min(0.5vw, 6px);
  background: url("../../img/common/bg-wavyline-bk-01.png") center center / auto 100% no-repeat;
  position: absolute;
  left: 0;
  bottom: 0;
}
@media (max-width: 767px) {
  .wave {
    padding-bottom: min(3vw, 15px);
  }
  .wave::before {
    height: min(1.5vw, 6px);
  }
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━
home(common)
 ━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* visual  ------------------------------------------ */
#homVisual {
  aspect-ratio: 16/7;
  position: relative;
  margin-bottom: min(11.25vw, 135px);
}
#homVisual::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: max(-5vw, -60px);
  width: 93vw;
  aspect-ratio: 37/14;
  background: #d2e6f1;
  border-radius: min(2.5vw, 30px) 0 0 min(2.5vw, 30px);
}
.slider {
  width: 100%;
  aspect-ratio: 16/7;
  position: relative;
}
.slider .homVisImg {
  width: 90vw;
  aspect-ratio: 72/34;
  position: absolute;
  left: 0;
  top: 0;
  overflow: hidden;
  border-radius: 0 min(2.5vw, 30px) min(2.5vw, 30px) 0;
}
.slider .homVisImg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.homVis__txt {
  width: 90%;
  max-width: 1200px;
  text-align: center;
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -60%);
  background: rgb(255, 255, 255);
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.6026785714285714) 25%, rgba(255, 255, 255, 0.5998774509803921) 65%, rgba(255, 255, 255, 0) 100%);
  padding: min(3vw, 36px) 0;
}
.homVis__hifuka__title {
  justify-content: center;
  vertical-align: middle;
  column-gap: min(0.83vw, 10px);
}
.homVis__hifuka__title p, .homVis__hifuka__title ul {
  margin: 0;
  font-weight: 600;
  font-size: min(2.83vw, 3.4rem);
}
.homVis__hifuka__title p span {
  font-size: min(2.33vw, 2.8rem);
}
.homVis__hifuka__title ul {
  justify-content: center;
  vertical-align: middle;
  column-gap: min(0.4vw, 5px);
  margin-top: max(-0.4vw, -5px);
}
.homVis__hifuka__title ul li {
  display: flex;
  display: -webkit-flex;
  border-radius: 50%;
  width: min(5vw, 60px);
  aspect-ratio: 1/1;
  background: #666;
  justify-content: center;
  align-items: center;
  color: #fff;
}
.homVis__hifuka__title ul li.date-sat {
  background: #4c9dcc;
}
.homVis__hifuka__title ul li.date-sun {
  background: #f26866;
}
.homVis__hifuka__title ul li.date-holiday {
  background: #f06485;
}
.homVis__hifuka__date {
  margin: min(1.66vw, 20px) auto 0;
  justify-content: center;
  column-gap: min(1vw, 20px);
}
.homVis__hifuka__date li {
  width: min(12.5vw, 160px);
  aspect-ratio: 1/1;
  background: rgba(255, 255, 255, 0.6);
  border: 3px solid #666;
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center;
  line-height: 1.1;
  border-radius: 50%;
  font-size: min(3.83vw, 4.6rem);
}
.homVis__hifuka__date li.date-sat {
  color: #3691c6;
  border-color: #3691c6;
}
.homVis__hifuka__date li.date-sun {
  color: #e64c4a;
  border-color: #e64c4a;
}
.homVis__hifuka__date li.date-holiday {
  color: #f06485;
  border-color: #f06485;
}
.homVis__kafun h2 {
  font-size: min(3vw, 3.6rem);
  font-weight: 600;
  margin-bottom: min(1.25vw, 15px);
}
.homVis__kafun h2 span {
  color: #e76d00;
  font-size: min(4.33vw, 5.2rem);
}
.homVis__kafun p {
  margin: 0 auto;
  text-align: center;
  max-width: min(40vw, 590px);
}
.homVis__kenshin h2 {
  font-size: min(3vw, 3.6rem);
  font-weight: 600;
  margin-bottom: min(2vw, 25px);
}
.homVis__kenshin h2 span {
  color: #2448a5;
}
.homVis__kenshin p {
  margin: 0 auto;
  text-align: center;
  max-width: min(38vw, 470px);
}
.homCatch {
  position: absolute;
  left: min(5vw, 60px);
  bottom: min(5vw, 60px);
  z-index: 1;
}
.homCatch h2 {
  font-size: min(3.17vw, 3.8rem);
  margin-bottom: min(0.4vw, 5px);
}
.homCatch h2.homCatch--S {
  font-size: min(2.33vw, 2.8rem);
}
.homCatch h2 span {
  display: inline-block;
  background: #fff;
  padding: min(0.4vw, 5px) min(2vw, 24px);
}
@media (max-width: 1495px) {
  .homVis__txt {
    width: 80%;
  }
}
@media (max-width: 1380px) {
  .homCatch {
    left: 0;
    bottom: 2vw;
  }
}
@media (max-width: 767px) {
  #homVisual {
    aspect-ratio: 39/44;
    margin-bottom: min(18vw, 135px);
  }
  #homVisual::before {
    bottom: max(-6vw, -60px);
    width: 93vw;
    aspect-ratio: 1/1;
    border-radius: min(6vw, 30px) 0 0 min(6vw, 30px);
  }
  .slider {
    aspect-ratio: 39/44;
  }
  .slider .homVisImg {
    width: 95vw;
    aspect-ratio: 37/44;
    border-radius: 0 min(6vw, 30px) min(6vw, 30px) 0;
  }
  .homVis__txt {
    width: 90%;
  }
  .homVis__hifuka {
    padding: min(5vw, 36px) 0;
  }
  .homVis__hifuka__title {
    column-gap: min(1vw, 10px);
  }
  .homVis__hifuka__title p, .homVis__hifuka__title ul {
    font-size: min(4.5vw, 3.4rem);
  }
  .homVis__hifuka__title p span {
    font-size: min(3.6vw, 2.8rem);
  }
  .homVis__hifuka__title ul {
    column-gap: min(1vw, 5px);
    margin-top: max(-1vw, -5px);
  }
  .homVis__hifuka__title ul li {
    width: min(8vw, 60px);
    font-size: min(5vw, 3.4rem);
  }
  .homVis__hifuka__date {
    margin: min(3vw, 20px) auto 0;
    column-gap: min(2vw, 20px);
  }
  .homVis__hifuka__date li {
    width: min(24vw, 160px);
    font-size: min(6vw, 4.6rem);
    font-weight: 600;
    border-width: 2px;
  }
  .homVis__kafun h2 {
    font-size: min(5vw, 3.6rem);
    margin-bottom: min(2vw, 15px);
  }
  .homVis__kafun h2 span {
    font-size: min(6vw, 5.2rem);
  }
  .homVis__kafun p {
    max-width: inherit;
    width: 90%;
  }
  .homVis__kenshin h2 {
    font-size: min(5vw, 3.6rem);
    margin-bottom: min(3vw, 25px);
  }
  .homVis__kenshin p {
    max-width: inherit;
    width: 90%;
  }
  .homCatch {
    left: 0;
    bottom: min(5vw, 60px);
  }
  .homCatch h2 {
    font-size: min(5vw, 3.8rem);
    margin-bottom: min(1vw, 5px);
  }
  .homCatch h2.homCatch--S {
    font-size: min(4vw, 2.8rem);
  }
  .homCatch h2 span {
    padding: min(1vw, 5px) min(2vw, 10px) min(1vw, 5px) min(5vw, 24px);
  }
}
/* home common  ------------------------------------------ */
.homTitle {
  text-align: center;
  font-size: min(3.3vw, 4rem);
  font-weight: 600;
  padding-top: min(4.4vw, 50px);
  margin-bottom: min(5.83vw, 70px);
  letter-spacing: 0.2rem;
  position: relative;
}
.homTitle::before {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
}
.homRead {
  text-align: center;
  font-size: min(1.66vw, 2rem);
  margin-bottom: min(5vw, 60px);
}
@media (max-width: 767px) {
  .homTitle {
    font-size: min(6vw, 4rem);
    padding-top: min(9vw, 50px);
    margin-bottom: min(10vw, 70px);
  }
  .homRead {
    font-size: min(4.3vw, 2rem);
    margin-bottom: min(6vw, 60px);
  }
}
/* homTime ------------------------------------------ */
#homTime {
  margin-bottom: min(11.67vw, 140px);
}
#homTime .homTitle::before {
  background-image: url("../../img/home/ic-homTitle__time.png");
  aspect-ratio: 25/21;
}
.homTime__wrap {
  margin-bottom: min(6.67vw, 80px);
}
.homTime__cont {
  width: 48%;
}
.homTime__cont h3 {
  margin: 0 auto min(2vw, 25px);
  width: min(20vw, 240px);
  text-align: center;
  font-size: min(2.5vw, 3rem);
  font-weight: 600;
  border-radius: 30vw;
  padding: min(1.25vw, 15px);
  line-height: 1;
  color: #fff;
  position: relative;
}
.homTime__cont h3::before {
  content: "";
  width: min(1vw, 12px);
  aspect-ratio: 1/1;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 50%) rotate(45deg);
}
.homTime__hifuka h3, .homTime__hifuka h3::before {
  background: var(--c-hifuka);
}
.homTime__naika h3, .homTime__naika h3::before {
  background: var(--c-naika);
}
.homTime__read {
  text-align: center;
  font-weight: 600;
  font-size: min(1.5vw, 1.8rem);
}
.homTime__cont table {
  font-size: min(1.5vw, 1.8rem);
  margin-bottom: min(0.83vw, 10px);
}
.homTime__cont table th, .homTime__cont table td {
  padding: min(1.25vw, 15px);
}
.homTime__cont .timetable__note {
  font-size: min(1.3vw, 1.6rem);
}
.homTimeBtn {
  width: 48.5%;
  text-align: center;
  font-size: min(2.17vw, 2.6rem);
  background: #47be97;
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center;
  height: min(14.17vw, 170px);
  color: #fff;
  border-radius: min(0.83vw, 10px);
  position: relative;
  cursor: pointer;
  margin: 0 auto;
}
.homTimeBtn a {
  color: #fff;
}
.homTimeBtn h2 {
  position: relative;
  font-weight: 600;
  padding-top: min(0.83vw, 10px);
}
.homTimeBtn h2::before {
  content: "\ebcc";
  font-family: var(--ff-symbol);
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -75%);
  font-weight: 300;
  font-size: min(3.3vw, 4rem);
}
.homTimeBtn__kamoku h2::before {
  content: "\ebcc";
}
.homTimeBtn__tantou h2::before {
  content: "\f233";
}
.homTimeBtn::before {
  content: "";
  width: min(1vw, 12px);
  aspect-ratio: 1/1;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  position: absolute;
}
.homTimeBtn__kamoku::before {
  left: 50%;
  bottom: min(1.66vw, 20px);
  transform: translate(-50%, 0) rotate(135deg);
}
.homTimeBtn__tantou::before {
  right: min(2.5vw, 30px);
  top: 50%;
  transform: translate(0, -50%) rotate(45deg);
}
.homTimeBtn__kamoku {
  background: url("../../img/home/bg-time_kamoku-01.png") center bottom / cover no-repeat;
}
.homTimeBtn__tantou {
  background: url("../../img/home/bg-time_tantoui-01.png") right center / cover no-repeat;
}
.homTimeBtn__kamoku:hover {
  opacity: 0.8;
}
.homTimeBtn__kamoku.active {
  transform: rotate(180deg);
}
.homTimeBtn__kamoku.active h2 {
  transform: rotate(-180deg);
}
.homSchedule__kamoku {
  display: none;
  background-color: var(--c-beige);
  border-radius: min(2.5vw, 30px);
  padding: min(5.83vw, 70px) 0;
  text-align: center;
  margin-bottom: min(3.3vw, 40px);
  background-image: url("../../img/home/bg-homSchedule-01.png"), url("../../img/home/bg-homSchedule-02.png");
  background-position: right top, left bottom;
  background-repeat: no-repeat;
  background-size: min(20vw, 240px) min(13.3vw, 160px), min(16.17vw, 194px) min(25.17vw, 302px);
}
.homInrSchedule {
  width: 65%;
  max-width: 770px;
  margin: 0 auto;
  position: relative;
}
.homInrSchedule h2 {
  font-size: min(2.5vw, 3rem);
  font-weight: 600;
  margin-bottom: min(3.3vw, 40px);
}
.homInrSchedule table {
  width: 100%;
  margin: 0;
}
.homInrSchedule table tr {
  border-bottom: 2px solid var(--c-beige);
  background: #fff;
}
.homInrSchedule table th, .homInrSchedule table td {
  padding: min(1.25vw, 15px);
  line-height: 1.3;
  vertical-align: middle;
  font-weight: 600;
}
.homInrSchedule table td {
  padding: min(0.4vw, 5px);
}
.homInrSchedule table tr.kamoku--heading {
  background: var(--c-green);
  color: #fff;
}
.homInrSchedule table tr.kamoku--heading th:not(:first-child) {
  width: 11%;
}
.homInrSchedule table td span {
  display: block;
  font-size: min(1.08vw, 1.3rem);
  color: #333 !important;
}
.kamoku--naika td:not(:first-child) {
  color: var(--c-naika);
}
.kamoku--hifuka td:not(:first-child) {
  color: var(--c-hifuka);
}
.kamoku--jiyu td:not(:first-child) {
  color: var(--c-jiyu);
}
.homSchedule__note {
  margin: min(0.83vw, 10px) 0 0;
  text-align: left;
  font-size: min(1.3vw, 1.6rem);
}
.homShcedule__link {
  width: min(15.83vw, 190px);
  aspect-ratio: 1/1;
  border-radius: 50%;
  border: 2px solid var(--c-green);
  background: #fff;
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  right: 0;
  bottom: 0;
  transform: translate(95%, 25%);
}
.homShcedule__link p {
  margin: 0;
  font-size: min(1.16vw, 1.4rem);
  font-weight: 600;
}
.homShcedule__link h3 a {
  color: var(--c-green);
  font-weight: 600;
  font-size: min(2vw, 2.4rem);
}
@media (max-width: 767px) {
  #homTime {
    margin-bottom: min(10vw, 140px);
  }
  #homTime .homTitle::before {
    width: min(8vw, 40px);
  }
  .homTime__wrap {
    margin-bottom: min(4vw, 80px);
  }
  .homTime__cont {
    width: 100%;
    margin-bottom: min(5vw, 30px);
  }
  .homTime__cont h3 {
    margin: 0 auto min(5vw, 25px);
    width: min(40vw, 240px);
    font-size: min(5vw, 3rem);
    padding: min(2.5vw, 15px);
  }
  .homTime__cont h3::before {
    width: min(2vw, 12px);
  }
  .homTime__read {
    font-size: min(3.7vw, 1.8rem);
    text-align: left;
  }
  .homTime__cont table {
    font-size: min(3.8vw, 1.8rem);
    margin-bottom: min(1vw, 10px);
  }
  .homTime__cont table th, .homTime__cont table td {
    padding: min(2vw, 15px);
  }
  .homTime__cont .timetable__note {
    font-size: min(3.6vw, 1.6rem);
  }
  .homTimeBtn {
    width: 100%;
    font-size: min(5vw, 2.6rem);
    height: auto;
    align-items: stretch;
    border-radius: min(2vw, 10px);
    margin-bottom: min(2vw, 15px);
    padding: 11vw 3vw 7.5vw;
  }
  .homTimeBtn h2 {
    padding-top: 0;
  }
  .homTimeBtn h2::before {
    font-size: min(7vw, 4rem);
    transform: translate(-50%, -90%);
  }
  .homTimeBtn::before {
    width: min(2.4vw, 12px);
  }
  .homTimeBtn__kamoku::before {
    bottom: min(3vw, 20px);
  }
  .homTimeBtn__tantou::before {
    right: min(3vw, 30px);
  }
  .homTimeBtn__kamoku:hover {
    opacity: 1;
  }
  .homTimeBtn__kamoku.active {
    padding: 7.5vw 3vw 11vw;
  }
  .homSchedule__kamoku {
    border-radius: min(3vw, 30px);
    padding: min(8vw, 70px) 0 min(5vw, 70px);
    margin-bottom: min(6vw, 40px);
    background-size: min(34.29vw, 240px) min(22.86vw, 160px), min(27.71vw, 194px) min(43.14vw, 302px);
    background-position: right top, left 75%;
  }
  .homInrSchedule {
    width: 90%;
  }
  .homInrSchedule h2 {
    font-size: min(5vw, 3rem);
    margin-bottom: min(6vw, 40px);
  }
  .homInrSchedule table th, .homInrSchedule table td {
    padding: min(2vw, 15px);
    font-size: min(3.6vw, 1.4rem);
  }
  .homInrSchedule table td {
    padding: min(1vw, 5px);
  }
  .homInrSchedule table tr.kamoku--heading th:not(:first-child) {
    width: 10.5%;
  }
  .homInrSchedule table td span {
    font-size: min(3vw, 1.3rem);
  }
  .homSchedule__note {
    margin: min(2vw, 10px) 0 0;
    font-size: min(3.6vw, 1.6rem);
    text-align: right;
  }
  .homShcedule__link {
    width: 100%;
    aspect-ratio: inherit;
    border-radius: 2vw;
    position: relative;
    right: inherit;
    bottom: inherit;
    transform: none;
    padding: 3vw;
    margin-top: 5vw;
  }
  .homShcedule__link p {
    font-size: min(4vw, 1.4rem);
  }
  .homShcedule__link p br {
    display: none;
  }
  .homShcedule__link h3 a {
    font-size: min(5vw, 2.4rem);
  }
}
/* homNews  ------------------------------------------ */
#homNews {
  position: relative;
  padding: min(5vw, 60px) 0 min(8.3vw, 100px);
  margin-bottom: min(8.3vw, 100px);
}
#homNews::before {
  content: "";
  width: 96%;
  height: 100%;
  border-radius: 0 min(2.5vw, 30px) min(2.5vw, 30px) 0;
  background: var(--c-beige);
  position: absolute;
  left: 0;
  top: 0;
}
#homNews .homTitle::before {
  background-image: url("../../img/home/ic-homTitle__news.png");
  width: min(2.5vw, 30px);
  aspect-ratio: 49/61;
}
#homNews .homInrNews {
  position: relative;
  z-index: 1;
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
}
.homNews__fixed {
  border-top: 2px solid #333;
  border-bottom: 2px solid #333;
  padding: min(1.66vw, 20px) min(1.25vw, 15px);
}
#homNews ul {
  margin: 0;
}
#homNews ul li {
  margin: min(0.83vw, 10px) 0;
  font-weight: 600;
}
#homNews a {
  color: #333;
}
.homNews__list__wrap {
  padding: min(1.66vw, 20px) min(1.25vw, 15px);
}
.homNews__list {
  display: flex;
  display: -webkit-flex;
  align-items: center;
  column-gap: min(1.25vw, 15px);
  margin: min(1.25vw, 15px) 0;
}
.homNews__list p {
  margin: 0;
  font-weight: 600;
}
.homNews__list p.homNews__cat {
  font-size: min(1.3vw, 1.6rem);
  width: min(10.83vw, 130px);
  text-align: center;
  background: #47be97;
  color: #fff;
  padding: min(0.5vw, 6px);
  line-height: 1.2;
}
.homNews__fixed ul li, .homNews__list {
  padding-left: min(2.92vw, 35px);
  position: relative;
}
.homNews__fixed ul li::before, .homNews__list::before {
  content: "";
  width: min(1.83vw, 22px);
  aspect-ratio: 1/1;
  border: 2px solid #333;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 50%;
}
.homNews__fixed ul li::after, .homNews__list::after {
  content: "";
  width: min(0.5vw, 6px);
  aspect-ratio: 1/1;
  border-top: 2px solid #333;
  border-right: 2px solid #333;
  position: absolute;
  left: min(0.66vw, 8px);
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
@media (max-width: 767px) {
  #homNews {
    padding: min(8vw, 60px) 0 min(6vw, 100px);
    margin-bottom: min(6vw, 100px);
  }
  #homNews .homTitle::before {
    width: min(7vw, 49px);
  }
  #homNews::before {
    width: 100%;
    border-radius: 0;
  }
  .homNews__fixed {
    padding: min(2vw, 15px);
  }
  #homNews ul li {
    margin: min(2vw, 10px) 0;
  }
  .homNews__list__wrap {
    padding: min(2vw, 15px);
  }
  .homNews__list {
    column-gap: min(2vw, 15px);
    margin: min(4vw, 15px) 0;
    flex-wrap: wrap;
  }
  .homNews__list p.homNews__title {
    width: 100%;
    margin-top: min(1vw, 5px);
  }
  .homNews__list p.homNews__cat {
    font-size: min(3.6vw, 1.6rem);
    width: min(28vw, 130px);
    padding: min(1vw, 6px);
  }
  .homNews__fixed ul li, .homNews__list {
    padding-left: min(6vw, 35px);
  }
  .homNews__fixed ul li::before, .homNews__list::before {
    width: min(4vw, 22px);
    border-width: 1px;
    top: 0;
    transform: translateY(25%);
  }
  .homNews__fixed ul li::after, .homNews__list::after {
    width: min(1vw, 6px);
    border-width: 1px;
    left: min(1.5vw, 8px);
    top: 3vw;
    transform: translateY() rotate(45deg);
  }
}
/* homMenu  ------------------------------------------ */
#homMenu {
  margin-bottom: min(14.58vw, 175px);
  position: relative;
}
#homMenu::before, #homMenu::after {
  content: "";
  position: absolute;
  z-index: 1;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
#homMenu::before {
  background-image: url("../../img/home/bg-homMenu-01.png");
  width: min(15.33vw, 184px);
  aspect-ratio: 92/145;
  left: 0;
  top: 0;
}
#homMenu::after {
  background-image: url("../../img/home/bg-homMenu-02.png");
  width: min(11.17vw, 134px);
  aspect-ratio: 134/277;
  right: 0;
  bottom: min(18.33vw, 220px);
}
#homMenu .inrContent {
  position: relative;
  z-index: 2;
}
#homMenu .homTitle::before {
  background-image: url("../../img/home/ic-homTitle__menu.png");
  width: min(3.5vw, 42px);
  aspect-ratio: 59/41;
}
.homMenu__main {
  margin-bottom: min(2.92vw, 35px);
}
.homMenu__main__cont {
  width: 49%;
  background: var(--c-beige);
  position: relative;
}
.homMenu__main__icon {
  margin: 0;
  position: absolute;
  top: 0;
  width: min(6.67vw, 80px);
}
.homMenu__icon__hifuka {
  left: min(2.5vw, 30px);
}
.homMenu__icon__naika {
  right: min(2.5vw, 30px);
}
.homMenu__main_img {
  margin: 0;
  aspect-ratio: 39/20;
  overflow: hidden;
  background: #eee;
}
.homMenu__main_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.homMenu__main__body {
  padding: min(3.3vw, 40px) min(3.3vw, 40px) min(4.4vw, 50px);
}
.homMenu__main__body h3 {
  text-align: center;
  font-size: min(2.33vw, 2.8rem);
  margin-bottom: min(3.3vw, 40px);
  font-weight: 600;
}
.homMenu__main__body h3 span {
  position: relative;
  padding-bottom: min(1.25vw, 15px);
}
.homMenu__main__body h3 span::before {
  content: "";
  width: min(6.67vw, 80px);
  height: 1px;
  background: #333;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
}
.homMenu__main__btn {
  margin: min(3.3vw, 40px) auto 0;
  text-align: center;
}
.homMenu__sub {
  margin-bottom: min(2.92vw, 35px);
}
.homMenu__sub li {
  text-align: center;
  width: 23%;
  height: min(23.33vw, 280px);
  padding: min(11.25vw, 135px) min(2.5vw, 30px) 0;
  border-radius: min(0.83vw, 10px);
  position: relative;
}
.homMenu__sub li::before {
  content: "";
  width: min(3.75vw, 45px);
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.4);
  position: absolute;
  left: 50%;
  bottom: min(2vw, 25px);
  transform: translateX(-50%);
}
.homMenu__sub li::after {
  content: "";
  width: min(0.83vw, 10px);
  aspect-ratio: 1/1;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  position: absolute;
  left: 50%;
  bottom: min(3.96vw, 47.5px);
  transform: translate(-60%, 50%) rotate(45deg);
}
.homMenu__sub li h3 {
  font-size: min(1.83vw, 2.2rem);
  font-weight: 600;
  color: #fff;
  text-align: center;
  line-height: 1.2;
  position: relative;
}
.homMenu__sub li h3::before {
  content: "";
  width: min(5.42vw, 65px);
  aspect-ratio: 65/64;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -130%);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}
.homMenu__sub--01 h3::before {
  background-image: url("../../img/home/ic-homMenu-sub-01.png");
}
.homMenu__sub--02 h3::before {
  background-image: url("../../img/home/ic-homMenu-sub-02.png");
}
.homMenu__sub--03 h3::before {
  background-image: url("../../img/home/ic-homMenu-sub-03.png");
}
.homMenu__sub--04 h3::before {
  background-image: url(../../img/home/ic-homMenu-sub-05.png);
}
.homMenu__sub li h3 a, .homMenu__sub li h3 a:hover {
  color: #fff;
}
.homMenu__sub li h3 span {
  font-size: min(1.16vw, 1.4rem);
}
.homMenu__common {
  background: #c088ba;
}
.homMenu__naika {
  background: var(--c-naika);
}
.homMenu__check {
  background: #d8ede6 url("../../img/home/bg-homMenu_check_pc.png") right center / auto 100% no-repeat;
  border-radius: min(0.83vw, 10px);
}
.homMenu__check__cont {
  width: 50%;
  padding: min(5.4vw, 65px) min(5vw, 60px);
}
.homMenu__check__cont h2 {
  text-align: center;
  font-weight: 600;
  font-size: min(2vw, 2.4rem);
  margin-bottom: min(2vw, 25px);
}
.homMenu__check__cont h2 span {
  font-size: min(2.5vw, 3rem);
}
.homMenu__check__cont p {
  line-height: 1.8;
}
.homMenu__check__btn {
  margin: min(3vw, 35px) auto 0;
  text-align: center;
  line-height: 1.6 !important;
}
@media (max-width: 767px) {
  #homMenu {
    margin-bottom: min(18vw, 175px);
  }
  #homMenu::before {
    background-image: url("../../img/home/bg-homMenu-01_sp.png");
    aspect-ratio: 201/331;
    width: min(27vw, 100px);
  }
  #homMenu::after {
    width: min(19vw, 140px);
    bottom: 0;
    transform: translateY(35%);
    z-index: -1;
  }
  #homMenu .homTitle {
    padding-top: 6vw;
  }
  #homMenu .homTitle::before {
    width: min(6vw, 42px);
  }
  .homMenu__main {
    margin-bottom: 0;
  }
  .homMenu__main__cont {
    width: 100%;
    margin-bottom: min(5vw, 25px);
  }
  .homMenu__main__icon {
    width: min(15vw, 55px);
  }
  .homMenu__icon__hifuka {
    right: min(3vw, 25px);
    left: inherit;
  }
  .homMenu__icon__naika {
    right: min(3vw, 25px);
  }
  .homMenu__main_img {
    aspect-ratio: 141/71;
  }
  .homMenu__main__body {
    padding: min(5vw, 40px) min(5vw, 40px) min(8vw, 40px);
  }
  .homMenu__main__body h3 {
    font-size: min(5vw, 2.8rem);
    margin-bottom: min(7vw, 40px);
  }
  .homMenu__main__body h3 span {
    padding-bottom: min(3vw, 15px);
  }
  .homMenu__main__body h3 span::before {
    width: min(15vw, 80px);
  }
  .homMenu__main__btn {
    margin: min(5vw, 40px) auto 0;
  }
  .homMenu__main__btn a {
    width: 60vw;
    margin: 0 auto;
  }
  .homMenu__sub {
    margin-bottom: min(5vw, 25px);
  }
  .homMenu__sub li {
    width: 49%;
    height: auto;
    padding: 4vw;
    border-radius: min(2vw, 10px);
    aspect-ratio: 1/1;
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 2%;
  }
  .homMenu__sub li::before {
    width: min(7vw, 45px);
    bottom: min(5vw, 25px);
  }
  .homMenu__sub li::after {
    width: min(2vw, 10px);
    bottom: min(8.5vw, 47.5px);
  }
  .homMenu__sub li h3 {
    font-size: min(4.2vw, 2.2rem);
    padding-top: 3vw;
  }
  .homMenu__sub li h3::before {
    width: min(11vw, 80px);
    top: inherit;
  }
  .homMenu__sub li h3 span {
    font-size: min(3.4vw, 1.4rem);
  }
  .homMenu__check {
    border-radius: min(2vw, 10px);
    background-image: none;
    position: relative;
    padding-bottom: 40vw;
  }
  .homMenu__check::before {
    content: "";
    width: 100%;
    height: 40vw;
    border-radius: 0 0 min(2vw, 10px) min(2vw, 10px);
    position: absolute;
    left: 0;
    bottom: 0;
    background: url("../../img/home/bg-homMenu_check_sp.jpg") center bottom / cover no-repeat;
  }
  .homMenu__check__cont {
    width: 100%;
    padding: 8vw 5vw;
  }
  .homMenu__check__cont h2 {
    font-size: min(5vw, 2.4rem);
    margin-bottom: min(4vw, 25px);
  }
  .homMenu__check__cont h2 span {
    font-size: min(6vw, 3rem);
  }
  .homMenu__check__btn {
    margin: min(6vw, 35px) auto 0;
  }
  .homMenu__check__btn a {
    width: 60vw;
    margin: 0 auto;
  }
}
/* 訪問  ------------------------------------------ */
#homHoumon {
  margin: min(6.5vw, 78px) auto;
  padding-bottom: min(6.6vw, 80px);
  position: relative;
  background: var(--c-beige);
}
#homHoumon::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 50vw min(6.5vw, 78px) 50vw;
  border-color: transparent transparent #f7f6f1 transparent;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -100%);
}
#homHoumon::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  aspect-ratio: 40/1;
  background: url("../../img/home/bg-bottom-houmon-01.png") left bottom / cover no-repeat;
  transform: translateY(100%);
}
#homHoumon .homTitle::before {
  background-image: url("../../img/home/ic-homTitle__houmon.png");
  width: min(3.75vw, 45px);
  aspect-ratio: 63/61;
}
.homInrHoumon {
  width: 90%;
  max-width: 1170px;
  margin: 0 auto;
}
.homHoumon__wrap {
  column-gap: min(2.5vw, 30px);
}
.homHoumon__cont {
  flex: 1;
  text-align: center;
}
.homHoumon__img {
  border-radius: min(1.25vw, 15px);
  overflow: hidden;
  aspect-ratio: 37/30;
  background: #eee;
  margin: 0;
  position: relative;
  z-index: 1;
}
.homHoumon__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.homHoumon__icon {
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center;
  background: var(--c-houmon);
  width: min(6.67vw, 80px);
  aspect-ratio: 1/1;
  border-radius: 50%;
  margin: max(-3.33vw, -40px) auto 0;
  position: relative;
  z-index: 3;
}
.homHoumon__cont h3 {
  font-weight: 600;
  font-size: min(1.66vw, 2rem);
  margin-top: min(0.83vw, 10px);
}
.homHoumon__cont h3 span {
  color: var(--c-houmon);
  font-size: min(2.17vw, 2.6rem);
}
.homHoumon__icon img {
  height: min(3.58vw, 43px);
  width: auto;
}
.homHoumon__btn {
  margin: min(6.25vw, 75px) auto 0;
  text-align: center;
}
@media (max-width: 767px) {
  #homHoumon {
    margin: min(15vw, 78px) auto;
    padding-bottom: min(15vw, 80px);
  }
  #homHoumon .homTitle::before {
    width: min(8vw, 63px);
  }
  .homInrHoumon {
    width: 90%;
    max-width: 1170px;
    margin: 0 auto;
  }
  .homHoumon__wrap {
    column-gap: 0;
    width: 90%;
    margin: 0 auto;
  }
  .homHoumon__cont {
    width: 100%;
    flex: none;
    margin-bottom: min(8vw, 30px);
  }
  .homHoumon__img {
    border-radius: min(2vw, 15px);
    aspect-ratio: 113/68;
  }
  .homHoumon__icon {
    width: min(18vw, 60px);
    margin: max(-7.5vw, -29px) auto 0;
  }
  .homHoumon__cont h3 {
    font-size: min(5vw, 2rem);
    margin-top: min(2vw, 10px);
  }
  .homHoumon__cont h3 span {
    font-size: min(6vw, 2.6rem);
  }
  .homHoumon__icon img {
    height: min(8vw, 31px);
  }
  .homHoumon__btn {
    margin: min(6vw, 30px) auto 0;
  }
}
/* geeting  ------------------------------------------ */
#homGreeting {
  margin: min(10vw, 120px) auto min(11.25vw, 135px);
  position: relative;
  background-image: url("../../img/home/bg-homGreeting-01.png"), url("../../img/home/bg-homGreeting-02.png"), url("../../img/home/bg-homGreeting-03.png");
  background-position: right top, left 50%, left 90%;
  background-size: min(19.75vw, 237px) min(27.33vw, 328px), min(8.42vw, 101px) min(7.5vw, 90px), min(10.92vw, 131px) min(16.42vw, 197px);
  background-repeat: no-repeat;
}
#homGreeting .homGreeting__title {
  margin: 0 auto min(8.3vw, 100px);
  width: 90%;
  text-align: center;
  padding-top: min(5.83vw, 70px);
  font-weight: 600;
  font-size: min(2.67vw, 3.2rem);
}
#homGreeting .homGreeting__title::before {
  content: "";
  background: url("../../img/home/ic-homTitle__greeting.png") center center / contain no-repeat;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  aspect-ratio: 55/86;
  width: min(2vw, 24px);
}
.homInrGreeting {
  width: 90%;
  max-width: 1030px;
  margin: 0 auto;
  position: relative;
}
.homGreeting__cont {
  width: 57%;
}
.homGreeting__img {
  width: 36%;
  background: #ccc;
  border-radius: min(1.25vw, 15px);
  overflow: hidden;
}
.homGreeting__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.homGreeting__cont h3 {
  font-size: min(2.33vw, 2.8rem);
  font-weight: 600;
  margin: min(1.66vw, 20px) 0 min(2.5vw, 30px);
}
.homGreeting__btn {
  margin: min(4.4vw, 50px) auto 0;
}
.homGreeting__icon {
  margin: 0;
  position: absolute;
  right: 0;
  bottom: 0;
  width: min(10.5vw, 126px);
  transform: translate(40%, 10%);
}
@media (max-width: 767px) {
  #homGreeting {
    margin: min(6vw, 120px) auto min(10vw, 135px);
    background: none;
  }
  #homGreeting .homGreeting__title {
    margin: 0 auto min(14vw, 100px);
    padding-top: min(14vw, 70px);
    font-size: min(6vw, 2.4rem);
  }
  #homGreeting .homGreeting__title::before {
    width: min(7vw, 43px);
  }
  #homGreeting .homGreeting__title span {
    position: relative;
    padding-bottom: min(4vw, 15px);
  }
  #homGreeting .homGreeting__title span::before {
    content: "";
    width: 110%;
    height: min(1.5vw, 6px);
    background: url("../../img/common/bg-wavyline-bk-01.png") center center / auto 100% no-repeat;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
  }
  .homGreeting__cont {
    width: 100%;
  }
  .homGreeting__img {
    width: 100%;
    aspect-ratio: 351/224;
    border-radius: min(2vw, 15px);
    margin-top: min(8vw, 40px);
  }
  .homGreeting__cont h3 {
    font-size: min(5vw, 2.8rem);
    margin: 0 0 min(6vw, 30px);
  }
  .homGreeting__btn {
    margin: min(7vw, 50px) auto 0;
  }
  .homGreeting__icon {
    right: 0;
    top: 0;
    bottom: inherit;
    width: min(16vw, 126px);
    transform: translate(20%, 0);
    margin-top: max(-45vw, -200px);
  }
}
/* loopslider */
#homLoopSlider {
  margin: min(2.5vw, 30px) 0;
}
.loopSliderWrap {
  top: 0;
  left: 0;
  height: min(20.83vw, 250px);
  overflow: hidden;
  position: absolute;
}
.loopSlider {
  margin: 0 auto;
  width: 100%;
  height: min(20.83vw, 250px);
  text-align: left;
  position: relative;
  overflow: hidden;
}
.loopSlider ul {
  height: min(20.83vw, 250px);
  float: left;
  overflow: hidden;
}
.loopSlider ul li {
  width: min(31.67vw, 380px);
  height: min(20.83vw, 250px);
  float: left;
  display: inline;
  overflow: hidden;
  padding: 0 min(0.83vw, 10px);
  box-sizing: content-box;
}
@media (max-width: 767px) {
  #homLoopSlider {
    margin: min(6vw, 30px) 0;
  }
  .loopSliderWrap {
    height: min(33vw, 250px);
  }
  .loopSlider {
    height: min(33vw, 250px);
  }
  .loopSlider ul {
    height: min(33vw, 250px);
  }
  .loopSlider ul li {
    width: min(51vw, 190px);
    height: min(33vw, 250px);
    padding: 0 min(23vw, 10px);
  }
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━
module(common)
 ━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* vusial */
#visual {
  height: min(25vw, 300px);
  position: relative;
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center;
}
#visual h2 {
  font-size: min(3.3vw, 4rem);
  letter-spacing: 0.2rem;
  position: relative;
  z-index: 3;
  font-weight: 600;
}
#visual .catImg {
  position: absolute;
  left: 0;
  top: 0;
  width: calc(100% - min(10%, 160px));
  height: 100%;
  background: #aaa;
  border-radius: 0 min(2.5vw, 30px) min(2.5vw, 30px) 0;
  overflow: hidden;
}
#visual .catImg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#visual::before {
  content: "";
  position: absolute;
  right: 0;
  top: min(8.3vw, 100px);
  width: calc(100% - min(10%, 160px));
  height: min(22.5vw, 270px);
  background: #d2e6f1;
  border-radius: min(2.5vw, 30px) 0 0 min(2.5vw, 30px);
}
@media (max-width: 767px) {
  #visual {
    height: min(40vw, 300px);
  }
  #visual h2 {
    font-size: min(6vw, 4rem);
  }
  #visual .catImg {
    width: 95%;
    border-radius: 0 min(5vw, 30px) min(5vw, 30px) 0;
  }
  #visual::before {
    top: min(15vw, 100px);
    width: 90%;
    height: min(35vw, 270px);
    border-radius: min(5vw, 30px) 0 0 min(5vw, 30px);
  }
}
/* topicPath */
ol.topicPath {
  list-style: none;
  margin: min(2vw, 24px) auto;
  font-size: 0;
  width: 80%;
  text-align: right;
}
ol.topicPath li {
  font-size: min(1vw, 1.2rem);
  display: inline-block;
  position: relative;
  letter-spacing: 0.1rem;
}
ol.topicPath li:not(:first-child) {
  padding: 0 0 0 min(1.25vw, 15px);
  margin-left: min(0.4vw, 5px);
  position: relative;
}
ol.topicPath li:not(:first-child)::before {
  content: "";
  width: min(0.5vw, 6px);
  height: min(0.5vw, 6px);
  border-top: 1px solid #333;
  border-right: 1px solid #333;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
ol.topicPath li a {
  color: #333;
}
@media (max-width: 767px) {
  ol.topicPath {
    margin: min(2vw, 24px) auto;
    width: 90%;
  }
  ol.topicPath li {
    font-size: 3vw;
  }
  ol.topicPath li:not(:first-child) {
    padding: 0 0 0 3vw;
    margin-left: 1vw;
  }
  ol.topicPath li:not(:first-child)::before {
    width: 1.2vw;
    height: 1.2vw;
  }
}
/* layout */
#ul-container {
  padding-top: min(7.5vw, 90px);
  background: url("../../img/page/common/bg-ul-container-L.png"), url("../../img/page/common/bg-ul-container-R.png");
  background-repeat: repeat-y;
  background-size: min(8vw, 201px) auto, min(10vw, 220px) auto;
  background-position: left min(16.67vw, 200px), right top;
  background-attachment: fixed;
}
#mainContent {
  margin: 0 auto min(8.3vw, 100px);
  width: 90%;
  max-width: 1200px;
}
.wrapContainer {
  margin: min(10vw, 120px) auto;
}
@media (max-width: 767px) {
  #ul-container {
    padding-top: 0;
    background: none;
  }
  #mainContent {
    margin: 0 auto 15vw;
  }
  .wrapContainer {
    margin: 8vw auto;
  }
}
/* localnavi */
#navLocal ul li a {
  color: #fff;
  font-weight: 500;
  position: relative;
  display: block;
}
#navLocal ul li a::before {
  content: "";
  aspect-ratio: 1/1;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  position: absolute;
  top: 50%;
  transform: translateY(-50%)rotate(45deg);
}
#navLocal ul li a.current::before, #navLocal ul.first li a.parentsLink::before {
  transform: translateY(-50%)rotate(135deg);
}
#navLocal ul li a {
  background: var(--c-green);
}
#navLocal ul li a.current, #navLocal ul.first li a.parentsLink, #navLocal ul li a:hover {
  background: #367ca3;
}
#gairai #navLocal ul li a {
  background: var(--c-green);
}
#gairai #navLocal ul li a.current, #gairai #navLocal ul.first li a.parentsLink, #gairai #navLocal ul li a:hover {
  background: #367ca3;
}
#gairai.hifuka #navLocal ul li a {
  background: var(--c-hifuka);
}
#gairai.hifuka #navLocal ul li a.current, #gairai.hifuka #navLocal ul.first li a.parentsLink, #gairai.hifuka #navLocal ul li a:hover {
  background: #de6770;
}
#gairai.naika #navLocal ul li a {
  background: var(--c-naika);
}
#gairai.naika #navLocal ul li a.current, #gairai.naika #navLocal ul.first li a.parentsLink, #gairai.naika #navLocal ul li a:hover {
  background: #249aa9;
}
#gairai.jiyu #navLocal ul li a {
  background: var(--c-jiyu);
}
#gairai.jiyu #navLocal ul li a.current, #gairai.jiyu #navLocal ul.first li a.parentsLink, #gairai.jiyu #navLocal ul li a:hover {
  background: #b06da9;
}
#houmon #navLocal ul li a {
  background: var(--c-houmon);
}
#houmon #navLocal ul li a.current, #houmn #navLocal ul.first li a.parentsLink, #houmon #navLocal ul li a:hover {
  background: #e69624;
}
@media (min-width:768px) {
  #navLocal {
    width: 90%;
    margin: 0 auto 0;
  }
  #navLocal ul {
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    column-gap: min(0.83vw, 10px);
  }
  #navLocal ul li {
    text-align: center;
    margin-bottom: min(0.83vw, 10px);
  }
  #navLocal ul li a {
    padding: min(1.25vw, 15px) min(2.5vw, 30px);
    min-width: min(15.83vw, 190px);
    border-radius: 50vw;
  }
  #navLocal ul li a::before {
    width: min(0.66vw, 8px);
    right: min(1.25vw, 15px);
  }
}
@media (max-width: 767px) {
  .col-reverse {
    display: flex;
    display: -webkit-flex;
    flex-direction: column-reverse;
  }
  #navLocal {
    width: 100%
  }
  #navLocal ul {
    margin: 0;
  }
  #navLocal ul li {
    border-bottom: 1px solid #fff;
  }
  #navLocal ul li a {
    padding: 3vw 4vw;
  }
  #navLocal ul li a::before {
    width: min(1.8vw, 8px);
    right: min(3vw, 15px);
  }
}
/* hx */
.hA {
  font-size: min(3.3vw, 4rem);
  text-align: center;
  font-weight: 500;
  line-height: 1.5;
  margin: min(6.6vw, 80px) 0;
}
.hA span {
  position: relative;
  padding-bottom: min(1.25vw, 15px);
}
.hA span::before {
  content: "";
  width: 100%;
  height: min(0.5vw, 6px);
  background: url("../../img/common/bg-wavyline-bk-01.png") center center / auto 100% no-repeat;
  position: absolute;
  left: 0;
  bottom: 0;
}
.hB {
  font-size: min(2.83vw, 3.4rem);
  padding: min(1.66vw, 20px) 0;
  margin: min(6.6vw, 80px) 0 min(4.16vw, 50px);
  position: relative;
  line-height: 1.5;
  text-align: center;
  background: #f7f4e7;
}
.hB::before, .hB::after {
  content: "";
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}
.hB::before {
  background-image: url("../../img/page/common/ic-hB-01.png");
  width: min(8.42vw, 101px);
  aspect-ratio: 101/81;
  left: min(1.66vw, 20px);
  top: max(-2vw, -24px);
}
.hB::after {
  background-image: url("../../img/page/common/ic-hB-02.png");
  width: min(8.17vw, 98px);
  aspect-ratio: 98/87;
  right: min(1.66vw, 20px);
  top: min(1.25vw, 15px);
}
.hC {
  font-size: min(2.5vw, 3rem);
  margin: min(4.16vw, 50px) 0;
  line-height: 1.5;
  padding-left: min(4.4vw, 50px);
  position: relative;
}
.hC::before {
  content: "\f8ca";
  font-family: var(--ff-symbol);
  font-size: min(3.75vw, 4.5rem);
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-55%);
  font-weight: 300;
  color: var(--c-green);
}
.hD {
  font-size: min(2.17vw, 2.6rem);
  color: var(--c-green);
  line-height: 1.5;
  position: relative;
  margin: min(3.3vw, 40px) 0 min(2.5vw, 30px);
  padding-bottom: min(1vw, 12px);
  border-bottom: min(0.25vw, 3px) dotted var(--c-green);
}
.flexConent .hC:first-child, .flexConent .hD:first-child, .flexConent .hE:first-child, .floatBox .hD:first-of-type, .decBox .hE:first-child {
  margin-top: 0;
}
@media (max-width: 767px) {
  .hA {
    font-size: min(6vw, 4rem);
    margin: min(10vw, 80px) 0;
  }
  .hA span {
    padding-bottom: min(3vw, 15px);
  }
  .hA span::before {
    height: min(1.3vw, 6px);
  }
  .hB {
    font-size: min(5vw, 3.4rem);
    padding: min(3vw, 20px) 0;
    margin: min(8vw, 80px) 0 min(6vw, 50px);
  }
  .hB::before {
    width: min(15vw, 101px);
    left: min(1vw, 20px);
    top: max(-3vw, -24px);
  }
  .hB::after {
    width: min(12vw, 98px);
    right: min(1vw, 20px);
    top: min(4vw, 15px);
  }
  .hC {
    font-size: min(5vw, 3rem);
    margin: min(6vw, 50px) 0;
    padding-left: min(10vw, 50px);
  }
  .hC::before {
    font-size: min(9vw, 4.5rem);
  }
  .hD {
    font-size: min(4.5vw, 2.6rem);
    margin: min(6vw, 40px) 0 min(4vw, 30px);
    padding-bottom: min(2vw, 12px);
    border-width: min(0.6vw, 3px);
  }
}
/* link  / list */
.telLink {
  padding-left: min(3vw, 35px);
  font-size: min(2vw, 2.4rem);
}
.telLink::before {
  color: var(--c-green);
  font-size: min(2vw, 2.4rem);
}
a.linkArrow {
  display: inline-block;
  min-width: min(23vw, 280px);
  padding: min(1.5vw, 18px) min(2.5vw, 30px);
  text-align: center;
  background: var(--c-green);
  color: #fff;
  position: relative;
  border-radius: 30vw;
}
a.linkArrow::after {
  content: "";
  position: absolute;
  right: 4%;
  top: 50%;
  width: min(0.83vw, 10px);
  height: min(0.83vw, 10px);
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: translateY(-50%) rotate(45deg);
}
a.linkArrow.linkExternal::after {
  content: none;
}
a.linkExternal span::after {
  color: #fff;
}
ul.listDot li::before {
  background: var(--c-green);
}
ul.listCheck li::before {
  color: var(--c-green);
  position: relative;
  top: 2px;
}
.listData dt {
  color: var(--c-green);
  margin-top: min(0.4vw, 5px);
}
@media (max-width: 767px) {
  .telLink {
    padding-left: 7vw;
    font-size: 5vw;
  }
  .telLink::before {
    font-size: 6vw;
  }
  a.linkArrow {
    padding: 4vw;
    width: 100%;
  }
  a.linkArrow::after {
    width: 2vw;
    height: 2vw;
  }
  .listData dt {
    margin-top: 1vw;
  }
}
/* decBox */
.decBox {
  padding: min(2.5vw, 30px);
  margin-bottom: min(2.5vw, 30px);
  border-radius: min(0.83vw, 10px);
}
.decBox .hD:first-of-type {
  margin-top: 0;
}
.decBox p:last-child, .decBox div:last-child, .decBox ul:last-child, .decBox ol:last-child, .decBox dl:last-child, .decBox table:last-child {
  margin-bottom: 0 !important;
}
.decBox01 {
  background: #e8f3f7;
}
.decBox02 {
  border: 1px solid var(--c-green);
  background: #fff;
}
.decBox03 {
  background: var(--c-beige);
}
@media (max-width: 767px) {
  .decBox {
    padding: 4vw;
    margin-bottom: 4vw;
    border-radius: min(3vw, 10px);
  }
}
/* p */
.strongA {
  background: linear-gradient(transparent 60%, #ffff66 60%);
}
.strongB {
  font-size: 120%;
}
/* table */
.tblA th, .tblA td, .tblB th, .tblB td, .tblC th, .tblC td, .tblD th, .tblD td, .tblE th, .tblE td {
  border: 1px solid #ccc;
  padding: min(0.83vw, 10px);
}
.tblA th, .tblB th, .tblC th, .tblD th, .tblE th {
  background: #e4ebef;
  color: var(--c-green);
}
.tblA td, .tblB td, .tblC td, .tblD td, .tblE td {
  background: #fff;
}
.tblB th {
  text-align: left;
}
.tblB td.inrTblB table tr {
  border-bottom: 1px solid #dadac6;
}
.tblB td.inrTblB table td {
  border-left: 1px solid #dadac6;
}
.tblC {
  border-top: 1px solid #dadac6;
}
.tblD td:first-child, .tblE tr:nth-child(even) th {
  background: #d2f5ea;
  color: var(--c-green);
}
.tblD td:first-child {
  font-weight: 600;
  text-align: center;
}
.tblE tr:nth-child(even) td {
  background: #f3f3f3;
}
@media (max-width: 767px) {
  .tblA th, .tblA td {
    padding: 2.5vw;
  }
  .tblA.tblVertical {
    border-bottom: 1px solid #dadac6;
  }
  .tblB {
    border-bottom: 1px solid #dadac6;
  }
  .tblB td.inrTblB table th {
    background: #f3f3f3;
    text-align: left;
    font-weight: 600;
  }
  .tblD th {
    padding: inherit;
  }
  .tblD td {
    padding: inherit;
  }
  .tblD {
    border-top: 1px solid #dadac6;
    border-bottom: 1px solid #dadac6;
  }
  .tblD td:before {
    padding: 3vw 1.5vw;
    background: #eee;
    font-weight: 600;
  }
  .tblD td span {
    padding: 3vw;
  }
  .tblD td:first-child {
    padding: 3vw;
  }
  .tbl-scroll::-webkit-scrollbar-track {
    background: #f3f3f3;
  }
  .tbl-scroll::-webkit-scrollbar-thumb {
    background: #BCBCBC;
  }
  .tbl-scroll .tblE th::before {
    background: #ccc;
  }
  .tbl-scroll .tblE th::after {
    background: #ccc;
  }
}
/* step */
.stpBox {
  background: #e6f9f3;
  border-radius: min(0.83vw, 10px);
  position: relative;
  padding: min(5vw, 60px);
  margin: min(8.3vw, 100px) auto;
}
.stpBox::before {
  content: "";
  width: 1px;
  height: min(8.3vw, 100px);
  border-right: min(0.5vw, 6px) dotted var(--c-green);
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 100%);
}
.stpBox:last-child::before {
  content: none;
}
.stpNum {
  position: absolute;
  left: 50%;
  top: 0;
  width: min(8.3vw, 100px);
  aspect-ratio: 1/1;
  background: var(--c-green);
  border-radius: 50%;
  color: #fff;
  text-align: center;
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center;
  font-weight: 600;
  line-height: 1.2;
  transform: translate(-50%, -50%);
}
.stpNum em {
  font-size: min(2.5vw, 3rem);
  font-style: normal;
}
.stpContent h3 {
  font-weight: 600;
  position: relative;
  margin-bottom: min(1.66vw, 20px);
  font-size: min(2vw, 2.4rem);
  color: var(--c-green);
}
@media (max-width: 767px) {
  .stpBox {
    border-radius: min(3vw, 10px);
    padding: min(12vw, 100px) min(4vw, 60px) min(4vw, 60px);
    margin: min(14vw, 100px) auto;
  }
  .stpBox::before {
    height: min(10vw, 100px);
    border-width: min(1.2vw, 6px);
  }
  .stpNum {
    width: min(18vw, 100px);
    font-size: min(3.8vw, 1.6rem);
  }
  .stpNum em {
    font-size: min(5vw, 2.4rem);
  }
  .stpContent h3 {
    margin-bottom: min(4vw, 20px);
    font-size: min(4.6vw, 2.4rem);
    text-align: center;
  }
}
/* color */
#gairai ul.listDot li::before, #gairai a.linkArrow, #gairai .stpNum {
  background: var(--c-gairai);
}
#gairai .hC::before, #gairai .hD, #gairai ul.listCheck li::before, #gairai .listData dt, #gairai .telLink::before, #gairai .stpContent h3 {
  color: var(--c-gairai);
}
#gairai .decBox01, #gairai .stpBox {
  background: #e3faed;
}
#gairai .hD, #gairai .decBox02, #gairai .stpBox::before {
  border-color: var(--c-gairai);
}
#gairai .tblA th, #gairai .tblB th, #gairai .tblC th, #gairai .tblD th, #gairai .tblE th {
  background: #e3faed;
  color: var(--c-gairai);
}
#gairai .tblD td:first-child, #gairai .tblE tr:nth-child(even) th {
  background: #cdf7df;
  color: var(--c-gairai);
}
#gairai.hifuka ul.listDot li::before, #gairai.hifuka a.linkArrow, #gairai.hifuka .stpNum {
  background: var(--c-hifuka);
}
#gairai.hifuka .hC::before, #gairai.hifuka .hD, #gairai.hifuka ul.listCheck li::before, #gairai.hifuka .listData dt, #gairai.hifuka .telLink::before, #gairai.hifuka .stpContent h3 {
  color: var(--c-hifuka);
}
#gairai.hifuka .decBox01, #gairai.hifuka .stpBox {
  background: #fbeff0;
}
#gairai.hifuka .hD, #gairai.hifuka .decBox02, #gairai.hifuka .stpBox::before {
  border-color: var(--c-hifuka);
}
#gairai.hifuka .decBox01, #gairai.hifuka .tblA th, #gairai.hifuka .tblB th, #gairai.hifuka .tblC th, #gairai.hifuka .tblD th, #gairai.hifuka .tblE th {
  background: #fbeff0;
  color: var(--c-hifuka);
}
#gairai.hifuka .tblD td:first-child, #gairai.hifuka .tblE tr:nth-child(even) th {
  background: #f9dadc;
  color: var(--c-hifuka);
}
#gairai.naika ul.listDot li::before, #gairai.naika a.linkArrow, #gairai.naika .stpNum {
  background: var(--c-naika);
}
#gairai.naika .hC::before, #gairai.naika .hD, #gairai.naika ul.listCheck li::before, #gairai.naika .listData dt, #gairai.naika .telLink::before, #gairai.naika .stpContent h3 {
  color: var(--c-naika);
}
#gairai.naika .decBox01, #gairai.naika .stpBox {
  background: #def6f9;
}
#gairai.naika .hD, #gairai.naika .decBox02, #gairai.naika .stpBox::before {
  border-color: var(--c-naika);
}
#gairai.naika .decBox01, #gairai.naika .tblA th, #gairai.naika .tblB th, #gairai.naika .tblC th, #gairai.naika .tblD th, #gairai.naika .tblE th {
  background: #def6f9;
  color: var(--c-naika);
}
#gairai.naika .tblD td:first-child, #gairai.naika .tblE tr:nth-child(even) th {
  background: #c8f4f9;
  color: var(--c-naika);
}
#gairai.jiyu ul.listDot li::before, #gairai.jiyu a.linkArrow, #gairai.jiyu .stpNum {
  background: var(--c-jiyu);
}
#gairai.jiyu .hC::before, #gairai.jiyu .hD, #gairai.jiyu ul.listCheck li::before, #gairai.jiyu .listData dt, #gairai.jiyu .telLink::before, #gairai.jiyu .stpContent h3 {
  color: var(--c-jiyu);
}
#gairai.jiyu .decBox01, #gairai.jiyu .stpBox {
  background: #f9f3f8;
}
#gairai.jiyu .hD, #gairai.jiyu .decBox02, #gairai.jiyu .stpBox::before {
  border-color: var(--c-jiyu);
}
#gairai.jiyu .decBox01, #gairai.jiyu .tblA th, #gairai.jiyu .tblB th, #gairai.jiyu .tblC th, #gairai.jiyu .tblD th, #gairai.jiyu .tblE th {
  background: #f9f3f8;
  color: var(--c-jiyu);
}
#gairai.jiyu .tblD td:first-child, #gairai.jiyu .tblE tr:nth-child(even) th {
  background: #f3e1f1;
  color: var(--c-jiyu);
}
#houmon ul.listDot li::before, #houmon a.linkArrow, #houmon .stpNum {
  background: var(--c-houmon);
}
#houmon .hC::before, #houmon .hD, #houmon ul.listCheck li::before, #houmon .listData dt, #houmon .telLink::before, #houmon .stpContent h3 {
  color: var(--c-houmon);
}
#houmon .decBox01, #houmon .stpBox {
  background: #fcf6ee;
}
#houmon .hD, #houmon .decBox02, #houmon .stpBox::before {
  border-color: var(--c-houmon);
}
#houmon .tblA th, #houmon .tblB th, #houmon .tblC th, #houmon .tblD th, #houmon .tblE th {
  background: #fcf6ee;
  color: var(--c-houmon);
}
#houmon .tblD td:first-child, #houmon .tblE tr:nth-child(even) th {
  background: #fbecd7;
  color: var(--c-houmon);
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
pcSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (min-width:768px) {
  /* ----------------------------------------------------
common(pc)
---------------------------------------------------- */
  /* hover */
  a:hover {
    opacity: .8 !important;
    filter: alpha(opacity=80);
    text-decoration: none;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
  }
  a img:hover {
    opacity: .8 !important;
    filter: alpha(opacity=80);
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
  }
  .clickable:hover {
    filter: alpha(opacity=80) !important;
    opacity: .8 !important;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
  }
  .clickable:hover {
    opacity: 0.7;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
  }
  /* ----------------------------------------------------
home(pc)
---------------------------------------------------- */
  /*point*/
  table.schedule td br {
    display: none
  }
  table.schedule th br.sp_br {
    display: none !important;
  }
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
tabletSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 1200px) and (min-width: 768px) {}
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
spSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 767px) {}
/*  202402追加 -----------------------------------------------

column

------------------------------------------------------------ */
#news .news__flex {
  display: flex;
  display: -webkit-flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding-bottom: min(10vw, 120px);
}
#news .news__main {
  width: 70%;
}
#news .news__side {
  width: 25%;
  font-size: min(1.3vw, 1.6rem)
}
#news .news__post {
  margin-bottom: min(10vw, 120px);
}
#news .news__post__heading {
  border-top: 3px dotted var(--c-green);
  border-bottom: 3px dotted var(--c-green);
  padding: min(2.5vw, 30px) 0;
}
#news .news__post__heading .news__post__date {
  margin-bottom: min(0.4vw, 5px);
  font-size: min(1.25vw, 1.5rem);
  color: #999;
}
#news .news__post__heading .news__post__cat {
  font-size: 0;
  text-align: left;
  margin: min(1.66vw, 20px) 0 0;
}
#news .news__post__heading .news__post__cat li {
  display: inline-block;
  font-size: min(1.25vw, 1.5rem);
  color: #fff;
  margin-right: min(0.4vw, 5px);
}
#news .news__post__heading .news__post__cat li a {
  display: block;
  color: #fff;
  padding: min(0.4vw, 5px) min(0.8vw, 10px);
  line-height: 1.4;
  font-weight: 600;
}
#news .news__post__heading h2 {
  font-size: min(2.83vw, 3.4rem);
}
#news .news__post__heading h2 a {
  color: #333;
}
#news .news__post__body {
  margin-top: min(4.4vw, 50px);
}
#news .news__post__body h1 {
  font-size: min(2.5vw, 3rem);
  padding: min(1.66vw, 20px) min(2vw, 25px);
  margin: min(5vw, 60px) 0 min(2.5vw, 30px);
  position: relative;
  line-height: 1.5;
  background: #f7f4e7;
  border-radius: min(0.8vw, 10px);
}
#news .news__post__body h2 {
  font-size: min(2.33vw, 2.8rem);
  margin: min(3.3vw, 40px) 0 min(2vw, 25px);
  line-height: 1.5;
  padding-left: min(4.4vw, 50px);
  position: relative;
  color: var(--c-green);
  font-weight: 600;
}
#news .news__post__body h2::before {
  content: "\f8ca";
  font-family: var(--ff-symbol);
  font-size: min(3.75vw, 4.5rem);
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-55%);
  font-weight: 300;
  color: var(--c-green);
}
#news .news__post__body h3 {
  font-size: min(2.17vw, 2.6rem);
  color: var(--c-green);
  line-height: 1.5;
  position: relative;
  margin: min(3.3vw, 40px) 0 min(2vw, 25px);
  font-weight: 600;
}
#news .news__post__body ul {
  list-style: inherit;
  padding-left: 1.5em;
}
#news .news__post__body ol {
  list-style: decimal;
  padding-left: 1.5em;
}
#news .news__post__body figure {
  margin: min(2.5vw, 30px) auto;
}
#news .news__post__body img {
  width: auto;
  max-width: 100%;
}
#news #toc_container {
  width: 100%;
  border: none;
  padding: min(3.3vw, 40px);
}
#news #toc_container .toc_title {
  font-size: min(2vw, 2.4rem);
  margin-bottom: min(2.5vw, 30px);
}
#news #toc_container .toc_list {
  padding-left: 0;
}
#news #toc_container .toc_list li {
  margin: min(0.83vw, 10px) 0;
}
.wp-pagenavi {
  text-align: center;
}
#news .news__side nav:not(:last-child) {
  margin-bottom: min(3.3vw, 40px);
}
#news .news__side nav h2 {
  border-radius: min(0.83vw, 10px) min(0.83vw, 10px) 0 0;
  color: #fff;
  background: var(--c-green);
  text-align: center;
  padding: min(1.66vw, 20px);
  font-size: min(1.66vw, 2rem);
  font-weight: 600;
}
#news .news__side nav ul {
  border-radius: 0 0 min(0.83vw, 10px) min(0.83vw, 10px);
}
#news .news__side nav ul li {
  background: var(--c-beige);
  border-bottom: 2px dotted #fff;
}
#news .news__side nav ul li a {
  display: block;
  padding: min(1.25vw, 15px) min(2vw, 25px);
  color: #333;
}
#news .news__side nav ul li a:hover {
  background: #d8ede6;
}
#news .news__side nav ul li:last-child {
  border-radius: 0 0 min(0.83vw, 10px) min(0.83vw, 10px);
  border-bottom: none;
}
#news .news__side nav ul li ul li:last-child {
  border-radius: none;
}
@media (max-width: 767px) {
  #news #mainContent {
    width: 100%;
    padding-top: min(8vw, 40px);
    margin-bottom: 0;
  }
  #news .news__flex {
    padding-bottom: 0;
  }
  #news .news__main {
    width: 90%;
    margin: 0 auto;
  }
  #news .news__side {
    width: 100%;
    font-size: min(3.8vw, 1.6rem)
  }
  #news .news__post {
    margin-bottom: min(15vw, 120px);
  }
  #news .news__post__heading {
    padding: min(5vw, 30px) 0;
  }
  #news .news__post__heading .news__post__date {
    margin-bottom: min(1vw, 5px);
    font-size: min(3.4vw, 1.5rem);
  }
  #news .news__post__heading .news__post__cat {
    margin: min(4vw, 20px) 0 0;
  }
  #news .news__post__heading .news__post__cat li {
    font-size: min(3.4vw, 1.5rem);
    margin-right: min(1vw, 5px);
    margin-bottom: min(1vw, 5px);
  }
  #news .news__post__heading .news__post__cat li a {
    padding: min(1vw, 5px) min(2vw, 10px);
    line-height: 1.4;
    font-weight: 600;
  }
  #news .news__post__heading h2 {
    font-size: min(5.4vw, 3.4rem);
  }
  #news .news__post__body {
    margin-top: min(8vw, 50px);
  }
  #news .news__post__body h1 {
    font-size: min(5.4vw, 3rem);
    padding: min(4vw, 20px) min(5vw, 25px);
    margin: min(6vw, 60px) 0 min(4vw, 30px);
    border-radius: min(2vw, 10px);
  }
  #news .news__post__body h2 {
    font-size: min(5.2vw, 2.8rem);
    margin: min(4.2vw, 40px) 0 min(3vw, 25px);
    padding-left: min(10vw, 50px);
  }
  #news .news__post__body h2::before {
    font-size: min(8vw, 4.5rem);
  }
  #news .news__post__body h3 {
    font-size: min(5vw, 2.6rem);
    margin: min(4.2vw, 40px) 0 min(3vw, 25px);
  }
  #news .news__post__body figure {
    margin: min(6vw, 30px) auto;
  }
  #news #toc_container {
    padding: min(4vw, 40px);
  }
  #news #toc_container .toc_title {
    font-size: min(5vw, 2.4rem);
    margin-bottom: min(5vw, 30px);
  }
  #news #toc_container .toc_list li {
    margin: min(2vw, 10px) 0;
  }
  #news .news__side nav:not(:last-child) {
    margin-bottom: 0;
  }
  #news .news__side nav h2 {
    border-radius: 0;
    padding: min(4vw, 20px);
    font-size: min(5vw, 2rem);
  }
  #news .news__side nav ul {
    border-radius: 0;
    margin: 0;
  }
  #news .news__side nav ul li a {
    padding: min(3vw, 15px) min(5vw, 25px);
  }
  #news .news__side nav ul li:last-child {
    border-radius: 0;
  }
}