:root{
	--base-font: noto-sans-cjk-jp, sans-serif;
	--sub-font: "游明朝", YuMincho, yu-mincho-pr6n, serif;
	--en-font: miss-lankfort, sans-serif;
	--base-color: #282828;
	--sub-color01: #6b97e4;
	--sub-color02: #a2895b;
	--sub-color03: #ffff4c;
	--sub-color04: #000032;
	--bg-color: #eef3fc;
}

*{ box-sizing: border-box; }
html { font-size: 62.5%; }
body{
	font-family: var(--base-font);
	font-feature-settings: "palt";
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: var(--base-color);	
	font-size: 1.4rem;
	font-style: normal;
	font-weight: 300;
	line-height: 1.8;
	letter-spacing: 0.08em;
	text-align: justify;
}

.sub-font,
h1,h2,h3,h4,h5,h6{ font-family: var(--sub-font); font-weight: 600; }
.en-font{ font-family: var(--en-font); font-weight: 400; }

/*** google 使用フォント
Noto Sans CJK JP Light
font-family: noto-sans-cjk-jp, sans-serif;
font-weight: 300;

Noto Sans CJK JP Bold
font-family: noto-sans-cjk-jp, sans-serif;
font-weight: 700;

Yu Mincho Pr6N R
font-family: yu-mincho-pr6n, sans-serif;
font-weight: 400;

Miss Lankfort Regular
font-family: miss-lankfort, sans-serif;
font-weight: 400;

Roboto Regular
font-family: roboto, sans-serif;
font-weight: 400;
***/

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

a{ transition: .5s; }
a:hover{ opacity: .4; }
br{ line-height: inherit; }
p{ line-height: 2; }
span, a, strong, small{ color: inherit; font-size: inherit; font-family: inherit; font-weight: inherit; letter-spacing: inherit; }

.wrap{ width: 800px; margin: 0 auto; position: relative; }
.wrap.midium{ width: 1000px; }
.row{ display: flex; justify-content: space-between; }

.body-wrap{ overflow: hidden; position: relative; z-index: 0; }

