@charset "UTF-8";
/*============================================================================*\
    How to Izumigo
\*============================================================================*/

/* 導入部 */
.intro__image {
	overflow: hidden;
	position: relative;
	width: 100%;
}
.intro__image img {
	position: relative;
	left: 50%;
	width: 150%;
	margin-left: -75%;
	max-width: none;
}
.intro__inner {
	background: url(../img/bg_int.png) no-repeat center top;
	background-size: contain;
	margin-top: -2em;
	padding-top: 3em;
	margin-top: -5vmin;
	padding-top: 7vmin;
}
.intro__desc {
	width: 90%;
	margin: 0 auto;
	text-align: left;
	line-height: 1.5;
}
@media (min-width:48em) {
	.intro {
		width: 1920px;
		max-width: 100%;
		margin: 0 auto;
	}
	.intro__image {
		padding-bottom: 53.53%;
	}
	.intro__image img {
		position: absolute;
		left: 50%;
		width: 140%;
		max-width: none;
		margin-left: -70%;
	}
  .intro__inner {
		margin-top: -10%;
		padding-top: 6%;
  }
	.intro__desc {
		font-size: 1.8rem;
		line-height: 1.88;
		text-align: center;
	}
}
@media screen and (min-width:80em){
	.intro__image {
		height: 696px;
		padding-bottom: 0;
	}
	.intro__image img {
		width: 2000px;
		margin-left: -1000px;
	}
  .intro__inner {
		margin-top: -70px;
		padding-top: 50px;
		background-size: contain;
  }
}

