/*メイン
------------------------------*/
.main{height:100vh;display:flex;align-items:center;}
.main_logo{width:50%;max-width:400px;position:relative;}

.main_logo_black{position:absolute;top:0;left:0;opacity:0;transition:1s}
.main_logo_black.on{opacity:1;}

.main_logo_line{opacity:1;transition:1s}
.main_logo_line.done{opacity:0;}

@media (max-width:767px) {
	.main{height:40vh;}
}

/*プロフィール
------------------------------*/
.profile{padding:0 15px;overflow:hidden;}
.profile_inner{max-width:1000px;padding-top:40px;position:relative;}
.profile_img{position:absolute;top:0;right:0;width:40%;}

@media (max-width:767px) {
	.profile_inner{padding-top:0;}
	.profile_img{position:relative;margin:0 0 0 auto;z-index:1;width:60%}
}

/*コンセプト
------------------------------*/
.concept{min-height:200px;width:60%;margin:0;padding-right:50px;}
.concept_title{font-size:2.5rem;margin-bottom:30px;letter-spacing:2px;}
.concept_desc{line-height:1.5;}

@media (max-width:767px) {
	.concept{width:100%;padding:0 0 20px 0;min-height:initial;}
	.concept_title{font-size:2rem;margin-bottom:20px;}
	.concept_desc{font-size:1.4rem;}
}

/*アクセス
------------------------------*/
.access{display:flex;flex-wrap:wrap;position:relative;align-items:flex-end;padding:20px 0;margin-top: 80px;}
.access:before{content:"";width:3000px;height:100%;position:absolute;top:0;left:-1000px;background:var(--color-gray);z-index:-1;}
.access_gaikan{flex-basis:60%;padding-right:70px;}
.access_info{flex-basis:40%;color:#fff;padding-bottom:20px;letter-spacing:1px;}
.access_info a{text-decoration:underline;color:#fff;}

.access_title{font-size:2.5rem;margin-bottom:30px;letter-spacing:2px;}

@media (max-width:767px) {
	.access{padding:20px 0 50px;}
	.access:after{content:"";position:absolute;width:200%;height:140px;top:-140px;left:-15px;background:var(--color-gray);}
	.access_gaikan{flex-basis:100%;order:2;padding: 0 0 0 50px}
	.access_info{flex-basis:100%;order:1;padding:0 0 30px 0;}
	.access_title{border-bottom:1px solid #fff;padding-bottom:15px;margin-bottom:15px;max-width:200px;font-size:2rem;}
}

a.price_button{display:block;background:#fff;color:#222;padding:0 13px;margin-top:15px;line-height:50px;text-decoration:none;transition:0.2s;}
a.price_button img{vertical-align:middle;margin-left:15px;transition:0.2s;}

.hover a.price_button:hover{color:var(--color-purple);}
.hover a.price_button:hover img{transform:translateX(5px);}

@media (max-width:820px) {
	.price_button img{width:80px;}
}

/*バナー
------------------------------*/
.banner{padding:50px 15px;}
.banner_inner{max-width:1000px;display:flex;flex-wrap:wrap;}
.banner1{flex-basis:25%;text-align:center;padding:0 10px;}
.banner2{flex-basis:35%;text-align:center;padding:0 10px;}
.banner3{flex-basis:40%;text-align:center;padding:50px 10px 0;}

@media (max-width:767px) {
	.banner_inner{max-width:278px;}
	.banner1{flex-basis:100%;padding:0 0 20px 0;}
	.banner2{flex-basis:100%;padding:0 0 20px 0;}
	.banner3{flex-basis:100%;padding:0;}
	.banner_insta{overflow:hidden;border-radius:10px;box-shadow:1px 1px 5px rgba(0,0,0,0.2)}
	.banner_line{overflow:hidden;border-radius:10px;}
}

/*マップ
------------------------------*/
.access_map{padding-right:50px;}
.map{height:0;overflow:hidden;padding-bottom:24%;position:relative;}
.map iframe{position:absolute;left:0;top:0;height:100%;width:100%;}

@media (max-width:767px) {
	.access_map{padding:0 15px;}
	.map{padding-bottom:70%;}
}