@charset "utf-8";

/*
  common
========================================================================== */
body {
  line-height: 1;
  font-family: 'Noto Serif JP', serif;
  font-feature-settings: "palt";
  color: #2e2e2e;
}

/*
  kv
========================================================================== */
.kv {
  position: relative;
  margin-bottom: max(1.643vw,21px);
}
.kv .kv_img img {
  width: 100%;
}
.bnr{
	width:65%;
	margin: 0 auto max(2.084vw,27px);
}
.header_info {
  bottom: max(1.643vw,21px);
  display: flex;
  justify-content: center;
  column-gap: max(4vw,52px);
	flex-wrap: wrap;
	width: max(91.43vw,1188px);
  margin: 0 auto max(4.286vw,55px);
}
.header_info .box {
  position: relative;
  width: max(43.571vw,566px);
  height: max(22.214vw,288px);
  padding-top: max(2.286vw,29px);
  box-shadow: max(0.143vw,1px) max(0.143vw,1px) max(0.286vw,3px) rgba(157,157,157,.5);
}
.header_info .box.box01 {
  background: url(../images/top/kv_box01_bg.png) left top no-repeat;
  background-size: cover;
}
.header_info .box.box02 {
  background: url(../images/top/kv_box02_bg.png) left top no-repeat;
  background-size: cover;
}
.header_info .box h3 {
  font-size: max(2.084vw,27px);
  font-weight: 500;
  letter-spacing: .08em;
}
.header_info .box.box01 h3 {
  margin-left: max(15.5vw,201px);
}
.header_info .box.box02 h3 {
  margin-left: max(13.286vw,172px);
}
.header_info .box h3 span {
  font-size: max(1.191vw,15px);
  font-weight: 200;
  letter-spacing: .04em;
  color: #b2e2e3;
}
.header_info .box.box01 h3 span {
  padding-left: max(8.571vw,111px);
}
.header_info .box.box02 h3 span {
  padding-left: max(2.143vw,27px);
}
.header_info .box .lead {
  margin-top: max(1.429vw,18px);
  font-size: max(2.084vw,27px);
  font-weight: 500;
  letter-spacing: .04em;
  color: #00a4a6;
  text-decoration: underline;
  text-decoration-color: #bfe2e2;
  text-decoration-thickness: max(0.357vw,4px);
  text-underline-offset: max(0.786vw,10px);
  text-decoration-skip-ink: none;
}
.header_info .box .lead * {
  font-weight: 500;
}
.header_info .box.box01 .lead {
  margin-left: max(15.5vw,201px);
}
.header_info .box.box02 .lead {
  margin-left: max(13.286vw,172px);
}
.header_info .box .lead em {
  font-size: max(3.571vw,46px);
}
.header_info .box .lead i {
  font-size: max(2.976vw,38px);
}
.header_info .box .lead span {
  font-size: max(2.381vw,30px);
}
.header_info .box ul {
  position: absolute;
  bottom: max(0.786vw,10px);
  left: 0;
  right: 0;
  width: max(41.429vw,538px);
  height: max(10.714vw,139px);
  margin: auto;
  padding-top: max(0.857vw,11px);
  background-color: #fff;
}
.header_info .box ul li {
  line-height: 1.67;
  padding-left: max(2.714vw,35px);
  font-size: max(1.786vw,23px);
  font-weight: 400;
  letter-spacing: .06em;
  background: url(../images/top/kv_check.png) left center no-repeat;
  background-size: max(2vw,26px) auto;
}
.header_info .box.box01 ul li {
  margin-left: max(5.643vw,73px);
}
.header_info .box.box02 ul li {
  margin-left: max(8.571vw,111px);
}
main {
  position: relative;
}
/*
  beauty
========================================================================== */
.beauty {
  padding-top: max(4.286vw,55px);
  background-color: #c3edee;
}
.beauty .contents {
  padding: max(2.857vw,37px) max(3.571vw,46px) max(4.071vw,52px);
}
.beauty .contents h3 {
  position: relative;
  width: fit-content;
  margin: auto;
  padding: 0 max(12.143vw,157px);
  text-align: center;
  font-size: max(2.559vw,33px);
  font-weight: 500;
  letter-spacing: .28em;
  color: #000;
}
.beauty .contents h3::before,
.beauty .contents h3::after {
  content: "";
  position: absolute;
  top: 50%;
  width: max(9.643vw,125px);
  height: 1px;
  background-color: #000;
}
.beauty .contents h3::before {
  left: 0;
}
.beauty .contents h3::after {
  right: 0;
}
.beauty .contents .inner {
  display: flex;
  justify-content: space-between;
  margin-top: max(3.571vw,46px);
}
.beauty .contents .inner a {
  position: relative;
  display: block;
  width: max(28.571vw,371px);
  height: max(33.429vw,434px);
  background: #fff url(../images/top/beauty_arrow.png) right max(4.786vw,62px) bottom max(1.786vw,23px) no-repeat;
  background-size: max(0.786vw,10px) auto;
  box-shadow: max(0.286vw,3px) max(0.286vw,3px) max(0.5vw,6px) 0 rgba(67,67,67,0.16);
}
.beauty .contents .inner a::before,
.beauty .contents .inner a::after {
  content: "";
  position: absolute;
  width: max(8.071vw,104px);
  height: max(7.857vw,102px);
  background-color: rgba(55,203,206,.5);
  mix-blend-mode: multiply;
}
.beauty .contents .inner a::before {
  top: min(-1vw,-13px);
  left: min(-1vw,-13px);
  clip-path: polygon(0 0, 0 100%, 100% 0);
}
.beauty .contents .inner a::after {
  right: min(-1.214vw,-16px);
  bottom: min(-1.143vw,-15px);
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
}
.beauty .contents .inner a .text {
  padding: max(0.857vw,11px) max(0.929vw,12px) 0 max(1.571vw,20px);
}
.beauty .contents .inner a .text h4 {
  padding: max(0.214vw,2px) 0 max(0.357vw,4px);
  text-align: center;
  font-size: max(2vw,26px);
  font-weight: 400;
  letter-spacing: .12em;
  color: #2f2f2f;
  background-color: rgba(250,245,203,.7)
}
.beauty .contents .inner a .text .price {
  margin-top: max(0.571vw,7px);
  text-align: center;
  font-size: max(1.429vw,18px);
  font-weight: 400;
  letter-spacing: .05em;
  color: #ff8400;
}
.beauty .contents .inner a .text .price em {
  font-family: 'Times New Roman', Times, serif;
  font-size: max(3.571vw,46px);
}
.beauty .contents .inner a .text .price i {
  font-size: max(2.679vw,34px);
}
.beauty .contents .inner a .text .price span {
  font-size: max(2.084vw,27px);
}
.beauty .contents .inner a .text .price + p {
  line-height: 1.25;
  margin-top: max(0.357vw,4px);
  padding-right: max(1.071vw,13px);
  font-family: 'Noto Sans JP';
  font-size: max(1.189vw,15px);
  font-weight: 400;
  letter-spacing: .02em;
}
.beauty .contents .inner a .text ul {
  margin-top: max(0.357vw,4px);
}
.beauty .contents .inner a .text ul li {
  line-height: 1.25;
  padding-left: max(1.357vw,17px);
  font-family: 'Noto Sans JP';
  font-size: max(1.189vw,15px);
  font-weight: 400;
  letter-spacing: .02em;
  background: url(../images/top/beauty_check.png) left center no-repeat;
  background-size: max(1.071vw,13px) auto;
}

