/*--------------------------------------
/*--------------------------------------
base
--------------------------------------*/
body {
  font-family: "Noto Serif JP", "游明朝体", YuMincho, 'Yu Mincho', serif;
  position: relative;
  color: #333333;
  margin: 0px;
  min-height: 100vh;
}
main {
  position: relative;
}
section {
  position: relative;
}
footer {
  z-index: 1;
  position: relative;
}
p {
  margin: 0;
}
ul {
  margin: 0;
  padding: 0;
}
li {
  list-style: none;
}
a {
  text-decoration: none;
  color: inherit;
  opacity: 1;
  transition: opacity .15s ease-in-out;
  display: block;
}
a:hover {
  text-decoration: none;
  opacity: .8;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}
h1, h2, h3, h4, h5, h6 {
  margin: 0;
}
/*-----font-family-----*/
.ff-sans {
  font-family: "Noto Sans JP", 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
}
.ff_times {
  font-family: "Times New Roman", serif;
}
@font-face {
  font-family: "はんなり明朝";
  src: url("../css/fonts/HannariMincho-Regular.otf") format("woff2");
  src: url("css/fonts/HannariMincho-Regular.otf") format("woff2");
}
.ff-hannari {
  font-family: "はんなり明朝", "Noto Serif JP", "游明朝体", YuMincho, 'Yu Mincho', serif;
}
.ff-Roboto {
  font-family: "Roboto", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}
.ff-hiragi {
  font-family: "Hiragino Kaku Gothic ProN", "Roboto", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}
