@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap');
@import url('https://fonts.googleapis.com/css?family=Montserrat:300,400,500,700|Roboto:300,400,500,700&display=swap');
@import url('reset.css');
/*
font-family: 'Roboto', sans-serif;
font-family: 'Montserrat', sans-serif;
font-family: 'Noto Serif JP', serif;
*/

body{
	font-family:'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
	font-size: 100%;
	line-height: 1.6875;
	color: #595959;
}
	@media screen and (max-width:960px) {
		body{
			font-size: 87.5%;
			line-height: 1.71428;
		}
	}
	@media screen and (max-width:760px) {
		body{
			font-size: 81.25%;
			line-height: 1.71428;
		}
		br.inline{
			display: none;
		}
		.sp-block{
			display: block;
		}
	}

a{
	color: #595959;
	text-decoration: none;
}
a.link{
	color: #e59579;
	text-decoration: underline;
}

.eng{
	font-family: 'Roboto', sans-serif;
}
.eng-mont{
	font-family: 'Montserrat', sans-serif;
}
.min{
	font-family: 'Noto Serif JP', serif;
}
.em{
	font-weight: bold;
}
.em400{
	font-weight: 400;
}
.em500{
	font-weight: 500;
}


.lh{
	line-height: 2.0;
}
.small{
	font-size: .875em;
}
.telephone{
	font-size: .875em;
}
.telephone  span:first-child{
	font-size: 1.642857em;
	line-height: 1.25;
	padding-left: .75em;
	background: url(../images/common/tel.png)no-repeat left center;
	background-size: .5em auto;
	display: inline-block;
}


/*
++++++++++++++++++++++++++++++++++
header
++++++++++++++++++++++++++++++++++*/

header{
	width: 100%;
	height: 64px;
	z-index: 500;
	position: fixed;
	transition: .2s;
}
.header{
	position: relative;
	display: flex;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	flex-wrap: wrap;
	flex-direction: column;
	justify-content: center; 
	align-items: center;
}
.header h1{
	background: #f4c5b7;
	padding: 1em;
	position: absolute;
	top: 0;
	left: 0;
	transition: .4s;
}
header h1 a{
	background: url(../images/common/logo.png) no-repeat top left;
	background-size: 100% auto;
	width: 100px;
	height: 100px;
	text-indent: -9999px;
	display: block;
	z-index: 10000;
}
input#trigger{
	display: none;
}
	@media screen and (max-width: 760px) {
		.header h1{
			padding: .5em;
		}
		header h1 a{
			width: 56px;
			height: 56px;
		}

	}

/*++++++++++++++++++++++++++++++++++
globalmenu
++++++++++++++++++++++++++++++++++*/

.gnav{
	width: 100%;
}
.gnav > ul{
	display: flex;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	flex-wrap: wrap;
}
.gnav > ul > li{
	position: relative;
	font-size: .9375em;
	margin: 0 1em;
	padding: 1.25em 0 1.25em 0;
}
.gnav > ul > li >a{
	font-weight: bold;
}
.gnav > ul > li .dropdown{
	display: none;
	position: absolute;
	top: 4em;
	left: 50%;
	margin-left: -120px;
	background: #fff;
	width: 300%;
	max-width: 600px;
	border-radius: .75em;
	-moz-border-radius: .75em;
	-webkit-border-radius: .75em;
	padding: .75em .5em;
	box-shadow: 3px 3px 3px rgba(0,0,0,0.1);
}

.gnav > ul > li:hover .dropdown{
	display: block;
	animation: hover .4s;
}
@keyframes hover {
	0% { opacity: 0 }
	100% { opacity: 1}
}

