@charset "utf-8";
/* # =================================================================
#### page-content00
# ================================================================= */
.page-content00 .wrap{
	position : relative;
	display : block;
	width : 1000px;
	height : auto;
	margin : 0 auto;
	padding : 100px 0;
}
.page-content00 .information{
	position : relative;
	display : block;
	width : 100%;
	height : auto;
	margin-bottom : 50px;
}
.page-content00 h3{
	position : relative;
	display : block;
	width : 100%;
	height : auto;
	color : #F25700;
	font-size : 30px;
	font-weight : 500;
}
.page-content00 P{
	position : relative;
	display : block;
	width : 100%;
	height : auto;
	font-size : 20px;
	font-weight : 500;
	margin-bottom : 10px;
}
.page-content00 figure,
.page-content00 figure img{
	position : relative;
	display : block;
	width : 100%;
	height : auto;
}



/* # =================================================================
#### page-content01
# ================================================================= */
.page-content01 .wrap{
	padding-bottom : 100px;
}
.page-content01 .inner{
	position : relative;
	display : block;
	width : 100%;
	height : auto;
}
.page-content01 .inner h3{
	position : relative;
	display : block;
	width : 100%;
	height : auto;
	color : #F25700;
	font-size : 40px;
	font-weight : 600;
	margin-bottom : 50px;
}
.page-content01 .inner p{
	position : relative;
	display : block;
	width : 100%;
	height : auto;
	font-size : 20px;
	font-weight : 500;
	margin-bottom : 50px;
}
.page-content01 .inner p:last-child{
	margin-bottom : 0;
}
.circle-image{
	position : absolute;
	display : block;
	border-radius : 50%;
	background-color : #FFF;
	padding : 10px;
	aspect-ratio : 1;
}
.circle-image img{
	position : relative;
	display : block;
	width : 100%;
	height : 100%;
	border-radius : 50%;
	object-fit : cover;
	object-position : center center;
}
.circle-l {
	width : min(33.33vw, 500px);
	aspect-ratio : 1;
	top : max(-10vw, -150px);
	right : min(10vw, 150px);
}

.circle-m {
	width : min(20vw, 300px);
	aspect-ratio : 1;
	top : min(8.67vw, 130px);
	/* 0pxから徐々に外（右）へ逃がす */
	right : max(-5vw, 0px);
}
/* # =================================================================
#### page-content02
# ================================================================= */
.page-content02{

}
.page-content02 .wrap{
	background-image : url(../../images/common/back-item.jpg);
	background-repeat : no-repeat;
	background-position : right center;
	background-size : 95% 100%;
	padding-bottom : 200px;
	padding : 200px 100px 200px 0;
	width : 95%;
	margin : -190px 0 0 auto;
}
.page-content02 .top-title{
	position : relative;
	display : block;
	width : min(53.33vw, 800px);
	height : auto;
	right : min(0.67vw, 10px);
	margin : 0 0 15px auto;
	z-index : 1;
}
.page-content02 .top-title img{
	position : relative;
	display : block;
	width : 100%;
	height : auto;
}
.header-flex{
	position : relative;
	display : flex;
	flex-wrap : wrap;
	justify-content : space-between;
	width : 100%;
	height : auto;
	margin-top : -40px;
	z-index : 1;
}
.page-content02 h3{
	position : relative;
	display : block;
	width : min(36.67vw, 550px);
	left : min(3.67vw, 55px);
	height : auto;
	margin-bottom : min(3.33vw, 50px);
}
.page-content02  h3 img{
	position : relative;
	display : block;
	width : 100%;
	height : auto;
}

.about .about-point{
	position : relative;
	display : block;
	width : 100%;
	height : auto;
}
.about .about-point ul{
	position : relative;
	display : flex;
	flex-wrap : wrap;
	justify-content : space-between;
	width : 100%;
	height : auto;
}
.about .about-point ul li{
	width : 46%;
	border-radius : 27px;
	border : 2px solid #4199B5;
	margin-bottom : 50px;
}
.about .about-point ul li:last-child{
	margin-bottom : 0;
}
.about .about-point ul li .point{

}
.about .about-point ul li figure img{
	border-radius : 25px 25px 0 0;
}


/* # =================================================================
#### page-content03
# ================================================================= */
.page-content03{
	margin-top : -140px;
}
/* # =================================================================
#### page-content04
# ================================================================= */
.page-content04{
	
}
.page-content04 .wrap{
	width : 1300px;
	margin : 0 0 0 auto;
}
.information{
	position : relative;
	display : block;
	width : 100%;
	height : auto;
	margin-bottom : 150px;
}

