@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
/* mainVisual */
#main .mainVisual {
	position: relative;
}
#main .mainVisual .bg {
	width: 1700px;
	position: absolute;
	top: 134px;
	left: 50%;
	transform: translateX(-50%);
}
#main .mainVisual .image {
	height: 1466px;
	position: relative;
	background: url(../img/index/main_img01.jpg) no-repeat center center;
	background-size: cover;
}
#main .mainVisual .image::after {
	width: 100%;
	height: 676px;
	position: absolute;
	bottom: 0;
	left: 0;
	background: url(../img/index/bg.png) repeat-x left bottom;
	content: "";
}
#main .mainVisual .textBox {
	width: 600px;
	position: absolute;
	bottom: 98px;
	left: 50%;
	transform: translateX(-50%);
	text-align: center;
}
#main .mainVisual .textBox p {
	margin-bottom: 12px;
	color: #fff;
	font-size: 1.7rem;
	line-height: 1.94;
	text-align: center;
}
#main .mainVisual .textBox p:last-child {
	margin-bottom: 0;
}
#main .mainVisual .textBox .colTxt {
	color: #FAEE00;
	line-height: 1.58;
}
#main .mainVisual h1 {
	margin: 0 0 8px -62px;
}
@media all and (max-width: 768px) {
	#main .mainVisual .image {
		height: 700px;
	}
	#main .mainVisual .textBox {
		padding: 0 5px;
		width: 100%;
		bottom: 20px;
		box-sizing: border-box;
	}
	#main .mainVisual .textBox p {
		font-size: 1.2rem;
		line-height: 1.6;
	}
	#main .mainVisual .image::after {
		height: 458px;
		background-size: 100% 458px;
	}
	#main .mainVisual h1 {
		margin: 0 0 8px -18px;
	}
	#main .mainVisual h1 img {
		width: 100%;
		max-width: 250px;
	}
	#main .mainVisual .title {
		max-width: 380px;
		width: 96%;
		position: absolute;
		top: 277px;
		left: 50%;
		transform: translateX(-50%);
		z-index: 10;
	}
	#main .mainVisual .title img {
		width: 100%;
	}
}

/* voice */
#main .voice {
	padding: 42px 0 39px;
	position: relative;
	z-index: 10;
}
#main .voice .content {
	position: relative;
}
#main .voice .bgImg {
	position: absolute;
	bottom: -111px;
	left: -249px;
}
#main .voice .headline01 {
	margin-bottom: 4px;
}
#main .voice .headline01 span {
	padding-bottom: 4px;
	display: inline-block;
	border-bottom: 2px solid;
}
#main .voice .content {
	max-width: 802px;
}
#main .voice .flexBox {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#main .voice .box {
	width: 244px;
	font-weight: normal;
	font-family: 'FolkPro';
}
#main .voice .textBox {
	padding: 8px 7px 8px 11px;
	color: #ea5283;
	background-color: #faf5e2;
	border: 1px solid #ea5283;
	font-size: 1.6rem;
	line-height: 1.76;
	text-align: justify;
	text-justify: inter-ideograph;
	font-feature-settings: "palt";
	-moz-font-feature-settings: "palt";
	position: relative;
	z-index: 10;
}
#main .voice .textBox::after {
	width: 18px;
	height: 28px;
	position: absolute;
	top: -25px;
	left: 11px;
	background: url(../img/index/voice_icon01.png) no-repeat left top;
	background-size: 18px auto;
	content: "";
}
#main .voice .photoBox {
	margin: 0 0 -15px 11px;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