/*
  info
========================================================================== */
.info {
  height: max(46.286vw,601px);
  padding-top: max(3.214vw,41px);
  background: url(../images/top/info_bg.jpg) center top max(3.214vw,41px) no-repeat;
  background-size: 100% auto;
  margin-bottom: max(4.286vw,55px);
}
.info .contents {
  /* width: max(46.429vw,603px); */
  margin-left: max(47.714vw,620px);
  padding-top: max(2.5vw,32px);
}
.info h2 {
  text-align: center;
  font-size: max(1.786vw,23px);
  font-weight: 200;
  letter-spacing: .16em;
  color: #fff;
}
.info .catch {
  margin-top: max(2.5vw,32px);
  text-align: center;
  font-size: max(2.084vw,27px);
  font-weight: 500;
  letter-spacing: .15em;
  color: #323232;
}
.info h3 {
  line-height: 1.4;
  margin-top: max(1.786vw,23px);
  font-size: max(2.796vw,36px);
  font-weight: 500;
  letter-spacing: .06em;
  color: #fff;
}
.info h3 * {
  font-weight: 500;
}
.info h3 span {
  display: block;
  padding-left: max(25.714vw,334px);
}
.info h3 small {
  font-size: max(2.485vw,32px);
}
.info h3 i {
  font-size: max(3.68vw,47px);
}
.info h3 em {
  color: #ffe57f;
}
.info ul {
  margin-top: max(1.071vw,13px);
  /* margin-left: max(3.357vw,43px); */
}
.info ul li {
  line-height: 1.35;
  padding-left: max(3.571vw,46px);
  font-size: max(2.269vw,29px);
  font-weight: 500;
  letter-spacing: .1em;
  color: #fff;
  background: url(../images/top/info_check.png) left top 0.3em no-repeat;
  background-size: max(2.071vw,26px) auto;
}
.info ul li + li {
	margin-top:0.15em;
  margin-left:0.3em;
}
.info ul li + li + li {
  margin-left: 0.6em;
}
.info ul li + li + li + li{
	margin-left: 0.9em;
}
.info .languages {
  margin-top: max(1.429vw,18px);
  text-align: center;
  font-size: max(2.516vw,32px);
  font-weight: 500;
  letter-spacing: .06em;
  color: #fff;
  text-decoration: underline;
  text-decoration-thickness: max(0.143vw,1px);
  text-decoration-color: #fff;
  text-underline-offset: max(0.714vw,9px);
}

.info .languages em{
	font-size: 110%;
  color: #ffe57f;
}

/*
  pickup
========================================================================== */
.pickup {
  position: relative;
  margin-top: max(3.143vw,40px);
}
.pickup::before {
  content: "";
  display: block;
  width: max(4.786vw,62px);
  height: max(4.857vw,63px);
  margin: 0 auto;
  background: url(../images/top/pickup_logomark.png) center top no-repeat;
  background-size: cover;
}
.pickup .inner {
  height: max(74.5vw,968px);
  margin-top: max(1.5vw,19px);
  background: url(../images/top/pickup_bg.jpg) center top no-repeat;
  background-size: cover;
}
.pickup h2 {
  text-align: center;
}
.pickup h2 > span {
  display: block;
  width: fit-content;
  margin: 0 auto;
  font-weight: 400;
}
.pickup h2 > span:nth-of-type(1) {
  font-family: 'Times New Roman', Times, serif;
  font-size: max(2.381vw,30px);
  letter-spacing: .06em;
}
.pickup h2 > span:nth-of-type(2) {
  margin-top: max(0.571vw,7px);
  padding-top: max(0.571vw,7px);
  font-family: 'Noto Sans JP';
  font-size: max(1.415vw,18px);
  letter-spacing: .04em;
  border-top: #2e2e2e solid 1px;
}
.pickup .contents {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  width: max(90.143vw,1171px);
  height: max(41.929vw,545px);
  margin: max(25.143vw,326px) auto 0;
  padding: max(2vw,26px) max(2.929vw,38px) 0;
  background-color: rgba(255,255,255,.9);
  box-shadow: 0 max(0.214vw,2px) max(0.286vw,3px) rgba(164,165,167,.4);
}
.pickup .contents::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 1px;
  height: 93%;
  background-color: #d6d9dc;
}
.pickup .box {
  position: relative;
  width: max(39.357vw,511px);
}
.pickup .box a {
  display: block;
  height: 100%;
}
.pickup .box h3 {
  padding-bottom: max(0.857vw,11px);
  text-align: center;
  font-size: max(1.786vw,23px);
  font-weight: 500;
  letter-spacing: .06em;
  border-bottom: #939393 solid 1px;
}
.pickup .box h3 * {
  font-weight: 500;
}
.pickup .box h3 span {
  font-size: max(2.381vw,30px);
}
.pickup .box h3 em {
  display: inline-block;
  color: #00cbce;
}
.pickup .box h3 em::first-letter {
  font-size: max(2.976vw,38px);
}
.pickup .box .circle {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  line-height: 1.2;
  font-size: max(2.143vw,27px);
  font-weight: 600;
  letter-spacing: .1em;
  color: #fff;
  border-radius: 50%;
  background-color: rgba(55,203,206,.9);
}
.pickup .box01 .circle {
  width: max(13.071vw,169px);
  height: max(13.071vw,169px);
  top: max(4.429vw,57px);
  right: min(-0.857vw,-12px);
}
.pickup .box02 .circle {
  width: max(11.429vw,148px);
  height: max(11.286vw,146px);
  top: max(16.286vw,211px);
  left: 0;
}
.pickup .box01 .pic {
  width: max(28.5vw,370px);
  margin-top: max(1.571vw,20px);
  margin-left: max(0.357vw,4px);
}
.pickup .box01 .pic_s {
  position: absolute;
  top: max(16.286vw,211px);
  right: min(-1.286vw,-17px);
  width: max(16.286vw,211px);
}
.pickup .box02 .pic {
  width: max(34.714vw,451px);
  margin-top: max(1.571vw,20px);
  margin-left: max(3.214vw,41px);
}
.pickup .box .flex {
  position: absolute;
  bottom: max(2.857vw,37px);
  display: flex;
  align-items: center;
}
.pickup .box01 .flex {
  margin-left: max(1.143vw,14px);
}
.pickup .box02 .flex {
  margin-left: max(2.429vw,31px);
}
.pickup .box01 .flex img {
  width: max(11.143vw,144px);
}
.pickup .box02 .flex img {
  width: max(12.5vw,162px);
}
.pickup .box .flex ul {
  margin-left: max(1.286vw,16px);
}
.pickup .box .flex li {
  line-height: 1.6;
  padding-left: max(1.429vw,18px);
  font-family: 'Noto Sans JP';
  font-size: max(1.286vw,16px);
  font-weight: 400;
  letter-spacing: .08em;
  color: #3e3e3e;
  background: url(../images/top/pickup_check.png) left center no-repeat;
  background-size: max(1.071vw,13px);
}

