/*   Font reference: h1=54, h2=40, h3=28, h4=22, p=20, h5=18, h6=14 */
@charset "UTF-8";
@import url('https://fonts.googleapis.com/css?family=Muli:300,600,700');
/*------------------------------------
------------ DEFINITIONS ------------
------------------------------------*/
html,
body {
  width: 100%;
  margin: 0; padding: 0;
  font-size: 16px;        /*- SYSTEM FONT -*/
  font-family: "Muli", Arial, Helvetica, "sans-serif";
  color: #444;
  background-color: white;
}
/*------------------------------------
------------ SHARED / 共通 ------------
------------------------------------*/
h1, h2, h3, h4, h4, h5, h6, p {   /*  Clear fonts  */
  font-weight: lighter;
  margin: 0 0;
}
/*---  FONT SIZES  ---*/
h1 {
  font-size:2.2em;
  letter-spacing: 0.1em;
}
h2{
  font-weight: normal;
  font-size: 2.2em;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
h3{
  font-size: 1.75em;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
h4{
  font-size: 1.375em;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
p{
  font-size: 1.25em;
  line-height: 2;
  letter-spacing: 0.1em;
}
h5{
  font-size: 1.125em;
}
h6{
  font-size: 1em;
  line-height: 1.7;
  letter-spacing: 1px;
}
.w1500 {
	max-width: 1500px;
	width: 94%;
	margin: 0 auto;
}
.w1300 {
	max-width: 1300px;
	width: 94%;
	margin: 0 auto;
}
.w1200 {
	max-width: 1200px;
	width: 94%;
	margin: 0 auto;
}
.w1100 {
	max-width: 1100px;
	width: 94%;
	margin: 0 auto;
}
.w1000 {
	max-width: 1000px;
	width: 94%;
	margin: 0 auto;
}
.w900 {
	max-width: 900px;
	width: 94%;
	margin: 0 auto;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  border: 0;
}
a, a *, .search-button{           /* Button transitions */
  background-color:transparent;
  border:0;
  transition: all 0.3s ease-in-out 0s;
  }

.heading {
	font-family:Optima, Segoe, Segoe UI, Candara, Calibri, Arial、sans-serif;
}

/*---  BUTTONS/LINKS ---*/
.title-partial-underline {      /* Add underline, border located at left by default */
  display: inline-block;
  border-bottom: 1px solid #676d6f;
  width: 1.5em;
  margin: 0.75em auto 0.5em 0;
}
a:link    { text-decoration: none; color: inherit; }
a:visited { text-decoration: none; color: inherit; }
a:hover   { text-decoration: none; color: inherit; }
a:active  { text-decoration: none; color: inherit; }
.button {
  display: inline-block;
  font-size: 0.875em;
  font-weight: normal;
  color: white;
  background-color: black;
  border: none;
  padding: 1.0em 1.5em;
}
#mobile-footer-reservation-button .button {
  padding: 0.6em 0.5em;
}
.button:after {
  margin-left: 1em;
  font-size: 0.8em;
  font-family: FontAwesome;
  content: "\f054";
}
input[type="button"]{ -webkit-appearance: none; } /*Fix iPhone not using button styles*/
.button:hover{ background-color: #ba2636;}
.red-background-button:hover { color: black;  background-color: white; }
.red-button  { background-color: #ba2636; }
.gray-button { background-color: #676d6f; }
.wide-button { padding: 1em 6em; }
/*---  BORDERS  ---*/
/*---  DIVIDERS  ---*/
.section-title-text {      /* Used by TOUR MAP, FACILITIES */
  width: 90%;
  margin: 8em auto 1em auto;
}
.section-divider-container{
  width: 90%;
  margin: 5em auto;
}
.section-divider-container h2{
  margin-bottom: 0.5em;
}
/*---  SINGLE PURPOSE  ---*/
.text-align-center{ text-align: center; }
.text-align-right{ text-align: right; }
/*------------------------------------
------------ OTHER / その他 -----------
------------------------------------*/
/*--- BANNER ------------------------------------------------------------------------------------------*/
.banner-container{
  height: calc(100vh - 70px);
  width: 100%;
  max-height: 780px;
/*   background-image: url("../img/banner-background.jpg"); */
  background-image: url("/tc/campaign-welcome/img/hero_img_pc.jpg");
  opacity: 0.95;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
}
.img-vertical-alignment-tool{   /* Hacky class for span element to center the image inside banner-container */
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}
.banner-title-img{
  max-width: 254px;
  max-height: 330px;
  margin-left: 10%;
  opacity: 1;
}

.banner-container::before{
	content:"";
	display:block;
	width:60%;
	height:100%;
	background:url(../img/hero_bg.png) right top repeat-y;
	background-size: 100%;
	position:absolute;
	top:0;
	left:0;
}
.banner-text-wrap{
	width: 90%;
	max-width: 1200px;
	color:#fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.banner-text{
	max-width: 550px;
}
.banner-text-wrap h1{
	font-size: 3.2em;
	border-bottom:1px solid #fff;
}
.banner-text-wrap p{
	font-size: 1.6em;
}


/*--- RESERVATION BAR ------------------------------------------------------------------------------------------*/
#ui-datepicker-div{ z-index: 11 !important; } /* Place date-picker at the front*/
.reservation-bar-container{
  width: 100%;
  padding: 10px 0;
  position: sticky;
  position: -webkit-sticky;
  top: 0;
  text-align: center;
  z-index: 10;
  background-color: #ba2636;
  color: white;
}
.search-flex-box{
  position: relative;
  margin: 5px auto;
  width: 800px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.search-logo { margin-right: 10px; } /* gives logo image right*/
.search-logo img{ height: 38px; } /* resize logo image*/
.reservation-title{
  width: 250px;
  padding: 8px;
  border: 1px solid white;
  margin-right: 5px;
}
.find-room-date{
  width: 88px;
  height: 34px;
  border: 1px solid rgba(0,0,0,0.5);
  margin-right: 5px;
}
.visitor-count, .search-button {
  width: 88px;
  height: 38px;
  border: 1px solid rgba(0,0,0,0.5);
  margin-right: 5px;
  background-color: white;
}
.search-button {
  display: inline-block;
  font-size: 14px;
  font-weight: normal;
  color: white;
  background-color: black;
  border: none;
}
/*--- INTRODUCTION ------------------------------------------------------------------------------------------*/
.introduction-container{
	display: flex;
	flex-wrap:wrap;
}
.introduction-container.row-reverse{
	flex-direction: row-reverse;
}
.introduction-container > *{
	width:50%;
}

.sakura-background .introduction-hidden-picture{
  background-image: url("../img/sakura-kinosaki-night.jpg");
}

.onsen-hopping-background .introduction-hidden-picture{
	background-image: url("../img/intro_img01.jpg");
}
.onsen-history-background .introduction-hidden-picture{
	background-image: url("../img/intro_img02.jpg");
}
.onsen-harmony-background .introduction-hidden-picture{
	background-image: url("../img/intro_img03.jpg");
}

.onsen-hopping2-background .introduction-hidden-picture{
	background-image: url("../img/experiences_img03.jpg");
}
.onsen-yukata-background .introduction-hidden-picture{
	background-image: url("../img/experiences_img04.jpg");
}
.onsen-memories-background .introduction-hidden-picture{
	background-image: url("../img/experiences_img05.jpg");
}
.onsen-discover-background .introduction-hidden-picture{
	background-image: url("../img/experiences_img06.jpg");
}

.introduction-container .introduction-hidden-picture{
  width: 50%;
  min-height:550px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.white-paragraph-container h6{ margin-bottom: 1em; }
.white-paragraph-container{
  height: 100%;
  max-width: 700px;
  background-color: rgba(255, 255, 255, 0.9);
  box-sizing: border-box;
  padding: 3% 3% 4% 4%;
}
.second-introduction-container-wrap .white-paragraph-container{
	max-width: 615px;
}
.white-paragraph-container.right-position{
/* 	margin-left: 50%;  margin-right: 10%; */
}
.white-paragraph-container.left-position {
/* 	margin-right: 50%; margin-left: 10%; */
}

.second-introduction-container-wrap .introduction-container{
	margin-top:50px;
}
.second-introduction-container-wrap .introduction-container .introduction-hidden-picture{
	width:55%;
/* 	min-height:400px; */
}
.second-introduction-container-wrap .introduction-container .white-paragraph-container{
	width:45%;
}
.white-paragraph-container a{
	display: inline-block;
	margin-top: 2em;
}
.white-paragraph-container .button-w a:last-child{
	margin-top:10px;
}

.destination_mark img{
	width: 150px;
	margin-left: 20px;
	float: right;
}

.introduction-container-mini{
	display: flex;
	align-items: center;
	max-width:800px;
	background: #f2f2f2;
	padding: 50px 40px 50px 330px;
	margin:80px auto;
	position: relative;
	box-sizing: border-box;
}
.introduction-container-mini .introduction-hidden-picture{
	max-width: 250px;
	position: absolute;
	left: 5%;
}



/*--- VIDEO SECTION ------------------------------------------------------------------------------------------*/
.video-section-flex-container{
  width: 100%;
  padding: 80px 0;
/*   margin: 80px auto; */
  display: flex; flex-direction: row-reverse;
  justify-content: center;
  align-items: center;
  background:#E6E6E6;
}
/*  FLEX IMPLEMENTATION FOR VIDEO */
.video-section-text-box{
  flex: 1 0 20%;
  min-width: 270px;
  max-width: 30%;
  text-align: left;
  margin: 0 2% 0 auto;
}
.video-section-flex-container .movie {
  flex: 0 1 60%;
  display: block;
  width: 100%;
  max-width: 560px;
  margin-left: 2%;
  margin-right: auto;}


.movie-wrap{
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.movie-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*---------------smartphone display only------------------------*/

#sp-only{
  display: none;
}

@media only screen and (max-width: 768px) {
    #sp-only{
      display: block;
    }
    .video-breaker{
      padding: 30px 0px;
      width: 90%;
      margin: 0px auto;
      text-align: center;
      font-size: 1.375em;
    line-height: 1.5;
    letter-spacing: 0.1em;
    }
  }

/*---------------------------*/


@media only screen and (max-width: 900px) {
	.banner-text {
	  text-shadow: 0 0 8px rgb(0, 0, 0);
	}
	
  .video-section-flex-container{
    max-width: 650px;
    width: 100%;
    display: block;}
  .video-section-text-box{
    min-width: 0;
    max-width: 90%;
    padding-top: 30px;
    margin: 0 auto;
    text-align: center;}
  .video-section-flex-container .movie {
    width: 100%;
    margin: 0 auto;
    }
}
/*--- SHEDULE SECTION ------------------------------------------------------------------------------------------*/
.schedule-flex-container{           /* Master flex-box basic setup */
  display: flex;
  flex-wrap:wrap;
  width: 100%;
  overflow: hidden;
}
.schedule-flex-container .experiences-image{
	width:30%;
	background-color:#f2f2f2;
	background-position:center center;
	background-repeat:no-repeat;
	background-size:cover;
}
.schedule-flex-container .experiences-image01{
	background-image:url(../img/experiences_img01.jpg);
}
.schedule-flex-container .experiences-image02{
	background-image:url(../img/experiences_img02.jpg);
}
.schedule-flex-container .button{
  margin: 15px auto 45px auto;
}
.schedule-flex-container h6{ text-align: left; padding: 0.5em 0 0.8em 0; line-height: 1.7em;}     /* Basic text setup */
.schedule-flex-container p{ padding-top: 0.5em; }                              /* Basic text setup */
/*###### MIDDLE LAYOUT ######*/
.middle-layout-center-column{
  height: 100%;
  width: 40%;
  background-color: white;
}
.vertical-alignment-tool{             /* Outer div layer for vertical centering */
  width: 100%;
  padding: 30px 8% 10px;
  box-sizing: border-box;
}

/*###### SIDE LAYOUTS ######*/
.schedule-side-layout .background-image-wrapper{ width: 70%; }  /* Edit width of images in the side layouts */
.side-layout-column{                      /* Settings for the side columns and their text */
  height: 100%;
  width: 40%;
  position: relative;
  z-index: 2;
  background-color: white;
}
.left-column{ left: 10%; }      /* Compensation for skewing the slanted-border*/
.right-column{ right: 10%; }    /* Compensation for skewing the slanted-border*/
.skew-left .skew-right div.vertically-center-left{  /* Vertical centering*/
  width: 100%;
  position  : absolute;
	top       : 50%;
  left      : 50%;
  margin-left: -10%;
	transform : translate(-50%, -50%);
}
.skew-right .skew-left div.vertically-center-right{  /* Vertical centering*/
  width: 100%;
  margin-left: 10%;
  position  : absolute;
	top       : 50%;
	left      : 50%;
	transform : translate(-50%, -50%);
}
.skew-left{
  height: 100%;
  -moz-transform: skew(7deg, 0deg); -webkit-transform: skew(7deg, 0deg);
  -o-transform: skew(7deg, 0deg); -ms-transform: skew(7deg, 0deg);
  transform: skew(7deg, 0deg);
}
.skew-right{
  height: 100%;
  -moz-transform: skew(-7deg, 0deg); -webkit-transform: skew(-7deg, 0deg);
  -o-transform: skew(-7deg, 0deg); -ms-transform: skew(-7deg, 0deg);
  transform: skew(-7deg, 0deg);
}
/*--- TOUR MAP SECTION ---------------------------------------------------------------------------------------------------------------------------------------------------*/
.map-container{ width: 100%; }
.tour-map-iframe{
  width: 80%; height: 500px;
  position: relative; left:10%;
}
/*--- FACILITIES SECTION ---------------------------------------------------------------------------------------------------------------------------------------------------*/
.facility-flex-container{         /* Flex container for facility image, title, description and link */
  display: flex;
  justify-content: center;
  align-content: center;
  align-items: center;
  width: 90%;
  margin: 0 auto 50px auto;
}
.facility-description{            /* Description box for each facility*/
  width: 56%;
}
div.facility-image-container{
  width: 40%;
}
.facility-flex-container.left{ flex-direction: row-reverse; }
.facility-description.right{ margin: auto auto auto 3%; }    /* Pushes content right, away from image */
.facility-description.left { margin: auto 3% auto 0; text-align: right; }    /* Pushes content left, away from image*/
.facility-description h6   { line-height: 1.7; padding-bottom: 1.2em; }   /* Description text editing */

.facility-img-push-right{ margin-right: 1%; }         /* Pushes image right, away from left-most image */
/*--- RESTAURANT PREAMBLE ---------------------------------------------------------------------------------------------------------------------------------------------------*/
#restaurant-pre-amble{ width: 90%; margin: 1em auto 4em auto;}
/*--- RESTAURANTS SECTION ---------------------------------------------------------------------------------------------------------------------------------------------------*/
.restaurant-parent-container{
  display: flex;
  margin: 4em auto;
}
.restaurant-child-container{
  display: flex;
  flex-direction: row-reverse;
  width: 50%;
}
.restaurant-child-container.sanpou{
  flex-direction: row;
}
.text-column{
  display: flex;
  flex-direction: column;
  flex-shrink: 1;
  flex-grow: 1;
  flex-basis: 0%;
  padding: 0 1.5em;
}
.images-column{
  display: flex;
  flex-direction: column;
  flex-shrink: 1;
  flex-grow: 1;
  flex-basis: 0%;
  justify-content: space-between;
}
.restaurant-img-container{
  width: 222px;
  height: 49%;
  width: 100%;
}
.images-column img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.text-column.left{ border-right: 1px solid #676d6f; }   /* Border implementation */
.text-column.right .title-partial-underline{ margin: 0.75em 0 0.5em auto;} /* Fixes right alignment of underline */
.text-column a{ padding-top: 1em; }  /* padding to push button away from text */
/*--- CONTACT BOX SECTION ---------------------------------------------------------------------------------------------------------------------------------------------------*/
.contact-box-divider-container{
    margin: 60px auto;
    background-color:#ba2636;
    color: white;
}
.contact-box h5 { padding: 45px; }
.contact-box    { padding-bottom: 45px; }
/*--- ACCESS SECTION ---------------------------------------------------------------------------------------------------------------------------------------------------*/
.access-container{            /* Container for title, background image, and button for the access section */
  position: relative;
  margin-top: 60px;
  width: 100%;
/*   height: 450px; */
  background-image:url(../img/map_japan.png);
  background-position:center center;
  background-repeat:no-repeat;
  background-color: #f2f2f2;
  margin-top: 0px;
}
#access-bottom.access-container{
  background-image:url(../img/map2_japan.png);
}
.access-outer-container{
  position: relative;
  margin: 0 auto;
  height: 100%;
  width: 100%;
  max-width: 1200px;
}
.access-inner-container{      /* Sets the max width of the content inside the access-container*/
/*
  position: absolute;
  left: 0;
  top: 0;
*/
  height: 100%;
/*   width: 100%; */
/*   max-width: 1100px; */
  padding:60px 3% 150px;
}
.access-container .access-outer-container a .background-image-wrapper div.background-image{        /* Size and positioning for access background image*/ 
  width:100%;
  height: 450px;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  z-index: 0;
}
.access-text-container{      /* Text editing for access title */
/*   color: white; */
  letter-spacing: 0.1em;
  width: 80%;
  text-align: left;
/*
  position: absolute;
  left: 4%;
  top: 6%;
*/
}
.access-text-container h2 {
	font-size: 2.0em;
	line-height: 1.4;
	letter-spacing: 0.05em;
	margin-bottom: 0.8em;
}
.access-text-container p {
	font-size: 1.18em;
	line-height: 1.6;
	margin-bottom: 1.5em;
}
.access-button-container{   /* Positioning for access button */
/*
  position: absolute;
  right: 5%; bottom: 6%;
*/
}
a.disabled {                /* Disable link by default */
  pointer-events: none;
  cursor: default;
}

#access-bottom{
	margin: 80px 0;
}
#access-bottom .access-inner-container {
	padding: 80px 3% 180px;
}
#access-bottom .access-text-container{
	max-width: 500px;
}
#access-bottom h4{
	font-size: 1.5em;
	border-bottom:1px solid rgba(0,0,0,0.35);
	padding-bottom:10px;
	margin-bottom:10px;
}
#access-bottom p{
	font-size: 1.1em;
}


/*--- FOOTER SECTION ---------------------------------------------------------------------------------------------------------------------------------------------------*/
.footer {
  background-color: #000;
  padding: 100px 50px;
  margin: 0 auto 0;
  text-align: center;
}
.sns-links-list ul {
  display: flex;
  padding-left: 0;
  margin-bottom: 50px;
  width: 500px;
  justify-content: center;
  margin: 0 auto 50px;
  list-style: none;
}
.sns-links-list li { width: 25%; }
/*--- MOBILE SECTION---------------------------------------------------------------------------------------------------------------------------------------------------*/
/*--- MOBILE FOOTER RESERVATION SECTION ----------------------------------------------------------------------*/
.mobile-footer-reservation-container{
/*   display: none; */
  padding: 50px 8%;
  background-color: #F2F2F2;
/*   color: white; */
	max-width: 700px;
	margin: 100px auto;
}
.mobile-footer-reservation-container h3 {
	border-bottom: 1px solid rgba(0,0,0,0.35);
	padding-bottom: 20px;
	margin-bottom: 20px;
}
.mobile-footer-reservation-container .search-flex-box{
  width: 100%;
  justify-content: center;
  flex-wrap: wrap;
}
.mobile-footer-reservation-container .search-flex-box .search-item .find-room-date{
/*
  width: 120px;
  margin: 5px;
*/
}
.mobile-footer-reservation-container .search-flex-box > *{
	width: 33.333%;
	text-align:center;
	margin: 2px 0;
} 
.mobile-footer-reservation-container .search-flex-box input,
.mobile-footer-reservation-container .search-flex-box select{
	width: 90%;
	text-align:center;
	border: 1px solid #808080;
	margin: 0;
}
.bottom-mobile-reservation-button-container *{
  display: block;
  box-sizing: border-box;
  width: 60%;
  max-width: 250px;
  margin: 1.5em auto;
}
.mobile-footer-reservation-container a{
	color:#fff;
}
/*--- MOBILE RESERVATION BAR --------------------------------------------------------------------------------*/
.mobile-reservation-bar-container{
  display: none;
  width: 100%;
  position: sticky;
  position: -webkit-sticky;
  bottom: 0;
  text-align: center;
  z-index: 10;
}
.footer-logo img{
  width: 20%;
}
.mobile-reservation-bar-flex-box{
  display: flex; position: fixed;
  bottom: 0;
  width: 100%;
  background-color: black;
  padding: 8px;
  align-items: center;
}
.mobile-reservation-bar-flex-box a{
  margin: 0 25px 0 10px;
  width: 40%;
}
.mobile-reservation-bar-flex-box img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}
#mobile-footer-reservation-button{
  width: 60%;
}
/*====================================================================================================*/
                        /* RESPONSIVE DESIGN  -  @media tags */