/* ページ内リンク */
.intro__nav {
	overflow: hidden;
	position: relative;
	z-index: 1;
	margin: 1.5em 0;
	padding: 1.5em 10px;
	background: #fff0ea;
	letter-spacing: -.4em;
	text-align: center;
}
.intro__nav > li {
	display: inline-block;
	width: 48.5%;
	border-left: 2px dotted #ee9fc6;
	letter-spacing: normal;
	vertical-align: middle;
}
.intro__nav a {
	display: block;
	padding: 0 0.8em;
	color: #ee9fc6;
	text-decoration: none!important;
}
.intro__nav a:hover {
	opacity: .6;
}
.nav__img {
	margin: 0;
}
.nav__ttl:after {
	display: block;
	color: inherit;
	font-family: "icomoon";
	font-size: 20px;
	content: "\f063";
}
.intro__nav > li:nth-of-type(1) a { color: #6c3703;}
.intro__nav > li:nth-of-type(2) a { color: #2a8e13;}
.intro__nav > li:nth-of-type(3) a { color: #1392bc;}
.intro__nav > li:nth-of-type(4) a { color: #b97515;}

@media only screen and (max-width:47.9375em) {
  .intro__nav > li:nth-of-type(2) .nav__ttl img { max-width: 66%; }
  .intro__nav > li:nth-of-type(3) .nav__ttl img { max-width: 54%; }
  .intro__nav > li:nth-of-type(4) .nav__ttl img { max-width: 88%; }
}
@media only screen and (max-width:63.9375em) {
  .intro__nav li:nth-of-type(even) { border-right: 2px dotted #ee9fc6; }
  .intro__nav li:nth-of-type(n+3) { margin-top: 1em; }
	.nav__img { display: none; }
	.nav__ttl { margin: .5em 0; }
}
@media screen and (min-width:48em) and (max-width:63.9375em) {
  .nav__ttl,
	.nav__img {
		display: inline-block;
		vertical-align: middle;
		letter-spacing: normal;
  }
  .nav__img {
		width: 35%;
  }
  .nav__ttl {
		width: 62%;
		margin: 5px 0 0;
  }
}
@media print, (min-width:64em) {
	.intro__nav {
		max-width: 980px;
		margin: 40px auto;
		padding: 30px 0;
		background: url(../img/bg_pnav.png) no-repeat left top;
	}
  .intro__nav li {
		width: 233px;
  }
  .intro__nav li:first-of-type {
		border-left: none;
  }
	.intro__nav a {
		padding: 0;
	}
	.nav__ttl {
		margin: 5px 0 0;
	}
}

/* マップ */
.map {
	position: relative;
	margin: 2em auto;
}
.map__img {
	position: relative;
	z-index: 10;
	text-align: center;
}
.map__dec1,
.map__dec2 {
	position: absolute;
}
@media screen and (max-width:47.9375em) {
	.map {
		width: 95%;
	}
  .map__img {
		width: 70%;
		margin: auto;
  }
  .map__dec1 {
		left: 0;
		top: 0;
		width: 30%;
  }
  .map__dec2 {
		width: 30%;
		right: 0;
		bottom: -1em;
  }
}
@media (min-width:48em) {
  .map__img {
		width: 40%;
		margin: 0 auto;
  }
  .map__dec1 {
		top: 20px;
		left: auto;
		right: 50%;
		margin-right: 17%;
		max-width: 33%;
  }
  .map__dec2 {
		top: 10px;
		left: 50%;
		right: auto;
		margin-left: 15%;
		max-width: 27%;
  }
}
@media (min-width:48em) and (max-width:47.9375em) {
  .map__dec1,
	.map__dec2 {
		width: 28%;
  }
}
@media (min-width:64em) {
	.map {
		max-width: 1600px;
		margin: 70px auto 28px;
	}
  .map__dec1 {
		top: -55px;
  }
}


/* テーマ別ホテル紹介 */
.box-hotel {
	margin-top: 2em;
	overflow: hidden;
}
.box-hotel:before {
	display: block;
	height: 6px;
	background-position: left top;
	background-repeat: repeat-x;
	content: "";
}
.box-hotel__heading {
	padding: 2em 0;
	background-position: left top;
	background-repeat: repeat;
	text-align: center;
}

@media (max-width:47.9375em) {
  .box-hotel__heading img {
		max-width: 90%;
		margin: 0 auto;
  }
}
@media (min-width:48em) {
  .box-hotel {
		margin-top: 50px;
  }
}
@media (min-width:64em) {
	.box-hotel {
		margin-top: 80px;
	}
	.box-hotel__heading {
		padding: 50px 0 40px;
		text-align: center;
	}
}

.box-hotel__detail {
	padding: 16px;
}
.detail__heading {
	margin-bottom: 1em;
	padding: .8em 0;
	border-radius: 5px;
	color: #fff;
	font-size: 1.8rem;
	font-size: 4.5vw;
	font-weight: bold;
	text-align: center;
}

@media (min-width:48em) {
	.detail__heading {
		padding: 5px 0;
		margin-bottom: 30px;
		font-size: 2.4rem;;
	}
}
@media (min-width:64em) {
	.box-hotel__detail {
		width: 980px;
		margin: 0 auto;
		padding: 0;
	}
}

/* スライダー */
.page-slider {
	padding-bottom: 10px;
}
.slider__caption {
	padding: 8px 16px;
	text-align: center;
}
.slider__caption img {
	display: none;
}
.page-slider .slick-prev,
.page-slider .slick-next {
	margin-top: -30px;
}
@media print, (min-width:64em) {
	.slider__caption {
		margin-top: 25px;
		padding: 0;
	}
	.slider__caption:after {
		display: block;
		width: 110px;
		height: 2px;
		margin: 20px auto 0;
		content: "";
	}
	.page-slider .slider__caption img {
		display: inline !important;
		width: auto;
	}
	.slider__caption span {
		display: none;
	}
}


/* 宿泊施設一覧レイアウト */
.hotel-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.hotel-list__item {
	margin-bottom: 1.5em;
}
.hotel-list a {
	display: block;
	padding: 10px;
	box-shadow: 0 1px 6px rgba(0,0,0,.2);
	background: #fff;
	color: #2e1302;
	text-decoration: none!important;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}
.hotel-list a:hover {
	box-shadow: 0 4px 12px -2px rgba(0,0,0,.5);
	color: #5f2704;
	opacity: .7;
}
@media print, (min-width:64em) {
	.hotel-list {
		margin: 0 -10px;
	}
	.hotel-list:after {
		display: table;
		clear: both;
		content: "";
	}
	.hotel-list__item {
		float: left;
		width: 250px;
	}
	.hotel-list a {
		margin: 0 10px;
		padding: 12px;
	}
}

/* 宿泊施設 中身 */
.item__img {
	margin: 0;
}
.item__body {
	font-size: 1.3rem;
}
.item__body .title {
	margin-bottom: 1em;
	font-size: 1.6rem;
	line-height: 1.4;
}
.item__btn {
	margin-top: 15px;
	padding: 6px 0;
	background: #c71c11;
	color: #fff;
	font-weight: bold;
	text-align: center;
}
.item__btn:after {
	margin-left: 4px;
	font-family: "icomoon";
	content: "\f138";
}
@media screen and (max-width:63.9375em) {
	.item__box:after {
		display: table;
		clear: both;
		content: "";
	}
	.item__img {
		float: left;
		width: 30%;
		text-align: right;
	}
	.item__body {
		margin-left: 31%;
		padding-top: 4px;
		padding-left: 8px;
	}
	.item__btn {
		clear: both;
		margin: 10px -10px -10px;
	}
}
@media screen and (min-width:48em) and (max-width:63.9375em) {
	.item__img { width: 220px; }
	.item__body { margin-left: 240px; }
}
@media print, (min-width:64em) {
	.item__img {
		text-align: center;
	}
	.item__body .title {
		margin: 20px 0 15px;
		min-height: 2.7em;
		font-size: 1.7rem;
		text-align: center;
	}
}


/* アクセス */
.access {
	overflow: hidden;
	margin-top: 20px;
	padding-top: 30px;
	background:#F4F1E5;
}
.access img {
	width: 100%;
}


/* テーマ別スタイル */
.forest .box-hotel:before { background-image: url(../img/bg_for_t.png); }
.forest .box-hotel__heading { background-image: url(../img/bg_for.png); }
.forest .detail__heading,
.forest .slider__caption:after { background: #6c3703; }
.forest .item__body .title { color: #6c3703; }

.plateau .box-hotel:before { background-image: url(../img/bg_pla_t.png); }
.plateau .box-hotel__heading { background-image: url(../img/bg_pla.png); }
.plateau .detail__heading,
.plateau .slider__caption:after { background: #2a8e13; }
.plateau .item__body .title { color: #2a8e13; }

.sea .box-hotel:before { background-image: url(../img/bg_sea_t.png); }
.sea .box-hotel__heading { background-image: url(../img/bg_sea.png); }
.sea .detail__heading,
.sea .slider__caption:after { background: #1392bc; }
.sea .item__body .title { color: #1392bc; }

.dog .box-hotel:before { background-image: url(../img/bg_dog_t.png); }
.dog .box-hotel__heading { background-image: url(../img/bg_dog.png); }
.dog .detail__heading,
.dog .slider__caption:after { background: #b87412; }
.dog .item__body .title { color: #b87412; }

.forest .page-slider .slick-prev,
.forest .page-slider .slick-next { background: #6c3703; }
.plateau .page-slider .slick-prev,
.plateau .page-slider .slick-next { background: #2a8e13; }
.sea .page-slider .slick-prev,
.sea .page-slider .slick-next { background: #1392bc; }
.dog .page-slider .slick-prev,
.dog .page-slider .slick-next { background: #b87412; }
.forest .slick-dots button { color: #6c3703; }
.plateau .slick-dots button { color: #2a8e13; }
.sea .slick-dots button { color: #1392bc; }
.dog .slick-dots button { color: #b87412; }
.forest .slick-dots .slick-active button { border-color: #6c3703; background: #6c3703; }
.plateau .slick-dots .slick-active button { border-color: #2a8e13; background: #2a8e13; }
.sea .slick-dots .slick-active button { border-color: #1392bc; background: #1392bc; }
.dog .slick-dots .slick-active button { border-color: #b87412; background: #b87412; }
