/* ===================
    #toppage
   =================== */

/*loading*/

#loading {
  width: 100vw;
  height: 100vh;
  background-color: #fff;
  display: flex;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1100;
}
#loading.loaded {
  opacity: 0;
  visibility: hidden;
}
#loading .spinner {
  font-size: 10px;
  margin: 50px auto;
  text-indent: -9999em;
  width: 5em;
  height: 5em;
  border-radius: 50%;
  background: #00a0e9;
  background: -moz-linear-gradient(left, #00a0e9 10%, rgba(0,160,233, 0) 42%);
  background: -webkit-linear-gradient(left, #00a0e9 10%, rgba(0,160,233, 0) 42%);
  background: -o-linear-gradient(left, #00a0e9 10%, rgba(0,160,233, 0) 42%);
  background: -ms-linear-gradient(left, #00a0e9 10%, rgba(0,160,233, 0) 42%);
  background: linear-gradient(to right, #00a0e9 10%, rgba(0,160,233, 0) 42%);
  position: relative;
  -webkit-animation: load3 1.4s infinite linear;
  animation: load3 1.4s infinite linear;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
}
#loading .spinner:before {
  width: 50%;
  height: 50%;
  background: #00a0e9;
  border-radius: 100% 0 0 0;
  position: absolute;
  top: 0;
  left: 0;
  content: '';
}
#loading .spinner:after {
  background: #FFF;
  width: 75%;
  height: 75%;
  border-radius: 50%;
  content: '';
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
@-webkit-keyframes load3 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load3 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

#toppage .kv-sec {
  width: 100%;
  position: relative;
}
#toppage .kv-sec .main_copy {
  width: 100%;
  position: absolute; top:0; left: 0;
  z-index: 10;
}
#toppage .kv-sec .facility li > div > a {
  display: block;
  width: 100%;
  height: 100%;
  z-index: 14;
}
#toppage .kv-sec .facility li .fukidashi {
  display: none;
}
#toppage .kv-sec .arena {
  width: 40%;
  position: absolute; top: 28.48%; left: 50%;
  z-index: 11;
}
#toppage .kv-sec .nsc {
  width: 36%;
  position: absolute; top: 75.15%; left: 14%;
  z-index: 12;
}
#toppage .kv-sec .tc {
  width: 36%;
  position: absolute; top: 41.21%; left: 14%;
  z-index: 11;
}
#toppage .kv-sec .stay {
  width: 36%;
  position: absolute; top: 91.64%; left: 50%;
  z-index: 12;
}
#toppage .kv-sec .bus {
  width: 36%;
  position: absolute; top: 66.06%; left: 50%;
  z-index: 11;
}
@media only screen and (min-width: 640px){
  #toppage .kv-sec .main_copy {
    width: 61.2%;
    top:2.68%; left: 1.3%;
  }
  #toppage .kv-sec .arena {
    width: 18.36%;
    top: 46.43%; left: 45.57%;
  }
  #toppage .kv-sec .nsc {
    width: 21.61%;
    top: 71.25%; left: 4.69%;
  }
  #toppage .kv-sec .tc {
    width: 16.54%;
    top: 23.93%; left: 63.8%;
  }
  #toppage .kv-sec .stay {
    width: 12.24%;
    top: 71.25%; left: 26.04%;
  }
  #toppage .kv-sec .bus {
    width: 17.45%;
    top: 46.43%; left: 63.8%;
  }
  #toppage .kv-sec .cottage {
    width: 17.45%;
    top: 46.43%; left: 63.8%;
  }
  #toppage .kv-sec .facility li a {
    transition: .1s;
  }
  #toppage .kv-sec .facility li:hover a {
    transform: scale(1.1);
  }
  #toppage .kv-sec .facility li:hover img {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  #toppage .kv-sec .facility li.arena a {
    transform-origin: right bottom;
  }
  #toppage .kv-sec .facility li.nsc a {
    transform-origin: right top;
  }
  #toppage .kv-sec .facility li.tc a,
  #toppage .kv-sec .facility li.bus a {
    transform-origin: left bottom;
  }
  #toppage .kv-sec .facility li.stay a {
    transform-origin: left top;
  }
  #toppage .kv-sec .facility li > div {
    position: relative;
    z-index: 15;
  }
  #toppage .kv-sec .facility li .fukidashi {
    z-index: 16;
    transition: .2s;
    transform: scale(0);
  }
  #toppage .kv-sec .facility li:hover .fukidashi {
    display: block;
    transform: scale(1);
  }
  #toppage .kv-sec .facility li.arena .fukidashi {
    width: 81.56%; height: 91.49%;
    position: absolute; top: -60.03%; left: -14.18%;
  }
  #toppage .kv-sec .facility li.nsc .fukidashi {
    width: 76.51%; height: 196.49%;
    position: absolute; top: -170.91%; left: -6.63%;
    z-index: 15;
  }
  #toppage .kv-sec .facility li.tc .fukidashi {
    width: 90.55%; height: 101.57%;
    position: absolute; top: -72.44%; left: -35.31%;
  }
  #toppage .kv-sec .facility li.stay .fukidashi {
    width: 124.47%; height: 153.66%;
    position: absolute; top: -115.85%; left: 42.3%;
  }
  #toppage .kv-sec .facility li.bus .fukidashi {
    width: 91.04%; height: 142.31%;
    position: absolute; top: -110.03%; left: 70.7%;
  }
}
@media only screen and (min-width: 1000px){
  #toppage .kv-sec .main_copy {
    width: 43.92%;
    top:3.43%; left: 0;
  }
  #toppage .kv-sec .arena {
    width: 14.64%;
    top: 67.43%; left: 29.28%;
  }
  #toppage .kv-sec .nsc {
    width: 17.2%;
    top: 67.43%; left: 49.12%;
  }
  #toppage .kv-sec .tc {
    width: 13.18%;
    top: 41.71%; left: 66.33%;
  }
  #toppage .kv-sec .stay {
    width: 9.74%;
    top: 67.43%; left: 66.33%;
  }
  #toppage .kv-sec .bus {
    width: 13.91%;
    top: 51.71%; left: 43.92%;
  }
  #toppage .kv-sec .facility li.bus {
    transform-origin: left bottom;
  }
  #toppage .kv-sec .facility li.arena .fukidashi {
    width: 80.5%; height: 90.5%;
    position: absolute; top: -60%; left: -20.5%;
  }
  #toppage .kv-sec .facility li.nsc .fukidashi {
    width: 75.32%; height: 196.25%;
    position: absolute; top: -160%; left: -60.43%;
  }
  #toppage .kv-sec .facility li.tc .fukidashi {
    width: 89.44%; height: 100.56%;
    position: absolute; top: -75.22%; left: -30.67%;
  }
  #toppage .kv-sec .facility li.stay .fukidashi {
    width: 123.31%; height: 152.59%;
    position: absolute; top: -118.1%; left: 46.84%;
  }
  #toppage .kv-sec .facility li.bus .fukidashi {
    width: 89.47%; height: 140.91%;
    position: absolute; top: -119.09%; left: 47.89%;
  }
}

/*summer-version*/

#toppage .kv-sec.summer .main_copy {
  position: absolute; top:0; left: 0;
}
#toppage .kv-sec.summer .arena {
  width: 36%;
  position: absolute; top: 91.64%; left: 50%;
  z-index: 13;
}
#toppage .kv-sec.summer .stay {
  width: 40%;
  position: absolute; top: 28.48%; left: 50%;
}
@media only screen and (min-width: 640px){
  #toppage .kv-sec.summer .main_copy {
    width: 60.03%;
    top: 0; left: 37.89%;
  }
  #toppage .kv-sec.summer .arena {
    width: 14.06%;
    top: 85.54%; left: 62.11%;
  }
  #toppage .kv-sec.summer .nsc {
    width:13.54%;
    top: 70.36%; left: 48.7%;
  }
  #toppage .kv-sec.summer .tc {
    width:18.36%;
    top: 45.36%; left: 17.97%;
    z-index: 12;
  }
  #toppage .kv-sec.summer .stay {
    width:18.36%;
    top: 45.36%; left: 36.2%;
  }
  #toppage .kv-sec.summer .bus {
    width: 17.45%;
    top: 31.43%; left: 18.75%;
  }
  #toppage .kv-sec.summer .facility li.arena a,
  #toppage .kv-sec.summer .facility li.stay a {
    transform-origin: left bottom;
  }
  #toppage .kv-sec.summer .facility li.bus a {
    transform-origin: right bottom;
  }
  #toppage .kv-sec.summer .facility li.nsc a,
  #toppage .kv-sec.summer .facility li.tc a {
    transform-origin: right top;
  }
  #toppage .kv-sec.summer .facility li.arena .fukidashi {
    width: 107.41%; height: 159.76%;
    top: -130.39%; left: 7.41%;
  }
  #toppage .kv-sec.summer .facility li.nsc .fukidashi {
    width: 122.12%; height: 133.72%;
    top: -69.77%; left: 81.73%;
  }
  #toppage .kv-sec.summer .facility li.tc .fukidashi {
    width: 82.98%; height: 103.15%;
    top: -72.44%; left: -27.66%;
  }
  #toppage .kv-sec.summer .facility li.stay .fukidashi {
    width: 81.56%; height: 87.94%;
    top: -58.32%; left: 16.89%;
  }
  #toppage .kv-sec.summer .facility li.bus .fukidashi {
    width:91.04%; height: 144.87%;
    top: -117.56%; left: -48.51%;
  }
}
@media only screen and (min-width: 1000px){
  #toppage .kv-sec.summer .main_copy {
    width: 43.92%;
    top:77.14%; left: 56.08%;
  }
  #toppage .kv-sec.summer .arena {
    width:11.2%;
    top: 83.29%; left: 22.4%;
  }
  #toppage .kv-sec.summer .nsc {
    width:10.76%;
    top: 64.71%; left: 11.64%;
    z-index: 12;
  }
  #toppage .kv-sec.summer .tc {
    width:14.64%;
    top: 39.14%; left: 22.4%;
    z-index: 11;
  }
  #toppage .kv-sec.summer .stay {
    width:14.64%;
    top: 0; left: 56.08%;
  }
  #toppage .kv-sec.summer .bus {
    width:13.91%;
    top: 49%; left: 8.49%;
  }
  #toppage .kv-sec.summer .facility li.stay a {
    transform-origin: left top;
  }
  #toppage .kv-sec.summer .facility li.tc a {
    transform-origin: left bottom;
  }
  #toppage .kv-sec.summer .facility li.arena .fukidashi {
    width: 105.23%; height: 156.03%;
    top: -123.28%; left: -45.1%;
  }
  #toppage .kv-sec.summer .facility li.nsc .fukidashi {
    width: 120.41%; height: 129.75%;
    top: -69.42%; left: 81.63%;
  }
  #toppage .kv-sec.summer .facility li.tc .fukidashi {
    width: 80.5%; height: 100.56%;
    top: -75.44%; left: -18.5%;
  }
  #toppage .kv-sec.summer .facility li.stay .fukidashi {
    width: 85%; height: 73.5%;
    top: 33.5%; left: -58%;
  }
  #toppage .kv-sec.summer .facility li.bus .fukidashi {
    width: 89.47%; height: 140.91%;
    top: -116.09%; left: -44.21%;
  }
}

/*facility*/

#toppage #facility .bgc-other-fac {
  background: #666;
}
#toppage #facility .bgc-workation {
  background: #005331;
}
#toppage #facility .img-layout {
  margin-bottom: 20px;
}
#toppage #facility .layout-col-2 > li:last-child {
  margin-bottom: 0;
}
@media print, screen and (min-width: 768px){
  #toppage #facility .layout-col-2 > li:nth-last-child(2) {
    margin-bottom: 0;
  }
}

