
/*
======== table of content. =================================

　Shirakawa-go

============================================================
*/


/* ----------------------------------------------------------------------------
　common
---------------------------------------------------------------------------- */

/* text */
.text10{
	font-size:10px;
	line-height:150%;
}
.text11{
	font-size:11px;
	line-height:150%;
}
.text12{
	font-size:12px;
	line-height:150%;
}
.text13{
	font-size:13px;
	line-height:150%;
}
.text14{
	font-size:14px;
	line-height:150%;
}
.text15{
	font-size:15px;
	line-height:150%;
}
.text16{
	font-size:16px;
	line-height:150%;
}
.text17{
	font-size:17px;
	line-height:150%;
}
.text18{
	font-size:18px;
	line-height:150%;
}
.text19{
	font-size:19px;
	line-height:150%;
}
.text20{
	font-size:20px;
	line-height:150%;
}
.text21{
	font-size:21px;
	line-height:150%;
}
.text22{
	font-size:22px;
	line-height:150%;
}
.text23{
	font-size:23px;
	line-height:150%;
}
.text24{
	font-size:24px;
	line-height:150%;
}


.hover{
	display:none;
	position:absolute;
	width:100%;
	height:100%;
	top:0px;
	left:0px;
	z-index:2;
	background:url("../images/hover.png");
}


/* ----------------------------------------------------------------------------
　basic
---------------------------------------------------------------------------- */
#contentHeader{
	width:924px;
	margin:0 auto 10px;
}

#main{
	width:924px !important;
	margin:0 auto;
}


/* ----------------------------------------------------------------------------
　main_slide
---------------------------------------------------------------------------- */
#main_slide{
	width:924px;
	height:534px;
	position:relative;
	z-index:2;
}

#main_slide .title_area{
	position:absolute;
	top:350px;
	left:0px;
	z-index:3;
}
#main_slide .title_area h2{
}
#main_slide .title_area .lead{
	color:#fff;
	line-height:160%;
	padding:0 17px;
	position:relative;
}

#slide_case{
	width:924px;
	height:534px;
	position:relative;
}
#slide_case p{
	position:absolute;
	top:0px;
	left:0px;
	display:none;
}
#slide_case a{
	cursor:pointer;
}
#main_slide .prev{
	position:absolute;
	top:237px;
	left:15px;
	z-index:3;
	cursor:pointer;
}
#main_slide .next{
	position:absolute;
	top:237px;
	right:15px;
	z-index:3;
	cursor:pointer;
}

/* description */
#main_slide .description{
	width:826px;
	height:171px;
	padding:30px 40px 0;

	position:absolute;
	top:487px;
	left:10px;
	background:url("../images/main_slide_description.png") 0 0 no-repeat;
	z-index:3;
}
#main_slide .description h3{
	margin-bottom:15px;
}
#main_slide .description .text{
	color:#000;
	line-height:200%;
}
#main_slide .description .paging{
	position:absolute;
	top:23px;
	left:180px;
}
#main_slide .description .paging li{
	float:left;
	margin-right:20px;
	position:relative;
}
#main_slide .description .paging li a span{
	display:none;
	width:41px;
	height:41px;
	border:3px solid #ec5658;
	position:absolute;
	top:0px;
	left:0px;
	z-index:2;
}
#main_slide .description .paging a:hover span,
#main_slide .description .paging .on span{
	display:block;
}
#main_slide .description .paging .on a{
	cursor:default;
}


.contents{
	background-color:#ebebeb;
	padding:167px 15px 15px !important;
}


/* ----------------------------------------------------------------------------
　outline
---------------------------------------------------------------------------- */
.contents .outline{
	width:845px;
	margin:0 auto 27px;
	position:relative;
}

/* bgcolor */
.outline .copy_box{
	width:555px;
	float:left;
}

.contents .outline .photo{
	width:233px;
	float:right;
}

.contents .outline .copy{
	width:300px;
	float:left;
}
.contents .outline .copy .title{
	line-height:160%;
	font-weight:bold;
	color:#555;
	margin-bottom:10px;
}
.contents .outline .copy .text{
	line-height:160%;
}

/* access */
.contents .outline .access{
	margin-top:18px;
	padding:11px;
	position:relative;
	background-color:#fff;
}
.contents .outline .access .title{
	color:#000;
	font-weight:bold;
	margin-bottom:10px;
}
.contents .outline .access .route{
	text-align:center;
}
.contents .outline .access .btn{
	position:absolute;
	top:11px;
	right:12px;
}

/* map */
.contents .outline .map{
	width:274px;
	float:right;
}


/* ----------------------------------------------------------------------------
　contents
---------------------------------------------------------------------------- */
.contents{
	background-color:#ebebeb;
	padding:25px 15px 15px;
	position:relative;
}

.contents h3{
	text-align:center;
	height:55px;
}

