@charset 'utf-8';

@import url('vegas.min.css');

h1{display:none;opacity:0;width:0;height:0;overflow:hidden;}

#content {
	background-color: #fff;
}

header img,
article img,
footer img{
	max-width: 100%;
	height: auto;
}
article{
	z-index: 1;
}
.menu-wrap.copy{
	display: none !important;
}
@media only screen and (max-width:750px){
}



/* =========================================================
video
========================================================= */
#video{
	position: fixed;
	z-index: 0;
	top: 0;
	left: 50%;
	overflow: hidden;
	transition-duration: 1000ms;
	transition-property: opacity;
	opacity: 1;
	background-image: none;
	-webkit-transform: translateX(-50%);
	        transform: translateX(-50%);
	width: 1920px;
	height: 1080px;
}
@media only screen and (min-width: 751px) {
	#video{
		margin-left: -5vw;
		width: 110vw;
		min-height: 100vh;
		height: auto;
		aspect-ratio: 16 / 9;
		object-fit: cover;
	}
}
@media only screen and (max-width:750px){
	#video{
		top: -15vh;
	}
	#video,
	#video *{
		width: auto !important;
		min-width: 110vw;
		margin-left: -5vw;
		height: 130vh !important;
		aspect-ratio: 9 / 16;
		object-fit: cover;
	}
}
@media only screen and (max-width: 750px) and (orientation: landscape) {
/*
	#video{
		margin-left: -15vw;
	}
	#video,
	#video *{
		width: 130vw !important;
		height: auto !important;
	}
*/
}


/* =========================================================
Vega
========================================================= */
#vegaimg{
	width: 100%;
	height: 100%;
	position: fixed;
	z-index: 1;
}
#vegaimg .vegaimg{
	top: 0 !important;
	left: 0;
	background-position: center top;
}
#vegaimg .vegaimg{
	background-image: url(../../img/home/top_bg_pc.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	height: 100%;
}
body.scroll #vegaimg .vegaimg{
	position: fixed !important;
}
#vegaimg .vegaimg .vegas-container{
	position: absolute !important;
}
#top_home{
	/*-webkit-transform: translateZ(0);*/
	/*-webkit-perspective: 1000;*/
	-webkit-backface-visibility: hidden;
}
.loading_logo{
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	z-index: 100000;
	width: 605px;
}
.loading_logo .logo{
	width: 29.6%;
}
/*
.loading_logo .txt{
	width: 100%;
	margin-top: 50px;
}
*/
#top_home.loading .logo{
	z-index: 1;
}
@media only screen and (max-width:750px){
	#vegaimg .vegaimg{
		background-image: url(../../img/home/top_bg_sp.jpg);
		background-position: center;
		background-size: cover;
	}
	#top_home{
		background-image: url(../../img/home/top_bg_sp.jpg);
		height: 100% !important;
		background-position: center;
		background-size: cover;
	}
	#top_home .vegaimg *{
		height: 100% !important;
		min-height: 100vh;
	}
	body.ios .loading_logo{
/*		top: 50% !important;*/
	}
	.loading_logo{
		width: 100%;
		display:         flex;
		display: -webkit-flex;
		-webkit-justify-content: flex-start;
		        justify-content: flex-start;
		        flex-flow: column wrap;
		-webkit-flex-flow: column wrap;
		        align-items: center;
		-webkit-align-items: center;
		top: 2rem;
		transform: translateX(-50%);
	}

	.loading_logo .logo{
		width: 2.71rem !important;
		min-width: 2.71rem !important;
		height: auto !important;
	}
	#preloader .loading_logo{
		top: 50%;
		transform: translateX(-50%) translateY(-50%);
	}
}
@media only screen and (max-width: 750px) and (orientation: landscape) {
	.loading_logo .logo{
		width: 50vh !important;
		min-width: 50vh !important;
		height: auto !important;
		transform: translateY(-50%);
	}
	#preloader .loading_logo{
		transform: translateX(-50%);
	}
}


.vegas-content-scrollable{
	overflow: hidden;
}
.vegas-container{
	position: fixed !important;
	z-index: 1;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100vh !important;
}
.vegas-container:before{
	display: none;
}
.vegas-overlay{
	mix-blend-mode: multiply;
	background: #0045ad;
	background: -moz-linear-gradient(top,  #0045ad 0%, #0045ad 10%, #00268f 90%, #00268f 100%);
	background: -webkit-linear-gradient(top,  #0045ad 0%,#0045ad 10%,#00268f 90%,#00268f 100%);
	background: linear-gradient(to bottom,  #0045ad 0%,#0045ad 10%,#00268f 90%,#00268f 100%);
	opacity: 0.17;
}
@media only screen and (max-width:750px){
/*	body.ios #vegaimg .vegaimg{
		top: 50vh !important;
		bottom: auto !important;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
	}*/
}
.vegas-animation-zoomout {
    animation: zoomout ease-out;
}
.vegas-animation-zoomin {
    animation: zoomin ease-out;
}
@-webkit-keyframes zoomout{
	0% {
		transform: scale(1.5);
	}
	100% {
		transform: scale(1);
	}
}
@keyframes zoomout {
	0% {
		transform: scale(1.5);
	}
	100% {
		transform: scale(1);
	}
}
@-webkit-keyframes zoomin{
	0% {
		transform: scale(1);
	}
	100% {
		transform: scale(1.5);
	}
}
@keyframes zoomin {
	0% {
		transform: scale(1);
	}
	100% {
		transform: scale(1.5);
	}
}


/* =========================================================
Slider
========================================================= */
.slick-slider{
	position: relative;
	z-index: 1;
	display: block;
	-webkit-justify-content: flex-start;
	        justify-content: flex-start;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;
	-webkit-tap-highlight-color: transparent;
	-webkit-touch-callout: none;
	 -khtml-user-select: none;
	-ms-touch-action: pan-y;
	    touch-action: pan-y;
}
.slick-list{
	position: relative;
	display: block;
	overflow: hidden;
	margin: 0;
	padding: 0;
}
.slick-list:focus{
	outline: none;
}
.slick-list.draggable{
	cursor: grab;
}
.slick-slider .slick-track,
.slick-slider .slick-list{
	-webkit-transform: translate3d(0, 0, 0);
	   -moz-transform: translate3d(0, 0, 0);
	    -ms-transform: translate3d(0, 0, 0);
	        transform: translate3d(0, 0, 0);
}
.slick-slider:not(.slick-vertical) .slick-track{
	position: relative;
	top: 0;
	left: 0;
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: center;
	        justify-content: center;
	        flex-flow: row nowrap;
	-webkit-flex-flow: row nowrap;
	        align-items: stretch;
	-webkit-align-items: stretch;
	overflow: hidden;
	opacity: 1 !important;
}
.slick-slide{
	height: auto;
	min-height: 1px;
	opacity: 1 !important;
}
.slick-slide.slick-loading img{
	display: none;
}
.slick-slide.dragging img{
	pointer-events: none;
}
.slick-loading .slick-slide{
	visibility: hidden;
}
.slick-vertical .slick-slide{
	height: auto;
}
.slick-arrow.slick-hidden{
	display: none;
}
.slick-prev:hover,
.slick-next:hover{
	color: transparent;
	outline: none;
}
.slick-prev:hover:before,
.slick-next:hover:before{
	opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before{
	opacity: 0.25;
}
.slide-dots{
	text-align: center;
}
.slick-dots{
	line-height: 10px;
	position: absolute;
	z-index: 1;
	bottom: 20px;
	left: 50%;
	display: inline-block;
	width: auto;
	height: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
	-webkit-transform: translateX(-50%);
	        transform: translateX(-50%);
	text-align: center;
	vertical-align: top;
}
.slick-dots li{
	position: relative;
	display: inline-block;
	width: 10px;
	height: 10px;
	margin: 0 5px;
	padding: 0;
	cursor: pointer;
	vertical-align: top;
}
.slick-dots li button{
	line-height: 0;
	display: block;
	width: 10px;
	height: 10px;
	padding: 0;
	cursor: pointer;
	color: transparent;
	border: 0;
	outline: none;
	background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus{
	outline: none;
}
.slick-dots li button::before{
	position: absolute;
	top: 0;
	left: 0;
	width: 10px;
	height: 10px;
	content: '';
	-webkit-transition: all 0.5s ease;
	   -moz-transition: all 0.5s ease;
	    -ms-transition: all 0.5s ease;
	        transition: all 0.5s ease;
	text-align: center;
	border-radius: 0;
	background-color: #ccc;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.slick-dots li button:hover:before,
.slick-dots li.slick-active button:before{
	background-color: #7f7f7f;
}


/* =========================================================
section
========================================================= */
section{
	position: relative;
	z-index: 1;
}


/* =========================================================
Loading
========================================================= */
@keyframes load_logo{
	0%{
		opacity: 0.6;
	}
	100%{
		opacity: 1;
	}
}
#preloader{
	position: fixed;
	z-index: 99999;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: center;
	        justify-content: center;
	        align-items: center;
	-webkit-align-items: center;
	width: 100%;
	height: 100%;
	will-change: transform;
	opacity: 1;
	background: #0045ad;
	background:    -moz-linear-gradient(top,  #0045ad 0%, #0045ad 10%, #00268f 90%, #00268f 100%);
	background: -webkit-linear-gradient(top,  #0045ad 0%,#0045ad 10%,#00268f 90%,#00268f 100%);
	background:         linear-gradient(to bottom,  #0045ad 0%,#0045ad 10%,#00268f 90%,#00268f 100%);
/*	-webkit-animation-duration: 1.5s;
	animation-duration: 1.5s;
	-webkit-animation-iteration-count: 1;
	animation-iteration-count: 1;
	-webkit-animation-name: load_logo;
	animation-name: load_logo;*/
}
@media only screen and (max-width:750px){
	#preloader{
	}
}
@media only screen and (max-width: 750px) and (orientation: landscape) {
	#preloader{
	}
}


/* =========================================================
top_banner_bloc
========================================================= */
.top_banner_bloc{
  margin: 100px auto 0;
  text-align: center;
}
.top_banner_bloc .inner{
	padding-top:0 !important;
	padding-bottom:0 !important;
}
.top_banner_bloc .top_banner{
  max-width: 870px;
  margin: 0 auto;
}
.top_banner_bloc .top_banner:not(:first-child){
  margin-top: 60px;
}
.top_banner_bloc .top_banner a{
	display: block;
}
@media only screen and (max-width:750px){
  .top_banner_bloc{
    margin: 0.85rem auto 0;
  }
  .top_banner_bloc .top_banner:not(:first-child){
    margin-top: 0.6rem;
  }

	.top_banner_bloc .top_banner[class*='spw'][class*='3\/2'] a{
		overflow: hidden;
		position: relative;
	}
	.top_banner_bloc .top_banner[class*='spw'][class*='3\/2'] a img{
		min-width: calc(100% * 3 / 2);
		position: relative;
		top:0;
		left: 50%;
		transform:translateX(-50%);
	}
}


/* =========================================================
news
========================================================= */
#news{
	background-color: #fff;
}
#news .inner{
	max-width: 970px;
	margin-right: auto;
	margin-left: auto;
	padding-top: 111px;
	padding-bottom: 107px;
}
#news .ttl_bloc {
	width: 14.7%;
	min-width: 12.6em;
	margin-bottom: 107px;
}
#news .ttl_bloc .ttl {
	flex-flow: row-reverse nowrap;
	-webkit-flex-flow: row-reverse nowrap;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
	white-space: nowrap;
}
#news .ttl_bloc .ttl .jp{
	font-size: 18px;
	font-weight: normal;
	margin-left: 23px;
	margin-bottom: 0;
	margin-top: 5px;
}
#news .ttl_bloc .ttl .en{
	letter-spacing: 0.13em;
	margin-bottom: 9px;
}
#news .news_bloc{
	max-width: 915px;
	height: 220px;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
	margin-left: auto;
	margin-bottom: 65px;
}
#news .ttl_bloc a{
	display: block;
}
@media print, screen and (min-width: 751px) {
	#news .btn_area {
	}
	#news .btn_area .btn_def2 {
		padding-left: 50px;
	}
	#news .btn_area .btn_def2 span {
		letter-spacing: 0.2em;
	}
	#news .btn_area .btn_def2 i {
		right: 31px;
		margin-top: -0.2em;
	}
}
@media print, screen and (max-width: 1010px) and (min-width: 751px) {
	#news .inner{
		margin-right: 20px;
		margin-left: 20px;
	}
}
@media only screen and (max-width:750px){
	#news .inner{
		max-width: 100%;
		padding: 0.86rem 0.5rem 1.29rem;
	}
	#news .ttl_bloc {
		width: 40.8%;
		min-width: 0;
		margin-bottom: 1.37rem;
	}
	#news .news_bloc{
		height: 2.03rem;
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
		margin-bottom: 0.7rem;
	}
	#news .ttl_bloc .ttl .jp {
		font-size: 0.28rem;
		margin: 0.07rem auto 0 0.18rem;
	}
	#news .ttl_bloc .ttl .en{
		letter-spacing: 0.08em;
		margin-bottom: 0.19rem;
	}
	#news .btn_area .btn_def2 {
		width: 5.14rem;
		padding: 0.1rem 0.4rem 0.08rem 1.06rem;
		height: 0.72rem;
	}
	#news .btn_area .btn_def2 span {
		font-size: 0.22rem;
		letter-spacing: 0.15em;
	}
	#news .btn_area .btn_def2 i {
		right: 0.71rem;
		margin-top: -0.2em;
	}
}