.ff-poppins {
  font-family: "Poppins";
}
/*-----color-----*/ :root {
  --main-color: #FF9383;
  --sub-color: #F4AE38;
  --bg-gradient: linear-gradient(#FF9383, #F4AE38);
  --bg-yerrow: #FFF9EF;
  --bg-orenge: #FFF7F1;
  --border-color: #E9EBE8;
}
@media screen and (max-width:759.98px) {}
/*-----font-size-----*/
.font_nomal {
  font-size: var(--font15);
  font-weight: 100;
  line-height: 1.8;
}
.text_nomal {
  line-height: 1.8;
}
:root {
  --font12: clamp(6px, 0.9vw, 12px); /*-- --*/
  --font14: clamp(8px, 1vw, 14px);
  --font15: clamp(9px, 1.1vw, 15px); /*-- --*/
  --font16: clamp(10px, 1.2vw, 16px); /*-- --*/
  --font18: clamp(12px, 1.4vw, 18px); /*-- --*/
  --font20: clamp(12px, 1.4vw, 20px);
  --font22: clamp(14px, 1.4vw, 22px);
  --font24: clamp(16px, 1.8vw, 24px);
  --font26: clamp(17px, 1.9vw, 26px); /*-- --*/
  --font28: clamp(18px, 2vw, 28px); /*-- --*/
  --font30: clamp(20px, 2.1vw, 30px);
  --font34: clamp(24px, 2.5vw, 34px); /*-- --*/
  --font40: clamp(28px, 3vw, 40px);
  --font42: clamp(32px, 3vw, 42px); /*-- --*/
  --font48: clamp(38px, 3.5vw, 48px);
  --font50: clamp(40px, 4.4vw, 60px);
  --font90: clamp(60px, 8vw, 100px); /*-- --*/
}
@media screen and (max-width:759.98px) {
  :root {
    --font12: clamp(11px, 2.9vw, 20px); /*-- --*/
    --font14: clamp(13px, 2.9vw, 22px); /*-- --*/
    --font15: clamp(15px, 4vw, 23px); /*-- --*/
    --font16: clamp(12px, 4.2vw, 24px); /*-- --*/
    --font18: clamp(17px, 4.8vw, 26px); /*-- --*/
    --font20: clamp(19px, 5.3vw, 28px); /*-- --*/
    --font22: clamp(21px, 4.2vw, 30px);
    --font24: clamp(23px, 4.4vw, 32px);
    --font26: clamp(25px, 6.8vw, 34px); /*-- --*/
    --font28: clamp(26px, 6.6vw, 36px); /*-- --*/
    --font30: clamp(28px, 7vw, 38px); /*-- --*/
    --font34: clamp(21px, 9vw, 42px); /*-- --*/
    --font40: clamp(23px, 6.3vw, 48px);
    --font42: clamp(24px, 11.1vw, 50px); /*-- --*/
    --font48: clamp(36px, 10vw, 56px);
    --font50: clamp(28px, 7.4vw, 58px);
    --font90: clamp(45px, 16.5vw, 100px);
  }
  .text_nomal {
    line-height: 1.8;
    letter-spacing: 0.06em;
  }
}
/* 調整用 */
.font14 {
  font-size: var(--font14)
}
.font15 {
  font-size: var(--font15)
}
.font16 {
  font-size: var(--font16)
}
.font18 {
  font-size: var(--font18)
}
.font20 {
  font-size: var(--font20)
}
.font22 {
  font-size: var(--font22)
}
.font24 {
  font-size: var(--font24)
}
.font28 {
  font-size: var(--font28)
}
.font30 {
  font-size: var(--font30)
}
.font36 {
  font-size: var(--font36)
}
.font40 {
  font-size: var(--font40)
}
.font42 {
  font-size: var(--font42)
}
.font48 {
  font-size: var(--font48)
}
.font50 {
  font-size: var(--font50)
}
/*--------------------------------------
アニメーション
--------------------------------------*/
/*-- ウィンドウロード時フェードイン --*/
.fv_fadein {
  opacity: 0;
  transform: translate(0, 0);
  transition: all 2s;
}
.fv_fadein1, .fv_fadein2, .fv_fadein3 {
  opacity: 0;
  transform: translate(0, 0);
  transition: all 2s;
}
.fv_fadein.fadein {
  opacity: 1;
}
/* 遅延 */
.fv_fadein1.delay-1 {
  transition-delay: .1s;
  opacity: 1;
}
.fv_fadein2.delay-2 {
  transition-delay: .3s;
  opacity: 1;
}
.fv_fadein3.delay-3 {
  transition-delay: .5s;
  opacity: 1;
}
/*-- スクロールフェードイン --*/
.fadein {
  opacity: 0;
  transition: all 1s;
}
.fadein.scrollin {
  opacity: 1 !important;
  transform: translate(0, 0) !important;
}
/* 方向 */
.fadeinL {
  -webkit-transform: translate(-20%, 0);
  transform: translate(-20%, 0);
}
.fadeinR {
  -webkit-transform: translate(20%, 0);
  transform: translate(20%, 0);
}
.fadeinT {
  -webkit-transform: translate(0, -20%);
  transform: translate(0, -20%);
}
.fadeinB {
  -webkit-transform: translate(0, 20%);
  transform: translate(0, 20%);
}
/* 遅延 */
.fadein.delay-1 {
  transition-delay: .1s;
}
.fadein.delay-2 {
  transition-delay: .2s;
}
.fadein.delay-3 {
  transition-delay: .3s;
}
.fadein.delay-4 {
  transition-delay: .4s;
}
/* その他 */
@media screen and (max-width:759.98px) {}
/*--------------------------------------
共通css
--------------------------------------*/
/* SP版 切り替え */
.sp_open {
  display: none;
}
.sp_open_br br {
  display: none;
}
@media screen and (max-width:759.98px) {
  .sp_hide {
    display: none;
  }
  .sp_open {
    display: block;
  }
  .sp_hide_br br {
    display: none;
  }
  .sp_open_br br {
    display: block;
  }
}
/*---------- Header ----------*/
.header {
  width: 100%;
  position: relative;
}
.sub_header_wrap {
  display: none;
}
.header_wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.sub_header_logo a, .header_logo a {
  margin-left: min(40px, 3vw);
  margin-right: min(20px, 1.5vw);
  max-width: 229px;
}
.sub_header_logo a, .header_logo a:hover {
  opacity: 1;
}
.header_logo a img {
  max-height: 105px;
  width: 20vw;
}
.header_right {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: min(25px, 1.8vw);
  color: #fff;
  height: 100%;
}
.header_right li {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.header_right li a {
  padding: min(25px, 1.8vw);
  line-height: 1;
  font-size: var(--font16);
}
.header_right li a img {
  vertical-align: middle;
}
.icon_sitemap {
  width: min(28px, 2vw);
  min-width: 23px;
  margin-right: 10px;
  vertical-align: middle;
}
.icon_recruit {
  width: min(18.5px, 1.4vw);
  min-width: 15.5px;
  margin-right: 10px;
}
.icon_access {
  width: min(25px, 1.8vw);
  min-width: 20px;
  margin-right: 1px;
}
/* トップファーストビュー */
.home_fv {
  width: 100%;
  position: relative;
  z-index: -1;
}
.home_fv_txts {
  position: absolute;
  top: 50%;
  left: 10vw;
  transform: translate(0, -50%);
}
.home_fv_txts h1 {
  font-size: min(3.5vw, 48px);
  color: #fff;
  font-weight: lighter;
  line-height: min(7.2vw, 100px);
  /*font-family: font-family: "丸明オールド StdN R", serif;*/
}
.home_fv_txts h1 span {
  padding: 0 10px 10px 10px;
  background: linear-gradient(to right, rgba(244, 174, 56, 0.6), rgba(255, 153, 136, 0.6));
  display: inline;
  line-height: 100%;
}
/*--------------------------------------------------------------
	SWIPER トップファーストビュー
--------------------------------------------------------------*/
.swiper_home {
  margin: inherit;
  padding: inherit;
  max-width: inherit;
  z-index: -10;
}
.swiper_home .swiper-wrapper {
  margin: 0 calc(50% - 50vw);
  max-width: 100vw;
  overflow: hidden;
}
.swiper_home .slide_img {
  position: relative;
  max-height: 1040px;
  height: 47vw;
  width: 100%;
}
.swiper_home .slide_img img {
  object-position: center;
  object-fit: cover;
  width: 100%;
  height: 100%;
  filter: brightness(54%) contrast(72%) hue-rotate(1deg);
}
.swiper_home .swiper-slide-active .slide_img, .swiper_home .swiper-slide-duplicate-active .slide_img, .swiper_home .swiper-slide-prev .slide_img {
  animation: zoomUp 7s linear 0s normal both;
}
@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15);
  }
}
@media screen and (max-width:759.98px) {
  .home_fv_txts {
    top: 65%;
    transform: translate(0, -50%);
  }
  .home_fv_txts h1 {
    font-size: 9vw;
    line-height: 14vw;
  }
  .swiper_home .slide_img {
    height: 100vh;
    min-height: 500px;
    max-height: none;
  }
  .swiper_home .slide_img img {
    object-position: bottom;
    height: 100vh;
    min-height: 500px;
    max-height: none;
  }
  .home_fv_img {
    object-fit: cover;
    object-position: center;
    height: 100vh;
    min-height: 500px;
    max-height: none;
  }
}
/*-- TOP グローバルナビ --*/
.header_menu {
  box-shadow: 0px 0px 20px -10px #ccc;
  position: relative;
  top: -45px;
  background-color: #fff;
  text-align: center;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.header-contact .header_menu_item a, .header_menu .header_menu_item {
  box-sizing: border-box;
  height: 9vw;
  max-height: 90px;
  display: flex;
  flex-grow: 1;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.header_menu_item a {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.header_menu > .header_menu_item {
  position: relative;
}
.header_menu > .header_menu_item::before {
  content: '';
  position: absolute;
  background-color: #EEEEEE;
  width: 1px;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  height: 60%;
}
.header_menu > .header_menu_item:first-of-type::before {
  display: none;
}
.header_menu > .header_menu_item p:first-of-type {
  font-weight: 500;
  font-size: var(--font16);
}
.icon_home img {
  max-width: 32px;
  width: 2.3vw;
}
.header-contact {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  height: 100%;
  margin-left: min(5vw, 60px);
}
.header-contact a {
  max-width: 138px;
  width: 12vw;
  min-width: 100px;
  font-size: var(--font14);
}
.header_eng {
  color: var(--main-color);
  margin-top: min(10px, 0.8vw);
  font-size: var(--font12) !important;
  text-align: center;
}
.header-tel {
  background-color: var(--main-color);
  height: 100%;
  padding: 0 min(1.65vw, 19px) !important;
  outline: 1px solid #fff;
  outline-offset: -7px;
  color: #fff;
}
.header-tel img {
  width: 32%;
  margin: 4.2px auto;
  min-width: 27px;
}
.header-mail-wrap{
 border: solid 1px var(--main-color);
}
.header-mail {
  background-color: #fff;
  height: 100%;
  padding: 0 min(1.96vw, 33px) !important;
  outline: 1px solid var(--main-color);
  color: var(--main-color);
  outline-offset: -7px;
}
.header-mail img {
width: 42%;
    margin: 3.5% auto 1%;
    min-width: 32px;
}
/*-- ハンバーガーメニュー --*/
.header_menu_btn {
  position: fixed;
  width: 60px;
  height: 60px;
  z-index: 999;
  top: 0;
  right: 0;
  background: var(--bg-gradient);
}
.header_menu_btn:hover {
  cursor: pointer;
}
.header_hbm_icon {
  position: relative;
  height: 20px;
  width: 100%;
  margin: 20px 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.header_hbm_icon span::before {
  content: '';
  position: absolute;
  width: 36px;
  height: 3px;
  left: 50%;
  border-radius: 2px;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background-color: #fff;
  transition: transform 0.3s;
}
.header_hbm_icon span:nth-child(1)::before {
  top: 0%;
}
.header_hbm_icon span:nth-child(2)::before {
  top: 50%;
}
.header_hbm_icon span:nth-child(3)::before {
  top: 100%;
}
.header_menu_btn:hover .header_hbm_btn::before {
  -webkit-transform: translate(-50%, -50%) scale(1.1, 1);
  transform: translate(-50%, -50%) scale(1.1, 1);
}
.header_menu_btn:hover .header_hbm_btn::after {
  -webkit-transform: translate(-50%, 0) scale(1.1, 1);
  transform: translate(-50%, 0) scale(1.1, 1);
}
.header_hbm_icon.is-open span:nth-child(1)::before {
  -webkit-transform: translate(-50%, 10px) rotate(45deg) scale(0.8, 1);
  transform: translate(-50%, 10px) rotate(45deg) scale(0.8, 1);
  transform-origin: center center;
}
.header_hbm_icon.is-open span:nth-child(2)::before {
  opacity: 0;
}
.header_hbm_icon.is-open span:nth-child(3)::before {
  -webkit-transform: translate(-50%, -10px) rotate(-45deg) scale(0.8, 1);
  transform: translate(-50%, -10px) rotate(-45deg) scale(0.8, 1);
  transform-origin: center center;
}
.header_hbm_icon:hover .header_hbm_btn.is-open span:nth-child(1)::before {
  -webkit-transform: translate(-50%, 3px) rotate(45deg) scale(0.9, 1);
  transform: translate(-50%, 3px) rotate(45deg) scale(0.9, 1);
}
.header_hbm_icon:hover .header_hbm_btn.is-open span:nth-child(3)::before {
  -webkit-transform: translate(-50%, -5px) rotate(-45deg) scale(0.9, 1);
  transform: translate(-50%, -5px) rotate(-45deg) scale(0.9, 1);
}
@media screen and (max-width:759.98px) {
  .sub_header_logo {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
    height: 60px;
    background-color: #fff;
    box-shadow: 0px 0px 20px -10px #ccc;
  }
  .sub_header_logo a {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    height: 100%;
  }
  .sub_header_logo a img, .header_logo a img {
    margin: 0;
    min-width: 130px;
  }
  .sub_header_logo a img {
    height: 44px;
  }
  .header_menu > .header_menu_item {
    border-right: none;
  }
}
/*-- ハンバーガーメニュー 中身 --*/
.header_menu_item.header_submenu {
  display: none;
}
/* トグルインナー */
.header_toggle_inner a {
  border: 2px solid #fff;
  border-top: 2px solid #E9EBE8;
  position: relative;
  z-index: 1;
  transition: all .2s ease;
}
.header_toggle_inner a:hover {
  border: 2px solid var(--main-color);
  border-image: linear-gradient(to bottom, rgba(244, 174, 56, 0.6), rgba(255, 153, 136, 0.6));
  border-image-slice: 1;
}
.header_toggle_inner .icon_row_wrap > p {
  font-size: var(--font14);
}
@media screen and (min-width:760px) {
  .header_toggle_inner {
    position: absolute;
    display: none;
    top: 100%;
    left: 0;
    width: 175%;
    background-color: #fff;
    z-index: 1;
    box-shadow: 0px 0px 20px -10px #ccc;
  }
  .header_toggle_inner .icon_row_img {
    padding: 0 min(1vw, 14px) 0 min(2vw, 28px);
  }
  .header_toggle_inner .icon_row_img img {
    width: 2vw;
    height: 2vw;
    max-width: 28px;
  }
  .header_menu_item .header_toggle_inner a {
    padding: 0 !important;
    height: 62px !important;
    width: calc(100% - 4px);
    z-index: auto;
  }
  .header_toggle_inner .icon_row_wrap {
    justify-content: flex-start;
    width: 100%;
  }
}
@media screen and (max-width:759.98px) {
  .header_toggle_inner {
    position: relative;
    width: 100%;
  }
  .sub_.header_menu_inner, .header_menu_inner {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: #fff;
    z-index: 998;
    overflow-y: scroll;
    overflow-x: visible;
  }
  .header_menu {
    box-shadow: none;
    flex-direction: column;
    height: auto;
    top: 0;
    padding: 0 0 16vw 0;
    background-color: inherit;
  }
  .header_menu_logo {
    margin-left: 4vw;
    height: 80px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    width: calc(100% - 4vw);
  }
  .header_menu_logo img {
    height: 40px;
  }
  .header_menu .header_menu_item {
    position: relative;
    align-items: flex-start;
    height: auto;
    max-height: none;
    width: 100%;
    border-bottom: 1px solid #E9EBE8;
  }
  .header_menu .header_menu_item a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    padding: 3vw 30px 3vw 30px;
    box-sizing: border-box;
  }
  .header_menu .header_menu_item a:hover {
    opacity: 1;
  }
  .header-contact {
    display: none;
  }
  .icon_home img {
    width: 5vw;
    margin-left: 1vw;
  }
  .header_menu_item.header_submenu {
    display: flex;
  }
  .header_menu_item.header_submenu a {
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
  }
  .icon_access {
    margin-right: 10px;
  }
  .header_menu_item.header_submenu img {
    width: 5vw;
  }
  /* インナー */
  .header_toggle_inner a:hover {
    border: 2px solid var(--main-color);
    border-image: linear-gradient(to bottom, rgba(244, 174, 56, 0.6), rgba(255, 153, 136, 0.6));
    border-image-slice: 1;
  }
  .header_toggle_inner .icon_row_wrap > p {
    font-size: var(--font14);
  }
  /* 菱形ボタン */
  .header_rhombus_arrow {
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    height: 15vw;
    min-height: 60px;
    display: flex;
    justify-content: end;
    align-items: center;
    padding-right: 10%;
  }
  .header_rhombus_arrow .rhombus_arrow {
    position: relative;
    max-width: 60px;
    max-height: 60px;
    width: 5vw;
    height: 5vw;
  }
  .header_rhombus_arrow .rhombus_arrow span {
    position: absolute;
    width: min(1.8vw, 14px);
  }
  .header_rhombus_arrow .rhombus_arrow span:before {
    width: min(0.7vw, 4.88px);
    height: min(0.7vw, 4.88px);
  }
  .header_toggle_btn:hover .rhombus_arrow {
    transform: rotate(135deg);
    border: solid 1px #fff;
    background-color: var(--main-color);
  }
  .header_toggle_btn.rotate_arrow .rhombus_arrow {
    transform: rotate(225deg);
    border: solid 1px #fff;
    background-color: var(--main-color);
  }
  .header_toggle_btn.rotate_arrow .rhombus_arrow span, .header_toggle_btn:hover .rhombus_arrow span {
    transform: translate(-50%, -50%) rotate(-135deg);
    background-color: #fff;
  }
  .header_toggle_btn.rotate_arrow .rhombus_arrow span:before, .header_toggle_btn:hover .rhombus_arrow span:before {
    border-color: #fff;
  }
}
/* SP お問い合わせ追従 */
@media screen and (max-width:759.98px) {
  .sp_contact_bar {
    position: fixed;
    z-index: 999;
    width: 100%;
    display: flex;
    justify-content: center;
    bottom: 0;
    left: 0;
  }
  .sp_contact_bar a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50%;
    height: 16vw;
    max-height: 62.12px;
    font-size: 14px;
    border: 3px solid var(--main-color);
    box-sizing: border-box;
  }
  .sp_contact_bar .header-tel img {
    width: 27px;
    height: 27px;
  }
  .sp_contact_bar .header-mail img {
    width: 32px;
    height: 32px;
  }
  .sp_contact_bar img {
    margin: 0 10px 0 0;
  }
}
/* OVERLAY */
body.fixed {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.js-overlay {
  width: 100%;
  height: 100%;
  opacity: 0;
  position: fixed;
  background-color: #fff;
  top: 0;
  left: 0;
  display: none;
  z-index: 3;
}
/*---------- FOOTER ----------*/
.footer_wrap {
  display: flex;
  position: relative;
}
.footer_wrap::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 2px;
  background: linear-gradient(to bottom, #F4AE38, #FF9383);
}
.footer_menu_wrap {
  max-width: 1100px;
  width: 100%;
  padding: min(3vw, 42px);
  margin: 0 auto;
  display: flex;
  flex-grow: 1;
}
.footer_grid_wrap:not(:last-child) {
  margin: 0 auto;
}
.footer_logo {
  margin-bottom: min(1.4vw, 20px);
}
.footer_logo img {
  max-width: 233px;
  width: 17vw;
}
.footer_grid_wrap p {
  font-size: var(--font14);
}
.footer_grid_wrap.ff-sans p {
  font-weight: lighter;
  margin-bottom: min(0.6vw, 8px);
}
.footer_grid_inner a p {
  position: relative;
  padding: min(0.6vw, 8px) 0;
}
.footer_grid_inner a p.no_mark {
  text-indent: max(-1.4vw, -18px);
}
.footer_grid_inner a p.no_mark::before {
  display: none;
}
.footer_grid_inner a p::before {
  position: absolute;
  content: "";
  top: 50%;
  left: max(-1.4vw, -18px);
  max-width: 7px;
  width: 0.7vw;
  max-height: 7px;
  height: 0.7vw;
  background-color: var(--main-color);
  transform: rotate(45deg) translateY(-50%);
}
.copy_light p {
  text-align: center;
  padding-bottom: min(1vw, 14px);
  color: #707070;
  font-size: 10px;
}
@media screen and (max-width:759.98px) {
  .footer_menu_wrap {
    padding: 36px 0;
  }
  .footer_grid_wrap.sp_hide {
    display: none;
  }
  .footer_logo {
    margin-bottom: 18px;
  }
  .footer_logo img {
    width: 233px;
  }
  .footer_grid_wrap p {
    font-size: 14px;
  }
  .copy_light p {
    padding-bottom: 20px;
  }
}
/*-- コンタクト長方形 --*/
.contact_box a {
  box-sizing: border-box;
  height: 4vw;
  max-height: 52px;
  min-height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15vw;
  max-width: 180px;
  min-width: 114px;
  font-size: var(--font12);
}
.contact_box a:not(:last-child) {
  margin-bottom: min(8px, 1vw);
}
.contact_box_tel {
  background-color: var(--main-color);
  outline: 1px solid #fff;
  outline-offset: -5px;
  color: #fff;
}
.contact_box_mail {
  background-color: #fff;
  border: 2px solid var(--main-color);
  outline: 1px solid var(--main-color);
  outline-offset: -5px;
  color: var(--main-color);
}
.contact_box a img {
  max-width: 20px;
  width: 2vw;
  margin-right: min(0.8vw, 10px);
}
@media screen and (max-width: 759.98px) {}
/*---------- タイトル系 ----------*/
/* トップ セクションタイトル */
.top_section_title {
  max-width: 1100px;
  margin: 0 auto min(5.2vw, 75px);
  width: fit-content;
}
.sub_page_title {
  width: 80vw;
  height: 21vw;
  max-height: 286px;
  background-color: var(--main-color);
  margin: min(10vw, 80px) 0 min(10vw, 80px) auto;
}
.sub_page_title_inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: max-content;
  margin-left: min(8.2vw, 100px);
}
.sub_page_title h1, .top_section_title h2 {
  color: #fff;
  font-size: var(--font90);
  font-family: "Goldenbook";
  font-weight: normal;
  letter-spacing: 0.06em;
}
.top_section_title.title_grade h2 {
  background: linear-gradient(to right, #F4AE38, #FF9383);
  background-position: center;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.sub_page_title p, .top_section_title p {
  font-size: var(--font18);
  width: 85%;
  margin-left: auto;
  position: relative;
  text-align: right;
  letter-spacing: 0.1em;
}
.sub_page_title p {
  color: #fff;
}
.sub_page_title p::before, .top_section_title p::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  top: 50%;
  left: 0;
  background-color: #333333;
}
.sub_page_title p::before {
  background-color: #fff;
}
.sub_page_title p span, .top_section_title p span {
  background-color: #fff;
  position: relative;
  z-index: 1;
  padding-left: 20px;
}
.sub_page_title p span {
  color: #fff;
  background-color: var(--main-color);
}
.sec_container .font18 {
  font-weight: bold;
}
@media screen and (max-width:759.98px) {
  .sub_page_title, .top_section_title {
    max-width: none;
  }
  .sub_page_title_inner {
    margin-left: 0;
  }
  .sub_page_title p, .top_section_title p {
    width: 100%;
  }
  .sub_page_title p::before, .top_section_title p::before {
    left: -94%;
    width: 180%;
  }
  .sub_page_title {
    width: 92vw;
    height: 57vw;
    max-height: 432px;
    margin-top: 23vw;
    position: relative;
  }
}
/* ピンク色のタイトルかたまり */
.pink_container {
  max-width: 330px;
  width: 100%;
  height: 100%;
  background-color: var(--main-color);
  outline: 2px solid #fff;
  outline-offset: -10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.pink_container h2 {
  color: #fff;
  font-size: var(--font34);
  font-weight: normal;
}
.pink_container img {
  height: 8vw;
  max-height: 100px;
  margin: min(21px, 2vw) 0 0 0;
}
@media screen and (max-width:759.98px) {
  .pink_container {
    max-width: none;
    width: 90%;
    margin: auto;
    padding: 16vw 0px;
    outline: 0.8vw solid #fff;
    outline-offset: -4vw;
    position: relative;
    z-index: 1;
  }
  .pink_container img {
    height: 26.3vw;
    margin-top: 8vw;
    max-height: none;
  }
}
/*---------- ボタン系 ----------*/
/*-- 二重線ボタン --*/
.btn_wrap {
  max-width: 224px;
  width: 16vw;
  background-color: #fff;
  max-height: 60px;
  height: 5vw;
  display: flex;
  align-items: center;
  margin: min(42px, 4vw) auto 0 auto;
  border: 2px solid var(--main-color);
}
.btn_wrap:hover {
  opacity: 1;
}
.btn_inline {
  width: 97%;
  height: 90%;
  margin: auto;
  display: flex;
  align-items: center;
  outline: 1px solid var(--main-color);
  outline-offset: -1px;
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
}
.btn_inline.btn_center p {
  justify-content: center;
}
.btn_inline > span::after, .btn_inline > span::before {
  position: absolute;
  content: "";
  background-color: #fff;
}
.btn_inline > span:nth-child(1)::before {
  width: 50%;
  height: 1px;
  top: 0px;
  left: 0;
  transform: translate(-100%, 0);
}
.btn_inline > span:nth-child(1)::after {
  width: 1px;
  height: 50%;
  top: 0px;
  right: 0;
  transform: translate(0, -100%);
}
.btn_inline > span:nth-child(2)::before {
  width: 50%;
  height: 1px;
  bottom: 0px;
  right: 0;
  transform: translate(100%, 0);
}
.btn_inline > span:nth-child(2)::after {
  width: 1px;
  height: 50%;
  bottom: 0px;
  left: 0;
  transform: translate(0, 100%);
}
.btn_wrap:hover .btn_inline > span::after, .btn_wrap:hover .btn_inline > span::before {
  transition: transform .8s;
}
.btn_wrap:hover .btn_inline > span:nth-child(1)::before {
  transform: translate(200%, 0);
  transform-origin: left;
}
.btn_wrap:hover .btn_inline > span:nth-child(1)::after {
  transform: translate(0, 200%);
  transform-origin: top;
}
.btn_wrap:hover .btn_inline > span:nth-child(2)::before {
  transform: translate(-200%, 0);
  transform-origin: right;
}
.btn_wrap:hover .btn_inline > span:nth-child(2)::after {
  transform: translate(0, -200%);
  transform-origin: bottom;
}
.btn_wrap p {
  color: var(--main-color);
  display: flex;
  justify-content: center;
  width: 75%;
  margin: auto;
  font-size: var(--font16);
}
.btn_arrow p {
  justify-content: space-between;
}
.btn_arrow p span {
  position: relative;
}
.btn_arrow p span::before {
  position: absolute;
  content: "";
  background-color: var(--main-color);
  width: min(0.8vw, 11px);
  height: 1px;
  right: 0px;
  top: 50%;
  transform: translate(0, -50%);
  border-radius: 1px;
}
.btn_arrow p span::after {
  position: absolute;
  content: "";
  border-top: 1px solid var(--main-color);
  border-right: 1px solid var(--main-color);
  width: min(0.4vw, 4.88px);
  height: min(0.4vw, 4.88px);
  right: 0px;
  top: 50%;
  transform: translate(0, -50%) rotate(45deg);
}
.top_section_wrap .btn_wrap {
  width: 18.8vw;
}
.top_section_wrap .btn_wrap p {
  width: 85%;
}
#sub_page > .btn_wrap {
  margin: min(5.8vw, 80px) auto;
  width: 78vw;
  height: 18vw;
}
#sub_page > .btn_wrap p {
  font-size: var(--font20);
}
@media screen and (max-width:759.98px) {
  .btn_wrap {
    width: 60vw;
    max-width: none;
    height: 14vw;
    max-height: none;
    margin-top: 10vw;
    border: 0.4vw solid var(--main-color)
  }
  .btn_inline {
    outline: 0.3vw solid var(--main-color);
    outline-offset: -0.3vw;
    width: 97%;
    height: 88%;
  }
  .btn_arrow p span::before {
    width: 4vw;
    height: 0.4vw;
  }
  .btn_arrow p span::after {
    width: 1.5vw;
    height: 1.5vw;
    border-width: 0.4vw;
  }
  .top_section_wrap .btn_wrap {
    width: 60vw;
  }
  #sub_page > .btn_wrap {
    margin: 6vw auto 16vw;
  }
  .btn_inline > span:nth-child(1)::before, .btn_inline > span:nth-child(2)::before {
    height: 5px;
  }
  .btn_inline > span:nth-child(1)::after, .btn_inline > span:nth-child(2)::after {
    width: 5px;
  }
}
/*-- 菱型ボタン --*/
.rhombus_arrow {
  width: 2.6vw;
  height: 2.6vw;
  background: #fff;
  transform: rotate(45deg);
  position: absolute;
  border: solid 1px var(--main-color);
  max-width: 39px;
  max-height: 39px;
  -webkit-transition: all .5s ease;
  transition: all .5s ease;
}
.rhombus_arrow span {
  display: -webkit-inline-box;
  display: inline-block;
  vertical-align: text-top;
  width: min(0.8vw, 11px);
  height: 1px;
  background-color: var(--main-color);
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  -ms-transform: translate(-50%, -50%) rotate(-45deg);
  margin: auto;
}
.rhombus_arrow span:before {
  position: absolute;
  content: "";
  border-top: 1px solid var(--main-color);
  border-right: 1px solid var(--main-color);
  width: min(0.4vw, 4.88px);
  height: min(0.4vw, 4.88px);
  right: 0px;
  top: 50%;
  transform: translate(0, -50%) rotate(45deg);
  margin: auto;
}
.border_category_frame a:hover .rhombus_arrow, .border_contents_frame a:hover .rhombus_arrow {
  transform: rotate(135deg);
  border: solid 1px #fff;
  background-color: var(--main-color);
}
.border_category_frame a:hover .rhombus_arrow span, .border_contents_frame a:hover .rhombus_arrow span {
  transform: translate(-50%, -50%) rotate(-135deg);
  background-color: #fff;
}
.border_category_frame a:hover .rhombus_arrow span:before, .border_contents_frame a:hover .rhombus_arrow span:before {
  border-color: #fff;
}
@media screen and (max-width:759.98px) {
  .rhombus_arrow {
    width: 9vw;
    height: 9vw;
    max-width: none;
    max-height: none;
  }
  .rhombus_arrow span {
    width: 2.8vw;
    position: absolute;
  }
  .rhombus_arrow span:before {
    width: 1.2vw;
    height: 1.2vw;
  }
}
/*---------- リンク系 ----------*/
/*-- 背景 --*/
.bg_dot {
  background-image: url("./img/bg_dot.png");
  background-repeat: repeat;
  position: absolute;
  background-size: 418px 110px;
}
/* 枠線カテゴリー */
.border_category_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  max-width: 1100px;
}
#top_plan .border_category_wrap {
  margin-bottom: min(7vw, 100px);
}
.border_category_frame {
  width: 33.333%;
}
.border_category_frame a {
  align-items: center;
  display: flex;
  padding: min(1vw, 14px) 0;
  margin: 0 min(2.2vw, 25px);
  border-top: 1px solid var(--border-color);
  border-bottom: 1px solid var(--border-color);
  transition: all .7s ease;
  position: relative;
}
.border_category_frame .icon_row_img {
  max-width: 70px;
}
.border_category_frame .icon_row_img img {
  max-width: 70px;
  max-height: 70px;
  width: 5vw;
  height: 5vw;
}
.border_category_frame .rhombus_arrow {
  right: min(1.5vw, 20px);
  width: 2.2vw;
  height: 2.2vw;
  max-width: 30.3px;
  max-height: 30.3px;
}
@media screen and (max-width: 759.98px) {
  .border_category_wrap {
    flex-direction: column;
    margin-bottom: inherit;
  }
  .border_category_frame {
    width: 100%;
  }
  .border_category_frame a {
    padding: 4vw 0;
    margin: 3vw 4vw;
  }
  .border_category_frame .icon_row_img {
    max-width: none;
  }
  .border_category_frame .icon_row_img img {
    max-width: none;
    max-height: none;
    width: 13.6vw;
    height: 13.6vw;
  }
  .border_category_frame .rhombus_arrow {
    right: 5vw;
    width: 7.5vw;
    height: 7.5vw;
    max-width: none;
    max-height: none;
  }
}
/*-- 枠線コンテンツ --*/
.border_contents_wrap {
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  row-gap: min(4.5vw, 80px);
  padding-bottom: min(4.5vw, 80px);
}
.border_contents_frame {
  margin-left: 0;
  position: relative;
  width: 33.33333%;
}
.top_service_img_btn{
  width:50%;
}
/* 横幅いっぱいサイズ */
.border_contents_frame.border_contents_big {
  width: 100%;
  margin: auto;
}
.border_contents_frame.border_contents_big a {
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  padding: min(1.8vw, 25px) min(1.8vw, 25px);
}
.border_contents_big.border_contents_frame::before, .border_contents_big.border_contents_frame::after {
  width: 0;
}
.border_contents_frame.border_contents_big .border_contents_img {
  width: 50%;
}
.border_contents_frame.border_contents_big .border_contents_img img {
  max-width: 433px;
  width: 31vw;
}
.border_contents_frame.border_contents_big .icon_row_wrap {
  width: 50%;
}
@media screen and (max-width: 759.98px) {
  .border_contents_wrap {
    padding-bottom: 16vw;
  }
  .border_contents_frame.border_contents_big a {
    flex-direction: column;
    padding: 10vw 0 16vw 0;
  }
  .border_contents_frame.border_contents_big .border_contents_img img {
    width: 100%;
    max-width: 100%;
  }
  .border_contents_frame.border_contents_big .icon_row_wrap, .border_contents_frame.border_contents_big .border_contents_img, .border_contents_frame.border_contents_big .rhombus_border {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
}
/* 1/3のサイズ */
.border_contents_frame:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  display: inline-block;
  width: 0.5px;
  height: 90%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  background-color: var(--border-color);
}
.border_contents_frame:after {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  display: inline-block;
  width: 0.5px;
  height: 90%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  background-color: var(--border-color);
}
.border_contents_frame a {
  min-height: 100%;
  display: inline-block;
  padding: min(5.2vw, 75px) min(2.2vw, 25px) min(3.6vw, 50px);
  position: relative;
  transition: all .7s ease;
  box-sizing: border-box;
}
.border_contents_img {
  margin-bottom: min(3vw, 40px);
}
.border_contents_frame p, .border_contents_frame h3 {
  text-align: center;
  transition: all .5s ease;
}
.border_contents_frame h3 {
  color: #CBCBCB;
  font-size: var(--font26);
  margin-top: min(0.8vw, 10px);
}
.border_contents_frame:last-child h3 {
  font-size: var(--font24);
}
.border_category_frame a:hover, .border_contents_frame a:hover {
  background-color: #FFF9EF;
  opacity: 1;
}
.border_contents_frame a:hover h3 {
  color: var(--main-color);
}
@media screen and (max-width: 759.98px) {
  .border_contents_frame {
    width: 100%;
  }
  .border_contents_frame a {
    width: 100%;
    padding: 10vw 0 16vw 0;
  }
  .border_contents_img {
    width: 100%;
    text-align: center;
    margin-bottom: 10vw;
  }
  .border_contents_img img {
    width: 100%;
    aspect-ratio: 302/155;
    object-fit: cover;
  }
  .border_contents_frame:before, .border_contents_frame:after {
    display: none;
  }
  .border_contents_frame .icon_row_wrap, .border_contents_frame .border_contents_img, .border_contents_frame .rhombus_border {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
}
/* 菱形矢印 枠線の上 */
.rhombus_border {
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: 50%;
  width: 100%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
.rhombus_border_inner {
  position: relative;
}
.rhombus_border::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  display: inline-block;
  width: 90%;
  height: 1px;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background-color: var(--border-color);
}
.rhombus_border .rhombus_arrow {
  left: 50%;
  top: 50%;
  -ms-transform: translate(-50%, -50%) rotate(45deg);
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
  transform: translate(-50%, -50%) rotate(45deg);
}
.border_contents_frame a:hover .rhombus_border .rhombus_arrow {
  -ms-transform: translate(-50%, -50%) rotate(135deg);
  -webkit-transform: translate(-50%, -50%) rotate(135deg);
  transform: translate(-50%, -50%) rotate(135deg);
}
@media screen and (max-width:759.98px) {}
/* アイコン横並び */
.icon_row_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
}
.icon_row_img {
  max-width: 50px;
  padding: 0 min(1.5vw, 20px) 0 min(1vw, 12px);
}
.icon_row_img img {
  max-width: 40px;
  max-height: 40px;
  width: 4vw;
  height: 4vw;
}
.icon_row_img.icon_borderR {
  border-right: 1px solid #CBCBCB;
}
.icon_row_wrap > p {
  padding: 0 0 0 min(1.5vw, 14px);
  font-size: var(--font18);
  font-weight: bold;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 759.98px) {
  .icon_row_img img {
    max-width: 80px;
    max-height: 80px;
    width: 8vw;
    height: 8vw;
  }
  .icon_borderR.icon_row_img {
    padding: 0 3vw 0 0;
  }
  .icon_row_wrap > p {
    padding: 0 0 0 3vw;
  }
}
/*--------------------------------------
TOPページ
--------------------------------------*/
.sec_maxwidth {
  max-width: 1400px;
  margin: 0 auto;
  padding-top: min(120px, 10%);
  overflow: hidden;
}
.sec_not_maxwidth {
  padding-top: min(120px, 15%);
}
.top_section_wrap {
  max-width: 1100px;
  width: 90%;
  margin: 0 auto;
}
@media screen and (max-width: 759.98px) {
  .sec_maxwidth {
    padding-top: 20vw;
  }
  .top_section_wrap {
    width: 100%;
  }
}
/*---------- TOP NEWS  ----------*/
#top_news .bg_dot {
  background-position: top;
  top: 0;
  left: 0;
  width: 100%;
  max-height: 178px;
  height: 13vw;
}
.news_wrap {
  width: 50%;
  position: relative;
  padding-bottom: min(9.6vw, 136px);
}
.news_wrap .top_section_title {
  margin-left: 0;
  margin-bottom: 0;
  max-width: 600px;
  padding-top: min(4.8vw, 68px);
}
.news_wrap .top_section_title h2 {
  line-height: 0.66;
  margin-left: 20px;
  color: #fff;
}
.bg_gray {
  position: absolute;
  top: 0;
  height: 100%;
  background-color: #E9EBE8;
  z-index: -1;
}
.news_wrap .bg_gray {
  left: -200px;
  width: 172%;
}
.news_post_wrap {
  background-color: #fff;
  width: 200%;
  display: flex;
  justify-content: center;
  box-shadow: 0px 0px 20px -10px #ccc;
}
.news_post_left {
  width: 75%;
  padding: 5% min(3vw, 50px);
}
.news_post_inner {
  max-width: 894px;
  width: 70.4vw;
  margin-left: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.news_post {
  width: 19.4vw;
  max-width: 238px;
  padding: min(20px, 1.5vw);
  border: 2px solid var(--main-color);
  overflow: hidden;
  box-shadow: 0px 0px 20px -10px #ccc;
}
.news_post:hover {
  opacity: 1;
}
.news_post_img {
  overflow: hidden;
  text-align: center;
}
.news_post_img img {
  width: 19.4vw;
  aspect-ratio: 230/153;
  transition: transform .4s;
  object-fit: cover;
}
.news_post:hover .news_post_img img {
  transform: scale(1.1);
}
.news_post p {
  font-size: var(--font12);
  color: var(--main-color);
  font-weight: bold;
  letter-spacing: 0.1em;
  padding: min(5px, 0.5vw) 0;
}
.news_post h3 {
  font-size: var(--font16);
  font-weight: normal;
  letter-spacing: 0.1em;
  max-height: 47px;
  height: 4vw;
}
.news_post_right {
  width: 25%;
}
@media screen and (max-width:1399.98px) {
  .news_wrap .bg_gray {
    left: 0;
    width: 72vw;
  }
}
@media screen and (max-width:759.98px) {
  #top_news .bg_dot {
    top: 7vw;
  }
  .news_wrap .top_section_title {
    padding-top: 10vw;
  }
  .news_wrap {
    padding-bottom: 0;
  }
  .news_wrap, .news_wrap .bg_gray, .news_post_wrap {
    width: 100%;
  }
  .news_post_wrap {
    flex-direction: column;
  }
  .news_post_left {
    width: 100%;
    padding: 0;
    overflow: scroll;
    margin: 4vw 0vw;
  }
  .news_post_inner {
    margin: 0;
    max-width: none;
    width: 210vw;
    padding: 4vw 8vw 8vw 8vw;
    box-sizing: border-box;
  }
  .news_post {
    max-width: none;
    width: 61.8vw;
    padding: 6.5vw;
  }
  .news_post:not(:last-child) {
    margin-right: 8vw;
  }
  .news_post_img img {
    width: 58vw;
  }
  .news_post h3 {
    max-height: 69px;
    height: 18vw;
  }
  .news_post_right {
    width: 100%;
  }
}
/*---------- TOP facility  ----------*/
#top_facility .bg_dot {
  z-index: -1;
  background-position: top;
  top: -96px;
  right: 0;
  width: 50%;
  height: 294px;
}
.top_facility_wrap {
  display: flex;
  justify-content: center;
  min-height: 506px;
}
.top_facility_img {
  max-width: 380px;
  width: 28vw;
}
.top_facility_img img {
  object-fit: cover;
  object-position: right;
  width: 100%;
  height: 100%;
}
.top_facility_inner {
  max-width: 640px;
  width: 46vw;
  background-color: #fff;
  border: 4px solid var(--main-color);
  outline: 2px solid var(--main-color);
  outline-offset: -12px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  box-sizing: border-box;
}
.top_facility_txts {
  margin: 0 min(1vw, 13px);
}
.top_facility_txts h3 {
  font-size: var(--font28);
  font-weight: normal;
  line-height: 2;
  margin-bottom: min(21px, 2vw);
}
@media screen and (max-width:1399.98px) {
  #top_facility .bg_dot {
    top: -7vw;
    right: 0;
    width: 45%;
    height: 22vw;
  }
  .top_facility_wrap {
    min-height: 35.86vw;
  }
}
@media screen and (max-width: 759.98px) {
  #top_facility .bg_dot {
    z-index: auto;
    width: 100%;
    top: -40vw;
    height: 60vw;
  }
  .top_facility_wrap {
    display: grid;
  }
  .top_facility_img {
    grid-row: 1;
    width: 100%;
    max-width: none;
    overflow: hidden;
    aspect-ratio: 180/200;
  }
  .top_facility_img img {
    object-position: center;
  }
  .top_facility_inner {
    grid-column: 1/3;
    width: 100%;
    min-width: inherit;
    padding: 12vw 10vw;
    max-width: none;
  }
  .top_facility_txts {
    text-align: left;
  }
  .top_facility_txts h3 {
    line-height: 1.7;
  }
}
/*---------- TOP SERVICE  ----------*/
@media screen and (max-width: 759.98px) {}
/*---------- TOP STRENGTH  ----------*/
.top_strength_wrap {
  margin-top: min(5.2vw, 75px);
}
.top_strength_inner {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: min(5.2vw, 75px);
}
.top_strength_inner .top_strength_transparent {
  width: 55%;
  position: relative;
}
.top_strength_inner .top_strength_transparent::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  background: linear-gradient(90deg, transparent 0 60%, #FFF 95% 100%);
  position: absolute;
  top: 0;
  left: 0;
}
.top_strength_texts {
  width: 45%;
}
.top_strength_title {
  border-bottom: 1px solid #333333;
  margin-bottom: min(1.6vw, 20px);
}
.top_strength_title h2 {
  margin-bottom: min(0.8vw, 10px);
  font-weight: normal;
  font-size: var(--font28);
  letter-spacing: 0.1em;
}
span.font_orenge {
  color: var(--sub-color);
  font-size: var(--font34);
}
span.font_pink {
  color: var(--main-color);
  font-size: var(--font34);
}
.top_strength_texts .btn_wrap {
  margin-right: 0;
}
@media screen and (max-width: 759.98px) {
  .top_strength_inner {
    flex-direction: column;
  }
  .top_strength_inner:not(:last-child) {
    margin-bottom: 30vw;
  }
  .top_strength_inner .top_strength_transparent {
    width: 100%;
  }
  .top_strength_inner .top_strength_transparent::before {
    background: none;
  }
  .top_strength_texts {
    width: 95%;
  }
  .top_strength_title {
    margin: 3vw 0;
  }
  .top_strength_title h2 {
    margin-bottom: 3vw;
  }
  .top_strength_texts .btn_wrap {
    margin-left: auto;
    margin-right: auto;
  }
}
/*---------- TOP PLAN  ----------*/
@media screen and (max-width: 759.98px) {}
/*---------- TOP introduction  ----------*/
#introduction .bg_dot {
  background-position: top;
  top: 0;
  left: 0;
  width: 100%;
  max-height: 130px;
  height: 10vw;
}
.intro_title {
  text-align: center;
  margin: min(5.2vw, 75px) 0 min(3.6vw, 50px) 0;
}
.intro_title h2 {
  font-size: var(--font42);
  font-weight: normal;
}
@media screen and (max-width: 759.98px) {
  #introduction .bg_dot {
    height: 18vw;
  }
}
/* 採用 */
#recruit .bg_dot {
  width: 100%;
  top: min(167px, 12vw);
  height: 28vw;
  max-height: 390px;
  z-index: -1;
}
.recruit_wrap .top_section_title {
  margin: 0 auto;
  max-width: 1100px;
  width: 90%;
  padding-top: min(4.8vw, 68px);
}
.recruit_wrap .top_section_title h2 {
  width: fit-content;
  margin-left: auto;
  line-height: 0.66;
  color: #fff;
}
.recruit_wrap {
  width: 100%;
  position: relative;
  padding-bottom: min(9.6vw, 136px);
}
.recruit_wrap .bg_gray {
  right: 0px;
  width: 73%;
}
.recruit_row_wrap {
  display: flex;
  justify-content: center;
  box-shadow: 0px 0px 20px -10px #ccc;
  width: 90%;
  max-width: 1100px;
  margin: auto;
}
.recruit_left .pink_container {
  width: 28vw;
}
.recruit_right {
  max-width: 780px;
  width: 65vw;
  max-height: 400px;
  height: 33.4vw;
}
.recruit_right img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: top;
}
.recruit_right_txt {
  position: absolute;
  top: 50%;
  left: 46.4%;
  transform: translate(0, -50%);
  color: #fff;
  font-weight: 100;
  line-height: 1.8;
  font-size: var(--font28);
}
@media screen and (max-width: 758.99px) {
  #recruit .sec_maxwidth {
    padding-top: 30vw;
    margin-top: 10vw;
  }
  .recruit_wrap .bg_gray {
    width: 100%;
    height: 62%;
  }
  #recruit .bg_dot {
    top: 9vw;
  }
  .recruit_row_wrap {
    flex-direction: column-reverse;
  }
  .recruit_left .pink_container {
    width: 100%;
  }
  .recruit_right {
    width: 100%;
    height: 100vw;
    max-height: none;
  }
  .recruit_right img {
    height: 100%;
    object-position: 100% 0;
  }
  .recruit_wrap .top_section_title {
    padding-top: 10vw;
  }
  .recruit_wrap .top_section_title h2 {
    margin-left: 0;
  }
  .recruit_right_txt {
    top: 30.8%;
    transform: translate(-50%, -50%);
    width: 71%;
    font-size: clamp(20px, 6.6vw, 47px);
    left: 52%;
  }
  .recruit_right_txt br {
    display: none;
  }
}
/* TOP CONTACT */
#top_contact .border_category_wrap {
  margin-bottom: min(11vw, 148px);
  align-items: unset;
}
#top_contact .border_category_frame {
  width: 45%;
  display: flex;
  flex-direction: column;
}
#top_contact .border_category_frame a {
  padding: min(2vw, 28px) 0 min(2vw, 28px) min(2vw, 20px);
}
.top_contact_texts {
  padding: 0 min(3vw, 42px);
}
.top_contact_texts p:nth-child(1) {
  font-size: var(--font28);
  font-weight: bold;
}
.top_contact_texts .font_nomal {
  font-weight: 100;
  font-size: var(--font16);
  letter-spacing: 0.1em;
}
#top_contact .icon_row_wrap > p {
  padding: 0 min(3vw, 42px);
}
.icon_row_img.icon_borderR img {
  max-width: 50px;
  max-height: 50px;
  width: 3.2vw;
  height: 3.2vw;
  transform: translate(0, 0);
  -ms-interpolation-mode: nearest-neighbor;
  image-rendering: -webkit-optimize-contrast;
  backface-visibility: hidden;
}
.icon_row_wrap .header_icon_img img {
  height: min(28px, 2vw);
  width: min(28px, 2vw);
  max-width: 37px;
  max-height: 37px;
  transform: translate(0, 0);
  -ms-interpolation-mode: nearest-neighbor;
  image-rendering: -webkit-optimize-contrast;
  backface-visibility: hidden;
}
.category_frame_left a {
  justify-content: center;
  padding: inherit !important;
  height: 100%;
}
.contact_category_left {
  display: block;
  text-align: center;
}
.contact_category_left .icon_row_img {
  margin: 0 auto;
}
.contact_category_left .top_contact_texts {
  line-height: 2;
}
.contact_category_left .icon_borderR {
  border-right: none;
}
.category_frame_right a:first-of-type {
  margin-bottom: min(2.8vw, 35px);
}
@media screen and (max-width: 758.99px) {
  #top_contact .border_category_frame {
    width: 100%;
  }
  #top_contact .border_category_wrap {
    margin-bottom: 10vw;
  }
  #top_contact .border_category_frame a {
    padding: 4.4vw;
  }
  .contact_category_left .icon_borderR {
    border-right: 1px solid #CBCBCB;
  }
  .category_frame_left a {
    padding: min(5vw, 30px) 0 !important;
  }
  .icon_row_img.icon_borderR img, #tel-form .icon_row_img.icon_borderR img {
    max-width: none;
    max-height: none;
    width: 7.8vw;
    height: 7.8vw;
  }
}
@media screen and (max-width: 344.99px) {
  #top_contact .icon_row_wrap > p, #tel-form .icon_row_wrap > p {
    font-size: var(--font14);
  }
}
/*--------------------------------------
下層ページ共通
--------------------------------------*/
/*-- ヘッダー ----------*/
@media screen and (min-width: 759.99px) {
  #sub_header.header_wrap {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 10.5vw;
    max-height: 140px;
    display: grid;
    justify-content: space-between;
    z-index: 998;
    background-color: #FFF;
    grid-template-columns: 20% 80%;
    box-shadow: 0px 0px 20px -10px #ccc;
  }
  #sub_header .header_menu {
    top: 0;
    box-shadow: none;
    margin-right: 0;
  }
  #sub_header .sub_header_logo {
    grid-column: 1/2;
    grid-row: 1/3;
  }
  #sub_header .header_sub_menu {
    grid-column: 2/3;
    grid-row: 1/2;
  }
  #sub_header .header_right {
    color: #333;
    justify-content: flex-end;
  }
  #sub_header .header_right li a {
    padding: min(1.6vw, 20px) min(25px, 1.8vw) min(10px, 0.8vw) min(25px, 1.8vw);
    font-size: var(--font14);
  }
  #sub_header .sub_header_menu_inner {
    grid-column: 2/3;
    grid-row: 2/3;
  }
  #sub_header .header_menu .header_menu_item {
    height: auto;
  }
  #sub_header .header_menu_item a {
    height: min(56px, 4vw);
    padding-bottom: min(1.6vw, 20px)
  }
  #sub_header .header_menu > .header_menu_item p:first-of-type {
    font-size: var(--font14);
  }
  #sub_header .header_menu > .header_menu_item::before {
    height: calc(100% - min(1.6vw, 20px));
    top: 0;
    transform: translate(0, 0);
  }
  #sub_header .contact_box {
    display: flex;
    margin-right: min(24px, 1.7vw);
    margin-bottom: min(1.6vw, 20px)
  }
  #sub_header .contact_box a {
    margin: 0 min(8px, 1vw) 0 0;
    max-height: 48px;
    min-height: 38px;
    height: 3.7vw;
    max-width: 154px;
    min-width: 110px;
    width: 11vw;
  }
  #sub_header .contact_box a img {
    margin-right: min(0.4vw, 10px);
  }
  #sub_header .header_eng {
    font-size: 10px !important;
  }
}
@media screen and (max-width: 899.98px) {
  #sub_header .sub_header_logo a {
    margin-left: 2vw;
  }
  #sub_header.header_wrap {
    grid-template-columns: 18% 82%;
  }
  #sub_header .header_eng {
    margin-top: 3px;
  }
  #sub_header .contact_box {
    margin-right: 0;
  }
  #sub_header .contact_box a {
    margin: 0 min(5px, 0.6vw) 0 0;
    min-height: inherit;
    height: 4vw;
    min-width: 100px;
    padding-right: 3px;
  }
  #sub_header .contact_box_tel {
    outline-offset: -3px;
  }
  #sub_header .contact_box_mail {
    outline-offset: -4px;
  }
  #sub_header .contact_box a img {
    margin-right: min(0.5vw, 3px);
  }
}
/*-- メイン ----------*/
#sub_page {
  padding-top: min(10.5vw, 140px); /* ヘッダー分 */
}
.sec_container {
  max-width: 1100px;
  width: 90%;
  margin: auto;
}
#sub_fv {
  position: relative;
}
#sub_fv .bg_dot {
  z-index: -1;
  background-position: top;
  top: -96px;
  left: 0;
  width: 50%;
  height: 100%;
}
@media screen and (max-width: 759.98px) {
  #sub_page {
    padding-top: 60px;
  }
  #sub_fv .bg_dot {
    width: 100%;
    top: -22vw;
  }
}
/* カテゴリー*/
.sub_cotegory {
  margin: auto;
  display: grid;
  justify-content: center;
  grid-template-columns: repeat(2, min(29vw, 350px));
  grid-gap: min(30px, 2.2vw);
}
.sub_cotegory.sub_cotegory3 {
  grid-template-columns: repeat(3, min(29vw, 350px));
}
.sub_cotegory .icon_row_wrap {
  justify-content: flex-start;
  padding: min(20px, 1.5vw) 0 min(20px, 1.5vw) min(2vw, 25px);
  border: 2px solid #CBCBCB;
}
.icon_row_wrap.btn_center {
  justify-content: center;
}
.sub_cotegory.sub_cotegory3 .icon_row_wrap {
  padding: min(20px, 1.5vw) min(2vw, 25px);
}
#category > .catgory_content .icon_row_wrap p {
  padding: 0 3vw;
}
@media screen and (max-width: 759.98px) {
  .sub_cotegory {
    display: flex;
    flex-direction: column;
    grid-gap: inherit;
    border-top: 1px solid #CBCBCB;
    border-bottom: 1px solid #CBCBCB;
  }
  .sub_cotegory .icon_row_wrap {
    padding: 6vw 0 6vw 3vw!important;
    border: 1px solid #CBCBCB;
    border-left: none;
    border-right: none;
  }
  .catgory_content .icon_row_wrap {
    padding: 6vw !important;
  }
}
/*-- タイトル 装飾テキスト---------------*/
/* 線つき下層タイトル*/
.icon-ttl {
  display: flex;
  position: relative;
  align-items: center;
  padding: 0 0 min(2.2vw, 30px) 0;
  margin-bottom: min(2.2vw, 30px);
  width: 100%;
}
.icon-ttl::before {
  content: '';
  position: absolute;
  width: 78%;
  height: 2px;
  bottom: 0;
  left: -19%;
  background: linear-gradient(to right, #FF9383, #F4AE38);
}
.icon-ttl h3 {
  width: 100%;
  font-size: var(--font30);
  margin-left: min(30px, 2.1vw);
  letter-spacing: 0.1em;
}
.icon-ttl img {
  width: 5.5vw;
  max-width: 70px;
  -ms-interpolation-mode: nearest-neighbor;
  image-rendering: pixelated;
}
@media screen and (max-width:759.98px) {
  .icon-ttl {
    padding-bottom: 4vw;
    margin-bottom: 4vw;
  }
  .icon-ttl::before {
    width: 116%;
    height: 0.6vw;
  }
  .icon-ttl h3 {
    width: 100%;
  }
  .icon-ttl p {
    padding: min(3.8vw, 20px) 0 0 0;
    width: 96%;
    margin: 0 auto;
  }
  .icon-ttl img {
    width: 10.5vw;
    max-width: 80px;
  }
}
/* 二重線囲みテキスト*/
.bg-orenge {
  background-color: var(--bg-orenge);
  margin-top: min(14.3vw, 220px);
  padding-bottom: min(5vw, 70px);
}
.doublet_wrap {
  position: relative;
  top: max(-5vw, -70px);
  background-color: #fff;
  max-width: 1000px;
  width: 90%;
  box-sizing: border-box;
  padding: min(4.3vw, 60px);
  border: 3px solid var(--main-color);
  outline: 2px solid var(--main-color);
  outline-offset: -10px;
  margin: 0 auto min(4.3vw, 60px);
}
.doublet_wrap h4, .access-route-under-inner h4, .serv_row_wrap h4, .center_txts h4 {
  color: var(--main-color);
  font-size: var(--font24);
  margin-bottom: min(10px, 0.7vw);
}
@media screen and (max-width: 759.98px) {
  .doublet_wrap {
    padding: 8vw;
    margin-bottom: 18vw;
  }
  .doublet_wrap h4, .access-route-under-inner h4, .serv_row_wrap h4, .center_txts h4 {
    font-size: var(--font20);
  }
  .serv_row_wrap h4, .center_txts h4 {
    margin: 4vw 0;
  }
  .doublet_wrap h4 {
    margin-bottom: 4vw;
  }
}
/* アクセス囲みリンクボタン */
.link_btn p {
  inline-size: max-content;
  border: 1px solid var(--main-color);
  padding: 10px 15px;
  margin-left: auto;
  line-height: 1;
  color: var(--main-color);
  font-size: var(--font15);
  text-align: center;
  box-sizing: border-box;
}
.link_btn img {
  width: 12px;
  margin-left: 6px;
  vertical-align: middle;
}
@media screen and (max-width: 759.98px) {
  .link_btn p {
    padding: 3vw 4vw;
    min-width: 40vw;
    display: flex;
    justify-content: flex-end;
    border-width: 0.3vw;
  }
  .link_btn img {
    width: 3.4vw;
    margin-left: 4vw;
  }
}
/* 中央寄せテキスト */
.center_txts {
  text-align: center;
}
/*--------------------------------------
下層 優都苑の介護
--------------------------------------*/
.serv_overlap {
  position: relative;
  display: flex;
  justify-content: flex-end;
}
.serv_overlap .serv_overlap_txts {
  width: 60%;
  position: absolute;
  top: 8%;
  left: 0;
}
.serv_overlap .icon-ttl::before {
  width: 120%;
}
.serv_overlap_img {
  margin-right: max(-60px, -5vw);
  width: 60%;
  position: relative;
  z-index: -1;
}
.serv_overlap_img::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  background: #fff;
  opacity: 0.78;
  position: absolute;
  top: 0;
  left: 0;
}
.serv_row_wrap {
  display: flex;
  justify-content: flex-start;
  column-gap: 5vw;
  align-items: center;
  max-width: 1400px;
  margin: auto;
  margin-bottom: min(4.3vw, 60px);
}
.serv_row_wrap.serv_row_reserve {
  flex-direction: row-reverse;
}
.serv_row_wrap_img img {
  max-width: 554px;
  width: 40vw;
}
.serv_row_wrap.serv_row_reserve .serv_img_aspect img {
 aspect-ratio: 3/1.3;
    object-fit: cover;
    margin-bottom: 2%;
    object-position: 0 63%;
}
.serv_row_wrap.serv_row_reserve .serv_img_aspect{
    display: grid;
}
.serv_row_wrap_txts {
  width: 42vw;
}
.serv_row_wrap_txts p {
  margin-top: min(2vw, 30px)
}
#diet .diet_ttl_txt {
  text-indent: min(-0.66vw, -10px);
}
#therapy .icon_tree img {
  width: 4.5vw;
}
@media screen and (max-width: 759.98px) {
  .serv_overlap {
    flex-direction: column;
  }
  .serv_overlap .serv_overlap_txts {
    position: static;
    width: 100%;
  }
  .serv_overlap_img {
    width: 100%;
    margin: 8vw 0;
  }
  .serv_row_wrap, .serv_row_wrap.serv_row_reserve {
    flex-direction: column;
    width: 90%;
    margin: auto;
  }
  .serv_row_wrap_img, .serv_row_wrap_img img, .serv_row_wrap_txts {
    width: 100%;
    max-width: 100%;
  }
  .serv_row_wrap_txts {
    margin: 8vw 0 10vw 0;
  }
  .center_txts {
    width: 90%;
    margin: auto;
  }
  #therapy .icon_tree img {
    width: 9.5vw;
  }
}
/*--------------------------------------------------------------
	SWIPER
--------------------------------------------------------------*/
.swiper_service {
  margin: min(4vw, 33px) auto;
  position: relative;
  max-width: 1400px;
  padding: min(2.8vw, 40px) 0 min(11.3vw, 135px);
}
.swiper-slide {
  opacity: .3;
  transform: scale(.8);
  transition: .7s;
  box-sizing: border-box;
  height: auto;
}
.swiper-slide-inner {
  position: relative;
  padding: min(4.5886vw, 87px) min(4vw, 60px) 0;
  margin: 0 min(3vw, 40px);
  background-color: #fff;
  height: 100%;
}
.swiper-slide-inner img:first-of-type {
  margin: min(2vw, 38px) 8% min(0.8vw, 15px);
  margin-top: -18%;
  position: relative;
}
.swiper-slide-inner img {
  margin: min(2vw, 15px) 8%;
  aspect-ratio: 4/2;
  height: 17vw;
  max-height: 246px;
  width: 84% !important;
}
.swiper-button-prev, .swiper-button-next {
  width: 7vw;
  height: 7vw;
  margin-top: -16px;
  max-width: 81px;
  max-height: 81px;
  min-width: 35px;
  min-height: 35px;
}
.swiper-button-prev {
  background: url("img/swiper_left.png") no-repeat center center / contain;
  left: 18%;
}
.swiper-button-prev::after {
  content: "";
}
.swiper-button-next {
  background: url("img/swiper_right.png") no-repeat center center / contain;
  right: 18%;
}
.swiper-button-next::after {
  content: "";
}
.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 6px)
}
.swiper-pagination-bullet {
  background-color: #FF9988;
}
.swiper-slide img {
  height: auto;
  width: 100%;
  object-fit: cover;
}
.swiper-slide-active {
  opacity: 1;
  transform: scale(1);
  z-index: 1;
}
.swiper-slide-menuitem {
  border-collapse: collapse;
  display: block;
  margin: min(1.8vw, 15px) 0;
}
.season {
  left: -6%;
  z-index: 1;
  opacity: 0.62;
  position: relative;
}
.season h2 {
  font-size: clamp(75px, 12.5vw, 176px);
  font-weight: normal;
  line-height: 1;
  font-family: "Noto Serif JP", "游明朝体", YuMincho, 'Yu Mincho', serif;
}
/*-- 春---*/
.swiper-wrap-spring tr {
  border-bottom: 1px solid #FF9988;
}
.season-spring h2, .season-spring th {
  color: #FF9988;
}
.swiper-wrap-spring {
  border-radius: 2vw;
  border: solid 4px #FF9988;
}
/*-- 夏---*/
.season-summer tr {
  border-bottom: 1px solid #98EDC6;
}
.season-summer h2, .season-summer th {
  color: #98EDC6;
}
.swiper-wrap-summer {
  border-radius: 2vw;
  border: solid 4px #98EDC6;
}
/*-- 秋---*/
.season-autumn tr {
  border-bottom: 1px solid #ff8c00;
}
.season-autumn h2, .season-autumn th {
  color: #ff8c00;
}
.swiper-wrap-autumn {
  border-radius: 2vw;
  border: solid 4px #ff8c00;
}
/*-- 冬---*/
.season-winter tr {
  border-bottom: 1px solid #98E0ED;
}
.season-winter h2, .season-winter th {
  color: #98E0ED;
}
.swiper-wrap-winter {
  border-radius: 2vw;
  border: solid 4px #98E0ED;
}
.swiper-wrap-winter-img2{
    object-position: 0 13%;
}
@media screen and (max-width: 1040.98px) {
  .swiper-slide-inner img {
    height: 10vw;
  }
}
@media screen and (max-width: 759.98px) {
  .swiper_service {
    width: 100%;
    padding-top: 14vw;
    padding-bottom: 20vw;
  }
  .swiper-button-prev, .swiper-button-next {
    display: none;
  }
  .swiper-slide {
    width: 100vw;
    opacity: 1;
  }
  .sp_slide_sign {
    position: absolute;
    right: 9%;
    top: 1%;
  }
  .sp_slide_sign_inner {
    display: flex;
    width: 27vw;
    justify-content: space-between;
    transform: translateX(-20px);
    animation: arrowAnime1 2s ease infinite;
  }
  .sp_slide_sign_inner p {
    font-size: var(--font15);
    color: var(--main-color);
  }
  .slide_sign_arrow {
    width: 7vw;
    height: 7vw;
    position: relative;
    background-color: var(--main-color);
    transform: rotate(45deg);
  }
  .slide_sign_arrow span {
    position: absolute;
    content: "";
    width: 3vw;
    height: 1px;
    top: 50%;
    right: 50%;
    background-color: #fff;
    transform: translate(50%, -50%) rotate(-45deg);
  }
  .slide_sign_arrow span::before {
    position: absolute;
    content: "";
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    width: 1vw;
    height: 1vw;
    top: 50%;
    right: 0%;
    transform: translate(0, -50%) rotate(45deg);
  }
  .swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal {
    left: 0;
    width: 100%;
    bottom: -5px;
  }
  .swiper-slide-inner {
    margin: 0 min(1.5vw, 40px);
    padding: min(7vw, 50px) min(8vw, 60px) 0;
  }
  .season h2 {
    font-size: 24vw;
  }
  .swiper-slide-menuitem {
    font-size: clamp(13.3px, 3.8vw, 23px);
  }
  .season {
    left: -7%;
  }
  .swiper-slide-inner img:first-of-type {
    transform: translate(0, -5%);
  }
  .swiper-slide-inner img {
    height: auto;
  }
}
@keyframes arrowAnime1 {
  0% {
    transform: translateX(-30px);
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  70% {
    opacity: 1;
  }
  100% {
    transform: translateX(0px);
    opacity: 0;
  }
}
/*--------------------------------------
下層 お知らせ一覧 archive.php
--------------------------------------*/
#news .sec_maxwidth {
  margin-bottom: min(120px, 10%);
}
.topic_news_link {
  display: flex;
  padding: 0;
  list-style-type: none;
  border-bottom: 1px solid var(--border-color);
}
.topic_news_link > li {
  width: 15%;
}
.topic_cat_item, .topic_news_link > li > a {
  padding: 20px 6px;
  display: block;
  color: #ABABAB;
  line-height: 1;
  font-weight: bold;
  transition: all 0.2s ease;
}
/*-- トピック選択中 ---*/
.topic_news_link > .active, .topic_tab_item > .active {
  color: var(--main-color);
  border-bottom: 2px solid var(--main-color);
  transition: all 0.2s ease;
  position: relative;
  bottom: -1px;
}
/*-- 記事----------*/
.newslist a {
  display: flex;
  flex-flow: nowrap;
  border-bottom: 1px solid var(--border-color);
  padding: 20px 0;
  align-items: center;
  transition: .3s;
}
.newslist, .nav-previous, .nav-next {
  transition: .3s;
}
.newslist:hover {
  background-color: rgba(233, 235, 232, 0.3);
}
.newslist li, .news-date li {
  display: block;
  margin: min(1vw, 14px) min(0.92vw, 11.6px);
  font-weight: bold;
}
.newslist li:nth-child(2), .news-date li:nth-child(2) {
  font-size: var(--font12);
  padding: min(0.5vw, 7px);
  text-align: center;
  background-color: #FFF7F1;
  font-weight: normal;
  min-width: 6.5%;
  max-width: 83px;
}
.newslist .cat-pink, .news-date .cat-pink {
  color: var(--main-color);
}
.newslist .cat-green, .news-date .cat-green {
  color: #36B077;
}
/*-- ページネーション----------*/
.navigation {
  text-align: center;
  margin: min(5%, 76px) auto;
  max-width: 1400px;
}
.nav-links {
  margin: 0 auto;
}
.nav-links ul {
  display: flex;
  align-items: center;
  justify-content: center;
}
.nav-links ul li {
  width: min(3vw, 35px);
  height: min(3vw, 35px);
  margin: 0 min(0.5vw, 10px);
}
.page-numbers {
  color: #000;
  font-family: "Roboto";
  line-height: 1;
  font-size: var(--font18);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  justify-content: center;
  width: 100%;
}
.nav-links a:hover {
  opacity: 0.7;
}
.current {
  background: var(--main-color);
  width: 100%;
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  color: #fff;
}
@media screen and (max-width: 759.98px) {
  .navigation {
    margin: min(10%, 120px) auto;
  }
  .nav-links ul li {
    width: min(9vw, 60px);
    height: min(9vw, 60px);
    margin: 0 min(1vw, 4px);
  }
  .newslist a {
    flex-flow: row wrap;
  }
  .newslist li:nth-child(2) {
    min-width: 10%;
    font-size: clamp(10px, 1.7vw, 20px);
    padding: min(1vw, 10px);
  }
  .newslist li:first-child {
    margin: min(0.6vw, 8px) max(0.538vw, 10px) min(0.6vw, 8px) 1px;
    font-size: var(--font12);
  }
  .newslist li:nth-child(3) {
    margin-right: inherit;
    margin: 10px 0;
    width: 100%;
  }
  .topic_news_link > li {
    max-width: 30%;
    min-width: 27.2%;
  }
}
@media screen and (max-width: 312.98px) {
  .topic_news_link > li {
    width: 33%;
  }
  .nav-links ul li {
    width: min(9vw, 28px);
    height: min(9vw, 28px);
    min-width: 15px;
  }
  .page-numbers {
    width: min(9vw, 28px);
    min-width: 15px;
  }
  .navigation {
    margin: min(5%, 76px) auto min(20%, 76px);
  }
}
/*-------------------------------
 下層 お知らせ詳細 single.php
 -------------------------------*/
