@charset "UTF-8";

/*CSSDocument*/

@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:100,300,400,500,700,900&display=swap&subset=japanese');
@import url('https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700,800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap');

/* html body base
===============================================================*/

/*
html ----------------------------------------------------------*/


html {
 height: -webkit-fill-available;
}


* {
 margin: 0px;
 padding: 0px;
}

body {
 color: #1a1a1a;
 margin: 0;
 padding: 0;
 background: #EFEFEF;
 font-family: 'Roboto', 'Noto Sans JP', '游ゴシック体', 'Yu Gothic', YuGothic, "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif" !important;
 text-align: center;
 line-height: 1.6;
 -webkit-text-size-adjust: 100%;
 font-feature-setting: "palt";
 min-width: 320px;
 position: relative;
}

body.is-active {
 touch-action: auto;
 overflow: auto;
}


a {
 color: #195c9e;
 text-decoration: none;
}

a:visited {
 color: #195c9e;
 text-decoration: none;
}

a:hover {
 color: #195c9e;
 text-decoration: underline;
}

a:active {
 color: #195c9e;
 text-decoration: underline;
}

ul {
 list-style: none;
}

a:hover img {
 filter: alpha(opacity=70) !important;
 -moz-opacity: 0.70 !important;
 opacity: 0.70 !important;
 -webkit-transition: all .2s linear;
}

img {
 margin: 0;
 padding: 0;
 vertical-align: top;
 max-width: 100%;
 height: auto;
}






.sp {
 display: none;
}

.pc {
 display: block;
}


@media screen and (max-width: 768px) {


 img {
  max-width: 100%;
  height: auto;
 }

 .sp {
  display: block;
 }

 .pc {
  display: none;
 }

}




/*
html ----------------------------------------------------------*/



/* body base
===============================================================*/



/* header
===============================================================*/

.sportec_header {
 background: url(../images/kv_pc.jpg) no-repeat top center / cover;
 width: 100%;
 display: block;
 position: relative;
 display: flex;
 justify-content: center;
 align-items: center;
}

header {
 padding: 0 25px;
 box-sizing: border-box;
 text-align: left;
 position: fixed;
 display: flex;
 justify-content: space-between;
 align-items: center;
 top: 0;
 left: 0;
 z-index: 10;
 background: rgba(0, 0, 0, .6);
 width: 100%;
 height: 100px;
}

header h1 {
 display: flex;
 align-items: center;
 width: 30%;
 color: #fff;
 box-sizing: border-box;
 padding: 10px 0;
 font-size: 12px;
}

header h1 img {
 width: 100%;
}

header h1 span {
 padding-left: 1em;
 white-space: nowrap;
 line-height: 1.4;
}

.header-btn-area{
 display: flex;
}

.header-btn {
 width: 260px;
 margin-bottom: .5em;
}
.reserve-btn {
 width: auto;
 margin-bottom: .5em;
 margin-right: .5em;
}
.header-btn a,
.reserve-btn a{
 background: #B40019 url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2236.86%22%20height%3D%2234.401%22%20viewBox%3D%220%200%2036.86%2034.401%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_4%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%204%22%20transform%3D%22translate(1235%20-3337)%22%3E%20%3Cg%20id%3D%22_9035610_person_add_outline_icon%22%20data-name%3D%229035610_person_add_outline_icon%22%20transform%3D%22translate(-1235%203337)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_21_-_%E3%82%A2%E3%82%A6%E3%83%88%E3%83%A9%E3%82%A4%E3%83%B3%22%20data-name%3D%22%E3%83%91%E3%82%B9%2021%20-%20%E3%82%A2%E3%82%A6%E3%83%88%E3%83%A9%E3%82%A4%E3%83%B3%22%20d%3D%22M191.726%2C32a7.939%2C7.939%2C0%2C0%2C1%2C5.9%2C2.5%2C8.091%2C8.091%2C0%2C0%2C1%2C2.082%2C6.189c-.348%2C4.692-3.929%2C8.509-7.983%2C8.509s-7.641-3.818-7.983-8.511a8.112%2C8.112%2C0%2C0%2C1%2C2.07-6.2A7.955%2C7.955%2C0%2C0%2C1%2C191.726%2C32Z%22%20transform%3D%22translate(-170.84%20-32)%22%20fill%3D%22%23fff%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_22%22%20data-name%3D%22%E3%83%91%E3%82%B9%2022%22%20d%3D%22M95.956%2C288c6.657%2C0%2C14.481%2C3.647%2C15.925%2C11.653a2.714%2C2.714%2C0%2C0%2C1-.552%2C2.235%2C2.378%2C2.378%2C0%2C0%2C1-1.859.855H82.442a2.38%2C2.38%2C0%2C0%2C1-1.863-.858%2C2.709%2C2.709%2C0%2C0%2C1-.548-2.235C81.475%2C291.647%2C89.3%2C288%2C95.956%2C288Z%22%20transform%3D%22translate(-75.069%20-268.342)%22%20fill%3D%22%23fff%22%2F%3E%20%3Cpath%20id%3D%22%E7%B7%9A_4%22%20data-name%3D%22%E7%B7%9A%204%22%20d%3D%22M-14.771-4.943A1.229%2C1.229%2C0%2C0%2C1-16-6.171v-8.6A1.229%2C1.229%2C0%2C0%2C1-14.771-16a1.229%2C1.229%2C0%2C0%2C1%2C1.229%2C1.229v8.6A1.229%2C1.229%2C0%2C0%2C1-14.771-4.943Z%22%20transform%3D%22translate(20.3%2025.829)%22%20fill%3D%22%23fff%22%2F%3E%20%3Cpath%20id%3D%22%E7%B7%9A_5%22%20data-name%3D%22%E7%B7%9A%205%22%20d%3D%22M-6.171-13.543h-8.6A1.229%2C1.229%2C0%2C0%2C1-16-14.771%2C1.229%2C1.229%2C0%2C0%2C1-14.771-16h8.6a1.229%2C1.229%2C0%2C0%2C1%2C1.229%2C1.229A1.229%2C1.229%2C0%2C0%2C1-6.171-13.543Z%22%20transform%3D%22translate(16%2030.129)%22%20fill%3D%22%23fff%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat 90% 50% / 20px;
 font-weight: bold;
 color: #fff;
 padding: 0 2.5em 0 1.5em;
 border-radius: 50px;
 font-size: min(max(12px, calc(0.75rem + ((1vw - 7.68px) * 0.9259))), 16px);
 transition: all ease .4s;
 display: flex;
 height: 36px;
 line-height: 1.2;
 align-items: center;
 box-shadow: 2px 2px 0 #000;
}
.reserve-btn a{
 background: #B40019 url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2230%22%20height%3D%2230%22%20viewBox%3D%220%200%2030%2030%22%3E%20%3Cg%20id%3D%22Layer_15%22%20data-name%3D%22Layer%2015%22%20transform%3D%22translate(-1%20-1)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_1115%22%20data-name%3D%22%E3%83%91%E3%82%B9%201115%22%20d%3D%22M16%2C31A15%2C15%2C0%2C1%2C1%2C31%2C16%2C15%2C15%2C0%2C0%2C1%2C16%2C31ZM16%2C3A13%2C13%2C0%2C1%2C0%2C29%2C16%2C13%2C13%2C0%2C0%2C0%2C16%2C3Z%22%20fill%3D%22%23fff%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_1116%22%20data-name%3D%22%E3%83%91%E3%82%B9%201116%22%20d%3D%22M20.24%2C21.66l-4.95-4.95A1%2C1%2C0%2C0%2C1%2C15%2C16V8h2v7.59l4.66%2C4.65Z%22%20fill%3D%22%23fff%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat 90% 50% / 20px;
}