.gnav > ul > li a,
.gnav > ul > li .dropdown a{
	display: block;
	cursor: pointer;
}
.gnav > ul > li .dropdown a{
	position: relative;
	padding: .75em 1.25em;
}
.gnav > ul > li .dropdown a:before{
	content: '';
	width: 3px;
	height: 3px;
	border: 0px;
	border-top: solid 1px #000;
	border-right: solid 1px #000;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 1em;
	margin-top: -4px;
}
.gnav > ul > li .dropdown a:hover{
	font-weight: bold;
}
.sp-adress{
	display: none;
}


	@media screen and (max-width: 760px) {
		.gnav > ul{
			display: block;
			border-bottom: 1px solid #ccc;
		}
		.gnav > ul > li{
			margin: 0;
			padding: 0;
		}
		.gnav > ul > li >a{
			font-weight: bold;
			display: block;
			padding: 1em 1.5em;
			border-top: 1px solid #dedede;
			position: relative;
		}
		.gnav > ul > li >a:before{
			content: '';
			width: 6px;
			height: 6px;
			border: 0px;
			border-top: solid 1px #e59579;
			border-right: solid 1px #e59579;
			-ms-transform: rotate(45deg);
			-webkit-transform: rotate(45deg);
			transform: rotate(45deg);
			position: absolute;
			top: 50%;
			right: 2em;
			margin-top: -4px;
		}
		.gnav > ul > li .dropdown{
			display: block;
			position: relative;
			top: auto;
			left: auto;
			margin:0;
			padding: 0;
			background: none;
			width: 100%;
			max-width: initial;
			border-radius: 0;
			-moz-border-radius: 0;
			-webkit-border-radius: 0;
			box-shadow: none;
			background: #f5f5f5;
		}

		.gnav > ul > li:hover .dropdown{
			animation: none;
		}
		.gnav > ul > li .dropdown a{
			display: block;
			padding: .75em 0 .75em 3em;
			border-top: 1px solid #efefef;
		}
		.gnav > ul > li .dropdown a:before{
			content: '';
			width: .5em;
			height: .5em;
			border: 0px;
			border-top: none;
			border-right: none;
			-ms-transform: none;
			-webkit-transform: none;
			transform: none;
			position: absolute;
			top: 50%;
			left: 2em;
			margin-top: -3px;
			background: #e59579;
			border-radius: 50%;
			-moz-border-radius: 50%;
			-webkit-border-radius: 50%;
		}
		.sp-adress{
			display: block;
		}
		.sp-adress-wrap{
			font-size: .875em;
			text-align: center;
			padding: 2em 0;
		}
		/* ハンバーガーモーダルウィンドウ*/

		body.open {
			overflow: hidden;
			height: 100%;
		}

		.overlay{
			display: flex;
			display: -webkit-flex;
			display: -moz-flex;
			display: -ms-flex;
			display: -o-flex;
			justify-content: flex-end;
			overflow: auto;
			z-index: 9999;
			width: 100%;
			height: 100%;
			opacity: 0;
			background: rgba(0,0,0,0.4);
			transform: scale(0);
			position: fixed;
			top: 0;
			left: 0;
		}
		.modal_trigger{
			position: absolute;
			width: 100%;
			height: 100%;
		}
		.modalcontent{
			align-self: flex-start;
			box-sizing: border-box;
			width: 80%;
			padding: 4em 0;
			background: #fff;
			transform: translateY(-100%);
			transition: 0.5s;
			z-index: 10000;
			/*-webkit-overflow-scrolling: touch;*/
		}

		nav input:checked ~ .overlay{
			opacity: 1;
			transform: scale(1);
			transition: opacity 0.5s;
		}
		nav input:checked ~ .overlay .modalcontent{
			transform: translateY(0);
		}

		.humberger{
			position: fixed;
			top: 1em;
			right: 1em;
			width: 1.85em;
			height: 1.85em;
			color: #595857;
			z-index: 9999;
			cursor: pointer;
			padding: 1em .15em .5em .15em;
		}
		.humberger span{
			position: relative;
			bottom: -1.35em;
			text-align: center;
			display: block;
			font-size: .8125em;
			font-family: 'Roboto', sans-serif;
		}
		.humberger:before {
			content: "";
			position: absolute;
			top: .5em;
			left: 0;
			width:  100%;
			height: 3px;
			background: #595857;
			transition: all 0.3s;
		}
		.humberger:after {
			content: "";
			position: absolute;
			top: 1.25em;
			left: 0;
			width:  100%;
			height: 3px;
			background: #595857;
			transition: all 0.3s ease-in-out;
		}

		nav input:checked ~ .humberger:before{
			transform: rotate(45deg);
			-webkit-transform: rotate(45deg);
			top: 25%;
		}

		nav input:checked ~ .humberger:after{
			transform: rotate(-45deg);
			-webkit-transform: rotate(-45deg);
			top: 25%;
		}
	}



/*++++++++++++++++++++++++++++++++++
スクロールした時に変わる
header globalmenu
++++++++++++++++++++++++++++++++++*/

@media screen and (min-width: 760px) {

	.header-scroll-style{
		background: #fff;
		box-shadow: 3px 3px 3px #eee;
	}
	.header-scroll-style h1{
		background: #e59579;
		padding: .25em;
	}
	.header-scroll-style h1 a{
		width: 57px;
		height: 57px;
	}
	.header-scroll-style  .gnav > ul > li .dropdown{
		border-radius: 0 0 .75em .75em;
		-moz-border-radius: 0 0 .75em .75em;
		-webkit-border-radius: 0 0 .75em .75em;
	}
}


