@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@900&display=swap');

*{
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

section {
	overflow: hidden;
}

table{
	border-collapse:collapse;
}

a{
	text-decoration: none;
}

a:hover{
	opacity: 0.8;
}

p{
	font-size:18px;
	line-height:1.7;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif"!important;
	color: 222;
}

input,textarea{
	border: none;
	outline: none;
	font-size: 18px;
}

.wrapper{
	max-width: 1120px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.sp{
	display: none!important;
}

.clearfix:after {
	content: ""; 
	display: block; 
	clear: both;
}

.fadein{
	opacity: 0;
	transform : translate(0, 20px);
	transition : all 0.8s;
}

.fadein2{
	opacity: 0;
	transform : translate(0, 20px);
	transition : all 0.8s;
	transition-delay: 0.3s;
}

.fadein.active,.fadein2.active,.fadein3.active,.fadein4.active{
	opacity: 1;
	transform : translate(0, 0);
}

.fadein_side{
	opacity: 0;
	transform : translate(100px, 0px);
	transition : all 0.8s;
}

.fadein_side.active{
	opacity: 1;
	transform : translate(0, 0);
}

.relative{
	position: relative;
}

.txt150{
	font-size: 140%;
}

.txt80{
	font-size: 80%;
	color: #595757;
	margin-left: 5px;
}




/*■■■■■■■■■■■■■■■■トップ部分■■■■■■■■■■■■■■■*/

header{
	margin-top: 20px;
	margin-bottom: 30px;
}

#alpine_logo{
	border-bottom: 1px solid #999;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 15px;
	position: relative;
	margin-bottom: 20px;
}

#alpine_logo img{
	width: 150px;
}

#top_logo{
	width: 860px;
}

.btn_reserve{
	background-color: #ed848c;
	border-radius: 10px;
	width: 240px;
	height: 55px;
	color: #fff;
	text-align: center;
	font-size: 18px;
	position: relative;
}

.btn_reserve a{
	color: #fff;
	text-decoration: none;
	display: block;
	padding: 15px;
}

.btn_reserve::before{
	content: url("../images/icn_reserve.svg");
	width: 36px;
	height: 36px;
	position: absolute;
	top: 9px;
	left:15px;
}

.btn_reserve::after{
	content: "";
	background-image: url("../images/icn_arrow.svg");
	width: 10px;
	height: 14px;
	position: absolute;
	top: 20px;
	right:15px;
}

#top_bg{
	margin-bottom: 20px;
}

.slider{
	margin-bottom: 80px!important;
}





h1{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 30px;
}

h1 img{
	height: 240px;
}

.message_img{
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.message_img img {
    width: 700px;
	height: 160px;
	margin-top: 48px;
}

.wrapper2{
	max-width: 800px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

#blue_bar{
	background-color: #2ca6e0;
	text-align: center;
	color: #fff;
	font-size: 18px;
	padding: 10px;
	margin-bottom: 30px;
	border-radius: 20px;
}

.blue_txt{
	background-color: #004093;
	padding: 2px 5px;
}

#circle4_box{
	display:flex;
	text-align: center;
	margin-bottom: 40px;
	justify-content: space-between;
	align-items: center;
}

.circle4{
	width: 190px;
	height: 190px;
}

h2.custmize{
	font-size: 24px;
	color: #004093;
	background-color: #51a4db;
	height: 10px;
	margin-bottom: 30px;
	line-height: 0.8;
}

h2 span{
	background-color: #fff;
	padding-right: 10px;
}

#customize_box{
	background-image: url("../images/customize.image.webp");
	background-repeat: no-repeat;
	background-position: top right;
	width: 100%;
	min-height: 180px;
	margin-bottom: 10px;
}

#customize_box li{
	font-size: 21px;
	margin-right: 30px;
	line-height: 1.7;
}

#customize_box li::before{
	content: "■";
	color: #51a4db;
	margin-right: 5px;
}