.header-btn a:hover,
.reserve-btn a:hover{
 background-color: #5D131D;
 text-decoration: none;
}

#gnav {
 width: 70%;
 display: flex;
 align-items: flex-end;
 justify-content: space-between;
 flex-direction: column-reverse;
}

#gnav ul {
 width: calc(100%);
 justify-content: flex-end;
 display: flex;
 box-sizing: border-box;
}

#gnav ul li {
 margin: 0 .8em;
 font-weight: bold;
 text-align: center;
 line-height: 1.3;
 letter-spacing: 1px;
 font-size: min(max(12px, calc(0.75rem + ((1vw - 7.68px) * 0.9259))), 16px);
}

#gnav ul li a {
 color: #fff;
 position: relative;
 display: inline-block;
 text-decoration: none;
}

#gnav ul li a span {
 display: block;
 font-size: 11px;
 color: #888;
 font-weight: normal;
 letter-spacing: 0;
}

#gnav ul li a:hover {
 text-decoration: none;
}

#gnav ul li a::after {
 position: absolute;
 bottom: -4px;
 left: 0;
 content: '';
 width: 100%;
 height: 2px;
 background: #B40019;
 transform: scale(0, 1);
 transform-origin: right top;
 transition: transform .3s;
}

#gnav ul li a:hover::after {
 transform-origin: left top;
 transform: scale(1, 1);
}


#nav-toggle {
 display: none;
}


@media screen and (max-width: 768px) {

 header {
  padding: 0 25px;
  box-sizing: border-box;
  text-align: left;
  position: fixed;
  display: flex;
  justify-content: space-between;
  align-items: center;
  top: 0;
  left: 0;
  z-index: 10;
  background: rgba(0, 0, 0, .6);
  width: 100%;
  height: 100px;
 }


 header {
  height: 50px;
  padding: 0 15px;
 }

 .header-btn-area{
  flex-direction: column;
}

.reserve-btn {
 margin-right: 0;
}
 
 .header-btn a,
  .reserve-btn a{
  padding: 0 3em 0 1.2em;
 }

 .sportec_header {
  background: url(../images/kv_pc.jpg) no-repeat top center / cover;

 }

 header h1 {
  width: 70%;
  font-size: 10px;
 }

 header h1 img {
  height: 40px;
 }

 #gnav {
  visibility: hidden;
  z-index: -1;
  position: fixed;
  right: -80vw;
  width: 80vw;
  top: 50px;
  height: 100vh;
  transition: all ease .4s;
  flex-direction: column;
  align-items: center;
  padding: 5%;
  box-sizing: border-box;
  justify-content: flex-start;
 }

 .open #gnav {
  background: rgba(0, 0, 0, .8);
  visibility: visible;
  z-index: 200;
  position: fixed;
  width: 80vw;
  right: 0;
  top: 50px;
  padding: 5%;
 }

 #gnav ul {
  display: flex;
  flex-direction: column;
  text-align: left;
  align-items: flex-start;
  margin-bottom: 4%;
 }

 #gnav ul li {
  display: flex;
  flex-direction: column;
  text-align: left;
  align-items: flex-start;
  padding: 10px;
  box-sizing: border-box;
  width: 100%;
  font-size: 18px;
 }

 #gnav ul li a span {
  display: block;
  font-size: 11px;
  color: #888;
  font-weight: normal;
  letter-spacing: 0;
 }


 #gnav ul li a {
  display: block;
  width: 100%;
 }

 #nav-toggle {
  width: 30px;
  vertical-align: middle;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  z-index: 999;
  margin-top: 5px;
 }

 #nav-toggle div {
  width: 30px;
  height: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  cursor: pointer;
  z-index: 9999;
 }

 #nav-toggle span {
  height: 2px;
  width: 30px;
  left: 0;
  position: absolute;
  display: block;
  background: #fff;
  transition: top .5s ease, -webkit-transform .6s ease-in-out;
  -webkit-transition: top .5s ease, -webkit-transform .6s ease-in-out;
  -o-transition: transform .6s ease-in-out, top .5s ease;
  transition: transform .6s ease-in-out, top .5s ease;
  transition: transform .6s ease-in-out, top .5s ease, -webkit-transform .6s ease-in-out;
  z-index: 1000;
 }

 #nav-toggle.is-black span {
  background: #000;
 }

 #nav-toggle span:nth-child(1) {
  top: 0;
 }

 #nav-toggle span:nth-child(2) {
  top: 10px;
 }

 #nav-toggle span:nth-child(3) {
  top: 20px;
 }



 .open #nav-toggle span {
  background: #fff;
  right: 1em;
  -webkit-box-shadow: none;
  box-shadow: none;
 }

 .open #nav-toggle span:nth-child(1) {
  top: 10px;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
 }

 .open #nav-toggle span:nth-child(2) {
  top: 10px;
  width: 0;
  left: 50%;
 }

 .open #nav-toggle span:nth-child(3) {
  top: 10px;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
 }


}


.sportec_header h1 {
 width: 30%;
}

.sportec_header h1 img {
 width: 100%;
}

@media screen and (max-width: 768px) {

 .sportec_header h1 {
  width: auto;
 }

}

.sportec_header .btn {
 position: absolute;
 bottom: 8%;
}


.sportec_header .btn a {
 color: #fff;
 background: #B40019 url(../images/arrow.svg) no-repeat 94% 50%;
 padding: 1em 3em;
 border-radius: 50px;
 font-size: min(max(20px, calc(1.25rem + ((1vw - 7.68px) * 1.1719))), 26px);
 font-weight: bold;
 transition: all ease .4s;
}

.sportec_header .btn a:hover {
 background: #5D131D url(../images/arrow.svg) no-repeat 94% 60%;
 text-decoration: none;
}


.w-back {
 background: #fff;
 padding: 5% 0;
 z-index: 5;
 position: relative;
}

.g-back {
 background: #f1f1f1;
 padding: 5% 0 10%;
 z-index: 5;
 position: relative;
}

.l-under {
 padding:140px 0 5%;
}

.l-inner {
 padding: 0 5%;
 box-sizing: border-box;
 max-width: 1200px;
 margin: 0 auto;
}

.l-inner h2 {
 font-size: min(max(24px, calc(1.5rem + ((1vw - 7.68px) * 1.5625))), 32px);
 padding: 0 0 1em;
 position: relative;
 margin-bottom: 1em;
 text-align: center;
}

.l-inner h2:after {
 content: "";
 width: 25%;
 height: 3px;
 background: #B40019;
 position: absolute;
 bottom: 0;
 left: 0;
 right: 0;
 margin: auto;
}

.l-inner h3 {
 font-size: min(max(20px, calc(1.25rem + ((1vw - 7.68px) * 1.5625))), 28px);
 text-align: left;
 padding-top: 1em;
 margin-bottom: 1em;
 position: relative;
}

