@charset "UTF-8";




/* ----------------------------top_hero ---------------------------- */

.top_head{
	clip: rect(0 0 0 0);
    -webkit-clip-path: inset(50%);
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    border: 0;
    white-space: nowrap;
    clip-path: inset(50%);
}

.top_hero{
	position: relative;
	height: 100vh;
	min-height: 39vw;
	background: #999;
}
.top_hero_bg_pc,
.top_hero_bg_sp{
	position: absolute!important;
	z-index: 1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;	
}
.top_hero_bg_sp{
	display: none;
}
.top_hero_inner{
	position: relative;
	z-index: 2;
	width: 100%;
	height: 100%;	
}
.top_hero_head{
	padding: min(3.75vw, 60px);
	font-size: min(3.33vw, 44px);
	color: #fff;
	line-height: 1.45;
	display: flex;
	align-items: center;
	height: 100%;
	box-sizing: border-box;
}

.top_hero_scroll{
	position: absolute;
	bottom: 30px;
	left: min(3.75vw, 60px);
	-webkit-writing-mode: vertical-rl;
  	-ms-writing-mode: tb-rl;
  	writing-mode: vertical-rl;
	z-index: 2;
}
.top_hero_scroll a:before,
.top_hero_scroll a:after{
	content: "";
	display: inline-block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 1px;
	height: 100%;
	background: #fff;
	transition: height .3s cubic-bezier(0.2, 1, 0.3, 1);
}
.top_hero_scroll a:before{
	height: 0;
	-webkit-transition-delay:.3s;
	transition-delay:.3s;
}

.top_hero_scroll a{
	font-size: min(1.52vw, 20px);
	line-height: 1.75;
	color: #fff;
	display: block;
	padding: 0 5px min(4.55vw, 60px);
}
@media (hover: hover) {
.top_hero_scroll a:hover:before{
	height: 100%;
}
.top_hero_scroll a:hover:after{
	height: 0;
}
}

@media only screen and (max-width: 959px) {
.top_hero{
	height: 100vh; /* fall back */
	height: 100dvh;
}
.top_hero_bg_pc{
	display: none;
}
.top_hero_bg_sp{
	display: block;
}
.top_hero_head{
	padding: 60px min(5.13vw, 20px) min(5.13vw, 20px);
	font-size: min(7.18vw, 28px);
}

.top_hero_scroll{
	bottom: calc(60px + min(5.13vw, 20px));
	left: min(5.13vw, 20px);
}

.top_hero_scroll a{
	font-size: min(4.1vw, 16px);
	padding: 0 5px 40px;
}
}

/* ----------------------------top_hero animation---------------------------- */

.vegas-animation-kenburns {
    animation: kenburns ease-out;
}

@keyframes kenburns {
    0% {
        transform: scale(1.15);
    }
    100% {
        transform: scale(1);
    }
}
.top_hero_inner .vegas-wrapper{
	padding: 0;
}


/* ----------------------------top_reserve ---------------------------- */


.top_reserve{
	background: #F0FDFF;
	padding: min(3.03vw, 40px) 0;
}
.top_reserve_btn{
	display: flex;
	justify-content: center;
}
.top_reserve_btn_link{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: min(1.52vw, 20px);
	padding: min(1.21vw, 16px) min(2.27vw, 30px);
	border: 1px solid #AAA;
	border-radius: 9999px;
	min-width: 900px;
	box-sizing: border-box;
	transition:  all 0.2s;
}
.top_reserve_btn_txt{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: min(1.21vw, 16px);	
}
.top_reserve_btn_txt:before {
    content: "";
    display: inline-block;
    width:  min(1.59vw, 21px);
    height: min(1.36vw, 18px);
    background: url(../images/common/ico_reserve_b.svg) no-repeat center center / contain;
}
.top_reserve_btn_price {
    font-size: min(2.56vw, 10px);
    font-weight: 600;
    line-height: 1.35;
    color: #fff;
    background: #F29B7B;
    border-radius: 9999px;
    padding: min(0.38vw, 5px) min(0.76vw, 10px); 
}
@media (hover: hover) {
.top_reserve_btn_link:hover{
	border: 1px solid #71BAC3;
	background: #71BAC3;
	color: #fff;
}
.top_reserve_btn_link:hover .top_reserve_btn_txt:before {
    background-image: url(../images/common/ico_reserve_w.svg);
}
}

@media only screen and (max-width: 959px) {
.top_reserve{
	padding: min(7.69vw, 30px) 0;
}
.top_reserve_btn_link{
	gap: min(4.1vw, 16px);
	padding: min(3.59vw, 14px);
	letter-spacing: 0.75px;
	min-width: auto;
	width: 100%;
}
.top_reserve_btn_txt{
	gap: min(3.08vw, 12px);	
}
.top_reserve_btn_txt:before {
    width: min(5.38vw, 21px);
    height: min(4.62vw, 18px);
}
.top_reserve_btn_price {
    font-size: min(2.56vw, 10px);
	 padding: min(1.28vw, 5px) min(2.56vw, 10px); 
}

}