.floor-guide{
	
}
.floor-guide .title{
	position : relative;
	display : block;
	width : 100%;
	height : auto;
	margin-bottom : 30px;
}
.floor-guide .title span{
	position : relative;
	display : block;
	width : fit-content;
	height : auto;
	border-radius : 50px;
	background-color : #4199B5;
	line-height : 1;
	text-align : center;
	color : #FFF;
	font-size : 25px;
	font-weight : 500;
	padding : 15px 50px;
}
.floor-guide p{
	position : relative;
	display : block;
	width : 100%;
	height : auto;
	text-align : justify;
	font-size : 18px;
	font-weight : 500;
	margin-bottom : 30px;
}
.floor-guide p.impact{
	color : #F25700;
	font-size : 35px;
	font-weight : bold;
}
.floor-guide p:last-child{
	margin-bottom : 0;
}
/***** floor01 *****/
.floor01{
	position : relative;
	display : block;
	width : 100%;
	height : auto;
	border-radius : 25px 0 0 0;
	border-top : 5px solid #F25700;
	border-left : 5px solid #F25700;
	padding : 100px 0 50px 50px;
	margin-bottom : 100px;
}
.floor01::after{
	content : "";
	position : absolute;
	display : block;
	width : 200px;
	height : 200px;
	background : url(../../images/about/1F.png)center / contain no-repeat;
	top : -115px;
}
.floor01 .guide-header{
	position : relative;
	display : flex;
	flex-wrap : wrap;
	justify-content : space-between;
	width : 100%;
	height : auto;
	margin-bottom : 50px;
}
.floor01 .guide-header .text-box{
	position : relative;
	display : block;
	width : calc(100% - 700px);
	height : auto;
}
.floor01 .guide-header .text-box p.title{
	padding-left : 0;
}
.floor01 .guide-header .text-box p{
	padding-left : 50px;
}
.floor01 .guide-header .image-box{
	position : relative;
	display : block;
	width : 650px;
	height : auto;
	margin-top : -200px;
}
.floor01 .guide-header .image-box figure{
	position : relative;
	display : block;
	width : 100%;
	height : auto;
}
.floor01 .guide-header .image-box img{
	position : relative;
	display : block;
	width : 100%;
	height : auto;
	border-radius : 25px 0 0 25px;
}
.floor01 .flex{
	position : relative;
	display : flex;
	flex-wrap : wrap;
	justify-content : space-between;
	width : 100%;
	height : auto;
	padding-right : 100px;
}
.floor01 .flex .box{
	position : relative;
	display : block;
	width : 30%;
	height : auto;
}
.floor01 .flex .box figure{
	position : relative;
	display : block;
	width : 100%;
	height : auto;
	aspect-ratio : 4 / 3;
	margin-bottom : 20px;
}
.floor01 .flex .box figure img{
	position : relative;
	display : block;
	width : 100%;
	height: 100%;
	object-fit : cover;
	border-radius : 25px;
}
/***** floor02 *****/
.floor02{
	position : relative;
	display : block;
	width : 100%;
	height : auto;
	margin-bottom : 100px;
}
.floor02 .flex{
	position : relative;
	display : flex;
	flex-wrap : wrap;
	justify-content : space-between;
	width : 100%;
	height : auto;
}
.floor02 .flex .option{
	position : relative;
	display : block;
	width : 400px;
	height : auto;
}
.floor02 .flex .option figure{
	position : absolute;
	display : flex;
	justify-content : center;
	align-items : center;
	top : 0;
	right : 0;
	bottom : 0;
	left : 0;
	margin : auto auto;
	width : 320px;
	height : auto;
	aspect-ratio : 1;
}
.floor02 .flex .option figure img{
	position : relative;
	display : block;
	width : 100%;
	height : auto;
}
.floor02 .flex .inner{
	position : relative;
	display : flex;
	flex-wrap : wrap;
	justify-content : space-between;
	width : calc(100% - 400px);
	height : auto;
	border-radius : 25px 0 0 0;
	border-top : 5px solid #F25700;
	border-left : 5px solid #F25700;
	padding : 100px 50px 50px 50px;
}
.floor02 .flex .inner::after{
	content : "";
	position : absolute;
	display : block;
	width : 200px;
	height : 200px;
	background : url(../../images/about/2F.png)center / contain no-repeat;
	top : -115px;
}
.floor02 .flex .inner .box{
	position : relative;
	display : block;
	width : 45%;
	height : auto;
}
.floor02 .flex .inner .box figure{
	position : relative;
	display : block;
	width : 100%;
	height : auto;
	aspect-ratio : 4 / 3;
	margin-bottom : 20px;
}
.floor02 .flex .inner .box figure img{
	position : relative;
	display : block;
	width : 100%;
	height: 100%;
	object-fit : cover;
	border-radius : 25px;
}