.l-inner h3:after {
 content: "";
 position: absolute;
 height: 2px;
 width: 3em;
 left: 0;
 bottom: -.3em;
 background: #000;
}

.l-inner p,
.l-inner li {
 margin-bottom: 1.5em;
 font-size: min(max(14px, calc(0.875rem + ((1vw - 7.68px) * 0.7813))), 18px);
}

.l-inner li {
 margin-bottom: .8em;
}

.l-inner ol {
 margin-left: 1.5em;
}

.policy-wrap {
 text-align: left;
}




footer {
 background: #000;
 color: #fff;
 box-sizing: border-box;
 position: relative;
 z-index: 5;
}

footer .l-inner {
 padding: 2% 5%;
}

footer a {
 color: #fff;
 text-decoration: underline;
}

footer a:visited {
 color: #fff
}


footer ul {
 display: flex;
 flex-direction: column;
 justify-content: center;
}

footer .l-inner ul li {
 margin: 0 .5em;
 font-size: min(max(12px, calc(0.75rem + ((1vw - 7.68px) * 0.7813))), 16px);
}

.f-upper {
 margin-bottom: 3%;
 display: flex;
 justify-content: space-between;
 text-align: left;
}

.f-upper p {
 font-size: min(max(12px, calc(0.75rem + ((1vw - 7.68px) * 0.7813))), 16px);
}

footer small {
 display: block;
 background: #707070;
 font-size: 12px;
 padding: 1em 0;
}



.youtube {
 width: 50%;
 margin: 0 auto;
 aspect-ratio: 9 / 16;
}

.youtube iframe {
 width: 100%;
 height: 100%;
}

.googlemap {
 margin-bottom: 3%;
}


.googlemap iframe {
 width: 100%;
 -webkit-filter: grayscale(100%);
 -moz-filter: grayscale(100%);
 -ms-filter: grayscale(100%);
 -o-filter: grayscale(100%);
 filter: grayscale(100%);
}


@media screen and (max-width: 640px) {

 .youtube {
  width: 100%;
 }

}


@media screen and (max-width: 768px) {

 .l-under {
 padding:100px 0 5%;
}
 
 .f-upper {
  flex-direction: column;
  padding: 1em 0;
 }

 .f-upper p {
  margin: .5em .5em;
 }


 footer ul {
  flex-direction: column;
  margin-bottom: 1em;
 }

}

.kv {
 position: relative;
 z-index: 1;
}

.kv div {}

.kv-swipe figure{
 position: relative;
}
.kv-swipe figure figcaption {
 position: absolute;
 height: 100%;
 width: 100%;
 display: flex;
 justify-content: center;
 flex-direction: column;
 align-items: center;
 z-index: 10;
 font-size: min(max(20px, calc(1.25rem + ((1vw - 4.8px) * 13.8889))), 60px);
 text-shadow: 0 0 6px #000;
}
.kv-swipe a figure figcaption{
 color: #fff;
}
.kv-swipe figure figcaption.morePad{
 box-sizing: border-box;
 padding-top: 20%;
}

.kv-swipe a figure figcaption.serif{
 font-family: 'Noto Serif JP', serif;
}
.kv-swipe a figure figcaption .sub{
 font-weight: bold;
 display: block;
 margin-bottom: 1em;
 font-size: min(max(12px, calc(0.75rem + ((1vw - 4.8px) * 2.7778))), 20px);
}


.kv .copy {
 height: 100%;
 display: flex;
 width: 100%;
 color: #fff;
 justify-content: center;
 align-items: center;
 font-weight: 700;
 font-size: min(max(30px, calc(1.875rem + ((1vw - 7.68px) * 5.8594))), 60px);
}

.kv .copy.lvl2 {
 font-weight: 400;
 font-family: 'Noto Serif JP', serif;
}

.kv div.kv-01 {
 background: url(../images/kv_01.jpg) no-repeat center center / cover;
 position: fixed;
 top: 0;
 width: 100%;
 height: 100%;
 display: block;
}

.kv div.kv-02 {
 background: url(../images/kv_02.jpg) no-repeat center center / cover;
 position: fixed;
 top: 0;
 width: 100%;
 height: 100%;
 display: block;
}

.kv div.kv-03 {
 background: url(../images/kv_03.jpg) no-repeat center center / cover;
 position: fixed;
 top: 0;
 width: 100%;
 height: 100%;
 display: block;
}

.kv div.kv-04 {
 background: url(../images/kv_04.jpg) no-repeat center center / cover;
 position: fixed;
 top: 0;
 width: 100%;
 height: 100%;
 display: block;
}




.news-line {
 position: absolute;
 max-width: 1200px;
 margin: auto;
 left: 0;
 right: 0;
 bottom: 8%;
 z-index: 3;
 padding: 0 3% 0;
}

.news-line dl {
 display: flex;
 background: rgba(0, 0, 0, .8);
 border-radius: 12px 10px 10px 12px;
 text-align: left;
}

.news-line dl dt {
 background: #B40019;
 color: #fff;
 padding: .7em 1em;
 border-radius: 10px 0 0 10px;
 display: flex;
 font-weight: bold;
 align-items: center;
}

.news-line dl dd {
 padding: .7em 1em;
 color: #fff;
 font-size: min(max(12px, calc(0.75rem + ((1vw - 7.68px) * 0.7813))), 16px);
}

.news-line dl dd.all-btn {
 margin-left: auto;
}

.news-line dl dd.all-btn a {
 background: #B40019;
 color: #fff;
 padding: .4em .8em;
 border-radius: 5px;
 font-size: 12px;
 display: block;
 line-height: 1.1;
 text-align: center;
 transition: all ease .4s;
}

.news-line dl dd.all-btn a:hover {
 text-decoration: none;
 background: #5D131D
}


.campaign {
 padding: 0 3% 0;
 padding-bottom: 3%;
 position: relative;
 z-index: 3;
 background: #EBEBEB;
}

.campaign .banner {
 margin: 0 auto 0;
 max-width: 1200px;
 transform: translateY(-20px);
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
}

.campaign .banner figure {
 margin-bottom: 10px;
}

.campaign .banner figure.bnr-01 {
 width: 60%;
 text-align: left;
}

.campaign .banner figure.bnr-02 {
 width: 40%;
 text-align: right;
}

.campaign .banner figure.bnr-03 {
 width: 60%;
 text-align: left;
}

.banner-btn {
 display: flex;
 align-items: flex-end;
 margin-bottom: 10px;
 width: 40%;
 justify-content: flex-end;
}



.pickup{
 padding: 5% 0;
}
.pickup .l-inner{
 max-width: 1200px;
 margin: 0 auto;
}

.pickup ul{
 display: flex;
 justify-content: space-between;
}
.pickup ul li{
 width: 49%;
}

.top-news{
 background: #B40019;
 padding: 5% 0;
}

.top-news .l-inner{
 display: flex;
 justify-content: space-between;
 align-items: flex-start;
}

.top-news-left {
 width: 150px;
}
.top-news-left h3 {
 padding: 0;
 color: #fff;
}
.l-inner h3:after {
 content: "";
 background: #fff;
}

.top-news-left .all-btn {
 text-align: left;
}
.top-news-left .all-btn a{
 color: #fff;
 background: #000;
 padding: .5em 1em;
 border-radius: 10px;
 font-size: 12px;
 transition:  all ease .4s;
 display: inline-block;
}