/* ===================
    #company
   =================== */

/*greeting*/

#company .greeting blockquote {
  text-align: center;
  margin: 0 0 25px;
}
#company .greeting blockquote p {
  position: relative;
  display: inline-block;
}
#company .greeting blockquote p::before {
	content:"";
	display:block;
	width: 31px; height: 27px;
	background:url("../img/company/brackets_l.png") no-repeat top center;
  background-size: 100% auto;
  position: absolute; top:0; left: 1.5em;
}
#company .greeting blockquote p::after {
	content:"";
	display:block;
	width: 31px; height: 27px;
	background:url("../img/company/brackets_r.png") no-repeat top center;
  background-size: 100% auto;
  position: absolute; top:0; right: 2em;
}
@media only screen and (max-width: 374px) {
  #company .greeting blockquote p {
    font-size: 20px;
    font-size: 2.0rem;
  }
  #company .greeting blockquote p::before {
    width: 26px; height: 22px;
  }
  #company .greeting blockquote p::after {
    width: 26px; height: 22px;
  }
}
@media print, screen and (min-width: 768px){
  #company .greeting blockquote {
    margin: 0 0 40px;
  }
}

/*profile*/

#company .profile .btn-wrapper{
  float: center;
}
#company .profile table{
  margin-bottom: 21px;
}
#company .profile th {
  width: 210px;
}
#company .profile .btn-mid{
  background: #00a0e9;
}
#company .profile .btn-wrapper{
  text-align: center;
  margin-top: 38px;
}
@media only screen and (max-width: 639px) {
  #company .profile th {
    width: 6em;
  }
}

/*history*/

#company .history th {
  width: 210px;
}
@media only screen and (max-width: 639px) {
  #company .history th,
  #company .history td {
    width: 100%;
    display: block;
  }
}

/*link*/

#company .link .banner-link .layout-col-3 .link-variation {
  border-radius: 0 30px 0 30px;
}
#company .link .round-frame {
  padding: 30px;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  background: #FFF;
  border: 1px solid #0c98e0;
  margin-top: 32px;
}
#company .link .round-frame a{
  text-decoration: none;
  color: #404040;
}
#company .link .round-frame a:hover {
  color: #00a0e9;
}

@media print, screen and (min-width: 768px) {
  #company .link .banner-link .layout-col-3 li {
    width: calc((100% - 16px) / 3 - .01px);
    margin-right: 8px;
    margin-bottom: 8px;
  }
  #company .link .banner-link .layout-col-3 > *:nth-child(3n) {
    margin-right: 0;
  }
}
@media print, screen and (max-width: 767px) {
  #company .link .banner-link .layout-col-3 li {
    margin-bottom: 8px;
  }
}
@media print, screen and (min-width: 1080px){
  #company .link .round-frame {
    padding: 30px 0;
  }
  #company ul.company-list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
  #company ul.company-list > li {
    width: 40%;
  }
  #company .link ul.company-list > li:nth-child(odd) {
    width: 32%;
  }
  #company .link ul.company-list > li:nth-child(even) {
    width: 48%;
  }
}

/*details*/

#company .details .round-frame {
  padding: 30px;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
}
@media print, screen and (min-width: 1080px){
  #company .details .round-frame {
    padding: 30px 0;
  }
}

/* ===================
    #access
   =================== */

/*g-map*/

#access #g-map .g-map-sec {
  height: 0;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
}
#access #g-map .g-map-sec iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
#access #g-map .txt-wrapper {
  text-align: center;
  padding: 10px 0 30px;
}
#access #g-map .txt-wrapper h2 {
  margin-top: 20px;
  margin-bottom: 10px;
}
#access #g-map .txt-wrapper .logo {
  width: 70%;
  margin: 0 auto;
}
#access #g-map .txt-wrapper address {
  font-style: normal;
}

@media print, screen and (min-width: 768px){
  #access #g-map {
    display: flex;
    align-items: center;
  }
  #access #g-map .g-map-sec {
    width: 60%;
    padding-bottom: 350px;
  }
  #access #g-map .txt-wrapper {
    width: 40%;
  }
}
@media print, screen and (min-width: 1100px) {
  #access #g-map .g-map-sec {
    width: 710px;
  }
  #access #g-map .txt-wrapper {
    width: calc(100% - 710px);
  }
  #access #g-map .txt-wrapper .logo {
    width: 260px;
  }
}

/*#traffic*/

#access #traffic {
  margin: 25px 0 0;
}
#access #traffic h4 {
  padding: 10px 20px;
  box-sizing: border-box;
  margin-bottom: 12px;
  width: 100%;
  text-align: left;
  color: #a1990f;
}
#access #traffic .flow {
  width: 100%;
}
#access #traffic .btn-wrapper {
  margin: 20px 0 30px;
  text-align: right;
}
#access #traffic a[target].btn-pri::after,
#access #traffic a[target].btn-mid::after,
#access #traffic a[target].btn-nor::after {
	background:url("../img/cmn/link_blank_black.svg") no-repeat top center;
}
@media print, screen and (min-width: 768px){
  #access #traffic {
    margin: 40px 0 0;
  }
}
@media only screen and (max-width: 1079px) {
  #access #traffic .block-list-container > li + li {
    margin-top: 40px;
  }
  #access #traffic .block-list-container > li,
  #access #traffic .block-list-container > div {
    display: block;
  }
  #access #traffic .block-list-container .ttl-wrapper {
    display: block;
    text-align: center;
  }
  #access #traffic .block-list-container .ttl-wrapper .ttl {
    padding-left: 0;
  }
  #access #traffic .block-list-container .col-r {
    padding: 15px 20px;
  }
  #access #traffic .block-list-container .col-l,
  #access #traffic .block-list-container .ttl-wrapper {
    width: 100%;
    min-height: 1em;
  }
  #access #traffic .block-list-container .col-r {
    width: 100%;
  }
}
@media print, screen and (min-width: 1080px){
  #access #traffic .block-list-container .ttl-wrapper {
    align-items: flex-start;
    padding-top: 50px;
  }
  #access #traffic .block-list-container .col-l {
    width: 224px;
  }
  #access #traffic .block-list-container .col-r {
    width: calc(100% - 224px);
  }
  #access #traffic .block-list-container .col-r .inner {
    width: 100%;
  }
}

/*#map*/

#access #map .map-wrapper {
  position: relative;
}
#access #map .map-wrapper .facility li {
  display: block;
  z-index: 10;
}
#access #map .map-wrapper .facility li div {
  width: 100%; height: 100%;
}
#access #map .map-wrapper .facility li div a {
  display: block;
  width: 100%; height: 100%;
}
@media print, screen and (max-width: 699px) {
  #access #map .map-wrapper {
    margin: 0 5%;
  }
  #access #map .map-wrapper .facility {
    display: flex;
    flex-wrap: wrap;
  }
  #access #map .map-wrapper .facility li {
    position: relative;
  }
  #access #map .map-wrapper .facility li + li {
    margin-top: 10px;
  }
  #access #map .map-wrapper .facility .arena,
  #access #map .map-wrapper .facility .nsc,
  #access #map .map-wrapper .facility .tc {
    width: 100%;
  }
  #access #map .map-wrapper .facility .lodge,
  #access #map .map-wrapper .facility .cottage,
  #access #map .map-wrapper .facility .restaurant {
    width: calc((100% - 10px) / 2);
  }
  #access #map .map-wrapper .facility .lodge {
    margin-right: 10px;
  }
  #access #map .map-wrapper .facility .restaurant {
    margin-left: calc(((100% - 10px) / 2) + 10px);
  }
  #access #map .map-wrapper .map-base {
    margin-top: -10px;
  }
}
@media print, screen and (min-width: 700px) {
  #access #map .map-wrapper {
    width: 100%;
    margin: 0;
  }
  #access #map .map-wrapper .facility li {
    position: absolute;
  }
  #access #map .map-wrapper .facility .arena {
    width: 27.47%;
    top: 3.97%; right: 4.29%;
  }
  #access #map .map-wrapper .facility .nsc {
    width: 27.47%;
    bottom: 2.88%; left: 12.86%;
  }
  #access #map .map-wrapper .facility .tc {
    width: 27.47%;
    top: 34.25%; left: 0.44%;
  }
  #access #map .map-wrapper .facility .lodge {
    width: 18.24%;
    top: 2.74%; left: 28.68%;
  }
  #access #map .map-wrapper .facility .cottage {
    width: 18.24%;
    top: 8.9%; left: 48.02%;
  }
  #access #map .map-wrapper .facility .restaurant {
    width: 18.24%;
    top: 40.41%; right: 1.76%;
  }
  #access #map .map-wrapper .facility li div {
    position: relative;
    border-radius: 16px;
    box-sizing: border-box;
    padding: 2px;
    width: 100%
  }
  #access #map .map-wrapper .facility .arena div {
    background: #0c98e0;
  }
  #access #map .map-wrapper .facility .nsc div {
    background: #1042d0;
  }
  #access #map .map-wrapper .facility .tc div {
    background: #5e36a1;
  }
  #access #map .map-wrapper .facility .lodge div,
  #access #map .map-wrapper .facility .cottage div,
  #access #map .map-wrapper .facility .restaurant div {
    background: #1ba6b2;
  }
  #access #map .map-wrapper .facility div a {
    position: relative;
    display: block;
    width: 100%; height: 100%;
    border-radius: 14px;
    transition: .3s;
  }
  #access #map .map-wrapper .facility div a img {
    border-radius: 14px;
  }
  #access #map .map-wrapper .facility div a::after {
    content:"";
    display:block;
    width: 6.4%; height: 3.64%;
    background:url("../img/cmn/link_arrow_white.svg") no-repeat top center;
    background-size: 100% auto;
    position: absolute; bottom: 5.91%; right: 5.6%;
    transition: .3s;
  }
  #access #map .map-wrapper .facility .lodge div a::after,
  #access #map .map-wrapper .facility .cottage div a::after,
  #access #map .map-wrapper .facility .restaurant div a::after {
    width: 9.64%; height: 10.53%;
    position: absolute; bottom: 17.11%; right: 8.43%;
  }
  #access #map .map-wrapper .facility div a:hover::after {
    right: 2.4%;
  }
  #access #map .map-wrapper .facility .lodge div a:hover::after,
  #access #map .map-wrapper .facility .cottage div a:hover::after,
  #access #map .map-wrapper .facility .restaurant div a:hover::after {
    right: 3.61%;
  }
  #access #map .map-wrapper .facility div a:hover::before {
    content:"";
    display:block;
    width: 100%; height: 100%;
    background-color: rgba(255,255,255,0.25);
    position: absolute; top:0; left: 0;
    border-radius: 14px;
  }
  #access #map .map-wrapper .facility div::after {
    content:"";
    display:block;
    position: absolute;
    z-index: 11;
  }
  #access #map .map-wrapper .facility .arena div::after {
    width: 32.8%; height: 31.82%;
    background:url("../img/access/map_fac_arena_arrow.png") no-repeat top center;
    background-size: 100%;
    top: 56.36%; left: -32%;
  }
  #access #map .map-wrapper .facility .nsc div::after {
    width: 25.2%; height: 27.73%;
    background:url("../img/access/map_fac_nsc_arrow.png") no-repeat top center;
    background-size: 100%;
    top: 10.91%; right: -24.4%;
  }
  #access #map .map-wrapper .facility .tc div::after {
    width: 86.8%; height: 70.91%;
    background:url("../img/access/map_fac_tc_arrow.png") no-repeat top center;
    background-size: 100%;
    top: 50.45%; right: -86%;
  }
  #access #map .map-wrapper .facility .lodge div::after {
    width: 44.58%; height: 192.11%;
    background:url("../img/access/map_fac_lodge_arrow.png") no-repeat top center;
    background-size: 100%;
    bottom: -189.47%; left: 70.48%;
  }
  #access #map .map-wrapper .facility .cottage div::after {
    width: 29.52%; height: 265.79%;
    background:url("../img/access/map_fac_cottage_arrow.png") no-repeat top center;
    background-size: 100%;
    bottom: -263.16%; left: 15.06%;
  }
  #access #map .map-wrapper .facility .restaurant div::after {
    width: 60.24%; height: 22.37%;
    background:url("../img/access/map_fac_restaurant_arrow.png") no-repeat top center;
    background-size: 100%;
    top: 13.16%; left: -59.04%;
  }
}
@media print, screen and (min-width: 910px) {
  #access #map .map-wrapper {
    width: 910px;
    margin: 0 auto;
  }
  #access #map .map-wrapper .facility li {
    position: absolute;
  }
  #access #map .map-wrapper .facility .arena {
    width: 250px;
    top: 29px; right: 39px;
  }
  #access #map .map-wrapper .facility .nsc {
    width: 250px;
    bottom: 21px; left: 117px;
  }
  #access #map .map-wrapper .facility .tc {
    width: 250px;
    top: 250px; left: 4px;
  }
  #access #map .map-wrapper .facility .lodge {
    width: 166px;
    top: 20px; left: 261px;
  }
  #access #map .map-wrapper .facility .cottage {
    width: 166px;
    top: 65px; left: 437px;
  }
  #access #map .map-wrapper .facility .restaurant {
    width: 166px;
    top: 295px; right: 16px;
  }
  #access #map .map-wrapper .facility li div {
    border-radius: 20px;
  }
  #access #map .map-wrapper .facility div a {
    border-radius: 18px;
  }
  #access #map .map-wrapper .facility div a img {
    border-radius: 18px;
  }
  #access #map .map-wrapper .facility div a::after,
  #access #map .map-wrapper .facility .lodge div a::after,
  #access #map .map-wrapper .facility .cottage div a::after,
  #access #map .map-wrapper .facility .restaurant div a::after {
    width: 16px; height: 8px;
    position: absolute; bottom: 13px; right: 14px;
  }
  #access #map .map-wrapper .facility div a:hover::after,
  #access #map .map-wrapper .facility .lodge div a:hover::after,
  #access #map .map-wrapper .facility .cottage div a:hover::after,
  #access #map .map-wrapper .facility .restaurant div a:hover::after {
    right: 6px;
  }
  #access #map .map-wrapper .facility div a:hover::before {
    border-radius: 18px;
  }
  #access #map .map-wrapper .facility .arena div::after {
    width: 82px; height: 70px;
    top: 124px; left: -80px;
  }
  #access #map .map-wrapper .facility .nsc div::after {
    width: 63px; height: 61px;
    top: 24px; right: -61px;
  }
  #access #map .map-wrapper .facility .tc div::after {
    width: 217px; height: 156px;
    top: 111px; right: -215px;
  }
  #access #map .map-wrapper .facility .lodge div::after {
    width: 74px; height: 146px;
    bottom: -144px; left: 117px;
  }
  #access #map .map-wrapper .facility .cottage div::after {
    width: 49px; height: 202px;
    bottom: -200px; left: 25px;
  }
  #access #map .map-wrapper .facility .restaurant div::after {
    width: 100px; height: 17px;
    top: 10px; left: -98px;
  }
}