/*
  recommendation
========================================================================== */
.recommendation {
  margin-top: max(5.143vw,66px);
  padding-top: max(4.071vw,52px);
  background: url(../images/top/recommendation_bg.png) right top no-repeat;
  background-size: max(57.643vw,749px) auto;
}
.recommendation .head img {
  width: max(90.929vw,1182px);
}
.recommendation h2 {
  margin-top: max(1.643vw,21px);
  text-align: center;
  font-size: max(3.571vw,46px);
  font-weight: 400;
  letter-spacing: .12em;
  color: #4b4b4b;
}
.recommendation .link {
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: max(1.429vw,18px);
}
.recommendation .link ul {
  margin-right: max(3.571vw,46px);
  writing-mode: vertical-lr;
}
.recommendation .link ul li:nth-of-type(2) {
  margin-top: max(2.857vw,37px);
}
.recommendation .link ul li:nth-of-type(3) {
  margin-top: max(5.714vw,74px);
}
.recommendation .link ul li:nth-of-type(4) {
  margin-top: max(8.571vw,111px);
}
.recommendation .link ul li a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: max(4.643vw,60px);
  height: max(23.714vw,308px);
  margin-left: max(3.214vw,41px);
  padding-top: max(1.786vw,23px);
  font-size: max(2vw,26px);
  font-weight: 500;
  letter-spacing: .05em;
  color: #039aa4;
  background: url(../images/top/recommendation_link_bg.png) center top no-repeat;
  background-size: cover;
}
.recommendation .link ul li:first-of-type a {
  margin-left: 0;
  letter-spacing: .03em;
}
.recommendation .link img {
  width: max(65.643vw,853px);
  margin-top: max(0.929vw,12px);
}
.recommendation .link p {
  line-height: 1.6;
  margin: max(2.714vw,35px) max(2.857vw,37px) 0;
  font-family: 'Noto Sans JP';
  font-size: max(0.981vw,12px);
  font-weight: 400;
  letter-spacing: .05em;
  color: #3d3d3d;
}
.recommendation .contents {
  margin-top: max(3.214vw,41px);
}
.recommendation .contents .box {
  padding-top: max(2.429vw,31px);
}
.recommendation .contents .box01 {
  height: max(39.643vw,515px);
  background: url(../images/top/recommendation_box01_bg.jpg) center top no-repeat;
  background-size: cover;
}
.recommendation .contents .box02 {
  height: max(39.643vw,515px);
  background: url(../images/top/recommendation_box02_bg.jpg) center top no-repeat;
  background-size: cover;
}
.recommendation .contents .box03 {
  height: max(39.714vw,516px);
  background: url(../images/top/recommendation_box03_bg.jpg) center top no-repeat;
  background-size: cover;
}
.recommendation .contents .box04 {
  height: max(44vw,572px);
  background: url(../images/top/recommendation_box04_bg.jpg) center top no-repeat;
  background-size: cover;
}
.recommendation .contents .box .box_inner {
  width: max(48.143vw,625px);
  height: max(35.071vw,455px);
  padding-top: max(2.286vw,29px);
  background-color: rgba(255,255,255,.5);
}
.recommendation .contents .box:nth-of-type(even) .box_inner {
  margin-left: auto;
}
.recommendation .contents .box01 .box_inner {
  width: max(54.214vw,704px);
}
.recommendation .contents .box .box_inner h3 {
  width: 100%;
  height: max(3.429vw,44px);
  padding-top: max(0.714vw,9px);
  padding-left: max(2.714vw,35px);
  font-size: max(2.084vw,27px);
  font-weight: 500;
  letter-spacing: .1em;
  color: #fff;
}
.recommendation .contents .box:nth-of-type(odd) .box_inner h3 {
  background: url(../images/top/recommendation_h3bg_bl.png) left center no-repeat;
  background-size: cover;
}
.recommendation .contents .box:nth-of-type(even) .box_inner h3 {
  background: url(../images/top/recommendation_h3bg_gr.png) left center no-repeat;
  background-size: cover;
}
.recommendation .contents .box .box_inner .lead {
  line-height: 1.5;
  margin: 0 max(2.143vw,27px);
  padding: max(1.071vw,13px) 0 max(0.714vw,9px) max(0.714vw,9px);
  font-size: max(1.929vw,25px);
  font-weight: 400;
  letter-spacing: .12em;
  color: #434343;
  border-bottom: #434343 solid 1px;
}
.recommendation .contents .box .box_inner .lead span {
  font-size: max(2.5vw,32px);
}
.recommendation .contents .box .box_inner .lead small {
  font-size: max(1.191vw,15px);
}
.recommendation .contents .box .box_inner .lead i {
  font-size: max(2.679vw,34px);
}
.recommendation .contents .box .box_inner .lead_s {
  line-height: 1.2;
  margin-top: max(1.429vw,18px);
  margin-left: max(3.214vw,41px);
  font-family: 'Noto Sans JP';
  font-size: max(1.488vw,19px);
  font-weight: 400;
  letter-spacing: .06em;
}
.recommendation .contents .box:nth-of-type(odd) .box_inner .lead_s {
  color: #155795;
}
.recommendation .contents .box:nth-of-type(even) .box_inner .lead_s {
  color: #03a8b3;
}
.recommendation .contents .box .box_inner .flex {
  display: flex;
  margin-right: max(2.143vw,27px);
  margin-left: max(3.071vw,39px);
}
.recommendation .contents .box:nth-of-type(even) .box_inner .flex {
  flex-direction: row-reverse;
}
.recommendation .contents .box01 .box_inner .flex {
  column-gap: max(4.286vw,55px);
  margin-top: max(1.786vw,23px);
}
.recommendation .contents .box02 .box_inner .flex {
  column-gap: max(7.5vw,97px);
  margin-top: max(0.357vw,4px);
	justify-content: space-between;
}
.recommendation .contents .box03 .box_inner .flex {
  column-gap: max(5.714vw,74px);
  margin-top: max(2.5vw,32px);
}
.recommendation .contents .box04 .box_inner .flex {
  column-gap: max(2vw,26px);
  margin-top: max(1.429vw,18px);
}
.recommendation .contents .box .box_inner .flex img {
  box-shadow: 0 max(0.214vw,2px) max(0.429vw,5px) rgba(67,67,67,0.16);
}
.recommendation .contents .box01 .box_inner .flex img {
  width: max(15.214vw,197px);
}
.recommendation .contents .box02 .box_inner .flex img {
  width: max(20.143vw,261px);
	width: max(10.357vw,135px);
	margin-top: min(-1.429vw,-18px);;
}
.recommendation .contents .box03 .box_inner .flex img {
  width: max(15.214vw,197px);
}
.recommendation .contents .box04 .box_inner .flex img {
  width: max(20.286vw,263px);
}
.recommendation .contents .box .box_inner ul {
  margin-top: max(1.071vw,13px);
}