.top-news-left .all-btn a:hover{
 text-decoration: none;
 background: rgba(0,0,0,0.5);
 transition:  all ease .4s;
}

.top-news-right {
 width: calc(100% - 150px);
 text-align: left;
}
.top-news-right ul {
}
.top-news-right li {
 display: flex;
 color: #fff;
 border-bottom: 1px solid rgba(255,255,255,0.5);
 padding-bottom: 1em;
 padding-top: 1em;
}
.top-news-right li a{
 color: #fff;
 text-decoration: underline;
}
.top-news-right li a:hover{
 color: #fff;
 text-decoration: none;
}
.top-news-right .date {
 width: 130px;
}
.top-news-right .txt {
 width: calc(100% - 130px);
}



@media screen and (max-width: 768px) {
 .kv-swipe figure figcaption {
  padding: 0 5%;
  box-sizing: border-box;
 }
.kv-swipe figure figcaption.morePad{
 box-sizing: border-box;
 padding-top: 50%;
}
.pickup ul{
 flex-direction: column;
}
.pickup ul li{
 width: 100%;
}
 
 .kv .copy {
  padding: 0 5%;
  box-sizing: border-box;
 }

 .kv div.kv-04 {
  background-position: 80% center;
 }

 .campaign .banner {
  padding: 0 5% 0;
 }

 .campaign .banner figure.bnr-01 {
  width: 100%;
  text-align: center;
 }

 .campaign .banner figure.bnr-02 {
  width: 100%;
  text-align: center;
 }

 .campaign .banner figure.bnr-03 {
  width: 100%;
  text-align: center;
 }

 .banner-btn {
  width: 100%;
 }

 
 .top-news .l-inner{
  flex-direction: column;
}
.top-news-left {
 width: 100%;
 display: flex;
 justify-content: space-between;
}
.top-news-right {
 width: calc(100%);
}
 
.top-news-right li {
 flex-direction: column;
}

.top-news-right .date {
 width: 100%;
}
.top-news-right .txt {
 width: 100%;
}

 
 
 
}






.banner-btn a {
 background: #B40019 url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2255.904%22%20height%3D%2255.904%22%20viewBox%3D%220%200%2055.904%2055.904%22%3E%20%3Cg%20id%3D%22_352466_arrow_down_icon%22%20data-name%3D%22352466_arrow_down_icon%22%20transform%3D%22translate(0.75%2055.904)%20rotate(-90)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_19%22%20data-name%3D%22%E3%83%91%E3%82%B9%2019%22%20d%3D%22M15.3%2C16.42%2C25.976%2C27.1l10.68-10.68%2C3.3%2C3.3L25.976%2C33.692%2C12%2C19.716Z%22%20transform%3D%22translate(1.976%202.827)%22%20fill%3D%22%23fff%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_20%22%20data-name%3D%22%E3%83%91%E3%82%B9%2020%22%20d%3D%22M0-.75H55.9v55.9H0Z%22%20fill%3D%22none%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat 94% 50%;
 padding: .7em 0;
 border-radius: 50px;
 box-sizing: border-box;
 width: 100%;
 justify-content: center;
 font-size: min(max(20px, calc(1.25rem + ((1vw - 7.68px) * 1.1719))), 26px);
 font-weight: bold;
 transition: all ease .4s;
 color: #fff;
 display: flex;
}

.banner-btn a:hover {
 background: #5D131D url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2255.904%22%20height%3D%2255.904%22%20viewBox%3D%220%200%2055.904%2055.904%22%3E%20%3Cg%20id%3D%22_352466_arrow_down_icon%22%20data-name%3D%22352466_arrow_down_icon%22%20transform%3D%22translate(0.75%2055.904)%20rotate(-90)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_19%22%20data-name%3D%22%E3%83%91%E3%82%B9%2019%22%20d%3D%22M15.3%2C16.42%2C25.976%2C27.1l10.68-10.68%2C3.3%2C3.3L25.976%2C33.692%2C12%2C19.716Z%22%20transform%3D%22translate(1.976%202.827)%22%20fill%3D%22%23fff%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_20%22%20data-name%3D%22%E3%83%91%E3%82%B9%2020%22%20d%3D%22M0-.75H55.9v55.9H0Z%22%20fill%3D%22none%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat 96% 50%;
 text-decoration: none;
}

.banner-btn.reserve{
 display: none;
}

.banner-btn.reserve a{
 background: #B40019 url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2248%22%20height%3D%2248%22%20viewBox%3D%220%200%2048%2048%22%3E%20%3Cg%20id%3D%22_352466_arrow_down_icon%22%20data-name%3D%22352466_arrow_down_icon%22%20transform%3D%22translate(0%200.75)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_1117%22%20data-name%3D%22%E3%83%91%E3%82%B9%201117%22%20d%3D%22M14.83%2C16.42%2C24%2C25.59l9.17-9.17L36%2C19.25l-12%2C12-12-12Z%22%20fill%3D%22%23fff%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_1118%22%20data-name%3D%22%E3%83%91%E3%82%B9%201118%22%20d%3D%22M0-.75H48v48H0Z%22%20fill%3D%22none%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat 94% 50% / 30px;
}




.top-intro {
 position: relative;
 z-index: 3;
 background: #EBEBEB;
}

.top-intro-box {
 display: flex;
}

.intro-in {
 width: calc(100% / 3);
 padding: 0 0 3%;
}

.intro-in:nth-of-type(2) {
 background: #DEDEDE;
}

.top-intro-box figure {
 position: relative;
}

.top-intro-box figcaption {
 position: absolute;
 bottom: 10%;
 left: 0;
 color: #fff;
 background: rgba(0, 0, 0, 0.8);
 padding: .5em 1em;
 text-align: left;
 font-size: min(max(16px, calc(1rem + ((1vw - 7.68px) * 0.9259))), 20px);
 font-weight: bold;
}

.top-intro-box p {
 text-align: left;
 padding: 1em;
}

.intro-btn {
 display: block;
 margin-top: 3%;
}

.intro-btn a {
 background: #000 url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2255.904%22%20height%3D%2255.904%22%20viewBox%3D%220%200%2055.904%2055.904%22%3E%20%3Cg%20id%3D%22_352466_arrow_down_icon%22%20data-name%3D%22352466_arrow_down_icon%22%20transform%3D%22translate(0.75%2055.904)%20rotate(-90)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_19%22%20data-name%3D%22%E3%83%91%E3%82%B9%2019%22%20d%3D%22M15.3%2C16.42%2C25.976%2C27.1l10.68-10.68%2C3.3%2C3.3L25.976%2C33.692%2C12%2C19.716Z%22%20transform%3D%22translate(1.976%202.827)%22%20fill%3D%22%23fff%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_20%22%20data-name%3D%22%E3%83%91%E3%82%B9%2020%22%20d%3D%22M0-.75H55.9v55.9H0Z%22%20fill%3D%22none%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat 94% 50% / 20px;
 padding: .8em 2.5em;
 color: #fff;
 border-radius: 50px;
 transition: all ease .4s;
}

