@charset "utf-8";

/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
	* html .clearfix {
		zoom: 1;
	}

	*+html .clearfix {
		zoom: 1;
	}

.clearfix:after {
	height: 0;
	visibility: hidden;
	content: ".";
	display: block;
	clear: both;
}


::selection {
    background: #2A8FB9;
    color: #fff;
}

/*Firefox*/
::-moz-selection {
    background: #2A8FB9;
    color: #fff;
}






/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	font-size: 1em;
	font-weight: normal;
	font-family: 'Noto Sans JP','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','Yu Gothic UI','Osaka','ＭＳ Ｐゴシック','MS PGothic',sans-serif;
}


html {
	font-size: 62.5%;
}



body, table, input, textarea, select, option, p, div, a, span {
	font-family: 'Noto Sans JP','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','Yu Gothic UI','Osaka','ＭＳ Ｐゴシック','MS PGothic',sans-serif;
}




article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
	display: block;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

:focus {
	outline: 0;
}

ins {
	text-decoration: none;
}

del {
	text-decoration: line-through;
}

img {
	vertical-align: top;
	max-width: 100%;
}


a,
a:link {
	color: #2f2f2f;
	text-decoration: none;
	-webkit-transition: all .6s;
	transition: all .6s;
}

a:visited {
	color: #2f2f2f;
}

a:hover {
	color: #D1722A;
}

a:active {
	color: #2f2f2f;
}

a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}

@media all and (min-width: 750px) {
	.sp {
		display: none !important;
	}
}







/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/



body {
/*	min-width: 1020px;*/
	color: #333;
	font-size: 1.4rem;
	line-height: 1.5;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	font-weight: 100;
}

#container {
	text-align: left;
	background-color: #fff;
	border: 5px solid p_ink;
	overflow: hidden;
	font-weight: 100;
}


.clearfix::after {
	content: "";
	display: block;
	clear: both;
}


@media all and (max-width: 750px) {
	body {
		min-width: inherit;
		font-size: 1.2rem;
	}
	
	#main {
		background-size: cover;
	}
	
	a:hover,
	a:hover img {
		opacity: 1 !important;
	}
	
	.pc {
		display: none !important;
	}
	
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}

	.visual img{
		margin: 0px auto 0;
		
	}
}

/*------------------------------------------------------------
	文字サイズ
------------------------------------------------------------*/

h2 {
	font-size: 2.75rem;
	font-weight: 700;
	text-align: center;
	margin: 15px 0;
	color: #331F27;
}


h3 {
	font-size: 2.7rem;
	font-weight: 700;
}

h4 {
	font-size: 2.06rem;
	font-weight: 700;
}


p{
	font-size: 1.25rem;
	letter-spacing: 1px;
	line-height: 1.7em;
	font-weight: 400;
}




@media all and (max-width: 750px) {

	h2 {
		font-size: 2.8rem;
		font-weight: 900;
	}
	h2 a{
		font-size: 4rem;
		font-weight: 900;
	}
	
	h3 {
		font-size: 2.65rem;
		font-weight: 700;
	}
	
	h4 {
		font-size: 2.06rem;
		font-weight: 700;
	}
	
	p{
		font-size: 1.3rem;
		letter-spacing: 1px;
		font-weight: 300;
		line-height: 1.7em;
	}
	
}


/*------------------------------------------------------------
	メニュー
------------------------------------------------------------*/


/*========= ボタンのためのCSS ===============*/
.openbtn{
	position:fixed;
    z-index: 1002;/*ボタンを最前面に*/
	top:1px;
	left: 10px;
	cursor: pointer;
    width: 30px;
    height:30px;
	border: 1px solid r_ed;
}
	
/*×に変化*/	
.openbtn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    height: 2px;
	background-color: #333;
  	width: 100%;
  }

.openbtn span:nth-of-type(1) {
	top:15px;	
}

.openbtn span:nth-of-type(2) {
	top:23px;
}
.openbtn img {
	position: absolute;
	bottom: -15px;
	left: 0;
}



.openbtn.active span:nth-of-type(1) {
    top: 18px;
    left: 0px;
	width: 110%;
    transform: translateY(6px) rotate(30deg);
}

.openbtn.active span:nth-of-type(2){
    top: 30px;
    left: 0px;
	width: 110%;
    transform: translateY(-6px) rotate(-30deg);
}
/******/

#g-nav{
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position:fixed;
    z-index: 999;
    /*ナビのスタート位置と形状*/
	top:0;
    left: -355px;
	width:350px;
    height: 100vh;/*ナビの高さ*/
	background:#F7F7F5;
    /*動き*/
	transition: all 0.6s;
	border: 3px solid g_reen;
	filter: drop-shadow(0px 0px 25px rgba(0,0,0,0.2));
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive{
    left: 0;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999; 
    width: 100%;
    height: 100vh;/*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/
#g-nav .menubox_ {
    /*ナビゲーション天地中央揃え*/
    position: absolute;
    z-index: 999;
    top:350px;
    left:200px;
    transform: translate(-50%,-50%);
	width: 250px;
}
#g-nav .menubox_ ul{
	border: 2px solid b_lue;
	padding: 18px 0 25px;
	border-top: 1px solid #aaa;
	border-bottom: 1px solid #aaa;
}
#g-nav .menubox_ ul li{
	border: 1px solid r_ed;
	text-align: left;
	padding: 7px;
}