.recommendation .contents .box02 .box_inner ul{
	margin-top: max(0.714vw,9px);
}
.recommendation .contents .box .box_inner ul li {
  line-height: 1.9;
  padding-left: max(1.643vw,21px);
  font-family: 'Noto Sans JP';
  font-size: max(1.191vw,15px);
  font-weight: 400;
  letter-spacing: .08em;
  color: #434343;
}
.recommendation .contents .box:nth-of-type(odd) .box_inner ul li {
  background: url(../images/top/recommendation_check_bl.png) left center no-repeat;
  background-size: max(1vw,13px);
}
.recommendation .contents .box:nth-of-type(even) .box_inner ul li {
  background: url(../images/top/recommendation_check_gr.png) left center no-repeat;
  background-size: max(1vw,13px);
}
.recommendation .contents .box .box_inner .btn a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: max(13.214vw,171px);
  height: max(3.143vw,40px);
  margin-top: max(1.786vw,23px);
  padding-left: max(2.857vw,37px);
  font-family: 'Noto Sans JP';
  font-size: max(1.002vw,13px);
  font-weight: 400;
  letter-spacing: .05em;
  color: #fff;
  background: url(../images/top/recommendation_arrow.png) right max(1vw,13px) top max(1.286vw,16px) no-repeat;
  background-size: max(2.429vw,31px) auto;
}
.recommendation .contents .box:nth-of-type(odd) .box_inner .btn a {
  background-color: #5f99b0;
}
.recommendation .contents .box:nth-of-type(even) .box_inner .btn a {
  background-color: #68babb;
}

.recommendation .contents .box02 .box_inner .btn a{
	margin-top: max(1.002vw,13px);
}
/*
  treatment
========================================================================== */
.treatment {
  margin-top: max(4.286vw,55px);
}
.treatment h2 {
  position: relative;
  text-align: center;
  font-size: max(1.991vw,25px);
  font-weight: 400;
  letter-spacing: .16em;
  color: #000;
}
.treatment h2::after {
  position: relative;
  content: "";
  display: block;
  width: 1px;
  aspect-ratio: 1/59;
  margin: max(1.429vw,18px) auto min(-1.071vw,-14px);
  background: #888;
}
.treatment h2 span {
  font-size: max(2.469vw,32px);
}
.treatment h2 em {
  font-size: max(3.125vw,40px);
  text-decoration: underline;
  text-decoration-thickness: max(0.714vw,9px);
  text-decoration-color: #f9f8d6;
  text-underline-offset: min(-0.214vw,-3px);
}
.treatment .contents {
  display: flex;
  justify-content: center;
  column-gap: max(2.929vw,38px);
  height: max(38.571vw,501px);
  padding-top: max(4.5vw,58px);
  font-family: 'Noto Sans JP';
  background: url(../images/top/treatment_bg.jpg) center top no-repeat;
  background-size: cover;
}
.treatment .contents li {
  position: relative;
  display: block;
  width: max(25vw,325px);
  height: max(28.571vw,371px);
  padding: max(1.786vw,23px) max(2.5vw,32px) 0;
  background-color: #fff;
  box-shadow: max(0.286vw,3px) max(0.286vw,3px) max(0.5vw,6px) 0 rgba(67,67,67,0.16);
}
.treatment .contents li::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: max(7.143vw,92px);
  height: max(9.143vw,118px);
  mix-blend-mode: multiply;
}
.treatment .contents li:nth-of-type(1)::after {
  background: url(../images/top/treatment_num01.png) left top no-repeat;
  background-size: cover;
}
.treatment .contents li:nth-of-type(2)::after {
  background: url(../images/top/treatment_num02.png) left top no-repeat;
  background-size: cover;
}
.treatment .contents li:nth-of-type(3)::after {
  background: url(../images/top/treatment_num03.png) left top no-repeat;
  background-size: cover;
}
.treatment .contents li h3 {
  text-align: center;
  font-size: max(1.786vw,23px);
  font-weight: 400;
  letter-spacing: .08em;
}
.treatment .contents li img {
  display: block;
  margin-top: max(1.929vw,25px);
}
.treatment .contents p {
  line-height: 1.57;
  margin-top: max(1.143vw,14px);
  font-size: max(1.041vw,13px);
  font-weight: 400;
  letter-spacing: .06em;
}