/* =========================================================
news_list
========================================================= */
#news_list{
	padding-top: 2px;
	padding-bottom: 20px;
}
#news_list .box{
	position: relative;
	width: 100%;
	margin-bottom: 0;
}
#news_list .box a.link{
	position: relative;
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
	        flex-flow: row nowrap;
	-webkit-flex-flow: row nowrap;
	        align-items: stretch;
	-webkit-align-items: stretch;
	width: 100%;
}
#news_list .box a.link .title{
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: flex-end;
	        justify-content: flex-end;
	        flex-flow: row-reverse nowrap;
	-webkit-flex-flow: row-reverse nowrap;
	        align-items: center;
	-webkit-align-items: center;
	width: calc(100% - 163px - 5.9%);
	padding: 30px 10px 13px 13px;
	border-bottom: 1px solid #969696;
}
#news_list .box a.link .title span.ttl{
	font-size: 16px;
	line-height: 1.4em;
	display: block;
	width: calc(100% - 10.3em);
	padding-left: 56px;
	letter-spacing: 0.28em;
	-webkit-transition: padding .2s ease;
	transition: padding .2s ease;
}
#news_list .box a.link .title span.date{
	font-size: 16px;
	display: block;
	width: 10.3em;
	white-space: nowrap;
	letter-spacing: 0.2em;
	border-right: 1px solid #969696;
	-webkit-transition: width .2s ease;
	transition: width .2s ease;
}
#news_list .box a.link .detail{
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
	        flex-flow: row nowrap;
	-webkit-flex-flow: row nowrap;
	        align-items: center;
	-webkit-align-items: center;
	width: 133px;
	margin-right: 5.9%;
	padding: 28px 0 10px 10px;
	border-bottom: 1px solid #969696;
	white-space: nowrap;
}
#news_list .box a.link .detail span{
	font-size: 16px;
	line-height: 1em;
	letter-spacing: 0.27em;
}
@media print, screen and (max-width: 900px) and (min-width: 751px) {
	#news_list .box a.link .title span.ttl{
		padding-left: 20px;
	}
	#news_list .box a.link .title span.date{
		width: 8.2em;
	}
}
@media only screen and (max-width:750px){
	#news_list .box{
		margin-bottom: 0.23rem;
	}
	#news_list .box a.link{
	}
	#news_list .box a.link .title {
		padding: 0.14rem 0.1rem 0.14rem 0;
		width: 94.5%;
	}
	#news_list .box a.link .title span.ttl {
		font-size: 0.22rem;
		padding-left: 0.2rem;
		width: calc(100% - 7.3em);
		letter-spacing: 0.15em;
	}
	#news_list .box a.link .title span.date {
		font-size: 0.22rem;
		width: 7.3em;
		letter-spacing: 0.07em;
		line-height: 1em;
		padding: 0.07rem 0 0.14rem;
	}
}


/* =========================================================
recommend
========================================================= */
#recommend {
	background-color: #fff;
	background-image: url(../../img/page__bg_pc.jpg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	padding-top: 70px;
}
#recommend .inner {
	max-width: 990px;
	padding-top: 47px;
	padding-bottom: 116px;
	margin-right: auto;
	margin-left: auto;
}
#recommend .ttl_bloc {
	padding-bottom: 8px;
}
#recommend .ttl_bloc .ttl {
	white-space: nowrap;
}
#recommend .ttl_bloc .ttl .jp{
	letter-spacing: 0.2em;
}
#recommend .plan_list {
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
	        flex-flow: row nowrap;
	-webkit-flex-flow: row nowrap;
	        align-items: stretch;
	-webkit-align-items: stretch;
}
#recommend .plan_list .plan {
	width: 30.9%;
	max-width: 296px;
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
	        flex-flow: column nowrap;
	-webkit-flex-flow: column nowrap;
	        align-items: center;
	-webkit-align-items: center;
}
#recommend .plan_list .plan .plan_info {
}
#recommend .plan_list .plan .plan_info .plan_img {
	width: 100%;
	display: block;
	margin-bottom: 15px;
}
#recommend .plan_list .plan .plan_info .plan_img *{
	width: 100%;
}
#recommend .plan_list .plan .plan_info .plan_name{
	font-size: 16px;
	margin-bottom: 6px;
	padding: 0;
	text-align: center;
	letter-spacing: 0.03em;
}
#recommend .plan_list .plan .plan_info > *:not(.plan_img):not(.plan_name){
}
#recommend .plan_list .plan .plan_info h3 {
	font-size: 24px;
	margin-bottom: 10px;
	text-align: center;
	letter-spacing: 0.1em;
	padding: 0;
}
#recommend .plan_list .plan .plan_info p{
	font-size: 14px;
	line-height: 1.7em;
	padding: 0 15px;
	text-align: left;
	letter-spacing: 0.05em;
}
#recommend .btn_plan_list {
	margin-top: 74px;
}
@media print, screen and (min-width: 751px) {
	#recommend .plan_list .plan .btn_area {
		margin-top: 20px;
	}
	#recommend .plan_list .plan .btn_area .btn_def{
		width: 357px;
	}
	#recommend .plan_list .plan .btn_area .btn_def span{
		margin-bottom: 9px;
		letter-spacing: 0.1em;
	}
	#recommend .plan_list .plan .btn_area .btn_def i{
		right: 30px;
		margin-top: -0.1em;
	}
	#recommend .plan_list + .btn_area {
	}
	#recommend .plan_list + .btn_area .btn_def2 {
		width: 357px;
	}
	#recommend .plan_list + .btn_area .btn_def2 span {
	}
	#recommend .plan_list + .btn_area .btn_def2 i {
	}
}
@media print, screen and (max-width: 1030px) and (min-width: 751px) {
	#recommend .inner {
		margin-right: 20px;
		margin-left: 20px;
	}
}
@media only screen and (max-width: 750px){
	#recommend {
		background-image: url(../../img/page__bg_sp.jpg);
		padding-top: 0.85rem;
	}
	#recommend .inner {
		padding: 0 0.85rem 1.3rem;
	}
	#recommend .ttl_bloc {
		padding-bottom: 0.03rem;
		min-width: 0;
		width: 47.5%;
		margin-bottom: 1.07rem;
	}
	#recommend .ttl_bloc .ttl {
		white-space: nowrap;
	}
	#recommend .ttl_bloc .ttl .jp{
		letter-spacing: 0.15em;
	}
	#recommend .plan_list {
		-webkit-justify-content: flex-start;
		        justify-content: flex-start;
		        flex-flow: row wrap;
		-webkit-flex-flow: row wrap;
		        align-items: flex-start;
		-webkit-align-items: flex-start;
		gap: 1.24rem 0;
	}
	#recommend .plan_list .plan {
		width: 100%;
		max-width: 652px;
	}
	#recommend .plan_list .plan .plan_info .plan_img {
		margin-bottom: 0.45rem;
	}
	#recommend .plan_list .plan .plan_info .plan_name {
		font-size: 0.32rem;
		margin-bottom: 0.06rem;
	}
	#recommend .plan_list .plan .plan_info h3 {
		font-size: 0.4rem;
		margin-bottom: 0.27rem;
	}
	#recommend .plan_list .plan .plan_info p {
		font-size: 0.26rem;
		line-height: 1.5em;
		padding: 0;
		letter-spacing: 0.05em;
	}
	#recommend .plan_list .plan .btn_area {
		margin-top: 0.42rem;
	}
	#recommend .plan_list .plan .btn_area .btn_def{
	}
	#recommend .plan_list .plan .btn_area .btn_def span{
		font-size: 0.22rem;
		margin-left: -0.4rem;
		letter-spacing: 0.1em;
	}
	#recommend .plan_list .plan .btn_area .btn_def i{
		width: 2.06rem;
		height: 0.156rem;
		margin-left: -0.13rem;
	}
	#recommend .btn_plan_list {
		margin-top: 0.71rem;
	}
	#recommend .btn_plan_list .btn_def2 {
		width: 5.14rem;
		padding: 0.1rem 0.4rem 0.08rem 0.55rem;
		height: 0.72rem;
	}
	#recommend .btn_plan_list .btn_def2 span {
		font-size: 0.22rem;
		letter-spacing: 0.15em;
	}
	#recommend .btn_plan_list .btn_def2 i {
		right: 0.5rem;
		margin-top: -0.2em;
	}
}