/* ===================
    #faq
   =================== */

#faq .tab li {
  padding: 0;
}
#faq .tab li > a {
  text-decoration: none;
  color: #404040;
  width: 100%; height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: 0s;
  font-size: 12px;
}
#faq .tab li > a > span > span {
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 500;
  display: block;
}
#faq .tab li:hover h2 > a,
#faq .tab li:hover h2 > a > span > span {
  color: #FFF !important;
}
#faq .qa-wrapper h2 {
  margin: 50px 0 0;
  padding: 15px 20px;
  box-sizing: border-box;
  color: #FFF;
  width: 100%;
}
#faq .qa-list {
  border-left: 1px solid;
  border-right: 1px solid;
  border-bottom: 1px solid;
  margin: 0;
}
#faq .qa-list dt {
  border-top: 1px solid;
  box-sizing: border-box;
  padding: 20px 66px;
  position: relative;
  cursor: pointer;
}
#faq .qa-list dd {
  margin: 0;
  padding: 20px 20px 20px 66px;
  position: relative;
  line-height: 1.75;
}
#faq .qa-list dt span::before,
#faq .qa-list dd::before {
  display: block;
  font-size: 30px;
  font-size: 3.0rem;
  line-height: 1;
  font-family: 'Lato', sans-serif;
  font-style: normal;
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute; left: 20px;
}
#faq .qa-list dt span::before {
  content: 'Q';
  top:50%;
	transform: translateY(-50%);
}
#faq .qa-list dd::before {
  content: 'A';
  color: #FFF;
  top: 20px; left: 10px;
  width: 40px; height: 40px;
  border-radius: 10px 0 10px 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
#faq .qa-list dt::before,
#faq .qa-list dt::after {
  content: '';
  display: block;
  width: 15px;
  height: 2px;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}
#faq .qa-list dt::after {
  transform: translateY(-50%) rotate(90deg);
  transition: .2s;
}
#faq .qa-list dt.open::after {
  transform: rotate(0);
  transform: translateY(-49%);
  transition: .2s;
}
#faq .qa-list dd .btn-wrapper {
  margin-top: 20px;
  text-align: right;
}
@media only screen and (max-width: 320px) {
  #faq .tab > li {
    width: 100%;
    border-bottom: 0;
  }
  #faq .tab > li:last-child {
    border-bottom: 1px solid #404040;
  }
  #faq .tab > li:nth-child(even) {
    border-left: 1px solid #404040;
  }
  #faq .tab li > a > span {
    display: inline;
  }
}
@media only screen and (min-width: 321px) and (max-width: 767px) {
  #faq .tab > li:nth-last-child(-n+2) {
    border-bottom: 1px solid #404040;
  }
}
@media print, screen and (min-width: 768px) {
  #faq .tab > li {
    width: calc( 100% / 3 );
  }
  #faq .tab > li:nth-last-child(-n+3) {
    border-bottom: 1px solid #404040;
  }
  #faq .tab > li:nth-child(4) {
    border-left: 1px solid #404040;
  }
}
@media print, screen and (min-width: 1080px) {
  #faq .tab > li {
    width: calc( 100% / 6  - .01px);
    border-bottom: 1px solid #404040 !important;
  }
  #faq .tab > li:nth-child(4) {
    border-left: 0;
  }
}


/* ===================
    #privacy
   =================== */

#privacy .privacy > ol > li {
  margin-bottom: 60px;
}
#privacy .privacy h2 {
  margin-bottom: 10px;
}
#privacy .privacy h2 > .en {
  width: 1.25em;
  font-size: 20px;
  font-size: 2.0rem;
  display: inline-block;
}
#privacy .privacy .txt {
  margin-left: 1.75em;
}
#privacy .privacy .list-note {
  margin: 0 0 0 1.75em;
}
#privacy .privacy .list-note li {
  font-size: 15px;
  font-size: 1.5rem;
  margin-bottom: 0;
}

/* ===================
    #arena/#nsc --> #rental
   =================== */

#rental .block-list-container {
  margin-bottom: 40px;
}
#rental .block-list-container .ttl-wrapper {
  display: block;
  padding: 20px 0 10px 30px;
  text-align: left;
}
#rental .block-list-container .ttl-wrapper .ttl {
  padding-bottom: 10px;
  padding-left: 0;
  border-bottom: 1px dotted #FFF;
  margin-bottom: 16px;
  font-size: 24px;
  font-size: 2.4rem;
}
#rental .block-list-container .ttl-wrapper dl {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-bottom: 0;
  width: 100%;
}
#rental .block-list-container .ttl-wrapper dt {
  width: 3em;
  font-size: 13px;
  background: #FFF;
  text-align: center;
  border-radius: 5px 0 5px 0;
  margin: 4px 0 15px 0;
}
#rental .block-list-container .ttl-wrapper dd {
  color: #FFF;
  margin: 0 0 15px 10px;
  width: calc(100% - 10px - 3em);
  font-size: 16px;
  font-size: 1.6rem;
}
#rental .block-list-container .col-r {
  display : block;
  padding-bottom: 0px;
}
#rental .block-list-container .col-r .col-r-item {
  display: flex;
  margin-bottom: 30px;
}
#rental .block-list-container .col-r .col-r-item img{
  width: 200px;
  height: 200px;
}
#rental .block-list-container .col-r .col-r-item .item-ttl {
  padding: 5px 10px;
  box-sizing: border-box;
  font-size: 18px;
  font-size: 1.8rem;
  margin-bottom: 15px;
  background: #e5f6ff;
  width: 100%;
}
#rental .block-list-container .col-r .col-r-item .feature {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#rental .block-list-container .col-r .col-r-item .feature dt {
  width: 4em;
  margin: 0 0 15px; padding: 0;
}
#rental .block-list-container .col-r .col-r-item .feature dt span {
  display: inline-block;
  width: 4em;
  font-weight: 500;
  line-height: 1.8;
  position: relative;
  border-bottom: 1px solid #404040;
  padding-bottom: 2px;
}
#rental .block-list-container .col-r .col-r-item .feature dt span::after {
	content:"：";
  position: absolute; top:0; right: 0;
}
#rental .block-list-container .col-r .col-r-item .feature dd {
  box-sizing: border-box;
  width: calc(100% - 5em);
  margin: 0 0 15px; padding: 0;
  line-height: 1.8;
}
#rental .list-note {
  margin-top: 30px;
}
@media only screen and (max-width: 639px) {
  #rental .block-list-container .col-r .col-r-item {
    display: block;
  }
  #rental .block-list-container .col-r .col-r-item + .col-r-item {
    margin-top: 60px;
  }
  #rental .block-list-container .col-r .col-r-item .txt-wrapper {
    margin-left: 0px;
    margin-top: 16px;
    padding-left: 0px;
  }
  #rental .block-list-container .col-r .col-r-item img{
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
}
@media print, screen and (min-width: 640px) {
  #rental .block-list-container .col-r .col-r-item .txt-wrapper {
    width: calc(100% - 200px);
    padding-left: 30px;
    box-sizing: border-box;
  }
}
@media only screen and (max-width: 899px) {
  #rental .block-list-container li {
    display: block;
  }
  #rental .block-list-container .col-l,
  #rental .block-list-container .ttl-wrapper,
  #rental .block-list-container .col-r {
    width: 100%;
  }
}
@media print, screen and (min-width: 900px) {

  #rental .block-list-container .col-l,
  #rental .block-list-container .ttl-wrapper {
    width: 256px;
  }
  #rental .block-list-container .ttl-wrapper .ttl {
    margin-top: 10px;
  }
  #rental .block-list-container .col-r {
    width: calc(100% - 256px);
  }
  #rental .block-list-container .col-r .col-r-item .txt-wrapper {
    width: calc(100% - 200px);
    padding-left: 30px;
    box-sizing: border-box;
  }
}

/* ===================
    #arena/nsc --> #kenma
   =================== */

#kenma .img-layout {
  margin-bottom: 0;
}
#kenma .normal-table {
  margin-top: 30px;
}
#kenma .normal-table th {
  width: 15em;
}
#kenma .normal-table td {
  text-align: center;
}

/* ===================
    #arena
   =================== */