.annotation{
	font-size: 15px;
	color: #595757;
}

.avarable_days {
    margin-bottom: 40px;
}

.banner_contents {
    max-width: 800px;
    margin-left: auto;
	margin-right: auto;
	margin-bottom: 60px;
}
	
.banner_contents img{
	width: 100%;
}



/*■■■■■■■■■■■■■■■■youTube埋め込み部分■■■■■■■■■■■■■■■*/

.video_ttl {
    text-align: center;
}

.summary-description_noline strong {
	font-weight: 600;
	color: #004899;
}

.summary-description_noline p {
    text-align: center;
    margin: 20px auto;
    font-size: 22px;
}

.html5-video-container {
    z-index: 10;
    position: relative;
}

.web_video {
	aspect-ratio: 16 / 9;
    margin: 0 auto;
	max-width: 100%;
	text-align: center;
}

.web_video iframe {
	width: 100%;
	height: 100%;
}


/*■■■■■■■■■■■■■■■■Google　map■■■■■■■■■■■■■■■*/
.google_map {
    text-align: center;
	margin-bottom: 50px;
}

/*■■■■■■■■■■■■■■■■お客様の声■■■■■■■■■■■■■■■*/
.btn_review {
    margin-bottom: 40px;
}


/*■■■■■■■■■■■■■■■■3つの下部分■■■■■■■■■■■■■■■*/

.left_block{
	background-color: #83b9e4;
	border-radius: 20px;
	text-align: center;
	color: #595757;
	width: 150px;
	height: 250px;
	font-size: 18px;
	padding-top: 50px;
	display: inline-block;
}

.w_catch{
	color: #fff;
	font-weight: bold;
	font-size: 36px;
	margin-bottom: 30px;
}

.center_block{
	width: 100%;
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
}

.center_block .btn_reserve {
    background-color: #ed848c;
    border-radius: 10px;
    width: 100%;
    height: 55px;
    color: #fff;
    text-align: center;
    font-size: 18px;
    position: relative;
/*    margin-top: 16px;*/
}

.center_block p.mar_b20 {
	margin-top: 10px;
}

.btn_custmize{
	background-color: #eaad12;
    border-radius: 10px;
    width: 360px;
    height: 60px;
    color: #fff;
    text-align: center;
    font-size: 19px;
    position: relative;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px;
    margin-top: 30px;
}

.btn_custmize a{
	color: #fff;
	text-decoration: none;
	display: block;
	padding: 15px;
}

.btn_custmize::after{
	content: "";
	background-image: url("../images/icn_arrow.svg");
	width: 10px;
	height: 14px;
	position: absolute;
	top: 20px;
	right:15px;
}

.right_block p{
	color: #004093;
	margin-bottom: 10px;
}

.btn_inquiry{
	background-color: #06C755;
	border-radius: 10px;
	width: 240px;
	height: 55px;
	color: #fff;
	text-align: center;
	font-size: 18px;
	position: relative;
}

.btn_inquiry a{
	color: #fff;
	text-decoration: none;
	display: block;
	padding: 15px;
}

.btn_inquiry::before{
    content: url("../images/icn_info.svg");
    width: 36px;
    height: 36px;
    position: absolute;
    top: 9px;
    left: 15px;
}

.btn_inquiry::after{
	content: "";
	background-image: url("../images/icn_arrow.svg");
	width: 10px;
	height: 14px;
	position: absolute;
	top: 20px;
	right:15px;
}

.btn_qa{
	background-color: #036EB7;
	border-radius: 10px;
	width: 240px;
	height: 55px;
	color: #fff;
	text-align: center;
	font-size: 18px;
	position: relative;
}

.btn_qa a{
	color: #fff;
	text-decoration: none;
	display: block;
	padding: 15px;
}

.btn_qa::before{
	content: url("../images/icn_qa.svg");
	width: 36px;
	height: 36px;
	position: absolute;
	top: 9px;
	left:15px;
}