/* =========================================================
recommend_489ban
========================================================= */
@-webkit-keyframes animebtn--1{
	0% {-webkit-transform:translate(10px, 0);}
	100% {-webkit-transform:translate(0, 0);}
}
@keyframes animebtn--1{
	0% {transform:translate(10px, 0);}
	100% {transform:translate(0, 0);}
}
@-webkit-keyframes animebtn--1--hover{
	0% {-webkit-transform:translate(0, 0);}
	50% {-webkit-transform:translate(10px, 0);}
	100% {-webkit-transform:translate(0, 0);}
}
@keyframes animebtn--1--hover{
	0% {transform:translate(0, 0);}
	50% {transform:translate(10px, 0);}
	100% {transform:translate(0, 0);}
}
#recommend_489ban {
  display:         flex;
  display: -webkit-flex;
  -webkit-justify-content: space-between;
          justify-content: space-between;
          flex-flow: row nowrap;
  -webkit-flex-flow: row nowrap;
          align-items: stretch;
  -webkit-align-items: stretch;
}
#recommend_489ban .PlanView {
  width: 29.9%;
  max-width: 290px;
  display:         flex;
  display: -webkit-flex;
  -webkit-justify-content: flex-start;
          justify-content: flex-start;
          flex-flow: column nowrap;
  -webkit-flex-flow: column nowrap;
          align-items: center;
  -webkit-align-items: center;
  gap: 0 5.15%;
}
#recommend_489ban .PlanView .picture {
  width: 100%;
  display: block;
  margin-bottom: 25px;
}
#recommend_489ban .PlanView .picture .main_picture {
}
#recommend_489ban .PlanView .picture .main_picture *:not(source){
	display: block;
	width: 100%;
	vertical-align: top;
}
#recommend_489ban .PlanView .explan {
  display:         flex;
  display: -webkit-flex;
  -webkit-justify-content: space-between;
          justify-content: space-between;
          flex-flow: column nowrap;
  -webkit-flex-flow: column nowrap;
          align-items: center;
  -webkit-align-items: center;
  height: 100%;
}
#recommend_489ban .PlanView .explan .plan {
}
#recommend_489ban .PlanView .explan .plan a {
  font-size: 18px;
  font-weight: normal;
  text-align: left;
  letter-spacing: 0.15em;
  padding: 0;
  display: block;
  line-height: 1.4em;
}
#recommend_489ban .PlanView .explan .comment {
	display: none;
}
#recommend_489ban .PlanView .explan div {
	width: 55%;
	margin: 20px auto 0;
}
#recommend_489ban .PlanView .explan div .planlist {
	width: 100%;
}
#recommend_489ban .PlanView .explan div .planlist .planlist_header {
	display: none;
}
#recommend_489ban .PlanView .explan div .planlist ul {
  display:         flex;
  display: -webkit-flex;
  -webkit-justify-content: center;
          justify-content: center;
          flex-flow: row nowrap;
  -webkit-flex-flow: row nowrap;
          align-items: flex-start;
  -webkit-align-items: flex-start;
  width: 100%;
}
#recommend_489ban .PlanView .explan div .planlist ul li {
	display: block;
	padding: 0;
	margin: 0;
  width: 100%;
}
#recommend_489ban .PlanView .explan div .planlist ul li a {
	display: block;
	font-family: '游ゴシック体','Yu Gothic',YuGothic,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','Noto Sans JP','ＭＳ Ｐゴシック',sans-serif;
	font-size: 14px;
	font-weight: normal;
	line-height: 1em;
	z-index: 1;
	padding: 0 2em 1em;
	user-select: none;
	vertical-align: top;
	letter-spacing: 0.2em;
	color: #000;
	position: relative;
  width: 100%;
}
#recommend_489ban .PlanView .explan div .planlist ul li a:before{
	position: absolute;
	z-index: 1;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 6.8707px;
	margin-bottom: 1px;
	content: '';
	-webkit-transition: all 0.1s linear;
	        transition: all 0.1s linear;
	-webkit-transform-origin: left bottom;
	        transform-origin: left bottom;
	-webkit-animation-duration: 1s;
	        animation-duration: 1s;
	-webkit-animation-fill-mode: both;
	        animation-fill-mode: both;
	background-color: #363636;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	-webkit-mask-image: url(../../svg/ico_arrow_pc.svg);
	        mask-image: url(../../svg/ico_arrow_pc.svg);
	-webkit-mask-position: right bottom;
	        mask-position: right bottom;
	-webkit-mask-repeat: no-repeat;
	        mask-repeat: no-repeat;
	-webkit-mask-size: cover;
	        mask-size: cover;
}
#recommend_489ban .PlanView:not(:hover) .explan div .planlist ul li a:before{
	-webkit-animation-iteration-count: 1;
	animation-iteration-count: 1;
	-webkit-animation-name: animebtn--1;
	animation-name: animebtn--1;
}
#recommend_489ban .PlanView:hover .explan div .planlist ul li a:before {
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
	-webkit-animation-name: animebtn--1--hover;
	animation-name: animebtn--1--hover;
}
@media only screen and (max-width: 750px){
	#recommend_489ban {
	  -webkit-justify-content: flex-start;
	          justify-content: flex-start;
	          flex-flow: column wrap;
	  -webkit-flex-flow: column wrap;
	          align-items: center;
	  -webkit-align-items: center;
	  gap:1.24rem;
	}
	#recommend_489ban .PlanView {
    width: 100%;
    max-width: 100%;
	  display: block;
	}
	#recommend_489ban .PlanView .picture {
	  margin-bottom: 0.23rem;
	  text-align: center;
	}
	#recommend_489ban .PlanView .explan {
		display: block;
	  height: auto;
	}
	#recommend_489ban .PlanView .explan .plan a {
	  font-size: 0.28rem;
	}
	#recommend_489ban .PlanView .explan div {
		width: 100%;
		margin-top: 0.3rem;
	}
	#recommend_489ban .PlanView .explan div .planlist ul li {
	  display:         flex;
	  display: -webkit-flex;
	  -webkit-justify-content: flex-start;
	          justify-content: flex-start;
	          flex-flow: column nowrap;
	  -webkit-flex-flow: column nowrap;
	          align-items: center;
	  -webkit-align-items: center;
	}
	#recommend_489ban .PlanView .explan div .planlist ul li a {
	  font-size: 0.22rem;
	  width: auto;
		padding: 0 2em 1em;
	}
	#recommend_489ban .PlanView .explan div .planlist ul li a:before{
		height: 0.156rem;
		-webkit-mask-image: url(../../svg/ico_right06.svg);
		        mask-image: url(../../svg/ico_right06.svg);
	}
}


/* =========================================================
concept
========================================================= */
#concept {
	background-color: #fff;
	padding-top: 104px;
}
@media only screen and (max-width: 750px){
	#concept {
		padding-top: 1.43rem;
	}
}


/* =========================================================
concept_bloc01
========================================================= */
#concept_bloc01 {
	padding-bottom: 124px;
}
#concept_bloc01 .inbox_img {
	margin-top: 74px;
}
#concept_bloc01 .inbox_img .main_bg {
	width: calc(50% + 5px);
	max-width: 730px;
	height: auto;
	left: auto;
	right: calc(50% - 5px);
}
#concept_bloc01 .inner_inbox{
	padding-bottom: 120px;
	max-width: 1086px;
}
#concept_bloc01 .inner_inbox .txt_bloc{
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: flex-start;
	        justify-content: flex-start;
	        flex-flow: row-reverse nowrap;
	-webkit-flex-flow: row-reverse nowrap;
	        align-items: flex-start;
	-webkit-align-items: flex-start;
	padding-top: 30px;
	padding-right: 20px;
	padding-left: 20px;
	white-space: nowrap;
	width: calc((50% - 5px) - ((100% - 1086px) / 2));
}
#concept_bloc01 .inner_inbox .txt_bloc h3{
	font-size: 24px;
	font-weight: normal !important;
	line-height: 1.8em;
	margin-top: 0;
	margin-left: 34px;
	text-indent: 0;
	letter-spacing: 0;
}
#concept_bloc01 .inner_inbox .txt_bloc p{
	font-size: 16px;
	font-weight: normal !important;
	line-height: 1.9em;
	margin-top: 5px;
	margin-left: 17px;
	letter-spacing: 0;
}
#concept_bloc01 .inner_inbox .txt_bloc p:last-child {
	margin-left: 5px;
}
#concept_bloc01 .btn_area {
	margin-top: 60px;
}
@media print, screen and (min-width: 751px) {
	#concept_bloc01 .btn_area {
	}
	#concept_bloc01 .btn_area .btn_def2 {
	  width: 330px;
	  padding-left: 23px;
	}
	#concept_bloc01 .btn_area .btn_def2 span {
		letter-spacing: 0.1em;
	}
	#concept_bloc01 .btn_area .btn_def2 i {
		right: 31px;
		margin-top: -0.2em;
	}
}
@media print, screen and (max-width: 990px) and (min-width: 751px) {
	#concept_bloc01 .inner_inbox{
		margin-right: 20px;
		margin-left: 20px;
	}
}
@media only screen and (max-width: 750px){
	#concept_bloc01 {
		padding-bottom: 1.06rem;
	}
	#concept_bloc01 .ttl_bloc {
		padding-bottom: 0.03rem;
		min-width: 0;
		width: 54%;
		margin-bottom: 0.81rem;
	}
	#concept_bloc01 .ttl_bloc .ttl {
		white-space: nowrap;
	}
	#concept_bloc01 .ttl_bloc .ttl .jp{
		letter-spacing: 0.15em;
	}
	#concept_bloc01 .inbox_img {
		margin-top: 0;
	}
	#concept_bloc01 .inner_inbox{
		        flex-flow: row wrap;
		-webkit-flex-flow: row wrap;
		padding-bottom: 0.72rem;
	}
	#concept_bloc01 .inner_inbox .txt_bloc{
		        flex-flow: row wrap;
		-webkit-flex-flow: row wrap;
		padding-top: 0.64rem;
		white-space: normal;
		width: 100%;
	}
	#concept_bloc01 .inner_inbox .txt_bloc h3 {
		font-size: 0.36rem;
		line-height: 1.4em;
		margin-left: 0.67rem;
		margin-bottom: 0.56rem;
		letter-spacing: 0.05em;
	}
	#concept_bloc01 .inner_inbox .txt_bloc p {
		font-size: 0.28rem;
		line-height: 1.6em;
		margin: 0.45rem auto 0 0.67rem;
		letter-spacing: 0.05em;
	}
	#concept_bloc01 .inner_inbox .txt_bloc h3,
	#concept_bloc01 .inner_inbox .txt_bloc p{
		    -ms-writing-mode: unset;
		-webkit-writing-mode: unset;
		        writing-mode: unset;
		   -moz-writing-mode: unset;
		-webkit-text-orientation: unset;
		   -moz-text-orientation: unset;
		    -ms-text-orientation: unset;
		        text-orientation: unset;
	  display: block;
		width: 100%;
	}
	#concept_bloc01 .inner_inbox .txt_bloc p span.sp{
		display: block;
		height: 1em;
	}
	#concept_bloc01 .inner_inbox .txt_bloc h3 + p {
		margin-top: 0;
	}
	#concept_bloc01 .inner_inbox .txt_bloc p:last-child {
		margin-left: 0.58rem;
	}
	#concept_bloc01 .btn_area {
		margin-top: 0.76rem;
	}
	#concept_bloc01 .btn_area .btn_def2 {
		width: 5.14rem;
		padding: 0.1rem 0.4rem 0.08rem 0.7rem;
		height: 0.72rem;
	}
	#concept_bloc01 .btn_area .btn_def2 span {
		font-size: 0.22rem;
		letter-spacing: 0.15em;
	}
	#concept_bloc01 .btn_area .btn_def2 i {
		right: 0.5rem;
		margin-top: -0.2em;
	}
}