.contents h4{
	text-align:center;
	background-color:#333;

	border-radius: 2px 2px 0 0;
	-webkit-border-radius: 2px 2px 0 0;
	-moz-border-radius: 2px 2px 0 0;
}
.contents .btn_1 {
  display: block;
  position: relative;
  width: 820px;
  max-width: 100%;
  margin: 0 auto;
  margin-top: 10px;
  margin-bottom: 20px;
  padding: 13px 45px;
  box-sizing: border-box;
  background: #333;
  font-size: 32px;
  color: #fff;
  text-align: center;
  text-decoration: none;
  transition: opacity .2s;
}
.contents .btn_1:hover {
  opacity: 0.8;
}
.contents .btn_1:before {
  display: block;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  right: 12px;
  width: 27px;
  height: 27px;
  border-radius: 100px;
  background: #fff;
  content: '';
}
.contents .btn_1:after {
  display: block;
  position: absolute;
  top: 50%;
  right: 21px;
  width: 9px;
  height: 9px;
  border-top: 2px solid #333;
  border-right: 2px solid #333;
  transform-origin: 100% 0;
  rotate: 45deg;
  content: "";
}


/* recommended_hotels */
.recommended_hotels{
	background:url("../images/recommended_hotels.jpg") right bottom no-repeat;
	background-color:#fff;
	padding:15px 15px 300px;
}

/* box */
.recommended_hotels .box{
	width:425px;
	float:left;
	margin:0 14px 5px 0;
}
.recommended_hotels .box a{
	display:block;
	text-decoration:none;
	padding:10px 10px 50px;
	position:relative;
	cursor:pointer;

	border-radius: 2px;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;

	box-shadow: 0px 0px 0px 0px #bbb;
	-webkit-transition:0.1s;
	-moz-transition:0.1s;
	transition:0.1s;
}
.recommended_hotels .box a:hover{
	background-color:#e7e7e7;

	box-shadow: 0px 10px 15px 0px #aaa;
	-webkit-transition:0.1s;
	-moz-transition:0.1s;
	transition:0.1s;
	top:-2px;
}


.recommended_hotels .box a .title{
	position:relative;
	min-height:47px;
}
.recommended_hotels .box a .title{display: inline-block;}
/* Exclude Mac IE \*/
.recommended_hotels .box a .title{display: block;}
/**/
.recommended_hotels .box a .title:after{content:".";display:block;clear:both;height:0;visibility: hidden;}


.recommended_hotels .box a .title h5{
	float:left;
	color:#000;
	font-weight:normal;
	line-height:120%;
	position:relative;
	text-decoration:underline;
}
.recommended_hotels .box a .title .icon{
	float:right;
}
.recommended_hotels .box a .title .icon li{
	float:left;
	margin:0 0 0 8px;
}


/* icon2 */
.recommended_hotels .icon2 a .title h5{
	width:255px;
}
.recommended_hotels .icon2 a .title .icon{
	width:150px;
}

/* icon1 */
.recommended_hotels .icon1 a .title h5{
	width:330px;
}
.recommended_hotels .icon1 a .title .icon{
	width:75px;
}

/* icon0 */
.recommended_hotels .icon0 a .title h5{
	width:405px;
}

.recommended_hotels .box a:hover .title h5{
	text-decoration:none;
}

.recommended_hotels .box .access{
	background-color:#666;
	display:none;
}

.recommended_hotels .box a .copy{display: inline-block;}
/* Exclude Mac IE \*/
.recommended_hotels .box a .copy{display: block;}
/**/
.recommended_hotels .box a .copy:after{content:".";display:block;clear:both;height:0;visibility: hidden;}

.recommended_hotels .box a .text{
	width:215px;
	float:left;
	color:#555;
	word-break:break-all;
}

/* none_photo */
.recommended_hotels .none_photo a .text{
	width:100%;
}
.recommended_hotels .box a .photo{
	width:180px;
	position:relative;
	float:right;
}
.recommended_hotels .box a:hover .photo .hover{
	display:block;
}

.recommended_hotels .box a .price{
	line-height:120%;
	margin-top:10px;
	text-align:center;
	color:#333;
}
.recommended_hotels .box a .price strong{
	color:#ec5658;
	line-height:120%;
	margin:0 8px;
}
.recommended_hotels .box a .cap{
	margin-top:8px;
	line-height:130%;
	color:#666;
	word-break:break-all;
	text-align:center;
}
.recommended_hotels .box a .btn_detail{
	width:405px;
	height:30px;

	text-indent:100%;
	white-space:nowrap;
	overflow: hidden;

	position:absolute;
	left:10px;
	bottom:10px;
	background:url("../images/btn_detail.png") 0 0 no-repeat;
}
.recommended_hotels .box a:hover .btn_detail{
	background-position:0 -30px;
}



/* icon_description */
.icon_description{
	margin:20px 0 40px;
	padding:0 20px 0 0;
}
.icon_description{
	text-align:leftcenterright;
}
.icon_description li{
	display:block;
	margin-bottom:15px;
}
.icon_description li img{
	margin:0 10px 0 0;
	vertical-align:bottom;
	position:relative;
	top:1px;
}
.icon_description li span{
	position:relative;
	top:-1px;
}

