@charset "utf-8";
/* 目次-------------------

・ADDITIONAL RESET
・WIDTH
・MOVEMENT
・SMALL PARTS
・HEADER
・FOOTER
・COMMON

サイト固有の共通パーツをcommon.cssにまとめてます。
※--pcは、PCのみに適用され、--spは、スマホのみに適用されます。

------------------------*/
/*--------------------------------------------------------------
   ADDITIONAL RESET
--------------------------------------------------------------*/
html {
  font-size: 62.5%;
}
body {
  position: relative;
  width:100%;
  min-height: 100vh;
  line-height: 1;
  font-size: 1.3rem;
  font-family: YuGothic,'Yu Gothic','メイリオ', Meiryo,sans-serif;
  color: #000;
}
a{
  color: inherit;
  text-decoration: none;
  display: inline-block;
}
img{
  width:100%;
  max-width:100%;
  height:auto;
}
p a{
  text-decoration: underline;
}
@media screen and (min-width: 768px){
  body {
    font-size: 1.4rem;
  }
  img{
    width:auto;
    max-width:100%;
    height:auto;
  }
  a{
    -webkit-transition: opacity .5s, color .5s, background-color .5s;
    transition: opacity .5s, color .5s, background-color .5s;
  }
  a:hover{
    opacity: .5;
  }
}
/*--------------------------------------------------------------
   WIDTH
--------------------------------------------------------------*/
.w__base{
  width: 92%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px){
  .w__base--sp,
  .w__sizeS--sp{
    margin-left: auto;
    margin-right: auto;
  }
  .w__base--sp{
    width: 92%;
  }
  .w__sizeS--sp{
    width: 84%;
  }
}
@media screen and (min-width: 768px){
  .w__base,
  .w__base--pc{
    width: 1000px;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
  }
  .w__sizeS--pc{
    width: 760px;
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
  }
}
/*--------------------------------------------------------------
   MOVEMENT
--------------------------------------------------------------*/
.mo.fadeIn,
.start.fadeIn{
  opacity: 0;
}
.mo.fadeIn.ve,
.start.fadeIn.ve{
  opacity: 1;
  -webkit-transition: opacity 1.2s ease-in 0s;
  transition: opacity 1.2s ease-in 0s;
}
.mo.fadeInUp,
.start.fadeInUp{
  opacity: 0;
  -webkit-transform: translate3d(0,50px,0);
  transform: translate3d(0,50px,0);
}
.mo.fadeInUp.ve,
.start.fadeInUp.ve{
  opacity: 1;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition: opacity 1.2s ease-in,-webkit-transform 3s cubic-bezier(0, .44, .26, 1);
  transition: opacity 1.2s ease-in,-webkit-transform 3s cubic-bezier(0, .44, .26, 1);
  transition: transform 3s cubic-bezier(0, .44, .26, 1),opacity 1.2s ease-in;
  transition: transform 3s cubic-bezier(0, .44, .26, 1),opacity 1.2s ease-in,-webkit-transform 3s cubic-bezier(0, .44, .26, 1);
}
@media screen and (max-width: 767px){
  .mo.fadeInUp--sp,
  .start.fadeInUp--sp{
    opacity: 0;
    -webkit-transform: translate3d(0,50px,0);
    transform: translate3d(0,50px,0);
  }
  .mo.fadeInUp--sp.ve,
  .start.fadeInUp--sp.ve{
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition: opacity 1.2s ease-in,-webkit-transform 3s cubic-bezier(0, .44, .26, 1);
    transition: opacity 1.2s ease-in,-webkit-transform 3s cubic-bezier(0, .44, .26, 1);
    transition: transform 3s cubic-bezier(0, .44, .26, 1),opacity 1.2s ease-in;
    transition: transform 3s cubic-bezier(0, .44, .26, 1),opacity 1.2s ease-in,-webkit-transform 3s cubic-bezier(0, .44, .26, 1);
  }
}
@media screen and (min-width: 768px){
  .mo.fadeIn--pc,
  .start.fadeIn--pc{
    opacity: 0;
  }
  .mo.fadeIn--pc.ve,
  .start.fadeIn--pc.ve{
    opacity: 1;
    -webkit-transition: opacity 1.2s ease-in 0s;
    transition: opacity 1.2s ease-in 0s;
  }
  .mo.fadeInUp--pc,
  .start.fadeInUp--pc{
    opacity: 0;
    -webkit-transform: translate3d(0,50px,0);
    transform: translate3d(0,50px,0);
  }
  .mo.fadeInUp--pc.ve,
  .start.fadeInUp--pc.ve{
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition: opacity 1.2s ease-in,-webkit-transform 3s cubic-bezier(0, .44, .26, 1);
    transition: opacity 1.2s ease-in,-webkit-transform 3s cubic-bezier(0, .44, .26, 1);
    transition: transform 3s cubic-bezier(0, .44, .26, 1),opacity 1.2s ease-in;
    transition: transform 3s cubic-bezier(0, .44, .26, 1),opacity 1.2s ease-in,-webkit-transform 3s cubic-bezier(0, .44, .26, 1);
  }
}
/*--------------------------------------------------------------
   SMALL PARTS
--------------------------------------------------------------*/
/*フォント*/
.jp--accent{
  font-family: 'Yu Mincho Light','YuMincho','Yu Mincho','游明朝体',serif;
}
.en{
  font-weight: 400;
  font-family: 'Montserrat', sans-serif;
}
.en--accent{
  font-family: 'Lora', serif;
}
/*フォント太さ*/
.fW__t--en{
  font-weight: 300;
}
/*背景画像*/
.bgImg{
  background-size: cover;
  background-position: center;
}
/*影*/
.imgShadow{
  -webkit-filter: drop-shadow(0px 0px 10px rgba(0,0,0,.2));
  filter: drop-shadow(0px 0px 10px rgba(0,0,0,.2));
}
.txtShadow{
  text-shadow:0px 0px 5px rgba(0,0,0,.5);
}
.boxShadow{
  -webkit-box-shadow:0px 0px 20px 0px rgba(0,0,0,.2);
  box-shadow:0px 0px 20px 0px rgba(0,0,0,.2);
}
/*基本色*/
.fC__white{
  color: #fff;
}
.fC__gray{
  color: #999;
}
.bgC__gray{
  background-color: #999;
}
.bgC__lightGray{
  background-color: #efefef;
}
.bgC__black{
  background-color: #000;
}
.bgC__black--before::before,
.bgC__black--after::after{
  background-color: #000;
}
.bgC__white{
  background-color: #fff;
}
.bgC__white--before::before,
.bgC__white--after::after{
  background-color: #fff;
}
.fC__red{
  color: #8c001b;
}
.bgC__red{
  background-color: #8c001b;
}
@media screen and (min-width: 768px){
  body .bgC__red--h{
    cursor: pointer;
    -webkit-transition: all .5s;
    transition: all .5s;
  }
  body .bgC__red--h:hover{
    background-color: #77001c;
    opacity: 1;
  }
}
/*サイト固有の色*/
.fC__siteColor{
  color: #231815;
}
.bgC__siteColor,
.bgC__siteColor--before::before,
.bgC__siteColor--after::after,
.swiper-pagination-bullet-active,
.p__location .swiper-button-next::before,
.p__location .swiper-button-prev::before{
  background-color: #ada3a3;
}
.b__siteColor{
  border-color: #ada3a3;
}
.bgC__siteColor--svg .target{
  fill: #ada3a3;
}
.bgC__siteColorGradation{
  background: rgb(255,255,255);
  background: -webkit-gradient(linear, left bottom, left top, color-stop(20%, rgba(255,255,255,1)), to(rgba(173,163,163,1)));
  background: linear-gradient(0deg, rgba(255,255,255,1) 20%, rgba(173,163,163,1) 100%);
}
.boxShadow__siteColor{
  -webkit-filter: drop-shadow(0px 0px 10px rgba(173,163,163,.2));
  filter: drop-shadow(0px 0px 10px rgba(173,163,163,.2));
}
.bgC__siteColor--light{
  background-color: #efeded;
}
.tabList li.active,
.p__01 .facilities__pageMenu li:nth-child(1),
.p__02 .facilities__pageMenu li:nth-child(2),
.p__03 .facilities__pageMenu li:nth-child(3),
.p__04 .facilities__pageMenu li:nth-child(4){
  background-color: #ada3a3;
  color: #fff;
}
@media screen and (min-width: 768px){
  .bgC__siteColorGradation{
    background: rgb(255,255,255);
    background: -webkit-gradient(linear, left bottom, left top, color-stop(0%, rgba(255,255,255,1)), to(rgba(173,163,163,1)));
    background: linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(173,163,163,1) 100%);
  }
  body .bgC__siteColor--h{
    cursor: pointer;
    -webkit-transition: all .5s;
    transition: all .5s;
  }
  body .bgC__siteColor--h:hover{
    background-color: #ada3a3;
    color: #fff;
    border-color: #ada3a3;
    opacity: 1;
  }
  body .fC__siteColor--h:hover{
    color: #ada3a3;
  }
}
/*基本のボタン*/
.baseBtn{
  position: relative;
  width: 100%;
  height: 11.4vw;
  text-align: center;
  letter-spacing: 0;
}
@media screen and (min-width: 768px){
  .baseBtn{
    height: 48px;
    padding-top: 2px;
    -webkit-transition: all .5s;
    transition: all .5s;
  }
  .baseBtn:hover{
    letter-spacing: .5rem;
  } 
}
/*縦横中央寄せ*/
.positionCenter{
  position: relative;
  text-align: center;
}
.positionCenter > *{
  position: absolute;
  top:50%;
  left:50%;
  -webkit-transform: translate(-50%,-50%);
          transform: translate(-50%,-50%);
}
@media screen and (min-width: 768px){
  /*画像拡大アニメーション*/
  .imgZoom{
    overflow: hidden;
  }
  .imgZoom .imgZoomTargetWrap{
    overflow: hidden;
  }
  .imgZoom .imgZoomTarget{
    overflow: hidden;
    transform: scale(1, 1);
    -webkit-transition: -webkit-transform .5s ease-out;
    transition: -webkit-transform .5s ease-out;
    transition: transform .5s ease-out;
    transition: transform .5s ease-out, -webkit-transform .5s ease-out;
  }
  .imgZoom:hover .imgZoomTarget{
    transform: scale(1.1, 1.1);
  }
}
/*--------------------------------------------------------------
   HEADER
--------------------------------------------------------------*/
header{
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 500;
}
.headerCts{
  width: 100%;
  height: 55px;
  position: relative;
  z-index: 480;
}
.headerLogo .zoomLogo img{
  width: 21px;
  height: 29px;
}
.headerLogo .nameLogo{
  margin-left: 10px;
}
.headerLogo .nameLogo img {
  width: auto;
  height: 18px;
}
.headerCts .logo svg{
  width: 53px;
  height: 53px;
}
.headerTitle{
  padding-left: 12px;
}
@media screen and (min-width: 768px){
  .headerLogo{
    width: auto;
  }
  .headerLogo{
    height: 74px;
    padding-left: 35px;
  }
  .headerLogo .zoomLogo img{
    width: 21px;
    height: 30px;
  }
  .headerLogo .nameLogo--pc{
    margin-left: 10px;
  }
  .headerLogo .nameLogo--pc img{
    width: auto;
    height: 30px;
  }
  .headerCts{
    height: 74px;
  }
  .headerTitle{
    padding-left: 20px;
  }
}
/*ハンバーガーメニュー*/
.nav{
  display: none;
  position: fixed;
  top: 55px;
  left: 0;
  width: 100%;
  height: calc(100vh - 55px);
}
.navInner{
  width: 81.2%;
  max-height: 90vh;
  margin: 0 auto;
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none; 
}
.navInner::-webkit-scrollbar{
  display: none;
}
.navCts{
  padding-top: 25px;
  border-bottom: solid 1px #999;
}
.navCts > li a,
.navCts > li .navTrigger{
  padding: 20px 0;
}
.navCts > li + li{
  border-top: solid 1px #999;
}
.navTrigger{
  border-bottom: solid 1px #999;
}
.navTarget{
  padding: 15px 0 16px 15px;
}
.navTarget > li a{
  padding: 15px;
}
.navAccordion + li{
  margin-top: -1px;
}
.navRight{
  position: relative;
  padding-right: 36px;
}
.navRight::before{
  content: '';
  position: absolute;
  top: 2px;
  right: 10px;
  display: block;
  width: 5px;
  height: 5px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.navTrigger .navRight::before{
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  -webkit-transition: all .5s;
  transition: all .5s;
}
.navTrigger.active .navRight::before{
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  margin-top: 1px;
}
.navContact{
  margin: 30px auto 0;
  padding-bottom: 100px;
}
.navContact li{
  width: 48%;
}
.navContact a{
  display: block;
  padding: 10px 20px;
}
/*ハンバーガーメニューボタン*/
.navBtn{
  display: table;
  width: 30px;
  height: 30px;
  font-size: 0;
  box-sizing: border-box;
  position: absolute;
  z-index: 490;
  right: 12px;
  top: 12px;
  margin-top: 0;
  border-radius: 1000px;
}
.navBtn .parts{
  display: table-cell;
  vertical-align: middle;
}
.navBtn .menu{
  position: absolute;
  right: 14px;
  top: 39px;
}
.navBtn .parts > span,
.navBtn .parts > span:before,
.navBtn .parts > span:after{
  display: block;
  width: 15px;
  height: 2px;
}
.navBtn .parts > span{
  position: relative;
  margin: 0 auto;
}
.navBtn .parts > span:before,
.navBtn .parts > span:after{
  content: "";
  position: absolute;
  left: 0;
  -webkit-transition: .3s;
  transition: .3s;
}
.navBtn .parts > span:before{
  top: -5px;
}
.navBtn .parts > span:after{
  bottom: -5px;
}
.navBtn.active .parts > span{
  background-color: transparent;
}
.navBtn.active .parts > span:before,
.navBtn.active .parts > span:after{
  top: 0;
}
.navBtn.active .parts > span:before{
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}
.navBtn.active .parts > span:after{
  transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
}
@media screen and (min-width: 768px){
  .nav{
    top: 0;
    left: auto;
    right: 35px;
    display: block;
    width: calc(100% - 215px);
    max-width: 747px;
    height: 74px;
    background-color: transparent;
    z-index: 490;
  }
  .navInner{
    width: 100%;
    max-height: 74px;
    overflow-y: inherit;
  }
  .navCts{
    padding-top: 0;
    height: 74px;
    border: none;
  }
  .navCts > li + li{
    margin-top: 0;
    border: none;
  }
  .navCts > li a,
  .navCts > li .navTrigger{
    position: relative;
    padding: 0;
    height: 74px;
  }
  .navCts > li a:hover{
    opacity: 1;
  }
  .navCts > li a::before{
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 5px;
    -webkit-transition: -webkit-transform .1s;
    transition: -webkit-transform .1s;
    transition: transform .1s;
    transition: transform .1s, -webkit-transform .1s;
    -webkit-transform: scale3d(0,1,1);
    transform: scale3d(0,1,1);
  }
  .navCts > li a:hover::before{
    -webkit-transform: scale3d(1,1,1);
    transform: scale3d(1,1,1);
    transition: transform .3s;
  }
  .navTrigger{
    border: none;
  }
  .navAccordion{
    position: relative;
    padding-right: 20px;
  }
  .navAccordion::before{
    content: '';
    position: absolute;
    top: 32px;
    right: 0;
    position: absolute;
    display: block;
    width: 5px;
    height: 5px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
  }
  .navTrigger{
    cursor: pointer;
  }
  .navTarget{
    position: absolute;
    top: 73px;
    left: 0;
    width: 230px;
    padding: 15px;
    background-color: rgba(0,0,0,0.8);
    opacity: 0;
    transform: translate(0,-10px);
    -webkit-transform: translate(0,-10px);
    -webkit-transition: opacity .5s ease 0s, -webkit-transform .5s ease 0s;
    transition: opacity .5s ease 0s,-webkit-transform .5s ease 0s;
    transition: opacity .5s ease 0s,transform .5s ease 0s;
    transition: opacity .5s ease 0s,transform .5s ease 0s,-webkit-transform .5s ease 0s;
  }
  .navTarget.active{
    opacity: 1;
    -webkit-transform: translate(0,0);
            transform: translate(0,0);
    -webkit-transition: opacity .5s ease 0s,-webkit-transform .5s ease 0s;
    transition: opacity .5s ease 0s,-webkit-transform .5s ease 0s;
    transition: opacity .5s ease 0s,transform .5s ease 0s;
    transition: opacity .5s ease 0s,transform .5s ease 0s,-webkit-transform .5s ease 0s;
  }
  .navTarget::before{
    content: '';
    display: block;
    margin: -15px 0 0 -15px;
    width: 120px;
    height: 5px;
  }
  .navTarget > li + li{
    border-top: solid 1px #999;
  }
  .navTarget > li a{
    padding: 20px 0;
    height: auto;
    transition: color .5s ease 0s;
  }
}
/*コンタクトバナー*/
.contactBnr{
  position: fixed;
  bottom: 0;
  right: 0;
  width: 100%;
  z-index: 480;
}
.contactBnr > *{
  width: 50%;
}
.contactBnr > * + *{
  border-left: solid 1px #f7f7f7;
}
.contactBnr > * a{
  width: 100%;
  height: 60px;
}
.contactBnr__telInner{
  margin-top: 3px;
}
.contactBnr__telInner .img img{
  width: 7.28vw;
  height: 5.72vw;
}
.contactBnr__telInner address{
  margin-left: 5px;
  letter-spacing: .08rem;
}
.contactBnr__requestCts{
  padding-right: 2px;
}
.contactBnr__requestCts .free{
  width: 9.36vw;
  height: 9.36vw;
  border-radius: 1000px;
}
.contactBnr__requestCts .text{
  margin-left: 6px;
}
@media screen and (min-width: 768px){
  .contactBnr{
    width: 140px;
    right: 10px;
    bottom: 10px;
  }
  .contactBnr > *{
    width: 0;
  }
  .contactBnr > * + *{
    border-left: none;
  }
  .contactBnr .contactBnr__request{
    width: 100%;
  }
  .contactBnr > * a{
    height: 40px;
  }
  .contactBnr__telInner{
    margin-top: 5px;
  }
  .contactBnr__telInner .img img{
    width: 38px;
    height: 31px;
  }
  .contactBnr__requestCts{
    position: relative;
    padding: 0 15px 0 0;
  }
  .contactBnr__requestCts{
    padding: 0;
  }
  .contactBnr__requestCts .text{
    margin-left: 0;
  }
  #contactBnr .element--h{
    width: 0;
    height: 0;
    opacity: 0;
    font-size: 0;
    overflow: hidden;
  }
  #contactBnr:hover{
    width: 586px;
    height: 80px;
  }
  #contactBnr:hover > *{
    width: 50%;
  }
  #contactBnr:hover > * a{
    height: 80px;
    transition: background-color .5s ease;
  }
  #contactBnr:hover .contactBnr__tel.element--h{
    width: 100%;
    height: 100%;
    transition: width .5s ease, height .5s ease;
  }
  #contactBnr:hover .contactBnr__tel{
    border-right: solid 1px #f7f7f7; 
  }
  #contactBnr:hover .contactBnr__telInner .img,
  #contactBnr:hover .contactBnr__telCts > p,
  #contactBnr:hover .contactBnr__telCts address,
  #contactBnr:hover .contactBnr__requestCts .free.element--h,
  #contactBnr:hover .contactBnr__requestCts .text .element--h{
    width: auto;
    height: auto;
    opacity: 1;
    transition: opacity .3s ease;
  }
  #contactBnr:hover .contactBnr__telCts > p{
    font-size: 1.3rem;
  }
  #contactBnr:hover .contactBnr__telCts address{
    font-size: 2.6rem;
  }
  #contactBnr:hover .contactBnr__requestCts .free.element--h{
    font-size: 1.2rem;
    width: 40px;
    height: 40px;
    margin-right: 6px;
  }
  #contactBnr:hover .contactBnr__requestCts .text .element--h{
    font-size: 1.8rem;
  }
}
/*--------------------------------------------------------------
   FOOTER
--------------------------------------------------------------*/
/*パンクズ*/
.breadcrumb{
  position: relative;
  z-index: 100;
  width: 100%;
  padding: 8px 10px;
}
.breadcrumb li {
  position: relative;
  display: inline-block;
  padding-right: 20px;
}
.breadcrumb li:after {
  content: '';
  position: absolute;
  top: 50%;
  right: 8px;
  margin-top: -3px;
  display: block;
  width: 4px;
  height: 4px;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.breadcrumb li:last-child:after {
  display: none;
}
@media screen and (max-width: 767px){
  .breadcrumb{
    overflow-x: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .breadcrumb::-webkit-scrollbar {
      display: none;
  }
}
@media screen and (min-width: 768px){
  .breadcrumb li a:hover{
    text-decoration: underline;
  }
  .breadcrumb{
    position: relative;
    z-index: 100;
    width: 100%;
    padding: 8px 20px;
  }
}
footer{
  position: relative;
  z-index: 100;
}
.footerContact{
  padding: 10.4vw 0;
  background: rgb(26,26,26);
  background: -webkit-gradient(linear, left top, right top, color-stop(25%, rgba(26,26,26,1)), color-stop(50%, rgba(61,61,61,1)), color-stop(75%, rgba(26,26,26,1)));
  background: linear-gradient(90deg, rgba(26,26,26,1) 25%, rgba(61,61,61,1) 50%, rgba(26,26,26,1) 75%);
}
.footerCts .contactBnr{
  position: static;
  width: 84%;
  margin-top: 5.2vw;
}
.footerCts .contactBnr > *{
  width: 100%;
}
.footerCts .contactBnr > * a{
  height: 15.6vw;
}
.footerCts .contactBnr__telCts{
  padding-top: 3px;
}
.footerCts .contactBnr__telInner .img img{
  width: 7.8vw;
  height: 6.11vw;
}
.footerCts .contactBnr__telInner{
  margin-top: 1.3vw;
}
.footerCts .contactBnr__request a{
  position: relative;
}
.footerCts .contactBnr__request a::before{
  content: '';
  position: absolute;
  top: 50%;
  right: 2.6vw;
  margin-top: -3px;
  display: block;
  width: 5px;
  height: 5px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.footerCts .contactBnr__requestCts{
  padding-right: 2.6vw;
}
@media screen and (max-width: 767px){
  .footerCts .contactBnr__request{
    margin-top: 2vw;
  }
  .footerCts .contactBnr > * + * {
    border-left: none;
  }
}
.footerNavList li a{
  height: 11.7vw;
}
@media screen and (max-width: 767px){
  .footerNavList li{
    width: 50%;
    border-top: solid 1px #424242;
  }
  .footerNavList li:nth-child(even){
    border-left: solid 1px #424242;
  }
  .footerNavList{
    border-bottom: solid 1px #424242;
  }
}
.footerabout{
  padding: 10.4vw 0;
}
.footerabout .tohshinLogo img{
  display: inline-block;
  width: 72.54vw;
  height: 6.24vw;
}
.footerAddress  address{
  margin-top: 6.5vw;
}
.footerAddressList{
  margin-top: 6.5vw;
}
.footerOwner{
  margin-top: 6.5vw;
}
.footerOwner .ownerList li + li{
  margin-top: 2px;
}
.footerCts .footerabout .contactBnr{
  width: 100%;
  margin-top: 9.1vw;
}
@media screen and (min-width: 768px){
  .footerContact{
    padding: 90px 0 80px;
  }
  .footerCts .contactBnr{
    margin-top: 30px;
  }
  .footerCts .contactBnr > * a{
    height: 84px;
  }
  .footerCts .contactBnr__telInner .img img{
    width: 38px;
    height: 31px;
  }
  .footerCts .contactBnr__telInner{
    margin-top: 8px;
  }
  .footerCts .contactBnr__telInner address{
    margin-left: 8px;
  }
  .footerCts .contactBnr__requestCts .free{
    width: 47px;
    height: 47px;
  }
  .footerCts .contactBnr__requestCts .text{
    margin-left: 10px;
  }
  .footerCts .contactBnr__requestCts::before{
    display: none;
  }
  .footerCts .contactBnr__requestCts{
    padding-right: 20px;
  }
  .footerCts .contactBnr__request a::before{
    right: 20px;
    margin-top: -4px;
  }
  .footerNavList li a{
    height: 85px;
    padding: 0 15px;
  }
  .footerAddress{
    margin-top: -1px;
    width: 352px;
  }
  .footerabout{
    padding: 80px 0;
  }
  .footerabout .tohshinLogo img{
    width: 290px;
    height: 24px;
  }
  .footerAddress address{
    margin-top: 35px;
  }
  .footerAddressList{
    margin-top: 30px;
  }
  .footerOwner{
    margin-top: 0;
    width: 352px;
  }
  .footerOwner .ownerList li + li{
    margin-top: 4px;
  }
  .footerCts .footerabout .contactBnr{
    width: 295px;
    margin-top: 0;
  }
  .footerCts .footerabout .contactBnr > * + *{
    margin-top: 10px;
    border: none;
  }
  .footerCts .footerabout .contactBnr > * a{
    height: 70px;
  }
  .footerCts .contactBnr__requestCts .free{
    width: 40px;
    height: 40px;
  }
  .footerCts .contactBnr__requestCts{
    padding-right: 18px;
  }
  .footerCts .contactBnr__request a::before{
    right: 15px;
    margin-top: -4px;
  }
}
.pageTop{
  height: 13vw;
}
.pageTop{
  position: relative;
}
.pageTop a{
  width: 100%;
  height: 13vw;
}
.pageTop span{
  display: block;
  width: 3.4vw;
  height: 3.4vw;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  margin-top: 4px;
  border-top: solid 3px #fff;
  border-right: solid 3px #fff;
}
.copy{
  padding: 3.9vw 0 75px;
}
@media screen and (min-width: 768px){
  .pageTop span{
    width: 13px;
    height: 13px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
  }
  .pageTop{
    height: 65px;
  }
  .pageTop a{
    opacity: 1;
    height: 65px;
  }
  .pageTop a span{
    transition: all 1s;
  }
  .pageTop a:hover span{
    opacity: .5;
  }
  .copy{
    padding: 30px 0 120px;
  }
}
/*--------------------------------------------------------------
   COMMON
--------------------------------------------------------------*/
body{
  padding-top: 23.4vw;
}
body.p__index{
  padding-top: 0;
}
.heading h1 span{
  display: block;
}
.heading h1 span.jp--accent{
  margin-top: 2vw;
  letter-spacing: .08rem;
}
.subHeading{
  position: relative;
  padding-bottom: 8px;
  margin-bottom: 5.85vw;
}
.subHeading::before{
  content: '';
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 3px;
}
.innerTitle{
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
          align-items: center;
  margin-bottom: 3.9vw;
}
.innerTitle .bgC__siteColor{
  height: 8.32vw;
  min-width: 9px;
}
.innerTitle::before{
  content: '';
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 1px;
}
.innerTitle .number{
  width: 8.32vw;
}
.innerTitle .text{
  padding-left: 5px;
}
@media screen and (min-width: 768px){
  body{
    padding-top: 155px;
  }
  body.p__index{
    padding-top: 0;
  }
  .heading h1 span.jp--accent{
    margin-top: 12px;
  }
  .subHeading{
    padding-bottom: 12px;
    margin-bottom: 40px;
  }
  .innerTitle{
    margin-bottom: 20px;
  }
  .innerTitle .bgC__siteColor{
    height: 36px;
  }
  .innerTitle .number{
    width: 36px;
  }
  .innerTitle .text{
    padding-left: 10px;
  }
}
/*facilities*/
.facilities__pageMenu{
  margin: 8.45vw auto 7.8vw;
}
.facilities__pageMenu li{
  width: 50%;
}
.facilities__pageMenu li a{
  height: 13vw;
  border: solid 1px #ccc;
  padding-top: 2px;
}
.facilities__pageMenu.lower{
  margin: 18.2vw auto 7.8vw;
}
@media screen and (max-width: 767px){
  .facilities__pageMenu li:nth-child(n+3) a{
    border-top: none;
  }
  .facilities__pageMenu li:nth-child(even) a{
    border-left: none;
  }
}
@media screen and (min-width: 768px){
  .facilities__pageMenu{
    margin: 75px auto;
  }
  .facilities__pageMenu li{
    width: 25%;
  }
  .facilities__pageMenu li a{
    width: 100%;
    height: 80px;
  }
  .facilities__pageMenu li + li a{
    border-left: none;
  }
  .facilities__pageMenu.lower{
    margin: 18.2vw;
  }
  .facilities__pageMenu.lower{
    margin: 80px auto 120px;
  }
}
.facilitiesCts + .facilitiesCts{
  margin-top: 10.4vw;
}

.facilitiesCts .w100{
  width: 100%;
}
.facilitiesCts .mT__sizeS{
  margin-top: 2vw;
}

.facilitiesList + .facilitiesList{
  margin-top: 10.4vw;
}
.facilitiesInner + .facilitiesInner,
.facilitiesList > li + li {
  margin-top: 10.4vw;
}
.facilitiesList__cts > figure img{
  display: block;
  width: 66%;
}
.facilitiesList__normalItem.bigImg .facilitiesList__cts > figure img{
  width: 100%;
}
.facilitiesList__cts > figure figcaption{
  margin-top: 3.25vw;
}
.facilitiesList__cts > * + *{
  margin-top: 5.2vw;
}
.facilitiesList__normalItem .text{
  text-align: justify;
}
.facilitiesList__normalItem.img .facilitiesList__cts,
.facilitiesList__normalItem.bigImg .facilitiesList__cts{
  padding-top: 1.3vw;
}
.overall__sup{
  margin-top: 13vw;
}
@media screen and (min-width: 768px){
  .facilitiesCts + .facilitiesCts{
    margin-top: 70px;
  }
  .facilitiesList{
    width: 480px;
  }
  .facilitiesList + .facilitiesList{
    margin-top: 0;
  }
  .facilitiesCts .mT__sizeS{
    margin-top: 15px;
  }
  .facilitiesList > li + li,
  .facilitiesInner + .facilitiesInner{
    margin-top: 30px;
  }
  .facilitiesList__cts > figure img{
    width: 200px;
  }
  .facilitiesList__cts > figure figcaption{
    margin-top: 20px;
  }
  .facilitiesList__cts > * + *{
    margin-top: 0;
  }
  .facilitiesList__cts > * + *.w100{
    padding-left: 30px;
  }
  .facilitiesList__normalItem.img .facilitiesList__cts,
  .facilitiesList__normalItem.bigImg .facilitiesList__cts{
    padding-top: 10px;
  }
  .facilitiesList__normalItem.bigImg .facilitiesList__cts > figure img{
    width: 400px;
  }
  .facilitiesList__normalItem.bigImg .facilitiesList__cts > * + *{
    margin: 25px 0 0;
    padding: 0;
  }
  .overall__sup{
    margin-top: 70px;
  }
}
.catchCopy{
  padding-top: 15vw;
}
.catchCopy h2{
  letter-spacing: .1rem;
}
@media screen and (min-width: 768px){
  .catchCopy{
    padding-top: 90px;
  }
}
.travelList + .travelList{
  margin-top: 2vw;
}
.travelList li{
  border-bottom: dotted 1px #999;
  padding-bottom: 2vw;
}
.travelList li + li{
  padding-top: 2vw;
}
.travelList li > .sup{
  margin-top: 5px;
}
.travelList .text > *{
  line-height: 1.2;
}
.travel__sup{
  margin-top: 2vw;
}
@media screen and (max-width: 767px){
  .travelList .text > *{
    max-width: 28%;
  }
  .travelList .station{
    max-width: 70%;
  }
}
@media screen and (min-width: 768px){
  .travelList{
    width: 49%;
    max-width: 480px;
  }
  .travelList + .travelList{
    margin-top: 0;
  }
  .travelList li{
    padding-bottom: 15px;
  }
  .travelList li + li{
    padding-top: 15px;
  }
  .travelList .station{
    display: inline-block;
    width: 120px;
  }
  .travelList .minutes{
    display: inline-block;
    width: 100px;
    padding: 0 10px;
  }
  .travelList li > .sup{
    width: 100%;
    margin-top: -2px;
  }
  .travel__sup{
    margin-top: 25px;
  }
}
.sup__text{
  padding-top: 5px;
}
@media screen and (min-width: 768px){
  .sup__text{
    padding-top: 8px;
  }
}
.comingSoon{
  padding: 10.4vw 0;
}
.comingSoon > h2{
  margin-bottom: 20px;
}
@media screen and (min-width: 768px){
  .comingSoon{
    padding: 80px 0;
  }
}