/* =========================================================
concept_ticker
========================================================= */
#concept_ticker{
	position: relative;
	visibility: visible;
	overflow: hidden;
	width: 100%;
}
#concept_ticker .slider{
	width: 100%;
	height: 243px;
}
#concept_ticker .slick-slide {
	margin: 0;
}
#concept_ticker .slick-slide,
#concept_ticker .slick-slide img{
	position: relative;
	width: 362px;
}
@media only screen and (max-width: 750px){
	#concept_ticker{
	}
	#concept_ticker .slider{
		height: 2.46rem;
	}
	#concept_ticker .slick-slide,
	#concept_ticker .slick-slide img{
		width: 3.67rem;
		height: 2.46rem;
	}
}


/* =========================================================
concept_bloc02
========================================================= */
#concept_bloc02 {
	background-color: #d7c5ad;
	padding-top: 120px;
	padding-bottom: 120px;
}
#concept_bloc02 .btn_area {
	margin-top: 60px;
}
@media only screen and (max-width: 750px){
	#concept_bloc02{
		padding-top: 1.3rem;
		padding-bottom: 1.3rem;
	}
	#concept_bloc02 .btn_area {
		margin-top: 0.76rem;
	}
}


/* =========================================================
concept_bloc02--universal
========================================================= */
#concept_bloc02--universal {
}
#concept_bloc02--universal .inner {
	padding-top: 0;
	padding-bottom: 50px;
	max-width: 874px;
	margin-left: auto;
	margin-right: auto;
}
#concept_bloc02--universal .inbox_img {
}
#concept_bloc02--universal .inbox_img .main_bg {
	background-image: var(--universal-img-pc);
  max-width: 369px;
  width: calc(100% - 505px);
  height: 265px;
  right: 0;
}
#concept_bloc02--universal .inner_inbox{
	max-width: 100%;
	padding-bottom: 0;
}
#concept_bloc02--universal .inner_inbox .txt_bloc{
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: flex-start;
	        justify-content: flex-start;
	        flex-flow: row wrap;
	-webkit-flex-flow: row wrap;
	        align-items: flex-start;
	-webkit-align-items: flex-start;
	width: 100%;
	max-width: 455px;
	padding: 14px 20px 10px 0;
}
#concept_bloc02--universal .inner_inbox .txt_bloc h3{
	font-size: 24px;
	line-height: 1.5em;
	width: 100%;
	margin-bottom: 17px;
	padding-left: 5px;
	letter-spacing: 0.15em;
}
#concept_bloc02--universal .inner_inbox .txt_bloc p{
	font-size: 14px;
	line-height: 1.7em;
	padding-left: 5px;
	white-space: normal;
	letter-spacing: 0.05em;
}
#concept_bloc02--universal .inner_inbox .txt_bloc p:last-child{
	font-size: 12px;
	margin-top: 14px;
}
@media print, screen and (max-width: 914px) and (min-width: 751px){
	#concept_bloc02--universal .inner {
		margin-right: 20px;
		margin-left: 20px;
	}
}
@media only screen and (max-width: 750px){
	#concept_bloc02--universal {
	}
	#concept_bloc02--universal .inbox_img {
		display:         flex;
		display: -webkit-flex;
		-webkit-justify-content: flex-start;
		        justify-content: flex-start;
		        flex-flow: column wrap;
		-webkit-flex-flow: column wrap;
		        align-items: flex-start;
		-webkit-align-items: flex-start;
	}
	#concept_bloc02--universal .inbox_img .main_bg{
		max-width: 6.22rem;
		width: 100%;
		height: 3.48rem;
		background-image: var(--universal-img-sp);
		position: static;
		margin-bottom: 0.43rem;
	}
	#concept_bloc02--universal .inner{
		padding: 0 0.65rem 0.87rem;
	}
	#concept_bloc02--universal .inner_inbox{
		        flex-flow: row wrap;
		-webkit-flex-flow: row wrap;
		padding-bottom: 0.5rem;
		width: 100%;
	}
	#concept_bloc02--universal .inner_inbox .txt_bloc{
		        flex-flow: row wrap;
		-webkit-flex-flow: row wrap;
		padding-top: 0;
		padding-right: 0;
		white-space: normal;
		max-width: 100%;
		width: 100%;
		height: auto;
	}
	#concept_bloc02--universal .inner_inbox .txt_bloc h3{
		font-size: 0.36rem;
		font-weight: bold !important;
		line-height: 1.4em;
		margin-top: 0;
		margin-bottom: 0.36rem;
		margin-left: 0;
		padding-left: 0;
		text-indent: 0;
		letter-spacing: 0.1em;
	}
	#concept_bloc02--universal .inner_inbox .txt_bloc p{
		font-size: 0.28rem;
		line-height: 1.7em;
		margin: 0;
		padding-left: 0;
		letter-spacing: 0.15em;
	}
	#concept_bloc02--universal .inner_inbox .txt_bloc h3,
	#concept_bloc02--universal .inner_inbox .txt_bloc p{
		display: block;
		width: 100%;
		    -ms-writing-mode: unset;

		-webkit-writing-mode: unset;
		        writing-mode: unset;
		   -moz-writing-mode: unset;
		-webkit-text-orientation: unset;
		   -moz-text-orientation: unset;
		    -ms-text-orientation: unset;
		        text-orientation: unset;
	}
	#concept_bloc02--universal .inner_inbox .txt_bloc p span.sp{
		display: block;
		height: 1em;
	}
	#concept_bloc02--universal .inner_inbox .txt_bloc p:last-child{
		font-size: 0.2rem;
		margin-top: 0.39rem;
		margin-left: 0;
		letter-spacing: 0.08em;
	}
}


/* =========================================================
concept_kyuu-mark
========================================================= */
#concept_kyuu-mark{
	position: relative;
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
	        flex-flow: row nowrap;
	-webkit-flex-flow: row nowrap;
	        align-items: flex-start;
	-webkit-align-items: flex-start;
	width: calc(100% - 40px);
	max-width: 870px;
	margin: 0 auto;
	padding: 32px 0 29px 24px;
	border-top: 1px solid #231815;
	border-bottom: 1px solid #231815;
	-webkit-transition: margin .2s ease;
	transition: margin .2s ease;
}
#concept_kyuu-mark:before,
#concept_kyuu-mark:after {
	content : '';
	position : absolute;
	box-sizing : border-box;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #231815;
}
#concept_kyuu-mark:before{
	top: 5px;
}
#concept_kyuu-mark:after {
	bottom: 5px;
}
#concept_kyuu-mark .mark {
	width: 104px;
	margin: 8px auto 0 0;
}
#concept_kyuu-mark .txt_bloc {
	width: calc(100% - 141px);
	padding-top: 8px;
}
#concept_kyuu-mark .txt_bloc h3 {
	font-size: 24px;
	font-weight: normal;
	line-height: 1.3em;
	margin-bottom: 16px;
	padding: 0;
	text-align: left;
	letter-spacing: 0.1em;
}
#concept_kyuu-mark .txt_bloc p {
	font-size: 14px;
	font-weight: normal;
	line-height: 1.8em;
	max-width: 660px;
	text-align: left;
	letter-spacing: 0.1em;
}
@media only screen and (max-width: 750px){
	#concept_kyuu-mark{
		position: relative;
		width: 100%;
		max-width: calc(100% - 1.1rem);
		margin: 0 0.55rem;
		padding: 0.6rem 0 0.66rem 0;
		border-width: 2px;
	}
	#concept_kyuu-mark:before{
		top: 0.05rem;
		height: 2px;
	}
	#concept_kyuu-mark:after{
		bottom: 0.05rem;
		height: 2px;
	}
	#concept_kyuu-mark .mark{
		position: absolute;
		top: 0.6rem;
		left: 0;
		margin: 0;
	}
	#concept_kyuu-mark .txt_bloc{
		width: 100%;
		padding-top: 0.38rem;
	}
	#concept_kyuu-mark .txt_bloc h3{
		font-size: 0.32rem;
		line-height: 1.6em;
		width: calc(100% - 1.5rem);
		margin-top: -0.05rem;
		margin-bottom: 0.79rem;
		margin-left: auto;
		text-indent: 0.5em;
		letter-spacing: 0.05em;
	}
	#concept_kyuu-mark .txt_bloc p{
		font-size: 0.28rem;
		line-height: 1.7em;
		max-width: 100%;
		padding-left: 0.08rem;
		text-indent: 0.5em;
		letter-spacing: 0.05em;
	}
}