.mt1_3em{
	margin-top: 1.3em;
}
.fs140{
	font-size: 115%;
}

#gHeader .ul_outer li a{
	letter-spacing: 1px;
	transition: .5s;
	border: 1px solid g_reen;
	text-decoration: none;
	color: #331F27;
	line-height: 1;
	margin-bottom: 1em;
	display: inline-block;
}
#gHeader .ul_outer li a:hover{
	opacity: .6;
}


.privacylink {
	margin: 3.5em 0 0 7px;
	text-align: left;
}
.privacylink a{
	text-decoration: none;
	color: #331F27;
}

/*****/
.blur_cover{
	border: 5px solid r_ed;
	backdrop-filter: blur(25px);
	-webkit-backdrop-filter: blur(20px);
	opacity: 1;
	position: fixed;
	top: 0;left: -10vw;
	width: 150vw;
	height: 100vh;
	z-index: -1;
	transition: .4s;
}

.blur_cover.panelactive{
	z-index: 500;
	transition: .3s;
}


.blk_cover{
	border:15px solid #000;
	background-color: #000;
	opacity: .4;
	position: fixed;
	top: 0;left: 0;
	width: 100vw;
	height: 100vh;
	z-index: -1;
	transition: .3s;
}

.blk_cover.panelactive{
	z-index: 500;
	transition: .3s;
}

/******/

@media all and (max-width: 750px) {

	/*========= ボタンのためのCSS ===============*/
	.openbtn{
		position:fixed;
		z-index: 1001;/*ボタンを最前面に*/
		top:1px;
		left: 10px;
		cursor: pointer;
		width: 30px;
		height:30px;
		border: 1px solid r_ed;
	}

	/******/

	#g-nav{
		/*position:fixed;にし、z-indexの数値を大きくして前面へ*/
		position:fixed;
		z-index: 999;
		/*ナビのスタート位置と形状*/
		top:0;
		left: -355px;
		width:350px;
		height: 100vh;/*ナビの高さ*/
		background:#F7F7F5;
		/*動き*/
		transition: all 0.6s;
		border: 3px solid g_reen;
		filter: drop-shadow(0px 0px 0px rgba(0,0,0,0.2));
	}

	/*アクティブクラスがついたら位置を0に*/
	#g-nav.panelactive{
		left: 0;
	}

	/*ナビゲーションの縦スクロール*/
	#g-nav.panelactive #g-nav-list{
		/*ナビの数が増えた場合縦スクロール*/
		position: fixed;
		z-index: 999; 
		width: 100%;
		height: 100vh;/*表示する高さ*/
		overflow: auto;
		-webkit-overflow-scrolling: touch;
	}

	/*ナビゲーション*/
	#g-nav .menubox_ {
		/*ナビゲーション天地中央揃え*/
		position: absolute;
		z-index: 999;
		top:350px;
		left:200px;
		transform: translate(-50%,-50%);
		width: 250px;
	}
	#g-nav .menubox_ .gotop{
		width: 70%;
		display: block;
		margin: 0 0 15px 3vw;
	}
	#g-nav .menubox_ ul{
		border: 2px solid b_lue;
		padding: 18px 0 25px;
		border-top: 1px solid #aaa;
		border-bottom: 1px solid #aaa;
	}
	#g-nav .menubox_ ul li{
		border: 1px solid r_ed;
		text-align: left;
		padding: 7px;
	}




	.mt1_3em{
		margin-top: 1.3em;
	}
	.fs140{
		font-size: 115%;
	}

	#gHeader .ul_outer li a{
		letter-spacing: 1px;
		transition: .5s;
		border: 1px solid g_reen;
		text-decoration: none;
		color: #331F27;
		line-height: 1;
		margin-bottom: 1em;
		display: inline-block;
	}
	#gHeader .ul_outer li a:hover{
		opacity: .6;
	}


	.privacylink {
		margin: 1.5em 0 0 7px;
		text-align: left;
		font-size: 90%;
	}
	.privacylink a{
		text-decoration: none;
		color: #331F27;
	}

	/*****/
	.blur_cover{
		border: 5px solid r_ed;
		backdrop-filter: blur(25px);
		-webkit-backdrop-filter: blur(20px);
		opacity: 1;
		position: fixed;
		top: 0;left: -10vw;
		width: 150vw;
		height: 100vh;
		z-index: -1;
		transition: .4s;
	}

	.blur_cover.panelactive{
		z-index: 500;
		transition: .3s;
	}


	.blk_cover{
		border:15px solid #000;
		background-color: #000;
		opacity: .4;
		position: fixed;
		top: 0;left: 0;
		width: 100vw;
		height: 100vh;
		z-index: -1;
		transition: .3s;
	}

	.blk_cover.panelactive{
		z-index: 500;
		transition: .3s;
	}	
}






/*------------------------------------------------------------
	font weight
------------------------------------------------------------*/


.fw_t{
	font-weight: 300;
}
.fw_r{
	font-weight: 400;
}
.fw_m{
	font-weight: 500;
}
.fw_b{
	font-weight: 700;
}
/***/
.fw_t a{
	font-weight: 300;
}
.fw_r a{
	font-weight: 400;
}
.fw_m a{
	font-weight: 500;
}
.fw_b a{
	font-weight: 700;
}