/*
  professional
========================================================================== */
.professional {
  margin-top: max(5.643vw,73px);
  padding-top: max(4.5vw,58px);
  /* background: url(../images/top/professional_bg.png) center bottom no-repeat; */
	background-color: #ecfdfd;
  background-size: 100% auto;
}
.professional h2 {
  width: max(27.571vw,358px);
  height: max(4.286vw,55px);
  margin: auto;
  padding-top: max(1.143vw,14px);
  text-align: center;
  font-size: max(1.786vw,23px);
  font-weight: 200;
  letter-spacing: .2em;
  color: #949494;
  border: #819292 solid 1px;
}
.professional h3 {
  margin-top: max(2.857vw,37px);
  text-align: center;
  font-size: max(4.245vw,55px);
  font-weight: 500;
  letter-spacing: .08em;
}
.professional h3 span {
  padding: 0 .5em;
  font-size: max(3.571vw,46px);
  font-weight: 400;
}
.professional h3 em {
  font-weight: 500;
  color: #00cbce;
}
.professional .contents {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  margin-top: max(3.214vw,41px);
  writing-mode: vertical-rl;
	font-feature-settings: "vchw" 1;
}
.professional .contents p {
  line-height: 2.36;
  font-size: max(1.637vw,21px);
  font-weight: 400;
  letter-spacing: .12em;
}
.professional .contents p + p {
  margin-right: 2.8em;
}
.professional .contents p em {
  color: #00cbce;
  font-weight: 600;
}

.professional .doctor {
  position: relative;
  display: flex;
  margin-top: max(3.571vw, 46px);
}

.professional .doctor::before {
  content: "";
  position: absolute;
  z-index: 1;
  left: 50%;
  top: min(-5.357vw, -70px);
  width: 1px;
  height: max(6.071vw, 78px);
  background-color: #333;
}

.professional .doctor .box {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 20%;
  padding-top: max(39.429vw, 512px);
}

.professional .doctor .box .pic {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
}

.professional .doctor .box .text {
  display: flex;
  flex-direction: column;
  flex: 1;
  position: relative;
  z-index: 1;
  padding: max(6vw, 78px) max(1.786vw, 23px) max(2.143vw, 27px);
  background-image: url(../images/top/professional_doctor_bg_02.png);
	background-size: 100% 100%;
	background-position: center bottom;
	background-repeat: no-repeat;
}

.professional .doctor .box .name {
  font-size: max(2.571vw, 33px);
	padding-bottom: 0.25em;
  text-align: center;
  border-bottom: #7e858f 1px solid;
}

.professional .doctor .box .detail {
  display: flex;
  align-items: center;
  flex: 1;
  margin-top: max(1.429vw, 18px);
  padding: max(1.071vw, 13px);
  background-color: #37cbce;
}

.professional .doctor .box .detail ul {
  width: fit-content;
  margin-inline: auto;
}

.professional .doctor .box .detail li {
  position: relative;
  padding-left: max(0.714vw, 9px);
  color: #FFF;
  font-size: max(1.143vw, 14px);
	line-height: 1.35;
}

.professional .doctor .box .detail li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}

/* 偶数番目 */
.professional .doctor .box:nth-of-type(even) .text {
  background-image: url(../images/top/professional_doctor_bg_03.png);
}

.professional .doctor .box:nth-of-type(even) .detail {
  background-color: #009bd7;
}

/*
  menu
========================================================================== */
.menu {
  height: max(69.714vw,906px);
  margin-top: max(4.286vw,55px);
  padding: max(7.714vw,100px) max(6.714vw,87px) 0 max(6.571vw,85px);
  background: url(../images/top/menu_bg.jpg) center top no-repeat;
  background-size: cover;
}
.menu h2 {
  margin-top: max(3.214vw,41px);
  text-align: right;
  font-family: 'Times New Roman', Times, serif;
  font-size: max(5.136vw,66px);
  letter-spacing: .06em;
  color: #00cbce;
}
.menu h2::first-letter {
  font-size: max(6.911vw,89px);
}
.menu .catch {
  font-size: max(3.544vw,46px);
  font-weight: 400;
  letter-spacing: .16em;
  color: #000;
}
.menu .catch span {
  display: block;
  width: fit-content;
  padding: max(1.071vw,13px) max(1.786vw,23px);
  background-color: rgba(255,255,255,.9);
}
.menu .catch span:last-of-type {
  margin-top: max(0.786vw,10px);
  margin-left: max(7.143vw,92px);
}
.menu .catch em {
  font-size: max(4.127vw,53px);
}
.menu ul {
  display: grid;
  grid-template-columns: repeat(5,1fr);
  gap: max(1.143vw,14px) max(1.143vw,14px);
}
.menu ul li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: max(16.357vw,212px);
  height: max(6.357vw,82px);
  line-height: 1.29;
  text-align: center;
  font-family: 'Noto Sans JP';
  font-weight: 500;
  font-size: max(1.5vw,19px);
  letter-spacing: .1em;
  color: #2e2e2e;
  background: rgba(255,255,255,.9) url(../images/top/menu_arrow.png) right bottom no-repeat;
  background-size: max(1.429vw,18px);
}
.menu ul li:nth-of-type(1) {
  grid-column: 3/4;
}
.menu ul li:nth-of-type(4) {
  grid-column: 2/3;
}
.menu ul li:nth-of-type(8) {
  grid-column: 2/3;
}

