@charset "utf-8";

/*==============================
 Body
==============================*/
body {
	position: relative;
	overflow: hidden;
	font-size: 100%;
	word-wrap: break-word;
	-webkit-overflow-scrolling: touch;
	-webkit-text-size-adjust: none;
}
a {
	color: #000;
	text-decoration: none;
}
a:hover {
	text-decoration: none;
	opacity: 1;
	filter: alpha(opacity=100);
	-moz-opacity: 1;
}
.sp, .nobr {
	display: none!important;
}

/*==============================
 Header
==============================*/
header {
	width: 90%;
    max-width: 1000px;
	display: flex;
		justify-content: space-between;
		align-content: center;
		align-items: flex-end;
		/*flex-wrap: wrap;*/
    margin: 0 auto;
    padding: 20px 0;
    box-sizing: border-box;
}
header .logo {
	width: 70%;
	display: flex;
		justify-content: flex-start;
		align-content: flex-end;
		align-items: flex-end;
        /*flex-wrap: wrap;*/
}
header .logo img {
	width: 20%;
	display: block;
    margin-right: 20px;
	object-fit: contain;
	object-position: 50% 50%;
	font-family: 'object-fit: contain; object-position: 50% 50%;';
}
header .logo h1 {
	width: 80%;
	display: block;
    margin-bottom: 10px;
    font-size: 3.6em;
    font-weight: 900;
    line-height: 1.2em;
}
header .logo h1 span {
	width: 100%;
	display: block;
    font-size: 0.6em;
    line-height: 1.2em;
    color: #f08200;
}
header a.link {
	width: auto;
    height: 60px;
	display: flex;
		justify-content: space-between;
		align-content: center;
		align-items: center;
    padding-right: 35px;
    font-size: 1.6em;
    line-height: 1em;
    background: url("../images/icon_link.svg") no-repeat right center;
    background-size: 30px 30px;
	box-sizing: border-box;
    opacity: 1;
	transition: all 200ms;
}
header a.link:hover {
	text-decoration: underline;
    color: #06c;
}


/*==============================
 Common
==============================*/
main {
	position: relative;
	width: 90%;
    max-width: 1000px;
	display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
    margin: 0 auto;
}
.reverse {
	flex-direction: row-reverse;
}
article {
	width: 100%;
	display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
}
.block {
	width: 100%;
	display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
    padding: 20px 0;
}
.midTitle {
	width: 100%;
    height: 100px;
	display: flex;
		justify-content: flex-start;
		align-content: center;
		align-items: flex-end;
    padding: 10px 0 10px 90px;
    font-size: 2.6em;
    font-weight: 700;
    line-height: 1.8em;
    color: #0d7c4f;
    border-bottom: solid 5px #0d7c4f;
    background: url("../images/icon_female.svg") no-repeat left center;
    background-size: 80px 80px;
    box-sizing: border-box;
}

/*==============================
メインビジュアル
==============================*/
.mainVisual {
	width: 100%;
    max-width: 1000px;
	display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
		flex-wrap: wrap;
    margin: 0 auto;
}
.mainVisual img.main_banner_l {
	width: 100%;
	display: block;
	object-fit: contain;
	object-position: 50% 50%;
	font-family: 'object-fit: contain; object-position: 50% 50%;';
}
.mainVisual .leftBox {
	width: 44%;
	display: flex;
		justify-content: flex-start;
		align-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
    padding: 20px 0;
    box-sizing: border-box;
}
.mainVisual .leftBox dl {
	width: 100%;
	display: flex;
		flex-wrap: wrap;
    margin: 10px 0 30px;
}
.mainVisual .leftBox dl dt {
	width: 100%;
	display: block;
    margin-bottom: 20px;
    font-size: 2.7em;
    font-weight: 900;
    line-height: 1.6em;
    color: #0d7c4f;
}
.mainVisual .leftBox dl dt strong {
	width: 100%;
	display: block;
    margin-bottom: 5px;
    font-size: 1.6em;
}
.mainVisual .leftBox dl dd {
	width: 100%;
	display: block;
    font-size: 1.5em;
    font-weight: 700;
    line-height: 1.8em;
}
.mainVisual .leftBox ul {
	width: 100%;
	display: flex;
		justify-content: flex-end;
		align-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
}
.mainVisual .leftBox ul li {
	width: 100%;
	display: block;
}
.mainVisual .leftBox ul li a {
	width: 100%;
    height: 50px;
	display: flex;
		justify-content: flex-end;
		align-content: center;
		align-items: center;
    padding: 0 40px 0 0;
    font-size: 1.4em;
    font-weight: 700;
    line-height: 1.8em;
    text-decoration: underline;
    color: #06c;
    background: url("../images/icon_link.svg") no-repeat right center;
    background-size: 30px 30px;
    box-sizing: border-box;
}
.mainVisual img.photo_grupe {
	width: 60%;
    max-width: 590px;
	display: block;
    margin-right: -4%;
	object-fit: contain;
	object-position: 50% 50%;
	font-family: 'object-fit: contain; object-position: 50% 50%;';
}


