@charset "UTF-8";
@font-face {
  font-family: "noto-serif";
  font-weight: 300;
  src: url(../fonts/Noto_Serif_JP/static/NotoSerifJP-Light.ttf) format("truetype");
}
@font-face {
  font-family: "noto-serif";
  font-weight: 400;
  src: url(../fonts/Noto_Serif_JP/static/NotoSerifJP-Regular.ttf) format("truetype");
}
@font-face {
  font-family: "noto-serif";
  font-weight: 500;
  src: url(../fonts/Noto_Serif_JP/static/NotoSerifJP-Medium.ttf) format("truetype");
}
@font-face {
  font-family: "noto-sans";
  font-weight: 400;
  src: url(../fonts/Noto_Sans_JP/static/NotoSansJP-Regular.ttf) format("truetype");
}
@font-face {
  font-family: "noto-sans";
  font-weight: 200;
  src: url(../fonts/Noto_Sans_JP/static/NotoSansJP-ExtraLight.ttf) format("truetype");
}

@font-face {
  font-family: "noto-sans";
  font-weight: 300;
  src: url(../fonts/Noto_Sans_JP/static/NotoSansJP-Light.ttf) format("truetype");
}
@font-face {
  font-family: "bask";
  font-weight: 400;
  src: url(../fonts/Cormorant_Garamond/static/CormorantGaramond-Regular.ttf) format("truetype");
}
@font-face {
  font-family: "bask";
  font-weight: 600;
  src: url(../fonts/Cormorant_Garamond/static/CormorantGaramond-SemiBold.ttf) format("truetype");
}
/*------------------
　　共通設定
------------------*/
body {
  font-size: var(--fontSize_pc19);
  font-family: "noto-sans", sans-serif;
  font-weight: 300;
  color: #fff;
  line-height: 1.6;
  font-feature-settings: "palt";
  letter-spacing: 0;
  background-color: #222222;
  -moz-text-size-adjust: 100%;
       text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; /* Safari */
}

.t-center {
  text-align: center;
}

.t-right {
  text-align: right;
}

.t-upper {
  text-transform: uppercase;
}

input[type=text], input[type=email], input[type=tel], textarea {
  width: 100%;
  font-size: inherit;
  font-weight: inherit;
  font-family: inherit;
  padding: 0.7em 1.4em;
  letter-spacing: 0;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 1px solid #222;
  background-color: transparent;
}

input::-moz-placeholder, textarea::-moz-placeholder {
  color: rgba(34, 34, 34, 0.5);
}

input::placeholder, textarea::placeholder {
  color: rgba(34, 34, 34, 0.5);
}

input[type=checkbox] {
  position: relative;
  width: 1.78em;
  height: 1.78em;
  border: 1px solid #222;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin-right: 10px;
}

input[type=checkbox]:checked::before {
  position: absolute;
  top: 10%;
  left: 35%;
  transform: rotate(50deg);
  width: 30%;
  height: 50%;
  border-right: 1px solid #222;
  border-bottom: 1px solid #222;
  content: "";
}

select {
  width: 100%;
  padding: 0.7em 1.4em;
  border: none;
  font-size: inherit;
  font-weight: inherit;
  font-family: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  border-radius: 0;
  background-color: transparent;
  border: 1px solid #222;
}

.selectWrap {
  position: relative;
  width: 100%;
}
.selectWrap::before {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 2;
  right: 1.4vw;
  top: 50%;
  width: 1em;
  height: 0.5em;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  background-color: #222;
  transform: translateY(-50%);
}

textarea {
  min-height: 11.8em;
  border-radius: 0;
}

label {
  display: flex;
  align-items: center;
}

picture {
  display: block;
}
picture img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.file-upload {
  position: relative;
}