#news-detail .bg_dot {
  z-index: -1;
  background-position: top;
  top: 0;
  left: 0;
  width: 50%;
  height: 100%;
  max-height: 320px;
}
/*--  ----------*/
.news-date, .news-detail-inner-flex {
  display: flex;
  flex-flow: row wrap;
  padding: 20px 0;
  align-items: center;
}
.news-detail-inner {
  margin: min(120px, 10%) 0;
}
.news-detail-inner img {
  width: 100%;
  height: 100%;
}
.news-detail-inner p {
  font-size: var(--font15);
  font-weight: 300;
  margin: min(20px, 10%) 0;
}
.news-detail-inner-flex {
  column-gap: 5%;
}
.news-detail-inner-flex a, .news-detail-inner-last-img a {
  width: 47.5%;
}
.lb-image {
  width: 80vw !important;
  height: auto !important;
}
.pop-up-txt {
  display: list-item;
  list-style-position: inside;
  list-style-type: none;
}
.pop-up-txt p {
  padding-left: 1.5em;
  background-image: url("img/icon_pop-up.png");
  background-repeat: no-repeat;
  background-size: 1em;
  background-position: left center;
  font-size: var(--font18);
  margin: min(20px, 10%) 0;
}
.news-btn {
  max-width: 250px !important;
}
.nav-below, .nav-below div {
  display: flex;
  font-weight: bold;
  justify-content: space-between;
  font-size: 14px;
  align-items: center;
}
.nav-below div {
  justify-content: flex-start;
}
.arrow-left {
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  position: relative;
  width: 1.5em;
  height: 0.08em;
  background: currentColor;
  margin-right: 1em;
}
.arrow-left::before {
  content: '';
  width: 0.65em;
  height: 0.65em;
  border: 0.08em solid currentColor;
  border-right: 0;
  border-bottom: 0;
  transform: rotate(-45deg);
  transform-origin: top left;
  position: absolute;
  top: 50%;
  left: -0.05em;
  box-sizing: border-box;
}
.arrow-right {
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  position: relative;
  width: 1.5em;
  height: 0.08em;
  background: currentColor;
  margin-left: 1em;
}
.arrow-right::before {
  content: '';
  width: 0.65em;
  height: 0.65em;
  border: 0.08em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  transform: rotate(45deg);
  transform-origin: top right;
  position: absolute;
  top: 50%;
  right: -0.05em;
  box-sizing: border-box;
}
.nav-next {
  margin-left: auto;
}
.nav-previous:hover, .nav-next:hover {
  color: var(--main-color);
}
/*--  wp ----------*/
#playPause {
  display: none;
}
#outerImageContainer, #imageContainer, #overlay {
  width: 100vw !important;
  height: 100% !important;
  padding: 0 !important;
}
#lightboxImage, #imageDataContainer {
  width: 80vw !important;
  height: auto !important;
}
#outerImageContainer, #imageDataContainer, #imageData #imageDetails {
  background-color: inherit !important;
  color: #fff !important;
}
#jqlb_closelabel {
  display: block;
  float: right;
  width: 30px !important;
  height: 30px !important;
  background: url(./img/close.png) top right no-repeat !important;
  position: relative;
}
#jqlb_closelabel::after {
  content: "閉じる";
  position: absolute;
  color: #fff;
  top: 33px;
  left: 2px;
  width: 150px;
  font-family: "Noto Sans JP", 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
}
#prevLink, #nextLink {
  width: 40% !important;
  height: 100% !important;
  display: block;
}
#nextLink:hover, #nextLink:visited:hover {
  margin-right: 5%;
}
#prevLink:hover, #prevLink:visited:hover {
  margin-left: 5%;
}
#imageData {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 759.98px) {
  .lb-data .lb-details {
    width: 100%;
  }
  .lb-closeContainer {
    display: inline-flex;
  }
  .lb-data .lb-close {
    text-align: center;
  }
  .lb-data .lb-close::after {
    top: 46px;
    left: -57.5px;
  }
  .news-detail-inner-last-img a {
    width: 100%;
  }
  .pop-up-txt-none {
    display: none
  }
  .news-btn {
    max-width: 380px !important;
  }
}
@media screen and (max-width: 354.98px) {
  .pop-up-txt p {
    padding-left: 1em;
    background-size: 0.8em;
  }
}
@media screen and (max-width: 331.98px) {
  .pop-up-txt p {
    background: none;
    padding-left: inherit;
  }
}
/*--------------------------------------
下層 アクセスページ page-access.php
--------------------------------------*/
/*-- Googleマップ----------*/
.access_cotegory {
  display: flex;
  max-width: inherit;
}
.access_map iframe {
  width: 100%;
  aspect-ratio: 3/2;
  padding-bottom: 3%;
}
#access .font15 {
  letter-spacing: 1.4px;
}
.access_map_bottom {
  display: flex;
  justify-content: space-between;
  margin: min(3%, 35px) auto min(10%, 77px);
}
.access_map_txt_wrap {
  width: 100%;
  font-weight: bold;
}
.access_map_txt {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: min(0.5vw, 8px);
}
.access_map_txt p:nth-child(1) {
  width: 10%;
}
.access_map_txt p:nth-child(2) {
  font-weight: 300;
  width: 70%;
}
/*-- アクセスページ　経路案内ボタン----------*/
.access-route-innner {
  display: flex;
  flex-direction: column;
  row-gap: min(3vw, 35px);
  background-color: #fff;
}
.access-route-innner div {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.access-route-innner div .access-route-txt, .access-route-under div .access-route-txt {
  color: #000;
  font-weight: 300;
  position: relative;
  display: flex;
  align-items: center;
  padding-left: 1em;
}
.access-route-innner div .access-route-txt::before, .access-route-under div .access-route-txt::before {
  position: absolute;
  left: 3.5px;
  width: 0.5em;
  height: 0.5em;
  top: 0.6em;
  background-color: var(--main-color);
  content: "";
}
.access-route-under {
  max-width: 1000px;
  width: 90%;
  margin: min(8vw, 50px) auto 0;
  padding-bottom: min(8vw, 50px);
  position: relative;
}
.access-route-under p {
  font-size: var(--font15);
  margin-bottom: min(10vw, 80px);
  font-weight: 300;
  line-height: 2;
}
.access-route-under p span {
  border-bottom: 1px solid var(--main-color);
  padding-bottom: 0.3em;
}
.access-route-map {
  overflow: hidden;
  min-height: 600px;
}
.access-route-under iframe {
  width: 100%;
  aspect-ratio: 3/2;
  min-width: 847px;
}
.marker_list {
  position: absolute;
  top: 61px;
  right: 10px;
}
.marker_list ul {
  background-color: #ffffff;
  width: 22vw;
  min-width: 197px;
}
.marker_list ul li {
  margin-left: 5px;
  font-size: 75%;
  line-height: 1.4;
  padding: 5px 0px 5px min(8vw, 30px);
  background-image: url(http://maps.google.co.jp/mapfiles/ms/icons/blue.png);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: clamp(10px, 11%, 23px);
  cursor: pointer;
}
.marker_list ul .icon-bus_stand {
  background: url("img/bus_stand.gif") no-repeat left center;
  line-height: 2.6;
  background-size: clamp(10px, 10%, 23px);
}
@media screen and (max-width:759.98px) {
  .access_map_bottom {
    flex-direction: column-reverse;
    row-gap: min(5.5vw, 30px);
  }
  .access_map_txt {
    margin-bottom: min(5.5vw, 30px);
  }
  .access_map_txt p:nth-child(1), .access_map_txt p:nth-child(2) {
    width: 100%;
  }
  .access-route-innner {
    row-gap: min(7vw, 60px);
  }
  .access-route-innner div {
    display: block;
  }
  .access-route-innner div a {
    margin: 0 auto;
    margin-top: min(5.5vw, 30px);
  }
  .access-route-under-inner .access-route-txt {
    width: 90%;
    margin: 0 auto min(1.5vw, 10px);
  }
  .access-route-under p {
    margin: min(6vw, 50px) min(4vw, 40px) min(10vw, 70px);
  }
  .root_btn p {
    margin: 0 auto;
  }
  .access-route-map {
    overflow: hidden;
    height: 545px;
  }
}
@media screen and (max-width:346.98px) {
  .root_btn p {
    font-size: 80%;
  }
}
/*--------------------------------------
下層 施設概要ページ page-about.php
--------------------------------------*/
/*--  ----------*/
.about-table {
  width: 90%;
  max-width: 900px;
  margin: min(6.5vw, 80px) auto;
  border-spacing: 20px 0;
}
.about-table th {
  color: var(--main-color);
  font-weight: bold;
  text-align: left;
  position: relative;
  padding-left: 1%;
  padding: min(2vw, 22px);
}
.about-table td {
  border-bottom: 1px solid var(--border-color);
  padding-left: min(8vw, 60px);
}
.about-table th:after {
  content: '';
  position: absolute;
  right: 0;
  top: 50%;
  display: inline-block;
  width: 1px;
  height: 70%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  background-color: var(--border-color);
}
.about-table .last-boder-none th:after {
  height: 90%;
}
.about-table th::before {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  display: inline-block;
  width: 90%;
  height: 1px;
  background-color: var(--border-color);
}
.about-table .last-boder-none td {
  border-bottom: none;
  line-height: 4;
}
.about-table .last-boder-none th::before {
  display: none;
}
@media screen and (max-width: 759.98px) {
  .about-table {
    border-spacing: 0;
  }
  .about-table tr {
    display: block;
    padding: min(5vw, 40px) 0;
    border-bottom: 1px solid var(--border-color);
  }
  .about-table td, .about-table tr:last-of-type {
    border-bottom: none;
  }
  .about-table th, .about-table td {
    display: block;
    padding: 0;
    text-align: center;
  }
  .about-table th::before, .about-table th:after {
    display: none;
  }
}
/*-------------------------------------------------
下層 個人情報保護方針ページ page-privacypolicy.php
-------------------------------------------------*/
#privacypolicy {
  padding-bottom: min(14.5vw, 80px);
}
#privacypolicy_fv .sub_page_title {
  height: 28.5vw
}
.privacypolicy-contects-p {
  margin-top: min(9.2vw, 60px);
}
@media screen and (max-width: 759.98px) {
  #privacypolicy_fv .sub_page_title {
    width: 92vw;
    height: 72vw;
    max-height: 432px;
    margin-top: 23vw;
  }
}
/*--  ----------*/
.privacypolicy-contects {
  margin-bottom: min(14.5vw, 80px);
}
.privacypolicy-contects p {
  font-weight: 300;
  font-size: var(--font15);
  letter-spacing: 0.2px;
  line-height: 1.8;
}
/*-------------------------------------------------
下層 お問い合わせフォームページ page-contact.php
-------------------------------------------------*/
#tel-form .border_category_wrap {
  margin: min(5.5vw, 60px) 0 0;
  justify-content: space-between;
  align-items: stretch;
}
#tel-form .border_category_frame {
  width: 45%;
}
#tel-form .border_category_frame a {
  padding: min(2vw, 28px) 0 min(2vw, 28px) min(2vw, 20px);
  margin: 0;
  height: 40.6%;
}
#tel-form .icon_row_wrap > p {
  padding: 0 min(3vw, 42px);
}
@media screen and (max-width: 759.98px) {
  #tel-form .border_category_frame {
    width: 100%;
    margin: 2vw 0;
  }
  #tel-form .border_category_frame a {
    padding: 6vw 2vw;
  }
  #tel-form .top_contact_texts .font_nomal {
    font-size: clamp(10px, 2.4vw, 22px);
  }
}
/*--  共通（※） span----------*/
.contact-symbol {
  color: #E01515;
  font-size: var(--font12);
  vertical-align: super;
  padding-left: 0.5%;
}
select, input[type="text"], input[type="submit"], input[type="button"], input[type="email"] {
  /* 初期化 */
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  border: none;
}
.contact_txtarea_th_1 {
  vertical-align: baseline;
  line-height: 2.4;
}
.contact_txtarea_th_2 {
  vertical-align: baseline;
  line-height: 2.7;
}
.contact-thanks-btn {
  margin: min(120px, 10%) auto;
}
/*--  送信ボタン----------*/
#contact-form form .btn_wrap input {
  background-color: #fff;
  color: var(--main-color);
  text-align: center;
  display: inline-block;
  cursor: pointer;
  font-size: var(--font16);
}
/*--  top ----------*/
#contact-txt .font12 {
  font-weight: 300;
  margin: min(2vw, 22px) 0 min(14.5vw, 80px);
  font-size: var(--font12);
}
/*-- フォーム ----------*/
#contact-form {
  background-color: var(--bg-orenge);
  padding: min(14.5vw, 80px) 0;
  font-family: "Noto Sans JP", 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
}
#contact-form .sec_container {
  background-color: #fff;
}
#contact-form table {
  margin: 0 auto;
  border-collapse: separate;
  border-spacing: 0 20px;
  width: 100%;
  max-width: 920px;
}
#contact-form form {
  padding: min(14.5vw, 80px);
}
#contact-form form th, #contact-form form td {
  padding: min(2vw, 13px);
  word-wrap: break-word;
  overflow-wrap: break-word;
  max-width: min(48vw, 620px);
  width: 48vw;
}
#contact-form form th {
  width: 22.5%;
  min-width: 120px;
}
input[type=radio] {
  vertical-align: sub;
}
.contact-grid {
  display: grid;
  grid-template-columns: 0.4fr 1fr 1fr;
  grid-template-rows: repeat(3, 1fr);
  row-gap: min(2vw, 22px);
  column-gap: min(3.5vw, 50px);
  align-items: center;
  width: 100%;
}
.contact-grid > p {
  min-width: 68.5px;
  padding-left: 20px;
}
.contact-radio-flex label, .contact-radio-flex, .input[type=radio] {
  display: flex;
  accent-color: #EB730B;
  padding: 0 min(0.5vw, 10px) 0 2.56%;
}
.mwform-checkbox-field label, .mwform-radio-field label{
  font-weight: 100!important;  
}
.contact-select {
  display: inline-flex;
  align-items: center;
  position: relative;
}
.contact-select::after {
  position: absolute;
  right: min(2vw, 15px);
  width: min(1.3vw, 17px);
  height: min(0.75vw, 9px);
  background-color: var(--border-color);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: '';
}
.contact-form form table tr th {
  text-align: left;
}
.form-input input[type='text'], .contact-form textarea, input[type="email"] {
  font: var(--font15);
  box-sizing: border-box;
  width: 100%;
  padding: 1em;
  padding-left: 20px;
  letter-spacing: 1px;
  border-bottom: 1px solid var(--border-color);
}
.contact-form select {
  border-bottom: 1px solid var(--border-color);
  padding: min(0.5vw, 10px);
  width: 100%;
  font: var(--font15);
  font-weight: 300;
}
.contact-radio {
  display: flex !important;
  flex-direction: column;
}
.contact-radio-flex {
  padding: min(1vw, 15px) min(0.5vw, 10px) min(1vw, 15px) 2.56%;
  width: 35%;
  min-width: 190px;
  flex-wrap: wrap;
}
.contact-form .contact-era {
  width: 35%;
  min-width: 190px;
  padding-left: 2.56%;
}
.contact-radio label {
  padding: min(1vw, 15px) min(0.5vw, 10px) min(1vw, 15px) 2.56%;
  display: flex;
  accent-color: #EB730B;
}
.contact-form textarea {
  border: 1px solid var(--border-color);
  padding: min(0.5vw, 10px) min(2vw, 25px);
}
.form-input input:focus {
  outline: none;
}
.form-input input:focus::after {
  outline: none;
}
.form-input input:focus {
  border-bottom: 2px solid #000;
  outline: none;
  transition: 0.3s;
}
.contact-thanks-p {
  width: 74%;
  margin: 0 auto;
}
/*-- mw wp form ----------*/
.mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0 !important;
}
.mw_wp_form .contact-select {
  font: var(--font15);
  box-sizing: border-box;
  width: 100%;
  padding: 1em;
  padding-left: 20px;
  letter-spacing: 1px;
  border-bottom: 1px solid var(--border-color) !important;
}
.mw_wp_form .contact-select option {
  font-weight: 100 !important;
}
.mw_wp_form .contact-grid div {
  position: relative;
}
.mw_wp_form .contact-grid div::after, .mw_wp_form .contact-era::after {
  position: absolute;
  right: min(2vw, 15px);
  width: min(1.3vw, 17px);
  height: min(0.75vw, 9px);
  background-color: var(--border-color);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: '';
  top: 50%;
}
.mw_wp_form .contact-era {
  width: 35% !important;
  min-width: 190px;
  padding-left: 2.56%;
  position: relative;
}
.mw_wp_form .contact-radio-flex {
  gap: 0;
}
.mw_wp_form .contact-radio-flex label {
  padding: min(1vw, 8px) 0;
}
.mw_wp_form .contact-radio-flex label:first-child{
    margin-right: 20px;
}