/*
  team
========================================================================== */
.team {
  margin-top: max(4.5vw,58px);
}
.team h2 {
  position: relative;
  margin-left: max(5.357vw,69px);
}
.team h2 img {
  width: max(85.714vw,1114px);
}
.team .mv {
  margin-top: min(-10.357vw,-135px);
}
.team .mv img {
  width: 100%;
}
.team .contents {
  height: max(82.643vw,1074px);
  background: url(../images/top/team_bg.jpg) center top no-repeat;
  background-size: cover;
}
.team .expert {
  position: relative;
  padding-top: max(6.071vw,78px);
  padding-left: max(9.214vw,119px);
}
.team .expert .tag {
  position: absolute;
  left: max(1.429vw,18px);
  top: 0;
  width: max(13.357vw,173px);
  height: max(13.071vw,169px);
  padding-top: max(1.286vw,16px);
  padding-left: max(0.857vw,11px);
  font-size: max(1.56vw,20px);
  font-weight: 400;
  letter-spacing: .1em;
  clip-path: polygon(0 0, 0 100%, 100% 0);
  background-color: #ffffd6;
}
.team .expert .tag span {
  display: block;
  font-size: max(2.079vw,27px);
}
.team .expert .tag em {
  font-size: max(3.119vw,40px);
} 
.team .expert h3 {
  width: fit-content;
  padding-right: max(5.714vw,74px);
  padding-bottom: max(1.071vw,13px);
  font-size: max(2.084vw,27px);
  font-weight: 400;
  letter-spacing: .1em;
  color: #fff;
  border-bottom: #fff solid 1px;
}
.team .expert h3 span {
  font-size: max(2.381vw,30px);
}
.team .expert h3 i {
  font-size: max(2.679vw,34px);
}
.team .expert h3 em {
  color: #f8e492;
}
.team .expert ul {
  display: flex;
  flex-wrap: wrap;
  row-gap: max(1.571vw,20px);
  width: max(44.643vw,580px);
  margin-top: max(2.286vw,29px);
}
.team .expert li {
  position: relative;
  padding-bottom: max(0.357vw,4px);
  font-size: max(1.488vw,19px);
  font-weight: 400;
  letter-spacing: .06em;
  color: #fff;
}
.team .expert li:nth-of-type(odd) {
  width: 54%;
}
.team .expert li span {
  font-size: max(1.942vw,25px);
}
.team .expert li u {
  border-bottom: #f6eab6 solid 1px;
}
.team .expert li::before {
  content: "";
  display: inline-block;
  width: max(0.786vw,10px);
  height: max(0.929vw,12px);
  margin-right: max(0.571vw,7px);
  background-color: #f6eab6;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.team .expert .pic {
  position: absolute;
  top: min(-17.929vw,-234px);
  right: 0;
}
.team .expert .pic img {
  width: max(43.429vw,564px);
}
.team .doctor {
  position: relative;
  width: max(90.429vw,1175px);
  height: max(42.857vw,557px);
  margin: max(7.143vw,92px) auto 0;
}
.team .doctor::before {
  content: "";
  position: absolute;
  right: min(-1.5vw,-20px);
  bottom: min(-1.571vw,-21px);
  width: 100%;
  height: 100%;
  background-color: #d7dbe3;
  mix-blend-mode: multiply;
}
.team .doctor::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #faf8f4;
}
.team .doctor > * {
  position: relative;
  z-index: 1;
}
.team .doctor .member {
  display: flex !important;
  column-gap: max(0.429vw,5px);
  padding: max(3.143vw,40px) max(2.857vw,37px) 0 max(5.214vw,67px);
}
.team .doctor .member .pic {
  flex-shrink: 0;
  width: max(29vw,377px);
}
.team .doctor .member .detail {
  width: 100%;
}
.team .doctor .member .name {
  margin-top: max(1.071vw,13px);
  padding-left: max(2.143vw,27px);
  padding-bottom: max(1.429vw,18px);
  font-size: max(2.802vw,36px);
  font-weight: 500;
  letter-spacing: .1em;
  border-bottom: #2e2e2e solid 2px;
}
.team .doctor .member .name .en {
  padding-left: 1em;
  font-size: max(2.491vw,32px);
  font-weight: 400;
  letter-spacing: .04em;
  color: #ac8c59;
}
.team .doctor .member .flex {
  display: flex;
  justify-content: space-between;
  margin-top: max(2.143vw,27px);
  margin-left: max(2.143vw,27px);
}
.team .doctor .member .career ul li {
  line-height: 1.44;
  font-family: 'Noto Sans JP';
  font-size: max(1.339vw,17px);
  font-weight: 400;
  letter-spacing: .06em;
}
.team .doctor .member .career p {
  line-height: 1.44;
  margin-top: max(2.143vw,27px);
  font-family: 'Noto Sans JP';
  font-size: max(1.339vw,17px);
  font-weight: 400;
  letter-spacing: .06em;
}
.team .doctor .member .career p.post {
	margin: 0;
	font-size: max(1.857vw,24px);
}

.team .doctor .member .pic_s {
  flex-shrink: 0;
  width: max(18.5vw,240px);
}

/* page01 */
.team .doctor .member.page01 .pic_s {
	width: max(23.071vw, 300px);
	display: flex;
	flex-wrap: wrap;
	gap: max(0.5vw,6px);
}

.team .doctor .member.page01 .pic_s figure{
	border:1px solid #ccc;
	padding: max(0.214vw,2px);
	background:#fff;
}
.team .doctor .member.page01 .pic_s figure:not(:nth-of-type(1)){
	width:calc(50% - max(0.5vw,6px) / 2);
}

.team .doctor .member.page01 .pic
/* 2ページ目以降 */
.team .doctor .member.page02 .pic {
  flex-shrink: 0;
  width: max(29vw,377px);
}
.team .doctor .member.page02 .name {
  margin-top: max(5.714vw,74px);
}