.file-upload__input {
  position: absolute;
  clip: rect(0 0 0 0);
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.file-upload__btn {
  display: inline-block;
  line-height: 3.2;
  padding: 0 1.86em;
  background-color: transparent;
  cursor: pointer;
  border-radius: 0.5lh;
  border: 1px solid #222;
}

.file-upload__filename {
  margin-left: 10px;
}

@media only screen and (min-width: 1025px) {
  .tb {
    display: none;
  }
}
@media only screen and (max-width: 1024px) {
  .n_tb {
    display: none;
  }
  body {
    font-size: var(--fontSize_sp14);
  }
  input[type=text], input[type=email], input[type=tel], textarea, select {
    padding: 0.85em 1.4em;
  }
  .selectWrap::before {
    right: 1.4em;
  }
}
@media only screen and (min-width: 769px) {
  .sp {
    display: none;
  }
}
@media only screen and (max-width: 768px) {
  .pc {
    display: none;
  }
}
/*------------------
  フォントサイズ管理
------------------*/
:root {
  --fontSize_pc13: clamp(11px, 0.67708333vw, 15px);
  --fontSize_pc14: clamp(12px, 0.7291666vw, 16px);
  --fontSize_pc15: clamp(13px, 0.78125vw, 17px);
  --fontSize_pc16: clamp(10px, 0.83333vw, 18px);
  --fontSize_pc17: clamp(15px, 0.88541666vw, 19px);
  --fontSize_pc18: clamp(14px, 0.9375vw, 22px);
  --fontSize_pc19: clamp(14px, 0.98958333vw, 23px);
  --fontSize_pc20: clamp(15px, 1.0416666vw, 26px);
  --fontSize_pc21: clamp(15px, 1.09375vw, 27px);
  --fontSize_pc22: clamp(15px, 1.1458333vw, 28px);
  --fontSize_pc23: clamp(15px, 1.19791vw, 28px);
  --fontSize_pc24: clamp(16px, 1.25vw, 30px);
  --fontSize_pc25: clamp(16px, 1.30208333vw, 31px);
  --fontSize_pc26: clamp(18px, 1.35416666vw, 32px);
  --fontSize_pc27: clamp(18px, 1.40625vw, 32px);
  --fontSize_pc28: clamp(20px, 1.458333vw, 34px);
  --fontSize_pc29: clamp(20px, 1.51041666vw, 34px);
  --fontSize_pc30: clamp(20px, 1.5625vw, 34px);
  --fontSize_pc31: clamp(20px, 1.6145833vw, 36px);
  --fontSize_pc32: clamp(22px, 1.6666vw, 36px);
  --fontSize_pc33: clamp(22px, 1.71875vw, 38px);
  --fontSize_pc34: clamp(24px, 1.7708333vw, 38px);
  --fontSize_pc35: clamp(24px, 1.8229166vw, 38px);
  --fontSize_pc36: clamp(26px, 1.875vw, 38px);
  --fontSize_pc37: clamp(26px, 1.927vw, 38px);
  --fontSize_pc38: clamp(26px, 1.9792vw, 40px);
  --fontSize_pc39: clamp(28px, 2.03125vw, 42px);
  --fontSize_pc40: clamp(28px, 2.083333vw, 48px);
  --fontSize_pc41: clamp(30px, 2.1354166vw, 48px);
  --fontSize_pc42: clamp(30px, 2.1875vw, 50px);
  --fontSize_pc43: clamp(30px, 2.2395833vw, 52px);
  --fontSize_pc44: clamp(30px, 2.291666vw, 52px);
  --fontSize_pc45: clamp(30px, 2.34375vw, 54px);
  --fontSize_pc46: clamp(24px, 2.3958333vw, 54px);
  --fontSize_pc47: clamp(30px, 2.44791666vw, 56px);
  --fontSize_pc48: clamp(30px, 2.5vw, 58px);
  --fontSize_pc49: clamp(30px, 2.552vw, 58px);
  --fontSize_pc50: clamp(32px, 2.60416666vw, 60px);
  --fontSize_pc53: clamp(32px, 2.76041666vw, 63px);
  --fontSize_pc55: clamp(32px, 2.8645vw, 65px);
  --fontSize_pc60: clamp(30px, 3.125vw, 72px);
  --fontSize_pc66: clamp(45px, 3.4375vw, 78px);
  --fontSize_pc70: clamp(52px, 3.64583333vw, 82px);
  --fontSize_pc73: clamp(52px, 3.8vw, 85px);
  --fontSize_pc83: clamp(70px, 4.322196666vw, 90px);
  --fontSize_pc86: clamp(60px, 4.4791vw, 92px);
  --fontSize_pc89: clamp(76px, 4.635416666vw, 100px);
  --fontSize_sp10: clamp(10px, 2.5641vw, 16px);
  --fontSize_sp11: clamp(11px, 2.82051vw, 14px);
  --fontSize_sp12: clamp(10px, 3.076923vw, 18px);
  --fontSize_sp13: clamp(13px, 3.333333vw, 16px);
  --fontSize_sp14: clamp(13px, 3.58974vw, 20px);
  --fontSize_sp15: clamp(14px, 3.8461538vw, 18px);
  --fontSize_sp16: clamp(15px, 4.102564102vw, 22px);
  --fontSize_sp17: clamp(15px, 4.3589vw, 35px);
  --fontSize_sp18: clamp(16px, 4.6153846vw, 36px);
  --fontSize_sp19: clamp(16px, 4.8718vw, 38px);
  --fontSize_sp20: clamp(18px, 5.1282vw, 40px);
  --fontSize_sp21: clamp(19px, 5.3846153vw, 26px);
  --fontSize_sp22: clamp(20px, 5.641025vw, 27px);
  --fontSize_sp23: clamp(21px, 5.897435vw, 28px);
  --fontSize_sp24: clamp(22px, 6.15384615vw, 29px);
  --fontSize_sp25: clamp(23px, 6.41vw, 30px);
  --fontSize_sp26: clamp(24px, 6.66666666vw, 48px);
  --fontSize_sp30: clamp(28px, 7.6923076vw, 36px);
  --fontSize_sp32: clamp(28px, 8.2051282051vw, 55px);
  --fontSize_sp35: clamp(30px, 8.9743vw, 42px);
  --fontSize_sp38: clamp(36px, 9.743589vw, 70px);
  --fontSize_sp40: clamp(38px, 10.25641vw, 50px);
  --fontSize_sp45: clamp(43px, 11.53846153vw, 55px);
  --fontSize_sp50: clamp(48px, 12.82051282vw, 60px);
  --fontSize_sp60: clamp(58px, 15.38461538vw, 78px);
  --fontSize_sp77: clamp(75px, 19.743589vw, 100px);
}

/*===============================
         bl-topSecTtl
===============================*/
.bl-topSecTtl {
  font-size: var(--fontSize_pc86);
  font-family: "bask", sans-serif;
  font-weight: 400;
  line-height: 1.5;
}
.bl-topSecTtl._black {
  color: #222;
}

@media only screen and (max-width: 1024px) {
  .bl-topSecTtl {
    font-size: var(--fontSize_sp32);
  }
}
/*===============================
         bl-topLinkBtns
===============================*/
.bl-topLinkBtn {
  font-size: var(--fontSize_pc24);
  font-family: "bask", sans-serif;
  line-height: 2.22;
  border: 1px solid #fff;
  padding: 0 1em;
  display: grid;
  grid-template-columns: auto auto;
  width: -moz-fit-content;
  width: fit-content;
  align-items: center;
}
.bl-topLinkBtn span {
  transform: translateY(2%);
}
.bl-topLinkBtn img {
  margin-left: 0.55em;
  width: 2.3em;
  grid-column: 2/3;
  grid-row: 1/2;
}
.bl-topLinkBtn img._hover {
  opacity: 0;
}
.bl-topLinkBtn._black {
  color: #222;
  border: 1px solid #222;
}
@media only screen and (min-width: 1025px) {
  .bl-topLinkBtn {
    transition: 0.3s;
  }
  .bl-topLinkBtn img {
    transition: 0.3s;
  }
  .bl-topLinkBtn:hover {
    color: #57C2DD;
    border: 1px solid #57C2DD;
  }
  .bl-topLinkBtn:hover img._hover {
    opacity: 1;
  }
  .bl-topLinkBtn:hover img._normal {
    opacity: 0;
  }
}

@media only screen and (max-width: 1024px) {
  .bl-topLinkBtn {
    font-size: var(--fontSize_sp16);
  }
}
/*===============================
         js-para
===============================*/
.bl-paraImg {
  position: relative;
  aspect-ratio: 1440/460;
  overflow: hidden;
  background-position: 50% 100%;
  background-size: cover;
}

.md-topParaImg {
  background-image: url(../images/top/top_parallax.jpg);
}

.md-abtParaImg {
  background-image: url(../images/about/abt_para.jpg);
}

@media only screen and (max-width: 1024px) {
  .bl-paraImg {
    aspect-ratio: 320/200;
  }
  .md-topParaImg {
    background-image: url(../images/top/top_parallax_sp.jpg);
  }
  .md-abtParaImg {
    background-image: url(../images/about/abt_para_sp.jpg);
  }
}
/*===============================
         bl-lowerTtl
===============================*/
.bl-lowerTtl_en {
  font-size: var(--fontSize_pc60);
  font-family: "bask", sans-serif;
  font-weight: 400;
  line-height: 1.5;
}

.bl-lowerTtl_jp {
  font-size: var(--fontSize_pc18);
  font-weight: 400;
  line-height: 1.5;
}

@media only screen and (max-width: 1024px) {
  .bl-lowerTtl_en {
    font-size: var(--fontSize_sp32);
  }
  .bl-lowerTtl_jp {
    font-size: var(--fontSize_sp12);
  }
}
/*===============================
         md-head
===============================*/
.md-head_contWrap {
  position: relative;
  color: #222;
  height: 100%;
}

.md-head_logo {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 27.7vw;
}
.md-head_logo h1, .md-head_logo div {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
}
.md-head_logo img {
  grid-column: 1/2;
  grid-row: 1/2;
  transition: 0.3s;
}
.md-head_logo ._white {
  opacity: 0;
}
.md-head_logo.is-white-scroll ._white, .md-head_logo.is-white-menu ._white {
  opacity: 1;
}
.md-head_logo.is-white-scroll ._black, .md-head_logo.is-white-menu ._black {
  opacity: 0;
}
.md-head_logo._center {
  position: relative;
  display: block;
  margin: 1vw auto 0.8vw auto;
  transform: none;
  width: 23vw;
}
.md-head_logo._center ._white {
  opacity: 1;
}
.md-head_logo._center ._black {
  opacity: 0;
}

.md-head_rightWrap {
  position: absolute;
  right: 0;
  top: 0;
  display: flex;
  align-items: center;
  gap: 2.1vw;
}

.md-head_telWrap {
  font-size: var(--fontSize_pc46);
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  height: 2.3em;
  border: 1px solid #222;
  padding: 0 0.45em;
  transition: 0.3s;
}
.md-head_telWrap span:first-child {
  font-family: "noto-serif", serif;
	font-size: var(--fontSize_pc32);
  letter-spacing: 0.05em;
  line-height: 1.1;
}
.md-head_telWrap span:last-child {
  font-size: var(--fontSize_pc16);
  font-family: "noto-serif", serif;
  letter-spacing: 0.05em;
  line-height: 1.2;
}
.md-head_telWrap.is-white-scroll, .md-head_telWrap.is-white-menu {
  color: #fff;
  border: 1px solid #fff;
}

.md-head_menuIcon {
  width: 3.125vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.md-head_menuIcon span, .md-head_menuIcon div {
  transition: 0.3s;
}
.md-head_menuIcon ._line {
  width: 100%;
  height: 1px;
  background-color: #222;
}
.md-head_menuIcon ._line + ._line {
  margin-top: 0.625vw;
}
.md-head_menuIcon ._txt {
  text-transform: uppercase;
  font-family: "bask", sans-serif;
  font-size: var(--fontSize_pc16);
  font-weight: 600;
  letter-spacing: 0.02em;
  margin-top: 0.78125vw;
  line-height: 1;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
}
.md-head_menuIcon ._txt span {
  grid-column: 1/2;
  grid-row: 1/2;
}
.md-head_menuIcon ._txt ._close {
  opacity: 0;
}
.md-head_menuIcon.is-white-scroll ._line, .md-head_menuIcon.is-white-menu ._line {
  background-color: #fff;
}
.md-head_menuIcon.is-white-scroll ._txt, .md-head_menuIcon.is-white-menu ._txt {
  color: #fff;
}
.md-head_menuIcon.js-menu_open ._txt ._menu {
  opacity: 0;
}
.md-head_menuIcon.js-menu_open ._txt ._close {
  opacity: 1;
}
.md-head_menuIcon.js-menu_open ._line:first-child {
  transform: translateY(calc(0.625vw + 1px)) rotate(40deg);
}
.md-head_menuIcon.js-menu_open ._line:nth-child(2) {
  transform: scaleX(0);
}
.md-head_menuIcon.js-menu_open ._line:nth-child(3) {
  transform: translateY(calc(-0.625vw - 1px)) rotate(-40deg);
}

.md-nav_list._head {
  display: flex;
  justify-content: center;
  gap: 2vw;
}
.md-nav_list._head .md-nav_item ._jp {
  color: #fff;
}
.md-nav_list._head .md-nav_item {
  text-align: center;
}
.md-nav_list._head .md-nav_item + .md-nav_item {
  margin-top: 0;
}

@media only screen and (min-width: 1281px) {
  .md-head_rightWrap.tb {
    display: none;
  }
}
@media only screen and (min-width: 1025px) {
  .md-head_telWrap._sp {
    display: none;
  }
}
@media only screen and (max-width: 1280px) {
  .md-head_logo._center {
    position: absolute;
    margin: unset;
    transform: translateY(-50%);
    width: 27.7vw;
  }
  .md-head_logo._center ._white {
    opacity: 0;
  }
  .md-head_logo._center ._black {
    opacity: 1;
  }
  .md-head_logo._center.is-white-scroll ._white, .md-head_logo._center.is-white-menu ._white {
    opacity: 1;
  }
  .md-head_logo._center.is-white-scroll ._black, .md-head_logo._center.is-white-menu ._black {
    opacity: 0;
  }
  .md-nav_list._head {
    display: none;
  }
	.md-head_telWrap span:first-child{
		font-size: 24px; 
	}
	.md-head_telWrap span:last-child{
		font-size: 12px;
	}
}
@media only screen and (max-width: 1024px) {
  .md-head_logo {
    width: 62.5vw;
    max-width: 250px;
  }
  .md-head_logo._center {
    transform: translateY(-50%);
    width: 62.5vw;
  }
  .md-head_rightWrap .md-head_telWrap {
    display: none;
  }
  .md-head_rightWrap {
    top: 50%;
    transform: translateY(-50%);
  }
  .md-head_menuIcon {
    width: 35px;
    color: inherit;
  }
  .md-head_menuIcon.js-menu_open ._line:first-child {
    transform: translateY(8px) rotate(25deg);
  }
  .md-head_menuIcon.js-menu_open ._line:nth-child(2) {
    transform: scaleX(0);
  }
  .md-head_menuIcon.js-menu_open ._line:nth-child(3) {
    transform: translateY(-10px) rotate(-25deg);
  }
  .md-head_menuIcon ._line + ._line {
    margin-top: 8px;
  }
  .md-head_menuIcon ._txt {
    font-size: 10px;
    margin-top: 6px;
  }
  .md-head_telWrap {
    font-size: var(--fontSize_sp35);
    border: 1px solid #fff;
    height: 2.2em;
  }
  .md-head_telWrap span:last-child {
    font-size: var(--fontSize_sp14);
  }
}
/*===============================
         md-nav
===============================*/
.md-nav_contWrap {
  padding: 21vh 4.5vw 4vh 4.5vw;
  height: 100%;
}
.md-nav_contWrap ._scrollWrap {
  width: 100%;
  height: 100%;
  overflow-y: auto;
  max-width: 800px;
  margin: 0 auto;
}
.md-nav_contWrap ._scrollWrap::-webkit-scrollbar {
  width: 6px;
}
.md-nav_contWrap ._scrollWrap::-webkit-scrollbar-track {
  background: transparent;
  border-radius: 3px;
}
.md-nav_contWrap ._scrollWrap::-webkit-scrollbar-thumb {
  background: #fff;
  border-radius: 3px;
}
.md-nav_contWrap ._scrollWrap::-webkit-scrollbar-thumb:hover {
  opacity: 0.7;
}
.md-nav_contWrap ._scrollWrap::-webkit-scrollbar-thumb:active {
  opacity: 0.7;
}

.md-nav_item span {
  display: block;
}
.md-nav_item ._en {
  font-size: var(--fontSize_pc16);
  font-family: "bask", sans-serif;
  line-height: 1;
  color: #57C2DD;
}
.md-nav_item ._jp {
  font-size: var(--fontSize_pc18);
  line-height: 1.4;
}
.md-nav_item + .md-nav_item {
  margin-top: 3.3vh;
}
@media only screen and (min-width: 1025px) {
  .md-nav_item ._jp {
    transition: 0.3s;
  }
  .md-nav_item a:hover ._jp {
    color: #57C2DD;
  }
}

@media only screen and (max-width: 1024px) {
  .md-nav_contWrap {
    padding: 10vh 4.7vw 6.6vh 4.7vw;
  }
  .md-nav_list {
    margin-top: 4.2vh;
  }
  .md-nav_item ._en {
    font-size: var(--fontSize_sp14);
    font-weight: 400;
  }
  .md-nav_item ._jp {
    font-size: var(--fontSize_sp15);
    font-weight: 400;
  }
  .md-nav_item + .md-nav_item {
    margin-top: 3vh;
  }
}
/*===============================
         md-topFv
===============================*/
.md-loadingBg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.md-loadingBg {
  position: fixed;
  background-color: #fff;
  z-index: 101;
}

.md-topFv_contWrap {
  position: relative;
  height: 100%;
  width: 100%;
}

.md-topFv_txtWrap {
  position: absolute;
	left: 50%;
  bottom: 16.4%;
  font-size: var(--fontSize_pc60);
	transform: translateX(-50%);
  font-weight: 300;
  color: #fff;
  line-height: 1.5;
  font-family: "noto-serif", serif;
	width: max-content;
}

.md-topFv_img {
  position: absolute;
  right: 0;
  top: 18.6%;
  width: 9.17vw;
}

.md-head_telWrap._topFv {
  position: absolute;
  right: 0;
  bottom: 5.56vh;
  font-size: var(--fontSize_pc42);
	border: 1px solid #fff;
}
.md-head_telWrap._topFv span:last-child {
  font-size: var(--fontSize_pc16);
}

@media only screen and (max-width: 1280px) {
  .md-head_telWrap._topFv {
    display: none;
  }
}
@media only screen and (max-width: 1024px) {
  .md-topFv_txtWrap {
    bottom: 47%;
    font-size: var(--fontSize_sp26);
  }
  .md-topFv_img {
    width: 30.625vw;
    top: 15%;
  }
}
/*===============================
         md-topNews
===============================*/
.md-topNews_ttlWrap {
  margin-bottom: 1.38vw;
}

.md-topNews_link {
  margin-top: 4.3vw;
  margin-left: auto;
}

@media only screen and (min-width: 1025px) {
  .md-news_box:hover .md-news_imgWrap::before {
    opacity: 0.3;
  }
}

.md-news_contWrap {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  -moz-column-gap: 2.1vw;
       column-gap: 2.1vw;
  row-gap: 3.5vw;
}

.md-news_imgWrap {
  position: relative;
  aspect-ratio: 298/372;
  margin-bottom: 15px;
}
.md-news_imgWrap img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.md-news_imgWrap::before {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 2;
  pointer-events: none;
  background-color: #fff;
  opacity: 0;
  transition: 0.3s;
}

.md-newsTtl_date {
  font-size: var(--fontSize_pc16);
  font-weight: 400;
  margin-bottom: 0.4em;
}

.md-newsTtl_cat {
  font-size: var(--fontSize_pc16);
  line-height: 2em;
  background-color: #fff;
  color: #222;
  padding: 0 0.9em;
  display: inline-block;
}
.md-newsTtl_cat._lower {
  background-color: #222;
  color: #fff;
}

.md-newsTtl_new {
  font-size: var(--fontSize_pc16);
  font-family: "bask", sans-serif;
  line-height: 2em;
  border: 1px solid #57C2DD;
  color: #57C2DD;
  padding: 0 0.9em;
  display: inline-block;
  margin-left: 0.83em;
}

.md-newsTtl_ttl {
  margin-top: 1.14em;
}

@media only screen and (max-width: 1024px) {
  .md-news_contWrap.swiper {
    padding: 0 4.7vw;
  }
  .md-news_contWrap.swiper .swiper-horizontal > .swiper-pagination-bullets, .md-news_contWrap.swiper .swiper-pagination-bullets.swiper-pagination-horizontal, .md-news_contWrap.swiper .swiper-pagination-custom, .md-news_contWrap.swiper .swiper-pagination-fraction {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 20px;
    gap: 4.6vw;
  }
  .md-news_contWrap.swiper .swiper-pagination-bullet {
    width: 3.125vw;
    height: 3.125vw;
    max-width: 20px;
    max-height: 20px;
    background-color: #fff;
    opacity: 1;
  }
  .md-news_contWrap.swiper .swiper-pagination-bullet-active {
    background-image: linear-gradient(to bottom, #57C2DD, #E0FCFE);
  }
  .md-news_swiperBtn_prev, .md-news_swiperBtn_next {
    position: absolute;
    top: 33%;
    background-color: rgba(255, 255, 255, 0.7);
    width: 10vw;
    height: 10vw;
    border-radius: 50%;
    z-index: 2;
  }
  .md-news_swiperBtn_prev::before, .md-news_swiperBtn_next::before {
    position: absolute;
    content: "";
    display: block;
    top: 50%;
    left: 50%;
    width: 20%;
    height: 20%;
    border-left: 1px solid #222;
    border-bottom: 1px solid #222;
    transform: translate(-25%, -50%) rotate(45deg);
  }
  .md-news_swiperBtn_prev {
    left: 5vw;
    transform: translateX(-50%);
  }
  .md-news_swiperBtn_next {
    right: 5vw;
    transform: translateX(50%) rotate(180deg);
  }
  .md-news_imgWrap {
    margin-bottom: 10px;
  }
  .md-newsTtl_date {
    font-size: var(--fontSize_sp14);
  }
  .md-newsTtl_cat, .md-newsTtl_new {
    font-size: var(--fontSize_sp14);
  }
  .md-newsTtl_ttl {
    margin-top: 0.8em;
  }
  .md-topNews_link {
    display: none;
  }
  .md-news_contWrap._lower {
    display: block;
    padding: 0 4.6vw;
  }
  .md-news_contWrap._lower .md-news_box {
    display: block;
  }
  .md-news_contWrap._lower .md-news_box + .md-news_box {
    margin-top: 12.5vw;
  }
}
/*===============================
         md-newsSingle
===============================*/
.md-newsSingle_contWrap {
  padding-left: 32.9vw;
}
.md-newsSingle_contWrap h2 {
  font-size: var(--fontSize_pc33);
  font-family: "noto-serif", serif;
}

.md-menuSingle_linkWrap._news {
  margin-top: 6.9vw;
}

.md-single_slider.swiper .swiper-slide img {
  width: 100%;
}
.md-single_slider.swiper .swiper-horizontal > .swiper-pagination-bullets, .md-single_slider.swiper .swiper-pagination-bullets.swiper-pagination-horizontal, .md-single_slider.swiper .swiper-pagination-custom, .md-single_slider.swiper .swiper-pagination-fraction {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 30px;
  gap: 1vw;
}
.md-single_slider.swiper .swiper-pagination-bullet {
  width: 0.7vw;
  height: 0.7vw;
  max-width: 20px;
  max-height: 20px;
  background-color: #fff;
  opacity: 1;
}
.md-single_slider.swiper .swiper-pagination-bullet-active {
  background-image: linear-gradient(to bottom, #57C2DD, #E0FCFE);
}

.md-single_swiperBtn_prev, .md-single_swiperBtn_next {
  position: absolute;
  top: 40%;
  background-color: rgba(255, 255, 255, 0.7);
  width: 2.8vw;
  height: 2.8vw;
  border-radius: 50%;
  z-index: 2;
  cursor: pointer;
}
.md-single_swiperBtn_prev::before, .md-single_swiperBtn_next::before {
  position: absolute;
  content: "";
  display: block;
  top: 50%;
  left: 50%;
  width: 20%;
  height: 20%;
  border-left: 1px solid #222;
  border-bottom: 1px solid #222;
  transform: translate(-25%, -50%) rotate(45deg);
}

.md-single_swiperBtn_prev {
  left: 3vw;
  transform: translateX(-50%);
}

.md-single_swiperBtn_next {
  right: 3vw;
  transform: translateX(50%) rotate(180deg);
}

@media only screen and (max-width: 1024px) {
  .md-newsSingle_contWrap {
    padding-left: 0;
  }
  .md-newsSingle_contWrap h2 {
    font-size: var(--fontSize_sp18);
  }
  .md-menuSingle_linkWrap._news {
    margin-top: 15.625vw;
  }
  .md-single_slider.swiper {
    padding: 0 4.7vw;
  }
  .md-single_slider.swiper .swiper-horizontal > .swiper-pagination-bullets, .md-single_slider.swiper .swiper-pagination-bullets.swiper-pagination-horizontal, .md-single_slider.swiper .swiper-pagination-custom, .md-single_slider.swiper .swiper-pagination-fraction {
    margin-top: 20px;
    gap: 4.6vw;
  }
  .md-single_slider.swiper .swiper-pagination-bullet {
    width: 3.125vw;
    height: 3.125vw;
  }
  .md-single_swiperBtn_prev, .md-single_swiperBtn_next {
    width: 10vw;
    height: 10vw;
  }
  .md-single_swiperBtn_prev {
    left: 5vw;
  }
  .md-single_swiperBtn_next {
    right: 5vw;
  }
}
/*===============================
         md-topMenu
===============================*/
.md-topMenu_ttl {
  margin-bottom: 1.4vw;
}

.md-topMenu_contWrap + .md-topMenu_contWrap {
  margin-top: 6.9vw;
}
.md-topMenu_contWrap ._enTtl {
  font-size: var(--fontSize_pc53);
  font-family: "bask", sans-serif;
  line-height: 1.5;
  color: #222;
}
.md-topMenu_contWrap ._jpTtl {
  font-size: var(--fontSize_pc18);
  line-height: 1.5;
  color: #222;
}

.md-topMenu_linkWrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 2.1vw;
  margin-top: 1.4vw;
}

.md-topMenu_link {
  position: relative;
  width: 100%;
  aspect-ratio: 625/230;
  background-color: #EDEDED;
}
@media only screen and (min-width: 1025px) {
  .md-topMenu_link:hover ._bg::before {
    opacity: 0.3;
  }
}
.md-topMenu_link ._bg {
  position: relative;
}
.md-topMenu_link ._bg img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 100% 50%;
     object-position: 100% 50%;
}
.md-topMenu_link ._bg::before {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 2;
  pointer-events: none;
  background-color: #fff;
  opacity: 0;
  transition: 0.3s;
}
.md-topMenu_link ._txtWrap {
  position: absolute;
  top: 50%;
  left: 2.4vw;
  transform: translateY(-50%);
  z-index: 3;
}
.md-topMenu_link ._txtWrap ._en {
  font-family: "bask", sans-serif;
  font-size: var(--fontSize_pc18);
  line-height: 2;
  padding: 0 0.78em;
  background-color: #222;
  color: #fff;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 1.4vw;
}
.md-topMenu_link ._txtWrap ._jp {
  font-size: var(--fontSize_pc40);
  display: block;
  font-family: "noto-serif", serif;
  line-height: 1.5;
  font-weight: 500;
  color: #222;
  margin-bottom: 1.5vw;
}
.md-topMenu_link ._txtWrap ._arrow {
  font-size: var(--fontSize_pc18);
  color: #222;
  font-family: "bask", sans-serif;
  line-height: 1;
  display: flex;
  align-items: center;
}
.md-topMenu_link ._txtWrap ._arrow img {
  width: 3em;
  margin-left: 0.4em;
}

.md-topMenu_lowerLink {
  margin-top: 3.5vw;
  margin-left: auto;
}

@media only screen and (max-width: 1024px) {
  .md-topMenu_contWrap ._enTtl {
    font-size: var(--fontSize_sp26);
  }
  .md-topMenu_contWrap ._jpTtl {
    font-size: var(--fontSize_sp12);
  }
  .md-topMenu_linkWrap {
    display: block;
    margin-top: 6.25vw;
  }
  .md-topMenu_linkWrap a {
    display: block;
  }
  .md-topMenu_linkWrap a + a {
    margin-top: 4.7vw;
  }
  .md-topMenu_link ._txtWrap {
    left: 5vw;
  }
  .md-topMenu_link ._txtWrap ._en {
    font-size: var(--fontSize_sp10);
    margin-bottom: 0.6em;
  }
  .md-topMenu_link ._txtWrap ._jp {
    font-size: var(--fontSize_sp20);
    margin-bottom: 0.6em;
  }
  .md-topMenu_link ._txtWrap ._arrow {
    font-size: var(--fontSize_sp10);
    align-items: center;
  }
  .md-topMenu_link ._txtWrap ._arrow img {
    width: 2em;
  }
  .md-topMenu_lowerLink {
    margin-top: 9.375vw;
  }
  .md-topMenu_contWrap + .md-topMenu_contWrap {
    margin-top: 9.375vw;
  }
}
/*===============================
         md-acc
===============================*/
.md-acc_contWrap {
  display: grid;
  grid-template-columns: 1fr 53vw;
  gap: 6.9vw;
}

.md-acc_logo {
  width: 100%;
}
.md-acc_logo img {
  display: block;
  width: 100%;
}

.md-acc_info {
  margin-top: 4.1vw;
  padding-left: 3.3vw;
}

.md-acc_link {
  margin-top: 5.2vw;
  margin-left: 3.3vw;
  font-size: var(--fontSize_pc21);
  font-family: "noto-serif", serif;
  line-height: 2.5;
  display: flex;
  align-items: center;
  padding: 0 1.18em;
  border: 1px solid #fff;
  width: -moz-fit-content;
  width: fit-content;
}
.md-acc_link img {
  width: 2em;
  margin-right: 0.3em;
}

.md-acc_mapWrap iframe {
  width: 100%;
  height: 100%;
}

@media only screen and (max-width: 1024px) {
  .md-acc_contWrap {
    display: block;
  }
  .md-acc_logo {
    width: 62.5vw;
  }
  .md-acc_info {
    margin-top: 9.375vw;
  }
  .md-acc_mapWrap {
    margin-top: 1lh;
    height: 140vw;
  }
  .md-acc_link {
    font-size: var(--fontSize_sp14);
  }
  .md-acc_link img {
    width: 3em;
    margin-right: 0.5em;
  }
}
/*===============================
         md-acc
===============================*/
.md-rsv_contWrap {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.md-rsv_link {
  position: relative;
  padding: 3.3vw 5.1vw 3.3vw 5.9vw;
  background-image: linear-gradient(to right, #E0FCFE, #57C2DD);
  color: #222;
  display: flex;
  align-items: center;
  gap: 8.8vw;
}
.md-rsv_link::before {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 2;
  pointer-events: none;
  background-color: #fff;
  opacity: 0;
  transition: 0.3s;
}
@media only screen and (min-width: 1025px) {
  .md-rsv_link:hover::before {
    opacity: 0.3;
  }
}
.md-rsv_link > span, .md-rsv_link ._arrow {
  position: relative;
  z-index: 3;
}
.md-rsv_link > span {
  font-size: var(--fontSize_pc21);
  font-family: "noto-serif", serif;
  font-weight: 500;
  line-height: 1.5;
  min-width: 10em;
}
.md-rsv_link ._arrow {
  font-size: var(--fontSize_pc24);
  font-family: "bask", sans-serif;
  line-height: 2.2;
  border: 1px solid #222;
  display: flex;
  align-items: center;
  padding: 0 1em;
}
.md-rsv_link ._arrow img {
  width: 2.3em;
  margin-left: 0.55em;
}
.md-rsv_link._2row {
  margin-top: 3.125vw;
  gap: 6.8vw;
}

@media only screen and (max-width: 1024px) {
  .md-rsv_contWrap {
    width: 100%;
  }
  .md-rsv_link {
    padding: 3.125vw 4.7vw;
    width: 100%;
    justify-content: end;
  }
  .md-rsv_link > span {
    display: none;
  }
  .md-rsv_link ._arrow {
    font-size: var(--fontSize_sp16);
    line-height: 2.2;
  }
  .md-rsv_link._2row {
    margin-top: 0;
  }
  .md-rsv_spTxt {
    font-family: "noto-serif", serif;
    font-weight: 500;
    margin-bottom: 0.5em;
  }
  .md-rsv_spTxt._2row {
    margin-top: 6.25vw;
  }
}
/*===============================
         md-foot
===============================*/
.md-foot_contwrap {
  padding: 0 3.1vw;
  display: flex;
  align-items: center;
}

.md-foot_logoWrap {
  width: -moz-max-content;
  width: max-content;
  margin-right: 21.5vw;
}
.md-foot_logoWrap ._link {
  width: 11.1vw;
  display: block;
  margin: 0 auto;
  margin-bottom: 3.6vw;
}
.md-foot_logoWrap ._bottomTxt {
  font-family: "bask", sans-serif;
  text-align: center;
}

.md-foot_infoWrap {
  padding-left: 4.5vw;
  border-left: 1px solid #fff;
  display: flex;
  align-items: center;
  gap: 4.8vw;
}
.md-foot_infoWrap ._snsWrap {
  display: grid;
  grid-template-rows: repeat(3, 1fr);
  grid-template-columns: 1fr;
  gap: 2.1vw;
}
.md-foot_infoWrap ._snsWrap a {
  width: 3.47vw;
  aspect-ratio: 1/1;
}
@media only screen and (min-width: 1025px) {
  .md-foot_infoWrap ._snsWrap a {
    transition: 0.3s;
  }
  .md-foot_infoWrap ._snsWrap a:hover {
    opacity: 0.6;
  }
}
.md-foot_infoWrap ._txtWrap {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1.4vw;
}
.md-foot_infoWrap ._address {
  font-size: var(--fontSize_pc16);
  letter-spacing: 0.005em;
}
.md-foot_infoWrap ._mapLink {
  display: grid;
  align-items: center;
  grid-template-columns: auto auto;
  width: -moz-fit-content;
  width: fit-content;
  font-size: var(--fontSize_pc24);
  font-family: "bask", sans-serif;
}
.md-foot_infoWrap ._mapLink img {
  width: 2.33em;
  margin-left: 0.5em;
  grid-row: 1/2;
  grid-column: 2/3;
  transition: 0.3s;
}
.md-foot_infoWrap ._mapLink img._hover {
  opacity: 0;
}
.md-foot_infoWrap ._policy {
  font-size: var(--fontSize_pc24);
  font-family: "bask", sans-serif;
}
@media only screen and (min-width: 1025px) {
  .md-foot_infoWrap ._mapLink, .md-foot_infoWrap ._policy {
    transition: 0.3s;
  }
  .md-foot_infoWrap ._mapLink:hover, .md-foot_infoWrap ._policy:hover {
    color: #57C2DD;
  }
  .md-foot_infoWrap ._mapLink:hover ._normal, .md-foot_infoWrap ._policy:hover ._normal {
    opacity: 0;
  }
  .md-foot_infoWrap ._mapLink:hover ._hover, .md-foot_infoWrap ._policy:hover ._hover {
    opacity: 1;
  }
}

.md-head_telWrap._foot {
  border: 1px solid #fff;
}

@media only screen and (max-width: 1024px) {
  .md-foot_contwrap {
    display: block;
    padding: 0;
  }
  .md-foot_contwrap ._bottomTxt {
    font-size: var(--fontSize_sp10);
    font-family: "bask", sans-serif;
    text-align: center;
    margin-top: 12.5vw;
    line-height: 2;
  }
  .md-foot_logoWrap {
    margin: 0 auto;
    width: 100%;
  }
  .md-foot_logoWrap ._link {
    display: block;
    width: 31.25vw;
  }
  .md-foot_logoWrap ._bottomTxt {
    display: none;
  }
  .md-foot_infoWrap {
    padding-left: 0;
    border: none;
    flex-direction: column-reverse;
    margin-top: 15.625vw;
    gap: 7.5vw;
  }
  .md-head_telWrap._foot {
    width: 100%;
  }
  .md-foot_infoWrap ._address {
    font-size: var(--fontSize_sp14);
    margin-top: 6.25vw;
  }
  .md-foot_infoWrap ._mapLink {
    margin-top: 2.8vw;
    font-size: var(--fontSize_sp16);
  }
  .md-foot_infoWrap ._policy {
    margin-top: 2vw;
    font-size: var(--fontSize_sp16);
  }
  .md-foot_infoWrap ._snsWrap {
    display: flex;
    gap: 9.375vw;
  }
  .md-foot_infoWrap ._snsWrap a {
    width: 11.875vw;
    max-width: 60px;
    display: flex;
    align-items: center;
  }
}
/*===============================
         md-lower_page
===============================*/
.md-lower_page {
  padding-top: 3.5vw;
  font-size: var(--fontSize_pc18);
  font-weight: 300;
  font-family: "bask", sans-serif;
  background-color: #DDDDDD;
  color: #222;
}

@media only screen and (max-width: 1024px) {
  .md-lower_page {
    padding-top: 2.6vw;
    font-size: var(--fontSize_sp10);
  }
}
/*===============================
         md-abt
===============================*/
.md-abt_contWrap {
  padding-right: 8vw;
  display: grid;
  grid-template-columns: 1fr 47.9vw;
}

.md-abt_rightWrap {
  padding-top: 5.56vw;
}

.md-abt_box ._num {
  font-size: var(--fontSize_pc18);
  font-family: "bask", sans-serif;
  line-height: 1.7;
  padding: 0 0.8em;
  width: -moz-fit-content;
  width: fit-content;
  background-color: #222;
  color: #fff;
  text-align: center;
  margin-bottom: 10px;
}
.md-abt_box + .md-abt_box {
  margin-top: 4.2vw;
}

.md-abt_lTxt, .md-abt_sTxt {
  padding-left: 2.8vw;
}

.md-abt_lTxt {
  font-size: var(--fontSize_pc33);
  font-family: "noto-serif", serif;
  line-height: 1.5;
  margin-bottom: 10px;
}

@media only screen and (max-width: 1024px) {
  .md-abt_contWrap {
    display: block;
    padding-right: 0;
  }
  .md-abt_rightWrap {
    padding-top: 9.375vw;
  }
  .md-abt_box ._num {
    font-size: var(--fontSize_sp11);
    line-height: 2.1;
    padding: 0 1em;
  }
  .md-abt_box + .md-abt_box {
    margin-top: 7.8vw;
  }
  .md-abt_lTxt, .md-abt_sTxt {
    padding-left: 9.375vw;
  }
  .md-abt_lTxt {
    font-size: var(--fontSize_sp18);
  }
}
/*===============================
         md-news
===============================*/
.md-news_selectWrap {
  padding-top: 3.5vw;
  padding-bottom: 3.5vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.md-news_catWrap {
  display: flex;
  flex-wrap: wrap;
  gap: 1.4vw;
}
.md-news_catWrap a {
  padding: 0 1em;
  line-height: 2;
  background-color: #fff;
}
.md-news_catWrap a._current {
  background-color: #222;
  color: #fff;
}

.md-news_pagination .wp-pagenavi .pages,
.md-news_pagination .wp-pagenavi .last, .md-news_pagination .wp-pagenavi .first {
  display: none;
}

.md-news_pagination {
  margin-top: 6.9vw;
}
.md-news_pagination .wp-pagenavi {
  display: flex;
  justify-content: center;
  font-size: var(--fontSize_pc24);
  font-family: "bask", sans-serif;
  gap: 2.8vw;
}
.md-news_pagination .wp-pagenavi a, .md-news_pagination .wp-pagenavi span {
  padding: 0;
  border: none;
  margin: 0;
}
@media only screen and (min-width: 1025px) {
  .md-news_pagination .wp-pagenavi a, .md-news_pagination .wp-pagenavi span {
    transition: 0.2s;
  }
  .md-news_pagination .wp-pagenavi a:hover, .md-news_pagination .wp-pagenavi span:hover {
    color: #57C2DD;
  }
}
.md-news_pagination .wp-pagenavi .pages, .md-news_pagination .wp-pagenavi .prev, .md-news_pagination .wp-pagenavi .next {
  display: none;
}
.md-news_pagination .wp-pagenavi a + a, .md-news_pagination .wp-pagenavi a + span, .md-news_pagination .wp-pagenavi span + a {
  margin: 0;
}

.md-news_pagination .wp-pagenavi .previouspostslink,
.md-news_pagination .wp-pagenavi .nextpostslink {
  width: 2.3em;
  aspect-ratio: 42/6;
  position: relative;
}
.md-news_pagination .wp-pagenavi .previouspostslink::before, .md-news_pagination .wp-pagenavi .previouspostslink::after,
.md-news_pagination .wp-pagenavi .nextpostslink::before,
.md-news_pagination .wp-pagenavi .nextpostslink::after {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  top: 0;
  left: 0;
}
.md-news_pagination .wp-pagenavi .previouspostslink::before,
.md-news_pagination .wp-pagenavi .nextpostslink::before {
  background-image: url(../images/random/arrow.png);
}
.md-news_pagination .wp-pagenavi .previouspostslink::after,
.md-news_pagination .wp-pagenavi .nextpostslink::after {
  background-image: url(../images/random/arrow_blue.png);
  opacity: 0;
}
@media only screen and (min-width: 1025px) {
  .md-news_pagination .wp-pagenavi .previouspostslink::before, .md-news_pagination .wp-pagenavi .previouspostslink::after,
  .md-news_pagination .wp-pagenavi .nextpostslink::before,
  .md-news_pagination .wp-pagenavi .nextpostslink::after {
    transition: 0.2s;
  }
  .md-news_pagination .wp-pagenavi .previouspostslink:hover::before,
  .md-news_pagination .wp-pagenavi .nextpostslink:hover::before {
    opacity: 0;
  }
  .md-news_pagination .wp-pagenavi .previouspostslink:hover::after,
  .md-news_pagination .wp-pagenavi .nextpostslink:hover::after {
    opacity: 1;
  }
}

.md-news_pagination .wp-pagenavi .previouspostslink {
  transform: scaleX(-1);
}

.md-news_searchForm, .md-news_supervisorForm {
  display: flex;
  align-items: center;
  font-size: var(--fontSize_pc18);
}
.md-news_searchForm input, .md-news_supervisorForm input {
  flex: 1;
  padding: 1em 1.2em;
  line-height: 1.3;
  height: 3.3em;
}
.md-news_searchForm button, .md-news_supervisorForm button {
  width: 7.86em;
  background-color: #222;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  padding: 1em 1.2em;
  line-height: 1.3;
  height: 3.3em;
  font-size: inherit;
}
.md-news_searchForm button img, .md-news_supervisorForm button img {
  margin-left: 5px;
  width: 1.7em;
}
.md-news_searchForm select, .md-news_supervisorForm select {
  color: #222;
}

.md-news_searchForm {
  margin-bottom: 20px;
}

.md-news_supervisorForm ._select {
  position: relative;
  width: 100%;
}
.md-news_supervisorForm ._select::before {
  position: absolute;
  content: "";
  display: block;
  width: 3.2em;
  height: 100%;
  right: 0;
  top: 0;
  background-color: #222;
}
.md-news_supervisorForm ._select::after {
  position: absolute;
  content: "";
  display: block;
  width: 0.5em;
  aspect-ratio: 1/1;
  border-left: 1px solid #fff;
  border-bottom: 1px solid #fff;
  transform: translate(50%, -75%) rotate(-45deg);
  top: 50%;
  right: 1.6em;
}
.md-news_supervisorForm ._select::before, .md-news_supervisorForm ._select::after {
  pointer-events: none;
}

.md-news_serch {
  width: 29vw;
  min-width: 420px;
}
.md-news_serch._menu {
  margin-left: auto;
}

@media only screen and (max-width: 1024px) {
  .md-news_selectWrap {
    padding-top: 6.25vw;
    padding-bottom: 15.6vw;
    flex-direction: column;
    align-items: start;
  }
  .md-news_pagination {
    margin-top: 15.625vw;
  }
  .md-news_pagination .wp-pagenavi {
    font-size: var(--fontSize_sp20);
    gap: 12.5vw;
  }
  .md-news_catWrap {
    gap: 6.25vw;
  }
  .md-news_serch {
    margin-top: 20px;
    min-width: unset;
    width: 100%;
  }
  .md-news_searchForm, .md-news_supervisorForm {
    font-size: var(--fontSize_sp12);
  }
  .md-news_searchForm {
    margin-bottom: 10px;
  }
}
/*===============================
         md-dct
===============================*/
.md-dct_contWrap {
  display: grid;
  padding-right: 8vw;
  grid-template-columns: 1fr 47.9vw;
}

.md-dct_img {
  aspect-ratio: 478/717;
  width: 33.2vw;
  margin-bottom: 3.47vw;
}

.md-dct_box ._ttl {
  padding: 0 0.78em;
  line-height: 1.7;
  background-color: #222;
  color: #fff;
  margin-bottom: 0.7em;
  width: -moz-fit-content;
  width: fit-content;
}
.md-dct_box ._nameJp {
  font-size: var(--fontSize_pc33);
  font-family: "noto-serif", serif;
  line-height: 1.5;
}
.md-dct_box ._nameEn {
  font-family: "bask", sans-serif;
  font-size: var(--fontSize_pc14);
  line-height: 1.5;
  margin-bottom: 1.3em;
}
.md-dct_box + .md-dct_box {
  margin-top: 3.47vw;
}

.md-dct_boxPad {
  padding-left: 2.78vw;
}
.md-dct_sTxt+.md-dct_sTxt{
	margin-top: 1lh;
}
.md-dct_guidanceImg{
	margin-top: 2lh;
}
.md-dct_sTxt, .md-dct_dl, .md-dct_ul {
  line-height: 1.8;
}

.md-dct_dl {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1em;
}

.md-dct_ul li {
  display: flex;
}
.md-dct_ul li span {
  margin-right: 0.5em;
}

.md-acc_link._dct {
  border: 1px solid #222;
  margin-top: 5.5vw;
}
.md-acc_link._dct + .md-acc_link._dct {
  margin-top: 2.1vw;
}

@media only screen and (max-width: 1024px) {
  .md-dct_contWrap {
    display: block;
    padding-right: 0;
  }
  .md-dct_rightWrap {
    margin-top: 6.25vw;
  }
  .md-dct_img {
    aspect-ratio: 290/435;
    width: 100%;
    margin-bottom: 9.375vw;
  }
  .md-dct_box ._ttl {
    font-size: var(--fontSize_sp12);
    padding: 0 1em;
    line-height: 2;
    margin-bottom: 2em;
  }
  .md-dct_box ._nameJp {
    font-size: var(--fontSize_sp19);
  }
  .md-dct_box ._nameEn {
    font-size: var(--fontSize_sp10);
    margin-bottom: 1em;
  }
  .md-dct_box + .md-dct_box {
    margin-top: 6.25vw;
  }
  .md-dct_boxPad {
    padding-left: 9.375vw;
  }
  .md-dct_sTxt, .md-dct_dl, .md-dct_ul {
    line-height: 1.6;
  }
  .md-acc_link._dct {
    margin-top: 15.625vw;
    margin-left: 0;
  }
  .md-acc_link._dct + .md-acc_link._dct {
    margin-top: 6.25vw;
  }
}
/*===============================
         md-stf
===============================*/
.md-stf_boxWrap {
  margin-top: 6.9vw;
  padding-left: 4.86vw;
  padding-right: 8vw;
}

.md-stf_box {
  display: grid;
  grid-template-columns: 25.5vw 1fr;
  gap: 2.6vw;
}
.md-stf_box.md-stf_box {
  margin-top: 6.9vw;
}

.md-stf_txtWrap ._post {
  padding: 0 0.78em;
  line-height: 1.7;
  background-color: #222;
  color: #fff;
  margin-bottom: 0.7em;
  width: -moz-fit-content;
  width: fit-content;
}

.md-stf_nameWrap, .md-stf_sTxt {
  padding-left: 2.8vw;
}

.md-stf_nameWrap {
  display: grid;
  align-items: center;
  grid-template-columns: max-content auto;
  grid-template-rows: auto auto;
  -moz-column-gap: 2.8vw;
       column-gap: 2.8vw;
  margin-bottom: 1.25vw;
}
.md-stf_nameWrap ._nameJp {
  font-size: var(--fontSize_pc33);
  font-family: "noto-serif", serif;
  line-height: 1.5;
  grid-row: 1/2;
  grid-column: 1/2;
}
.md-stf_nameWrap ._nameEn {
  font-family: "bask", sans-serif;
  font-size: var(--fontSize_pc14);
  line-height: 1.5;
  grid-row: 2/3;
  grid-column: 1/2;
}
.md-stf_nameWrap ._link {
  grid-row: 1/3;
  grid-column: 2/3;
  font-size: var(--fontSize_pc24);
  font-family: "bask", sans-serif;
  line-height: 2.2;
  width: 5em;
  text-align: center;
  border: 1px solid #222;
}

.md-stf_sTxt {
  line-height: 1.8;
}

@media only screen and (max-width: 1024px) {
  .md-stf_boxWrap {
    margin-top: 6.25vw;
    padding: 0;
  }
  .md-stf_box {
    display: block;
  }
  .md-stf_box + .md-stf_box {
    margin-top: 12.5vw;
  }
  .md-stf_img {
    margin-bottom: 6.25vw;
  }
  .md-stf_nameWrap, .md-stf_sTxt {
    padding-left: 0;
  }
  .md-stf_txtWrap ._post {
    font-size: var(--fontSize_sp12);
    padding: 0 1em;
    line-height: 2;
    margin-bottom: 2em;
  }
  .md-stf_nameWrap {
    -moz-column-gap: 3.75vw;
         column-gap: 3.75vw;
    margin-bottom: 3.125vw;
  }
  .md-stf_nameWrap ._nameJp {
    font-size: var(--fontSize_sp19);
  }
  .md-stf_nameWrap ._nameEn {
    font-size: var(--fontSize_sp10);
  }
  .md-stf_nameWrap ._link {
    font-size: var(--fontSize_sp14);
    line-height: 2.16;
    width: 4.3em;
  }
  .md-stf_nameWrap + .md-dct_box {
    margin-top: 6.25vw;
  }
  .md-stf_sTxt {
    line-height: 1.6;
  }
}
/*===============================
         md-menu
===============================*/
.md-menu_contWrap {
  padding-top: 6.9vw;
  padding-left: 33vw;
  padding-right: 8vw;
}

.md-menu_box .md-topMenu_link {
  position: relative;
  width: 100%;
  aspect-ratio: 690/230;
  cursor: pointer;
}
.md-menu_box .md-topMenu_link::before {
  position: absolute;
  content: "";
  display: block;
  width: 1px;
  height: 2.9vw;
  background-color: #222;
  bottom: 0;
  left: 3.5vw;
  z-index: 3;
}
.md-menu_box + .md-menu_box {
  margin-top: 2.1vw;
}

.md-menu_list {
  background-color: #222;
  color: #fff;
  padding: 2.3vw 2.4vw;
  line-height: 1.5;
}
.md-menu_list li + li {
  margin-top: 0.5em;
}

.md-menu_listCat {
  padding-bottom: 2.1vw;
  border-bottom: 1px solid #fff;
}
.md-menu_listCat ._cat {
  background-color: #fff;
  color: #222;
  padding: 0 0.8em;
  line-height: 1.7;
  margin-bottom: 0.7em;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
}
.md-menu_listCat + .md-menu_listCat {
  padding-top: 2.1vw;
}
.md-menu_listCat:last-child {
  padding-bottom: 0;
  border: none;
}
.md-menu_listCat.is-last {
  border-bottom: none;
}

@media only screen and (max-width: 1024px) {
  .md-menu_contWrap {
    padding: 0;
    padding-top: 6.25vw;
  }
  .md-menu_box ._bg {
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
    height: 100%;
  }
  .md-menu_box ._bg img {
    -o-object-position: 100% 50%;
       object-position: 100% 50%;
  }
  .md-menu_box .md-topMenu_link {
    aspect-ratio: 290/105;
  }
  .md-menu_box .md-topMenu_link::before {
    height: 3.125vw;
    left: 9.375vw;
  }
  .md-menu_box + .md-menu_box {
    margin-top: 9.375vw;
  }
  .md-menu_list {
    padding: 6.25vw 4.7vw;
    line-height: 3;
  }
  .md-menu_listCat {
    padding-bottom: 10px;
  }
  .md-menu_listCat ._cat {
    padding: 0 0.37em;
    line-height: 1.7;
    margin-bottom: 10px;
  }
  .md-menu_listCat + .md-menu_listCat {
    padding-top: 20px;
  }
}
/*===============================
         md-menuSingle
===============================*/
.md-menuSingle_contWrap {
  padding-right: 8vw;
}

.md-menuSingle_ttl ._ttl {
  font-size: var(--fontSize_pc40);
  font-family: "noto-serif", serif;
  line-height: 1.5;
  margin-bottom: 0.5em;
}
.md-menuSingle_ttl ._en {
  display: block;
  line-height: 1.7;
  padding: 0 0.8em;
  background-color: #222;
  color: #fff;
  width: -moz-fit-content;
  width: fit-content;
  font-family: "bask", sans-serif;
}

.md-menuSingle_txtWrap {
  padding-left: 33vw;
}

.md-menuSingle_box ._ttl {
  font-size: var(--fontSize_pc40);
  font-family: "noto-serif", serif;
  margin-bottom: 0.76em;
}
.md-menuSingle_box ._ttl._en {
  font-family: "bask", sans-serif;
}
.md-menuSingle_box ._sTxt {
  line-height: 1.8;
}
.md-menuSingle_box + .md-menuSingle_box {
  margin-top: 4.2vw;
}
.md-menuSingle_box img {
  width: 100%;
}

.md-menuSingle_linkWrap {
  display: grid;
  grid-template-columns: repeat(3, 12em);
  justify-content: space-between;
  margin-top: 4.2vw;
}
.md-menuSingle_linkWrap a {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--fontSize_pc24);
  font-family: "bask", sans-serif;
  line-height: 1;
  padding: 0.6em 1em;
  border: 1px solid #222;
  gap: 0.56em;
  width: -moz-fit-content;
  width: fit-content;
}
.md-menuSingle_linkWrap a img {
  width: 2.3em;
}
.md-menuSingle_linkWrap ._prev {
  grid-column: 1/2;
}
.md-menuSingle_linkWrap ._prev img {
  transform: scaleX(-1);
}
.md-menuSingle_linkWrap ._back {
  grid-column: 2/3;
}
.md-menuSingle_linkWrap ._next {
  grid-column: 3/4;
}

@media only screen and (max-width: 1024px) {
  .md-menuSingle_contWrap {
    padding-right: 0;
  }
  .md-menuSingle_ttl ._ttl {
    font-size: var(--fontSize_sp20);
    margin-bottom: 0.56em;
  }
  .md-menuSingle_ttl ._en {
    line-height: 2;
    padding: 0 0.9em;
    font-size: var(--fontSize_sp12);
  }
  .md-menuSingle_txtWrap {
    padding-left: 0;
    margin-top: 9.375vw;
  }
  .md-menuSingle_box ._ttl {
    font-size: var(--fontSize_sp18);
    line-height: 1.5;
    margin-bottom: 0.625em;
  }
  .md-menuSingle_box ._sTxt {
    line-height: 1.6;
  }
  .md-menuSingle_box + .md-menuSingle_box {
    margin-top: 9.375vw;
  }
  .md-menuSingle_linkWrap {
    grid-template-columns: repeat(3, auto);
    grid-template-rows: repeat(2, 1fr);
    margin-top: 15.625vw;
    row-gap: 9.375vw;
  }
  .md-menuSingle_linkWrap a {
    font-size: var(--fontSize_sp16);
    padding: 0.75em 1em;
    gap: 0.6em;
    width: -moz-fit-content;
    width: fit-content;
  }
  .md-menuSingle_linkWrap a img {
    width: 2.57em;
  }
  .md-menuSingle_linkWrap ._prev {
    grid-column: 1/2;
    grid-row: 1/2;
  }
  .md-menuSingle_linkWrap ._next {
    grid-column: 3/4;
    grid-row: 1/2;
  }
  .md-menuSingle_linkWrap ._back {
    grid-column: 1/4;
    grid-row: 2/3;
    margin: 0 auto;
  }
}
/*===============================
         md-prc
===============================*/
.md-prc_topWrap {
  margin-top: 6.9vw;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.1vw;
}

.md-prc_topBox {
  padding: 2.1vw 2.1vw 3.125vw 2.4vw;
  border: 1px solid #222;
}
.md-prc_topBox ._ttl {
  display: block;
  line-height: 1.7;
  padding: 0 0.8em;
  background-color: #222;
  color: #fff;
  width: -moz-fit-content;
  width: fit-content;
  font-family: "bask", sans-serif;
  margin-bottom: 1.4em;
}
.md-prc_topBox li {
  display: flex;
  gap: 0.5em;
}

.md-prc_selectWrap {
  margin-top: 5.1vw;
  display: grid;
  grid-template-columns: 37.9vw 29.2vw;
  justify-content: space-between;
}

.md-prc_catWrap ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1.4vw;
}
.md-prc_catWrap ul li {
  height: 1.7em;
}
.md-prc_catWrap ul a {
  display: block;
  line-height: 1.7;
  padding: 0 0.8em;
  width: -moz-fit-content;
  width: fit-content;
  font-family: "bask", sans-serif;
  margin-bottom: 1.4em;
  background-color: #fff;
}
.md-prc_catWrap ul a.current {
  background-color: #222;
  color: #fff;
}

.md-prc_listWrap {
  margin-top: 3.125vw;
}

.md-prc_listTtl {
  position: relative;
  font-size: var(--fontSize_pc40);
  font-weight: 500;
  font-family: "noto-serif", serif;
  line-height: 1.5;
  padding-top: 2.1vw;
  padding-bottom: 2vw;
  border-bottom: 1px solid #222;
  cursor: pointer;
}
.md-prc_listTtl::before {
  position: absolute;
  content: "";
  display: block;
  width: 1.5vw;
  height: 1.5vw;
  bottom: 30%;
  right: 1.4vw;
  border-top: 1px solid #222;
  border-left: 1px solid #222;
  transform: rotate(-135deg);
  transition: 0.3s;
}
.md-prc_listTtl.active::before {
  transform: translateY(50%) rotate(45deg);
}

.md-prc_list {
  padding: 2.4vw 3.5vw 3.125vw 3.5vw;
  background-color: #222;
  color: #fff;
  line-height: 3.2;
}
.md-prc_list ._catWrap {
  padding-top: 1em;
  padding-bottom: 1em;
}
.md-prc_list ._catWrap table {
  width: 100%;
}
.md-prc_list ._catWrap th {
  width: 22.6vw;
  text-align: left;
}
.md-prc_list ._catWrap td:first-of-type{
	text-align: right;
} 
.md-prc_list ._catWrap td:last-child {
  text-align: right;
}
.md-prc_list ._catWrap + ._catWrap {
  border-top: 1px solid #fff;
}
.md-prc_list ._bodyTxt{
	font-weight: 200;
}
.md-prc_list ._borderTxt{
	border: 1px solid #fff;
	padding: 1.4vw;
	line-height: 1.8;
	margin-top: 2.3vw;
	font-weight: 200;
}

@media only screen and (min-width: 1025px) {
  .md-prc_list ._spTtl {
    display: none;
  }
}
@media only screen and (max-width: 1024px) {
  .md-prc_topWrap {
    display: block;
    margin-top: 9.375vw;
  }
  .md-prc_topBox {
    padding: 3.125vw;
  }
  .md-prc_topBox + .md-prc_topBox {
    margin-top: 6.25vw;
  }
  .md-prc_topBox ._ttl {
    margin-bottom: 1em;
    line-height: 2;
    padding: 0 1em;
  }
  .md-prc_topBox ul {
    font-size: var(--fontSize_sp12);
    line-height: 1.6;
  }
  .md-prc_selectWrap {
    display: block;
  }
  .md-prc_catWrap ul {
    gap: 6.25vw;
  }
  .md-prc_catWrap ul li {
    height: 2.2em;
  }
  .md-prc_catWrap ul a {
    padding: 0 1.25em;
    line-height: 2.2;
  }
  .md-prc_selectWrap {
    margin-top: 12.5vw;
  }
  .md-prc_list {
    padding: 2vw 4.7vw;
  }
  .md-prc_list ._catWrap th {
    width: -moz-max-content;
    width: max-content;
    text-align: left;
  }
  .md-prc_list ._catWrap td[aria-hidden=true] {
    padding-left: 0;
  }
  .md-prc_list ._catWrap + ._catWrap {
    border-top: 1px solid #fff;
  }
  .md-prc_listTtl {
    font-size: var(--fontSize_sp18);
    padding: 1.5em 0 0.625em 0;
  }
  .md-prc_listTtl::before {
    width: 4.5vw;
    height: 4.5vw;
    right: 4vw;
  }

	.md-prc_list ._catWrap td:first-of-type{
		width: 54vw;
	}
	.md-prc_list ._catWrap td[aria-hidden=true]{
		width: 0;
	}
	.md-prc_list ._catWrap ._bodyTbl tr{
		display: grid;
		grid-template-columns: auto 1fr;
		grid-template-rows: auto auto;
		width: 100%;
	}
	.md-prc_list ._catWrap ._bodyTbl th {
		display: block;
		grid-column: 1 / 3;
	}
	.md-prc_list ._catWrap ._bodyTbl td{
		line-height: 1.5
	}
	.md-prc_list ._catWrap ._bodyTbl tr+tr{
		margin-top: 1.5em;
	}
	.md-prc_list ._bodyTxt{
		margin-top: 3vw;
		font-size: var(--fontSize_sp12);
		line-height: 1.6;
	}
	.md-prc_list ._borderTxt{
		padding: 3.75vw;
		line-height: 1.6;
		margin-top: 7.2vw;
		font-weight: 300;
		margin-bottom: 3vw;
		font-size: var(--fontSize_sp12);
	}
}
/*===============================
         md-blog
===============================*/
.md-blog_contWrap {
  display: grid;
  grid-template-columns: 28.2vw 1fr;
  gap: 4.7vw;
  margin-top: 1.5vw;
  margin-bottom: 6.9vw;
}
.md-blog_contWrap h2 {
  font-size: var(--fontSize_pc33);
  font-family: "noto-serif", serif;
}

.md-blog_txtWrap {
  line-height: 1.8;
}
.md-blog_txtWrap ._ttl {
  font-size: var(--fontSize_pc33);
  margin-bottom: 1.44em;
  font-family: "noto-serif", serif;
}

.md-blog_writer {
  margin-top: 6.9vw;
  padding: 2.1vw;
  border: 1px solid #222;
}
.md-blog_writer ._lTxt {
  font-size: var(--fontSize_pc33);
  font-family: "noto-serif", serif;
  margin-bottom: 0.72em;
}
.md-blog_writer ._imgWrap {
  display: flex;
  align-items: center;
  font-size: var(--fontSize_pc26);
  margin-bottom: 1.4vw;
}
.md-blog_writer ._imgWrap img {
  width: 8.3vw;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  margin-right: 1.4vw;
}
.md-blog_writer p {
  line-height: 1.8;
}
.custom-toc{
	margin-top: 4.2vw;
	width: 100%; 
	box-shadow: none;
	background: rgba(255, 255, 255, 0.4);
	border: none;
	padding: 2.1vw;
	line-height: 1.8;
}
.custom-toc ._title{
	font-size:  var(--fontSize_pc26);
	font-weight: 400;
	font-family: "noto-serif", serif;
	margin-bottom: 1.8em;
	display: block;
}
.custom-toc li, .custom-toc li a{
	font-size: var(--fontSize_pc18) ;
	font-weight: 400;
}
.custom-toc ._h3{
	padding-left: 2em;
}

@media only screen and (max-width: 1024px) {
  .md-blog_contWrap {
    display: block;
    margin-top: 9.375vw;
  }
  .md-blog_contWrap h2 {
    font-size: var(--fontSize_sp18);
  }
  .md-blog_imgWrap {
    padding: 0 4.7vw;
  }
  .md-blog_txtWrap {
    margin-top: 6.25vw;
  }
  .md-blog_txtWrap ._ttl {
    font-size: var(--fontSize_sp18);
    margin-bottom: 0.625em;
  }
  .md-blog_txtWrap ._padding {
    padding: 0 4.7vw;
  }
  .md-blog_writer {
    margin-top: 18.75vw;
    padding: 4.7vw;
  }
  .md-blog_writer ._lTxt {
    font-size: var(--fontSize_sp18);
    margin-bottom: 0.625em;
  }
  .md-blog_writer ._imgWrap {
    align-items: end;
    font-size: var(--fontSize_sp16);
    margin-bottom: 3.125vw;
  }
  .md-blog_writer ._imgWrap img {
    width: 37.5vw;
    margin-right: 4.7vw;
  }
  .md-blog_writer p {
    line-height: 1.8;
  }
	.custom-toc{
		margin-top: 6w;
		padding: 5.1vw;
	}
	.custom-toc ._title{
		font-size:  var(--fontSize_sp18);
	}

	.custom-toc li, .custom-toc li a{
		font-size: var(--fontSize_sp14) ;
	}
}
/*===============================
         md-case
===============================*/
.md-case_dlWrap {
  margin-top: 3.5vw;
  padding: 2.1vw 3.125vw;
  background-color: #222;
  color: #fff;
  line-height: 1.8;
}
.md-case_dlWrap dl {
  display: flex;
  padding-bottom: 1.4vw;
}
.md-case_dlWrap dl + dl {
  padding-top: 1.4vw;
  border-top: 1px solid #fff;
}
.md-case_dlWrap dl dt {
  width: 16.7vw;
}
.md-case_dlWrap dl:last-child {
  padding-bottom: 0;
}

@media only screen and (max-width: 1024px) {
  .md-case_dlWrap {
    margin-top: 6.25vw;
    padding: 6.25vw 4.7vw;
  }
  .md-case_dlWrap dl {
    justify-content: space-between;
    padding-bottom: 6.25vw;
  }
  .md-case_dlWrap dl + dl {
    padding-top: 6.25vw;
  }
  .md-case_dlWrap dl dt {
    width: -moz-fit-content;
    width: fit-content;
  }
}
/*===============================
         md-rec
===============================*/
.md-rec_contWrap {
  padding-right: 8vw;
  display: grid;
  grid-template-columns: 1fr 48vw;
}

@media only screen and (max-width: 1024px) {
  .md-rec_contWrap {
    padding-right: 0;
    display: block;
  }
}
/*===============================
         md-recTop
===============================*/
.md-recTop_contWrap {
  padding-top: 5.5vw;
}
.md-recTop_contWrap ._lTxt {
  font-size: var(--fontSize_pc33);
  font-family: "noto-serif", serif;
  line-height: 1.5;
  margin-bottom: 10px;
}

.md-recTop_linkWrap {
  margin-top: 2.5vw;
  display: grid;
  justify-content: end;
  align-items: center;
  grid-template-columns: auto max-content;
  grid-template-rows: repeat(2, auto);
  -moz-column-gap: 2.9vw;
       column-gap: 2.9vw;
  row-gap: 1.6vw;
}

@media only screen and (max-width: 1024px) {
  .md-recTop_contWrap {
    padding-top: 14vw;
  }
  .md-recTop_contWrap ._lTxt {
    font-size: var(--fontSize_sp19);
  }
  .md-recTop_linkWrap {
    margin-top: 12.5vw;
    grid-template-columns: 1fr max-content;
    row-gap: 6.25vw;
  }
  .md-recTop_linkWrap a {
    margin-left: auto;
  }
}
/*===============================
         md-recTop
===============================*/
.md-recApp_catWrap {
  margin-top: 3.5vw;
  display: flex;
  flex-wrap: wrap;
  gap: 1.4vw;
}
.md-recApp_catWrap a {
  padding: 0 1em;
  background-color: #fff;
  color: #222;
  line-height: 2;
}

.md-recApp_contWrap {
  padding-top: 11.7vw;
}

.md-recApp_catTtl {
  position: relative;
  font-size: var(--fontSize_pc40);
  font-weight: 500;
  font-family: "noto-serif", serif;
  line-height: 1.5;
  border-bottom: 1px solid #222;
  padding-bottom: 1em;
}
.md-recApp_catTtl::before {
  position: absolute;
  content: "";
  display: block;
  width: 1.5vw;
  height: 1.5vw;
  bottom: 60%;
  right: 1.4vw;
  border-top: 1px solid #222;
  border-left: 1px solid #222;
  transform: rotate(-135deg);
  transition: 0.3s;
}
.md-recApp_catTtl.active::before {
  transform: translateY(50%) rotate(45deg);
}

.md-recApp_box {
  margin-top: 3.5vw;
}

.md-recApp_openWrap {
  padding: 0.8vw 2.5vw;
  background-color: #222;
  color: #fff;
}
.md-recApp_openWrap dl {
  display: grid;
  grid-template-columns: 12.2em 1fr;
  padding: 0.6em 0;
  border-bottom: 1px solid #fff;
}
.md-recApp_openWrap dl:last-child {
  border-bottom: none;
}
.md-recApp_openWrap dl dt {
  border-right: 1px solid #fff;
}
.md-recApp_openWrap dl dd {
  padding-left: 2.1vw;
}
.md-recApp_openWrap dl dt, .md-recApp_openWrap dl dd {
  padding-top: 1.57em;
  padding-bottom: 1.57em;
}
.md-recApp_openWrap dl + dl {
  margin-top: 0.6vw;
}

@media only screen and (max-width: 1024px) {
  .md-recApp_catWrap {
    margin-top: 6.25vw;
    gap: 6.25vw;
  }
  .md-recApp_contWrap {
    padding-top: 3vw;
  }
  .md-recApp_catTtl {
    font-size: var(--fontSize_sp19);
    padding-bottom: 0.625em;
  }
  .md-recApp_catTtl::before {
    width: 4.5vw;
    height: 4.5vw;
    right: 4vw;
  }
  .md-recApp_box {
    margin-top: 9.375vw;
  }
  .md-recApp_openWrap {
    padding: 6.25vw 4.7vw;
  }
  .md-recApp_openWrap dl {
    display: block;
    padding-bottom: 1.7em;
    padding-top: 0;
  }
  .md-recApp_openWrap dl + dl {
    padding-top: 1.7em;
  }
  .md-recApp_openWrap dl dt {
    padding: 0;
    font-size: var(--fontSize_sp16);
    line-height: 1.8;
    margin-bottom: 10px;
    border: none;
  }
  .md-recApp_openWrap dl dd {
    padding: 0;
    line-height: 1.8;
  }
}
/*===============================
         md-recFlow
===============================*/
.md-recFlow_contWrap {
  padding-top: 5.8vw;
}

.md-recFlow_step ._num {
  padding: 0 0.79em;
  line-height: 1.7;
  background-color: #222;
  color: #fff;
  font-family: "bask", sans-serif;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
}
.md-recFlow_step:nth-child(2) .md-recFlow_stepTxt, .md-recFlow_step:nth-child(3) .md-recFlow_stepTxt {
  padding-bottom: 3.5vw;
}
.md-recFlow_step:last-child .md-recFlow_stepTxt {
  border-left: none;
}

.md-recFlow_stepTxt {
  margin-left: 1.4em;
  padding-top: 10px;
  padding-left: 1.4em;
  padding-bottom: 2.1vw;
  border-left: 1px solid #222;
}
.md-recFlow_stepTxt ._lTxt {
  font-size: var(--fontSize_pc33);
  font-family: "noto-serif", serif;
  line-height: 1.5;
  margin-bottom: 0.4em;
}
.md-recFlow_stepTxt ._link {
  margin-left: auto;
  margin-top: 0.4em;
}

@media only screen and (max-width: 1024px) {
  .md-recFlow_contWrap {
    padding-top: 12.5vw;
  }
  .md-recFlow_step ._num {
    line-height: 2.16;
    padding: 0 1em;
  }
  .md-recFlow_stepTxt {
    margin-left: 1.6em;
    padding-left: 1.6em;
    padding-bottom: 7.8vw;
  }
  .md-recFlow_stepTxt ._sTxt {
    line-height: 1.6;
  }
  .md-recFlow_stepTxt ._lTxt {
    font-size: var(--fontSize_sp19);
    margin-bottom: 0.625em;
  }
  .md-recFlow_step:nth-child(2) .md-recFlow_stepTxt, .md-recFlow_step:nth-child(3) .md-recFlow_stepTxt {
    padding-bottom: 9vw;
  }
}
/*===============================
         md-recForm
===============================*/
.md-recForm_contWrap {
  padding-top: 7.2vw;
}

@media only screen and (max-width: 1024px) {
  .md-recForm_contWrap {
    padding-top: 6.25vw;
  }
}
/*===============================
         confirm
===============================*/
.md-recForm_contWrap ._confirmTxt {
  font-size: var(--fontSize_pc33);
  font-family: "noto-serif", serif;
  line-height: 1.5;
  margin-bottom: 2.9vw;
}
.md-recForm_contWrap ._confirmTxt._thanks {
  margin-bottom: 1.4vw;
}

@media only screen and (max-width: 1024px) {
  .md-recForm_contWrap ._confirmTxt {
    font-size: var(--fontSize_sp18);
    margin-bottom: 12.5vw;
  }
  .md-contactFrom._confirm dl + dl {
    margin-top: 6.25vw;
  }
  .md-recForm_contWrap ._confirmTxt._thanks {
    margin-bottom: 6.25vw;
  }
}
/*===============================
         policy
===============================*/
.md-recForm_contWrap._policy h3 {
  margin-top: 1lh;
}
.md-recForm_contWrap._policy ol {
  list-style: decimal;
  padding-left: 1.5em;
}
.md-recForm_contWrap._policy ol li {
  list-style-type: decimal;
}
.md-recForm_contWrap._policy .list-bracket {
  list-style: none;
  counter-reset: number;
  padding-left: 1.8em;
}
.md-recForm_contWrap._policy .list-bracket ol {
  list-style: decimal;
  padding-left: 1.5em;
  counter-reset: none;
}
.md-recForm_contWrap._policy .list-bracket ol li {
  position: static;
  list-style: decimal;
}
.md-recForm_contWrap._policy .list-bracket ol li::before {
  content: none;
}
.md-recForm_contWrap._policy .list-bracket li {
  list-style: none;
  counter-increment: number;
  position: relative;
}
.md-recForm_contWrap._policy .list-bracket li::before {
  content: "(" counter(number) ")";
  position: absolute;
  left: -1.8em;
}

@media only screen and (max-width: 1024px) {
  .md-recForm_contWrap._policy {
    padding-top: 10vw;
  }
}
/*===============================
         thanks
===============================*/
.md-thanksLink {
  margin-top: 5.7vw;
  margin-left: auto;
}

@media only screen and (max-width: 1024px) {
  .md-thanksLink {
    margin-top: 21.25vw;
  }
}
/*===============================
         md-contactForm
===============================*/
.md-contactFrom dl + dl {
  margin-top: 3vw;
}
.md-contactFrom dl dt {
  line-height: 1.8;
}
.md-contactFrom dl dt span {
  font-size: 0.86em;
  font-family: "bask", sans-serif;
  line-height: 1.3;
  color: #57C2DD;
  font-weight: 700;
  padding-left: 0.5em;
}
.md-contactFrom dl dd {
  margin-top: 10px;
}
.md-contactFrom dl ._name {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
.md-contactFrom dl ._year {
  display: grid;
  align-items: center;
  grid-template-columns: 1fr auto 1fr auto;
  gap: 10px;
}
.md-contactFrom .radio {
  padding-top: 12px;
}
.md-contactFrom .radio span {
  display: block;
}
.md-contactFrom .radio span + span {
  margin-top: 18px;
}

.md-contact_policyWrap {
  margin-top: 6.9vw;
}
.md-contact_policyWrap a {
  border-bottom: 1px solid #222;
}
.md-contact_policyWrap p {
  margin-bottom: 4.86vw;
}
.md-contact_policyWrap label {
  justify-content: center;
  text-align: center;
}
.md-contact_policyWrap._confirm {
  text-align: center;
}

.md-contact_sendBtn {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  margin-top: 6.9vw;
  line-height: 2.5;
  font-size: var(--fontSize_pc21);
  padding: 0 2.5em;
  border: 1px solid #222;
  background-color: transparent;
  border-radius: 0;
  color: #222;
  cursor: pointer;
}
@media only screen and (min-width: 1025px) {
  .md-contact_sendBtn {
    transition: 0.2s;
  }
  .md-contact_sendBtn:hover {
    color: #57C2DD;
    border: 1px solid #57C2DD;
  }
}

@media only screen and (max-width: 1024px) {
  .md-contactFrom {
    font-size: var(--fontSize_sp16);
    line-height: 1.8;
  }
  .md-contact_policyWrap p {
    font-size: var(--fontSize_sp14);
    margin-bottom: 14vw;
  }
  .md-contact_sendBtn {
    font-size: var(--fontSize_sp18);
    margin-top: 17vw;
  }
  .md-contactFrom dl dd {
    margin-top: 5px;
  }
  .md-contact_policyWrap._confirm {
    text-align: left;
  }
  .md-contactFrom._confirm dl dd {
    margin-top: 15px;
  }
}
/*===============================
         page-top
===============================*/
#page-top {
  position: fixed;
  z-index: 6;
  bottom: 1.5%;
  right: 6.25%;
  width: 7.5vw;
}
#page-top a {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
}
#page-top img {
  grid-column: 1/1;
  grid-row: 1/1;
  transition: 0.2s;
}
#page-top img._white {
  opacity: 0;
}
#page-top.is-white-scroll img._white {
  opacity: 1;
}
#page-top.is-white-scroll img._normal {
  opacity: 0;
}