@media only screen and (min-width: 768px) and (max-width: 1079px) {
  #arena-top-layout.img-layout .head-wrapper {
    float: right;
    width: 568px;
  }
  #arena-top-layout.img-layout .copy-header {
    min-width: calc(100% - 150px);
    margin-left: 150px;
    float: none;
  }
  #arena-top-layout.img-layout .img {
    padding-top: 40px;
  }
}

/* ===================
    #arena-use
   =================== */

#arena-use .img-skating img {
  border-radius: 0;
  margin-bottom: 30px;
}

/*fee*/

#arena-use #ordinary-fee .caption-table caption {
  text-align: center;
  margin-top: 40px;
}
#arena-use #ordinary-fee .fee-table .caption-table {
  width: 100%;
}
#arena-use #ordinary-fee .fee-table .caption-table th {
  width: 8em;
}
#arena-use #ordinary-fee .fee-table .caption-table td {
  width: calc(100% - 8em);
}
#arena-use #ordinary-fee .fee-table .caption-table tr {
  width: calc((100% - 96px) / 4 - .01px);
  background: #e5f6ff;
  margin-right: 32px;
  margin-bottom: 24px;
}
#arena-use #ordinary-fee .fee-table .caption-table tr:nth-child(4n) {
  margin-right: 0;
}
@media only screen and (max-width: 767px) {
  #arena-use #ordinary-fee .sec-headline + .txt-center {
    text-align: left;
  }
}
@media only screen and (min-width: 768px) {
  #arena-use #ordinary-fee .fee-table .caption-table tr {
    width: calc((100% - 96px) / 4 - .01px);
    background: #e5f6ff;
  }
  #arena-use #ordinary-fee .fee-table .caption-table tr:nth-child(3n) {
    margin-right: 32px;
  }
  #arena-use #ordinary-fee .fee-table .caption-table tr:last-child {
    margin-right: 0;
  }
}
@media print, screen and (min-width: 1080px) {

  #arena-use #ordinary-fee .fee-table .caption-table th {
    width: 100px;
  }
  #arena-use #ordinary-fee .fee-table .caption-table td {
    width: calc(100% - 100px);
    padding-top: calc(10px + 0.5em);
  }
}

/*personal-use*/

#arena-use #personal-use .caption-table caption {
  text-align: center;
}
#arena-use #personal-use .fee-table .caption-table th {
  width: 8em;
}
#arena-use #personal-use .fee-table .caption-table td {
  width: calc(100% - 8em);
}
#arena-use #personal-use .toiawase-set {
  margin-top: 40px;
}

/*attention*/

#arena-use #attention .li-style-att {
  margin: 8px 0;
}
#arena-use #attention .li-style-att li {
  margin: 0 0 5px 1.75em;
  list-style-type: disc;
}
#arena-use #attention .li-style-att li:last-child {
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  .cts-header {
    padding-bottom: 50px;
  }
}
@media only screen and (min-width: 640px) and (max-width: 999px) {
  #arena-ntc .cts-header .ttl {
    margin-bottom: 40px;
    font-size: 35px;
    font-size: 3.5rem;
  }
}

/* ===================
    #arena-school
   =================== */

/*course*/

#arena-school .course-index {
  margin: 30px 0 25px;
}
#arena-school .course-index li {
  box-sizing: border-box;
  padding: 25px 20px;
  text-align: center;
}
#arena-school .course-index li h4 {
  display: inline-block;
  border-radius: 1024px;
  background: #FFF;
  box-sizing: border-box;
  padding: 3px 20px;
  margin-bottom: 20px;
  min-width: 50%;
}
#arena-school .course-index li div {
  position: relative;
  width: 100%; height: 1em;
  margin: 20px 0 10px;
  font-weight: normal;
}
#arena-school .course-index li div >  span {
  display: inline-block;
  box-sizing: border-box;
  padding: 0 10px;
  position: absolute; top:50%; left: 50%;
	transform: translate(-50%,-50%);
  z-index: 10;
}
#arena-school .course-index li div::after {
	content:"";
	display:block;
	width: 100%; height: 1px;
  background-color: rgba(64,64,64,0.45);
  position: absolute; top:50%; left: 0;
	transform: translateY(-50%);
}
#arena-school .course-index li p.txt {
  text-align: left;
}
#arena-school .course-detail {
  margin-top: 40px;
}
#arena-school .course-detail li .page-ttl-icon {
  color: #404040;
}
#arena-school .course-detail li .page-ttl-icon span {
  display: block;
  text-align: center;
}
#arena-school .course-detail li .time-schedule {
  margin-top: 15px;
}
#arena-school .course-detail li .time-schedule th {
  width: 7em;
  padding: 10px 0;
}
#arena-school .course-index .begi-class,
#arena-school .course-index .begi-class div > span,
#arena-school .course-detail .begi-class .page-ttl-icon,
#arena-school .course-detail .begi-class .time-schedule th {
  background: #c9f0b2;
}
#arena-school .course-index .mid-class,
#arena-school .course-index .mid-class div > span,
#arena-school .course-detail .mid-class .page-ttl-icon,
#arena-school .course-detail .mid-class .time-schedule th {
  background: #ffd7a2;
}
#arena-school .course-index .adv-class,
#arena-school .course-index .adv-class div > span,
#arena-school .course-detail .adv-class .page-ttl-icon,
#arena-school .course-detail .adv-class .time-schedule th {
  background: #ffb8b8;
}
#arena-school .course-detail .sync-class .time-schedule th {
  background: #d9bee9;
}
#arena-school .course-detail .begi-class .page-ttl-icon span.star {
  color: #53b619;
}
#arena-school .course-detail .mid-class .page-ttl-icon span.star {
  color: #ff7800;
}
#arena-school .course-detail .adv-class .page-ttl-icon span.star {
  color: #e23737;
}
#arena-school .synchronized .course-detail {
  margin-top: 30px;
}
#arena-school .synchronized .course-detail .img-layout {
  margin-bottom: 0;
}
@media print, screen and (min-width: 768px){
  #arena-school .course-index {
    margin: 40px 0 0;
  }
  #arena-school .course-detail {
    margin-top: 70px;
  }
  #arena-school .course-detail li .time-schedule th {
    width: 10em;
  }
  #arena-school .course-detail li .txt-wrapper {
    margin-top: 50px;
  }
  #arena-school .synchronized .course-detail {
    margin-top: 50px;
  }
  #arena-school .synchronized .course-detail li .txt-wrapper {
    margin-top: 0;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  #arena-school .course-detail li .img-layout {
    margin-bottom: 20px;
  }
  #arena-school .synchronized {
    margin-top: 60px;
  }
}
@media print, screen and (min-width: 1080px){
  /* #arena-school .course-detail li .img-layout {
    align-items: flex-end;
  } */
  #arena-school .course-detail li .txt-wrapper {
    margin-top: 20px;
  }
}

/*fee*/

#arena-school #fee .fee-table .caption-table tr td {
  text-align: center;
}

/*trial*/

#arena-school #trial {
  margin-top: 40px;
  width: 100%;
  background: url("../img/arena/school_trial_bg.png");
  padding: 10px;
  box-sizing: border-box;
}
#arena-school #trial .trial-wrapper {
  position: relative;
  background: #FFF;
  padding-bottom: 30px;
}
#arena-school #trial .trial-wrapper .img {
  position: absolute; top:0; left: 0;
  width: 50%;
  padding-right: 20px;
  box-sizing: border-box;
}
#arena-school #trial .trial-wrapper .img img {
  width: 100%;
}
@media only screen and (max-width: 767px) {
  #div_picture {
    width: 50%;
    margin-left: 50%;
  }
}
#arena-school #trial .trial-wrapper .txt {
  margin: 0 20px;
  line-height: 1.65;
}
#arena-school #trial .trial-wrapper .btn-wrapper {
  margin: 20px 20px 0;
  text-align: center;
}

@media print, screen and (min-width: 768px){

  #arena-school #trial .trial-wrapper .img {
    width: 210px;
  }
  #arena-school #trial .trial-wrapper .txt-wrapper {
    margin-left: 210px;
    padding: 30px 0 0;
  }

  #arena-school #trial .trial-wrapper h2 {
    margin: 0 0 20px;
    width: 392px;
  }
  #arena-school #trial .trial-wrapper .txt {
    margin: 0 20px 0 0;
  }
  #arena-school #trial .trial-wrapper .btn-wrapper {
    margin-left: 210px;
    text-align: right;
  }
  #div_picture {
    margin: 0 0 20px;
    width: 392px;
  }
}

@media print, screen and (min-width: 1080px){

  #arena-school #trial .trial-wrapper {
    display: flex;
    align-items: flex-end;
  }
  #arena-school #trial .trial-wrapper .txt-wrapper {
    width: 460px;
  }
  #arena-school #trial .trial-wrapper .txt {
    margin: 0;
  }
  #arena-school #trial .trial-wrapper .btn-wrapper {
    margin: 0 0 0 25px;
  }
}

/*entry*/

#arena-school #entry .entry-order > li {
  border: 1px solid #0c98e0;
  padding: 20px;
  box-sizing: border-box;
  margin-bottom: 12px;
}
#arena-school #entry .howto {
  display: flex;
  align-items: center;
}
#arena-school #entry .howto span {
  display: block;
  font-size: 17px;
  font-size: 1.7rem;
}
#arena-school #entry .howto .en-bold {
  color: #0c98e0;
  font-size: 34px;
  font-size: 3.4rem;
  margin-right: 20px;
  line-height: 1;
}
#arena-school #entry .entry-order > li:first-child .howto {
  margin-bottom: 20px;
}
#arena-school #entry .entry-order > li .toiawase-set {
  border: 0;
  padding: 0;
}
@media print, screen and (min-width: 1080px){

  #arena-school #entry .entry-order {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: space-between;
  }
  #arena-school #entry .entry-order > li {
    width: calc((100% - 36px) / 4);
    padding: 20px;
  }
  #arena-school #entry .entry-order > li:first-child {
    width: 100%;
  }
  #arena-school #entry .entry-order > li:nth-child(n+2) .howto {
    display: block;
  }
  #arena-school #entry .entry-order > li:nth-child(n+2) .howto .en-bold {
    margin-bottom: 10px;
  }
  #arena-school #entry .entry-order > li:first-child .howto .en-bold {
    display: inline-block;
  }

}

/* ===================
    #arena-stay
   =================== */