.h-adr > span, .h-adr > p, .mw_wp_form .contact-radio-flex br {
  display: none;
}
input:-internal-autofill-selected {
  background-color: var(--border-color) !important;
}
.mw_wp_form_confirm .contact-symbol, .mw_wp_form_confirm .contact-grid div::after, .mw_wp_form_confirm .contact-era::after {
  display: none;
}
.mw_wp_form_confirm tr {
  position: relative;
  display: flex;
  align-items: center;
  padding: min(2vw, 15px) 0;
}
.mw_wp_form_confirm tr::after {
  content: "";
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 0;
  border-bottom: dotted 2px var(--main-color);
}
.mw_wp_form .error {
  width: 100%;
}
.mw_wp_form_confirm td .contact-era {
  padding-left: 0;
}
.mw_wp_form_confirm .contact-radio-flex {
  display: contents !important;
}
@media screen and (max-width: 759.98px) {
  #contact-form form {
    padding: min(14.5vw, 80px) min(6.6vw, 40px);
  }
  #contact-form form th, #contact-form form td {
    display: block;
  }
  #contact-form form th, .contact-select select {
    width: 100%;
    min-width: inherit;
  }
  .contact-select::after {
    right: min(5vw, 30px);
    width: min(4.6vw, 30px);
    height: min(2vw, 16px);
  }
  .contact-grid > p, #contact-form form th {
    padding-left: 0;
    padding-bottom: min(3vw, 20px);
  }
  .contact-select, .contact-radio-flex {
    display: flex !important;
    margin-bottom: min(3vw, 20px);
    width: 100%;
    flex-flow: row-reverse;
    justify-content: flex-end;
  }
  .contact-form select {
    margin-bottom: min(2vw, 15px);
  }
  .contact-grid > p {
    margin-top: min(5.5vw, 60px);
  }
  .form-input input[type='text'], .contact-form textarea {
    padding-left: min(1vw, 7px);
  }
  .contact-radio input[type=radio] {
    position: relative;
    top: 1.28vw;
  }
  .contact-radio-flex input[type=radio] {
    position: relative;
    top: 0.5vw;
  }
  .contact-radio label {
    padding: min(1vw, 8px) 0;
    display: flex;
    align-items: baseline;
  }
  .contact-radio label input {
    min-width: 3.8vw;
    margin: 0 min(2vw, 15px) 0 0;
  }
  .contact-radio-flex label {
    margin-right: min(8vw, 50px);
    padding: 0;
  }
  .contact-thanks-p {
    width: 80%;
  }
  .mw_wp_form_confirm tr {
    display: block;
  }
  #contact-form form th, #contact-form form td {
    max-width: 100%;
    width: 72.81vw;
  }
  .mw_wp_form_confirm .contact-radio-flex label {
    display: initial;
    margin-left: min(-2vw, -13px);
  }
}
/*--------------------------------------
下層 よくある質問ページ page-faq.php
--------------------------------------*/
/*--  ----------*/
.qa_wrap {
  width: 90%;
  margin: 0 auto 8%;
}
.qa_innner {
  padding: 35px 0 0 0;
}
.qa_innner dt, .qa_innner dd {
  position: relative;
  margin: 0;
  display: flex;
  align-items: center;
}
.qa_innner dt {
  font-weight: bold;
  padding-bottom: 14px;
  border-bottom: dotted 2px #FFDED9;
  font-size: var(--font18);
}
.qa_innner dd {
  padding-top: 14px;
}
.qa_innner dd + dt {
  margin-top: 1em;
}
.circle_width {
  width: 4.4%;
  height: 4.4%;
  border-radius: 50%;
  margin-right: min(1.3vw, 15px);
  background-color: var(--main-color);
  margin-left: min(4vw, 47px);
}
.qa_innner dt .circle_width {
  background-color: #FFDED9;
}
.circle_width > div {
  position: relative;
  padding-top: 100%;
  height: 0;
}
.circle_width > div > p {
  position: absolute;
  top: calc((100% - 1em)/1.98);
  left: 0;
  right: 0;
  margin: 0;
  text-align: center;
  font-size: var(--font18);
  color: #fff;
  font-weight: bold;
  line-height: 1;
  font-family: "Roboto", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}