/* =========================================================
room
========================================================= */
#room {
	padding-top: 0;
}
#room .ttl_bloc {
	padding-bottom: 8px;
}
#room .ttl_bloc .ttl {
	white-space: nowrap;
}
#room .ttl_bloc .ttl .jp{
	letter-spacing: 0.2em;
}
#room .ttl_bloc .ttl .en{
}
@media only screen and (max-width: 750px){
	#room {
		padding-top: 0;
	}
	#room .ttl_bloc {
		padding-bottom: 0.03rem;
		min-width: 0;
		width: 47.5%;
		margin-bottom: 0.9rem;
	}
	#room .ttl_bloc .ttl {
		white-space: nowrap;
	}
	#room .ttl_bloc .ttl .jp{
		letter-spacing: 0.15em;
	}
}

/* =========================================================
room_info
========================================================= */
#room_info {
	padding-bottom: 100px;
}
#room_info .inner_inbox{
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
	        flex-flow: row-reverse nowrap;
	-webkit-flex-flow: row-reverse nowrap;
	        align-items: flex-start;
	-webkit-align-items: flex-start;
	max-width: 1096px;
	padding-top: 60px;
	padding-bottom: 106px;
}
#room_info .img_list{
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: flex-start;
	        justify-content: flex-start;
	        flex-flow: row wrap;
	-webkit-flex-flow: row wrap;
	        align-items: flex-start;
	-webkit-align-items: flex-start;
	width: calc(100% - 318px);
	max-width: 778px;
	gap: 50px 3.7%;
}
#room_info .img_list a {
	width: 46.66%;
}
#room_info .img_list figure {
}
#room_info .img_list figure picture {
	width: 100%;
}
#room_info .img_list figure figcaption{
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: center;
	        justify-content: center;
	        flex-flow: row wrap;
	-webkit-flex-flow: row wrap;
	        align-items: center;
	-webkit-align-items: center;
	margin-top: 16px;
	text-align: center;
}
#room_info .img_list figure figcaption *{
}
#room_info .img_list figure figcaption .jp {
	font-size: 17px;
	line-height: 1em;
	letter-spacing: 0.2em;
}
#room_info .img_list figure figcaption .en {
	font-size: 10px;
	line-height: 1em;
	margin-top: -0.1em;
	margin-left: 6px;
	letter-spacing: 0.12em;
}
#room_info .img_list figure figcaption .ex{
	font-size: 12px;
	line-height: 1em;
	position: absolute;
	z-index: 2;
	top: 9px;
	left: 13px;
	overflow: hidden;
	padding: 8px 10px 13px;
	letter-spacing: 0.03em;
	color: #fff;
	border-radius: 6px;
	background-color: #1b1464;
}
#room_info .txt_bloc{
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: flex-end;
	        justify-content: flex-end;
	        flex-flow: row-reverse nowrap;
	-webkit-flex-flow: row-reverse nowrap;
	        align-items: flex-start;
	-webkit-align-items: flex-start;
	max-width: 318px;
	width: 100%;
	padding-top: 47px;
	white-space: nowrap;
}
#room_info .txt_bloc h3{
	font-size: 24px;
	font-weight: normal !important;
	line-height: 1.6em;
	margin-top: 2px;
	margin-left: 41px;
	text-indent: 0;
	letter-spacing: 0;
}
#room_info .txt_bloc p{
	font-size: 16px;
	font-weight: normal !important;
	line-height: 1.8em;
	margin-top: 0;
	margin-left: 19px;
	letter-spacing: 0;
}
#room_info .txt_bloc p:last-child{
	margin-left: 0;
}
@media print, screen and (min-width: 751px) {
	#room_info .btn_area {
	}
	#room_info .btn_area .btn_def2 {
	  width: 330px;
	}
	#room_info .btn_area .btn_def2 span {
		letter-spacing: 0.1em;
	}
	#room_info .btn_area .btn_def2 i {
		right: 31px;
		margin-top: -0.2em;
	}
}
@media print, screen and (max-width: 1136px) and (min-width: 751px) {
	#room_info .inner_inbox{
		margin-left: 20px;
		margin-right: 20px;
	}
}
@media print, screen and (max-width: 900px) and (min-width: 751px) {
	#room_info .img_list{
		gap: 25px 0;
	}
	#room_info .img_list a,
	#room_info .img_list figure,
	#room_info .img_list figure *:not(.jp):not(.en):not(.ex){
		width: 100%;
	}
}
@media only screen and (max-width: 750px){
	#room_info {
		padding-bottom: 1.3rem;
	}
	#room_info .inner_inbox{
		-webkit-justify-content: flex-start;
		        justify-content: flex-start;
		        flex-flow: column-reverse wrap;
		-webkit-flex-flow: column-reverse wrap;
		        align-items: flex-start;
		-webkit-align-items: flex-start;
		width: 100%;
		max-width: 100%;
		padding: 0 0.6rem 0;
	}
	#room_info .img_list{
		width: 97.9%;
		max-width: 100%;
		gap: 0.98rem 0;
		margin: 0.71rem auto 0;
	}
	#room_info .img_list a {
		width: 100%;
	}
	#room_info .img_list figure {
		width: 100%;
	}
	#room_info .img_list figure figcaption{
		margin-top: 0.27rem;
	}
	#room_info .img_list figure figcaption .jp {
		font-size: 0.28rem;
		letter-spacing: 0.15em;
	}
	#room_info .img_list figure figcaption .en {
		font-size: 0.14rem;
		margin-left: 0.15rem;
		letter-spacing: 0.15em;
		margin-top: 0;
	}
	#room_info .img_list figure figcaption .ex{
		font-size: 0.18rem;
		top: 0.21rem;
		left: 0.26rem;
		padding: 0.15rem 0.3rem 0.22rem 0.16rem;
		letter-spacing: 0.03em;
		border-radius: 0.08rem;
	}
	#room_info .txt_bloc{
		-webkit-justify-content: flex-start;
		        justify-content: flex-start;
		        flex-flow: row wrap;
		-webkit-flex-flow: row wrap;
		width: 100%;
		max-width: 100%;
		padding-top: 0;
		white-space: normal;
		padding-left: 0.07rem;
	}
	#room_info .txt_bloc h3{
		font-size: 0.36rem;
		line-height: 1.4em;
		margin-top: 0;
		margin-left: 0;
		letter-spacing: 0.05em;
	}
	#room_info .txt_bloc p{
		font-size: 0.28rem;
		line-height: 1.7em;
		margin-top: 0.46rem;
		margin-left: 0;
		letter-spacing: 0.05em;
		padding-right: 0.46rem;
	}
	#room_info .txt_bloc h3,
	#room_info .txt_bloc p{
		    -ms-writing-mode: unset;
		-webkit-writing-mode: unset;
		        writing-mode: unset;
		   -moz-writing-mode: unset;
		-webkit-text-orientation: unset;
		   -moz-text-orientation: unset;
		    -ms-text-orientation: unset;
		        text-orientation: unset;
	  display: block;
		width: 100%;
	}
	#room_info .btn_area {
		margin-top: 1.03rem;
	}
	#room_info .btn_area .btn_def2 {
		width: 5.14rem;
		padding: 0.1rem 0.4rem 0.08rem 0.9rem;
		height: 0.72rem;
	}
	#room_info .btn_area .btn_def2 span {
		font-size: 0.22rem;
		letter-spacing: 0.15em;
	}
	#room_info .btn_area .btn_def2 i {
		right: 0.5rem;
		margin-top: -0.2em;
	}
}
@media only screen and (max-width: 750px){
	#room_info .img_list figure figcaption .en {
		margin-top: 0.5em;
	}
}


/* =========================================================
room_spa
========================================================= */
#room_spa {
	background-color: #fff;
	background-image: url(../../img/page__bg_pc.jpg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
#room_spa .inner {
	max-width: 943px;
	padding-top: 85px;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 92px;
}
#room_spa .room_list {
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
	        flex-flow: row nowrap;
	-webkit-flex-flow: row nowrap;
	        align-items: flex-start;
	-webkit-align-items: flex-start;
}
#room_spa .room_bloc {
	width: 46.8%;
}
#room_spa .room_bloc .room_name {
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: center;
	        justify-content: center;
	        flex-flow: row wrap;
	-webkit-flex-flow: row wrap;
	        align-items: center;
	-webkit-align-items: center;
	margin-bottom: 28px;
	text-align: center;
	gap: 10px 10px;
}
#room_spa .room_bloc .room_name .jp {
	font-size: 22px;
	line-height: 1.3em;
	letter-spacing: 0.05em;
}
#room_spa .room_bloc .room_name .en {
	font-size: 11px;
	line-height: 1em;
	margin-top: 0.1em;
	letter-spacing: 0.1em;
	white-space: nowrap;
}
#room_spa .room_bloc .room_img {
}
#room_spa .room_bloc .room_txt {
	width: 100%;
	margin-top: 13px;
}
#room_spa .room_bloc .room_txt li {
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: flex-start;
	        justify-content: flex-start;
	        flex-flow: row nowrap;
	-webkit-flex-flow: row nowrap;
	        align-items: flex-start;
	-webkit-align-items: flex-start;
	width: 100%;
}
#room_spa .room_bloc .room_txt li h4 {
	border: 1px solid #231815;
	font-size: 15px;
	width: 70px;
	text-align: center;
	border-radius: 10px;
	padding: 3px 5px 5px 8px;
	letter-spacing: 0.3em;
}
#room_spa .room_bloc .room_txt li p {
	width: 100%;
	line-height: 1.7em;
	letter-spacing: 0.08em;
}
#room_spa .room_bloc .room_txt.room_txt_list {
	margin-top: 30px;
}
#room_spa .room_bloc .room_txt.room_txt_list li:not(:first-child){
	margin-top: 20px;
}
#room_spa .room_bloc .room_txt.room_txt_list li p {
	width: calc(100% - 70px);
	padding-left: 15px;
}
@media print, screen and (max-width: 983px) and (min-width: 751px) {
	#room_spa .inner {
		margin-right: 20px;
		margin-left: 20px;
	}
}
@media only screen and (max-width: 750px){
	#room_spa .inner {
		max-width: 100%;
		padding-top: 1.27rem;
		padding-bottom: 1.26rem;
	}
	#room_spa .room_list {
		-webkit-justify-content: flex-start;
		        justify-content: flex-start;
		        flex-flow: row wrap;
		-webkit-flex-flow: row wrap;
		width: 100%;
		gap: 1.15rem 0;
	}
	#room_spa .room_bloc {
		width: 100%;
	}
	#room_spa .room_bloc .room_name {
		margin-top: 0;
		margin-bottom: 0.44rem;
		gap: 0 0;
	}
	#room_spa .room_bloc .room_name.en {
		-webkit-justify-content: flex-start;
		        justify-content: flex-start;
	}
	#room_spa .room_bloc .room_name .jp {
		font-size: 0.32rem;
		line-height: 1.3em;
		letter-spacing: 0.1em;
	}
	#room_spa .room_bloc .room_name.en .jp {
		letter-spacing: 0;
	}
	#room_spa .room_bloc .room_name .en {
		font-size: 0.16rem;
		line-height: 1em;
		margin-top: 0.15em;
		letter-spacing: 0.15em;
		margin-left: 0.25rem;
	}
	#room_spa .room_bloc .room_img {
	}
	#room_spa .room_bloc .room_txt {
		width: 100%;
		margin-top: 0.37rem;
	}
	#room_spa .room_bloc .room_txt li {
		display:         flex;
		display: -webkit-flex;
		-webkit-justify-content: flex-start;
		        justify-content: flex-start;
		        flex-flow: row nowrap;
		-webkit-flex-flow: row nowrap;
		        align-items: stretch;
		-webkit-align-items: stretch;
		width: 100%;
	}
	#room_spa .room_bloc .room_txt li h4{
		font-size: 0.26rem;
		display:         flex;
		display: -webkit-flex;
		-webkit-justify-content: center;
		        justify-content: center;
		        align-items: center;
		-webkit-align-items: center;
		width: 1.28rem;
		padding: 0.09rem 0.1rem 0.07rem 0.1rem;
		letter-spacing: 0.05em;
		border-radius: 0.2rem;
	}
	#room_spa .room_bloc .room_txt.room_txt_list {
		margin-top: 0.31rem;
	}
	#room_spa .room_bloc .room_txt.room_txt_list li:not(:first-child){
		margin-top: 0.22rem;
	}
	#room_spa .room_bloc .room_txt.room_txt_list li:last-child p{
		margin-top: -0.04rem;
	}
	#room_spa .room_bloc .room_txt.room_txt_list li p {
		font-size: 0.24rem;
		width: calc(100% - 1.28rem);
		padding-left: 0.26rem;
		line-height: 1.7em;
		letter-spacing: 0.12em;
		padding-top: 0.05rem;
	}
	#room_spa .room_bloc .room_txt:not(.room_txt_list) {
		margin-top: 0.44rem;
		padding-left: 0.14rem;
	}
	#room_spa .room_bloc .room_txt:not(.room_txt_list) li p {
		font-size: 0.26rem;
		letter-spacing: 0.05em;
		line-height: 1.6em;
	}
}