#arena-stay .hr-top {
  margin-top: 30px;
}
#arena-stay .hr-top > h3 {
  margin-bottom: 30px;
}
#arena-stay .btn-wrapper {
  text-align: center;
}
#arena-stay #plan .layout-col-3 > li {
  border: 1px solid #1ba6b2;
  border-radius: 30px 0 30px 0;
  padding: 20px;
  box-sizing: border-box;
}
#arena-stay #plan .layout-col-3 > li h3 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}
#arena-stay #plan .layout-col-3 > li h3 .icon {
  display: block;
  width: 70px;
}
#arena-stay #plan .layout-col-3 > li h3 .ttl {
  display: block;
  width: calc(100% - 80px);
}
#arena-stay #facility .btn-wrapper {
  margin-top: 0;
}
#arena-stay #fee .caption-table caption {
  text-align: center;
}
#arena-stay #fee .fee-table .caption-table th {
  width: 7em;
}
#arena-stay #fee .fee-table .caption-table td {
  width: calc(100% - 7em);
}
#arena-stay #fee .toiawase-set {
  margin-top: 40px;
}
#arena-stay #kenma {
  margin-top: 60px;
}
#arena-stay #kenma > h2 {
  margin-bottom: 40px;
}
#arena-stay #stay-facility .equipment-list h3 {
  margin-top: 20px;
}
#arena-stay #stay-facility .equipment-list h3 + .txt {
  margin-top: 10px;
}
#arena-stay #stay-facility #cottage-info {
  margin-top: 40px;
}
#arena-stay #stay-facility #cottage-info .cottage-detail .img-layout {
  margin-bottom: 0;
}
#arena-stay #stay-facility #cottage-info .cmn-equipment ul {
  display: flex;
  flex-wrap: wrap;
}
#arena-stay #stay-facility #cottage-info .cmn-equipment ul li {
  width: calc(100% / 3);
  text-align: center;
  margin-bottom: 25px;
}
#arena-stay #stay-facility #cottage-info .cmn-equipment ul li img {
  width: 90px;
  margin: 0 auto 10px;
}
#arena-stay #stay-facility #cottage-info .cmn-equipment ul li p > span {
  display: block;
}
#arena-stay #restaurant {
  margin-top: 60px;
}
#arena-stay #restaurant a {
  text-decoration: none;
}
#arena-stay #restaurant a:hover {
  opacity: 0.75;
}
#arena-stay #restaurant .message {
  border: 1px solid #1ba6b2;
}
#arena-stay #restaurant .restaurant-notice{
  margin-top: 0;
}
/* #arena-stay #restaurant .message p > img { */
#p_width {
  width: 70%;
  padding: 10px 20px;
  box-sizing: border-box;
}
#arena-stay #restaurant .message .txt {
  padding: 0 20px 20px;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  #arena-stay #plan .layout-col-3 > li {
    margin-bottom: 20px;
  }
  #arena-stay #stay-facility .fee .caption-table th {
    width: 5em;
    white-space: nowrap;
  }
}
@media only screen and (min-width: 640px) and (max-width: 1079px) {
  #arena-stay #plan .layout-col-3 > li h3 {
    display: block;
    text-align: center;
  }
  #arena-stay #plan .layout-col-3 > li h3 .icon {
    margin: 0 auto;
  }
  #arena-stay #plan .layout-col-3 > li h3 .ttl {
    width:100%;
  }
}
@media print, screen and (min-width: 768px){
  #arena-stay .hr-top {
    margin-top: 40px;
  }
  #arena-stay .hr-top > h3 {
    margin-bottom: 40px;
  }
  /* #arena-stay .btn-wrapper {
    margin: 30px auto 60px;
  } */
  #arena-stay #facility .btn-wrapper {
    margin-top: 10px;
  }
  #arena-stay #stay-facility #cottage-info .img-layout .copy-header {
    min-width: 7em;
  }
  #arena-stay #stay-facility #cottage-info .cmn-equipment ul li {
    width: calc(100% / 6 - .01px);
  }
  #arena-stay #stay-facility #lodge .img-layout {
    align-items: flex-end;
  }
  #arena-stay #restaurant .message {
    display: flex;
    align-items: center;
    margin-top: -20px;
  }
  #p_width {
    width: 240px;
  }
  #arena-stay #restaurant .message .txt {
    width: calc(100% - 240px);
    padding: 20px 20px 20px 0;
  }
}
@media print, screen and (max-width: 1079px) {
  #arena-stay #stay-facility #cottage-info .fee .layout-col-2 {
    display: block;
  }
  #arena-stay #stay-facility #cottage-info .fee .layout-col-2 > li {
    width: 100%;
  }
}
@media print, screen and (min-width: 1080px){
  #arena-stay #fee .fee-table .caption-table td {
    text-align: center;
  }
  #arena-stay #stay-facility .sec-headline + .txt {
    text-align: center;
  }
  #arena-stay #stay-facility #lodge .fee table,
  #arena-stay #stay-facility #lodge .fee .list-note {
    width: calc((100% - 32px) / 2);
    margin-left: auto;
    margin-right: auto;
  }
}


/* ===================
    #nsc
   =================== */
#nsc .main-img {
  width: 100%;
  height: 400px;
  background: #e2e2e2;
}

/*live-camera*/

#nsc #live-camera {
  margin-bottom: 100px;
}


/* ===================
    #nsc-use
   =================== */

#nsc-use #fee .layout-col-2 .caption-table th{
	width: 10em;
}

#nsc-use #fee .layout-col-2 .caption-table td {
  width: calc(100% - 10em);
}

#nsc-use #fee .layout-col-2 .caption-table:last-child tr th {
	height: 60px;
}

#nsc-use #fee .layout-col-2 .caption-table td > .price-area {
	display: block;
	margin: 0 auto;
	width: 6em;
	text-align: right;
}
#nsc-use #fee .layout-col-2 .caption-table td > .price-area,
#nsc-use #fee .layout-col-2 .caption-table td > .price-time {
	display: inline-block;
  font-weight: 700;
}
#nsc-use #rental .block-list-container .ttl-wrapper dd .txt-note {
  display: inline-block;
  margin: 0 0 15px;
}
#nsc-use #rental .block-list-container .col-r .col-r-item .item-ttl {
  background: #e9efff;
}
#nsc-use #download .download-list > li {
  border: 1px solid #1042d0;
  padding: 20px;
  box-sizing: border-box;
  margin-bottom: 12px;
}
#nsc-use #download .howto {
	display: flex;
  margin-bottom: 20px;
}
#nsc-use #download .howto span {
	display: block;
}
#nsc-use #download .txt-underline {
  color: #404040;
  text-decoration: none;
  display: inline-block;
  border-bottom: 1px solid #404040;
}
#nsc-use #download .txt-underline:hover {
  color: #1042d0;
  border-bottom: 1px solid #1042d0;
}
#nsc-use #download .howto .en-bold {
	font-size: 34px;
	font-size: 3.4rem;
	margin-right: 20px;
	line-height: 1;
}
#nsc-use #download .btn-mid {
	display: flex;
	text-align: center;
	align-items: center;
	justify-content: center;
	border-radius: 30px 0 30px 0;
	padding: 15px 0;
	position: relative;
	text-decoration: none;
}
#nsc-use #download .emphasize {
	display: block;
	text-align: center;
  background: #FFF;
  padding: 0 0.5em;
	margin: 0 0.5em;
}
#nsc-use #download .download-list > li .btn-wrapper > li + li {
  margin-top: 20px;
}
#nsc-use #download .download-list > li:nth-child(2) .txt-note {
	font-size: 13px;
	font-size: 1.3rem;
}
#nsc-use #download .toiawase-set {
  border: 0;
  padding: 0;
}
#nsc-use #download .tel-container .tel-a-pseudo {
	text-decoration: none;
	width: 100%;
	/* height: 100%; */
	display: block;
}
#nsc-use #download .tel-container .tel::before {
	background:url("../img/cmn/icon_fax_nsc.svg") no-repeat top center;
  background-size:100%;
}
@media print, screen and (min-width: 768px){
  #nsc-use #download .btn-wrapper {
    display: flex;
  }
  #nsc-use #download .download-list > li .btn-wrapper > li + li {
    margin-left: 20px;
    margin-top: 0;
  }
  #nsc-use #download .download-list > li:nth-child(1) .btn-wrapper > li {
    width: calc(((100% - 20px) / 2) - .01px);
  }
  #nsc-use #download .download-list > li:nth-child(2) .btn-wrapper > li {
    width: calc(((100% - 40px) / 3) - .01px);
  }
}
@media print, screen and (max-width: 1080px){
	#nsc-use #download .download-list > li:nth-child(1) .btn-wrapper .btn-mid > span {
    display: block;
	}
  #nsc-use #download .emphasize {
    margin-bottom: 10px;
  }
}
@media print, screen and (min-width: 1100px) {
  #nsc-use #download .tel-container .tel-a-pseudo {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

/* ===================
    #tc トレーニングセンター
   =================== */

/*.details*/

#tc .details {
  margin-top: 60px;
}
#tc .details .instructor {
  background: #d1efff;
}
#tc .details .instructor h2{
  background: #43abe4;
}
#tc .details .instructor .btn-more{
  color: #43abe4;
  border-color: #43abe4;
}
#tc .details .instructor .btn-more::after {
	background:url("../img/tc/link_arrow_instructor.svg") no-repeat top center;
  background-size: 19px auto;
}
#tc .details .measurement{
  background: #ffe8d3;
}
#tc .details .measurement h2{
  background: #f6943a;
}
#tc .details .measurement .btn-more{
  color: #f6943a;
  border-color: #f6943a;
}
#tc .details .measurement .btn-more::after {
	background:url("../img/tc/link_arrow_measurement.svg") no-repeat top center;
  background-size: 19px auto;
}
#tc .details .athlete {
  background: #d7f9e9;
}
#tc .details .athlete h2{
  background: #50bd95;
}
#tc .details .athlete .btn-more{
  color: #50bd95;
  border-color: #50bd95;
}
#tc .details .athlete .btn-more::after {
	background:url("../img/tc/link_arrow_athlete.svg") no-repeat top center;
  background-size: 19px auto;
}
#tc .details .for-company {
  background: #f8f0ce;
}
#tc .details .for-company h2 {
  background: #dcb311;
}
#tc .details .for-company .btn-more{
  color: #dcb311;
  border-color: #dcb311;
}
#tc .details .for-company .btn-more::after {
	background:url("../img/tc/link_arrow_forcompany.svg") no-repeat top center;
  background-size: 19px auto;
}

@media print, screen and (min-width: 768px){
  #tc .details .layout-col-2 li:nth-last-child(-n+2) {
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  #tc .details .layout-col-2 {
    display: block;
  }
  #tc .details .layout-col-2 > * {
    width: 100%;
    margin-right: 0;
  }
  #tc .details .round-frame.link-container .img {
    padding-top: 35%;
  }
  #tc .details .layout-col-2 li:nth-last-child(-n+2) {
    margin-bottom: 32px;
  }
}

/*.time-table*/

#tc .time-table {
  margin-top: 60px;
}
#tc .time-table table {
  width: 100%;
}
#tc .time-table table th {
  background: #FFF;
}
#tc .time-table table thead th {
  background: #d3c8fa;
}
#tc .time-table table td.pc-none {
  display: none;
}
@media print, screen and (max-width: 1023px) {

  #tc .time-table table {
    border-right: 1px solid #404040;
  }
  #tc .time-table table td.pc-none {
    display: block;
  }
  #tc .time-table table thead {
    display: none;
  }
  #tc .time-table table th,
  #tc .time-table table td:last-child {
    border-right: 0;
  }
  #tc .time-table table tr {
    width: 100%;
  }
  #tc .time-table table th {
    display: block;
    width: 100%;
    background: #d3c8fa;
  }
  #tc .time-table table td {
    float: left;
    position: relative;
    width: calc( 100% / 7  - .01px);
    padding: 2.25em 0 10px;
  }
  #tc .time-table table td:before {
    content: attr(data-label);
    width: 100%;
    text-align: center;
    font-weight: 500;
    position: absolute; top:0.25em; left: 0;
    border-bottom: 1px dotted #404040;
  }
}
@media print, screen and (max-width: 767px) {
  #tc .time-table table td {
    float: none;
    display: block;
    width: 100%;
    padding: 10px 15px;
    border-right: 0;
  }
  #tc .time-table table td:before {
    width: 4em;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute; top:50%; left: 0;
    transform: translateY(-50%);
    border-right: 1px dotted #404040;
    border-bottom: 0;
  }
}
/* ===================
    #tc-facility
   =================== */
@media only screen and (max-width: 767px) {
  #tc-facility .sec-headline + .txt-center {
    text-align: left;
  }
}

#tc-facility .freeweight .list-note {
  margin-top: 0px;
}

/* ===================
    #tc-enter
   =================== */

/*sp-txt-left*/