/*====================================================================================================*/

@media only screen and (max-width: 900px){   /* SMALL -------------------*/
  .white-paragraph-container .button{display: block; /* width: 30%; */ margin-left: auto; margin-right: auto; text-align: center;}
  .schedule-flex-container .button{display: block; /* width: 20%; */ margin-left: auto; margin-right: auto; text-align: center;}
  /* Remove reservation bar */
  .reservation-bar-container{ display: none; }
  /* Display mobile reservation bar */
  .mobile-reservation-bar-container{ display: block;}
  .mobile-footer-reservation-container{ display: block; margin-bottom: 0;}
  .access-container{ margin-bottom: 0;}
  .footer{ margin-top: 0; padding: 50px 50px 125px}
  .footer-logo img{width: 60%;}
  /* Shrink white intro boxes*/
/*
  .white-paragraph-container{ width: 50%; padding: 6% 6% 7% 7%;}
  .white-paragraph-container.right-position{}
  .white-paragraph-container.left-position { margin-left: 0; }
*/
  /* Responsive for Schedule section */
  div.background-image-wrapper{ height: 300px; }  /* Statically set height for images */
  .schedule-flex-container{                       /* Master flex-box compensated setup */
    flex-direction: column; 
    justify-content: space-between;
    height: auto; 
    text-align: left; }
  div.schedule-flex-container.schedule-middle-layout{ flex-direction: row; flex-wrap: wrap; }  /* Set only middle layout to wrap, allowing for images on top */
  div.vertical-alignment-tool, div.vertically-center-left, div.vertically-center-right { padding: 2em; }   /* Pad the text boxes */
  /* Middle Layouts */
  .schedule-middle-layout div.background-image-wrapper{ width: 50%; }    /* Edit width for images in the middle layout */
  .honkan-image { display: inline-block; order: 1; border-right: 1px solid white; box-sizing: border-box;} /* Re-order images for middle column so that both images are on top of text */
  .onsenji-image{ display: inline-block; order: 2;} /* Re-order images for middle column so that both images are on top of text */
  .middle-layout-center-column{ order: 3; width: 100%; } /*Display last in box and cover the whole screen*/
  /* Side Layouts */
  .schedule-side-layout { flex-direction: column-reverse; }           /* Reverse order for left columns*/
  .schedule-side-layout.text-align-right { flex-direction: column; }  /* Restore order for right columns*/
  .schedule-side-layout div.background-image-wrapper{ width: 100%; }  /* Set the side images to cover the whole screen */
  .side-layout-column{ width: 100% } /* Set the side-columns to cover the whole screen*/
  /* Unsetters */
  img.center-white-background-block{ display: none; }  /* Delete center background shape */
  .left-column{ left: unset; }       /* Compensation for skewing the slanted-border*/
  .right-column{ right: unset; }     /* Compensation for skewing the slanted-border*/
  .vertical-alignment-tool{ width: unset; position: unset; transform: none; }  /* Remove the outer div layer for vertical centering */
  .skew-left .skew-right div.vertically-center-left { width: unset; position: unset; margin-left: unset; transform: none; } /* Remove vertical center compensation of skewed div */
  .skew-right .skew-left div.vertically-center-right{ width: unset; position: unset; margin-left: unset; transform: none; } /* Remove vertical center compensation of skewed div */
  .skew-left{ height: unset; transform: unset; }
  .skew-right{  transform: none; }
  /* Responsive for Restaurant pre-amble */
  #restaurant-pre-amble{ text-align: left;}
  /* Responsive for Restaurant section */
  .restaurant-parent-container{
    flex-direction: column;
    margin: 0 auto;}
  .restaurant-child-container{ width: 100%; } /* Reset width of child */
  .restaurant-child-container.sanpou{ margin-bottom: 2em; } /* Separate children*/
  .text-column.left{ border-right: none; }   /* Border implementation removal*/
  .text-column { justify-content: center; }
  /* Fix Access-Section scaling*/
  .access-text-container{ }
  .access-button-container{ }
  .access-container .access-outer-container a .background-image-wrapper div.background-image{ background-size: cover; height: 450px; } /* Size and positioning for access background image*/
}
@media only screen and (max-width: 700px) {   /* TINY -----------------------------------------------*/
h6 {
  line-height: 1.5;
}
.banner-container {
	background-image: url("/tc/campaign-welcome/img/hero_img_sp.jpg");
}
.banner-text-wrap {
	width: 85%;
}
.banner-text-wrap h1 {
	font-size: 2.0em;
}
.banner-text-wrap p {
	font-size: 1.1em;
}

.introduction-container .introduction-hidden-picture,
.second-introduction-container-wrap .introduction-container .introduction-hidden-picture {
	width:100%;
	min-height: 250px;
}
.introduction-container.onsen-yukata-background{
	margin-top:0;
}

.white-paragraph-container a {
	display: block;
}

.schedule-flex-container .experiences-image{
	width:50%;
	min-height:350px;
}

.introduction-container-mini{
	display: block;
	position:static;
	padding: 50px 40px 50px;
	margin-bottom: 0;
}
.introduction-container-mini .introduction-hidden-picture{
	position:static;
	margin: -100px auto 20px;
}

.destination_mark img {
	width: 30%;
	margin-left: 10px;
}

.mobile-footer-reservation-container h3 {
	font-size: 1.2em;
	padding-bottom: 10px;
	margin-bottom: 20px;
}


  .section-title-text { margin: 5em auto 1em auto; }
  .facility-flex-container .button{display: block; width: 40%; margin-left: auto; margin-right: auto; text-align: center;}
  .restaurant-parent-container .button{display: block; width: 25%; margin-left: auto; margin-right: auto; text-align: center;}
  /* Fix banner */
  .banner-container{}
  .banner-title-img{
    max-height: 250px; margin: 0;
    position: absolute;  
    top       : 50%; left      : 50%;
    transform : translate(-50%, -50%); }
  /* Resize text for Toji Section and TOUR MAP and FACILITIES titles*/
  section.section-divider-container.text-align-center, div.section-title-text.text-align-center { font-size: 12px;}
  /* "Wrapping" for the introduction section. This workaround has 2 pictures showing */
  .introduction-container.onsen-history-background, .introduction-container.onsen-hopping-background{ height: auto; }
.white-paragraph-container.right-position,
.white-paragraph-container.left-position,
.second-introduction-container-wrap .introduction-container .white-paragraph-container {
	width: 100%;
/* 	padding: 5% 5% 15%; */
	padding: 2em 2em 4em;
}
/*Video Section resize margins*/
.video-section-flex-container {
	padding: 0 0 50px;
	margin: 3em auto;
}
  /* Resize map */
  .tour-map-iframe{   width: 100%; height: 300px; left:0%;}
  /* Facility Responsive*/
  .facility-flex-container{ display: block; margin-bottom: 50px; }   /* Change from flex to block to wrap*/
  .facility-description{            /* Adjust description*/
    width: 100%;
    margin: 10px 0 !important;
    text-align: left !important; }
  div.facility-image-container{ width: 100%; }
  /* Restaurant section responsive */
  .restaurant-parent-container { display: block; }
  .restaurant-child-container{ display: block;} /* Reset width of child */
  .images-column{
    flex-direction: row; align-content: space-between; flex-basis: unset;
    width: 100%;
    margin-bottom: 1em; }
  .restaurant-img-container{
    width: 49%; height: 100%;
  }
  .text-column { padding: 0; }
  .restaurant-child-container.sanpou{ margin-bottom: 2em; } /* Separate children*/
  .restaurant-child-container.ricca{ flex-direction: column; text-align: left;} /* Reverse column order to display properly */
  .text-column.right .title-partial-underline{ margin: 0.75em auto 0.5em 0;} /* Un-hack the underline and push it back to the left */
  /* Delete access contents and replace picture with button*/
.access-container{
	height: auto;
	background-image: url(../img/map_japan2.png);
	background-size: 150% auto;
	background-position: center bottom;
	padding: 0;
}
#access-bottom.access-container {
	background-image: url(../img/map2_japan2.png);
}
.access-text-container{}
.access-button-container{}
a.disabled { pointer-events: auto; cursor: pointer; }
.access-inner-container,
#access-bottom .access-inner-container{
	height: auto;
	width: 100%;
	padding: 30px 5% 250px;
	box-sizing: border-box;
}
.access-container .access-outer-container a .background-image-wrapper div.background-image{
	position: static;
	height: 100%;
}
.access-text-container {
	width: 100%;
}
.access-text-container h2 {
	font-size: 1.3em;
	line-height: 1.3;
	letter-spacing: 0.03em;
}
.access-text-container p {
	font-size: 1.0em;
}
#access-bottom h4 {
  font-size: 1.1em;
}
#access-bottom p {
  font-size: 0.9em;
}

  /* Fix footer SNS buttons*/
  .sns-links-list ul { width: 100%; }
}
@media only screen and (max-width: 450px) {   /* SUPER TINY -----------------------------------------------*/
  /* Make text slightly smaller for phones */
  body{ font-size: 16px; }
}