/* =========================================================
inbox_img
========================================================= */
.inbox_img{
	position: relative;
	z-index: 0;
}
.inbox_img .main_bg{
	position: absolute;
	z-index: 1;
	top: 0;
	width: calc(50% - 3px);
	height: 380px;
	background-color: transparent;
	background-repeat: no-repeat;
	background-size: cover;
}
.inbox_img .inner_inbox{
	position: relative;
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: flex-start;
	        justify-content: flex-start;
	        flex-flow: column wrap;
	-webkit-flex-flow: column wrap;
	padding-top: 0;
	padding-bottom: 120px;
}
.inbox_img .inner_inbox .txt_bloc{
	position: relative;
	z-index: 2;
	width: auto;
	text-align: left;
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: flex-start;
	        justify-content: flex-start;
	        flex-flow: column wrap;
	-webkit-flex-flow: column wrap;
}
#concept_bloc01 .inbox_img .main_bg{
/*	background-image: url(../../img/home/concept_bg_pc.jpg);*/
}
#concept_bloc01 .inbox_img .main_bg #video_pv{
	width: 100%;
	height: 100%;
	position: relative;
}
#concept_bloc01 .inbox_img .main_bg #video_pv #video_mp4{
	width: 100%;
	height: 100%;
	position: relative;
	z-index: 1;
	vertical-align: top;
}
#concept_bloc01 .inbox_img .main_bg #video_play{
	position: absolute;
	top: 0;
	left:0;
	z-index: 2;
	width: 100%;
	height: 100%;
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-iteration-count: 1;
	animation-iteration-count: 1;
	cursor: pointer;
}
#concept_bloc01 .inbox_img .main_bg #video_play.on{
	-webkit-animation-name: play_movie;
	animation-name: play_movie;
	z-index: -1;
}
#concept_bloc01 .inbox_img .main_bg #video_play img{
	object-fit: cover;
}
#dining .inbox_img .main_bg{
	background-image: url(../../img/home/dining_bg.jpg);
}
.inbox_img.img_L .main_bg{
	left: 0;
	background-position: right top;
}
.inbox_img.img_R .main_bg{
	right: 0;
	background-position: left top;
}
.inbox_img.img_L .inner_inbox{
	        align-items: flex-end;
	-webkit-align-items: flex-end;
}
.inbox_img.img_R .inner_inbox{
	        align-items: flex-start;
	-webkit-align-items: flex-start;
}
.inbox_img.img_L .inner_inbox .txt_bloc{
	        align-items: flex-end;
	-webkit-align-items: flex-end;
}
.inbox_img.img_R .inner_inbox .txt_bloc{
	        align-items: flex-start;
	-webkit-align-items: flex-start;
}


@media print, screen and (max-width: 1086px) and (min-width: 751px) {
	#concept_bloc01 .inbox_img .main_bg{
		width: calc(50% + 5px);
		left: 0;
		right: auto;
		margin-right: auto;
	}
	#concept_bloc01 .inner_inbox .txt_bloc{
	}
}
@media print, screen and (max-width: 990px) and (min-width: 751px) {
	#concept_bloc01 .inner_inbox .txt_bloc{
		width: calc((50% - 5px));
		padding-right: 0;
		padding-left: 0;
	}
}
@media print, screen and (max-width: 950px) and (min-width: 751px) {
	#concept_bloc01 .inner_inbox .txt_bloc{
		width: 470px;
	}
	#concept_bloc01 .inbox_img .main_bg{
		width: calc(100% - 470px);
	}
}
@media only screen and (max-width: 750px){
	.inbox_img .main_bg{
		width: 5.45rem;
		height: 4.05rem;
	}
	.inbox_img .inner_inbox{
		padding-bottom: 0.5rem;
	}
	.inbox_img .inner_inbox .txt_bloc{
		width: 100%;
		height: auto;
	}
	#concept_bloc01 .inbox_img .main_bg{
		max-width: 100%;
		width: 100%;
		height: auto;
		position: static;
/*		background-image: url(../../img/home/concept_bg_sp.jpg);*/
	}
/*
	#concept_bloc01 .inbox_img .main_bg:before{
		content: "";
		display: block;
		width: 100%;
		padding-top: 65.17%;
		height: auto;
	}
*/
	#dining .inbox_img .main_bg{
		max-width: 6.66rem;
		width: 88.8% !important;
		height: auto;
		position: relative;
	}
	#dining .inbox_img .main_bg:before{
		content: "";
		display: block;
		width: 100%;
		padding-top: 59.16%;
		height: auto;
	}
}


/* =========================================================
dining
========================================================= */
#dining {
	background-color: #fff;
	padding-top: 94px;
	padding-bottom: 120px;
}
#dining .ttl_bloc {
	padding-bottom: 8px;
}
#dining .ttl_bloc .ttl {
	white-space: nowrap;
}
#dining .ttl_bloc .ttl .jp{
	letter-spacing: 0.2em;
}
#dining .ttl_bloc .ttl .en{
}
#dining .inbox_img {
	margin-top: 88px;
}
#dining .inbox_img .main_bg {
	width: calc(100% - (537px + ((100% - 990px) / 2)));
}
#dining .inner_inbox{
	max-width: 990px;
	padding-bottom: 148px;
}
#dining .inner_inbox .txt_bloc{
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: flex-start;
	        justify-content: flex-start;
	        flex-flow: row-reverse nowrap;
	-webkit-flex-flow: row-reverse nowrap;
	        align-items: flex-start;
	-webkit-align-items: flex-start;
	padding-top: 0;
	white-space: nowrap;
	width: 430px;
}
#dining .inner_inbox .txt_bloc h3{
	font-size: 24px;
	font-weight: normal !important;
	line-height: 1.8em;
	margin-top: 0;
	margin-left: 31px;
	text-indent: 0;
	letter-spacing: 0;
}
#dining .inner_inbox .txt_bloc p{
	font-size: 16px;
	font-weight: normal !important;
	line-height: 1.9em;
	margin-top: 5px;
	margin-left: 23px;
	letter-spacing: 0;
}
#dining .inner_inbox .txt_bloc p:last-child {
	margin-left: 5px;
}
@media print, screen and (min-width: 751px) {
	#dining .btn_area {
		margin-top: 71px;
	}
	#dining .btn_area .btn_def2 {
		width: 330px;
	}
	#dining .btn_area .btn_def2 span {
		letter-spacing: 0.2em;
	}
	#dining .btn_area .btn_def2 i {
		right: 31px;
		margin-top: -0.2em;
	}
}
@media print, screen and (max-width: 1030px) and (min-width: 751px) {
	#dining .inner_inbox{
		margin-left: 20px;
		margin-right: 20px;
	}
}
@media print, screen and (max-width: 814px) and (min-width: 751px) {
	#dining .inbox_img .main_bg {
		width: calc(100% - 450px);
	}
}
@media only screen and (max-width: 750px){
	#dining {
		padding-top: 1.3rem;
		padding-bottom: 1.3rem;
	}
	#dining .ttl_bloc {
		padding-bottom: 0.03rem;
		min-width: 0;
		width: 49.5%;
		margin-bottom: 0.9rem;
	}
	#dining .ttl_bloc .ttl {
		white-space: nowrap;
	}
	#dining .ttl_bloc .ttl .jp{
		letter-spacing: 0.15em;
	}
	#dining .inbox_img {
		margin-top: 0;
	}
	#dining .inner_inbox{
		        flex-flow: row wrap;
		-webkit-flex-flow: row wrap;
		padding-bottom: 1.02rem;
	}
	#dining .inner_inbox .txt_bloc{
		        flex-flow: row wrap;
		-webkit-flex-flow: row wrap;
		padding-top: 0.78rem;
		white-space: normal;
		width: 100%;
	}
	#dining .inner_inbox .txt_bloc h3{
		font-size: 0.36rem;
		line-height: 1.4em;
		margin-left: 0.67rem;
		margin-bottom: 0.64rem;
		letter-spacing: 0.05em;
	}
	#dining .inner_inbox .txt_bloc p{
		font-size: 0.28rem;
		line-height: 1.6em;
		margin: 0.45rem auto 0 0.67rem;
		letter-spacing: 0.05em;
	}
	#dining .inner_inbox .txt_bloc h3,
	#dining .inner_inbox .txt_bloc p{
		    -ms-writing-mode: unset;
		-webkit-writing-mode: unset;
		        writing-mode: unset;
		   -moz-writing-mode: unset;
		-webkit-text-orientation: unset;
		   -moz-text-orientation: unset;
		    -ms-text-orientation: unset;
		        text-orientation: unset;
	  display: block;
		width: 100%;
	}
	#dining .inner_inbox .txt_bloc p span.sp{
		display: block;
		height: 1em;
	}
	#dining .inner_inbox .txt_bloc h3 + p {
		margin-top: 0;
	}
	#dining .inner_inbox .txt_bloc p:last-child {
		margin-left: 0.64rem;
		margin-top: 0.54rem;
	}

	#dining .btn_area {
		margin-top: 0.88rem;
	}
	#dining .btn_area .btn_def2 {
		width: 5.14rem;
		padding: 0.1rem 0.4rem 0.08rem 0.9rem;
		height: 0.72rem;
	}
	#dining .btn_area .btn_def2 span {
		font-size: 0.22rem;
		letter-spacing: 0.15em;
	}
	#dining .btn_area .btn_def2 i {
		right: 0.5rem;
		margin-top: -0.2em;
	}
}


