@charset "utf-8";
/* CSS Document */

/*--------------------------------------------
	common
--------------------------------------------*/

*{
 font-family: Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: #534741;
}

html{
 scroll-behavior: smooth;
}

.sp{
	display:none !important;
}

img{
	max-width:100%;
	 -webkit-backface-visibility: hidden;
}

a{
 color: #000000;
	text-decoration:none;
	transition: all .2s;
}
a:hover{
	text-decoration:none;
	transition: all .2s;
}
a:focus{
	text-decoration:none;
}
a[href^="tel:"] {
	pointer-events:none;
}
a img{
	transition: all .2s;
	 -webkit-backface-visibility: hidden;
}
a:hover img{
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
	transition: all .2s;
}

body{
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	min-width:1000px;
}

.flex{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    ms-flex-align: center;
    align-items: center;
}

#page-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  font-size: 14px;
  line-height: 1;
  z-index: 99;
}
#page-top a:hover {
  text-decoration: none;
  opacity: .5;
}

#wrap{
 max-width: 1000px;
	width: 100%;
	margin: 0 auto;
}

@media screen and (max-width: 1024px) {
	body{
		min-width:100%;
	}
}

@media screen and (max-width: 767px) {
	.pc{
		display:none !important;
	}
	
	.sp{
		display:inline !important;
	}

	a[href^="tel:"] {
		pointer-events:auto;
	}
	
	#page-top{
	 max-width: 14.67vw;
	}
}


/*--------------------------------------------
	header
--------------------------------------------*/
header{
	width:100%;
	padding: 15px 25px;
	box-sizing: border-box;
	background: #FFFFFF;
}

@media screen and (max-width: 767px) {
	header{
	}
}


/*--------------------------------------------
	greeting
--------------------------------------------*/
.greeting{
 text-align: center;
}
.greeting p{
 text-align: left;
	font-size: 20px;
	line-height: 40px;
	letter-spacing: 0.01em;
	padding: 55px 90px 25px;
	box-sizing: border-box;
}

@media screen and (max-width: 767px) {
 .greeting > figure{
	 padding: 0 14.4vw;
		box-sizing: border-box;
	}
	.greeting p{
	 font-size: 3.47vw;
		line-height: 6.33vw;
	 padding: 6.67vw 5.07vw 0;
	}
}


/*--------------------------------------------
	menu
--------------------------------------------*/
.menu{
 background: #FFF5F6;
}

.tab_menu {
 max-width: 820px;
	width: 100%;
	padding: 70px 0 100px;
	margin: 0 auto;
}

.tab_panel_container{
 background: #FFFFFF;
}

.tab_menu li{
	cursor: pointer;
	margin-bottom: 20px;
}
.tab_menu li:last-of-type{
 margin-bottom: 0;
}
.tab_menu li.selected {
}
.tab_menu li:hover {
}
.tab_menu li img{
 transition: all .2s;
}
.tab_menu li:hover img {
 transform: translateY(0.1875em);
 transition: all .2s;
}

.tab_panel {
	overflow: hidden;
	height: 0;
	opacity: 0;
}
.tab_panel.is-show {
	overflow: visible;
	height: auto;
	opacity: 1;
	transition: opacity .4s ease-in-out;
}
.tab_panel > h2{
 text-align: center;
	padding: 35px 0;
 background: #EF8695;
}
.tab_panel .box_wrap{
 padding: 45px 25px;
	box-sizing: border-box;
}
.tab_panel .box_wrap .box{
 margin-bottom: 35px;
	border-bottom: 3px solid #ef8695;
}
.tab_panel .box_wrap .box:last-of-type{
 margin-bottom: 0;
 border-bottom: none;
}
.tab_panel .box_wrap .box a{
 display: block;
	position: relative;
	padding-bottom: 35px;
}
.tab_panel .box_wrap .box a:before{
 content: "";
 position: absolute;
	top: 50%;
	right: 0;
	width: 26px;
	height: 43px;
	background: url("../img/arrow.png") no-repeat center center / contain;
}
.tab_panel .box_wrap .box:last-of-type a{
 padding-bottom: 0;
}
.tab_panel .box_wrap .box a > figure{
 text-align: center;
}
.tab_panel .box_wrap .box a h3{
 margin: 40px 0 30px;
}
.tab_panel .box_wrap .box a p{
 font-size: 20px;
	line-height: 30px;
	letter-spacing: 0.01em;
	padding-right: 95px;
}

@media screen and (max-width: 767px) {
 .tab_menu{
	 padding: 6.67vw 5.07vw 9.33vw;
		box-sizing: border-box;
	}
	.tab_menu li{
	 margin-bottom: 2.67vw;
	}
	
	.tab_panel > h2{
	 padding: 4.67vw 12vw;
		box-sizing: border-box;
	}
	
	.tab_panel .box_wrap{
	 padding: 6.67vw 5.07vw 5.73vw;
	}
	.tab_panel .box_wrap .box{
	 margin-bottom: 6vw;
	}
	.tab_panel .box_wrap .box a{
	 padding-bottom: 6vw;
	}
	.tab_panel .box_wrap .box a:before{
	 width: 4.8vw;
		height: 10.13vw;
	}
	.tab_panel .box_wrap .box a > figure{
	 max-width: 20vw;
		width: 100%;
		margin: 0 auto;
	}
	.tab_panel .box_wrap .box a h3{
	 max-width: 84.67vw;
		width: 100%;
	 margin: 5.07vw 0 4.53vw;
	}
	.tab_panel .box_wrap .box a p{
	 font-size: 3.47vw;
		line-height: 5.33vw;
		padding-right: 10vw;
	}
}


/*--------------------------------------------
	footer
--------------------------------------------*/
footer{
 padding: 120px 0;
 background: #FFF5F6;
}
footer .sns{
 max-width: 210px;
	width: 100%;
	margin: 0 auto 40px;
}
footer .btn{
 text-align: center;
}
footer .btn a{
 display: inline-block;
}

.copyright{
 text-align: center;
	display: block;
	color: #FFFFFF;
	font-size: 14px;
	line-height: 20px;
	padding: 15px 0;
	background: #EF8695;
}

@media screen and (max-width: 767px) {
	footer{
	 padding: 10.93vw 19.73vw 10.4vw;
		box-sizing: border-box;
	}
	footer .sns{
	 max-width: 34.67vw;
		margin: 0 auto 5.33vw;
	}
	footer .sns li{
	 width: 25%;
	}
	
	.copyright{
	 font-size: 3.47vw;
		line-height: 4.8vw;
		padding: 5.33vw 0;
	}
}