@charset "UTF-8";
@font-face {
  font-family: "zen-kaku-gothic";
  font-weight: 700;
  src: url(../fonts/Zen_Kaku_Gothic_Antique/ZenKakuGothicAntique-Bold.ttf) format("truetype");
}
@font-face {
  font-family: "zen-kaku-gothic";
  font-weight: 500;
  src: url(../fonts/Zen_Kaku_Gothic_Antique/ZenKakuGothicAntique-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: 500;
  src: url(../fonts/Noto_Sans_JP/static/NotoSansJP-Medium.ttf) format("truetype");
}
@font-face {
  font-family: "noto-sans";
  font-weight: 700;
  src: url(../fonts/Noto_Sans_JP/static/NotoSansJP-Bold.ttf) format("truetype");
}
@font-face {
  font-family: "lato";
  font-weight: 900;
  src: url(../fonts/Lato/Lato-Black.ttf) format("truetype");
}
@font-face {
  font-family: "lato";
  font-weight: 700;
  src: url(../fonts/Lato/Lato-Bold.ttf) format("truetype");
}
@font-face {
  font-family: "lato";
  font-weight: 400;
  src: url(../fonts/Lato/Lato-Regular.ttf) format("truetype");
}
@font-face {
  font-family: "lato";
  font-weight: 300;
  src: url(../fonts/Lato/Lato-Light.ttf) format("truetype");
}
/*------------------
　　共通設定
------------------*/
body {
  font-size: var(--fontSize_pc22);
  font-family: "noto-sans", sans-serif;
  font-weight: 700;
  color: #2E2E2E;
  line-height: 1.72;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
  background-color: #DBDBDB;
  -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: 15px 34px;
  letter-spacing: 0.03em;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

input::-moz-placeholder {
  color: #A3AFAC;
}

input::placeholder {
  color: #A3AFAC;
}

input[type=radio] {
  position: relative;
  font-size: inherit;
  font-weight: inherit;
  font-family: inherit;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin-right: 22px;
  border: 2px solid #707070;
}
input[type=radio]::before {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: transparent;
  content: "";
}

input[type=radio]:checked::before {
  background: #872E2E;
}

input[type=checkbox] {
  position: relative;
  width: 22px;
  height: 22px;
  border: 2px solid #872E2E;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin-right: 20px;
}

input[type=checkbox]:checked::before {
  position: absolute;
  top: 2px;
  left: 6px;
  transform: rotate(50deg);
  width: 6px;
  height: 10px;
  border-right: 2px solid #872E2E;
  border-bottom: 2px solid #872E2E;
  content: "";
}

select {
  width: 14.1em;
  padding: 10px 20px;
  border: 1px solid #707070;
  font-size: inherit;
  font-weight: inherit;
  font-family: inherit;
	color: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  border-radius: 0;
  background-color: #fff;
}

.selectWrap {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
}
.selectWrap::before {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 2;
  width: 1.18em;
  height: 1.18em;
  top: 50%;
  right: 16px;
  background-color: #872E2E;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  transform: translateY(-50%);
}

textarea {
  min-height: 340px;
  border-radius: 0;
}

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

picture img, picture source {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media only screen and (min-width: 1025px) {
  .tb {
    display: none;
  }
}
@media only screen and (max-width: 1024px) {
  .n_tb {
    display: none;
  }
  body {
    line-height: 1.54;
  }
  select {
    width: 15.8em;
    padding: 8px 12px;
  }
  .selectWrap::before {
    height: 1em;
    right: 12px;
  }
  input[type=radio] {
    width: 14px;
    height: 14px;
    margin-right: 6px;
    border: none;
    background-color: #fff;
  }
  input[type=radio]::before {
    top: 3px;
    left: 3px;
    width: 8px;
    height: 8px;
  }
  input[type=radio]:checked::before {
    background: #872E2E;
  }
  input[type=text], input[type=email], input[type=tel], textarea {
    padding: 14px 20px;
  }
  textarea {
    min-height: 220px;
  }
  input[type=checkbox] {
    width: 18px;
    height: 18px;
    border: 1px solid #872E2E;
    margin-right: 12px;
  }
  input[type=checkbox]:checked::before {
    position: absolute;
    top: 1px;
    left: 5px;
    width: 5px;
    height: 9px;
    border-right: 1px solid #872E2E;
    border-bottom: 1px solid #872E2E;
  }
}
@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(15px, 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(30px, 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(40px, 3.125vw, 72px);
  --fontSize_pc65: clamp(45px, 3.3854vw, 78px);
  --fontSize_pc66: clamp(45px, 3.4375vw, 78px);
  --fontSize_pc67: clamp(45px, 3.489vw, 78px);
  --fontSize_pc70: clamp(52px, 3.64583333vw, 82px);
  --fontSize_pc73: clamp(52px, 3.8vw, 85px);
  --fontSize_pc80: clamp(60px, 4.1666vw, 90px);
  --fontSize_pc82: clamp(70px, 4.27vw, 90px);
  --fontSize_pc83: clamp(70px, 4.322196666vw, 90px);
  --fontSize_pc84: clamp(50px, 4.375vw, 90px);
  --fontSize_pc85: clamp(72px, 4.427vw, 92px);
  --fontSize_pc89: clamp(76px, 4.635416666vw, 100px);
  --fontSize_pc106: clamp(60px, 5.52vw, 120px);
  --fontSize_pc110: clamp(60px, 5.7291666vw, 120px);
  --fontSize_sp8: clamp(8px, 2.0512vw, 14px);
  --fontSize_sp9: clamp(9px, 2.3vw, 14px);
  --fontSize_sp10: clamp(10px, 2.5641vw, 14px);
  --fontSize_sp11: clamp(11px, 2.82051vw, 15px);
  --fontSize_sp12: clamp(10px, 3.076923vw, 15px);
  --fontSize_sp13: clamp(13px, 3.333333vw, 18px);
  --fontSize_sp14: clamp(13px, 3.58974vw, 17px);
  --fontSize_sp15: clamp(14px, 3.8461538vw, 18px);
  --fontSize_sp16: clamp(15px, 4.102564102vw, 19px);
  --fontSize_sp17: clamp(15px, 4.3589vw, 30px);
  --fontSize_sp18: clamp(16px, 4.6153846vw, 22px);
  --fontSize_sp19: clamp(16px, 4.8718vw, 22px);
  --fontSize_sp20: clamp(18px, 5.1282vw, 24px);
  --fontSize_sp21: clamp(19px, 5.3846153vw, 26px);
  --fontSize_sp22: clamp(20px, 5.641025vw, 27px);
  --fontSize_sp23: clamp(21px, 5.897435vw, 30px);
  --fontSize_sp24: clamp(22px, 6.15384615vw, 29px);
  --fontSize_sp25: clamp(23px, 6.41vw, 30px);
  --fontSize_sp26: clamp(24px, 6.66666666vw, 32px);
  --fontSize_sp30: clamp(28px, 7.6923076vw, 36px);
  --fontSize_sp32: clamp(28px, 8.2051282051vw, 38px);
  --fontSize_sp35: clamp(30px, 8.9743vw, 60px);
  --fontSize_sp36: clamp(30px, 9.23vw, 60px);
  --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_sp58: clamp(56px, 14.8717948vw, 68px);
  --fontSize_sp60: clamp(58px, 15.38461538vw, 78px);
  --fontSize_sp77: clamp(75px, 19.743589vw, 100px);
  --innerWidth: 89.6%;
}
@media only screen and (max-width: 1024px) {
  :root {
    --innerWidth: 89.8%;
  }
}

/*===============================
         bl-top
===============================*/
.bl-topSecTtl_en {
  font-size: var(--fontSize_pc82);
  font-weight: 700;
  font-family: "lato", sans-serif;
  letter-spacing: 0.05em;
  line-height: 1.28;
  text-transform: uppercase;
}

.bl-topSecTtl_jp {
  font-size: var(--fontSize_pc20);
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #872E2E;
  line-height: 1;
  display: block;
}
.bl-topSecTtl_jp._white {
  color: #fff;
}

.bl-topSubTxt {
  font-size: var(--fontSize_pc55);
  font-family: "zen-kaku-gothic", sans-serif;
  letter-spacing: 0.05em;
  font-weight: 700;
  line-height: 1.36;
  margin-bottom: 32px;
	white-space: nowrap;
}
.bl-topSubTxt._center {
  text-align: center;
  margin-bottom: 20px;
}

.bl-topSTxt {
  font-size: var(--fontSize_pc22);
  font-weight: 500;
}

.bl-topMoreBtn {
  font-size: var(--fontSize_pc20);
  font-family: "lato", sans-serif;
  font-weight: 700;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
  text-transform: uppercase;
}
.bl-topMoreBtn ._circle {
  position: relative;
  width: 3.2em;
  height: 3.2em;
  border-radius: 50%;
  background-image: linear-gradient(70deg, #EDE0E0 0, #872E2E 100%);
  margin-left: 3.5em;
}
.bl-topMoreBtn ._circle::before {
  position: absolute;
  content: "";
  display: block;
  left: 50%;
  top: 50%;
  width: 4.3em;
  height: 1px;
  background-color: #2E2E2E;
  transform: translateX(-100%);
}
.bl-topMoreBtn._white ._circle::before {
  background-color: #fff;
}
.bl-topMoreBtn._pcCenter {
  justify-content: center;
}
@media only screen and (min-width: 1025px) {
  .bl-topMoreBtn {
    transition: 0.2s;
  }
  .bl-topMoreBtn ._circle {
    transition: 0.2s;
  }
  .bl-topMoreBtn:hover {
    transform: translateX(10px);
  }
  .bl-topMoreBtn:hover ._circle {
    background-image: linear-gradient(70deg, #EDE0E0 0, #872E2E 120%);
  }
}

@media only screen and (max-width: 1024px) {
  .bl-topSecTtl_en {
    font-size: var(--fontSize_sp35);
  }
  .bl-topSecTtl_jp {
    font-size: var(--fontSize_sp11);
  }
  .bl-topSubTxt {
    font-size: var(--fontSize_sp25);
    letter-spacing: 0;
    margin-bottom: 20px;
  }
  .bl-topSTxt {
    font-size: var(--fontSize_sp13);
  }
  .bl-topMoreBtn {
    font-size: var(--fontSize_sp15);
  }
  .bl-topMoreBtn._pcCenter {
    justify-content: start;
  }
  .bl-topMoreBtn._spCenter {
    justify-content: center;
  }
}
/*===============================
         bl-lowerSecTtl
===============================*/
.bl-lowerSecTtl_jp {
  font-size: var(--fontSize_pc20);
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #872E2E;
}
.bl-lowerSecTtl_jp._white {
  color: #fff;
}

.bl-lowerSecTtl_en {
  font-size: var(--fontSize_pc66);
  font-weight: 700;
  font-family: "lato", sans-serif;
  letter-spacing: 0.025em;
  text-transform: uppercase;
  line-height: 1.2;
}

@media only screen and (max-width: 1024px) {
  .bl-lowerSecTtl_en {
    font-size: var(--fontSize_sp35);
    letter-spacing: 0;
	  line-height: 1.0;
  }
  .bl-lowerSecTtl_jp {
    font-size: var(--fontSize_sp11);
    letter-spacing: 0;
	  line-height: 1.8;
  }
}
/*===============================
         md-head
===============================*/
.md-head_logoWrap {
  position: absolute;
  left: 2.6%;
  top: 50%;
  width: 136px;
	height: 52px;
  transform: translateY(-50%);
}

.md-head_navWrap {
  position: absolute;
  right: 1.8%;
  top: 0;
  height: 100%;
  color: #fff;
}
.md-head_navWrap ul {
  height: 100%;
  display: flex;
  align-items: center;
}
.md-head_navWrap ._item a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  -webkit-text-stroke: 0px transparent;
  height: 100%;
}
@media only screen and (min-width: 1025px) {
  .md-head_navWrap ._item a {
    transition: 0.3s;
  }
  .md-head_navWrap ._item a:hover {
    -webkit-text-stroke: 0.5px #fff;
  }
}
.md-head_navWrap ._item + ._item {
  margin-left: 3.6vw;
}
@media only screen and (min-width: 1025px) {
  .md-head_navWrap ._item._contact a:hover {
    -webkit-text-stroke: 0;
  }
}
.md-head_navWrap ._en {
  font-size: var(--fontSize_pc18);
  font-family: "lato", sans-serif;
  font-weight: 400;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  line-height: 1;
}
.md-head_navWrap ._jp {
  font-size: var(--fontSize_pc13);
  font-weight: 400;
  letter-spacing: 0.05em;
}
.md-head_navWrap ._instagram {
  margin-left: 2.9vw;
  margin-right: 2.5vw;
  width: 32px;
}
.md-head_navWrap ._contact {
  width: 10em;
	height: 60px;
  background-color: #872E2E;
  border-radius: 30px;
  min-height: 50px;
}
@media only screen and (min-width: 1025px) {
  .md-head_navWrap ._contact {
    transition: 0.2s;
  }
  .md-head_navWrap ._contact:hover {
    background-color: #FFFFFF;
    color: #2E2E2E;
  }
}

@media only screen and (max-width: 1024px) {
  .md-head_navWrap {
    display: none;
  }
  .md-head_logoWrap {
    width: 100px;
    left: 5.1vw;
	  height: 44px;
  }
  .md-head_navIcon {
    position: absolute;
    right: 5.1vw;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 30px;
    height: 14px;
  }
  .md-head_navIcon span {
    width: 100%;
    height: 1px;
    background-color: #fff;
  }
}
/*===============================
         md-spNav
===============================*/
.md-spNav_contWrap {
  height: 100%;
  display: grid;
  grid-template-rows: 1fr auto auto;
  padding: 0 5.1vw;
  padding-top: calc(52px + 15.9vw);
}

.md-spNav_list {
  min-height: 0;
}
.md-spNav_list ._scroll {
  height: 100%;
  overflow-y: auto;
}

.md-spNav_item + .md-spNav_item {
  margin-top: 10px;
}

.md-spNav_topWrap {
  position: relative;
  padding-bottom: 6px;
  border-bottom: 1px solid #2E2E2E;
}
.md-spNav_topWrap ._jp {
  font-size: var(--fontSize_sp10);
  font-weight: 500;
  line-height: 1;
  color: #872E2E;
  display: block;
}
.md-spNav_topWrap ._en {
  font-size: var(--fontSize_sp24);
  font-family: "lato", sans-serif;
  font-weight: 700;
  line-height: 1.5;
  text-transform: uppercase;
}

.md-spNav_hideWrap {
  padding-top: 15px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  row-gap: 8px;
  padding-bottom: 20px;
}
.md-spNav_hideWrap ._lowerItem {
  font-size: var(--fontSize_sp12);
  font-weight: 500;
}
.md-spNav_hideWrap ._lowerItem a {
  position: relative;
  display: block;
  padding-left: 20px;
}
.md-spNav_hideWrap ._lowerItem a::before {
  position: absolute;
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background-image: linear-gradient(45deg, #EDE0E0 0, #872E2E 100%);
  border-radius: 50%;
}
.md-spNav_hideWrap ._lowerItem._2 {
  grid-column: 1/3;
}

.md_spNav_bottomLink {
  padding-top: 110px;
  padding-bottom: 15px;
}
.md_spNav_bottomLink a {
  display: flex;
  align-items: center;
  justify-content: end;
  font-size: var(--fontSize_sp11);
  font-weight: 400;
  letter-spacing: 0.04em;
}
.md_spNav_bottomLink a img {
  width: 13px;
  margin-left: 8px;
}

.md_spNav_bottomLink a+ a {
  margin-top: 6px;
}
.md_spNav_bottomLink a:nth-child(2){
	margin-right: 21px;
}
.md_spNav_bottomLink a:last-child{
	font-weight: 700;
}

.md-spNav_bottomTxt {
  position: relative;
  padding: 8px 0;
  font-size: var(--fontSize_sp11);
  font-weight: 400;
  font-family: "lato", sans-serif;
  text-align: center;
}
.md-spNav_bottomTxt::before {
  position: absolute;
  content: "";
  display: block;
  width: 100vw;
  height: 1px;
  left: -5.1vw;
  top: 0;
  background-color: #2E2E2E;
  opacity: 0.5;
}

.md-spNav_openIcon {
  position: absolute;
  width: 30px;
  height: 30px;
  top: 50%;
  right: 1.3vw;
  transform: translateY(-50%);
  border-radius: 50%;
  background-color: #2E2E2E;
  border: 1px solid #2E2E2E;
  transition: 0.2s;
}
.md-spNav_openIcon ._arrow {
  position: absolute;
  width: 25%;
  height: 25%;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -74%) rotate(-45deg);
  transition: 0.2s;
}
.md-spNav_openIcon.active {
  transform: translateY(-50%) rotate(-180deg);
  background-color: #fff;
}
.md-spNav_openIcon.active ._arrow {
  border-left: 2px solid #2E2E2E;
  border-bottom: 2px solid #2E2E2E;
}

.md-spNav_imgWrap {
  position: absolute;
  width: 60%;
  left: 0;
  bottom: 9.2vw;
}

/*===============================
         md-topFv
===============================*/
.md-topFv_flex {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.md-topFv_videoWrap {
  position: relative;
  width: 89.1%;
  flex: 1;
}
.md-topFv_videoWrap picture, .md-topFv_videoWrap video {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.md-topFv_videoWrap video {
  -o-object-fit: cover;
     object-fit: cover;
}
.md-topFv_videoWrap::before {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-image: linear-gradient(70deg, #343434 45%, transparent 100%);
  z-index: 2;
  opacity: 0.57;
}

.md-topFv_lTt {
  position: absolute;
  z-index: 3;
  top: 50vh;
  transform: translateY(-50%);
	font-size: var(--fontSize_pc85);
  font-family: "zen-kaku-gothic", sans-serif;
  font-weight: 700;
  letter-spacing: 0.05em;
  width: -moz-max-content;
  width: max-content;
  padding-left: 5.2vw;
  background: linear-gradient(90deg, #FFFFFF 0%, #872E2E 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
	line-height: 1.4;
}
.md-topFv_lTt span {
  letter-spacing: -0.05em;
}
.md-topFv_lTt div {
  margin-left: -0.5em;
}

.md-topFv_redBg {
  position: absolute;
  width: 100%;
  height: 89.8%;
  background-color: #872E2E;
  left: 5.7vw;
  top: 0;
  z-index: -1;
}

.md-topFv_bottomWrap {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 0;
}

.md-topFv_playBtn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 10.9em;
  height: 2.2em;
  font-size: var(--fontSize_pc22);
  font-weight: 400;
  font-family: "lato", sans-serif;
  letter-spacing: 0.05em;
  border: 1px solid #2E2E2E;
  text-transform: uppercase;
  border-radius: 1.1em;
}
.md-topFv_playBtn img {
  width: 11.66%;
  margin-left: 0.64em;
}

.md-topFv_newsWrap {
  display: flex;
  align-items: center;
  font-size: var(--fontSize_pc22);
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #fff;
  transition: 0.2s;
}
.md-topFv_newsWrap ._date {
  font-size: var(--fontSize_pc25);
  font-family: "lato", sans-serif;
  font-weight: 700;
  color: #BE5555;
}
.md-topFv_newsWrap span + span {
  margin-left: 2.6vw;
}
@media only screen and (min-width: 1025px) {
  .md-topFv_newsWrap:hover {
    transform: translateX(10px);
  }
}

.md-topFv_blackBg {
  position: absolute;
  width: 51.8%;
  height: 103%;
  right: 0;
  top: 0;
  background-color: #2E2E2E;
  z-index: -2;
}

.md-topFv_kikaiLink {
  position: absolute;
  right: -3.125vw;
  bottom: 1.8vw;
  width: 18vw;
  padding: 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #fff;
  min-width: 180px;
  z-index: 3;
}
.md-topFv_kikaiLink ._imgWrap {
  background-color: #2D4F95;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 0 12px 0;
}
.md-topFv_kikaiLink ._imgWrap img {
  display: block;
  width: 72.9%;
  min-width: 13px;
}
.md-topFv_kikaiLink ._txt {
  font-size: var(--fontSize_pc13);
  font-weight: 700;
  letter-spacing: 0.02em;
  display: flex;
  align-items: center;
  margin-top: 6px;
}
.md-topFv_kikaiLink ._arrow {
  display: block;
  width: 0.667em;
  height: 0.6em;
  background-color: #2E2E2E;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  margin-left: 12px;
}

@media only screen and (min-width: 1025px) {
  .md-topFv_playBtn.tb {
    display: none;
  }
}
@media only screen and (max-width: 1024px) {
  .md-topFv_playBtn.tb {
    display: flex;
    position: absolute;
    z-index: 3;
    left: 50%;
    top: 62%;
    color: #fff;
    border: 1px solid #fff;
    font-size: var(--fontSize_sp10);
    width: 11.6em;
    height: 2.2em;
    transform: translateX(-50%);
  }
  .md-topFv_playBtn.tb img {
    margin-left: 11px;
  }
  .md-topFv_playBtn.n_tb {
    display: none;
  }
  .md-topFv_lTt {
    text-align: center;
    font-size: var(--fontSize_sp35);
    letter-spacing: 0.05em;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    line-height: 1.3;
  }
  .md-topFv_kikaiLink {
    bottom: 20px;
    right: -2.6vw;
    padding: 6px 5px 3px 5px;
    background-color: #fff;
  }
  .md-topFv_kikaiLink ._txt {
    font-size: var(--fontSize_sp10);
    margin-top: 2px;
  }
  .md-topFv_kikaiLink ._imgWrap img {
    width: 62.5%;
  }
  .md-topFv_redBg {
    left: 5.1vw;
    height: 94%;
  }
  .md-topFv_bottomWrap {
    padding: 14px 0 14px 5.1vw;
  }
  .md-topFv_newsWrap {
    font-size: var(--fontSize_sp13);
    font-weight: 400;
    justify-content: space-between;
    width: 100%;
    max-width: 550px;
    margin-left: auto;
  }
  .md-topFv_newsWrap ._date {
    font-size: var(--fontSize_sp14);
  }
  .md-topFv_blackBg {
    width: 94.9%;
    height: 100%;
  }
	.md-topFv_kikaiLink ._arrow{
		margin-top: 0.1em;
	}
}
/*===============================
         md-topCom
===============================*/
.md-topCom_ttkWrap {
  margin-bottom: 38px;
}

.md-topCom_contWrap {
  display: flex;
  align-items: center;
}

.md-topCom_imgWrap {
  position: relative;
  width: 40.8vw;
  margin-right: 12.3vw;
  aspect-ratio: 784/539;
}
.md-topCom_imgWrap ._redBg {
  position: absolute;
  width: 100%;
  height: 100%;
  left: -5.4vw;
  top: 3.6vw;
  background-color: #872E2E;
  z-index: -1;
}

.md-topCom_txtWrap {
  flex: 1;
}

.md-topCom_moreBtn {
  margin-top: 48px;
}

@media only screen and (max-width: 1280px) {
  .md-topCom_imgWrap {
    margin-right: 8vw;
  }
}
@media only screen and (max-width: 1024px) {
  .md-topCom_contWrap {
    display: block;
    max-width: 800px;
    margin: 0 auto;
  }
  .md-topCom_imgWrap {
    margin-right: 0;
    width: 100%;
  }
  .md-topCom_imgWrap ._redBg {
    left: -5.1vw;
    top: 4.1vw;
  }
  .md-topCom_txtWrap {
    margin-top: 10.77vw;
  }
  .md-topCom_moreBtn {
    margin-top: 30px;
  }
}
/*===============================
         md-topServ
===============================*/
.md-topServ_contWrap {
  display: flex;
  align-items: end;
}

.md-topServ_txtWrap {
  margin-right: 12.5vw;
  flex: 1;
}

.md-topServ_sTxt {
  padding-right: 6.14vw;
}

.md-topServ_imgWrap {
  position: relative;
  width: 34.375vw;
  aspect-ratio: 660/836;
}
.md-topServ_imgWrap img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  opacity: 0;
  transition: opacity 0.6s ease;
}

.md-topServ_imgWrap img.active {
  opacity: 1;
  z-index: 1;
}

.md-topServ_imgWrap ._redBg {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #872E2E;
  top: -5.625vw;
  right: -7.8125vw;
  z-index: -1;
}

.md-topServ_ttkWrap {
  margin-bottom: 30px;
}

.md-topServ_linkWrap {
  margin-top: 32px;
}

.md-topServ_link {
  position: relative;
  padding: 2.6vw 0 1.3vw 2.6vw;
  border-top: 1px solid rgba(46, 46, 46, 0.5);
  border-left: 1px solid rgba(46, 46, 46, 0.5);
  display: flex;
  flex-direction: column;
}
.md-topServ_link ._en {
  font-size: var(--fontSize_pc20);
  font-weight: 700;
  font-family: "lato", sans-serif;
  letter-spacing: 0.05em;
  color: #872E2E;
  line-height: 1;
  margin-bottom: 4px;
}
.md-topServ_link ._jp {
  font-size: var(--fontSize_pc40);
  font-weight: 700;
  font-family: "zen-kaku-gothic", sans-serif;
  line-height: 1.5;
}
.md-topServ_link::before {
  position: absolute;
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  background-image: linear-gradient(45deg, #EDE0E0 0, #872E2E 100%);
  top: 50%;
  right: 2.6vw;
  border-radius: 50%;
}
.md-topServ_link + .md-topServ_link {
  margin-top: 1.3vw;
}
@media only screen and (min-width: 1025px) {
  .md-topServ_link {
    transition: 0.2s;
  }
  .md-topServ_link:hover {
    background-color: rgba(128, 79, 79, 0.14);
  }
}

@media only screen and (max-width: 1280px) {
  .md-topServ_txtWrap {
    margin-right: 8vw;
  }
}
@media only screen and (max-width: 1024px) {
	.md-topServ_imgWrap img{
		opacity: 1;
		height: 100%;
	}
	.md-topServ_imgWrap picture{
		display: block;
		width: 100%;
		height: 100%;
	}
  .md-topServ_ttkWrap {
    margin-bottom: 38px;
  }
  .md-topServ_txtWrap {
    max-width: 800px;
    margin: 0 auto;
  }
  .md-topServ_contWrap {
    display: block;
  }
  .md-topServ_imgWrap {
    width: 100%;
    aspect-ratio: 350/340;
    margin-bottom: 26px;
  }
  .md-topServ_imgWrap ._redBg {
    right: -5.1vw;
    width: 72.6%;
    top: -5.6vw;
  }
  .md-topServ_linkWrap {
    margin-top: 20px;
  }
  .md-topServ_link {
    padding: 3.6vw 0 2vw 5.1vw;
  }
  .md-topServ_link ._en {
    font-size: var(--fontSize_sp11);
	  margin-bottom: 0;
  }
  .md-topServ_link ._jp {
    font-size: var(--fontSize_sp18);
  }
  .md-topServ_link::before {
    width: 10px;
    height: 10px;
    right: 2.55vw;
  }
  .md-topServ_link + .md-topServ_link {
    margin-top: 3.1vw;
  }
}
/*===============================
         md-topProd
===============================*/
.md-topProd_ttlWrap {
  text-align: center;
  margin-bottom: 38px;
}

.md-topProd_slideWrap {
  position: relative;
  margin-top: 38px;
  width: 100%;
  overflow: hidden;
  padding-bottom: 3.6vw;
}
.md-topProd_slideWrap ._bg {
  position: absolute;
  z-index: -1;
  width: 100%;
  height: calc(100% - 3.6vw);
  left: 0;
  bottom: 0;
  background-image: linear-gradient(90deg, #872E2E 0, rgba(68, 23, 23, 0) 100%);
}

.md-topProd_slide {
  display: flex;
  width: -moz-max-content;
  width: max-content;
}

.md-topProd_slide ._img{
	display: flex;
}
.md-topProd_slide ._img picture{
	margin: 0 6px;
	width: 13.5vw;
	min-width: 210px;
}
.md-topProd_slide._top ._img {
  animation: infinity-scroll-left 50s infinite linear 0.5s both;
}
.md-topProd_slide._bottom {
  margin-top: 20px;
}
.md-topProd_slide._bottom ._img {
  animation: infinity-scroll-right 50s infinite linear 0.5s both;
}

@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes infinity-scroll-right {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0%);
  }
}
.md-topProd_moreBtn {
  margin-top: 32px;
}

@media only screen and (max-width: 1024px) {
  .md-topProd_ttlWrap {
    margin-bottom: 25px;
  }
  .md-topProd_slideWrap {
    margin-top: 25px;
    padding-bottom: 6.4vw;
  }
	.md-topProd_slide picture{
		margin: 0 5px;
	}
  .md-topProd_slide._top picture {
    animation: infinity-scroll-left 50s infinite linear 0.5s both;
  }
  .md-topProd_slide._bottom picture {
    animation: infinity-scroll-right 50s infinite linear 0.5s both;
  }
  .md-topProd_slideWrap ._bg {
    height: calc(100% - 6.4vw);
  }
  .md-topProd_moreBtn {
    margin-top: 30px;
  }
}
/*===============================
         md-topGroup
===============================*/
.md-topGroup_ttlWrap {
  text-align: center;
  margin-bottom: 26px;
}

.md-topGroup_linkWrap {
  margin-top: 76px;
  display: grid;
  grid-template-columns: 9.15em 8em 9.15em;
  justify-content: center;
  -moz-column-gap: 0.2vw;
       column-gap: 0.2vw;
  font-size: var(--fontSize_pc40);
  font-weight: 700;
  letter-spacing: 0.05em;
}
.md-topGroup_linkWrap ._txt {
	position: relative;
  text-align: center;
}
#topGourp-lottie{
	position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    transform: translate(-50%, -50%);
    z-index: -1;
}

.md-topGroup_link {
  position: relative;
  width: 100%;
  font-size: var(--fontSize_pc22);
  font-weight: 700;
  letter-spacing: 0.025em;
  height: 2.18em;
  background-color: #FFFFFF;
  border: 2px solid #00277E;
  border-radius: 1.09em;
  display: flex;
  align-items: center;
  justify-content: center;
	margin-top: 38px;
}
.md-topGroup_linkWrap img{
	display: block;
}
.md-topGroup_link span {
  margin-right: 1em;
}
.md-topGroup_link img {
  position: absolute;
  width: 0.73em;
  top: 50%;
  right: 1.45em;
  transform: translateY(-50%);
}
.md-topGroup_link img._hover {
  opacity: 0;
}
@media only screen and (min-width: 1025px) {
  .md-topGroup_link {
    transition: 0.2s;
  }
  .md-topGroup_link img {
    transition: 0.2s;
  }
  .md-topGroup_link:hover {
    background-color: #00277E;
    color: #fff;
  }
  .md-topGroup_link:hover img._hover {
    opacity: 1;
  }
  .md-topGroup_link:hover img._normal {
    opacity: 0;
  }
}

@media only screen and (max-width: 1024px) {
	#topGourp-lottie{
		width: auto;
		height: 180%;
	}
  .md-topGroup_linkWrap {
    margin-top: 30px;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    font-size: var(--fontSize_sp22);
    row-gap: 20px;
    -moz-column-gap: 5.6vw;
         column-gap: 5.6vw;
  }
  .md-topGroup_linkWrap ._txt {
    grid-column: 1/3;
    grid-row: 1/2;
  }
  .md-topGroup_link {
    font-size: var(--fontSize_sp11);
    height: 2.9em;
    border-radius: 1.5em;
	  margin-top: 16px;
  }
}
/*===============================
         md-topNews
===============================*/
.md-topNews_contWrap {
  display: flex;
}

.md-topNews_ttlWrap {
  margin-right: 9.7vw;
}

.md-topNews_moreBtn {
  margin-top: 82px;
}

.md-topNews_listWrap {
  flex: 1;
}

.md-topNews_list {
  position: relative;
  border-top: 1px solid #2E2E2E;
  border-left: 1px solid #2E2E2E;
}
.md-topNews_list a {
  display: flex;
  padding: 2.2vw;
}
@media only screen and (min-width: 1025px) {
  .md-topNews_list a {
    transition: 0.2s;
  }
  .md-topNews_list a:hover {
    background-color: rgba(128, 79, 79, 0.14);
  }
}
.md-topNews_list ._imgWrap {
  width: 14.1vw;
  margin-right: 2.8vw;
  aspect-ratio: 270/186;
}
.md-topNews_list ._imgWrap img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.md-topNews_list + .md-topNews_list {
  margin-top: 32px;
}
.md-topNews_list::before {
  position: absolute;
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  top: 50%;
  right: 2.6vw;
  transform: translateY(-50%);
  background-image: linear-gradient(45deg, #EDE0E0 0, #872E2E 100%);
}

.md-topNews_txtWrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  line-height: 1.5;
}
.md-topNews_txtWrap ._date {
  font-size: var(--fontSize_pc25);
  font-weight: 400;
  font-family: "lato", sans-serif;
  letter-spacing: 0.05em;
  color: #872E2E;
  margin-bottom: 22px;
}
.md-topNews_txtWrap ._ttl {
  font-size: var(--fontSize_pc30);
  font-weight: 500;
}

@media only screen and (min-width: 1025px) {
  .md-topNews_moreBtn.tb {
    display: none;
  }
}
@media only screen and (max-width: 1024px) {
  .md-topNews_moreBtn.n_tb {
    display: none;
  }
  .md-topNews_contWrap {
    display: block;
    max-width: 800px;
    margin: 0 auto;
  }
  .md-topNews_listWrap {
    margin-top: 25px;
  }
  .md-topNews_list a {
    display: block;
    padding: 5.1vw 5.1vw 2.7vw 5.1vw;
  }
  .md-topNews_list ._imgWrap {
    width: 100%;
    margin-right: 0;
  }
  .md-topNews_list {
    border-top: 1px solid rgba(46, 46, 46, 0.5);
    border-left: 1px solid rgba(46, 46, 46, 0.5);
  }
  .md-topNews_list::before {
    display: none;
  }
  .md-topNews_list + .md-topNews_list {
    margin-top: 6vw;
  }
  .md-topNews_txtWrap {
    position: relative;
    margin-top: 10px;
  }
  .md-topNews_txtWrap::before {
    position: absolute;
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    background-image: linear-gradient(45deg, #EDE0E0 0, #872E2E 100%);
  }
  .md-topNews_txtWrap ._date {
    font-size: var(--fontSize_sp11);
    margin-bottom: 4px;
  }
  .md-topNews_txtWrap ._ttl {
    font-size: var(--fontSize_sp13);
  }
  .md-topNews_moreBtn {
    margin-top: 30px;
  }
}
/*===============================
         md-topRec
===============================*/
.md-topRec_inner {
  position: relative;
  z-index: 2;
  padding-left: 1.5625vw;
}

.md-topRec_ttlWrap {
  margin-bottom: 80px;
  color: #fff;
}

.md-topRec_contWrap {
  display: flex;
  align-items: end;
}

.md-topRec_imgWrap {
  position: relative;
  width: 40.8vw;
  aspect-ratio: 784/539;
  margin-right: 13.2vw;
}
.md-topRec_imgWrap ._bgRed {
  position: absolute;
  width: 102.9%;
  height: 102%;
  background-color: #872E2E;
  top: -0.9%;
  left: -1.5%;
  transform: rotate(-8deg);
  z-index: -1;
}

.md-topRec_txtWrap {
  flex: 1;
  color: #fff;
}

.md-topRec_moreBtn {
  margin-top: 50px;
}

.md-topRec_bottomTxtHide {
  position: absolute;
  bottom: 0;
  width: 100%;
  overflow: hidden;
}
.md-topRec_bottomTxtHide ._slide {
  display: flex;
  width: -moz-max-content;
  width: max-content;
}
.md-topRec_bottomTxtHide ._txt {
  font-size: 6.9vw;
  font-family: "lato", sans-serif;
  font-weight: 400;
  color: #fff;
  line-height: 0.8;
  padding: 0 0.25em;
  animation: infinity-scroll-left 40s infinite linear 0.5s both;
  opacity: 0.2;
}

@media only screen and (max-width: 1280px) {
  .md-topRec_imgWrap {
    margin-right: 8vw;
  }
}
@media only screen and (max-width: 1024px) {
  .md-topRec_inner {
    padding-left: 0;
    max-width: 800px;
  }
  .md-topRec_contWrap {
    display: block;
  }
  .md-topRec_imgWrap {
    width: calc(100% - 10.2vw);
    margin: 0 auto;
  }
  .md-topRec_txtWrap {
    margin-top: 11.3vw;
  }
  .md-topRec_ttlWrap {
    margin-bottom: 11.3vw;
  }
  .md-topRec_moreBtn {
    margin-top: 30px;
  }
  .md-topRec_bottomTxtHide ._txt {
    font-size: 15.4vw;
  }
}
/*===============================
         md-footContact
===============================*/
.md-footContact_contWrap {
  display: flex;
}

.md-footContact_ttlWrap {
  color: #fff;
  margin-right: 12.1vw;
}

.md-footContact_boxWrap {
  position: relative;
  flex: 1;
  margin-top: 1.77vw;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 15px;
       column-gap: 15px;
  text-align: center;
}
.md-footContact_boxWrap ._box {
  position: relative;
  z-index: 2;
  padding-top: 3.8vw;
  padding-bottom: 3.4vw;
  background-color: #fff;
}
.md-footContact_boxWrap ._img {
  display: block;
  width: 50px;
  aspect-ratio: 1/1;
  margin: 0 auto 15px auto;
}
.md-footContact_boxWrap ._boxTtl {
  font-size: var(--fontSize_pc30);
  font-family: "zen-kaku-gothic", sans-serif;
  font-weight: 500;
  margin-bottom: 26px;
  line-height: 1.5;
}
.md-footContact_boxWrap ._tel {
  font-size: var(--fontSize_pc40);
  font-family: "lato", sans-serif;
  font-weight: 900;
  letter-spacing: 0.05em;
  display: block;
  line-height: 1;
}
.md-footContact_boxWrap ._sTxt {
  font-size: var(--fontSize_pc20);
  font-family: "zen-kaku-gothic", sans-serif;
  font-weight: 500;
}
.md-footContact_boxWrap ._contact {
  width: 15.5em;
  height: 3.18em;
  font-size: var(--fontSize_pc22);
  font-weight: 500;
  font-family: "zen-kaku-gothic", sans-serif;
  color: #fff;
  background-color: #872E2E;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 1.59em;
  margin: 0 auto;
}
@media only screen and (min-width: 1025px) {
  .md-footContact_boxWrap ._contact {
    transition: 0.2s;
  }
  .md-footContact_boxWrap ._contact:hover {
    background-color: #2E2E2E;
  }
}
.md-footContact_boxWrap::before {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(90deg, #872E2E 0, transparent 100%);
  top: 2.3vw;
  left: -1.77vw;
  z-index: 1;
}

@media only screen and (max-width: 1280px) {
  .md-footContact_contWrap {
    display: block;
  }
  .md-footContact_boxWrap {
    margin-top: 50px;
  }
}
@media only screen and (max-width: 1024px) {
  .md-footContact_boxWrap {
    grid-template-columns: 100%;
    grid-template-rows: 1fr 1fr;
    row-gap: 15px;
    padding: 0 5.1vw;
    margin: 34px auto 0 auto;
    max-width: 800px;
  }
  .md-footContact_boxWrap::before {
    left: 0;
    top: 5.9vw;
  }
  .md-footContact_boxWrap ._box {
    padding-top: 6.2vw;
    padding-bottom: 7.2vw;
  }
  .md-footContact_boxWrap ._img {
    width: 38px;
    margin-bottom: 8px;
  }
  .md-footContact_boxWrap ._boxTtl {
    font-size: var(--fontSize_sp18);
    margin-bottom: 8px;
  }
  .md-footContact_boxWrap ._tel {
    font-size: var(--fontSize_sp26);
    margin-bottom: 4px;
  }
  .md-footContact_boxWrap ._sTxt {
    font-size: var(--fontSize_sp13);
  }
  .md-footContact_boxWrap ._contact {
    margin-top: 12px;
    font-size: var(--fontSize_sp13);
  }
}
/*===============================
         md-foot
===============================*/
.md-foot_contWrap {
  padding-top: 128px;
  display: flex;
  padding-bottom: 34px;
  border-bottom: 1px solid #707070;
}

.md-foot_infoWrap {
  width: 23.4vw;
  margin-right: 10vw;
  font-size: var(--fontSize_pc18);
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #fff;
}

.md-foot_logoWrap {
  display: block;
  width: 100%;
  margin-bottom: 66px;
}

.md-foot_linkWrap {
  flex: 1;
}

.md-foot_pageLink {
  width: 100%;
  padding-top: 6vw;
}
.md-foot_pageLink ul {
  width: 100%;
  display: flex;
  justify-content: space-between;
  color: #fff;
}
.md-foot_pageLink ._item a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.md-foot_pageLink ._item a ._en {
  font-family: "lato", sans-serif;
  font-size: var(--fontSize_pc20);
  letter-spacing: 0.05em;
  font-weight: 400;
  line-height: 1;
  text-transform: uppercase;
}
.md-foot_pageLink ._item a ._jp {
  font-size: var(--fontSize_pc14);
  font-weight: 400;
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 1025px) {
  .md-foot_pageLink ._item a {
    transition: 0.2s;
  }
  .md-foot_pageLink ._item a:hover {
    opacity: 0.6;
  }
}

.md-foot_lowerWrap {
  display: flex;
  align-items: end;
  justify-content: space-between;
  margin-top: 78px;
}

.md-foot_groupLink {
  width: 15.9vw;
  min-width: 174px;
}
.md-foot_groupLink span {
  font-size: var(--fontSize_pc20);
  font-weight: 400;
  font-family: "lato", sans-serif;
  letter-spacing: 0.05em;
  display: block;
  margin-bottom: 16px;
  line-height: 1;
  color: #fff;
}
@media only screen and (min-width: 1025px) {
  .md-foot_groupLink a {
    transition: 0.2s;
  }
  .md-foot_groupLink a:hover {
    opacity: 0.6;
  }
}

.md-foot_instaLink {
  width: 40px;
}
@media only screen and (min-width: 1025px) {
  .md-foot_instaLink {
    transition: 0.2s;
  }
  .md-foot_instaLink:hover {
    opacity: 0.6;
  }
}

.md-foot_policyLink {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 22px;
  margin-left: auto;
  color: #fff;
  font-size: var(--fontSize_pc20);
  font-family: "lato", sans-serif;
  font-weight: 300;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.md-foot_secLink{
	display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 8px;
  margin-left: auto;
  color: #fff;
  font-size: var(--fontSize_pc20);
  font-family: "lato", sans-serif;
  font-weight: 300;
  letter-spacing: 0.05em;
  text-transform: uppercase;
	cursor: pointer;
}
@media only screen and (min-width: 1025px) {
  .md-foot_policyLink,.md-foot_secLink {
    transition: 0.2s;
  }
  .md-foot_policyLink:hover,.md-foot_secLink:hover {
    opacity: 0.6;
  }
}

.md-foot_bottomTxt {
  padding-top: 22px;
  text-align: center;
  font-size: var(--fontSize_pc18);
  font-weight: 300;
  letter-spacing: 0.05em;
  font-family: "lato", sans-serif;
  text-transform: uppercase;
  color: #FFFFFF;
}

@media only screen and (max-width: 1024px) {
  .md-foot_contWrap {
    padding-top: 80px;
    display: block;
    padding-bottom: 10px;
  }
  .md-foot_infoWrap {
    width: 100%;
    margin-right: 0;
    font-size: var(--fontSize_sp12);
  }
  .md-foot_logoWrap {
    width: 49.7vw;
    margin-bottom: 20px;
  }
  .md-foot_pageLink {
    padding-top: 64px;
  }
  .md-foot_pageLink ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: auto auto;
    row-gap: 18px;
  }
  .md-foot_pageLink ._item a {
    align-items: start;
  }
  .md-foot_pageLink ._item a ._en {
    font-size: var(--fontSize_sp14);
  }
  .md-foot_pageLink ._item a ._jp {
    font-size: var(--fontSize_sp11);
	  margin-top: 2px;
  }
  .md-foot_lowerWrap {
    margin-top: 28px;
  }
  .md-foot_lowerWrap {
    align-items: start;
  }
  .md-foot_groupLink span {
    font-size: var(--fontSize_sp14);
    margin-bottom: 8px;
  }
  .md-foot_instaLink {
    width: 26px;
    padding-top: calc(var(--fontSize_sp14) + 8px);
  }
  .md-foot_policyLink {
    margin-top: 28px;
    font-size: var(--fontSize_sp11);
  }
  .md-foot_bottomTxt {
    font-size: var(--fontSize_sp9);
    padding-top: 6px;
  }
	.md-foot_secLink{
	  font-size: var(--fontSize_sp11);
	}
}

/*===============================
         md-modal
===============================*/
.md-modal{
	position: fixed;
	width: 89.6%;
	height: 80vh;
	background-color: rgba(46, 46, 46, 0.8);
	bottom: calc((100% - 80px) / 2);
	left: 50%;
	transform: translate(-50%, 50%);
	z-index: 9;
	padding: 0 9.6vw;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.md-modal ._top{
	font-size: var(--fontSize_pc22);
	color: #fff;
	letter-spacing: 0.03em;
	margin-bottom: 36px; 
}
.md-modal_txtWrap{
	min-height: 0;
	height: 48vh;
	padding: 5.7vh 0.7vw 3.9vh 4.3vw;
	background-color: #FFFDFD;
	font-size: var(--fontSize_pc18);
	font-weight: 400;
	letter-spacing: 0.03em;
	line-height: 1.78;
}
.md-modal_txtWrap ._scrollWrap{
	height: 100%;
	min-height: 0;
	overflow: auto;
	padding-right: 4.2vw;
}
.md-modal_txtWrap ._scrollWrap::-webkit-scrollbar {
    width: 15px;
  }

.md-modal_txtWrap ._scrollWrap::-webkit-scrollbar-track {
    background: transparent;
    border: 1px solid #707070;
  }

.md-modal_txtWrap ._scrollWrap::-webkit-scrollbar-thumb {
    background: #872E2E;
  }
.md-modal_txtWrap ._scrollWrap::-webkit-scrollbar-thumb:hover {
    background: #872E2E;
  }
.md-modal_txtWrap ._scrollWrap::-webkit-scrollbar-thumb:active {
    background: #872E2E;
  }
.md-modal_closeBtn{
	margin: 6.1vh auto 0 auto;
	width: 11.8em;
	height: 2.45em;
	font-size: var(--fontSize_pc22);
	color: inherit;
	border-radius: 1.3em;
	border: 2px solid #872E2E;
	background-color: #fff;
	font-weight: 700;
}
@media only screen and (min-width: 1025px){
	.md-modal_closeBtn{
		transition: .2s;
	}
	.md-modal_closeBtn:hover{
		background-color: #872E2E;
		color: #fff;
	}
}
@media only screen and (max-width: 1024px){
	.md-modal{
		width: 89.8%;
		height: 82vh;
		bottom: calc((100% - 52px) / 2);
		padding: 0 5.2vw;
	}
	.md-modal ._top{
		font-size: var(--fontSize_sp18);
		margin-bottom: 20px; 
	}
	.md-modal_txtWrap{
		height: 52vh;
		padding: 5.7vh 0.7vw 3.9vh 4.3vw;
		font-size: var(--fontSize_sp13);
	}
	.md-modal_txtWrap ._scrollWrap{
		padding-right: 4.2vw;
	}
	.md-modal_txtWrap ._scrollWrap::-webkit-scrollbar {
		width: 8px;
	  }
	.md-modal_closeBtn{
		margin: 40px auto 0 auto;
		font-size: var(--fontSize_sp12);
	}
}

/*===============================
         md-lowerTop
===============================*/
.md-lowerTop_picWrap {
  position: relative;
  width: 94.8vw;
  aspect-ratio: 1820/644;
}
.md-lowerTop_picWrap picture {
  display: block;
  width: 100%;
  height: 100%;
}
.md-lowerTop_picWrap::before {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-image: linear-gradient(80deg, #343434 20%, transparent 80%);
  opacity: 0.57;
}
.md-lowerTop_picWrap ._bgRed {
  position: absolute;
  width: 100%;
  height: 100%;
  right: -2.6vw;
  top: -2.6vw;
  background-color: #872E2E;
  z-index: -1;
}
.md-lowerTop_picWrap._products::before{
	background-image: linear-gradient(80deg, #101010 20%,rgba(255,255,255,0) 90%, transparent 120%);
}
.md-lowerTop_pic._products{
	background-color:#2E2E2E;
}
.md-lowerTop_pic._products img{
	object-fit: contain;
}
.md-lowerTop_ttlWrap {
  position: absolute;
	top: calc(50% + 40px);
  left: 2.6vw;
  transform: translateY(-50%);
  color: #fff;
}
.md-lowerTop_ttlWrap ._en {
  font-size: var(--fontSize_pc110);
  font-family: "lato", sans-serif;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  text-transform: uppercase;
}
.md-lowerTop_ttlWrap ._jp {
  font-size: var(--fontSize_pc20);
  font-weight: 500;
  font-family: "zen-kaku-gothic", sans-serif;
  letter-spacing: 0.05em;
}

.md-lowerTop_bottomWrap {
  padding: 24px 0;
  display: flex;
  justify-content: end;
  align-items: center;
	font-size: var(--fontSize_pc14);
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #fff;
	line-height: 1;
}
.md-lowerTop_bottomWrap span:first-child {
	font-size: var(--fontSize_pc16);
  font-family: "lato", sans-serif;
  font-weight: 300;
  text-transform: uppercase;
}
.md-lowerTop_bottomWrap span + span {
  position: relative;
  margin-left: 5.3em;
}
.md-lowerTop_bottomWrap span + span::before {
  position: absolute;
  content: "";
  display: block;
  width: 2em;
  height: 1px;
  background-color: #fff;
  left: -2.65em;
  top: 50%;
  transform: translateX(-50%);
}

.md-lowerTop_bgBlack {
  position: absolute;
  width: 54.375vw;
  height: 100%;
  top: 0;
  right: 0;
  background-color: #2E2E2E;
  z-index: -2;
}

@media only screen and (max-width: 1024px) {
  .md-lowerTop_picWrap {
    width: 89.7%;
    aspect-ratio: 350/310;
    max-height: 500px;
  }
  .md-lowerTop_picWrap ._bgRed {
    top: -0.5vw;
    right: -5.1vw;
  }
  .md-lowerTop_ttlWrap {
    top: auto;
    bottom: 5.7vw;
    left: 5.1vw;
  }
  .md-lowerTop_ttlWrap ._en {
    font-size: var(--fontSize_sp40);
  }
  .md-lowerTop_ttlWrap ._jp {
    font-size: var(--fontSize_sp11);
  }
  .md-lowerTop_bgBlack {
    width: 94.9vw;
  }
  .md-lowerTop_bottomWrap {
    padding: 10px 0;
    font-size: var(--fontSize_sp9);
  }
  .md-lowerTop_bottomWrap span:first-child {
    font-size: var(--fontSize_sp9);
  }
  .md-lowerTop_bottomWrap span + span {
    margin-left: 3.33em;
  }
  .md-lowerTop_bottomWrap span + span::before {
    width: 1.1em;
    left: -1.1em;
  }
	.md-lowerTop_pic._com img{
		object-position: 26% 50%;
	}
	.md-lowerTop_pic._serv img{
		object-position: 70% 50%;
	}
	.md-lowerTop_pic._products img{
		object-fit: cover;
	}
	.md-lowerTop_picWrap._products{
		padding-top: 52px;
	}
}
/*===============================
         md-comMsg
===============================*/
.md-comMsg_contWrap {
  display: flex;
}

.md-comMsg_leftWrap {
  width: 26.1vw;
  margin-right: 8.4vw;
}

.md-comMsg_ttlWrap {
  margin-bottom: 72px;
}

.md-comMsg_imgWrap {
  width: 100%;
  aspect-ratio: 502/582;
  position: relative;
}
.md-comMsg_imgWrap ._bgRed {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #872E2E;
  top: 2.3vw;
  left: -2.6vw;
  z-index: -1;
}

.md-comMsg_rightWrap {
  flex: 1;
  padding-top: 20px;
}

.md-comMsg_lTxt {
  font-size: var(--fontSize_pc55);
  font-family: "zen-kaku-gothic", sans-serif;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.3;
  margin-bottom: 76px;
}
.md-comMsg_lTxt span {
  margin-left: -0.5em;
}

.md-comMsg_sTxt {
  font-size: var(--fontSize_pc22);
  font-weight: 500;
  margin-bottom: 34px;
}

.md-comMsg_nameWrap {
  text-align: right;
  font-weight: 700;
}
.md-comMsg_nameWrap ._post {
  font-size: var(--fontSize_pc22);
  padding-right: 1.9em;
}
.md-comMsg_nameWrap ._name {
  font-size: var(--fontSize_pc28);
}

.md-comMsg_bgImg {
  position: absolute;
  top: 0;
  right: 1.77vw;
  width: 27.8vw;
	z-index: -1;
}
.md-comMsg_bgImg.fixed{
	position: fixed;
	top: 80px;
}

@media only screen and (max-width: 1024px) {
  .md-comMsg_bgImg {
    display: none;
  }
  .md-comMsg_contWrap {
    display: block;
  }
  .md-comMsg_leftWrap {
    width: 100%;
    margin-right: 0;
  }
  .md-comMsg_ttlWrap {
    display: flex;
    flex-direction: column-reverse;
    margin-bottom: 25px;
  }
  .md-comMsg_imgWrap {
    aspect-ratio: 350/254;
    max-height: 500px;
  }
  .md-comMsg_imgWrap img {
    -o-object-position: 50% 30%;
       object-position: 50% 30%;
  }
  .md-comMsg_imgWrap ._bgRed {
    left: -5.1vw;
    height: 93%;
    top: 9vw;
  }
  .md-comMsg_rightWrap {
    padding-top: 10.8vw;
  }
  .md-comMsg_lTxt {
    font-size: var(--fontSize_sp21);
    letter-spacing: 0;
    margin-bottom: 24px;
  }
  .md-comMsg_sTxt {
    font-size: var(--fontSize_sp13);
    margin-bottom: 24px;
  }
  .md-comMsg_nameWrap ._post {
    font-size: var(--fontSize_sp13);
    padding-right: 0.8em;
  }
  .md-comMsg_nameWrap ._name {
    font-size: var(--fontSize_sp18);
  }
}
/*===============================
         md-comPlcy
===============================*/
.sticky{
	position: sticky;
	top: 120px;
	left: 0;
}
.md-comPlcy_contWrap {
  display: flex;
}

.md-comPlcy_ttlWrap {
  margin-right: 13.3vw;
}

.md-comPlcy_txtWrap {
  flex: 1;
}
.md-comPlcy_block{
	padding-top: calc(var(--fontSize_pc20) * 1.4 );
}
.md-comPlcy_block ._ttl {
  font-size: var(--fontSize_pc45);
  font-weight: 700;
  font-family: "zen-kaku-gothic", sans-serif;
  letter-spacing: 0.05em;
}
.md-comPlcy_block + .md-comPlcy_block {
  margin-top: 104px;
}
.md-comPlcy_block ._sTxt {
  margin-top: 20px;
  font-size: var(--fontSize_pc30);
  font-weight: 400;
  letter-spacing: 0.025em;
  line-height: 1.4;
}
.md-comPlcy_block ._list {
  margin-top: 30px;
}
.md-comPlcy_block ._list li {
  border-bottom: 1px solid rgba(46, 46, 46, 0.5);
  font-size: var(--fontSize_pc30);
  font-weight: 500;
  letter-spacing: 0.1em;
  width: -moz-fit-content;
  width: fit-content;
}
.md-comPlcy_block ._list li span {
  color: #872E2E;
  font-weight: 700;
}
.md-comPlcy_block ._list li + li {
  margin-top: 16px;
}

.md-comPlcy_grid {
  margin-top: 30px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.6vw;
}
.md-comPlcy_grid div {
  position: relative;
  background-color: #D4CCCC;
  padding: 1.5625vw;
  font-size: var(--fontSize_pc40);
  font-family: "zen-kaku-gothic", sans-serif;
  font-weight: 700;
  letter-spacing: 0.05rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.md-comPlcy_grid div::before, .md-comPlcy_grid div::after {
  position: absolute;
  content: "";
  display: block;
  width: 23.6%;
  height: 31.7%;
}
.md-comPlcy_grid div::before {
  border-left: 1px solid #872E2E;
  border-top: 1px solid #872E2E;
  top: 0;
  left: 0;
}
.md-comPlcy_grid div::after {
  border-right: 1px solid #872E2E;
  border-bottom: 1px solid #872E2E;
  bottom: 0;
  right: 0;
}

.md-comPlcy_bottomWrap {
  position: absolute;
  width: 100%;
  overflow: hidden;
	border-top: 1px solid rgba(46, 46, 46, 0.3);
  border-bottom: 1px solid rgba(46, 46, 46, 0.3);
  bottom: 0;
}
.md-comPlcy_bottomWrap ._slide {
  display: flex;
  width: -moz-max-content;
  width: max-content;
}
.md-comPlcy_bottomWrap ._txt {
  font-size: 4.8vw;
  font-weight: 400;
  font-family: "lato", sans-serif;
  padding: 0 0.5em;
  animation: infinity-scroll-left 40s infinite linear 0.5s both;
  line-height: 0.7;
  color: #872E2E;
  opacity: 0.35;
}

@media only screen and (max-width: 1024px) {
	.md-comPlcy_block{
		padding-top: 0;
	}
	.sticky{
		position: relative;
		top: auto;
		left: auto;
	}
  .md-comPlcy_contWrap {
    display: block;
  }
  .md-comPlcy_ttlWrap {
    display: flex;
    flex-direction: column-reverse;
  }
  .md-comPlcy_txtWrap {
    margin-top: 30px;
  }
  .md-comPlcy_block ._ttl {
    font-size: var(--fontSize_sp23);
  }
  .md-comPlcy_grid {
    margin-top: 14px;
  }
  .md-comPlcy_grid {
    gap: 6.15vw;
  }
  .md-comPlcy_grid div {
    font-size: var(--fontSize_sp18);
  }
  .md-comPlcy_block + .md-comPlcy_block {
    margin-top: 30px;
  }
  .md-comPlcy_block ._sTxt {
    font-size: var(--fontSize_sp15);
    margin-top: 12px;
  }
  .md-comPlcy_block ._list {
    margin-top: 15px;
  }
  .md-comPlcy_block ._list li {
    font-size: var(--fontSize_sp15);
    letter-spacing: 0.1em;
  }
  .md-comPlcy_block ._list li + li {
    margin-top: 10px;
  }
  .md-comPlcy_bottomWrap ._txt {
    font-size: 15.4vw;
  }
}
/*===============================
         md-comEnPlcy
===============================*/
.md-comEnPlcy_contWrap {
  display: flex;
}

.md-comEnPlcy_ttlWrap {
  margin-right: 5.7vw;
}

.md-comEnPlcy_rightWrap {
  flex: 1;
}
.md-comEnPlcy_rightWrap{
	padding-top: calc(var(--fontSize_pc20) * 1.4 );
}

.md-comEnPlcy_block ._ttl {
  font-size: var(--fontSize_pc45);
  font-family: "zen-kaku-gothic", sans-serif;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.md-comEnPlcy_block ._sTxt {
  font-size: var(--fontSize_pc30);
  font-weight: 400;
  letter-spacing: 0.025em;
  margin-top: 20px;
}
.md-comEnPlcy_block + .md-comEnPlcy_block {
  margin-top: 104px;
}

.md-comEnPlcy_list {
  margin-top: 30px;
}
.md-comEnPlcy_list ._item {
  display: flex;
  border-bottom: 1px solid rgba(46, 46, 46, 0.5);
  padding-bottom: 15px;
}
.md-comEnPlcy_list ._item + ._item {
  margin-top: 44px;
}
.md-comEnPlcy_list ._num {
  margin-right: 1.25vw;
  font-size: var(--fontSize_pc70);
  font-family: "lato", sans-serif;
  font-weight: 700;
  line-height: 1;
  color: #872E2E;
}
.md-comEnPlcy_list ._txtWrap {
  flex: 1;
  padding-top: calc(var(--fontSize_pc70) * 0.3);
}
.md-comEnPlcy_list ._txtWrap ._lTxt {
  font-size: var(--fontSize_pc30);
  font-weight: 700;
  letter-spacing: 0.025em;
  margin-bottom: 15px;
}
.md-comEnPlcy_list ._txtWrap ._sTxt {
  font-size: var(--fontSize_pc22);
  font-weight: 400;
}

.md-comEnPlcy_bottomTxt {
  margin-top: 36px;
  font-size: var(--fontSize_pc22);
  font-weight: 500;
}

@media only screen and (max-width: 1024px) {
	.md-comEnPlcy_rightWrap{
		padding-top: 0;
	}
  .md-comEnPlcy_contWrap {
    display: block;
  }
  .md-comEnPlcy_ttlWrap {
    display: flex;
    flex-direction: column-reverse;
    margin-right: 0;
    margin-bottom: 30px;
  }
  .md-comEnPlcy_block ._ttl {
    font-size: var(--fontSize_sp23);
  }
  .md-comEnPlcy_block ._sTxt {
    margin-top: 14px;
    font-size: var(--fontSize_sp13);
    letter-spacing: 0.08em;
  }
  .md-comEnPlcy_block + .md-comEnPlcy_block {
    margin-top: 30px;
  }
  .md-comEnPlcy_list {
    margin-top: 20px;
  }
  .md-comEnPlcy_list ._num {
    font-size: var(--fontSize_sp30);
    width: -moz-fit-content;
    width: fit-content;
  }
  .md-comEnPlcy_list ._txtWrap {
    padding-top: 0;
    display: grid;
    grid-template-columns: calc(var(--fontSize_sp30) * 2) 1fr;
  }
  .md-comEnPlcy_list ._txtWrap ._sTxt {
    grid-column: 1/3;
    font-size: var(--fontSize_sp12);
    letter-spacing: 0.05em;
  }
  .md-comEnPlcy_list ._txtWrap ._lTxt {
    font-size: var(--fontSize_sp18);
    margin-bottom: 0;
    padding-top: 0.25em;
  }
  .md-comEnPlcy_list ._item {
    padding-bottom: 20px;
  }
  .md-comEnPlcy_list ._item + ._item {
    margin-top: 15px;
  }
  .md-comEnPlcy_bottomTxt {
    font-size: var(--fontSize_sp13);
    font-weight: 400;
    margin-top: 20px;
  }
}
/*===============================
         md-comOl
===============================*/
.md-comOl_bgWrap {
  position: relative;
  padding-top: 202px;
  padding-bottom: 230px;
}

.md-comOl_bg {
  position: absolute;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
}
.md-comOl_bg::before {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #2E2E2E;
  opacity: 0.85;
}
.md-comOl_bg.fixed {
  position: fixed;
}
.md-comOl_bg.bottom {
  bottom: 0;
  top: auto;
}

.md-comOl_contWrap {
  position: relative;
  z-index: 2;
  max-width: 48.2%;
  margin: 0 auto;
  min-width: 850px;
  color: #fff;
}

.md-comOl_ttlWrap {
  margin-bottom: 106px;
  text-align: center;
}

.md-comOl_dl {
  display: flex;
  font-size: var(--fontSize_pc22);
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}
.md-comOl_dl dt {
  width: 9.8em;
  font-weight: 700;
}
.md-comOl_dl dd {
  font-weight: 400;
  flex: 1;
}
.md-comOl_dl dd span {
  font-weight: 700;
}
.md-comOl_dl + .md-comOl_dl {
  padding-top: 16px;
}

.md-comOl_mapWrap {
  display: flex;
  align-items: end;
  margin: 24px 0;
}
.md-comOl_mapWrap iframe {
  width: 82%;
  aspect-ratio: 554/290;
  margin-right: 1.56vw;
}
.md-comOl_mapWrap a {
  flex: 1;
}

@media only screen and (max-width: 1024px) {
  .md-comOl_bgWrap {
    padding-top: 100px;
    padding-bottom: 100px;
  }
  .md-comOl_bgWrap img {
    -o-object-position: 64% 50%;
       object-position: 64% 50%;
  }
  .md-comOl_contWrap {
    max-width: unset;
    min-width: unset;
    width: var(--innerWidth);
  }
  .md-comOl_ttlWrap {
    margin-bottom: 25px;
  }
  .md-comOl_dl {
    display: block;
    padding-top: 20px;
    padding-bottom: 20px;
    font-size: var(--fontSize_sp14);
  }
  .md-comOl_dl + .md-comOl_dl {
    padding-top: 20px;
  }
  .md-comOl_dl:first-child {
    border-top: 1px solid rgba(255, 255, 255, 0.5);
  }
  .md-comOl_dl dt {
    margin-bottom: 10px;
  }
  .md-comOl_mapWrap {
    display: block;
    margin-top: 20px;
    margin-bottom: 10px;
  }
  .md-comOl_mapWrap iframe {
    width: 100%;
    aspect-ratio: 350/195;
  }
  .md-comOl_mapWrap a {
    display: block;
    width: 90px;
    margin-left: auto;
    margin-top: 10px;
  }
  .md-comOl_dl dd span {
    font-weight: 400;
  }
}
/*===============================
         md-comOl
===============================*/
.md-comHiz_swiperWrap.swiper {
  margin: 0 2.6vw;
  margin-top: 92px;
  position: relative;
}
.md-comHiz_swiperWrap.swiper .swiper-wrapper {
  align-items: center;
}
.md-comHiz_swiperWrap.swiper .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 6vw;
}
.md-comHiz_swiperWrap.swiper .swiper-slide._1 {
  flex-direction: column;
}
.md-comHiz_swiperWrap.swiper .swiper-slide._1 ._mTxt {
  font-size: var(--fontSize_pc55);
  font-family: "zen-kaku-gothic", sans-serif;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-top: 54px;
  margin-bottom: 28px;
  line-height: 1.36;
}
.md-comHiz_swiperWrap.swiper .swiper-slide._1 ._sTxt {
  font-size: var(--fontSize_pc22);
  font-weight: 500;
  text-align: center;
}
.md-comHiz_swiperWrap.swiper::before, .md-comHiz_swiperWrap.swiper::after {
  position: absolute;
  content: "";
  display: block;
  width: 5vw;
  height: 100%;
  background-image: linear-gradient(90deg, #DBDBDB 0, transparent 100%);
  top: 0;
  z-index: 2;
}
.md-comHiz_swiperWrap.swiper::before {
  left: 0;
}
.md-comHiz_swiperWrap.swiper::after {
  right: 0;
  transform: rotate(180deg);
}
.md-comHiz_swiperWrap.swiper .swiper-horizontal > .swiper-scrollbar, .md-comHiz_swiperWrap.swiper .swiper-scrollbar.swiper-scrollbar-horizontal {
  display: none;
}

.md-comHiz_year {
  font-size: var(--fontSize_pc80);
  color: rgba(135, 46, 46, 0.7);
  font-weight: 700;
  font-family: "lato", sans-serif;
}
.md-comHiz_year span {
  font-family: "noto-serif", sans-serif;
  font-size: var(--fontSize_pc30);
  letter-spacing: 0.025em;
  padding-left: 12px;
  padding-right: 16px;
  color: #2E2E2E;
}
.md-comHiz_year._1 {
  display: flex;
  align-items: start;
}
.md-comHiz_year._1 span {
  font-family: "lato", sans-serif;
  font-size: var(--fontSize_pc106);
  line-height: 1;
  font-weight: 700;
  color: #fff;
  padding: 0;
}
.md-comHiz_year._1 ._lTxt {
  padding-left: 2.5vw;
  font-size: 10vw;
  background: linear-gradient(90deg, #FFFFFF -50%, #872E2E 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.md-comHiz_imgWrap {
  width: 34.9vw;
  aspect-ratio: 679/461;
  margin-right: 3.3vw;
}
.md-comHiz_imgWrap._narrow {
  width: 21.5vw;
  aspect-ratio: 413/531;
}
.md-comHiz_imgWrap picture {
  display: block;
  width: 100%;
  height: 100%;
}

.md-comHiz_circleTxt {
  position: relative;
  margin-top: 22px;
  padding-left: calc(1.25vw + 16px);
}
.md-comHiz_circleTxt::before {
  position: absolute;
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  top: calc(var(--fontSize_pc30) * 1.26 / 2);
  left: 0;
  transform: translateY(-50%);
  border-radius: 50%;
  background-image: linear-gradient(45deg, #EDE0E0 0, #872E2E 140%);
}
.md-comHiz_circleTxt ._mTxt {
  font-size: var(--fontSize_pc30);
  line-height: 1.26;
  font-weight: 500;
}
.md-comHiz_circleTxt ._sTxt {
  font-size: var(--fontSize_pc22);
  font-weight: 500;
  margin-top: 18px;
}

.md-comHiz_prev, .md-comHiz_next {
  position: absolute;
  width: 4.7vw;
  height: 4.7vw;
  max-width: 90px;
  max-height: 90px;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 50%;
  background-image: linear-gradient(70deg, #872E2E 0, #EDE0E0 100%);
  z-index: 3;
  cursor: pointer;
}
.md-comHiz_prev::before, .md-comHiz_next::before{
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-image: linear-gradient(70deg, #872E2E 0, #872E2E 100%);
	opacity: 0;
	border-radius: 50%;
}
@media only screen and (min-width: 1025px){
	.md-comHiz_prev::before, .md-comHiz_next::before{
		transition: .2s;
	}
	.md-comHiz_prev:hover::before, .md-comHiz_next:hover::before{
		opacity: 1;
	}
} 

.md-comHiz_prev ._arrow, .md-comHiz_next ._arrow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-25%, -50%) rotate(45deg);
  width: 32%;
  height: 32%;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
}

.md-comHiz_next {
  right: 0;
  transform: translateY(-50%) rotate(180deg);
}

@media only screen and (max-width: 1024px) {
  .md-comHiz_ttlWrap {
    display: flex;
    flex-direction: column-reverse;
    width: var(--innerWidth);
    margin: 0 auto;
  }
  .md-comHiz_year._1 span {
    font-size: var(--fontSize_sp40);
  }
  .md-comHiz_year._1 ._lTxt {
    font-size: 19vw;
    padding-left: 24px;
  }
  .md-comHiz_swiperWrap.swiper .swiper-slide._1 ._mTxt {
    font-size: var(--fontSize_sp22);
    margin-top: 26px;
    margin-bottom: 20px;
    text-align: center;
  }
  .md-comHiz_swiperWrap.swiper .swiper-slide._1 ._sTxt {
    font-size: var(--fontSize_sp13);
  }
  .md-comHiz_swiperWrap.swiper .swiper-slide {
    padding: 0 5.1vw;
    display: block;
  }
  .md-comHiz_imgWrap, .md-comHiz_imgWrap._narrow {
    width: 100%;
    aspect-ratio: 350/238;
    max-height: 500px;
    margin-right: 0;
  }
  .md-comHiz_year {
    font-size: var(--fontSize_sp36);
  }
  .md-comHiz_year span {
    font-size: var(--fontSize_sp14);
    padding: 0 14px 0 7px;
  }
  .md-comHiz_circleTxt ._mTxt {
    font-size: var(--fontSize_sp13);
  }
  .md-comHiz_circleTxt {
    padding-left: 26px;
    margin-top: 8px;
    min-height: calc(var(--fontSize_sp13) * 2.52 + 8px);
  }
  .md-comHiz_circleTxt::before {
    width: 8px;
    height: 8px;
    top: calc(var(--fontSize_sp13) * 1.26 / 2);
  }
  .md-comHiz_circleTxt._auto {
    min-height: unset;
  }
  .md-comHiz_circleTxt ._sTxt {
    margin-top: 8px;
    font-size: var(--fontSize_sp13);
  }
  .md-comHiz_swiperWrap.swiper {
    margin: 0;
    margin-top: 25px;
    padding-bottom: 90px;
  }
  .md-comHiz_swiperWrap.swiper .swiper-horizontal > .swiper-scrollbar, .md-comHiz_swiperWrap.swiper .swiper-scrollbar.swiper-scrollbar-horizontal {
    display: block;
    top: 50%;
    transform: translateY(-50%);
    width: 47.9%;
    height: 8px;
    background-color: #FFFFFF;
    border: 1px solid #707070;
    border-radius: 0;
  }
  .md-comHiz_swiperWrap.swiper .swiper-scrollbar-drag {
    border-radius: 0;
    background: #872E2E;
  }
  .md-comHiz_contWrap.l-inner {
    width: 100%;
  }
  .md-comHiz_year._1 {
    justify-content: center;
  }
  .md-comHiz_spNavWrap {
    position: absolute;
    bottom: 0;
    height: 50px;
    width: var(--innerWidth);
    left: 50%;
    transform: translateX(-50%);
  }
  .md-comHiz_spNavWrap .md-comHiz_prev, .md-comHiz_spNavWrap .md-comHiz_next {
    width: 50px;
    height: 50px;
    top: 0;
  }
  .md-comHiz_spNavWrap .md-comHiz_prev {
    transform: none;
    right: 72px;
    left: auto;
  }
  .md-comHiz_spNavWrap .md-comHiz_next {
    transform: rotate(180deg);
  }
}
/*===============================
         md-servSales
===============================*/
.md-servSales_contWrap {
  display: flex;
}

.md-servSales_ttlWrap {
  flex: 1;
}

.md-servSalesTtl_en {
  font-size: var(--fontSize_pc27);
  font-weight: 700;
  font-family: "lato", sans-serif;
  letter-spacing: 0.05em;
  color: #872E2E;
}

.md-servSalesTtl_sTxt {
  font-size: var(--fontSize_pc25);
  font-weight: 500;
  letter-spacing: 0.025em;
}

.md-servSalesTtl_jp {
  font-size: var(--fontSize_pc67);
  font-weight: 700;
  font-family: "zen-kaku-gothic", sans-serif;
  letter-spacing: 0.05em;
  line-height: 1.2;
}

.md-servSales_txtWrap {
  width: 55.1vw;
  padding-top: calc(var(--fontSize_pc25) * 1.9 + var(--fontSize_pc27) * 1.9);
}
.md-servSales_txtWrap ._lTxt {
  font-size: var(--fontSize_pc53);
  font-family: "zen-kaku-gothic", sans-serif;
  letter-spacing: 0.05em;
  line-height: 1.2;
}
.md-servSales_txtWrap ._sTxt {
  margin-top: 75px;
  font-size: var(--fontSize_pc22);
  font-weight: 500;
}

.md-servSales_imgWrap {
  position: relative;
  width: 100%;
  aspect-ratio: 1058/352;
  margin-top: 28px;
}
.md-servSales_imgWrap ._redBg {
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
  top: 1.7vw;
  right: -2.6vw;
  background-color: #872E2E;
}

.md-servSales_bgTxt {
  position: relative;
  margin-top: 70px;
  background-color: #D4CCCC;
  padding: 42px 2.6vw;
  border: 1px solid #707070;
  border-top: 0;
}
.md-servSales_bgTxt::before, .md-servSales_bgTxt::after {
  position: absolute;
  display: block;
  content: "";
  height: 1px;
  background-color: #707070;
  top: 0;
}
.md-servSales_bgTxt::before {
  left: 0;
  width: 48px;
}
.md-servSales_bgTxt::after {
  right: 0;
  width: calc(100% - (96px + var(--fontSize_pc30) * 1.025 * 4));
}
.md-servSales_bgTxt ._bgTtl {
  position: absolute;
  font-size: var(--fontSize_pc30);
  top: 0;
  left: 72px;
  transform: translateY(-50%);
}

.md-servSales_list {
  font-size: var(--fontSize_pc22);
  font-weight: 500;
}
.md-servSales_list ._bold {
  font-weight: 700;
}
.md-servSales_list li {
  position: relative;
  padding-left: calc(1.1em + 6px);
}
.md-servSales_list li::before {
  position: absolute;
  content: "";
  display: block;
  width: 0.8em;
  height: 0.9em;
  background-color: #872E2E;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.md-servSales_linkWrap {
  margin-top: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.md-servSales_linkWrap p {
  font-size: var(--fontSize_pc22);
  font-weight: 500;
}

@media only screen and (max-width: 1280px) {
  .md-servSales_linkWrap {
    display: block;
  }
  .md-servSales_linkWrap p {
    margin-bottom: 20px;
  }
}
@media only screen and (max-width: 1024px) {
  .md-servSales_contWrap {
    display: block;
  }
  .md-servSales_ttlWrap {
    display: grid;
    grid-template-rows: auto auto auto;
  }
  .md-servSalesTtl_jp {
    grid-row: 2/3;
    font-size: var(--fontSize_sp35);
  }
  .md-servSalesTtl_en {
    font-size: var(--fontSize_sp11);
  }
  .md-servSalesTtl_sTxt {
    font-size: var(--fontSize_sp11);
    letter-spacing: 0.05em;
  }
  .md-servSales_txtWrap {
    width: 100%;
    padding-top: 25px;
  }
  .md-servSales_imgWrap {
    margin-top: 0;
    aspect-ratio: 350/264;
    max-height: 500px;
  }
  .md-servSales_imgWrap ._redBg {
    right: -5.1vw;
    top: 5.1vw;
  }
  .md-servSales_txtWrap ._lTxt {
    margin-top: 11.8vw;
    font-size: var(--fontSize_sp25);
    line-height: 1.5;
  }
  .md-servSales_txtWrap ._sTxt {
    font-size: var(--fontSize_sp13);
    margin-top: 20px;
  }
  .md-servSales_bgTxt {
    margin-top: 35px;
    padding: 6.4vw 5.1vw 7.2vw 5.1vw;
    border: none;
  }
  .md-servSales_bgTxt::before, .md-servSales_bgTxt::after {
    display: none;
  }
  .md-servSales_bgTxt ._bgTtl {
    position: relative;
    left: 0;
    transform: none;
    margin-bottom: 12px;
    font-size: var(--fontSize_sp18);
  }
  .md-servSales_list li {
    padding-left: calc(1.35em + 5px);
    font-size: var(--fontSize_sp12);
  }
  .md-servSales_list li::before {
    top: 0;
    transform: none;
    width: 1.35em;
    height: 1.35em;
  }
  .md-servSales_list li span {
    display: block;
  }
  .md-servSales_list li + li {
    margin-top: 2px;
  }
  .md-servSales_linkWrap {
    margin-top: 15px;
  }
  .md-servSales_linkWrap p {
    font-size: var(--fontSize_sp12);
    font-weight: 500;
    margin-bottom: 25px;
  }
}
/*===============================
         md-servRsn
===============================*/
.md-servRsn_contWrap {
  display: flex;
}

.md-servRsn_leftWrap {
  flex: 1;
}

.md-servRsn_imgWrap {
  position: relative;
  width: 26.1vw;
  aspect-ratio: 502/628;
  margin-top: 100px;
}
.md-servRsn_imgWrap ._redBg {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #872E2E;
  top: 2.2vw;
  left: -2.6vw;
  z-index: -1;
}

.md-servRsn_rightWrap {
  width: 55.1vw;
  padding-top: calc(var(--fontSize_pc20) * 1.2);
}

.md-servRsn_lTxt {
  font-size: var(--fontSize_pc55);
  font-family: "zen-kaku-gothic", sans-serif;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 28px;
}

.md-servRsn_sTxt {
  font-size: var(--fontSize_pc22);
  font-weight: 500;
}

.md-servRsn_list {
  margin-top: 40px;
}
.md-servRsn_list li {
  border-bottom: 1px solid #707070;
}

.md-servRsn_openWrap {
  position: relative;
  padding: 1.7vw 0 1.7vw 4.7vw;
  font-size: var(--fontSize_pc30);
  letter-spacing: 0.025em;
  font-weight: 700;
  transition: 0.2s;
  cursor: pointer;
}
.md-servRsn_openWrap ._num {
  position: absolute;
  left: 1.25vw;
  font-size: var(--fontSize_pc84);
  font-family: "lato", sans-serif;
  font-weight: 700;
  letter-spacing: 0;
  color: #872E2E;
  opacity: 0.1;
  top: 50%;
  transform: translateY(-50%);
}
.md-servRsn_openWrap.active {
  background-color: #D4CCCC;
}
@media only screen and (min-width: 1025px) {
  .md-servRsn_openWrap:hover {
    background-color: #D4CCCC;
  }
}

.md-servRsn_hideWrap {
  font-weight: 400;
  padding: 24px 4.7vw 50px 4.7vw;
}

.md-servRsn_openIcon {
  position: absolute;
  width: 22px;
  height: 22px;
  top: 50%;
  right: 14px;
  transform: translateY(-50%);
}
.md-servRsn_openIcon span {
  position: absolute;
  width: 100%;
  height: 2px;
  top: 50%;
  background-color: #2E2E2E;
}
.md-servRsn_openIcon span:last-child {
  transform: rotate(90deg);
  transition: 0.2s;
}
.md-servRsn_openIcon.active span:last-child {
  transform: none;
}

@media only screen and (max-width: 1024px) {
  .md-servRsn_contWrap {
    display: block;
  }
  .md-servRsn_imgWrap {
    margin-top: 25px;
    width: 100%;
    aspect-ratio: 370/286;
    max-height: 500px;
  }
  .md-servRsn_imgWrap ._redBg {
    left: -5.1vw;
    top: 5.1vw;
  }
  .md-servRsn_rightWrap {
    width: 100%;
    padding: 0;
  }
  .md-servRsn_lTxt {
    font-size: var(--fontSize_sp25);
    margin-top: 12.3vw;
    margin-bottom: 20px;
  }
  .md-servRsn_sTxt {
    font-size: var(--fontSize_sp13);
  }
  .md-servRsn_list {
    margin-top: 20px;
  }
  .md-servRsn_openWrap {
    font-size: var(--fontSize_sp18);
    padding: 3.8vw 0 3.8vw 5.1vw;
    letter-spacing: 0;
  }
  .md-servRsn_openIcon {
    width: 12px;
    height: 12px;
    right: 4px;
  }
  .md-servRsn_openIcon span {
    height: 1px;
  }
  .md-servRsn_hideWrap {
    padding: 15px 5.1vw 26px 5.1vw;
    font-size: var(--fontSize_sp12);
  }
  .md-servRsn_openWrap ._num {
    font-size: var(--fontSize_sp58);
  }
}
/*===============================
         md-servVoice
===============================*/
.md-servVoice_contWrap {
  display: flex;
}

.md-servVoice_subTxt {
  margin-top: 8px;
  font-size: var(--fontSize_pc22);
  font-weight: 500;
}

.md-servVoice_ttlWrap {
  flex: 1;
}

.md-servVoice_rightWrap {
  width: 55.1vw;
}

.md-servVoice_block {
  margin-top: calc(var(--fontSize_pc20) * 1.9);
}
.md-servVoice_block ._num {
  position: relative;
  font-size: var(--fontSize_pc20);
  font-family: "lato", sans-serif;
  font-weight: 700;
  color: #872E2E;
  letter-spacing: 0.05em;
  padding-right: 28px;
  text-transform: uppercase;
}
.md-servVoice_block ._num::before {
  position: absolute;
  content: "";
  display: block;
  width: calc(100% - (5.35em + 28px));
  height: 1px;
  background-color: #2E2E2E;
  top: 50%;
  right: 0;
}
.md-servVoice_block + .md-servVoice_block {
  margin-top: 8.125vw;
}

.md-servVoice_blockTop {
  margin-top: 45px;
  display: grid;
  grid-template-columns: 1fr 30.5vw;
	grid-template-rows: auto auto;
  margin-bottom: 56px;
}
.md-servVoice_blockTop ._cat {
  font-size: var(--fontSize_pc30);
  font-weight: 700;
  letter-spacing: 0.025em;
  padding-right: 1.45vw;
}
.md-servVoice_blockTop ._name {
  font-size: var(--fontSize_pc22);
  font-weight: 500;
  padding-top: 0.4em;
	grid-row: 2 / 3;
	grid-column: 1 / 2;
}
.md-servVoice_blockTop ._comment {
  font-size: var(--fontSize_pc30);
  letter-spacing: 0.025em;
	grid-row: 1 / 3;
	grid-column: 2 / 3;
}
.md-servVoice_blockTop ._comment p {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
}
.md-servVoice_blockTop ._comment p::before {
  position: absolute;
  content: "";
  display: block;
  width: calc(100% + 30px);
  height: var(--fontSize_pc30);
  left: -15px;
  bottom: -0.1em;
  background-color: #872E2E;
  opacity: 0.23;
}
.md-servVoice_blockTop ._comment p + p {
  margin-top: 10px;
}

.md-servVoice_qaBlock {
  position: relative;
  padding-bottom: 28px;
  border-bottom: 1px solid rgba(46, 46, 46, 0.5);
}
.md-servVoice_qaBlock + .md-servVoice_qaBlock {
  padding-top: 18px;
}
.md-servVoice_qaBlock ._qWrap, .md-servVoice_qaBlock ._aWrap {
  display: flex;
}
.md-servVoice_qaBlock ._qWrap span, .md-servVoice_qaBlock ._aWrap span {
  font-size: var(--fontSize_pc70);
  font-weight: 700;
  font-family: "lato", sans-serif;
  margin-right: 36px;
  color: #872E2E;
  line-height: 1.2;
	width: 0.8em;
}
.md-servVoice_qaBlock ._qWrap {
  align-items: center;
}
.md-servVoice_qaBlock ._qWrap > span {
  opacity: 0.1;
}
.md-servVoice_qaBlock ._qWrap p {
  font-size: var(--fontSize_pc25);
  font-weight: 700;
  letter-spacing: 0.025em;
	flex: 1;
}
.md-servVoice_qaBlock ._aWrap {
  padding-right: 4vw;
}
.md-servVoice_qaBlock ._aWrap p {
  font-size: var(--fontSize_pc22);
  font-weight: 500;
  letter-spacing: 0.08em;
  padding-top: 1em;
	flex: 1;alignment-adjust
}

.md-contactVoice_openIcon {
  position: absolute;
  width: 14px;
  height: 14px;
  bottom: 18px;
  right: 20px;
  cursor: pointer;
}
.md-contactVoice_openIcon span {
  position: absolute;
  display: block;
  width: 100%;
  height: 2px;
  background-color: #3C3C3C;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: 0.2s;
}
.md-contactVoice_openIcon span:last-child {
  transform: translate(-50%, -50%) rotate(90deg);
}
.md-contactVoice_openIcon.active span:last-child {
  transform: translate(-50%, -50%);
}

@media only screen and (max-width: 1280px) {
  .md-servVoice_blockTop {
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
  }
  .md-servVoice_blockTop ._comment {
    grid-column: 1/3;
  }

.md-servVoice_blockTop ._name {
	grid-row: unset;
	grid-column: unset;
}
.md-servVoice_blockTop ._comment {
	grid-row: unset;
}
}
@media only screen and (max-width: 1024px) {
  .md-servVoice_contWrap {
    display: block;
  }
  .md-servVoice_subTxt {
    margin-top: 20px;
    font-size: var(--fontSize_sp14);
  }
  .md-servVoice_rightWrap {
    width: 100%;
  }
  .md-servVoice_block {
    margin-top: 30px;
  }
  .md-servVoice_block ._num {
    font-size: var(--fontSize_sp11);
  }
  .md-servVoice_block ._num::before {
    width: calc(100% - (5.36em + 10px));
  }
  .md-servVoice_blockTop {
    margin-top: 25px;
    margin-bottom: 26px;
  }
  .md-servVoice_blockTop ._cat {
    font-size: var(--fontSize_sp18);
    padding-right: 20px;
  }
  .md-servVoice_blockTop ._name {
    font-size: var(--fontSize_sp13);
  }
  .md-servVoice_blockTop ._comment {
    margin-top: 20px;
    font-size: var(--fontSize_sp18);
  }
  .md-servVoice_blockTop ._comment p::before {
    width: calc(100% + 20px);
    height: 1em;
    left: -10px;
  }
  .md-servVoice_blockTop ._comment p + p {
    margin-top: 6px;
  }
  .md-servVoice_qaBlock ._qWrap span, .md-servVoice_qaBlock ._aWrap span {
    font-size: var(--fontSize_sp40);
    margin-right: 10px;
  }
  .md-servVoice_qaBlock ._qWrap p {
    font-size: var(--fontSize_sp14);
    padding-top: 0.2em;
  }
  .md-servVoice_qaBlock ._aWrap p {
    font-size: var(--fontSize_sp12);
  }
  .md-servVoice_qaBlock ._aWrap {
    margin-top: 10px;
  }
  .md-servVoice_qaBlock + .md-servVoice_qaBlock {
    padding-top: 15px;
  }
  .md-servVoice_qaBlock {
    padding-bottom: 25px;
  }
  .md-servVoice_block + .md-servVoice_block {
    margin-top: 66px;
  }
}
/*===============================
         md-prod
===============================*/
.md-prod_contWrap {
  display: flex;
}

.md-prod_catSelect {
  width: -moz-fit-content;
  width: fit-content;
  margin-right: 4.375vw;
}
.md-prod_catSelect span {
  font-size: var(--fontSize_pc20);
  font-family: "lato", sans-serif;
  margin-bottom: 10px;
  text-transform: uppercase;
  color: #872E2E;
}

.md-prod_blockWrap {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: start;
  row-gap: 68px;
  -moz-column-gap: 1.56vw;
       column-gap: 1.56vw;
  padding-top: 6vw;
}

.md-prod_block {
  position: relative;
/*   padding-bottom: 16px;
  border-bottom: 1px solid #707070; */
}

.md-prod_imgWrap {
  width: 100%;
  aspect-ratio: 423/278;
  margin-bottom: 24px;
  box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.16);
}
.md-prod_imgWrap picture {
  display: block;
  width: 100%;
  height: 100%;
}

.md-prod_catName .en {
  font-size: var(--fontSize_pc15);
  font-family: "lato", sans-serif;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  display: block;
  text-transform: uppercase;
  color: #872E2E;
}
.md-prod_catName .jp {
  font-size: var(--fontSize_pc25);
  letter-spacing: 0.025em;
}

.md-prod_hideWrap {
  font-size: var(--fontSize_pc22);
  padding-top: 28px;
	font-weight: 500;
}
.md-prod_hideWrap li {
  position: relative;
  padding-left: 1.54em;
  border-bottom: 1px solid rgba(46, 46, 46, 0.5);
  width: -moz-fit-content;
  width: fit-content;
}
.md-prod_hideWrap li::before {
  position: absolute;
  content: "";
  display: block;
  width: 0.59em;
  height: 0.59em;
  border-radius: 50%;
  background-image: linear-gradient(45deg, #FFFFFF 0, #872E2E 100%);
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.md-prod_hideWrap li + li {
  margin-top: 8px;
}

.md-prod_openIcon {
  position: absolute;
  width: 12px;
  height: 12px;
  bottom: 16px;
  right: 20px;
  cursor: pointer;
}
.md-prod_openIcon span {
  position: absolute;
  display: block;
  width: 100%;
  height: 1px;
  background-color: #3C3C3C;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.md-prod_openIcon span:last-child {
  transform: translate(-50%, -50%) rotate(90deg);
}
.md-prod_openIcon.active span:last-child {
  transform: translate(-50%, -50%);
}

.md-prod_hideTxt {
  position: relative;
  padding: 1.6vw 0.93vw;
  background-color: #D4CCCC;
  font-size: var(--fontSize_pc20);
  font-weight: 500;
}
.md-prod_hideTxt::before, .md-prod_hideTxt::after {
  position: absolute;
  content: "";
  display: block;
  width: 1.6vw;
  height: 0.93vw;
  border-top: 1px solid #872E2E;
  border-left: 1px solid #872E2E;
}
.md-prod_hideTxt::before {
  top: 0;
  left: 0;
}
.md-prod_hideTxt::after {
  bottom: 0;
  right: 0;
  transform: rotate(180deg);
}

@media only screen and (max-width: 1280px) {
  .md-prod_catName .en {
    font-size: 11px;
  }
}
@media only screen and (max-width: 1024px) {
  .md-prod_contWrap {
    display: block;
    max-width: 800px;
  }
  .md-prod_catSelect span {
    font-size: var(--fontSize_sp12);
    margin-bottom: 5px;
  }
  .md-prod_catSelect select {
    font-size: var(--fontSize_sp13);
  }
  .md-prod_blockWrap {
    display: block;
  }
/*   .md-prod_block {
    padding-bottom: 28px;
  } */
  .md-prod_block + .md-prod_block {
    margin-top: 36px;
  }
  .md-prod_imgWrap {
    margin-bottom: 16px;
  }
  .md-prod_catName .jp {
    font-size: var(--fontSize_sp18);
  }
  .md-prod_hideWrap {
    padding-top: 18px;
    font-size: var(--fontSize_sp14);
  }
  .md-prod_hideWrap li::before {
    width: 0.76em;
    height: 0.76em;
  }
  .md-prod_hideWrap li {
    padding-left: 2em;
  }
  .md-prod_hideWrap li + li {
    margin-top: 6px;
  }
  .md-prod_openIcon {
    bottom: 12px;
    right: 4px;
  }
  .md-prod_hideTxt {
    padding: 2.55vw 3vw;
    font-size: var(--fontSize_sp14);
  }
  .md-prod_hideTxt::before, .md-prod_hideTxt::after {
    width: 3vw;
    height: 2.55vw;
  }
}
/*===============================
         md-contactFaq
===============================*/
.md-contactFaq_contWrap {
  display: flex;
}

.md-contactFaq_blockWrap {
  width: 55.1vw;
  padding-top: 1.6vw;
}
.md-contactFaq_blockWrap ._qWrap {
  cursor: pointer;
}

.md-contactFaq_ttlWrap {
  flex: 1;
}

@media only screen and (max-width: 1024px) {
  .md-contactFaq_contWrap {
    display: block;
  }
  .md-contactFaq_blockWrap {
    width: 100%;
    margin-top: 10px;
  }
  .md-contactFaq_blockWrap .md-servVoice_qaBlock {
    padding-bottom: 34px;
  }
  .md-contactFaq_blockWrap ._qWrap {
    padding-right: 30px;
  }
  .md-contactVoice_openIcon {
    width: 12px;
    height: 12px;
    right: 10px;
    bottom: 10px;
  }
}
/*===============================
         md-contact
===============================*/

.md-contact_contWrap {
  display: flex;
}

.md-contact_ttlWrap {
  flex: 1;
}

.md-contact_formWrap {
  width: 55.1vw;
  padding-top: 2vw;
}
.md-contact_formWrap p {
  font-size: var(--fontSize_pc24);
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 108px;
}
.md-contactFrom dl,
.md-contact_formSelect{
  font-size: var(--fontSize_pc22);
}
.md-contactFrom dl + dl {
	margin-top: 36px;
}
.md-contact_formSelect{
	margin-bottom: 36px;
}
.md-contactFrom dl dt ,
.md-contact_formSelect dt{
  font-weight: 700;
  margin-bottom: 15px;
  width: -moz-fit-content;
  width: fit-content;
}
.md-contactFrom dl dd,
.md-contact_formSelect dd{
  font-weight: 400;
}
.md-contactFrom ._category {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.md-contactFrom ._address {
  display: grid;
  grid-template-columns: 9.7em 11.2em 1fr;
  gap: 14px;
}
.md-contactFrom ._address span:last-child {
  grid-row: 2/3;
  grid-column: 1/4;
}
.md-contactFrom ._method span {
  display: block;
}
.md-contactFrom ._method span + span {
  margin-top: 16px;
}
.md-contactFrom ._policyWrap {
  background-color: #fff;
  padding: 30px 16px 22px 38px;
  height: 370px;
}
.md-contactFrom ._policyWrap ._scrollWrap {
  height: 100%;
  overflow-y: scroll;
  padding-right: 2.3vw;
}
.md-contactFrom ._policyWrap ._scrollWrap p {
  font-size: var(--fontSize_pc18);
  font-weight: 400;
}
.md-contactFrom ._policyWrap ._scrollWrap::-webkit-scrollbar {
  width: 15px;
}
.md-contactFrom ._policyWrap ._scrollWrap::-webkit-scrollbar-track {
  background: transparent;
  border: 1px solid #707070;
  border-radius: 0;
}
.md-contactFrom ._policyWrap ._scrollWrap::-webkit-scrollbar-thumb {
  background: #872E2E;
  border-radius: 0;
}
.md-contactFrom ._policyWrap ._scrollWrap::-webkit-scrollbar-thumb:hover {
  opacity: 0.7;
}
.md-contactFrom ._policyWrap ._scrollWrap::-webkit-scrollbar-thumb:active {
  background: #66707c;
}

.md-contact_policyWrap {
  margin-top: 64px;
  text-align: center;
}
.md-contact_policyWrap label {
  justify-content: center;
}

.md-contact_sendBtn {
  font-size: var(--fontSize_pc22);
  font-weight: 700;
  margin: 64px auto 0 auto;
  background-color: #fff;
  border: 2px solid #872E2E;
  width: 11.55em;
  height: 2.18em;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 1.09em;
}
@media only screen and (min-width: 1025px) {
  .md-contact_sendBtn {
    transition: 0.2s;
  }
  .md-contact_sendBtn:hover {
    background-color: #872E2E;
    color: #fff;
  }
}

.required {
  position: relative;
}
.required::before {
  position: absolute;
  content: "*";
  display: block;
  right: -3px;
  top: 0;
  line-height: 0.9;
  font-size: var(--fontSize_pc30);
  transform: translateX(100%);
  color: #872E2E;
}

@media only screen and (max-width: 1024px) {
  .md-contact_contWrap {
    display: block;
  }
  .md-contact_formWrap {
    width: 100%;
    margin-top: 20px;
  }
  .md-contact_formWrap p {
    font-size: var(--fontSize_pc13);
    margin-bottom: 34px;
  }
  .md-contact_formWrap dl {
    display: block;
    font-size: var(--fontSize_sp14);
  }
	.md-contact_formSelect{
		margin-bottom: 32px;
	}
	.md-contact_formWrap dl dt {
    width: -moz-fit-content;
    width: fit-content;
    text-align: left;
    line-height: 1.2;
  }
  .md-contact_formWrap ._category {
    display: block;
  }
  .md-contact_formWrap ._category span {
    display: block;
  }
  .md-contact_formWrap ._category span + span {
    margin-top: 10px;
  }
  .md-contact_formWrap ._address {
    gap: 10px;
  }
  .md-contact_formWrap ._method {
    margin-top: 18px;
  }
  .md-contact_formWrap ._method span + span {
    margin-top: 10px;
  }
  .md-contactFrom dl + dl {
    margin-top: 32px;
  }
  .md-contactFrom ._policyWrap {
    padding: 8px 5px 8px 20px;
    font-size: var(--fontSize_sp12);
    font-weight: 400;
    height: 278px;
  }
  .md-contactFrom ._policyWrap ._scrollWrap {
    padding-right: 12px;
  }
  .md-contactFrom ._policyWrap ._scrollWrap::-webkit-scrollbar {
    width: 10px;
  }
  .md-contact_policyWrap {
    margin-top: 34px;
    font-size: var(--fontSize_sp13);
  }
  .md-contact_sendBtn {
    margin-top: 40px;
    font-size: var(--fontSize_sp13);
  }
  .required::before {
    right: 0;
    font-size: var(--fontSize_sp16);
  }
	.md-contactFrom ._policyWrap ._scrollWrap p{
		font-size: var(--fontSize_sp12);
	}
}
/*===============================
         md-contact
===============================*/
.md-confirm_ttlWrap {
  text-align: center;
}

.md-confirm_formWrap {
  max-width: 69.3vw;
  margin: 0 auto;
  margin-top: 68px;
}
.md-contactFrom .wpcf7-list-item{
	margin: 0; 
}
.md-contactFrom._confirm dl {
  display: flex;
}
.md-contactFrom._confirm dl + dl {
  margin-top: 66px;
}
.md-contactFrom._confirm dl dt {
  width: 12em;
  margin-right: 5.1vw;
  text-align: right;
}
.md-contactFrom._confirm dl dd {
  flex: 1;
  word-break: break-all;
}

@media only screen and (max-width: 1280px) {
  .md-confirm_formWrap {
    max-width: unset;
  }
}
@media only screen and (max-width: 1024px) {
  .md-confirm_formWrap {
    margin-top: 20px;
  }
  .md-contactFrom._confirm dl {
    display: block;
  }
  .md-contactFrom._confirm dl dt {
    width: -moz-fit-content;
    width: fit-content;
  }
  .md-contactFrom._confirm dl + dl {
    margin-top: 36px;
  }
}
/*===============================
         md-thanks
===============================*/
.md-thanks_ttlWrap {
  text-align: center;
}

.md-thanks_txt {
  font-size: var(--fontSize_pc24);
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-top: 54px;
  margin-bottom: 84px;
  text-align: center;
}

@media only screen and (max-width: 1024px) {
  .md-thanks_txt {
    font-size: var(--fontSize_sp13);
    font-weight: 700;
    letter-spacing: 0;
    margin-top: 30px;
    margin-bottom: 40px;
  }
}
/*===============================
        共通設定
===============================*/
.l-inner {
  margin: 0 auto;
  width: var(--innerWidth);
}
.l-inner._narrow {
  padding-right: 2.6vw;
}

@media only screen and (max-width: 1024px) {
  .l-inner._narrow {
    padding-right: 0;
  }
}
/*===============================
        l-head
===============================*/
.l-head {
  position: fixed;
  height: 80px;
  width: 100%;
  z-index: 99;
  top: 0;
  left: 0;
  background-color: rgba(46, 46, 46, 0.5);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}

@media only screen and (max-width: 1024px) {
  .l-head {
    height: 52px;
    background-color: #2E2E2E;
    -webkit-backdrop-filter: none;
            backdrop-filter: none;
  }
}
/*===============================
        l-head
===============================*/
.l-spNav {
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 98;
  background-color: #DBDBDB;
}

/*===============================
        l-top
===============================*/
.l-topFv {
  position: relative;
  width: 100%;
  height: 100vh;
}

.l-topCom {
  padding-top: 136px;
}

.l-topServ {
  padding-top: 240px;
  overflow: hidden;
}

.l-topProd {
  padding-top: 220px;
}

.l-topGroup {
  padding-top: 224px;
}

.l-topNews {
  padding-top: 386px;
}

.l-topRec {
  position: relative;
  margin-top: 214px;
  padding-top: 200px;
  padding-bottom: 270px;
  background-image: url(../images/top/topRec_bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
}
.l-topRec::before {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #2E2E2E;
  opacity: 0.85;
  top: 0;
  left: 0;
}

@media only screen and (max-width: 1024px) {
  .l-topFv {
    height: 88.9vh;
  }
  .l-topCom {
    padding-top: 80px;
  }
  .l-topServ {
    padding-top: 120px;
  }
  .l-topProd {
    padding-top: 120px;
  }
  .l-topGroup {
    padding-top: 120px;
  }
  .l-topNews {
    padding-top: 120px;
  }
  .l-topRec {
    margin-top: 80px;
    padding-top: 80px;
    padding-bottom: 108px;
    background-position: 60% 50%;
  }
}
/*===============================
        l-foot
===============================*/
.l-foot {
  padding-top: 198px;
  padding-bottom: 16px;
  background-color: #2E2E2E;
}

@media only screen and (max-width: 1024px) {
  .l-foot {
    padding-top: 80px;
    padding-bottom: 6px;
  }
}
/*===============================
        l-lowerTop
===============================*/
.l-lowerTop {
  position: relative;
}

/*===============================
        l-comMsg
===============================*/
.l-comMsg {
  position: relative;
  padding-top: 148px;
}

.l-comPlcy {
  position: relative;
  padding-top: 264px;
  padding-bottom: 236px;
}

.l-comEnPlcy {
  padding-top: 240px;
}

.l-comOl {
  margin-top: 202px;
}

.l-comHiz {
  padding-top: 196px;
  padding-bottom: 232px;
	background-color: #DBDBDB;
}

@media only screen and (max-width: 1024px) {
  .l-comMsg {
    padding-top: 70px;
  }
  .l-comPlcy {
    padding-top: 118px;
    padding-bottom: 31.8vw;
  }
  .l-comEnPlcy {
    padding-top: 76px;
  }
  .l-comOl {
    margin-top: 100px;
  }
  .l-comHiz {
    padding-top: 100px;
    padding-bottom: 100px;
  }
}
/*===============================
        l-servSales
===============================*/
.l-servSales {
  position: relative;
  padding-top: 100px;
}

.l-servRsn {
  position: relative;
  padding-top: 158px;
  padding-bottom: 268px;
}

.l-servVoice {
  padding-top: 258px;
  padding-bottom: 250px;
}

@media only screen and (max-width: 1024px) {
  .l-servSales {
    padding-top: 70px;
    overflow: hidden;
  }
  .l-servRsn {
    padding-top: 96px;
    padding-bottom: 30.7vw;
  }
  .l-servVoice {
    padding-top: 75px;
    padding-bottom: 100px;
  }
}
/*===============================
        l-prod
===============================*/
.l-prod {
  padding-top: 18px;
  padding-bottom: 308px;
}

@media only screen and (max-width: 1024px) {
  .l-prod {
    padding-top: 70px;
    padding-bottom: 100px;
  }
}
/*===============================
        l-contact
===============================*/
.l-contactFaq {
  position: relative;
  padding-top: 98px;
  padding-bottom: 248px;
}

.l-contact {
  padding-top: 212px;
  padding-bottom: 264px;
}

@media only screen and (max-width: 1024px) {
  .l-contactFaq {
    padding-top: 70px;
    padding-bottom: 118px;
  }
  .l-contact {
    padding-top: 70px;
	  padding-bottom: 120px;
  }
}
/*===============================
        l-confirm
===============================*/
.l-confirm {
  padding-top: 174px;
  padding-bottom: 264px;
}

@media only screen and (max-width: 1024px) {
  .l-confirm {
    padding-top: 70px;
    padding-bottom: 100px;
  }
}
/*===============================
         .js-nav
===============================*/
.js-nav {
  opacity: 0;
  pointer-events: none;
  transition: 0.3s;
}
.js-nav.js-menu_open {
  opacity: 1;
  pointer-events: fill;
}

.js-menu_icon span {
  transition: 0.3s;
}
.js-menu_icon.js-menu_open span:first-child {
  transform: rotate(30deg) translateY(7px);
}
.js-menu_icon.js-menu_open span:nth-child(2) {
  transform: scaleX(0);
}
.js-menu_icon.js-menu_open span:last-child {
  width: 100%;
  transform: rotate(-30deg) translateY(-8px);
}

/*===============================
         .js-modal
===============================*/
.js-modal{
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s;
}
.js-modal.js-active{
	opacity: 1;
	pointer-events: fill;
}