/* ----------------------------top_bnr ---------------------------- */

.top_bnr{
	padding-top: min(4.55vw, 60px);
}
.top_bnr_list{
	display: flex;
	justify-content: space-between;
}
.top_bnr_item{
	width: calc(50% - 10px);
}
.top_bnr_link{
	display: block;
	border: 1px solid #D9D9D9;
	border-radius: 6px;
	padding: 8px;
	color: #fff;
	height: 100%;
	box-sizing: border-box;
}
.top_bnr_link_inner{
	padding: min(1.82vw, 24px) min(3.03vw, 40px);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: min(3.03vw, 40px);
	transition: opacity 0.2s;
	height: 100%;
	box-sizing: border-box;
}
@media (hover: hover) {
.top_bnr_link_inner:hover{
	opacity: 0.95;
}

}
.magazine .top_bnr_link_inner{
	background: url("../images/top/bmr_top_magazine.jpg") no-repeat center center/cover;
}
.map .top_bnr_link_inner{
	background: url("../images/top/bmr_top_map.jpg") no-repeat center center/cover;
}
.top_bnr_en{
	font-size: min(3.33vw, 44px);
	line-height: 1.15;
}
.top_bnr_ja{
	letter-spacing: 0.5px;
	line-height: 1.75;
}
.top_bnr_link_inner:after{
	content: "";
	display: inline-block;
	width: min(4.55vw, 60px);
	height: min(4.55vw, 60px);
	background: url("../images/common/arrow_w.svg") no-repeat center center/min(1.54vw, 16px) auto;
	border: 1px solid #fff;
	border-radius: 9999px;
}

@media only screen and (max-width: 959px) {
.top_bnr{
	padding-top: min(7.69vw, 30px);
}
.top_bnr_list{
	flex-direction: column;
	gap: min(2.56vw, 10px);
}
.top_bnr_item{
	width: 100%;
}
.top_bnr_link{
	border-radius: 0;
	padding: 5px;
}
.top_bnr_link_inner{
	padding: min(6.15vw, 24px) min(3.85vw, 15px);
	gap: min(3.85vw, 15px);
}
.top_bnr_en{
	font-size: min(8.21vw, 32px);
}
.top_bnr_ja{
	font-size: min(3.08vw, 12px);
}
.top_bnr_link_inner:after{
	width: min(13.33vw, 52px);
	height: min(13.33vw, 52px);
	background: url("../images/common/arrow_w.svg") no-repeat center center/min(3.59vw, 14px) auto;
}
}


/* ----------------------------top_concept ---------------------------- */

.top_concept{
	display: flex;
	background: url("../images/top/bg_top_concept.svg") no-repeat -4.4vw 10px/29.75vw auto;
}
.top_concept_content{
	width: 46%;
	padding: 0 min(3.78vw, 50px);
	display: flex;
	justify-content: center;
}
.top_concept_head{
	font-size: min(3.18vw, 42px);
	letter-spacing: 0.5px;
	line-height: 1.6;
	margin-bottom: min(4.55vw, 60px);
}
.top_concept_lead + .top_concept_lead{
	margin-top: min(2.27vw, 30px);
}
.top_concept_img{
	display: block;
	width: 54%;
	max-height: 720px;
	overflow: hidden;
}
.top_concept_img img {
    object-fit: cover;
    object-position: 50% 50%;
    width: 100%;
    height: 100%;
}
@media only screen and (max-width: 959px) {
.top_concept{
	flex-direction: column;
	background: url("../images/top/bg_top_concept.svg") no-repeat max(-9.74vw, -38px) 24px/min(61.02vw, 238px) auto;
	position: relative;
}
.top_concept_content{
	justify-content: flex-start;
	width: 100%;
	padding: 0 clamp(20px, 3.03vw, 40px);
	box-sizing: border-box;
}
.top_concept_head{
	font-size: min(6.92vw, 27px);
	letter-spacing: 0.25px;
	margin-right: -5px;
	margin-bottom: calc(70px + ((100vw - 40px)*.62));
}
.top_concept_lead + .top_concept_lead{
	margin-top: 20px;
}
.top_concept_img{
	width: calc(100% - 40px);
	position: absolute;
	top: calc(120px + min(23.08vw, 90px));
	left: 40px;
}
}


/* ----------------------------top_section ---------------------------- */


.top_section + .top_section{
	padding-top: 120px;
}

@media only screen and (max-width: 959px) {

.top_section + .top_section{
	padding-top: 80px;
}

}


/* ----------------------------top_slider ---------------------------- */

.top_slider_indicator{
	display: flex;
	flex-wrap: wrap;
	gap: min(0.91vw, 12px);
}
.top_slider_indicator_link{
	font-size: min(1.06vw, 14px);
	line-height: 1.6;
	display: block;
	padding: min(0.53vw, 7px) min(1.52vw, 20px);
	border: 1px solid #AAA;
	border-radius: 9999px;
	transition: all 0.2s;
}
.current .top_slider_indicator_link{
	color: #fff;
	border: 1px solid #444;
	background: #444;
}