.map{
	position : relative;
	display : block;
	width : 100%;
	height : auto;
	margin-bottom : 100px;
}
.ggmap{
	position : relative;
	display : block;
	width : 100%;
	height : auto;
	aspect-ratio : 16 / 9;
}
.ggmap iframe{
	position : relative;
	display : block;
	width : 100%;
	height : 100%;
}
.map h3{
	position : relative;
	display : block;
	width : 100%;
	height : auto;
	color : #F25700;
	font-size : 30px;
	font-weight : 500;
	margin-bottom : 30px;
}




.profile{
	position : relative;
	display : block;
	width : 780px;
	height : auto;
	margin : 0 auto;
}
.profile .flex{
	position : relative;
	display : flex;
	flex-wrap : wrap;
	justify-content : space-between;
	width : 100%;
	height : auto;
}
.page-content04 .profile .flex h3{
	position : relative;
	display : block;
	width : 180px;
	height : auto;
	color : #F25700;
	font-size : 30px;
	font-weight : 500;
	margin-bottom : 30px;
}
.profile dl{
	position : relative;
	display : flex;
	flex-wrap : wrap;
	justify-content : space-between;
	width : 600px;
	height : auto;
	border-bottom : 1px solid #F25700;
}
.profile dl dt{
	position : relative;
	display : block;
	width : 120px;
	height : auto;
	font-size : 20px;
	border-top : 1px solid #F25700;
	border-right : 1px solid #F25700;
	padding : 20px
}
.profile dl dd{
	position : relative;
	display : block;
	width : calc(100% - 120px);
	height : auto;
	font-size : 20px;
	border-top : 1px solid #F25700;
	padding : 20px;
}
.profile dl dd span{
	margin-left : 5px;
}
/* # =================================================================
#### 横スクロール
# ================================================================= */
.scroll-wrapper{
	position : relative;
	width : 100%;
	overflow : hidden;
}
.scroll-image{
	width : 100%;
	-webkit-overflow-scrolling : touch;
}
.scroll-image figure{
	margin : 0;
	padding : 0;
	width : 100%;
}
.scroll-image img{
	width : 100%;
	height : auto;
	vertical-align : bottom;
	pointer-events : none;
	user-select : none;
	-webkit-user-drag : none;
}
.scroll-wrapper::after,
.scroll-hint-img {
	display : none;
}
/* # =================================================================
#### responsive
# ================================================================= */
/* # =================================================================
#### 1500px
# ================================================================= */
@media screen and (max-width: 1500px){
/* # =================================================================
#### page-content02
# ================================================================= */
.about-point ul li .point{
	padding : 30px 30px;
}
.about .about-point ul li .point h4{
	font-size : 24px
}
/* # =================================================================
#### page-content04
# ================================================================= */
.page-content04 .wrap{
	width : 100%;
	padding-right : 0 !important;
}
.floor01{
	padding : 100px 0 50px 30px;
}
.floor01 .guide-header .text-box p{
	padding-left : 0;
}
.floor-guide p{
	font-size : 16px;
}
.floor-guide p.impact{
	font-size : 30px !important;
	white-space : nowrap;
}
.floor-guide .title span{
	font-size : 18px;
}
.floor01 .guide-header .text-box{
	width : calc(100% - 600px);
}
.floor01 .guide-header .image-box{
	width : 550px;
}











}/*** 1500px ***/
/* # =================================================================
#### 1400px
# ================================================================= */
@media screen and (max-width: 1400px){
/* # =================================================================
#### page-content01
# ================================================================= */
.page-content01 .inner h3{
	font-size : 30px;
}
.page-content04 .profile .flex h3,
.map h3{
	font-size : 26px;
}
.profile dl dt,
.profile dl dd{
	font-size : 18p;x
}
.about .about-point ul li .point h4{
	font-size : 22px;
}
/* # =================================================================
#### page-content02
# ================================================================= */
.page-content02 .top-title{
	margin-bottom : 25px;
}
.page-content02 .wrap{
	margin-top : -160px;
}











}/*** 1400px ***/
/* # =================================================================
#### 1240px
# ================================================================= */
@media screen and (max-width: 1240px){
.circle-image{
	padding : min(0.81vw, 10px);
}
.circle-l {
	width : min(33.06vw, 410px);
	aspect-ratio : 1;
	/* -210 / 1240 * 100 = -16.94vw */
	top : max(-16.94vw, -210px);
	left : 0;
}

.circle-m {
	width : min(19.35vw, 240px);
	aspect-ratio : 1;
	/* 20 / 1240 * 100 = 1.61vw */
	top : min(1.61vw, 20px);
	/* 320 / 1240 * 100 = 25.81vw */
	left : min(25.81vw, 320px);
}
/* # =================================================================
#### page-content01
# ================================================================= */
.page-content01 .inner{
	padding-top : min(9.27vw, 115px);
}
/* # =================================================================
#### page-content02
# ================================================================= */
.page-content02 .top-title{
	
}
/* # =================================================================
#### page-content04
# ================================================================= */
.floor02 .flex .option{
	width : 300px;
}
.floor02 .flex .option figure{
	width : 220px;
}
.floor02 .flex .inner{
	width : calc(100% - 300px);
}














}/*** 1240px ***/
/* # =================================================================
#### 1024px
# ================================================================= */
@media screen and (max-width: 1024px){
/* # =================================================================
#### page-content00
# ================================================================= */
.page-content00 .wrap{
	width : 100%;
}
/* # =================================================================
#### page-content02
# ================================================================= */
.page-content02 .wrap {
	margin-top : -120px;
}
.about-point ul li .point{
	padding : 15px 15px;
}





}/*** 1024px ***/
/* # =================================================================
#### 896px
# ================================================================= */
@media screen and (max-width: 896px){
/* # =================================================================
#### page-content01
# ================================================================= */
.page-content01 .wrap{
	padding-bottom : 50px;
}
.page-content01 .inner h3,
.page-content01 .inner p{
	margin-bottom : 30px;
}
.circle-l{
	width : 250px;
	top : -150px;
}
.circle-m{
	width : 150px;
	top : -30px;
	left : 180px;
}
.page-content01 .inner{
	padding-top : 40px;
}
/* # =================================================================
#### page-content02
# ================================================================= */
.page-content02 .wrap{
	width : 100%;
	background-size : calc(100% - 30px) 100%;
}
.page-content02 .top-title{
	width : 100%;
	padding : 0 15px;
	right : 0;
	margin : 0;
}
.header-flex{
	display : block;
	width : 350px;
	margin-top : 0;
}
.page-content02 h3{
	width : 100%;
	height : auto;
	left : 0;
	margin-bottom : 0;
}
.page-content02 .wrap{
	margin-top : -80px;
	padding : 120px 100px 200px 0;
}

.about .about-point ul{
	flex-direction : column;
}
.about .about-point ul li{
	width : 350px;
	margin : 0 auto 50px;
}
.about-point .image-button{
	width : 80%;
	margin : 0 auto;
}
/* # =================================================================
#### page-content04
# ================================================================= */
.floor01 .guide-header .text-box{
	width: calc(100% + 30px);
	padding-right : 15px;
	margin-left : -30px;
	order : 2;
	z-index : 1;
}
.floor01 .guide-header .text-box p.title{
	padding-left : 50px;
}
.floor01 .guide-header .text-box p{
	padding-left : 60px;
}
.floor01 .guide-header .image-box figure{
	width : calc(100% + 30px);
	margin-left : -30px;
}

.floor01 .guide-header .image-box{
	width : 100%;
	margin-top : 0;
	order : 1;
}

.floor01,
.floor02 .flex .inner{
	width : calc(100% - 30px);
	border-radius : 0;
	border-left : none;
	padding : 100px 0 50px 0;
	margin : 0 0 0 auto;
}
.floor02 .flex .inner{
	width : calc(100% - 50px);
}
.floor02{
	padding-top : 0;
	margin-top : 200px;
	margin-bottom : 50px;
}
.floor01::before,
.floor02 .flex .inner::before{
	content : "";
	position : absolute;
	display : block;
	width : 50px;
	height : 300px;
	border-top : 5px solid #F25700;
	border-left : 5px solid #F25700;
	border-radius : 25px 0 0 0 ;
	top : -5px;
	left : -20px;
}
.floor01::after,
.floor02 .flex .inner::after{
	width : 150px;
	height : 150px;
	top : -70px;
	left : -15px;
}

.floor01 .flex{
	display : block;
	padding-right : 45px;
}
.floor01 .flex .box{
	width : 100%;
	margin : 0 0 50px;
}
.floor01 .flex .box figure{
	margin-bottom : 0;
}
.floor-guide .title{
	margin-top : -25px;
	margin-bottom : 20px;
	padding-left : 30px;
}
.floor-guide p{
	padding-left : 50px;
}

.floor02 .flex .inner .box{
	width : calc(100% + 20px);
	padding-right : 45px;
	margin-left : -20px;
	margin-bottom : 50px;
}
.floor02 .flex .inner .box:last-child{
	margin-bottom : 0;
}
.floor02 .flex .inner .box figure{
	margin-bottom : 0;
}

.floor02 .flex .option{
	width : 200px;
	position : absolute;
	display : flex;
	justify-content : center;
	align-items : center;
	top : -170px;
	right : 0;
	bottom : auto;
	left : 0;
	margin : auto auto;
}
.floor02 .flex .option figure{
	width : 100%;
}
/* # =================================================================
#### profile
# ================================================================= */
.profile{
	width : 100%;
}
.page-content04 .profile .flex h3{
	width : 100%;
}
.profile .flex{
	display : block;
	padding-right : 15px;
}
.profile dl{
	display : block;
	width : 100%;
	border : none;
}
.profile dl dt{
	width : 100%;
	border : none;
	background-color : #FDE4BD;
	font-weight : 500;
	padding : 10px 20px;
}
.profile dl dd{
	width : 100%;
	border : none;
	padding : 10px 20px;
}
.profile dl dd span{
	display : block;
	margin : 5px 0 0;
}






}/*** 896px ***/
/* # =================================================================
#### 600px
# ================================================================= */
@media screen and (max-width: 600px){
/* # =================================================================
#### page-content00
# ================================================================= */
.page-content00 .wrap{
	padding : 50px 0;
}
/* # =================================================================
#### page-content01
# ================================================================= */
.about .page-content01 .wrap {
	padding-top : 100px;
}
.page-content01 .inner h3{
	font-size : 28px;
}
.page-content01 .inner p{
	font-size : 18px;
}
/* # =================================================================
#### page-content04
# ================================================================= */
.floor01 .guide-header .text-box p.title{
	padding-left : 20px;
}
.floor01 .guide-header .text-box p{
	padding : 0 30px;
}

.floor01,
.floor02 .flex .inner{
	padding : 70px 0 50px 0;
}
.floor01::after,
.floor02::after{
	width : 120px;
	height : 120px;
}

.floor01 .flex{
	padding-right : 15px;
	margin-left : -30px;
	width : calc(100% + 30px);
}


.floor-guide .title{
	padding-left : 25px;
}
.floor-guide p{
	padding : 0 30px;
}

.floor02 .flex .inner{
	width : calc(100% - 30px);
	padding-top : 100px;
}
.floor02 .flex .inner .box{
	width : calc(100% + 30px);
	padding-right : 15px;
	margin-left : -30px;
	margin-bottom : 50px;
}

.ggmap{
	padding-right : 15px;
}
/* # =================================================================
#### 横スクロール
# ================================================================= */
.scroll-wrapper::after{
	display : block;
	content : "";
	position : absolute;
	top : 0;
	right : 0;
	width : 30px;
	height : 100%;
	background : linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
	pointer-events : none;
	z-index : 2;
}
.scroll-image{
	overflow-x : auto;
	cursor : grab;
	-webkit-user-select : none; /* Safari */
	-ms-user-select : none;     /* IE10+ */
	user-select : none;         /* 標準ブラウザ */
}
.scroll-image.is-grabbing{
	cursor : grabbing;
}
.scroll-image figure{
	/* 600px以下になっても中身は600pxを維持（ガチガチ） */
	width : 1000px;
	padding-right : 50px;
}
.scroll-hint-img {
	display : block;
}
.scroll-hint-img{
	position : absolute;
	top : 50%;
	left : 50%;
	transform : translate(-50%, -50%);
	z-index : 3;
	pointer-events : none;
	user-select : none;
	-webkit-user-drag : none;
	transition : opacity 0.5s, visibility 0.5s;
	width : 80px;
}
.scroll-hint-img img{
	width : 100%;
	height : auto;
	opacity : 0.8;
}
#prices-style .credit{
	margin : 30px auto 0;
}





}/*** 600px ***/
/* # =================================================================
#### 480px
# ================================================================= */
@media screen and (max-width: 480px){
/* # =================================================================
#### page-content01
# ================================================================= */
.page-content01 .inner h3,
.page-content00 h3,
.map h3{
	font-size : 24px;
}
.page-content01 .inner p{
	font-size : 16px;
	margin-bottom : 30px;
}
/* # =================================================================
#### page-content02
# ================================================================= */
.about .about-point ul li{
	width : 100%;
}
.about .about-point ul li .point h4{
	font-size : 20px;
}


.map





}/*** 480px ***/
/* # =================================================================
#### 320px
# ================================================================= */
@media screen and (max-width: 320px){

}/*** 320px ***/