.intro-btn a:hover {
 background: #B40019 url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2255.904%22%20height%3D%2255.904%22%20viewBox%3D%220%200%2055.904%2055.904%22%3E%20%3Cg%20id%3D%22_352466_arrow_down_icon%22%20data-name%3D%22352466_arrow_down_icon%22%20transform%3D%22translate(0.75%2055.904)%20rotate(-90)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_19%22%20data-name%3D%22%E3%83%91%E3%82%B9%2019%22%20d%3D%22M15.3%2C16.42%2C25.976%2C27.1l10.68-10.68%2C3.3%2C3.3L25.976%2C33.692%2C12%2C19.716Z%22%20transform%3D%22translate(1.976%202.827)%22%20fill%3D%22%23fff%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_20%22%20data-name%3D%22%E3%83%91%E3%82%B9%2020%22%20d%3D%22M0-.75H55.9v55.9H0Z%22%20fill%3D%22none%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat 96% 50% / 20px;
 text-decoration: none;
}

.top-intro-box .intro-in .intro-logo img {
 width: 30%;
}



@media screen and (max-width: 768px) {
.banner-btn.reserve{
 display: block;;
}
 .top-intro-box {
  display: flex;
  flex-direction: column;
 }

 .intro-in {
  width: calc(100%);
  padding-bottom: 10%;
 }


}



.top-banner {
 padding: 2% 2% .1%;
 position: relative;
 z-index: 3;
 background: #fff;
}

.top-banner ul {
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
}

.top-banner ul li {
 width: 49%;
 margin-bottom: 2%
}

.top-banner ul li a {
 display: block;
 position: relative;
}

.top-banner ul li a figure {
 position: relative;
}

.top-banner ul li a figure figcaption {
 position: absolute;
 left: 0;
 bottom: 0;
 color: #fff;
 background: #B40019;
 padding: .3em 1em;
 font-weight: bold;
 font-size: min(max(16px, calc(1rem + ((1vw - 7.68px) * 0.9259))), 20px);
}

.top-banner ul li a figure .img {
 position: relative;
 overflow: hidden;
 display: block;
}

.top-banner ul li a figure .img img {
 transition: all ease-in .4s;
}

.top-banner ul li a:hover figure .img img {
 transform: scale(1.05);
 transition: all ease-out .4s;
}


@media screen and (max-width: 768px) {

 .top-banner ul {
  flex-direction: column;
 }

 .top-banner ul li {
  width: 100%;
  margin-bottom: 2%
 }

}





/* list */

.table-list {
 display: flex;
 flex-wrap: wrap;
 max-width: 1000px;
 margin: 0 auto;
 font-size: min(max(14px, calc(0.875rem + ((1vw - 7.68px) * 0.7813))), 18px);
}

.table-list dt {
 width: 25%;
 padding: 1em 1em;
 box-sizing: border-box;
 border-bottom: 2px solid #B40019;
 text-align: right;
 font-weight: bold;
}

.table-list dd {
 width: 73%;
 margin-left: 2%;
 padding: 1em 1em;
 box-sizing: border-box;
 border-bottom: 1px solid #000;
}


@media screen and (max-width: 768px) {

 .table-list dt {
  width: 35%;
 }

 .table-list dd {
  width: 63%;
 }

}



/* 404 */

.not404 {
 color: #C8C8C8;
 line-height: 1.3;
 font-weight: 500;
 margin-bottom: 5%;
 font-size: min(max(80px, calc(5rem + ((1vw - 7.68px) * 23.4375))), 200px);
}

.not404 span {
 display: block;
 font-size: min(max(18px, calc(1.125rem + ((1vw - 7.68px) * 2.3438))), 30px);
}


/* about */

.about {
 background: #B40019;
 padding-bottom: .1%;
}


.about-tit {
 background: url(../images/kv_02.jpg) no-repeat top center / cover;
 padding: 30% 0 10%;
 position: relative;
}

.about-tit h2 {
 font-size: min(max(22px, calc(1.375rem + ((1vw - 7.68px) * 4.1667))), 40px);
 text-align: left;
 box-sizing: border-box;
 color: #fff;
 line-height: 1.2;
 font-weight: normal;
 letter-spacing: 2px;
 position: absolute;
 top: 130px;
 left: 4%;
}

.about-tit span {
 display: block;
 font-weight: normal;
 color: #C2C2C2;
 letter-spacing: 0;
 font-size: min(max(12px, calc(0.75rem + ((1vw - 7.68px) * 2.7778))), 24px);
}

@media screen and (max-width: 768px) {

 .about-tit {
  background: url(../images/kv_02.jpg) no-repeat top center / cover;
  padding: 50% 0 20%;
  position: relative;
 }

 .about-tit h2 {
  top: 100px;
 }

 .about-tit figure {
  width: 50%;
  margin: 0 auto;
 }

}




.about-inner {
 padding: 0 3%;
}

.about-block-01 {
 max-width: 1200px;
 margin: 0 auto;
 box-sizing: border-box;
 padding: 3%;
 background: rgba(255, 255, 255, 0.8);
 border-radius: 10px;
 transform: translateY(-10%);
}

.about-block-01 p {
 text-align: left;
 margin-bottom: 5%;
}

.about-block-01 h3 {
 text-align: center;
 margin-bottom: 1em;
 font-size: min(max(20px, calc(1.25rem + ((1vw - 7.68px) * 1.5625))), 28px);
}

.about-block-01 h3::after {
 display: none;
}


.about-block-01 .about-3box {}

.about-block-01 ul {
 display: flex;
 justify-content: space-around;
}

.about-block-01 li {
 width: calc(100% / 3.2);
 background: #fff;
 border-radius: 10px;
 box-sizing: border-box;
 padding: 2%;
}

.about-block-01 .abut-3box-head {
 display: flex;
 align-items: center;
 margin-bottom: 5%
}

.about-block-01 .number {
 width: 40px;
 height: 40px;
 background: #000;
 border-radius: 50px;
 display: flex;
 justify-content: center;
 align-items: center;
 color: #fff;
 line-height: 1;
 font-size: min(max(18px, calc(1.125rem + ((1vw - 7.68px) * 2.7778))), 30px);
}

.about-block-01 h4 {
 text-align: left;
 min-height: 2.2em;
 display: flex;
 align-items: center;
 width: calc(100% - 40px);
 box-sizing: border-box;
 padding-left: .5em;
 line-height: 1.3;
 color: #B40019;
 font-size: min(max(16px, calc(1rem + ((1vw - 7.68px) * 0.9259))), 20px);

}

.about-block-01 .about-3box-bottom {
 display: flex;
}

.about-block-01 .about-3box-bottom p {
 width: 70%;
 box-sizing: border-box;
 padding-left: 5%;
}

.about-block-01 figure {
 width: 30%;
}


.about-block-02 {
 max-width: 1200px;
 margin: 0 auto;
 box-sizing: border-box;
 padding: 0 3% 3%;
}

.about-block-02 p {
 text-align: left;
 color: #fff;
 margin-bottom: 4%;
}

.about-block-02 .about-4box {
 margin-bottom: 2%
}

.about-block-02 ul {
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
}

.about-block-02 li {
 width: 49%;
 background: #fff;
 border-radius: 10px;
 display: flex;
 margin-bottom: 2%;
 flex-direction: column;
}

.about-block-02 li figure {
 display: flex;
 padding: 3%;
}

.about-block-02 li figure img {
 width: 25%;
}

.about-block-02 li figcaption {
 width: 75%;
}