/* =========================================================
dining_ticker
========================================================= */
#dining_ticker{
	position: relative;
	visibility: visible;
	overflow: hidden;
	width: 100%;
}
#dining_ticker .slider{
	width: 100%;
	height: 243px;
}
#dining_ticker .slick-slide {
	margin: 0;
}
#dining_ticker .slick-slide,
#dining_ticker .slick-slide img{
	position: relative;
	width: 362px;
}
@media only screen and (max-width: 750px){
	#dining_ticker{
	}
	#dining_ticker .slider{
		height: 2.46rem;
	}
	#dining_ticker .slick-slide,
	#dining_ticker .slick-slide img{
		width: 3.67rem;
		height: 2.46rem;
	}
}


/* =========================================================
gokusenmatsuba_bloc
========================================================= */
#gokusenmatsuba_bloc{
	overflow: hidden;
	padding: 114px 0 157px;
	position: relative;
	background-color: #fff;
	background-image: url(../../img/page__bg_pc.jpg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
#gokusenmatsuba_bloc .main_bg{
	position: absolute;
	z-index: 1;
	top: 120px;
	right: 0;
	width: calc(100% - (668px + ((100% - 930px) / 2)));
	height: 370px;
	background-color: transparent;
	background-image: url(../../img/home/gokusen-matsuba_bg_pc.jpg);
	background-repeat: no-repeat;
	background-position: left top;
	background-size: cover;
}
#gokusenmatsuba_bloc .inner{
	position: relative;
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: flex-start;
	        justify-content: flex-start;
	        flex-flow: column wrap;
	-webkit-flex-flow: column wrap;
	        align-items: flex-start;
	-webkit-align-items: flex-start;
	min-height: 370px !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	max-width: 930px;
	margin-left: auto;
	margin-right: auto;
}
#gokusenmatsuba_bloc .inbox{
	position: relative;
	z-index: 0;
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
	        flex-flow: row-reverse nowrap;
	-webkit-flex-flow: row-reverse nowrap;
	        align-items: flex-start;
	-webkit-align-items: flex-start;
	width: 67.6%;
	max-width: 629px;
	padding: 0;
}
#gokusenmatsuba_bloc .txt_bloc {
	width: 510px;
	padding: 39px 0 0 0;
}
#gokusenmatsuba_bloc .txt_bloc h4 {
	font-size: 24px;
	line-height: 1.5em;
	margin-bottom: 28px;
	letter-spacing: 0.15em;
	padding-left: 9px;
	text-indent: 0.5em;
	margin-left: -0.5em;
}
#gokusenmatsuba_bloc .txt_bloc p {
	font-size: 1em;
	line-height: 1.8em;
	text-align: left;
	letter-spacing: 0.05em;
	padding-right: 60px;
}
@media print, screen and (min-width: 751px) {
	#gokusenmatsuba_bloc .inbox h3 {
		min-width: 99px;
	}
	#gokusenmatsuba_bloc .txt_bloc .btn_area {
		margin-top: 45px;
	}
	#gokusenmatsuba_bloc .txt_bloc .btn_area .btn_def2{
		margin-left: 41px;
		width: 347px;
	}
	#gokusenmatsuba_bloc .txt_bloc .btn_area .btn_def2 span {
		letter-spacing: 0.2em;
	}
	#gokusenmatsuba_bloc .txt_bloc .btn_area .btn_def2 i {
		right: 31px;
		margin-top: -0.2em;
	}
}
@media print, screen and (max-width: 970px) and (min-width: 751px){
	#gokusenmatsuba_bloc .inner{
		margin-left: 20px;
		margin-right: 20px;
	}
	#gokusenmatsuba_bloc .inbox{
		width: 688px;
	}
	#gokusenmatsuba_bloc .main_bg{
		width: calc(100% - 688px);
	}
}
@media print, screen and (max-width: 931px) and (min-width: 751px){
	#gokusenmatsuba_bloc .inbox{
		width: calc(100% - 243px);
	}
	#gokusenmatsuba_bloc .main_bg{
		width: 243px;
	}
	#gokusenmatsuba_bloc .txt_bloc .btn_area .btn_def2{
		margin-left: 0;
	}
}
@media only screen and (max-width: 750px){
	#gokusenmatsuba_bloc{
		background-image: url(../../img/page__bg_sp.jpg);
		padding: 1.35rem 0 1.44rem;
	}
	#gokusenmatsuba_bloc .main_bg{
		position: static;
		width: 6.24rem;
		height: 3.86rem;
		max-height: none;
		background-image: url(../../img/home/gokusen-matsuba_bg_sp.jpg);
		margin-left: auto;
		margin-right: 0;
	}
	#gokusenmatsuba_bloc .inner{
		min-height: 0 !important;
		padding-top: 0.44rem !important;
		padding-bottom: 0 !important;
	}
	#gokusenmatsuba_bloc .inbox{
		position: relative;
		z-index: 0;
		display: block;
		width: 100%;
		max-width: 100%;
		padding: 0;
	}
	#gokusenmatsuba_bloc h3{
		display:         flex;
		display: -webkit-flex;
		-webkit-justify-content: center;
		        justify-content: center;
		        flex-flow: row wrap;
		-webkit-flex-flow: row wrap;
		        align-items: flex-start;
		-webkit-align-items: flex-start;
		margin: 0 auto;
	}
	#gokusenmatsuba_bloc h3 picture {
		margin-right: 0.17rem;
		margin-left: 0;
	}
	#gokusenmatsuba_bloc .txt_bloc{
		width: 100%;
		padding: 0.12rem 0 0 0;
	}
	#gokusenmatsuba_bloc .txt_bloc h4{
		font-size: 0.36rem;
		font-weight: bold;
		line-height: 1.4em;
		display: block;
		margin-top: 0;
		margin-bottom: 0.51rem;
		margin-left: 0.2em;
		padding-left: 0;
		text-align: left;
		white-space: nowrap;
		text-indent: 0.5em;
		letter-spacing: 0.1em;
	}
	#gokusenmatsuba_bloc .txt_bloc p {
		font-size: 0.28rem;
		line-height: 1.8em;
		text-align: left;
		letter-spacing: 0.12em;
		padding: 0 0.2rem;
	}
	#gokusenmatsuba_bloc .txt_bloc .btn_area{
		margin-top: 0.54rem;
	}
	#gokusenmatsuba_bloc .txt_bloc .btn_area .btn_def2 {
		width: 5.14rem;
		padding: 0.1rem 0.4rem 0.08rem 0.75rem;
		height: 0.72rem;
	}
	#gokusenmatsuba_bloc .txt_bloc .btn_area .btn_def2 span {
		font-size: 0.22rem;
		letter-spacing: 0.15em;
	}
	#gokusenmatsuba_bloc .txt_bloc .btn_area .btn_def2 i {
		right: 0.5rem;
		margin-top: -0.2em;
	}
}


/* =========================================================
sightseeing_spot
========================================================= */
#sightseeing_spot {
	padding-top: 86px;
	padding-bottom: 112px;
}
#sightseeing_spot .ttl_bloc {
	padding-bottom: 8px;
}
#sightseeing_spot .ttl_bloc .ttl {
	white-space: nowrap;
}
#sightseeing_spot .ttl_bloc .ttl .jp{
	letter-spacing: 0.2em;
}
@media only screen and (max-width: 750px){
	#sightseeing_spot {
		padding-top: 1.4rem;
		padding-bottom: 1.45rem;
	}
	#sightseeing_spot .ttl_bloc {
		padding-bottom: 0.03rem;
		min-width: 0;
		width: 48.5%;
		margin-bottom: 0.74rem;
	}
	#sightseeing_spot .ttl_bloc .ttl {
		white-space: nowrap;
	}
	#sightseeing_spot .ttl_bloc .ttl .jp{
		letter-spacing: 0.15em;
	}
}

#sightseeing_spot .btn_area {
	margin-top: 60px;
}
@media print, screen and (min-width: 751px) {
	#sightseeing_spot .btn_area {
	}
	#sightseeing_spot .btn_area .btn_def2 {
	  width: 330px;
	  padding-left: 23px;
	}
	#sightseeing_spot .btn_area .btn_def2 span {
		letter-spacing: 0.1em;
	}
	#sightseeing_spot .btn_area .btn_def2 i {
		right: 31px;
		margin-top: -0.2em;
	}
}
@media only screen and (max-width: 750px){
	#sightseeing_spot .btn_area {
		margin-top: 0.76rem;
	}
	#sightseeing_spot .btn_area .btn_def2 {
		width: 5.14rem;
		padding: 0.1rem 0.4rem 0.08rem 0.7rem;
		height: 0.72rem;
	}
	#sightseeing_spot .btn_area .btn_def2 span {
		font-size: 0.22rem;
		letter-spacing: 0.15em;
	}
	#sightseeing_spot .btn_area .btn_def2 i {
		right: 0.5rem;
		margin-top: -0.2em;
	}
}


