@charset "utf-8";

/* ---------------------------------------- 
 - golfstay_story
---------------------------------------- */
#golfstay_story {
	margin: 120px auto 100px;
}
#golfstay_story > .inner {
	width: 100%;
	max-width: 1400px;
	margin: 0 auto 120px;
}
/* lead_visual */
#golfstay_story .lead_visual {
	display: flex;
	align-items: center;
	justify-content: space-between;	
	width: 90%;
	max-width: 1200px;
	margin: 0 auto 100px 0;
}
#golfstay_story .lead_visual .lead_visual_txt {
	width: 40%;
	line-height: 2.2;
}
#golfstay_story .lead_visual .visual {
	width: 54%;
	max-width: 645px;
	position: relative;
	aspect-ratio: 5 / 4;
}
#golfstay_story .lead_visual .visual img,
#golfstay_story .lead_visual .visual video {
	width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover';
}
/* visual_set */
#golfstay_story .visual_set {
	width: 85%;
	max-width: 1260px;
	margin: 0 auto 80px;
}
#golfstay_story .visual_set > .inner {
	display: flex;
	justify-content: space-between;
	width: 100%;
}
#golfstay_story .visual_set > .inner .visual {
	max-width: 620px;
}
#golfstay_story .visual_set.set-01 > .inner .visual:nth-child(1) {
	width: 50%;
}	
#golfstay_story .visual_set.set-01 > .inner .visual:nth-child(2) {
	margin-top: 8%;
	width: 36%;
}	
#golfstay_story .visual_set.set-02 {
	width: 85%;
    padding-right: 6%;
}
#golfstay_story .visual_set.set-02 > .inner .visual:nth-child(1) {
	margin-top: 8%;
	width: 44%;
}	
#golfstay_story .visual_set.set-02 > .inner .visual:nth-child(2) {
	width: 48%;
}	
/* lead_only */
#golfstay_story .lead_only {
	width: 90%;
	max-width: 600px;
	margin: 0 auto 80px;
	line-height: 2.2;
}
/* story_visual_end */
#golfstay_story .story_visual_end{
	width: 100%;
	height: 50vw;
	max-height: 550px;
	overflow: hidden;
	position: relative;
}
#golfstay_story .story_visual_end .visual{	
	width: 100%;
	margin-top: -24%;
}
#golfstay_story .story_visual_end .visual img,
#golfstay_story .story_visual_end .visual picture {
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover';
}
@media screen and (min-width: 1360px) {
	/* story_visual_end */
	#golfstay_story .story_visual_end .visual{
		margin-top: -28%;
	}
}
@media screen and (max-width: 768px) {
	#golfstay_story {
		margin: 60px auto 50px;
	}
	#golfstay_story > .inner {
		margin-bottom: 75px;
	}
	/* lead_visual */
	#golfstay_story .lead_visual {
		display: block;
		margin:0 auto 50px;
	}
	#golfstay_story .lead_visual .lead_visual_txt {
		width: 100%;
	}
	#golfstay_story .lead_visual .lead_visual_txt .ttl {
		font-size: 1.8rem;
	}
	#golfstay_story .lead_visual .lead_visual_txt .txt {
		font-size: 1.4rem;
	}
	#golfstay_story .lead_visual .visual {
		width: 100%;
		aspect-ratio: auto;
		margin-bottom: 40px;
	}
	/* visual_set */
	#golfstay_story .visual_set {
		width: 94%;
		margin-bottom: 50px;
	}
	#golfstay_story .visual_set.set-01 {
		margin-left: 0;
	}
	#golfstay_story .visual_set.set-01 > .inner .visual:nth-child(1) {
		width: 50%;
	}	
	#golfstay_story .visual_set.set-01 > .inner .visual:nth-child(2) {
		margin-top: 8%;
		width: 36%;
	}	
	#golfstay_story .visual_set.set-02 {
		width: 94%;
		margin-right: 0;
		padding-right: 0;
	}	
	#golfstay_story .visual_set.set-02 > .inner .visual:nth-child(1) {
		margin-top: 8%;
		width: 40%;
	}	
	#golfstay_story .visual_set.set-02 > .inner .visual:nth-child(2) {
		width: 50%;
	}
	/* lead_only */
	#golfstay_story .lead_only {
		margin-bottom: 50px;
	}	
	#golfstay_story .lead_only .txt {
		font-size: 1.4rem;
	}
	/* story_visual_end */
	#golfstay_story .story_visual_end{
		height: 65vw;
	}
	#golfstay_story .story_visual_end .visual {
		margin-top: -35%;
	}
}
@media screen and (max-width: 480px) {
	/* story_visual_end */
	#golfstay_story .story_visual_end{
		height: 280px;
	}
}