.btn_inquiry:hover,.btn_map:hover,.btn_qa:hover,.btn_reserve:hover{
	opacity: 0.8;
}

.border1 {
	position: relative;
	width: 240px;
}

.border2{
    content: '';
    position: absolute;
	background-image: url("../images/icn_arrow.svg");
	background-repeat: no-repeat;
    top: 20px;
	right:15px;
    width: 10px;
	height: 14px;
    transform: rotate(0deg);
    transition: all 0.2s;
}
.border2.add{
    content: '';
	background-image: url("../images/icn_arrow.svg");
	background-repeat: no-repeat;
    position: absolute;
    top: 20px;
	right:15px;
    width: 10px;
	height: 14px;
    transform: rotate(90deg);
}




/*■■■■■■■■■■■■■■■■よくある質問■■■■■■■■■■■■■■■*/

h4{
	background-image: url("../images/qa_dotline.png");
	background-position: center;
	background-repeat: repeat-x;
	color: #004093;
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 30px;
}

h4 .qa_w{
	background-color: #fff!important;
	padding-right: 20px;
}

.q_block{
	border-bottom: solid 1px #c8c9ca;
	margin-bottom: 30px;
}

.q_icn{
	background-color: #c8c9ca;
	color: #00a199;
	display: inline-block;
	width: 80px;
	padding-top: 8px;
	padding-bottom: 8px;
	padding-right: 10px;
	margin-right: 20px;
	border-radius: 20px;
	font-size: 21px;
}

.q_icn::before{
	content: "Q";
	color: #fff;
	background-color: #00a199;
	padding: 3px 8px;
	border-radius: 20px;
	font-size: 18px;
	margin-right: 8px;
	margin-left: 5px;
}

.q_block p{
	display: inline-block;
	font-size: 18px;
	color:#888;
}

/*==================================================
アコーディオンのためのcss
===================================*/

/*アコーディオン全体*/
.accordion-area{
    list-style: none;
	margin-bottom: 60px;
}

.accordion-area li{
    margin: 10px 0;
}

/*アコーディオンタイトル*/
.title {
    position: relative;/*+マークの位置基準とするためrelative指定*/
    cursor: pointer;
    transition: all .2s ease;
}

/*アコーディオンで現れるエリア*/
.box {
    display: none;/*はじめは非表示*/	
	color: #222;
	margin-left: 10%;
	margin-bottom: 5%;
	padding-left:3.5em;
	text-indent:-3.5em;
}

.box p::before{
	content: "A";
	color: #fff;
	background-color: #00a199;
	padding: 3px 8px;
	border-radius: 20px;
	font-size: 18px;
	margin-right: 8px;
	margin-left: 5px;
}

/*==================================================
アコーディオン2
===================================*/

/*ボタン装飾*/
label {
    cursor :pointer;
	padding: 15px;
	display: block;
}

/*チェックは見えなくする*/
input {
    display: none;
}

/*中身を非表示にしておく*/
.hidden_show {
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0.8s;
}

/*クリックで中身表示*/
input:checked ~ .hidden_show {
    padding: 10px 0;
    height: auto;
    opacity: 1;
}





/*■■■■■■■■■■■■■■■■■■■■FLEX系■■■■■■■■■■■■■■■■■■■■■■*/

.flex_bet{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.flex_bet_center{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: center;
}

.flex_center{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.flex_left{
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}


/*■■■■■■■■■■■■■■■■■■■■注意文■■■■■■■■■■■■■■■■■■■■■■*/
#attention_txt p {
	color: #222;
}
#attention_txt {
    margin-top: 56px;
}

#attention_txt p.attention_theme {
    margin-bottom: 16px;
}

/*■■■■■■■■■■■■■■■■■■■■フッター■■■■■■■■■■■■■■■■■■■■■■*/