/* =========================================================
spot_info
========================================================= */
#spot_info {
}
#spot_info .inner_inbox{
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
	        flex-flow: row-reverse nowrap;
	-webkit-flex-flow: row-reverse nowrap;
	        align-items: flex-start;
	-webkit-align-items: flex-start;
	max-width: 1086px;
	padding-top: 55px;
	padding-bottom: 0;
}
#spot_info .img_list{
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: flex-start;
	        justify-content: flex-start;
	        flex-flow: row wrap;
	-webkit-flex-flow: row wrap;
	        align-items: flex-start;
	-webkit-align-items: flex-start;
	width: calc(100% - 318px);
	max-width: 768px;
	gap: 28px 2.2%;
}
#spot_info .img_list figure {
	width: 47.3%;
}
#spot_info .img_list figure picture {
	width: 100%;
}
#spot_info .img_list figure figcaption{
	font-size: 16px;
	line-height: 1em;
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: center;
	        justify-content: center;
	        flex-flow: row wrap;
	-webkit-flex-flow: row wrap;
	        align-items: center;
	-webkit-align-items: center;
	margin-top: 12px;
	text-align: center;
	letter-spacing: 0.2em;
}
#spot_info .txt_bloc{
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: flex-end;
	        justify-content: flex-end;
	        flex-flow: row-reverse nowrap;
	-webkit-flex-flow: row-reverse nowrap;
	        align-items: flex-start;
	-webkit-align-items: flex-start;
	max-width: 318px;
	width: 100%;
	padding-top: 55px;
	white-space: nowrap;
}
#spot_info .txt_bloc h3{
	font-size: 24px;
	font-weight: normal !important;
	line-height: 1.6em;
	margin-top: 2px;
	margin-left: 41px;
	text-indent: 0;
	letter-spacing: 0;
}
#spot_info .txt_bloc p{
	font-size: 16px;
	font-weight: normal !important;
	line-height: 1.8em;
	margin-top: 0;
	margin-left: 10px;
	letter-spacing: 0;
}
#spot_info .txt_bloc p:last-child{
	margin-left: 0;
}
@media print, screen and (min-width: 751px) {
	#spot_info .btn_area {
	}
	#spot_info .btn_area .btn_def2 {
	  width: 330px;
	}
	#spot_info .btn_area .btn_def2 span {
		letter-spacing: 0.1em;
	}
	#spot_info .btn_area .btn_def2 i {
		right: 31px;
		margin-top: -0.2em;
	}
}
@media print, screen and (max-width: 1126px) and (min-width: 751px) {
	#spot_info .inner_inbox{
		margin-left: 20px;
		margin-right: 20px;
	}
}
@media print, screen and (max-width: 900px) and (min-width: 751px) {
	#spot_info .img_list{
		gap: 25px 0;
	}
	#spot_info .img_list a,
	#spot_info .img_list figure,
	#spot_info .img_list figure *:not(.jp):not(.en){
		width: 100%;
	}
}
@media only screen and (max-width: 750px){
	#spot_info .inner_inbox{
		-webkit-justify-content: flex-start;
		        justify-content: flex-start;
		        flex-flow: column-reverse wrap;
		-webkit-flex-flow: column-reverse wrap;
		        align-items: flex-start;
		-webkit-align-items: flex-start;
		max-width: 100%;
		padding: 0 0.6rem;
	}
	#spot_info .img_list {
		width: 100%;
		max-width: 97.8%;
		gap: 0.9rem 0;
		margin: 1.13rem auto 0;
	}
	#spot_info .img_list figure {
		width: 100%;
	}
	#spot_info .img_list figure figcaption {
		font-size: 0.28rem;
		letter-spacing: 0.15em;
		margin-top: 0.23rem;
	}
	#spot_info .txt_bloc{
		-webkit-justify-content: flex-start;
		        justify-content: flex-start;
		        flex-flow: row wrap;
		-webkit-flex-flow: row wrap;
		width: 100%;
		max-width: 100%;
		padding-top: 0;
		white-space: normal;
	}
	#spot_info .txt_bloc h3 {
		font-size: 0.36rem;
		line-height: 1.4em;
		margin-top: 0;
		margin-left: 0.05rem;
		margin-bottom: 0.5rem;
		letter-spacing: 0.05em;
	}
	#spot_info .txt_bloc p {
		font-size: 0.28rem;
		line-height: 1.7em;
		margin-top: 0;
		margin-left: 0.05rem;
	}
	#spot_info .txt_bloc h3,
	#spot_info .txt_bloc p{
		    -ms-writing-mode: unset;
		-webkit-writing-mode: unset;
		        writing-mode: unset;
		   -moz-writing-mode: unset;
		-webkit-text-orientation: unset;
		   -moz-text-orientation: unset;
		    -ms-text-orientation: unset;
		        text-orientation: unset;
	  display: block;
		width: 100%;
	}
	#spot_info .txt_bloc p:last-child{
	}
}


/* =========================================================
store
========================================================= */
#store{
	background-color: #d7c5ad;
	padding-top: 77px;
}
#store .ttl_bloc{
	padding-bottom: 8px;
}
#store .ttl_bloc:before {
	background-color: #fff;
}
#store .ttl_bloc .ttl {
	white-space: nowrap;
}
#store .ttl_bloc .ttl .jp{
	letter-spacing: 0.2em;
	color: #fff;
}
#store .ttl_bloc .ttl .en{
}
#store .inner{
	max-width: 1122px;
	margin-right: auto;
	margin-left: auto;
	padding-top: 79px;
	padding-bottom: 90px;
}
#store .inner .store_list{
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
	        flex-flow: row wrap;
	-webkit-flex-flow: row wrap;
	        align-items: stretch;
	-webkit-align-items: stretch;
	gap: 57px 7%;
}
#store .inner .store_list .store{
	display:         flex;
	display: -webkit-flex;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
	        flex-flow: row wrap;
	-webkit-flex-flow: row wrap;
	        align-items: stretch;
	-webkit-align-items: stretch;
	width: 46.5%;
	max-width: 522px;
	background-color: #fff;
}
#store .inner .store_list .store .store_img{
	display: block;
	width: calc(100% - 272px);
	height: 100%;
	background-color: transparent;
	background-image: var(--store-img-pc);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
#store .inner .store_list .store .store_info {
	width: 272px;
	min-height: 259px;
	padding: 0 20px 20px 22px;
}
#store .inner .store_list .store .store_info .store_logo {
	display: block;
	text-align: center;
}
#store .inner .store_list .store .store_info p {
	font-size: 12px;
	line-height: 1.9em;
	text-align: left;
	letter-spacing: 0.05em;
}
#store .inner .store_list .store .store_info .btn_area {
	margin-top: 25px;
}
#store .inner .store_list .store .store_info .btn_area span{
	font-size: 10px;
	letter-spacing: 0.5em;
}

#store .inner .store_list .store.kotobiki .store_info .store_logo {
	padding-top: 22px;
	padding-right: 15px;
	margin-bottom: 22px;
}
#store .inner .store_list .store.sky .store_info .store_logo{
	padding-top: 33px;
	padding-right: 5px;
	margin-bottom: 24px;
}
#store .inner .store_list .store.himonoya .store_info .store_logo{
	padding-top: 36px;
	padding-right: 15px;
	margin-bottom: 28px;
}
#store .inner .store_list .store.dining .store_info .store_logo{
	padding-top: 35px;
	padding-right: 8px;
	margin-bottom: 26px;
}
@media print, screen and (max-width: 1162px) and (min-width: 751px) {
	#store .inner{
		margin-right: 20px;
		margin-left: 20px;
	}
	#store .inner .store_list {
		gap: 57px 0;
	}
	#store .inner .store_list .store {
		min-width: 450px;
	}
}
@media print,screen and (max-width: 950px) and (min-width: 751px){
	#store .inner .store_list .store{
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
		flex-flow: column wrap;
		-webkit-flex-flow: column wrap;
		align-items: flex-start;
		-webkit-align-items: flex-start;
		min-width: 0;
	}
	#store .inner .store_list .store .store_img{
		width: 100%;
		height: 240px;
	}
	#store .inner .store_list .store .store_info{
		width: 100%;
	}
}
@media only screen and (max-width: 750px){
	#store{
		padding-top: 0.94rem;
	}
	#store .inner{
		max-width: 100%;
		padding: 0 0.52rem 1.4rem;
	}
	#store .ttl_bloc {
		padding-bottom: 0.1rem;
		min-width: 0;
		width: 44.4%;
		margin-bottom: 0.84rem;
	}
	#store .ttl_bloc .ttl {
		white-space: nowrap;
	}
	#store .ttl_bloc .ttl .jp {
		letter-spacing: 0.1em;
		margin-right: -0.1rem;
	}
	#store .inner .store_list{
		display: block;
	}
	#store .inner .store_list .store{
		width: 100%;
		max-width: 100%;
		height: auto;
		margin-bottom: 0.53rem;
		padding-bottom: 0;
	}
	#store .inner .store_list .store:last-child{
		margin-bottom: 0 !important;
	}
	#store .inner .store_list .store .store_img{
		width: 43.3%;
		height: auto;
		min-height: 3.2rem;
	}
	#store .inner .store_list .store .store_info {
		position: relative;
		width: 56.7%;
		padding: 0;
		min-height: 3.2rem;
	}
	#store .inner .store_list .store .store_info .store_img{
		position: absolute;
		top: 0;
		left: 0;
		width: 2.71rem;
		height: 3.04rem;
		margin-bottom: 0;
	}
	#store .inner .store_list .store .store_info .store_logo{
		width: 100%;
		height: auto;
		margin-bottom: 0 !important;
		text-align: center;
	}
	#store .inner .store_list .store.kotobiki .store_info .store_logo{
		padding: 0.27rem 0.03rem 0.1rem 0;
	}
	#store .inner .store_list .store.sky .store_info .store_logo{
		padding: 0.32rem 0.05rem 0.2rem 0;
	}
	#store .inner .store_list .store.himonoya .store_info .store_logo{
		padding: 0.37rem 0.04rem 0.19rem 0;
	}
	#store .inner .store_list .store.dining .store_info .store_logo{
		padding: 0.33rem 0.07rem 0.16rem 0;
	}
	#store .inner .store_list .store .store_info p {
		font-size: 0.2rem;
		line-height: 1.4em;
		padding: 0 0.25rem !important;
		letter-spacing: 0.05em;
	}
	#store .inner .store_list .store .store_info .btn_area{
		margin-top: 0.26rem;
		margin-bottom: 0;
	}
	#store .inner .store_list .store .store_info .btn_area .btn_def {
		margin-left: 0;
		margin-right: 0;
		padding-right: 0;
		padding-left: 0;
	}
	#store .inner .store_list .store .store_info .btn_area .btn_def span {
		font-size: 0.14rem;
		letter-spacing: 0.45em;
		position: relative;
		margin-bottom: 0.05rem;
		margin-left: 0;
	}
	#store .inner .store_list .store .store_info .btn_area .btn_def i{
		width: 2.1rem;
		height: 0.07rem;
	}
}