/*==============================
お申し込み｜宿泊補助券の購入について
==============================*/
img.price {
	width: 68%;
	display: block;
}
img.main_banner_s {
	width: 30%;
	display: block;
}
img.arrow_down {
	width: 20%;
	display: block;
	margin: 0 auto;
}
ul.siteList {
	width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: flex-start;
        flex-wrap: wrap;
    margin-bottom: 40px;
    padding: 40px 5%;
    background: #f2f9f6;
    box-sizing: border-box;
}
ul.siteList::after {
	content: '';
    width: 30%;
}
ul.siteList li {
	width: 30%;
	display: block;
    margin: 10px 0;
    background: #f2f9f6;
}
ul.siteList li span a {
	width: 100%;
	display: block;
    margin-top: 10px;
    font-size: 1.3em;
    line-height: 1.2em;
    text-align: center;
    text-decoration: underline;
    color: #06c;
}


/*==============================
宿泊施設
==============================*/
.hotelBlock {
	width: 100%;
	display: flex;
		justify-content: flex-start;
		align-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
    padding: 40px 5%;
    border: solid 1px  #0d7c4f;
    box-sizing: border-box;
}
.hotelBlock ul {
	width: 100%;
	display: flex;
		justify-content: space-between;
        /*flex-wrap: wrap;*/
    margin: 20px 0;
}
.hotelBlock ul li {
	width: 24%;
	display: block;
}
.hotelBlock .copy {
	width: 100%;
	display: block;
    font-size: 3.6em;
    font-weight: 900;
    line-height: 1.2em;
    text-align: center;
    color: #f15a24;
}
.hotelBlock .read {
	width: 100%;
	display: block;
    font-size: 2.4em;
    line-height: 1.2em;
    text-align: center;
}
.hotelBlock a.btn_hotel_list {
	width: 50%;
	display: block;
    margin: 30px auto 0;
}


/*==============================
その他の返礼品について
==============================*/
ul.siteList2 {
	width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: center;
		align-items: center;
        flex-wrap: wrap;
    padding: 10px 0;
    box-sizing: border-box;
}
ul.siteList2::after {
	content: '';
    width: 18%;
}
ul.siteList2 li {
	width: 18%;
	display: block;
    margin: 10px 0;
}


/*==============================
Footer
==============================*/
footer {
	width: 100%;
	display: block;
    margin-top: 40px;
    color: #fff;
    background: #0d7c4f;
}
footer #page-top {
	position: fixed;
	width: 80px;
	right: 20px;
	bottom: 70px;
	z-index: 30000;
	border-radius: 50px;
	background: rgba(13,124,79,0.5);
}
footer .inner {
    width: 100%;
    max-width: 1000px;
    display: flex;
		justify-content: center;
		align-items: center;
        flex-wrap: wrap;
    margin: 0 auto;
    padding: 30px 0;
}
footer section {
	width: 100%;
	display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
		/*flex-wrap: wrap;*/
}
footer img.logo {
	width: 24%;
	display: block;
    margin-right: 20px;
	object-fit: contain;
	object-position: 50% 50%;
	font-family: 'object-fit: contain; object-position: 50% 0%;';
}
footer address {
	width: auto;
    display: block;
	font-size: 1.2em;
    line-height: 1.4em;
}
footer address a {
	color: #fff;
}
footer .copyright {
	width: 100%;
    height: 40px;
    display: flex;
		justify-content: center;
		align-content:  center;
		align-items: center;
	font-size: 1em;
    line-height: 1em;
    text-align: center;
    background: #333;
}