footer{
	background-color: #dbdcdc;
	padding-top: 40px;
	padding-bottom: 40px;
	color: #fff;
	font-size: 16px;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif"!important;
	line-height: 1.6;
}

footer p{
	color: #004093;
	font-size: 14px;
	margin-top: 10px;
}

.foot_left{
	width: 100%;
	max-width: 460px;
}

.foot_right{
	width: 100%;
	max-width: 300px;
}



/*■■■■■■■■■■■■■■■■■■■■スマホ用■■■■■■■■■■■■■■■■■■■■■■■*/


@media screen and (max-width:999px){
	
.wrapper,.wrapper2{
	max-width: 1000px;
	width: 94%;
	margin-left: 3%;
	margin-right: 3%;
}

p,li{
	font-size:16px;
	line-height:1.7;
	text-align: left;
}
	
.pc{
	display: none!important;
}

.sp{
	display: block!important;
}
	
.fadein{
	transform : translate(0, 15px);
	transition : all 0.6s;
}
	
.fadein2{
	transform : translate(0, 15px);
	transition : all 0.6s;
	transition-delay: 0.0s;
}
	
.fadein_side{
	opacity: 0;
	transform : translate(0px,15px);
	transition : all 0.6s;
}
	
.txt150{
	font-size: 130%;
}



/*■■■■■■■■■■■■■■■■トップ部分SP■■■■■■■■■■■■■■■*/

#top_logo{
	max-width: 860px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}
	
#top_logo img{
	width: 100%;
	margin-bottom: 30px;
}
	
#top_bg img{
	max-width: 640px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 0!important;
}


	
h1{
	display: block;
	margin-bottom: 30px;
}

h1 img{
	height: auto!important;
	max-width: 640px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.message_img {
    width: 100%;
    text-align: center;
	margin-bottom: 30px;
}
	
.message_img img {
	max-width: 640px;
	width: 100%;
	height: auto;
}	

#blue_bar{
	font-size: 16px;
	padding: 10px;
	margin-bottom: 30px;
	border-radius: 15px;
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
}

#circle4_box{
	max-width: 480px;
	margin-left: auto;
	margin-right: auto;
	display:flex;
	text-align: center;
	flex-wrap: wrap;
	margin-bottom: 40px;
	justify-content: space-between;
	align-items: center;
}

.circle4{
	width: 48%;
	height: 48%;
	margin-bottom: 20px;
}
	
.circle4 img{
	width: 100%;
}

h2.custmize{
	font-size: 21px;
	background-color: #fff;
	height: auto;
	margin-bottom: 20px;
	line-height: 1.5;
	border-bottom: solid 5px #51a4db;
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
}

h2.custmize span{
	padding-right: auto;
}

#customize_box{
	background-image: none;
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
}
	
#customize_box ul:last-child{
	margin-bottom: 10px;
}

#customize_box li{
	font-size: 18px;
	margin-right: auto;
	line-height: 1.7;
}

.annotation{
	font-size: 14px;
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
}
	
.btn_custmize {
    width: 90%;
    max-width: 800px;
	margin-top: 40px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
}
	
iframe {
	max-width: 600px;
    width: 100%;
    display: inline-block;
    margin: 0 auto;
}


	

	
/*■■■■■■■■■■■■■■■■youTube部分■■■■■■■■■■■■■■■*/

.summary-description_noline p {
    font-size: calc(100vw / 20);
}
	
.summary-description_noline p {
    margin-top: 33px;
}
	
.message_img img {
    margin-top: 33px;
}


	
/*■■■■■■■■■■■■■■■■ニュース一覧■■■■■■■■■■■■■■■*/
#news_topics .content {
    background-color: #F6FCFF;
    margin-top: 48px;
    padding: 52px 40px;
}

/*■■■■■■■■■■■■■■■■お客様の声■■■■■■■■■■■■■■■*/
.btn_review {
    width: 100%;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
}