@media print, screen and (max-width: 670px) {
	#tc-enter #info .sec-headline + .txt-center,
  #tc-enter #corporation-use .sec-headline + .txt-center,
  #tc-enter #ordinary .sec-headline + .txt-center {
    text-align: left;
  }
}

/*#benefits*/

#tc-enter #benefits > .layout-col-2 > li .link-ttl {
	border-radius: 25px 0 0;
	padding: 20px 0;
	box-sizing: border-box;
	line-height: 1.25;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
  text-align: center;
  font-size: 18px;
  font-size: 1.8rem;
	font-weight: 700;
}
#tc-enter #benefits > .layout-col-2 > li .link-ttl .fc-yl {
  font-size: 20px;
  font-size: 2.0rem;
}
#tc-enter #benefits > .layout-col-2 > li {
	border: 1px solid #5e36a1;
	box-sizing: border-box;
	border-radius: 30px 0 30px 0;
  justify-content: center;
  align-items: stretch;
}
#tc-enter #benefits > .layout-col-2 > li .li-style-disc {
	margin: 20px 20px 20px 30px;
}
#tc-enter #benefits > .layout-col-2 > li .li-style-disc > li {
	margin: 0 0 5px 1em;
}
@media print, screen and (min-width:768px) {
  #tc-enter #benefits > .layout-col-2 > li .link-ttl{
    font-size: 20px;
    font-size: 2.0rem;
  }
  #tc-enter #benefits > .layout-col-2 > li .link-ttl .fc-yl {
    font-size: 24px;
    font-size: 2.4rem;
  }
}
@media print, screen and (min-width: 1000px) {
  #tc-enter #benefits > .layout-col-2 > li:first-child .li-style-disc {
    display: flex;
    flex-wrap: wrap;
  }
  #tc-enter #benefits > .layout-col-2 > li:first-child .li-style-disc > li {
    width: 45%;
  }
  #tc-enter #benefits > .layout-col-2 > li:first-child .li-style-disc > li .pc-show {
    display: block;
  }
  #tc-enter #benefits > .layout-col-2 > li:first-child .li-style-disc > li:last-child {
    margin-top: 0em;
  }
}

/*#member-fee & corporation-use -- .tc-table*/

#tc-enter .tc-table thead th {
  background: #fff;
  color: #5e36a1;
  position: relative;
  padding: 0 0 15px;
}
#tc-enter .tc-table thead th:first-child::before {
	content: "";
  width: 1px; height: calc(100% - 15px);
  border-left: 1px solid #ae9ad0;
	position: absolute; top: 0; left: 0;
}
#tc-enter .tc-table thead th::after {
	content: "";
  width: 1px; height: calc(100% - 15px);
  border-left: 1px solid #ae9ad0;
	position: absolute; top: 0; right: 0;
}
#tc-enter .tc-table tbody th {
  font-weight: 500;
  font-size: 18px;
  font-size: 1.8rem;
 }
#tc-enter .tc-table .fc-black {
  color: #404040;
}
@media only screen and (max-width: 767px) {
  #tc-enter .tc-table thead {
    display: none;
  }
  #tc-enter .tc-table,
  #tc-enter .tc-table tbody {
    width: 100%;
    display: block;
  }
  #tc-enter .tc-table tr {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 15px;
    width: 100%;
  }
  #tc-enter .tc-table tr th {
    display: block;
    width: 100%;
  }
  #tc-enter .tc-table tr td {
    display: block;
    width: calc(50% - .01px);
    padding-top: 1.75em;
	  position: relative;
    min-height: 3em;
  }
  #tc-enter .tc-table tr td:last-child {
    width: 100%;
    border-top: 1px dotted #5e36a1;
    padding-top: 10px;
    padding-left: 4em;
    display: block;
  }
  #tc-enter .tc-table tr td:before {
    content: attr(data-label);
    text-align: center;
    font-weight: 500;
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1;
    color: #5e36a1;
    position: absolute; top:0.75em; left: 50%;
	  transform: translateX(-50%);
    border: 1px solid #5e36a1;
    padding: 2px 5px 3px;
    box-sizing: border-box;
    border-radius: 1024px;
    display: inline-block;
  }
  #tc-enter .tc-table tr td:last-child:before {
    content: attr(data-label)'：';
    position: absolute; top:12px; left: 10px;
	  transform: translateX(0);
    border: 0;
  }
}
@media print, screen and (min-width: 768px) {
  #tc-enter #member-fee .tc-table th:first-child,
  #tc-enter #corporation-use .tc-table th:first-child {
    width: 150px;
  }
}
@media print, screen and (min-width: 1080px) {
  #tc-enter #member-fee .tc-table th:first-child,
  #tc-enter #corporation-use .tc-table th:first-child {
    width: 212px;
  }
}

/*#member-fee*/

#tc-enter #member-fee .fee-info {
  display: block;
  border-radius: 30px 0 30px 0;
  box-sizing: border-box;
  padding: 20px;
  position: relative;
  background: #ffde00;
  margin-top: 30px;
}
#tc-enter #member-fee .fee-info .people-img {
  width: 71px;
  height: 59px;
  display: inline-block;
  padding-right: 21px;
}
#tc-enter #member-fee .fee-info .txt-middle {
  vertical-align: middle;
  line-height: 1.5;
}
#tc-enter #member-fee .fee-info .txt-underline {
  border-bottom: 2px solid #5e36a1;
  padding-bottom: 2px;
  display: inline-block;
  margin-right: 0.25em;
}
#tc-enter #member-fee .fee-info .fs-xxlarge {
  display: inline-block;
  margin: 0 0.25em;
}
#tc-enter #member-fee .fee-info .en-bold {
  font-size: 32px;
  font-size: 3.2rem;
}

/*#entry*/

#tc-enter #entry .block-list-container {
  margin-top: 25px;
}
#tc-enter #entry .block-list-container > li ul,
#tc-enter #entry .block-list-container > li ol {
  margin-top: 0;
  margin-bottom: 0;
}
#tc-enter #entry .block-list-container .ttl-wrapper {
  display: block;
  text-align: left;
}
#tc-enter #entry .block-list-container .li-tc-org-num {
  counter-reset: item;
}
#tc-enter #entry .block-list-container .li-tc-org-num > li {
  padding-left: 30px;
  position: relative;
}
#tc-enter #entry .block-list-container .li-tc-org-num > li + li {
  margin-top: 30px;
}
#tc-enter #entry .block-list-container .li-tc-org-num > li:before {
  counter-increment: item;
  content: counter(item);
  font-size: 30px;
  font-size: 3.0rem;
  color: #5e36a1;
  font-family: 'Lato', sans-serif;
  font-style: normal;
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute; top:-0.25em; left: 0;
}
#tc-enter #entry .block-list-container .enter-prepare ul {
  margin-right: auto;
}
#tc-enter #entry .toiawase-set {  margin-top: 40px; }

#tc-enter #entry .download,
#tc-enter #corporation-use .download {
  margin-top: 20px;
  text-align: center;
}

#tc-enter #entry .toiawase-set .notice {
  margin-top: 8px;
}

@media only screen and (max-width: 767px) {
  #tc-enter #entry .block-list-container .ttl-wrapper .ttl {
    padding-left: 10px;
  }
}
@media only screen and (min-width: 640px) and (max-width: 899px) {
  #tc-enter #entry .block-list-container .col-l {
    width: 160px;
  }
  #tc-enter #entry .block-list-container .ttl-wrapper {
    width: 160px;
    padding: 25px 10px 15px;
  }
  #tc-enter #entry .block-list-container .col-r {
    width: calc(100% - 160px);
  }
  #tc-enter #entry .block-list-container .ttl-wrapper .ttl {
    padding-left: 10px;
  }
}
@media print, screen and (min-width: 768px){
  #tc-enter #entry .block-list-container {
    margin-top: 40px;
  }
  #tc-enter #entry .download,
  #tc-enter #corporation-use .download {
    margin-top: 40px;
  }
  #tc-enter #entry .block-list-container .col-r {
    justify-content: flex-start;
  }
}

/*#time-off*/

#tc-enter #time-off .sec-headline + .txt-center {
  margin-bottom: 40px;
}
#tc-enter #time-off h3 + .fee-table {
  margin-top: 40px;
}
#tc-enter .fee-table table.caption-table th {
  width: 50%;
}
#tc-enter .fee-table table.caption-table td {
  width: 50%;
}
#tc-enter .fee-table .note {
  margin-top: 20px;
}

@media print, screen and (min-width: 768px){
  #tc-enter .fee-table  table.caption-table tbody {
    display: flex;
    flex-wrap: wrap;
  }
  _:-ms-lang(x)::-ms-backdrop, #tc-enter .fee-table  table.caption-table {
    display: flex;
    flex-wrap: wrap;
  }
  #tc-enter .fee-table table.caption-table tr {
    width: calc((100% - 32px) / 2 - .01px);
    background: #f7f0ff;
    margin-right: 32px;
    margin-bottom: 24px;
  }
  #tc-enter .fee-table table.caption-table tr {
    display: block;
  }
  #tc-enter .fee-table table.caption-table th {
    /*width: 170px;*/
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    float: left;
  }
  #tc-enter .fee-table table.caption-table td {
    /*width: calc(100% - 170px);*/
    text-align: right;
    float: right;
  }
  #tc-enter .fee-table .note {
    text-align: right;
    margin-top: -4.5em;
  }
  #tc-enter .fee-table .note .txt-note {
    font-size: 11px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  #tc-enter .fee-table table.caption-table tr:nth-child(2n) {
    margin-right: 0;
  }
}
@media print, screen and (min-width: 1080px){
  #tc-enter .fee-table table.caption-table tr {
    width: calc((100% - 64px) / 3 - .01px);
  }
  #tc-enter .fee-table table.caption-table tr:nth-child(3n){
    margin-right: 0;
  }
}

/*#corporation-use*/

#tc-enter #corporation-use table {
  margin-top: 40px;
}

/*#ordinary*/

#tc-enter #ordinary .fee-table {
  margin: 25px 0;
}
#tc-enter #ordinary .list-note .contents::before {
  content: "*1)";
}
@media print, screen and (min-width: 768px){
  #tc-enter #ordinary .fee-table {
    margin: 40px 0;
  }
  #tc-enter #ordinary .fee-table table.caption-table tr th {
    /*width: 10em;*/
    line-height: 1;
  }
  #tc-enter #ordinary .fee-table table.caption-table tr td {
    /*width: calc( 100% - 10em );*/
  }
}
@media print, screen and (min-width: 1080px){
  #tc-enter #ordinary .fee-table table.caption-table tr:nth-last-child(-n+2) {
    width: calc((100% - 32px) / 2 - .01px);
  }
  #tc-enter #ordinary .fee-table table.caption-table tr:nth-child(2n) {
    margin-right: 32px;
  }
  #tc-enter #ordinary .fee-table table.caption-table tr:nth-child(3),
  #tc-enter #ordinary .fee-table table.caption-table tr:last-child {
    margin-right: 0;
  }
  #tc-enter #ordinary .fee-table table.caption-table tr:nth-last-child(-n+2) th {
    width: 260px;
  }
  #tc-enter #ordinary .fee-table table.caption-table tr:nth-last-child(-n+2) td {
    width: calc( 100% - 260px );
  }
  #tc-enter #ordinary .fee-table table.caption-table tr td {
    text-align: center;
  }
}

/*#aerobics*/