/* ---------------------------------------- 
 - golfstay_accommodations
---------------------------------------- */
#golfstay_accommodations {
	margin:0 auto 120px;
	text-align: center;
}
.accommodations_header {
	width: 90%;
	max-width: 1200px;
	margin:0 auto;
}
.accommodations_ttl {
	font-size: 5.2rem;
	font-weight: 200;
	line-height: 1.2;	
	color:#657568;
	margin-bottom: 0.2em;
}
.accommodations_catch {
    font-size: 2.8rem;
	margin-bottom: 0.8em;
}
.accommodations_lead {
    font-size: 1.6rem;
	margin-bottom: 3.0em;
}
/* accommodations_list */
.accommodations_list {
	max-width: 1400px;
	margin: 0 auto;
}
/* accommodations_item */
.accommodations_item {
	margin-bottom: 20px;
	position: relative;
	overflow: hidden;
}
/* accommodations_item_head */
.accommodations_item_head {
	background: #d0d1cc;
	position: relative;
	z-index: 1;
	position: relative;
	padding: 50px 0;
}
.accommodations_item_head > .inner {
	width: 90%;
	margin: 0 auto;
}
.accommodations_item_head .bg_visual {
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 100%;
	z-index: -1;
	transition: opacity 0.5s;
}
.accommodations_item_head .bg_visual img,
.accommodations_item_head .bg_visual picture {
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover';
}
.accommodations_item_head .ttl {
	font-size: 5.2rem;
	font-weight: 200;
	line-height: 1.2;
	margin-bottom: 0.5em;
	color: #fff;
}
.accommodations_item_head .ttl > span{
	border-bottom: solid 1px #fff;
	line-height: 1.2;
	display: inline-block;
}
.accommodations_item_head .lead {
	margin-bottom: 1.0em;
	overflow: hidden;
	transition: max-height 0.5s ease, opacity 0.5s ease, margin-bottom 0.5s ease;
	color: #fff;
}
.accommodations_item_head .accordion_btn {
    position: relative;
    line-height: 1.6;
    display: inline-block;
	text-decoration: none;
	box-sizing: border-box;
	border: solid 1px #fff;
	border-radius: 50px;
	min-width: 225px;
	text-align: center;
	padding: 10px 50px 10px 45px;
	color: #fff;
	transition: .3s;
	background: none;
	margin-top: 15px;
}
.accommodations_item_head .accordion_btn .icon {
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    display: block;
    width: 30px;
    height: 30px;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}