#main .voice .photoBox .txt {
	margin-top: 58px;
	padding: 7px 10px 8px;
	width: 117px;
	color: #fff;
	font-size: 1.229rem;
	border-radius: 7px;
	box-sizing: border-box;
	background-color: #EF86AB;
	line-height: 1.85;
}
#main .voice .photoBox .txt span {
	font-size: 1.58rem;
	line-height: 1;
	display: inline-block;
}
#main .voice .photoBox .txt .num {
	margin-right: 3px;
}
#main .voice .box02 .photoBox .txt {
	background-color: #4dbcf1;
}
#main .voice .box02 .textBox {
	color: #00A0E9;
	border-color: #00A0E9;
}
#main .voice .box02 .textBox::after {
	background-image: url(../img/index/voice_icon02.png);
}
#main .voice .box03 .photoBox .txt {
	background-color: #b2cb66;
}
#main .voice .box03 .textBox {
	color: #91B522;
	padding: 11px 8px 8px 8px;
	line-height: 1.38;
	letter-spacing: -0.1em;
	border-color: #91B522;
}
#main .voice .box03 .textBox::after {
	background-image: url(../img/index/voice_icon03.png);
}
@media all and (-ms-high-contrast:none){
	#main .voice .photoBox .txt {
		padding: 10px 10px 5px;
	}
}
@media all and (max-width: 768px) {
	#main .voice .flexBox {
		display: block;
	}
	#main .voice .box {
		margin-bottom: 30px;
		width: auto;
	}
	#main .voice .box03 {
		margin-bottom: 0;
	}
	#main .voice .photoBox .txt {
		margin-top: 30px;
		font-size: 1.1rem;
	}
	#main .voice .photoBox {
		margin-bottom: -8px;
		justify-content: flex-start;
	}
	#main .voice .photoBox .image {
		margin-right: 20px;
		width: 80px;
	}
	#main .voice .box03 .textBox {
		padding: 8px 7px 8px 11px;
		line-height: 1.76;
		letter-spacing: 0;
	}
	#main .voice .photoBox .txt span {
		font-size: 1.4rem;
	}
	#main .voice .textBox {
		font-size: 1.4rem;
	}
}

/* hotel */
#main .hotel {
	padding: 99px 0 75px;
	background-color: #feeae9;
}
#main .hotel .headline01 {
	margin-bottom: 119px;
	font-size: 4.3rem;
	line-height: 1.04;
	letter-spacing: 0;
}
#main .hotel .imgBox {
	margin: 0 auto 55px;
	padding: 27px 11px 11px;
	max-width: 804px;
	box-sizing: border-box;
	border: 10px solid #1579A0;
	background-color: #fff;
	position: relative;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
#main .hotel .box01 {
	border-color: #1579A0;
}
#main .hotel .box02 {
	border-color: #0F843C;
}
#main .hotel .box02 .title {
	top: -49px;
}
#main .hotel .box03 {
	border-color: #B32E27;
}
#main .hotel .box03 .title {
	top: -51px;
}
#main .hotel .box04 {
	border-color: #CE7C96;
}
#main .hotel .box04 .title {
	top: -45px;
}
#main .hotel .box05 {
	border-color: #EA5E68;
}
#main .hotel .box05 .title {
	top: -44px;
}
#main .hotel .box05 .flexBox {
	margin-top: 32px;
}
#main .hotel .box06 {
	margin-bottom: 81px;
	border-color: #CE7E49;
}
#main .hotel .box06 .title {
	top: -43px;
}
#main .hotel .title {
	position: absolute;
	top: -58px;
	left: -55px;
	z-index: 10;
}
#main .hotel .photoBox {
	margin-right: 15px;
	width: 230px;
	font-family: 'FolkPro-Heavy';
	position: relative;
}
#main .hotel .photoBox p {
	padding: 6px 5px;
	width: 100%;
	color: #fff;
	font-size: 1.84rem;
	box-sizing: border-box;
	position: absolute;
	bottom: 0;
	left: 0;
}
#main .hotel .rightBox {
	margin-top: 4px;
	flex: 1;
}
#main .hotel .imgUl {
	margin-top: -15px;
	display: flex;
	flex-wrap: wrap;
}
#main .hotel .imgUl li {
	margin: 15px 11px 0 0;
	width: 165px;
	color: #956134;
	font-family: 'FolkPro-Heavy';
	line-height: 1.2;
	font-feature-settings: "palt";
	-moz-font-feature-settings: "palt";
}
#main .hotel .imgUl li:nth-child(3n) {
	margin-right: 0;
}
#main .hotel .imgUl p {
	margin-top: 4px;
}
#main .hotel .flexBox {
	margin: 17px 0 0 3px;
	display: flex;
	justify-content: space-between;
}
#main .hotel .flexBox .txt {
	color: #38281B;
	font-size: 1.3rem;
	font-weight: bold;
	flex: 1;
	font-feature-settings: "palt";
	-moz-font-feature-settings: "palt";
}
#main .hotel .flexBox .comBtn {
	margin-top: -26px;
}
#main .hotel .flexBox .comBtn a {
	padding: 7px 5px 8px;
	width: 165px;
	font-size: 1.3rem;
	border-radius: 0;
	line-height: 1.3;
	background-color: #ED797B;
	letter-spacing: -0.05em;
}
#main .hotel .comBtn a {
	letter-spacing: 0.1em;
}
@media all and (max-width: 768px) {
	#main .hotel .photoBox p {
		font-size: 1.6rem;
	}
	#main .hotel .imgBox {
		padding: 50px 11px 11px;
		max-width: inherit;
		display: block;
		border-width: 5px;
	}
	#main .hotel .photoBox {
		margin: 0 0 20px;
		width: auto;
	}
	#main .hotel .photoBox img {
		width: 100%;
	}
	#main .hotel .imgUl {
		margin: 0;
		display: block;
	}
	#main .hotel .imgUl li {
		margin: 0 0 20px;
		width: auto;
	}
	#main .hotel .imgUl li:last-child {
		margin-bottom: 0;
	}
	#main .hotel .imgUl img {
		width: 100%;
	}
	#main .hotel .title {
		width: 284px;
		left: -15px;
		top: -39px;
	}
	#main .hotel .box02 .title {
		top: -34px;
	}
	#main .hotel .box03 .title {
		top: -36px;
	}
	#main .hotel .box04 .title {
		top: -34px;
	}
	#main .hotel .box05 .title {
		top: -32px;
	}
	#main .hotel .flexBox {
		margin-left: 0;
		display: block;
	}
	#main .hotel .flexBox .comBtn {
		margin-top: 20px;
		text-align: center;
	}
	#main .hotel .flexBox .comBtn a {
		width: auto;
	}
	#main .hotel .box06 .title {
		top: -32px;
	}
	#main .hotel .box06 {
		margin-bottom: 55px;
	}
	#main .hotel {
		padding: 50px 0;
	}
	#main .hotel .headline01 {
		margin: 0 -10px 80px;
		font-size: 2.6rem;
		line-height: 1.2;
	}
}