#tc-enter #aerobics .caption-table th {
  font-weight: 500;
  font-size: 18px;
  font-size: 1.8rem;
}
#tc-enter #aerobics .caption-table td {
  font-weight: 700;
}
#tc-enter #aerobics .caption-table td .fs-xsmall {
	display: inline-block;
}
#tc-enter #aerobics .caption-table td .en {
  font-size: 26px;
  font-size: 2.6rem;
}
@media only screen and (max-width: 767px) {
  #tc-enter #aerobics .caption-table th,
  #tc-enter #aerobics .caption-table td {
    display: block;
    width: 100%;
    text-align: center;
  }
}
@media print, screen and (min-width: 900px) {
  #tc-enter #entry .block-list-container .col-l { width: 240px; }
  #tc-enter #entry .block-list-container .col-r { width: calc(100% - 240px); }
}

/* toiawase-set */

#tc-enter .toiawase-set {
  color: #404040;
}

/* ===================
    #tc-able
   =================== */


#tc-able #tc-able-pagelink li:nth-child(1) a {
  background: #43abe4;
}
#tc-able #tc-able-pagelink li:nth-child(2) a,
#tc-able #aerobics-health .block-list-container .col-l {
  background: #f6943a;
}
#tc-able #aerobics-health .block-list-container > li,
#tc-able #aerobics-health .block-list-container > div {
  border-color: #f6943a;
}
#tc-able #aerobics-health .block-list-container .col-l .num-catch {
  color: #ffcfa2;
}
#tc-able #aerobics-health .block-list-container .col-l .num-catch .num {
  border-right: 1px solid #ffcfa2;
}
#tc-able #tc-able-pagelink li:nth-child(3) a,
#tc-able #athlete .block-list-container .col-l {
  background: #50bd95;
}
#tc-able #athlete .block-list-container > li,
#tc-able #athlete .block-list-container > div {
  border-color: #50bd95;
}
#tc-able #athlete .block-list-container .col-l .num-catch {
  color: #aae3ce;
}
#tc-able #athlete .block-list-container .col-l .num-catch .num {
  border-right: 1px solid #aae3ce;
}
#tc-able #tc-able-pagelink li:nth-child(4) a,
#tc-able #for-company .block-list-container .col-l {
  background: #dcb311;
}
#tc-able #for-company .block-list-container > li,
#tc-able #for-company .block-list-container > div {
  border-color: #dcb311;
}
#tc-able #for-company .block-list-container .col-l .num-catch {
  color: #faebae;
}
#tc-able #for-company .block-list-container .col-l .num-catch .num {
  border-right: 1px solid #faebae;
}
#tc-able #program .sec-headline + .txt-wrapper {
  margin-bottom: 40px;
}
#tc-able #program .block-list-container .ttl-wrapper .ttl.small {
  font-size: 18px !important;
  font-size: 1.8rem !important;
}
#tc-able #program .block-list-container .col-r p.txt + a {
  margin-top: 10px;
}
#tc-able #instructor .round-frame {
  background: #FFF;
  padding: 0;
}
#tc-able #instructor .round-frame .icon {
  width: 80px; height: 80px;
  border-radius: 26px 0 26px 0;
  box-sizing: border-box;
  padding-right: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#tc-able #instructor .round-frame .icon > img {
  width: 42px;
}
#tc-able #instructor .round-frame.man {
  border: 2px solid #43abe4;
}
#tc-able #instructor .round-frame.man .icon {
  background: #43abe4;
}
#tc-able #instructor .round-frame.woman {
  border: 2px solid #f396bf;
}
#tc-able #instructor .round-frame.woman .icon {
  background: #f396bf;
}
#tc-able #instructor .head-wrapper {
  display: flex;
  align-items: center;
}
#tc-able #instructor .head-wrapper h3 {
  width: calc(100% - 80px);
  padding-left: 20px;
  box-sizing: border-box;
}
#tc-able #instructor .head-wrapper h3 .name {
  font-size: 20px;
  font-size: 2.0rem;
}
#tc-able #instructor .head-wrapper h3 >  span {
  display: block;
}
#tc-able #instructor .man .head-wrapper h3 {
  color: #43abe4;
}
#tc-able #instructor .woman .head-wrapper h3 {
  color: #e880ae;
}
#tc-able #instructor .license {
  margin: 20px 10px;
  font-size: 14px;
  font-size: 1.4rem;
}
#tc-able #instructor .license li {
  margin-bottom: 0.25em;
}
#tc-able #measurement .txt-center .txt {
  margin-bottom: 30px;
}
#tc-able #measurement .btn-list {
  margin-top: 30px;
}
#tc-able #measurement .btn-list li {
  margin-bottom:12px;
}
#tc-able #athlete .btn-wrapper {
  margin: 40px 0 20px;
}
#tc-able #athlete .btn-wrapper li {
  text-align: center;
}
#tc-able #athlete .btn-wrapper li + li {
  margin-top: 20px;
}

@media only screen and (max-width: 767px) {
  #tc-able #instructor ul.layout-col-4 > li {
    display: flex;
    justify-content: space-between;
  }
  #tc-able #instructor ul.layout-col-4 > li .pic {
    width: calc(50% - 20px);
  }
  #tc-able #instructor ul.layout-col-4 > li .txt-wrapper {
    width: 50%;
  }
  #tc-able #instructor .name {
    margin-top: 0;
  }
  #tc-able #measurement .sec-headline + .txt-center {
    text-align: left;
  }
  #tc-able #measurement .btn-wrapper,
  #tc-able #company_health .btn-wrapper {
    text-align: center;
    margin: 20px 0;
  }
}
@media print, screen and (min-width: 768px) {
  #tc-able #instructor ul.layout-col-4 > li {
    margin-bottom: 40px;
  }
  #tc-able #measurement .txt-wrapper {
    text-align: left;
  }
  #tc-able #measurement .btn-pri,
  #tc-able #company_health .btn-pri {
    margin:30px 0;
  }
  #tc-able #measurement .btn-list {
    display: flex;
    flex-wrap: wrap;
  }
  #tc-able #measurement .btn-list li {
    width: calc((100% - 16px) / 3 - .01px);
    margin-right: 8px;
  }
  #tc-able #measurement .btn-list li:nth-child(3n) {
    margin-right: 0;
  }
  #tc-able #athlete .btn-wrapper {
    margin-top: 60px;
    display: flex;
    justify-content: center;
  }
  #tc-able #athlete .btn-wrapper li + li {
    margin: 0 0 0 32px;
  }
}@media only screen and (min-width: 640px) and (max-width: 1079px) {
  #tc-able #instructor .layout-col-3 {
    display: flex;
    flex-wrap: wrap;
  }
  #tc-able #instructor .layout-col-3 > * {
    width: calc((100% - 32px) / 2 - .01px);
    margin-right: 32px;
  }
  #tc-able #instructor .layout-col-3 > * {
    width: calc((100% - 32px) / 2 - .01px);
  }
  #tc-able #instructor .layout-col-3 > *:nth-child(2n) {
    margin-right: 0;
  }
  /* #tc-able #instructor .layout-col-3 > *:nth-child(3n) {
    margin-right: 32px;
  } */
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  #tc-able-pagelink > li {
    width: calc((100% - 12px) / 2 - .01px);
  }
  #tc-able-pagelink > li:nth-child(2) {
    margin-right: 0;
  }
  #tc-able .time-table table td {
    height: 90px;
  }
  #tc-able .time-table table td:not(.non-padding-top) {
    padding-top: 45px;
  }
  #tc-able .time-table .tab-none {
    display: none;
  }
}
@media print, screen and (min-width: 900px) {
  #tc-able #athlete .block-list-container .col-l,
  #tc-able #for-company .block-list-container .col-l {
    width: 320px;
  }
  #tc-able #athlete .block-list-container .col-r ,
  #tc-able #for-company .block-list-container .col-r {
    width: calc(100% - 320px);
  }
  #tc-able #athlete .block-list-container .ttl-wrapper,
  #tc-able #for-company .block-list-container .ttl-wrapper {
    width: 100%;
  }
}
@media print, screen and (min-width: 1080px) {
  #tc-able #program .sec-headline + .txt-wrapper {
    text-align: center;
  }
  #tc-able #measurement .btn-list {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 30px;
  }
  #tc-able #measurement .btn-list li {
    width: calc((100% - 24px) / 3 - .01px);
    margin-right: 8px;
  }
  #tc-able #measurement .btn-list li:nth-child(3),
  #tc-able #measurement .btn-list li:last-child {
    margin-right: 0;
  }
}

/*.time-table*/

#tc-able .time-table {
  margin-top: 60px;
}
#tc-able .time-table table {
  width: 100%;
}
#tc-able .time-table table th {
  background: #FFF;
}
#tc-able .time-table table thead th {
  background: #d3c8fa;
}
#tc-able .time-table table td.pc-none {
  display: none;
}
@media print, screen and (max-width: 1023px) {

  #tc-able .time-table table {
    border-right: 1px solid #404040;
  }
  #tc-able .time-table table td.pc-none {
    display: block;
  }
  #tc-able .time-table table thead {
    display: none;
  }
  #tc-able .time-table table th,
  #tc-able .time-table table td:last-child {
    border-right: 0;
  }
  #tc-able .time-table table tr {
    width: 100%;
  }
  #tc-able .time-table table th {
    display: block;
    width: 100%;
    background: #d3c8fa;
  }
  #tc-able .time-table table td {
    float: left;
    position: relative;
    width: calc( 100% / 6  - .01px);
    padding: 2.25em 0 10px;
  }
  #tc-able .time-table table td:before {
    content: attr(data-label);
    width: 100%;
    text-align: center;
    font-weight: 500;
    position: absolute; top:0.25em; left: 0;
    border-bottom: 1px dotted #404040;
  }
}
@media print, screen and (max-width: 767px) {
  #tc-able .time-table table td {
    float: none;
    display: block;
    width: 100%;
    padding: 10px 15px;
    border-right: 0;
  }
  #tc-able .time-table table td:before {
    width: 4em;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute; top:50%; left: 0;
    transform: translateY(-50%);
    border-right: 1px dotted #404040;
    border-bottom: 0;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  #tc-able .time-table table td {
    height: 90px;
  }
  #tc-able .time-table table td:not(.non-padding-top) {
    padding-top: 45px;
  }
  #tc-able .time-table .tab-none {
    display: none;
  }
}
@media print, screen and (max-width: 1079px) {
  #tc-able .time-table .tab-sp-none {
    display: none;
  }
}
@media print, screen and (max-width: 768px) {
  #tc-able .time-table .sp-none {
    display: none;
  }
}
@media print, screen and (max-width: 830px) {
  #tc-able .time-table .aero-sp-none {
    display: none;
  }
}

/* ===================
    #cottage
=================== */
.cottage-text {
  margin: 50px 0 20px 0;
  text-align: center;
}
p.use-text {
  margin-bottom: 15px;
}
#cottage-info .btn-wrapper {
  text-align: center;
}
#cottage-info .normal-table td {
  text-align: center;
}
@media print, screen and (min-width: 1100px) {
  .cottage-toc {
    display: block;
  }
  .cottage-toc {
    display: none;
  }
}
@media print, screen and (min-width: 640px) {
  .cottage-toc {
    padding: 1em 1em 1em 2em;
    border: 1px solid #999;
    background-color: #f7f7f7;
    width: 50%;
    margin: auto;
  }
  .cottage-toc div {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 5px 0;
  }
  .cottage-toc ol {
    list-style-type: decimal;
    margin: 0;
    padding: 0 1.2em;
    overflow: hidden;
  }
  .cottage-toc ol ol {
    margin-top: 5px;
  }
  .cottage-toc li {
    padding: 5px 0;
  }
  .cottage-toc a {
    color: #000000;
  }
}
@media print, screen and (max-width: 639px) {
  .cottage-toc {
    padding: 1em 1em 1em 2em;
    border: 1px solid #999;
    background-color: #f7f7f7;
    width: 80%;
    margin: auto;
  }
  .cottage-toc div {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 5px 0;
  }
  .cottage-toc ol {
    list-style-type: decimal;
    margin: 0;
    padding: 0 1.2em;
    overflow: hidden;
  }
  .cottage-toc ol ol {
    margin-top: 5px;
  }
  .cottage-toc li {
    padding: 5px 0;
  }
  .cottage-toc a {
    color: #000000;
  }
}