.about-block-02 .abut-4box-head {
 display: flex;
 justify-content: space-between;
 padding: 3% 3% 0;
 align-items: center;
}

.about-block-02 .abut-4box-head figure {
 padding: 0;
}

.about-block-02 .abut-4box-head figure img {
 width: 100%;
}

.about-block-02 .abut-4box-head img {}

.about-block-02 figcaption {
 text-align: left;
 box-sizing: border-box;
 padding-left: 5%;
}

.about-block-02 .abut-4box-head h4 {
 font-size: min(max(16px, calc(1rem + ((1vw - 7.68px) * 1.3889))), 22px);
}

.about-block-02 h4 img {}



@media screen and (max-width: 768px) {


 .about-block-01 {
  transform: translateY(-5%);
 }

 .about-block-01 ul {
  display: flex;
  justify-content: space-around;
  flex-direction: column;
 }

 .about-block-01 li {
  width: calc(100%);
  background: #fff;
  border-radius: 10px;
  box-sizing: border-box;
  padding: 5%;
  margin-bottom: 4%;
 }

 .about-block-02 ul {
  display: flex;
  justify-content: space-around;
  flex-direction: column;
 }

 .about-block-02 li {
  width: 100%;
  margin-bottom: 2%;
 }


}



.conv-foot {
 padding: 3%;
 box-sizing: border-box;
 display: flex;
 background: #f5f5f5;
}

.conv-foot .l-inner {
 display: flex;
 padding: 0;
}

.conv-foot figure {
 width: 55%;
}

.conv-foot figure img {}

.conv-foot .conv-btn-area {
 width: 45%;
 box-sizing: border-box;
 padding-left: 3%;
}

.conv-foot .banner-btn {
 width: 100%;
}


.conv-foot .tel {
 display: flex;
 width: 100%;
 margin-top: 6%;
}

.conv-foot figcaption {
 padding-left: 5%;
 text-align: left;
}

.conv-foot span {
 display: block;
 font-size: min(max(12px, calc(0.75rem + ((1vw - 7.68px) * 0.9259))), 16px);
}

.conv-foot strong {
 display: block;
 line-height: 1;
 font-weight: 600;
 letter-spacing: -1px;
 font-size: min(max(40px, calc(2.5rem + ((1vw - 7.68px) * 3.4722))), 55px);
}



@media screen and (max-width: 768px) {

 .conv-foot .l-inner {
  display: flex;
  flex-direction: column;
  padding: 0;
 }

 .conv-foot figure {
  width: 100%;
 }


 .conv-foot .conv-btn-area {
  padding-top: 4%;
  width: 100%;
  box-sizing: border-box;
  padding-left: 0;
 }

}



.title-area.plan {
 background: url(../images/tit-plan.jpg) no-repeat top center / cover;
 padding: 15% 0 15%;
 position: relative;
}

.title-area.facilities {
 background: url(../images/tit-facilities.jpg) no-repeat top center / cover;
 padding: 15% 0 15%;
 position: relative;
}

.title-area.access {
 background: url(../images/tit-access.jpg) no-repeat top center / cover;
 padding: 15% 0 15%;
 position: relative;
}

.title-area.recruit {
 background: url(../images/tit-recruit.jpg) no-repeat top center / cover;
 padding: 15% 0 15%;
 position: relative;
}

.title-area.reserve {
 background: url(../images/tit-reserve.jpg) no-repeat top center / cover;
 padding: 15% 0 15%;
 position: relative;
}

.title-area.reserve2 {
 background: url(../images/tit-reserve2.jpg) no-repeat top center / cover;
 padding: 15% 0 15%;
 position: relative;
}
.title-area h2 {
 font-size: min(max(22px, calc(1.375rem + ((1vw - 7.68px) * 4.1667))), 40px);
 text-align: left;
 box-sizing: border-box;
 color: #fff;
 line-height: 1.2;
 font-weight: normal;
 letter-spacing: 2px;
 position: absolute;
 top: 40%;
 left: 4%;
 display: inline-block;
}

.title-area span {
 display: block;
 font-weight: normal;
 color: #C2C2C2;
 letter-spacing: 0;
 font-size: min(max(12px, calc(0.75rem + ((1vw - 7.68px) * 2.7778))), 24px);
}

@media screen and (max-width: 768px) {

 .title-area.plan {
  padding: 20% 0 20%;
 }

 .title-area.facilities {
  padding: 20% 0 20%;
 }

 .title-area.recruit {
  padding: 20% 0 20%;

 }

 .title-area.access {
  padding: 20% 0 20%;
  background-position: left top
 }
 
.title-area.reserve2 {
  padding: 20% 0 20%;
  background-position: left top
} 
 

}


.plan-price {
 background: #fff;
 padding: 3% 0;
}

.price-head span {
 font-weight: 500;
 font-size: min(max(20px, calc(1.25rem + ((1vw - 7.68px) * 2.7778))), 32px);
}

.price-head strong {
 color: #B40019;
 display: block;
 font-weight: 900;
 font-size: min(max(24px, calc(1.5rem + ((1vw - 7.68px) * 6.0185))), 50px);
}

.price-head p {
 font-weight: 500;
 font-size: min(max(12px, calc(0.75rem + ((1vw - 7.68px) * 2.7778))), 24px);
}

.price-head p em {
 color: #B40019;
 font-style: normal;
}

.price-upper {
 display: flex;
 justify-content: center;
 margin-bottom: 4%;
}

.price-upper .price-upper-in {
 padding: 0 3%;
 display: flex;
 align-items: center;
}

.price-upper em {
 font-style: normal;
 font-weight: 500;
 font-size: min(max(18px, calc(1.125rem + ((1vw - 7.68px) * 3.2407))), 32px);
}

.price-upper em .tax {}

.price-upper strong {
 line-height: .8;
 padding: 0 .2em;
 font-weight: 900;
 letter-spacing: -.03em;
 font-size: min(max(30px, calc(1.875rem + ((1vw - 7.68px) * 7.8704))), 64px);
}

.price-upper span {
 font-weight: 500;
 display: flex;
 flex-direction: column;
 line-height: 1.2;
 font-size: min(max(18px, calc(1.125rem + ((1vw - 7.68px) * 1.3889))), 24px);
}

.price-upper span .tax {
 font-size: min(max(10px, calc(0.625rem + ((1vw - 7.68px) * 0.9259))), 14px);
}


@media screen and (max-width: 768px) {

 .price-upper {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
 }

 .price-upper .price-upper-in {
  padding: 2% 3%;
  display: flex;
  align-items: center;
 }


}





.price-plan {
 display: flex;
 width: 100%;
 justify-content: space-between;
}

.price-plan .price-plan-obj {
 background: #D8D8D8;
 border-radius: 10px;
}

.price-plan .price-plan-obj.left {
 width: 60%;
}

.price-plan .price-plan-obj.right {
 width: 38%;
}

.price-plan .price-plan-obj h3 {
 font-size: min(max(18px, calc(1.125rem + ((1vw - 7.68px) * 3.2407))), 32px);
 padding: .3em;
 margin: 0;
 background: #9E9E9E;
 border-radius: 10px 10px 0 0;
 text-align: center;
}

.price-plan .price-plan-obj h3:after {
 display: none;
}