@media only screen and (min-width: 1025px) {
  #page-top {
    display: none;
  }
}
/*===============================
        共通設定
===============================*/
.l-inner {
  margin: 0 auto;
  width: 88.8%;
}

@media only screen and (max-width: 1024px) {
  .l-inner {
    width: 90.625%;
    max-width: 800px;
  }
}
/*===============================
        header　layout
===============================*/
.l-head {
  position: fixed;
  top: 3.5%;
  left: 0;
  width: 100%;
  height: calc(var(--fontSize_pc46) * 2.3);
  z-index: 10;
}
.l-head._top {
  top: 0;
  height: auto;
  background-image: linear-gradient(to bottom, rgba(34, 34, 34, 0.8), rgba(34, 34, 34, 0.6));
  padding-bottom: 1.25vw;
}

@media only screen and (max-width: 1280px) {
  .l-head._top {
    top: 3.5%;
    height: calc(var(--fontSize_pc46) * 2.3);
    background-image: none;
    padding-bottom: 0;
  }
}
@media only screen and (max-width: 1024px) {
  .l-head {
    top: 0;
    height: 17.2vw;
    max-height: 70px;
    background-color: #DDDDDD;
    transition: background-color 0.3s;
  }
  .l-head.js-menu_open, .l-head.is-white-scroll {
    background-color: #222;
  }
  .l-head._lower {
    background-color: transparent;
  }
  .l-head._lower.js-menu_open, .l-head._lower.is-white-scroll {
    background-color: transparent;
  }
  .l-head._top {
    top: 0;
    height: 17.2vw;
    background-image: none;
    padding-bottom: 0;
  }
  .l-head._top._lower {
    background-color: transparent;
  }
}
/*===============================
        navigation　layout
===============================*/
.l-nav {
  position: fixed;
  top: 0;
  right: 0;
  width: 34.2%;
  height: 100vh;
  background-color: #222;
  z-index: 9;
  transform: translateX(100%);
  transition: 0.3s;
  min-width: 420px;
}
.l-nav.js-menu_open {
  transform: none;
}