/* IE7 */
*:first-child+html .icon_description{
	margin-top:30px;
}
*:first-child+html .icon_description li{
	display:inline;
	zoom:1;
}
*:first-child+html .icon_description li span{
	top:5px;
}


/* btn_more */
.recommended_hotels .btn_more{
	text-align:center;
	*margin-top:25px;
}


/* bnr_features */
.bnr_features{
	margin-top:25px;
}


div#container {
  width: 924px;
  box-sizing: border-box;
}
div#container .col {
  padding: 0 20px;
}
div#content {
  width: auto;
  margin-top: 13px;
  padding: 0;
  background: none;
}
.header__nav {
  width: 58.33333333%;
  margin-top: -55px;
  margin-left: auto;
  margin-right: 0;
}
.header__nav li a {
  text-decoration: none;
  color: #444;
}
#page-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  font-size: 100%;
  z-index: 1000;
}
#page-top a {
  background: #666;
  text-decoration: none;
  color: #fff;
  width: 50px;
  height: 50px;
  line-height:50px;
  text-align: center;
  display: block;
  border-radius: 50%;
}
#page-top a:hover {
  text-decoration: none;
  background: #999;
}


@media (max-width: 960px) {
  div#container,
  div#content {
    width: auto;
  }
  div#container .col {
    padding: 0 10px;
  }
  div#content {
    padding: 0;
  }
  .titleLogo {
    width: 50%;
  }
  .titleLogo img {
    margin-left: 0;
  }
  .header__nav {
    display: none;
  }
  #contentHeader {
    width: auto;
  }
  #main {
    width: auto !important;
  }
  #main_slide {
    width: auto;
    height: auto;
  }
  #main_slide .title_area {
    top: 180px;
  }
  #main_slide .title_area img {
    width: 100%;
  }
  #main_slide .title_area .lead {
    font-size: 12px;
  }
  #main_slide .description {
    position: relative;
    top: 0;
    left: 50%;
    translate: -50% 0;
    width: 96%;
    height: auto;
    margin-top: -50px;
    padding: 20px;
    padding-top: 90px;
    box-sizing: border-box;
    background: #fff;
  }
  #main_slide .description h3 {
    text-align: center;
  }
  #main_slide .description .paging {
    display: flex;
    justify-content: center;
    position: absolute;
    top: 20px;
    left: 50%;
    translate: -50% 0;
  }
  #main_slide .description .paging li {
    float: none;
    margin-right: 0;
  }
  #main_slide .description .paging li:not(:last-child) {
    margin-right: 15px;
  }
  #main_slide .prev,
  #main_slide .next {
    width: 30px;
    top: 150px;
  }
  #main_slide .prev {
    left: 15px;
  }
  #main_slide .next {
    right: 15px;
  }
  #slide_case {
    aspect-ratio: 154 / 89;
    position: relative;
    top: 0;
    left: 50%;
    translate: -50% 0;
    width: 180%;
    height: auto;
  }
  #slide_case p {
    width: 100%;
  }
  #slide_case img {
    display: block;
    width: 100%;
  }
  .recommended_hotels {
    padding: 0;
  }
  .recommended_hotels .box {
    float: none;
    width: 100%;
  }
  .recommended_hotels .box:not(:last-child) {
    margin-bottom: 15px !important;
  }
  .contents {
    padding-top: 25px !important;
  }
  .contents .outline {
    width: 100%;
  }
  .contents .outline .copy {
    float: none;
    width: 100%;
    margin-top: 15px;
  }
  .contents .btn_1 {
    font-size: 18px;
  }
  .outline .copy_box {
    float: none;
    width: auto;
  }
  .contents .outline .photo {
    width: 100%;
    float: none;
  }
  .contents .outline .photo img {
    width: 100%;
  }
  .contents .outline .access .route img {
    width: 100%;
  }
  .contents .outline .map {
    float: none;
    width: auto;
    margin-top: 15px;
  }
  .contents .outline .map img {
    width: 100%;
  }
  .recommended_hotels {
    background: none;
  }
  .recommended_hotels .box a {
    padding: 15px;
    background: #fff;
  }
  .recommended_hotels .box a .title h5 {
    top: auto !important;
    width: 100%;
  }
  .recommended_hotels .box a .title {
    height: auto !important;
    min-height: 0 !important;
  }
  .recommended_hotels .icon1 a .title .icon,
  .recommended_hotels .icon2 a .title .icon {
    display: none;
  }
  .recommended_hotels .box a .copy {
    height: auto !important;
    margin-top: 10px;
  }
  .recommended_hotels .box a .text {
    float: none;
    width: auto;
  }
  .recommended_hotels .box a .photo {
    float: none;
    width: 100%;
    margin-top: 10px;
  }
  .recommended_hotels .box a .photo img {
    width: 100%;
  }
  .recommended_hotels .box a .btn_detail {
    aspect-ratio: 27 / 2;
    position: relative;
    left: auto;
    bottom: auto;
    width: 100%;
    height: 50%;
    margin-top: 15px;
    background-size: 100% auto;
    /* background-position:  */
  }
}
@media (max-width: 400px) {
  #main_slide .description {
    margin-top: -5px;
  }
}