.price-plan .price-plan-obj .price-plan-in {
 display: flex;
 justify-content: space-around;
 flex-wrap: wrap;
 padding: 18px;
}

.price-plan .price-plan-obj dt {
 background: #000;
 padding: .2em .5em;
 color: #fff;
 font-size: min(max(13px, calc(0.8125rem + ((1vw - 7.68px) * 0.6944))), 16px);
}

.price-plan .price-plan-obj dd,
.plan-price table td em {
 display: flex;
 justify-content: center;
 padding: 20px 0;
 font-style: normal;
 align-items: center;
}


.plan-price table td em.lvl2{
 display: flex;
 justify-content: flex-start;
 padding: 0 0;
 font-style: normal;
 align-items: center;
}
em.special{
 display: flex;
 justify-content: flex-start;
 padding: 0 0;
 font-style: normal;
 align-items: center;
 margin-bottom: 2%;
}


.price-plan .price-plan-obj dd em {
 font-style: normal;
 font-weight: 500;
 font-size: min(max(18px, calc(1.125rem + ((1vw - 7.68px) * 3.2407))), 32px);
}

.plan-price table td strong,
.price-plan .price-plan-obj dd strong,
em.special strong{
 color: #B40019;
 line-height: 1;
 padding: 0 .2em;
 font-weight: 900;
 letter-spacing: 0.02em;
 font-size: min(max(32px, calc(2rem + ((1vw - 7.68px) * 3.2407))), 46px);
 font-family: 'Bebas Neue', cursive;
}

.plan-price table td strong.lvl1{
 font-size: min(max(20px, calc(2rem + ((1vw - 7.68px) * 3.2407))), 30px);
 text-decoration-line:line-through;
}

.neo-price{
display: flex;
 flex-direction: column;
 align-items: center;
 justify-content: center;
}

.plan-price table td span,
.price-plan .price-plan-obj dd span {
 font-weight: 500;
 display: flex;
 flex-direction: column;
 line-height: 1.2;
 font-size: min(max(18px, calc(1.125rem + ((1vw - 7.68px) * 1.3889))), 24px);
}

.plan-price table td span .tax,
.price-plan .price-plan-obj dd .tax {
 font-size: min(max(10px, calc(0.625rem + ((1vw - 7.68px) * 0.9259))), 14px);
 white-space: nowrap;
}

.scroll-table {
 overflow: auto;
 white-space: nowrap;
}

.plan-price table.price-01,
.plan-price table.price-02 {
 border-collapse: collapse;
 border: 1px solid #000;
 table-layout:fixed;
 width: 100%;
 margin-bottom: 5%;
 font-size: min(max(13px, calc(0.8125rem + ((1vw - 7.68px) * 0.6944))), 16px);
}
.plan-price table.price-02{
 min-width: 800px;
}
.plan-price table.price-01 th,
.plan-price table.price-02 th,
.plan-price table.price-01 td,
.plan-price table.price-02 td {
 border: 1px solid #000;
 padding: 2%;
 text-align: left;
 vertical-align: middle;
 word-break: break-all;
 position: relative;
}


.plan-price table.price-01 th,
.plan-price table.price-02 th {
 white-space: nowrap;
 text-align: center;
 font-weight: bold;
 background: #000;
 color: #fff;
 font-size: min(max(14px, calc(1.125rem + ((1vw - 7.68px) * 1.3889))), 24px);
 border: 1px solid #fff
}


.plan-price table.price-01 td.course,
.plan-price table.price-02 td.course {
 width: 10em;
 text-align: left;
 font-weight: bold;
 font-size: min(max(18px, calc(1.125rem + ((1vw - 7.68px) * 1.3889))), 24px);
}

.plan-price table td .small{
 font-size: 80%;
}

.plan-price table.price-01 + .caution,
.plan-price table.price-02 + .caution {
 margin-top: -4%;
 text-align: left;
 font-size: min(max(13px, calc(0.8125rem + ((1vw - 7.68px) * 0.6944))), 16px);
}

.txt-left {
 text-align: left !important;
}



.osusume{
 background: #B40019;
 color: #fff;
 border-radius: 50px;
 display: flex;
 justify-content: center;
 align-items: center;
 position: absolute;
 font-size: 12px !important;
 width: 80px;
 height: 30px;
 left: 10px;
 top: 20px;
 transform: rotate(-5deg)
}


.join-list-area{
 text-align: left;
 background: #f5f5f5;
 padding: 2%;
}
.join-list{
 margin-bottom: 1.5em;
}

.join-list dt{
 background: #000;
 display: inline-block;
 color: #fff;
 padding: .5em .8em;
 font-size: min(max(16px, calc(1rem + ((1vw - 4.8px) * 1.3889))), 20px);
 margin-bottom: .5em;
}

.join-list dd{
 margin-left: 1em;
 position: relative;
 padding-left: 1em;
 font-size: min(max(14px, calc(0.875rem + ((1vw - 4.8px) * 1.3889))), 18px);
}
.join-list dd:before{
 content: "";
 position: absolute;
 left: 0;
 width: 6px;
 height: 6px;
 background: #000;
 border-radius: 50px;
 top: .5em;
 left: .4em;
}


@media screen and (max-width: 768px) {


 .price-plan {
  display: flex;
  width: 100%;
  justify-content: space-between;
  flex-direction: column;
 }

 .price-plan .price-plan-obj {
  background: #D8D8D8;
  border-radius: 10px;
 }

 .price-plan .price-plan-obj .price-plan-in {
  flex-direction: column;
 }

 .price-plan .price-plan-obj.left {
  width: 100%;
  margin-bottom: 4%;
 }

 .price-plan .price-plan-obj.right {
  width: 100%;
 }

.plan-price table td em.lvl2{
 flex-wrap: wrap;
}
.osusume{
 font-size: 10px !important;
 left: 5px;
 top: 8px;
}



}






.plan-list {
 padding: 3% 0;
}

.plan-list .l-inner p {
 text-align: left;
 color: #fff;
}




.plan-list .plan-area {
 background: rgba(255, 255, 255, 0.8);
 border-radius: 10px;
 margin-bottom: 3%;
 padding: 3%;
}

.plan-list .plan-area h3 {
 display: flex;
 justify-content: space-between;
 padding: 0;
 margin: 0 0 3%;
}

.plan-list .plan-area h3 .tit-pw img {
 height: 40px;
 width: auto;
}

.plan-list .plan-area h3:after {
 display: none;
}

.plan-list .plan-area p {
 color: #000;
}

.plan-list .plan-area .plan-img {
 display: flex;
 justify-content: center;
 justify-content: space-around;
}


.plan-list .plan-area img {
 width: 49%;
}


.plan-list .plan-condition {
 padding-top: 4%;
 display: flex;
 justify-content: space-around
}

.plan-list .plan-condition .cond-01 {
 width: 34%;
}

.plan-list .plan-condition .cond-02 {
 width: 63%;
}

.plan-list .plan-condition img {
 width: 100%;
}


.price-plan .price-plan-obj p {
 width: 100%;
 text-align: right;
 margin: 0;
}

.price-plan .plus {
 display: flex;

}