@media only screen and (max-width: 1024px) {
  .l-nav {
    width: 100%;
    min-width: unset;
  }
}
/*===============================
        top　layout
===============================*/
.l-topFv {
  position: relative;
  height: 100vh;
  background-image: url(../images/top/fv_bg.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.l-topNews {
  padding-top: 6.9vw;
  padding-bottom: 5.2vw;
}

.l-topMenu {
  background-color: #ddd;
  padding-top: 6.9vw;
  padding-bottom: 6.9vw;
}

@media only screen and (max-width: 1024px) {
  .l-topFv {
    background-image: url(../images/top/fv_bg_sp.jpg);
  }

  .l-topNews {
    padding-top: 14vw;
    padding-bottom: 15.625vw;
  }
  .l-topMenu {
    padding-top: 14vw;
    padding-bottom: 15.625vw;
  }
}
@keyframes loading {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*===============================
        access　layout
===============================*/
.l-acc {
  padding-top: 6.9vw;
  padding-bottom: 6.9vw;
}

@media only screen and (max-width: 1024px) {
  .l-acc {
    padding-top: 15.625vw;
    padding-bottom: 12.5vw;
  }
}
/*===============================
        reservation　layout
===============================*/
.l-rsv {
  position: relative;
  width: 100%;
  aspect-ratio: 1440/450;
	background-color: #222222;
/*   background-position: center;
  background-repeat: no-repeat;
  background-size: cover; */
}
.l-rsv .l-inner {
  position: relative;
  height: 100%;
}
/* 
.l-rsv._top {
  background-image: url(../images/top/topRsv_bg.jpg);
}
.l-rsv._abt {
  background-image: url(../images/about/rsv_abt.jpg);
}
.l-rsv._news {
  background-image: url(../images/news/rsv_news.jpg);
}
.l-rsv._dct {
  background-image: url(../images/doctor/doctor_top.jpg);
}
.l-rsv._stf {
  background-image: url(../images/staff/staff_top.jpg);
}
.l-rsv._concern {
  background-image: url(../images/menu_concern/menuCon_top.jpg);
}
.l-rsv._area {
  background-image: url(../images/menu_area/menu_area_top.jpg);
}
.l-rsv._price {
  background-image: url(../images/price/price_top.jpg);
}
.l-rsv._blog {
  background-image: url(../images/blog/blog_top.jpg);
}
.l-rsv._case {
  background-image: url(../images/case/case_top.jpg);
}
.l-rsv._rec {
  background-image: url(../images/recruit/rec_top.jpg);
} */

@media only screen and (max-width: 1024px) {
  .l-rsv {
    aspect-ratio: 320/275;
  }
/*   .l-rsv._top {
    background-image: url(../images/top/topRsv_bg_sp.jpg);
  } */
}
/*===============================
        footer　layout
===============================*/
.l-foot {
  padding-top: 5.7vw;
  padding-bottom: 8.8vw;
}

@media only screen and (max-width: 1024px) {
  .l-foot {
    padding-top: 18.75vw;
    padding-bottom: 13.125vw;
  }
}
/*===============================
        lower layout
===============================*/
.l-lowerTop {
  width: 100%;
  aspect-ratio: 1440/460;
}
.l-lowerTop picture {
  display: block;
  width: 100%;
  height: 100%;
}

@media only screen and (max-width: 1024px) {
  .l-lowerTop {
    aspect-ratio: 320/140;
  }
}
/*===============================
        about layout
===============================*/
.l-abt {
  padding-top: 3.9vw;
  padding-bottom: 11.9vw;
  background-color: #ddd;
  color: #222;
}

.l-abtVle {
  padding-top: 6.9vw;
  padding-bottom: 10.4vw;
  background-color: #ddd;
  color: #222;
}

@media only screen and (max-width: 1024px) {
  .l-abt {
    padding-top: 7.8vw;
    padding-bottom: 14vw;
  }
  .l-abtVle {
    padding-top: 14vw;
    padding-bottom: 14vw;
  }
}
/*===============================
        news layout
===============================*/
.l-news {
  padding-top: 3.9vw;
  padding-bottom: 6.9vw;
  background-color: #ddd;
  color: #222;
}

@media only screen and (max-width: 1024px) {
  .l-news {
    padding-top: 7.8vw;
    padding-bottom: 15.625vw;
  }
}
/*===============================
        doctor layout
===============================*/
.l-dct {
  padding-top: 3.9vw;
  padding-bottom: 6.9vw;
  background-color: #ddd;
  color: #222;
}

@media only screen and (max-width: 1024px) {
  .l-dct {
    padding-top: 7.8vw;
    padding-bottom: 15.625vw;
  }
}
/*===============================
        staff layout
===============================*/
.l-stf {
  padding-top: 6.9vw;
  padding-bottom: 10.4vw;
  background-color: #ddd;
  color: #222;
}

@media only screen and (max-width: 1024px) {
  .l-stf {
    padding-top: 7.8vw;
    padding-bottom: 15.625vw;
  }
}
/*===============================
        menu　layout
===============================*/
.l-menu {
  padding-top: 3.8vw;
  padding-bottom: 6.9vw;
  background-color: #ddd;
  color: #222;
}

.l-menuSingle {
  padding-top: 3.8vw;
  padding-bottom: 6.9vw;
  background-color: #ddd;
  color: #222;
}

@media only screen and (max-width: 1024px) {
  .l-menu {
    padding-top: 7.8vw;
    padding-bottom: 15.625vw;
  }
  .l-menuSingle {
    padding-top: 7.8vw;
    padding-bottom: 15.625vw;
  }
}
/*===============================
        price　layout
===============================*/
.l-prc {
  padding-top: 3.8vw;
  padding-bottom: 10.4vw;
  background-color: #ddd;
  color: #222;
}

@media only screen and (max-width: 1024px) {
  .l-prc {
    padding-top: 7.8vw;
    padding-bottom: 15.625vw;
  }
}
/*===============================
        recruit layout
===============================*/
.l-recTop {
  padding-top: 3.8vw;
  background-color: #ddd;
  color: #222;
}

.l-recApp {
  padding-top: 3.5vw;
  background-color: #ddd;
  color: #222;
}

.l-recFlow {
  padding-top: 6.9vw;
  background-color: #ddd;
  color: #222;
}

.l-recForm {
  padding-top: 6.25vw;
  padding-bottom: 10.4vw;
  background-color: #ddd;
  color: #222;
}

@media only screen and (max-width: 1024px) {
  .l-recTop {
    padding-top: 7.8vw;
  }
  .l-recApp {
    padding-top: 15.625vw;
  }
  .l-recFlow {
    padding-top: 15.625vw;
  }
  .l-recForm {
    padding-bottom: 15.625vw;
  }
}
/*===============================
        confirm layout
===============================*/
.l-confirm {
  padding-top: 3.8vw;
  padding-bottom: 10.4vw;
  background-color: #ddd;
  color: #222;
}

@media only screen and (max-width: 1024px) {
  .l-confirm {
    padding-top: 7.8vw;
    padding-bottom: 15.625vw;
  }
}