.accommodations_item_head .accordion_btn .icon:before,
.accommodations_item_head .accordion_btn .icon:after {
    display: block;
    content: '';
    background-color: #fff;
    position: absolute;
    width: 30px;
    height: 1px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(180deg);
    transition: all .4s;
}	
.accommodations_item_head .accordion_btn .icon:before {
    transform: translate(-50%, -50%) rotate(90deg);
}
/* is-open */
.accommodations_item.is-open .accommodations_item_head .bg_visual {
	opacity: 0;
}
.accommodations_item.is-open .accommodations_item_head .ttl {
	color: #657568;
}
.accommodations_item.is-open .accommodations_item_head .ttl span {
	border-color: #657568;
}
.accommodations_item.is-open .accommodations_item_head .lead {
	opacity: 0;
	max-height: 0;
	margin-bottom: 0;
}
.accommodations_item.is-open .accommodations_item_head .accordion_btn {
	border-color: #657568;
	color: #657568;
}
.accommodations_item.is-open .accommodations_item_head .accordion_btn .icon:before,
.accommodations_item.is-open .accommodations_item_head .accordion_btn .icon:after {
    background-color: #657568;
}
.accommodations_item.is-open .accommodations_item_head .accordion_btn .icon:before {
    transform: translate(-50%, -50%) rotate(180deg);
}
/* comingsoon */
.accommodations_item.comingsoon .accommodations_item_head .ttl {
	color: #657568;
}
.accommodations_item.comingsoon .accommodations_item_head .ttl span {
	border-color: #657568;
}
.accommodations_item.comingsoon .accommodations_item_head .lead {
	color: #657568;
}
/* accommodations_item_body */
.accommodations_item_body {
	overflow: hidden;
	max-height: 0;
	transition: max-height 0.5s ease;
}
.accommodations_item_body > .inner {
	max-width: 1400px;
	margin: 60px auto 80px;
}
/* ffv_link */
.accommodations_item_body .ffv_link {
	margin: 60px auto;
	text-align: right;
}
/* item_detail */
.accommodations_item_body .item_detail {
	width: 95%;
	max-width: 1200px;
	margin-bottom: 100px;
	display: flex;
	justify-content: space-between;
}
.accommodations_item_body .item_detail:last-child {
	margin-bottom: 0;
}
.accommodations_item_body .item_detail:nth-child(odd) {
	margin-right: auto;
}
.accommodations_item_body .item_detail:nth-child(even) {
	flex-direction:row-reverse;
	margin-left: auto;
}
.accommodations_item_body .item_detail .visual {
	width: 54.5%;
    max-width: 650px;
}
.accommodations_item_body .item_detail .visual img,
.accommodations_item_body .item_detail .visual picture {
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover';
}
.accommodations_item_body .item_detail .txt_box {
	width: 40.5%;
	padding: 2% 0;
	text-align: left;
}
.accommodations_item_body .item_detail .txt_box .txt_box_head {
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: solid 1px #92a395;
	line-height: 1.6;
}
.accommodations_item_body .item_detail .txt_box .txt_box_head .ttl {
    font-size: 2.4rem;
	line-height: 1.2;
	margin: 0.5em 0;
}
.accommodations_item_body .item_detail .txt_box .link_btn {
	margin-top: 20px;
}
.accommodations_item_body .item_detail.comingsoon { /* comingsoon */
	background: #d0d1cc;
    padding: 30px 0;
    margin: 0 auto;
    text-align: center;
    display: block;
}
.accommodations_item_body .item_detail.comingsoon .comingsoon_txt { /* comingsoon */
	color: #657568;
}
/* swiper-acc */
.swiper-acc {
	position: relative;
}
.swiper-acc .swiper-pagination {
    bottom: -35px !important;
    text-align: right;
}
.swiper-acc .swiper-pagination-bullet {
    margin: 0 7px !important;
}
.swiper-acc .swiper-pagination-bullet {
	border: solid 1px #657568;
    background: #dddeda;
	opacity: 1;
}
.swiper-acc .swiper-pagination-bullet-active {
    background: #657568;
}
.swiper-button-prev,.swiper-container-rtl .swiper-button-next {
    background-image: url("/assets/images/golfstay/swiper-next.svg");
    left: 10px;
    right: auto;
}
.swiper-button-next,.swiper-container-rtl .swiper-button-prev {
    background-image: url("/assets/images/golfstay/swiper-prev.svg");
    right: 10px;
    left: auto;
}
@media screen and (max-width: 1401px) {
	/* ffv_link */
	.accommodations_item_body .ffv_link {
		width: 90%;
	}
}
@media screen and (max-width: 768px) {
	#golfstay_accommodations {
		margin-bottom: 60px;
	}
	.accommodations_ttl {
		font-size: 3.6rem;
	}
	.accommodations_catch {
		font-size: 1.6rem;
	}
	.accommodations_lead {
		font-size: 1.5rem;
	}
	/* accommodations_item_head */
	.accommodations_item_head {
		padding: 30px 0;
	}
	.accommodations_item_head .ttl {
		font-size: clamp(2rem, 7vw, 5.2rem);
	}
	.accommodations_item_head .accordion_btn {
		font-size: 1.4rem;
        padding: 7px 35px 7px 30px;
        min-width: 200px;
		margin-top: 10px;
	}
	.accommodations_item_head .accordion_btn .icon {
		right: 10px;
		width: 20px;
		height: 20px;
	}
	.accommodations_item_head .accordion_btn .icon:before,
	.accommodations_item_head .accordion_btn .icon:after {
		width: 20px;
	}
	/* accommodations_item_body */
	.accommodations_item_body > .inner {
		margin: 35px auto 50px;
	}
	/* ffv_link */
	.accommodations_item_body .ffv_link {
		font-size: 1.4rem;
		margin: 40px auto;
	}
	/* item_detail */	
	.accommodations_item_body .item_detail {
		width: 90%;
		margin: 0 auto 60px;
		display: block;
	}
	.accommodations_item_body .item_detail .visual {
		width: 100%;
	}
	.accommodations_item_body .item_detail .txt_box {
		width: 100%;
		padding: 0;
		margin-top: 1.5em;
	}
	.accommodations_item_body .item_detail .txt_box .txt_box_head {
		margin-bottom: 15px;
		padding-bottom: 15px;
	}
	.accommodations_item_body .item_detail .txt_box .txt_box_head .ttl {
		font-size: 2rem;		
	}
	.accommodations_item_body .item_detail .txt_box .link_btn {
		margin-top: 15px;
	}
}