@media screen and (max-width: 768px) {

 .plan-list .plan-area {
  margin-bottom: 5%;
  padding: 5%;
 }

 .plan-list .plan-area h3 {
  flex-direction: column;
 }

 .plan-list .plan-area .plan-img {
  flex-direction: column;
 }

 .plan-list .plan-area img {
  width: 100%;
  margin: 1% 0;
 }



 .plan-list .plan-condition {
  flex-direction: column;
  align-items: center;
 }

 .plan-list .plan-condition .cond-01 {
  width: 70%;
  margin-bottom: 5%;
 }

 .plan-list .plan-condition .cond-02 {
  width: 100%;
 }

 .price-plan .plus {
  display: flex;
  justify-content: center;
  padding: 0 0 3%;

 }

}



.facility-area {
 background: #fff;
}

.facility-area .l-inner {
 padding: 4% 0 0;
}

.facility-area.last .l-inner {
 padding: 4% 0 3%;
}

.facility-area .facility-in {
 background: #EEEEEE;
 border-radius: 10px 10px 0 0;
 padding: 4%;
}

.facility-area.last .facility-in {
 background: #EEEEEE;
 border-radius: 10px;
 padding: 4%;
 margin-bottom: 5%;
}


.facility-area h3 {
 padding: 0;
 display: flex;
 justify-content: space-between;
}

.facility-area h3:after {
 display: none;
}

.facility-area h3 .tit-pw {}

.facility-area h3 .tit-pw img {
 height: 40px;
}

.facility-area p {
 text-align: left;
}

.facility-area figure {
 margin: 0;
 padding: 0;
 display: block;
}

.facility-area figure img {}

.machine-list {
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
}

.machine-list li {
 width: calc(100% / 3.2);
 margin-bottom: 5%;
 font-size: min(max(12px, calc(0.75rem + ((1vw - 7.68px) * 0.9259))), 16px);
}

.machine-list li img {
 margin-bottom: 2%;
}

.facility-mov {
 display: flex;
 justify-content: space-between;
}



@media screen and (max-width: 1240px) {

 .facility-area .l-inner {
  margin: 0 5%;
 }

 .facility-area.last .l-inner {
  margin: 0 5%;
 }

}



@media screen and (max-width: 768px) {

 .machine-list li {
  width: calc(100% / 2.2);
  margin-bottom: 5%;
  font-size: min(max(12px, calc(0.75rem + ((1vw - 7.68px) * 0.9259))), 16px);
 }

 .facility-area h3 {
  flex-direction: column;
 }


 .facility-area h3 .tit-pw img {
  height: 40px;
 }

 .facility-area h3 .tit-lex img {
  height: 20px;
  padding-top: 2%
 }

 .facility-mov {
  flex-direction: column;
 }


}

.gallery-01 .swiper-wrapper,
.gallery-02 .swiper-wrapper{
 transition-timing-function: linear;
}
.gallery-01 .swiper-wrapper img,
.gallery-02 .swiper-wrapper img{

 aspect-ratio: 300 / 200;
}


.recruit-area {
 padding: 0 5%;
}

.recruit-area .l-inner {
 padding: 15% 0;
}

.recruit-area p {}


.access-area {
 background: #fff;
 padding: 0 5%;
}

.access-area .l-inner {
 padding: 4% 0;
 text-align: left;
}

.access-area .access-logo {
 margin-bottom: 2%;
}

.access-area figure.map-area {
 display: flex;
 justify-content: space-between;
}

.access-area figure.map-area img {
 width: 49%
}

.access-area figure.map-area figcaption {
 width: 49%
}


.access-address {
 display: flex;
 align-items: flex-end;
 margin-bottom: 5%;
}

.access-address p {
 margin-bottom: 0;
}

.access-address figure {
 margin-left: 5%;
}

.access-address figure a {
 display: flex;
 align-items: flex-end;
}


@media screen and (max-width: 768px) {

 .access-area .access-logo {
  width: 40%;
 }

 .access-area .l-inner {
  padding: 4% 0 10%;
 }

 .access-address {
  flex-direction: column;
  align-items: flex-start;
 }

 .access-address figure {
  margin-top: 5%;
  margin-left: 0;
 }

 .access-area figure.map-area {
  flex-direction: column;
 }

 .access-area figure.map-area img {
  width: 100%;
  margin-bottom: 5%;
 }

 .access-area figure.map-area figcaption {
  width: 100%
 }


}



.trial-area{
 padding: 5% 0;
}

.trial-area .banner-btn.reserve{
 margin-bottom: 10%;
}

.trial-list{
 padding: 4% 0;
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
}

.trial-list li{
 width: calc((100% / 2 ) - 1.5%);
 text-align: left;
 height: auto;
}
.trial-list li.lvl2{
 width: 100%;
}


.trial-list li .step-in{
 display: flex;
 justify-content: space-between;
 background: #B40019;
}

.trial-list li figure{
 display: flex;
 flex-direction: column;
 width: 45%;
 margin: 0;
}
.trial-list li.lvl2 figure{
 width: 30%;
}

.trial-list li h3{
 display: flex;
 margin: 0;
 background: #EFEFEF;
 justify-content: flex-start;
 align-items: center;
 padding-bottom: 2%;
 font-weight: bold;
 line-height: 1;
 width: 100%;
 font-size: min(max(16px, calc(1rem + ((1vw - 4.8px) * 1.3889))), 20px);
}
.trial-list li h3:after{
 display: none;
}

.trial-list li h3 span{
 background: #000;
 color: #fff;
 padding: .3em 1em;
 line-height: 1;
 display: inline-block;
 font-family: 'Bebas Neue', cursive;
 font-weight: normal;
 margin-right: 1em;
 font-size: 16px;
}
.step-right{
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 width: 55%;
 box-sizing: border-box;
 padding: 2% 3%;
}
.trial-list li.lvl2 .step-right{
 width: 70%;
}


.trial-list li dl{
 margin: 0;
}
.trial-list li .step-right p{
 color: #fff;
 height: auto;
 margin-bottom: .5em;
  font-size: min(max(13px, calc(0.8125rem + ((1vw - 4.8px) * 0.6944))), 15px);
}
.trial-list li dl dt.tit{
 background: #fff;
 height: auto;
 color: #000;
 font-weight: bold;
 padding: .3em 1em;
 line-height: 1;
 display: inline-block;
 margin: 0;
  font-size: min(max(13px, calc(0.8125rem + ((1vw - 4.8px) * 0.6944))), 15px);
}
.trial-list li dl dd{
 background: #000;
 color: #fff;
 height: auto;
 margin: 0;
 padding: .3em .5em;
 display: inline-block;
  font-size: min(max(13px, calc(0.8125rem + ((1vw - 4.8px) * 0.6944))), 15px);
}


.space{
 display: block;
 height: 100px;
}

@media screen and (max-width: 768px) {
 
 .trial-area{
 padding: 8% 0;
}
 
.trial-list li .step-in{
 flex-direction: column;
}

.trial-list li figure,
 .trial-list li.lvl2 figure{
 width: 100%;
}
 
 .step-right,
  .trial-list li.lvl2  .step-right{
 width: 100%;
}
 
 
}


@media screen and (max-width: 640px) {
 
 .trial-list li{
 width: calc(100%);
  margin-bottom: 10%;
}
 
.trial-list li h3{
 padding-bottom: 4%;
} 
 
 .step-right{
  padding: 5%;
}
 .trial-list li dl dd{
 padding: 1em;
}
 
 
}