@media (hover: hover) {
.top_slider_indicator_link:hover{
	color: #fff;
	border: 1px solid #444;
	background: #444;
}
}

.top_slider_list{
	width: 79.03%;
	max-width: 980px;
	margin: min(3.03vw, 40px) auto 0;
}
.top_slider_item_inner{
	display: flex;
	height: 100%;
}
.top_slider_img{
	width: 62.5%;
    display: flex;
    justify-content: center;
    overflow: hidden;
}
.top_slider_img img {
    object-fit: cover;
    object-position: 50% 50%;
    width: 100%;
    height: 100%;
}
.top_slider_content{
	width: 37.5%;
	background: #F0FDFF;
	padding: min(3.03vw, 40px);
	box-sizing: border-box;
	display: flex;
	align-items: center;
}
.top_slider_head{
	font-size: min(1.67vw, 22px);
	font-weight: 600;
	margin-bottom: min(2.27vw, 30px);
}
.top_slider_head_ruby {
  ruby-position: over;
}
.top_slider_head_ruby_rt{
	font-size: 10px;
	ruby-align: center;
	position: relative;
	top: -3px;
}

@media only screen and (max-width: 959px) {
.top_slider_indicator{
	gap: min(2.56vw, 10px);
}
.top_slider_indicator_link{
	font-size: min(3.08vw, 12px);
	padding: min(1.54vw, 6px) min(4.1vw, 16px);
}

.top_slider_list{
	width: calc(100% + 40px);
	margin: 20px -20px 0;
}
.top_slider_item_inner{
	flex-direction: column;
	height: 100%;
}
.top_slider_img{
	width: 100%;
	height: 72vw;
	flex-shrink: 0;
	overflow: visible;
}
.top_slider_content{
	width: 100%;
	height: 100%;
	padding: min(7.69vw, 30px) 20px;
	align-items: flex-start;
}
.top_slider_head{
	font-size: min(4.1vw, 16px);
	margin-bottom: min(2.56vw, 10px);
}
.top_slider_head_ruby_rt{
	top: -2px;
}
}

/* ----------------------------top_news ---------------------------- */

.top_news{
	padding-top: 160px;
}
.top_news .section_head{
	float: left;
	width: 26.61%;
}

.top_news .btn_more{
	margin-top: 0;
	float: left;
	width: 26.61%;
}
.top_news_list{
	float: right;
	width: 65.32%;
	border-top: 1px solid #D9D9D9;
}
.top_news_item{
	border-bottom: 1px solid #D9D9D9;
}
.top_news_link{
	display: flex;
	gap: min(3.03vw, 40px);
	padding: min(2.27vw, 30px) min(7.27vw, 96px) min(2.27vw, 30px) 0;
	transition: all 0.2s;
	position: relative;
	    
}
@media (hover: hover) {
.top_news_link:hover{
	color: #71BAC3;
}
}
.top_news_link:after {
	content: "";
    display: inline-block;
    width: min(1.54vw, 16px);
    height: min(0.98vw, 13px);
    background: url(../images/common/arrow_b.svg) no-repeat center center / contain;
    transition: all 0.2s;
	position: absolute;
	right: min(3.03vw, 40px);
	top: 0;
	bottom: 0;
	margin: auto 0;
}
.top_news_img{
	width: min(9.09vw, 120px);
	flex-shrink: 0;
	aspect-ratio: 3 / 2;
}
.top_news_img img {
    object-fit: cover;
    object-position: 50% 50%;
    width: 100%;
    height: 100%;
}
.top_news_content{
	width: min(49.24vw, 650px);
}
.top_news_content_head{
	display: flex;
	gap: min(1.52vw, 20px);
	font-size: min(1.06vw, 14px);
	color: #888;
}
.top_news_lead{
	margin-top: min(0.76vw, 10px);
}

@media only screen and (max-width: 959px) {
.top_news{
	padding-top: 80px;
}
.top_news .section_head{
	float: none;
	width: 100%;
}

.top_news .btn_more{
	margin-top: 30px;
	float: none;
	width: 100%;
	justify-content: flex-end;
}
.top_news .btn_more_link {
    justify-content: flex-end;
}

.top_news_list{
	float: none;
	width: 100%;
}
.top_news_link{
	gap: 20px;
	padding: 24px 0 52px 0;
	    
}
.top_news_link:after {
    width: min(4.1vw, 16px);
    height: min(3.33vw, 13px);
	right: 0;
	top: auto;
	bottom: 24px;
	margin: 0;
}
.top_news_img{
	width: min(41vw, 160px);
}
.top_news_content{
	width: calc(100% - 46.15vw);
}
.top_news_content_head{
	gap: min(4.1vw, 16px);
	font-size: min(3.08vw, 12px);
}
}


/* ----------------------------top_gallery ---------------------------- */

.top_gallery_list{
	display: flex;
	flex-wrap: wrap;
}
.top_gallery_item{
	width: 16.66666667%;
}
@media only screen and (max-width: 959px) {
.top_gallery_item{
	width: 33.33333333%;
}
}