/* ===================
    #bus
=================== */

/*omakase*/

#bus .omakase {
  border: 1px solid #158c61;
  box-sizing: border-box;
  padding: 0 20px;
}
#bus .omakase h3 {
  text-align: center;
  margin: 25px 0 20px;
}
#bus .omakase h3 > span {
  display: inline-block;
  position: relative;
  padding: 0 35px;
  color: #158c61;
}
#bus .omakase h3 > span::before {
	content:"";
	display:block;
	width: 21px; height: 40px;
	background:url("../img/bus/idx_omakase_headline.svg") no-repeat top center;
  position: absolute; top:50%; left: 0;
	transform: translateY(-50%);
}
#bus .omakase h3 > span::after {
	content:"";
	display:block;
	width: 21px; height: 40px;
	background:url("../img/bus/idx_omakase_headline.svg") no-repeat top center;
  position: absolute; top:50%; right: 0;
  transform: translateY(-50%) rotate(45deg);
}
#bus .omakase .img {
  margin: 0 auto;
  padding: 20px 0;
  max-width: 260px;
}

@media print, screen and (min-width: 768px){
  #bus .omakase {
    display: flex;
    align-items: center;
    margin-top: -20px;
  }
  #bus .omakase h3 {
    text-align: left;
  }
  #bus .omakase .img {
    order: 1;
    width: 260px;
  }
  #bus .omakase .txt-wrapper {
    order: 2;
    width: calc(100% - 260px);
    padding: 0 20px 30px;
    box-sizing: border-box;
  }
  #bus .omakase .txt-wrapper .txt {
    margin-left: 1em;
  }
}

/*safety*/

#bus .safety .safety-main ul > li {
  border: 1px solid;
  background: #FFF;
  position: relative;
  padding: 20px 10px 20px 20px;
}
#bus .safety .safety-main ul > li + li {
  margin-top: 20px;
}
#bus .safety .safety-main ul > li:nth-child(1) {
  border-color:#2e60c5;
}
#bus .safety .safety-main ul > li:nth-child(1) h3 {
  color:#2e60c5;
}
#bus .safety .safety-main ul > li:nth-child(2) {
  border-color:#fe942c;
}
#bus .safety .safety-main ul > li:nth-child(2) h3 {
  color:#fe942c;
}
#bus .safety .safety-main ul > li:nth-child(3) {
  border-color:#14aea1;
}
#bus .safety .safety-main ul > li:nth-child(3) h3 {
  color:#14aea1;
}
#bus .safety .safety-main ul > li .head-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 15px;
}
#bus .safety .safety-main ul > li .icon {
  width: 90px;
}
#bus .safety .safety-main ul > li h3 {
  width: calc(100% - 110px);
}
#bus .safety .safety-main .btn-wrapper {
  margin: 40px 0 0;
  width: 100%;
  text-align: center;
}

/*transport-safety 210514追加*/

#bus .transport-safety {
  margin-top: 50px;
}
#bus .transport-safety h3 {
  margin-bottom: 30px;
}
#bus .transport-safety .btn-wrapper {
  margin-top: 40px;
}
#bus .transport-safety .btn-wrapper li {
  margin-bottom: 10px;
}
#bus .transport-safety .btn-mid {
  min-height: 70px;
}

@media only screen and (max-width: 374px) {
  #bus .safety .safety-main ul > li h2 {
    font-size: 18px;
    font-size: 1.8rem;
  }
}
@media print, screen and (min-width: 768px){
  #bus .safety .safety-main ul > li {
    padding: 20px 40px;
    min-height: 150px;
  }
  #bus .safety .safety-main ul > li .icon {
    position: absolute; top:50%; left: 20px;
	  transform: translateY(-50%);
    width: 110px;
  }
  #bus .safety .safety-main ul > li h3,
  #bus .safety .safety-main ul > li .txt {
    margin-left: 130px;
  }
}

/*bus-info*/

#bus #bus-info > ul > li + li {
  margin-top: 40px;
}
#bus #bus-info .icon-header-container .img > img {
  border-radius: 0;
}
#bus #bus-info .detail-wrapper {
  box-sizing: border-box;
  padding-left: 20px;
}
#bus #bus-info .detail {
	background: #ddf5ec;
}
#bus #bus-info .detail .txt-wrapper {
  box-sizing: border-box;
  padding: 0 15px 0;
}
#bus #bus-info .detail .icon {
  display: flex;
  flex-wrap: wrap;
  margin-top: 30px;
}
#bus #bus-info .detail .icon > li {
  margin-right: 10px;
  width: 70px;
}
#bus #bus-info .detail .seat-layout {
  text-align: center;
  padding: 15px 0 30px;
}
#bus #bus-info .detail .seat-layout .btn-mid {
  display: inline-block;
  width: auto;
  margin-top: 10px;
}
@media only screen and (max-width: 767px) {
  #bus #bus-info .icon-header-container .img + .img {
	  background: #ddf5ec;
    width: 100%;
    padding: 20px 0;
  }
  #bus #bus-info .icon-header-container .img + .img > img {
    width: 60%;
    margin: 0 auto;
  }
}
@media print, screen and (min-width: 768px){
  #bus #bus-info .icon-header-container {
    display: flex;
  }
  #bus #bus-info .icon-header-container .img {
    width: 57.8%;
  }
  #bus #bus-info .icon-header-container .img + .img {
    width: 42.2%;
  }
  #bus #bus-info .icon-header-container .img + .img > img {
    border-radius: 0 50px 0 0;
  }
  #bus #bus-info .detail {
    display: flex;
    align-items: center;
    position: relative;
    padding-bottom: 30px;
    border-radius: 0 0 0 50px;
  }
  #bus #bus-info .detail .txt-wrapper {
    width: 50%;
    padding: 30px 30px 0;
  }
  #bus #bus-info .detail .seat-layout {
    width: 50%;
    padding-bottom: 0;
  }
  #bus #bus-info .detail .seat-layout .btn-mid {
    position: absolute; bottom: 30px; right: 25px;
    margin-top: 0;
  }
}
@media print, screen and (min-width: 900px){
  #bus #bus-info .detail {
    padding-bottom: 60px;
  }
  #bus #bus-info .detail .txt-wrapper {
    width: calc(100% - 465px);
  }
  #bus #bus-info .detail .seat-layout {
    width: 465px;
  }
}
@media print, screen and (min-width: 1024px){
  #bus #bus-info .icon-header-container .img {
    width: 580px;
  }
  #bus #bus-info .icon-header-container .img + .img {
    width: 424px;
  }
}

/*case*/

#bus .case > ul > li a {
  color: #404040;
  text-decoration: none;
  display: block;
}
#bus .case > ul > li a:hover {
  opacity: 0.65;
}
#bus .case .btn-wrapper {
  margin: 40px 0 0;
  width: 100%;
  text-align: center;
}


/* ===================
    #bus-case
=================== */
#bus-case div.btn-wrapper a:hover {
  cursor:pointer;
}
#bus-case .layout-col-3 li {
  margin-bottom: 40px;
}
#bus-case .layout-col-3 li > a {
  text-decoration: none;
}
#bus-case .layout-col-3 li > a:hover img {
  opacity: 0.75;
  transition: .3s;
}
#bus-case .layout-col-3 li h2 {
  margin-top: 20px;
}
#bus-case .layout-col-3 li > a:hover h2 {
  color: #158c61;
}
@media only screen and (max-width: 767px) {
  #bus-case .layout-col-3 li > a {
    text-align: center;
  }
  #bus-case .layout-col-3 li > a img {
    width: 80%;
    margin: 0 auto;
  }
}

/* ===================
    #bus-case-article
=================== */
#bus-case-article .page-bus-article p.eyecatch img {
  width: 50%;
  margin: 50px auto;
}

#bus-case-article .page-bus-article p img:not(.eyecatch) {
  width: auto;
  margin-top: 2em;
}

#bus-case-article .page-bus-article p + p {
  margin-top: 1.5em;
}

@media only screen and (max-width: 767px) {
  #bus-case-article .page-bus-article p.eyecatch img {
    width: 100%;
  }
}

/* ===================
    #region
   =================== */

#region .school .img-layout {
  margin-bottom: 0px;
}
#region .school .img-layout .txt-wrapper {
  margin: 0;
}

/* school */

#region .school .img-layout .btn-wrapper {
  margin-top: 20px;
  text-align: center;
}

/* club */

#region .club .img-wrapper.frame-line {
  border: 1px solid #82c34d;
  border-radius: 0 50px 0 50px;
}
#region .school .copy-header {
  font-size: 17px;
  font-size: 1.7rem;
  display: inline-block;
  margin-bottom: 10px;
  margin-left: 20px;
  padding: 15px 0 15px 15px;
  position: relative;
  min-width: 80%;
}
#region .school .copy-header {
  margin-top: -16px;
}
#region .school .img-layout .txt-wrapper p {
  margin-left: 20px;
}
@media print, screen and (min-width: 768px) {
  #region .details .col-copy_img--s {
    align-items: flex-start;
  }
  #region .details .img-layout .img {
    padding-top: 40px;
  }
  #region .details h2 {
    min-width : 680px;
  }
  #region .school .copy-header {
    width: calc(100% - 20px);
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  #region .sec-headline + .txt-center {
    text-align: left;
  }
}
@media print, screen and (min-width: 1080px) {
  #region .school .copy-header {
    font-size: 20px;
    font-size: 2.0rem;
    padding: 15px 30px;
  }
}

/* ===================
    #404
   =================== */

#error #error-msg .contents-wrapper {
  text-align: center;
  padding-top: 10px;
}

/* ===================
    以下は、テンプレート作成用なので必要ありません
   =================== */

#tmpl .tmpl-color-tips li{
  margin-bottom: 40px;
}
#tmpl .tmpl-color-tips li p.txt{
  margin-bottom: 0;
}
#tmpl .tmpl-color-tips li h2 {
  margin-bottom: 15px;
}
#tmpl .tmpl-color-tips li h2.fs-regular {
  margin: 15px 0 5px;
}
#tmpl .tmpl-color-tips li > div p {
  width: 100%;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 10px;
}
#tmpl .tmpl-col-layout h2 {
  margin-bottom: 15px;
}
#tmpl .tmpl-col-layout li {
  height: 80px;
  background: #e5f6ff;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
#tmpl .tmpl-col-layout ul + h2 {
  margin-top: 40px;
}
#tmpl .tmpl-txt-layout .block {
  border: 1px solid #404040;
  padding: 20px;
  box-sizing: border-box;
  margin-bottom: 40px;
}
#tmpl .tmpl-txt-layout .hr-top {
  margin-top: 40px;
}
#tmpl .tmpl-txt-layout .layout-col-3 li {
  margin-bottom: 40px;
}
#tmpl .tmpl-link-layout .layout-col-3 h2 {
  margin-bottom: 20px;
}
#tmpl .tmpl-link-layout .layout-col-3 .btn-wrapper a {
  margin-bottom: 20px;
}
#tmpl .tmpl-pattern-layout .layout-col-2 > div {
  margin-bottom: 40px;
}
#tmpl .tmpl-pattern-layout > * {
  margin-bottom: 60px;
}
#tmpl .tmpl-pattern-layout > .hr-wrapper > li {
  text-align: center;
}