@media screen and (max-width: 759.98px) {
  .qa_wrap {
    width: 100%;
  }
  .qa_innner dt, .qa_innner dd {
    padding: 1em 0.5em;
    display: flex;
    align-items: center;
  }
  .qa_innner dd {
    align-items: flex-start;
  }
  .qa_innner {
    padding: min(2vw, 20px) 0 0 0;
  }
  .circle_width {
    min-width: 12%;
    min-height: 12%;
    margin-right: min(3.3vw, 15px);
    margin-left: min(1vw, 15px);
  }
}
/*--------------------------------------
下層 サイトマップページ page-sitemap.php
--------------------------------------*/
/*--  ----------*/
.sitemap-navi {
  display: flex;
  flex-wrap: wrap;
  row-gap: min(5.5vw, 55px);
  margin-bottom: min(120px, 10%);
  justify-content: space-between;
}
.sitemap-small-en {
  font-size: clamp(10px, 0.5vw, 15px);
  color: var(--main-color);
  font-family: "Goldenbook";
  line-height: 2;
}
.sitemap-navi-item {
  width: 19.8%;
  margin-left: 5.2%;
}
.sitemap-navi-item h3 {
  font-size: var(--font20);
  font-weight: 500;
  letter-spacing: 1.5px;
  position: relative;
  padding-bottom: 0.6em;
}
.sitemap-navi-item h3::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  display: inline-block;
  width: 100%;
  height: 1px;
  background-color: var(--border-color);
}
.sitemap-navi ul {
  margin-top: min(3vw, 20px);
  line-height: 2.2;
}
.sitemap-navi ul li a {
  font-size: var(--font14);
  font-weight: 300;
  letter-spacing: 1.5px;
}
.sitemap-navi ul li a:hover {
  color: var(--main-color);
}
@media screen and (max-width: 759.98px) {
  .sitemap-navi {
    row-gap: min(16.5vw, 46px);
  }
  .sitemap-navi-item {
    width: 90vw;
    margin-left: 0;
  }
  .sitemap-navi-item h3 {
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
    justify-content: flex-end;
  }
  .sitemap-navi-item .sitemap-small-en {
    margin-left: min(4vw, 15px);
    font-size: clamp(10px, 3vw, 20px);
  }
}
/*--------------------------------------
下層 PLANページ page-plan_enter.php   plan_shortstay.php   plan_daycare.php
--------------------------------------*/
#plan-service .bg-orenge {
  margin-top: min(6.9vw, 100px);
}
/*-- サービスの特徴 ----------*/
#plan-service .sec_maxwidth .sec_container, #plan-apply .sec_container, #plan-price .font18 {
  margin-bottom: min(5.5vw, 55px);
}
#plan-price {
  padding-bottom: min(14.5vw, 80px);
}
#plan-price .icon-ttl img, #plan-apply .icon-ttl img {
  width: 4.2vw;
  max-width: 40.8px;
}
.plan-service-wrap, .plan-service {
  margin-top: min(5.2vw, 75px);
}
.plan-border_contents_frame > div {
  min-height: 100%;
  display: inline-block;
  padding: min(0.8vw, 10px) min(2.2vw, 25px) min(3.6vw, 50px);
  position: relative;
  transition: all .7s ease;
  box-sizing: border-box;
}
.plan-border_contents_frame div h4 {
  color: var(--main-color);
  text-align: center;
  margin-bottom: min(2.2vw, 25px);
  font-style: italic;
}
.plan-border_contents_frame .border_contents_img {
  text-align: center;
}
.plan-border_contents_frame .border_contents_img img {
  max-height: 110px;
  margin: 0 auto min(3vw, 20px);
  max-width: inherit;
}
.plan-border_contents_frame div p {
  text-align: left;
}
/*-- ご利用料金について ----------*/
.plan_doublet_wrap .font_nomal span {
  font-size: var(--font12);
}
.plan-price {
  text-align: center;
}
.plan-price a {
  display: inline-block;
  border: 1px solid var(--main-color);
}
.plan-price .pop-up-txt {
  display: flex;
  justify-content: center;
  margin-top: min(3vw, 18px);
}
/*-- 二重線ボタン --*/
.plan_btn {
  max-width: 310px;
  width: 25.4vw;
  background-color: var(--main-color);
  max-height: 60px;
  height: 5vw;
  display: flex;
  align-items: center;
  margin: min(42px, 4vw) auto 0 auto;
}
.plan_btn .btn_inline {
  outline: 1px solid #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.plan_btn_txts {
  display: flex;
  width: 100%;
  justify-content: center;
  align-items: center;
}
.plan_btn_txts p {
  color: #fff;
  margin: 0;
}
.plan_btn_txts div {
  margin: 0 0 0 min(3vw, 8px);
}
.plan_btn_txts div img {
  width: 1.8vw;
  max-width: 22px;
  vertical-align: sub;
}
.plan_btn .btn_inline > span::after, .plan_btn .btn_inline > span::before {
  position: absolute;
  content: "";
  background-color: var(--main-color);
}
/*-- 申し込み方法 ----------*/
/* 吹きだし ライン*/
.callout-line {
  position: relative;
  padding: 1rem;
  border-bottom: 1px solid #333;
  background-color: #fff;
  color: #333;
  margin: min(3vw, 18px) 0;
}
.callout-line:before {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: skew(-35deg);
  height: min(1.7vw, 20px);
  width: min(1.7vw, 20px);
  border-right: 1px solid #333;
  background-color: #fff;
  content: "";
}
.plan-apply-step-wrap {
  display: flex;
  align-items: flex-start;
  column-gap: min(9.5vw, 58px);
  margin-top: min(4.8vw, 65px);
  padding: 0 min(8vw, 60px);
}
.plan-apply-step-wrap div h5 {
  font-size: var(--font24);
  color: #F2C49D;
  font-weight: 900;
  font-family: "Noto Sans JP";
  text-align: center;
}
.plan-apply-step-wrap div h4 {
  font-size: var(--font24);
  color: var(--main-color);
  font-weight: bold;
  margin-bottom: 2em;
}
.plan-apply-step-wrap div img {
  width: 12vw;
  max-width: 144px;
  min-width: 128px;
  margin-top: min(3vw, 18px);
}
.plan-apply-step-wrap div p {
  letter-spacing: 1.15px;
  font-family: "Noto Sans JP";
}
.plan-apply-step-flex {
  display: flex;
  column-gap: min(6.2vw, 100px);
}
.plan-apply-step-flex .btn_wrap {
  max-width: 100%;
  width: 50%;
}
@media screen and (max-width: 759.98px) {
  .plan-service-wrap, .plan-service {
    margin-top: min(18.2vw, 96px);
  }
  #plan-price .icon-ttl img, #plan-apply .icon-ttl img {
    width: 13.5vw;
    max-width: 30.5px;
  }
  .plan_btn {
    max-width: 100%;
    width: 82.8vw;
    height: 10vw;
    margin: min(7vw, 80px) auto;
  }
  .plan-price a, .plan-price a img {
    width: 100%;
  }
  #plan-price .pop-up-txt {
    display: none;
  }
  .plan_btn_txts div img {
    width: 3.9vw;
    min-width: 12px;
    vertical-align: middle;
  }
  .plan-apply-step-wrap, .plan-apply-step-flex {
    display: block;
    margin-top: min(9.6vw, 120px);
    padding: 0;
  }
  .plan-apply-step-wrap div:first-of-type {
    text-align: center;
  }
  .plan-apply-step-wrap div h4 {
    margin: 0.8em 0;
  }
  .plan-apply-step-wrap div img {
    width: 38.03vw;
    max-width: 226px;
    margin-bottom: min(9.6vw, 120px);
  }
  .plan-apply-step-flex .btn_wrap {
    width: 80%;
    margin-top: min(5vw, 22px);
  }
  .plan-apply-step-wrap {
    margin-bottom: min(9.6vw, 120px);
  }
  .callout-line:before {
    left: 46.8%;
  }
  .plan-apply-step-wrap div h5 {
    margin-top: min(11vw, 40px);
  }
  .callout-line:before {
    left: 47.5%;
    height: min(3.6vw, 30px);
    width: min(3.6vw, 30px);
  }
  .plan-border_contents_frame .border_contents_img img {
    object-fit: contain;
  }
  #plan-service .icon-ttl h3, #plan-apply .icon-ttl h3, #plan-price .icon-ttl h3 {
    font-size: clamp(24px, 7.4vw, 38px);
  }
}
@media screen and (max-width: 300.98px) {
  .plan_btn_txts div img {
    vertical-align: inherit;
  }
}
/*--------------------------------------
下層 〇〇ページ page-〇〇.php
--------------------------------------*/
/*--  ----------*/
#plan-price {
padding-top: min(120px, 10%);
margin-top: min(-120px, -10%);
}
#rehabili{
  padding-top: 3.5vw;
}