/* privilege */
#main .privilege {
	padding: 81px 0 72px;
	background: url(../img/index/privilege_bg.jpg) no-repeat center top -65px;
	background-size: 1600px;
}
#main .privilege .content {
	max-width: 884px;
}
#main .privilege .imgUl {
	margin-top: -40px;
	display: flex;
	flex-wrap: wrap;
}
#main .privilege .imgUl li {
	margin-top: 40px;
	width: 33.33%;
	text-align: center;
	box-sizing: border-box;
}
#main .privilege .imgUl p {
	margin: 0 -30px;
	line-height: 1.75;
}
#main .privilege .imgUl .image {
	margin-bottom: -11px;
}
#main .privilege .num01 {
	padding-left: 43px;
}
#main .privilege .num01 .image {
	margin: -4px -32px -27px -12px;
}
#main .privilege .num02 .image {
	margin-right: 20px;
}
#main .privilege .num04 .image {
	margin: 0 0 0 8px;
}
#main .privilege .num05 .image {
	margin: 0 9px 8px 0;
}
#main .privilege .num06 .image {
	margin: -30px 20px 5px 0;
}
#main .privilege .num07 .image {
	margin: 0 17px -5px 0;
}
#main .privilege .num08 .image {
	margin: 0 14px 1px 0;
}
#main .privilege .num09 .image {
	margin: 0 33px 1px 0;
}
#main .privilege .num10 .image {
	margin: 0 38px -8px 0;
}
#main .privilege .num11 .image {
	margin: 5px 0 -13px 17px;
}
@media all and (max-width: 768px) {
	#main .privilege .imgUl {
		margin: -40px auto 0;
		max-width: 345px;
	}
	#main .privilege .imgUl li {
		padding: 0 10px;
		width: 50%;
		box-sizing: border-box;
		font-size: 1rem;
	}
	#main .privilege .imgUl .image {
		margin: 0 -15px;
	}
	#main .privilege .imgUl .image img {
		width: auto;
		height: 74px;
	}
	#main .privilege .num01 {
		padding-left: 0;
	}
	#main .privilege .imgUl p {
		margin: 0 -10px;
	}
	#main .privilege .imgUl .num04 .image img {
		height: 80px;
	}
	#main .privilege .imgUl .num06 .image {
		margin-top: -19px;
	}
	#main .privilege .imgUl .num06 .image img {
		height: 92px;
	}
	#main .privilege {
		background-size: 1200px auto;
	}
}