header{ width: 1200px; margin: 0 auto; display: flex; justify-content: space-between; padding: 2rem 0 3.5rem; }
header .logo{ display: block; line-height: 0; width: 350px; }
header .right .sns{ display: flex; align-content: center; justify-content: flex-end; margin: 0 0 2.6rem auto; }
header .right .sns li:not(:last-of-type){ line-height: 0; margin-right: 1.5rem; }
header .right .sns li:last-of-type a{ width: 40rem; height: 4.5rem; display: flex; justify-content: center; align-items: center; background: var(--sub-color04); color: #fff; font-size: 1.2rem; }
header .right .sns li:last-of-type a span{ display: block; }
header .right .sns li:last-of-type a span strong{ font-size: 2.4rem; font-family: roboto, sans-serif; font-weight: 400; vertical-align: middle; margin-left: .8rem; padding-left: 2rem; background: url(../images/common/icon-tel01.png) no-repeat center left/1.64rem; }
header .right .gnav{ display: flex; }
header .right .gnav li{ border-top: solid 2px #f2f2f2; border-bottom: solid 2px #f2f2f2; }
header .right .gnav li + li{ margin-left: .8rem; }
header .right .gnav li a{ display: block; font-size: 1.2rem; font-weight: 700; color: var(--sub-color04); text-align: center; min-width: 10rem; line-height: 1.6; padding: .7rem 0; }
header .right .gnav li a small{ display: block; font-size: 1rem; font-family: var(--sub-font); font-weight: 600; }

.loop-slide{ margin-bottom: 12rem; }
.loop-slide .swiper-wrapper { transition-timing-function: linear; }
.loop-slide li{ top: -1px }
.loop-slide li img{ width: 100%; }

footer{ color: var(--sub-color04); }
footer .info-row{ margin-bottom: 11rem; }
footer .info-row .content{ width: 49rem; }
footer .info-row .content > small{ display: block; font-size: 1.6rem; line-height: 1.6; margin-bottom: 2rem; }
footer .info-row .content > small + p{ font-size: 3.6rem; line-height: 1.3; letter-spacing: .115em; border-bottom: solid 1px; padding-bottom: 1.6rem; margin-bottom: 2rem; }
footer .info-row .content dl{ line-height: 1.7; }
footer .info-row .content dl dt{ font-weight: 600; }
footer .info-row .content dl dd + dt{ margin-top: 1em; }
footer .info-row .content dl dd .sns-list{ display: flex; flex-wrap: wrap; justify-content: space-between; }
footer .info-row .content dl dd .sns-list li{ line-height: 0; margin-top: 1em; }
footer .gmap{ width: 100%; height: 50rem; display: block; margin-bottom: 14rem; }
footer .foot-nav{ display: flex; justify-content: center; font-size: 1.1rem; margin-bottom: 2.4rem; padding-top: 2.8rem; border-top: solid 1px #f2f2f2; }
footer .foot-nav li{ line-height: 1; padding: 0 1em; font-weight: 600; font-size: 10px; letter-spacing: 0;}
footer .foot-nav li + li{ border-left: solid 1px; }
footer .copy{ display: block; background: var(--sub-color04); color: #fff; font-size: 1.2rem; text-align: center; padding: 1em 0; }


@media(max-width: 768px){
	html{ font-size: 2.66vw; }
	body{ font-size: 1.4rem; -webkit-text-size-adjust: 100%; }
	p{ line-height: 2; }

	@media screen and (-webkit-min-device-pixel-ratio: 0) {
	    _::-webkit-full-page-media, _:future, :root .sub-font, h1,h2,h3,h4,h5,h6 { letter-spacing: 0; }
	}

	.pc{ display: none !important; }

	.wrap{ width: 100%; padding-left: 2rem; padding-right: 2rem; }
	.wrap.midium{ width: 100%; }
	.row{ flex-wrap: wrap; }

	header{ width: 100%; padding: 1.5rem 0 2.2rem 2rem; }
	header .logo{ width: 23.5rem; }
	header .logo img{ width: 100%; }

	nav{ position: fixed; top: 0; left: 0; z-index: 9990; opacity: 0; visibility: hidden; transition: .5s; width: 100vw; height: 100vh; background: #fff; overflow: scroll; }
	nav.active{ opacity: 1; visibility: visible; }
	header .right .gnav{ display: block; padding: 6rem 0; }
	header .right .gnav li{ border: none; }
	header .right .gnav li + li{ margin: 2rem 0 0; }
	header .right .gnav li a{ font-size: 1.5rem; display: table; margin: 0 auto; font-weight: 300; }
	header .right .gnav li:last-of-type small{ display: none; }
	header .right .gnav li:last-of-type a{ border: solid 1px; padding: .5em 1em; }

	.loop-slide{ margin-bottom: 3.5rem; }

	footer{ padding-bottom: 7rem; }
	footer .info-row{ justify-content: center; margin-bottom: 4rem; }
	footer .info-row .logo{ width: 15rem; display: block; margin-bottom: 1.5rem; }
	footer .info-row .content{ width: 100%; }
	footer .info-row .content > small{ font-size: 1.1rem; text-align: center; }
	footer .info-row .content > small + p{ font-size: 1.8rem; text-align: center; padding-bottom: 2rem; }
	footer .info-row .content dl dt{ font-size: 1.2rem; text-align: center; }
	footer .info-row .content dl dd{ font-size: 1.2rem; text-align: center; }
	footer .info-row .content dl dd .sns-list{ justify-content: center; align-items: center; margin-top: 1rem; }
	footer .info-row .content dl dd .sns-list li{ width: 4.5rem; margin: 0 1rem; }
	footer .info-row .content dl dd .sns-list li:last-of-type{ width: 6.7rem; }
	footer .info-row .content dl dd .sns-list li img{ width: 100%; }
	footer .gmap{ height: 25rem; margin-bottom: 0; }
	footer .copy{ font-size: 1rem; }

	.menu-btn{ width: 4.5rem; height: 4.5rem; background: var(--sub-color04); color: #fff; position: fixed; top: 1.5rem; right: 1.5rem; z-index: 9991; padding-top: 1rem; }
	.menu-btn .inner{ width: 3.4rem; height: 1.3rem; position: relative; margin: 0 auto; }
	.menu-btn .inner span{ width: 100%; height: 1px; background: #fff; position: absolute; left: 0; transition: .5s; }
	.menu-btn .inner span:nth-of-type(1){ top: 0; }
	.menu-btn .inner span:nth-of-type(2){ top: 50%; transform: translateY(-50%); }
	.menu-btn .inner span:nth-of-type(3){ bottom: 0; }
	.menu-btn.active .inner span:nth-of-type(1){ top: 50%; transform: translateY(-50%) rotate(20deg); }
	.menu-btn.active .inner span:nth-of-type(2){ opacity: 0; }
	.menu-btn.active .inner span:nth-of-type(3){ bottom: 50%; transform: translateY(50%) rotate(-20deg); }
	.menu-btn p{ font-size: 1rem; text-align: center; position: relative; white-space: nowrap; letter-spacing: 0; }
	.menu-btn p span{ transition: .5s; }
	.menu-btn p span.close{ position: absolute; top: 0; left: 50%; transform: translateX(-50%); opacity: 0; }
	.menu-btn.active p span.menu{ opacity: 0; }
	.menu-btn.active p span.close{ opacity: 1; }

	.float-btn{ position: fixed; bottom: 0; left: 0; z-index: 9980; background: #000034; color: #fff; display: flex; width: 100%; border-top: solid 1px; }
	.float-btn li{ width: 10rem; font-size: 1.3rem; }
	.float-btn li:nth-of-type(2){ width: calc(100% - 20rem); }
	.float-btn li + li{ border-left: solid 1px; }
	.float-btn li a{ display: block; width: 100%; height: 7rem; text-align: center; padding-top: 4rem; background: no-repeat center top 1.2rem/3rem; }
	.float-btn li:nth-of-type(1) a{ background-image: url(../images/common/float-btn01.png); }
	.float-btn li:nth-of-type(2) a{ background-image: url(../images/common/float-btn02.png); }
	.float-btn li:nth-of-type(3) a{ background-image: url(../images/common/float-btn03.png); }
}