/*++++++++++++++++++++++++++++++++++
footer
++++++++++++++++++++++++++++++++++*/
footer{
	width: 100%;
	border-top: 1px solid #eeeeee;
	font-size: .875em;
}
#footer{
	max-width: 1000px;
	width: 91%;
	margin: 0 auto;
	padding: 2.5em 0 4.5em;
}
.footer-info,
.footer-other{
	display: flex;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.footer-info-item,
.footer-other-item{
	width: 48%;
}
.footer-logo{
	background: url(../images/common/logo-footer.png)no-repeat top left;
	width: 201px;
	height: 28px;
	text-indent: -9999px;
	background-size: 100% auto;
	margin-bottom: .25em;
}
.footer-yoyaku{
	display: flex;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 1.25em;
}
.footer-yoyaku a{
	display: block;
	width: 49%;
	padding: .75em 1em .75em 2.5em;
	border-radius: 2em;
	-moz-border-radius: 2em;
	-webkit-border-radius: 2em;
}
.access{
	background: #f7d4cb url(../images/common/access.png)no-repeat 1em center;
	background-size: auto 1.25em;
}
.yoyaku{
	background: #e59579 url(../images/common/yoyaku.png)no-repeat 1em center;
	background-size: auto 1.25em;
	color: #fff;
}
	@media screen and (max-width: 760px) {
		.footer-logo{
			margin: 0 auto;
		}
		.footer-info-item,
		.footer-other-item{
			width: 100%;
			text-align: center;
		}
		.footer-yoyaku a{
			width: 75%;
		}
		.access{
			margin: 0 auto .75em auto;
		}
		.yoyaku{
			margin: 0 auto 1em auto;
		}

	}

.shinryo-table{
	width: 100%;
}
.shinryo-table th{
	width: 28%;
	padding: .5em 0;
	border-bottom: 1px solid #dedede;
	vertical-align: middle;
}

.shinryo-table td{
	width: 9%;
	text-align: center;
	padding: .5em 0;
	border-bottom: 1px solid #dedede;
	vertical-align: middle;
}

.footer-other{
	border-top: 1px solid #dedede;
	margin: 2em 0 1em;
	padding: 2em 0 0 0;
	font-size: .875em;
}

.sns{
	color: #e59579;
	font-weight: bold;
}
.instagram{
	display: inline-block;
	width: 2.5em;
	height: 2.5em;
	background: url(../images/common/insta.png)no-repeat center;
	background-size: 100% auto;
	text-indent: -9999px;
	margin: 0 .25em 0 .5em;
	position: relative;
	top: -5px;
}
.line{
	display: inline-block;
	width: 2.5em;
	height: 2.5em;
	background: url(../images/common/line.png)no-repeat center;
	background-size: 100% auto;
	text-indent: -9999px;
	margin: 0 .25em 0 .5em;
	position: relative;
	top: -5px;
}

.copylight{
	text-align: right;
}
.copylight span{
	padding-left: .75em;
}
	@media screen and (max-width: 760px) {
		.sns{
			border-bottom: 1px solid #dedede;
			padding-bottom: 1em;
			margin-bottom: 2em;
		}
		.copylight{
			text-align: center;
		}
		.copylight span{
			display: block;
			padding-left: 0;
		}
	}


/*++++++++++++++++++++++++++++++++++
section
++++++++++++++++++++++++++++++++++*/
.section-bg{
	background-color: #f2efed;
	background-image: linear-gradient(115deg, transparent 75%, #efebe9 75%), linear-gradient(245deg, transparent 75%, #efebe9 75%), linear-gradient(115deg, transparent 75%, #efebe9 75%), linear-gradient(245deg, transparent 75%, #efebe9 75%);
	background-position: 0 0, 0 0, 4px -8px, 4px -8px;
	background-size: 8px 16px;
	z-index: -1;
}

.section{
	max-width: 1000px;
	width: 91%;
	margin: 0 auto;
	padding: 3.75em 0 3.75em;
}
.section-small{
	max-width: 860px;
	width: 91%;
	margin: 0 auto;
	padding: 3.75em 0 3.75em;
}
#content > .section-small{
	padding-top: 2.75em;

}
	@media screen and (max-width: 760px) {
		.section,
		.section-small{
			padding: 2.75em 0 2.75em;

		}
		#content > .section-small{
			padding-top: 2.5em;

		}
	}

.mtl{
	margin-top: 3.75em;
}
.mt{
	margin-top: 2.75em;
}
.mts{
	margin-top: 1.25em;
}
.mtxs{
	margin-top: .5em;
}

	@media screen and (max-width: 760px) {
		.mtl{
			margin-top: 2.75em;
		}
		.mt{
			margin-top: 2em;
		}
		.mts{
			margin-top: 1em;
		}
	}


/*++++++++++++++++++++++++++++++++++
flex
++++++++++++++++++++++++++++++++++*/
.flex{
	display: flex;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	flex-wrap: wrap;
}
.between{
	justify-content: space-between;
}
.item-center{
	align-items: center;
}
.end{
  -webkit-align-items: flex-end;
  -ms-align-items: flex-end;
  align-items: flex-end;
}