/* hygiene */
#main .hygiene {
	padding: 53px 20px 60px;
	background: url(../img/index/hygiene_bg.jpg) no-repeat center center;
	background-size: cover;
}
#main .hygiene .textUl {
	margin: 0 auto;
	padding: 15px 14px 13px;
	max-width: 460px;
	background-color: rgba(255,255,255,0.81);
	box-sizing: border-box;
}
#main .hygiene .textUl li {
	margin-bottom: 5px;
	padding-left: 1em;
	text-indent: -1em;
}
#main .hygiene .textUl li:last-child {
	margin-bottom: 0;
}
@media all and (max-width: 768px) {
	#main .hygiene {
		padding: 53px 15px 60px;
	}
}


/* shop */
#main .shop {
	padding-top: 105px;
	background-color: #faf5e2;
}
#main .shop .headline01 {
	margin-bottom: 40px;
}
#main .shop .listUl {
	margin: -50px -25px 0;
	display: flex;
	flex-wrap: wrap;
	line-height: 1.2;
	font-feature-settings: "palt";
	-moz-font-feature-settings: "palt";
}
#main .shop .listUl.center {
	justify-content: center;
}
#main .shop .listUl li {
	margin: 50px 22px 0;
	width: 198px;
}
#main .shop .listUl .image {
	margin-bottom: 10px;
}
#main .shop .listUl p {
	margin-right: -50px;
}
#main .shop .listUl .txt {
	min-height: 84px;
}
#main .shop .btn {
	margin-top: 6px;
}
#main .shop .btn a {
	padding: 5px 8px 6px;
	color: #fff;
	font-size: 1.2rem;
	display: block;
	text-align: center;
	line-height: 1;
	background-color: #EA5E68;
}
#main .shop .btn span {
	display: inline-block;
	transform: scale(0.66);
}
#main .shop .btn02 {
	margin-top: 11px;
}
#main .shop .btn02 a {
	background-color: #A74293;
}
#main .shop .listUl + .headline03 {
	margin-top: 48px;
}
#main .shop .bannerBox {
	margin: 184px 0 114px;
	text-align: center;
}
#main .shop .bannerBox a {
	display: inline-block;
}
@media all and (min-width: 769px) {
	#main .shop .btn a:hover {
		opacity: 0.7;
	}
	#main .shop .bannerBox a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 768px) {
	#main .shop {
		padding: 105px 15px 0;
	}
	#main .shop .content {
		padding: 0;
	}
	#main .shop .listUl {
		margin: 0;
		display: block;
	}
	#main .shop .listUl .txt {
		min-height: 0;
	}
	#main .shop .btn {
		margin-top: 12px;
	}
	#main .shop .btn02 {
		margin-top: 6px;
	}
	#main .shop .bannerBox {
		margin: 90px 0 50px;
	}
	#main .shop .listUl li {
		margin: 50px 0 0;
		width: auto;
	}
	#main .shop .listUl .image img {
		width: 100%;
	}
	#main .shop .bannerBox img {
		width: 100%;
	}
}

#main .btmBox {
	margin-top: 80px;
    padding-top: 140px;
    position: relative;
    text-align: center;
}
#main .btmBox .photo {
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
}
#main .btmBox .photo img {
    width: 290px;
}
#main .btmBox p {
    padding: 100px 0 40px;
    color: #fff;
    font-size: 3.49rem;
    font-weight: bold;
    letter-spacing: 0.03em;
    text-align: center;
    background-color: #231816;
}
#main .map {
    height: 540px;
    position: relative;
}
#main .map iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
}
@media all and (max-width: 768px) {
	#main .map {
		margin: 0 -15px;
		height: auto;
		padding-bottom: 60vw;
	}
	#main .btmBox {
		padding-top: 17.5vw;
		margin: 40px -15px 0;
	}
	#main .btmBox .photo img {
		width: 36.25vw;
	}
	#main .btmBox p {
		padding: 12.5vw 0 5vw;
		font-size: 4.3vw;
	}
}