/*■■■■■■■■■■■■■■■■3つの下部分SP■■■■■■■■■■■■■■■*/

.left_block{
	border-radius: 15px;
	color: #595757;
	width: 100%;
	max-width: 640px;
	height: auto;
	font-size: 16px;
	padding-top: 15px;
	display: inline-block;
	padding-bottom: 15px;
	margin-bottom: 30px;
}

.w_catch{
	font-size: 30px;
	margin-bottom: 5px;
}

.center_block{
	width: 100%;
	max-width: 600px;
}

.btn_map{
	width: 80%;
	max-width: 800px;
	margin-top: 40px;
}

.right_block{
	width: 100%;
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
}
	
.right_block img{
	width: 100%;
}

.btn_inquiry,.btn_qa,.btn_reserve{
	width: 90%;
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 20px;
}

.border1 {
	position: relative;
	width: 90%;
}

/*■■■■■■■■■■■■■■■■よくある質問SP■■■■■■■■■■■■■■■*/

h4{
	margin-bottom: 20px;
}

.q_block{
	border-bottom: solid 1px #c8c9ca;
	margin-bottom: 30px;
}

.q_icn{
	width: 100px;
	padding-top: 5px;
	padding-bottom: 5px;
	padding-right: 8px;
	margin-right: 20px;
	margin-bottom: 8px;
	border-radius: 20px;
	font-size: 18px;
}

.q_block p{
	display: block;
	font-size: 16px;
	color:#888;
}

/*==================================================
アコーディオンのためのcss
===================================*/

/*アコーディオン全体*/
.accordion-area{
    list-style: none;
	margin-bottom: 50px;
}

.accordion-area li{
    margin: 10px 0;
}

/*アコーディオンで現れるエリア*/
.box {
    display: none;/*はじめは非表示*/	
	color: #222;
	margin-left: 5%;
	margin-bottom: 5%;
	padding-left:2.7em;
	text-indent:-2.7em;
}

.box p::before{
	content: "A";
	color: #fff;
	background-color: #00a199;
	padding: 3px 8px;
	border-radius: 20px;
	font-size: 18px;
	margin-right: 8px;
	margin-left: 5px;
}

/*==================================================
アコーディオン2
===================================*/

/*ボタン装飾*/
label {
    cursor :pointer;
	padding: 15px;
	display: block;
}

/*チェックは見えなくする*/
input {
    display: none;
}

/*中身を非表示にしておく*/
.hidden_show {
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0.8s;
}

/*クリックで中身表示*/
input:checked ~ .hidden_show {
    padding: 10px 0;
    height: auto;
    opacity: 1;
}





/*■■■■■■■■■■■■■■■■■■■■FLEX系SP■■■■■■■■■■■■■■■■■■■■■■*/

.flex_bet{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
	
.flex_bet_center{
	display: block;
}

.flex_center{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.flex_left{
	column-gap: 18px;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}


/*■■■■■■■■■■■■■■■■■■■■注意文■■■■■■■■■■■■■■■■■■■■■■*/
#attention_txt {
    margin-top: 36px;
}
	
#attention_txt p.attention_theme {
    text-align: center;
	font-size: 14px;
}
	
#attention_txt p.attention_contents {
    max-width: 640px;
    margin: 0 auto;
    font-size: 14px;
}

/*■■■■■■■■■■■■■■■■■■■■フッター■■■■■■■■■■■■■■■■■■■■■■*/

footer{
	background-color: #dbdcdc;
	padding-top: 40px;
	padding-bottom: 40px;
	color: #fff;
	font-size: 16px;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif"!important;
	line-height: 1.6;
}

footer p{
	color: #004093;
	font-size: 14px;
	margin-top: 10px;
}

.foot_left{
	width: 100%;
	max-width: 460px;
}

.foot_right{
	width: 100%;
	max-width: 260px;
	margin-top: 10px;
}
	
}