/*slick setting*/
.doctor .slick-arrow {
  position: absolute;
  z-index: 2;
  width: max(4.714vw,61px);
  height: max(4.714vw,61px);
  opacity: 1;
  transition: all .3s;
}
.doctor .slick-prev {
  top: max(21.571vw,280px);
  left: min(-2.857vw,-38px);
}
.doctor .slick-next {
  top: max(21.571vw,280px);
  right: min(-2.857vw,-38px);
}
.doctor .slick-arrow:before {
  content: "";
  display: block;
  width: max(4.714vw,61px);
  height: max(4.714vw,61px);
  background-image: url(../images/top/slick_arrow.png);
  background-size: cover;
  opacity: .8;
}
.doctor .slick-arrow.slick-next:before {
  transform: scale(-1, 1);
}
.doctor .slick-arrow:focus {
  opacity: 1;
}
.doctor .slick-dots {
  position: absolute;
  left: 0;
  right: 0;
  bottom: min(-6.786vw,-89px);
}
.doctor .slick-dots li {
  width: max(1.643vw,21px);
  height: max(1.643vw,21px);
  margin: 0 max(0.429vw,5px);
}
.doctor .slick-dots li button::before {
  content: "";
  width: max(1.643vw,21px);
  height: max(1.643vw,21px);
  border-radius: 50%;
  background-color: #cfd1d8;
  opacity: 1;
  mix-blend-mode: multiply;
}
.doctor .slick-dots li.slick-active button::before {
  background-color: #10a3a5;
  mix-blend-mode: multiply;
}
.doctor .slick-dotted.slick-slider {
  height: 100%;
  margin-bottom: 0;
}

/*
  feature
========================================================================== */
.feature {
  margin-top: max(9.143vw,118px);
}
.feature h2 {
  position: relative;
  text-align: center;
  font-size: max(3.434vw,44px);
  font-weight: 400;
  letter-spacing: .08em;
  color: #313131;
}
.feature h2 span {
  font-size: max(4.046vw,52px);
}
.feature h2 small {
  font-size: max(2.839vw,36px);
}
.feature h2 em {
  color: #00cbce;
}
.feature h2::after {
  position: relative;
  content: "";
  display: block;
  width: 1px;
  aspect-ratio: 1/85;
  margin: max(1.714vw,22px) auto min(-4.429vw,-58px);
  background: #919191;
}
.feature .btn {
  position: relative;
  margin-right: max(3.786vw,49px);
  text-align: right;
}
.feature .btn img {
  width: max(33.857vw,440px);
}
.feature .contents {
  height: max(74.571vw,969px);
  margin-top: max(1.571vw,20px);
  padding: max(3.429vw,44px) max(50vw,650px) 0 max(3.857vw,50px);
  background: url(../images/top/feature_bg.jpg) center top no-repeat;
  background-size: cover;
}
.feature .contents h3 {
  margin-left: max(0.286vw,3px);
}
.feature .contents h3 img {
  display: block;
  width: 100%;
  box-shadow: 0 max(0.214vw,2px) max(0.429vw,5px) rgba(67,67,67,.16);
}
.feature .contents h3 + p {
  line-height: 1.4;
  margin-top: max(1.786vw,23px);
  font-family: 'Noto Sans JP';
  font-size: max(1.041vw,13px);
  font-weight: 400;
  letter-spacing: .06em;
  color: #373737;
  text-shadow: 0 0 max(0.714vw,9px) #fff, 0 0 max(0.714vw,9px) #fff, 0 0 max(0.714vw,9px) #fff, 0 0 max(0.714vw,9px) #fff, 0 0 max(0.714vw,9px) #fff;
}
.feature .contents .inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  row-gap: max(2.857vw,37px);
  margin-top: max(5.571vw,72px);
}
.feature .contents .box a {
  display: block;
  width: max(21.5vw,279px);
  height: max(22.5vw,292px);
  padding-top: 1px;
  background-color: #fff;
  box-shadow: 0 max(0.214vw,2px) max(0.429vw,5px) rgba(67,67,67,.16);
}
.feature .contents .box .number {
  position: relative;
  margin-top: min(-1.929vw,-26px);
  margin-left: max(1.714vw,22px);
  font-family: 'Roboto Condensed';
  font-weight: 400;
  font-size: max(1.036vw,13px);
  letter-spacing: .1em;
  color: #313131;
}
.feature .contents .box .number small {
  padding-left: max(1.786vw,23px);
  font-size: max(1.559vw,20px);
  letter-spacing: .12em;
}
.feature .contents .box .number i {
  font-size: max(2.189vw,28px);
  letter-spacing: .12em;
}
.feature .contents .box .number::after {
  content: "";
  display: inline-block;
  width: 1px;
  height: max(2.929vw,38px);
  margin: 0 0 min(-0.571vw,-8px) max(1.286vw,16px);
  border-right: #141414 solid 1px;
  transform: rotate(30deg);
}
.feature .contents .box h4 {
  margin-top: max(0.857vw,11px);
  text-align: center;
  font-size: max(1.429vw,18px);
  font-weight: 400;
  letter-spacing: .08em;
  color: #313131;
}
.feature .contents .box .pic {
  margin-top: max(0.5vw,6px);
  text-align: center;
}
.feature .contents .box .pic img {
  width: max(17.571vw,228px);
}
.feature .contents .box ul {
  margin-top: max(0.857vw,11px);
  margin-left: max(3.571vw,46px);
}
.feature .contents .box:nth-of-type(4) ul {
  margin-left: max(5.286vw,68px);
}
.feature .contents .box ul li {
  line-height: 1.4;
  padding-left: max(1.5vw,19px);
  font-family: "Noto Sans JP";
  font-size: max(1.071vw,13px);
  font-weight: 400;
  letter-spacing: .04em;
  background: url(../images/top/feature_check.png) left center no-repeat;
  background-size: max(1vw,13px) auto;
}

/*
  consultation
========================================================================== */
.consultation {
  position: relative;
  height: max(50vw,650px);
  margin-top: max(3.857vw,50px);
  background: url(../images/top/consultation_bg.jpg) center top no-repeat;
  background-size: cover;
}
.consultation::before {
	position: absolute;
	content:"";
	border:1px solid #825655;
	left: max(0.786vw,10px);
	right: max(0.786vw,10px);
	bottom: max(0.786vw,10px);
	top: max(0.786vw,10px);
	cursor: pointer;
}
.consultation h2 {
  padding-top: max(0.5vw,6px);
  padding-right: max(2.214vw,28px);
  text-align: right;
  font-family: 'Times New Roman', Times, serif;
  font-size: max(4.286vw,55px);
  letter-spacing: .04em;
  color: rgba(179,155,152,.7)
}
.consultation h2::first-letter {
  font-size: max(5.714vw,74px);
}
.consultation .contents {
  position: absolute;
  right: max(2.929vw,38px);
  bottom: max(2.071vw,26px);
  width: max(30.571vw,397px);
  height: max(28.643vw,372px);
  padding: max(1.714vw,22px) max(1.786vw,23px) 0;
  background: url(../images/top/consultation_txt_bg.png) left top no-repeat;
  background-size: cover;
}
.consultation .lead {
  position: relative;
  width: max(14.714vw,191px);
  height: max(2.429vw,31px);
  line-height: max(2.143vw,27px);
  text-align: center;
}
.consultation .lead::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #b39b98;
  mix-blend-mode: multiply;
}
.consultation .lead span {
  position: relative;
  font-family: 'Noto Sans JP';
  font-size: max(1.143vw,14px);
  letter-spacing: .1em;
  color: #fff;
}
.consultation h3 {
  line-height: 1.48;
  margin-top: max(1.571vw,20px);
  margin-bottom: max(1.286vw,16px);
  padding-bottom: max(0.857vw,11px);
  font-size: max(2vw,26px);
  letter-spacing: .14em;
  color: #fff;
  border-bottom: #fff solid 1px;
}
.consultation p {
  line-height: 1.75;
  font-size: max(1.429vw,18px);
  letter-spacing: .12em;
  color: #fff;
}
.consultation .btn {
  position: absolute;
  right: max(1.929vw,25px);
  bottom: max(1.857vw,24px);
}
.consultation .btn a {
  position: relative;
  display: block;
  padding-bottom: max(0.286vw,3px);
  font-family: 'Times New Roman', Times, serif;
  font-weight: 400;
  font-size: max(1.189vw,15px);
  letter-spacing: .04em;
  color: #fff;
  border-bottom: #fff solid 1px;
}
.consultation .btn a:after {
  content: "";
  display: inline-block;
  width: max(0.286vw,3px);
  height: max(0.429vw,5px);
  margin-left: max(0.929vw,12px);
  margin-bottom: max(0.143vw,1px);
  background-color: #fff;
  clip-path: polygon(0 100%, 0 0, 100% 50%);
}

/*
  gallery
========================================================================== */
.gallery {
  margin-top: max(4.714vw,61px);
  padding-bottom: max(1.786vw,23px);
  background-color: #f3f2ee;
}
.gallery .inner {
  position: relative;
}
.gallery .inner h2 {
  position: absolute;
  top: max(2.286vw,29px);
  left: max(2.429vw,31px);
  z-index: 10;
}
.gallery .inner h2 img {
  width: max(20.143vw,261px);
}
.gallery .thumb {
  margin-top: max(1.5vw,19px);
}
.gallery ul.thumb .slick-track {
  transform: unset !important;
}

/*
  footerInfo
========================================================================== */
.footerInfo {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: max(5.571vw,72px);
  padding: max(3.429vw,44px) max(3.643vw,47px) max(3.214vw,41px);
  background-color: #f6f7f8;
}
.footerInfo .news,
.footerInfo .schedule {
  width: max(45.714vw,594px);
  height: max(43.571vw,566px);
  padding: max(2.857vw,37px) max(3.143vw,40px) 0 max(2.786vw,36px);
  background-color: #fff;
  box-shadow: max(0.143vw,1px) max(0.143vw,1px) 0 #d2d2d2;
}
.footerInfo > div:first-of-type:last-of-type{
	margin-left: auto;
	margin-right: auto;
}
.footerInfo h2 {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding-right: max(1.071vw,13px);
  padding-bottom: max(0.714vw,9px);
  font-family: 'Times New Roman', Times, serif;
  font-size: max(2.766vw,35px);
  font-weight: 400;
  letter-spacing: .04em;
  border-bottom: #2c4166 double max(0.214vw,2px);
}
.footerInfo h2 span {
  font-size: max(1.488vw,19px);
  letter-spacing: .1em;
}
.footerInfo .news ul {
  margin: max(2.714vw,35px) max(4.071vw,52px) 0;
  font-family: 'Noto Sans JP';
}
.footerInfo .news ul li + li {
  margin-top: max(2.5vw,32px);
}
.footerInfo .news ul li a {
  display: block;
}
.footerInfo .news ul li dl {
  display: flex;
  align-items: flex-start;
  column-gap: max(2.5vw,32px);
}
.footerInfo .news ul li dl dt {
  line-height: 1.57;
  font-size: max(1.191vw,15px);
  font-weight: 500;
  color: #578ad6;
  white-space: nowrap;
}
.footerInfo .news ul li dl dd {
  line-height: 1.57;
  font-size: max(1.116vw,14px);
  font-weight: 400;
  letter-spacing: .1em;
  color: #5d5c5c;
}
.footerInfo .news .btn a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: max(14.071vw,182px);
  height: max(2.929vw,38px);
  margin: max(3vw,39px) auto 0;
  padding-left: max(2.643vw,34px);
  font-size: max(1.191vw,15px);
  font-weight: 400;
  letter-spacing: .06em;
  color: #2e2e2e;
  border: #2c4166 solid 1px;
  background: url(../images/top/news_arrow.png) right max(2.643vw,34px) top max(1vw,13px) no-repeat;
  background-size: max(2.429vw,31px) auto;
}
.footerInfo .schedule .calendar {
  margin-top: max(1.786vw,23px);
}
.footerInfo .schedule .calendar iframe {
  width: 100%;
  height: max(30.714vw,399px);
}
.footerInfo .banner {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin-top: max(1.929vw,25px);
}
.footerInfo .banner li img {
  width: max(29.429vw,382px);
  box-shadow: max(0.143vw,1px) max(0.143vw,1px) 0 #d2d2d2;
}

/*
  access
========================================================================== */
.access {
  padding: max(3.571vw,46px) max(3.071vw,39px) 0;
}
.access h2 {
  text-align: center;
  font-family: 'Times New Roman', Times, serif;
  font-size: max(2.766vw,35px);
  font-weight: 400;
  letter-spacing: .04em;
  color: #2e2e2e;
}
.access h2::after {
  position: relative;
  content: "";
  display: block;
  width: 1px;
  aspect-ratio: 1/62;
  margin: max(0.571vw,7px) auto min(-1.643vw,-22px);
  background: #2e2e2e;
}
.access .text {
  line-height: 1.6;
  margin-top: max(1.429vw,18px);
  font-family: 'Noto Sans JP';
  font-size: max(0.981vw,12px);
  letter-spacing: .05em;
  color: #3d3d3d;
}
