*{	
	font-family: source-han-sans-japanese, sans-serif;
	font-feature-settings: "palt";
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: #000;
	box-sizing: border-box;
	word-break: break-all;
	font-size: 15px;
	font-style: normal;
	font-weight: 300;
	line-height: 1.8;
	letter-spacing: 0.1em;
	text-align: justify;
}

.tsukushi{ font-family: fot-tsukuardgothic-std, sans-serif; font-weight: 700; font-style: normal; }

/*** adobe使用フォント
Source Han Sans JP Bold font-family: source-han-sans-japanese, sans-serif; font-weight: 700; font-style: normal;
Source Han Sans JP Normal font-family: source-han-sans-japanese, sans-serif; font-weight: 300; font-style: normal;
FOT-TsukuARdGothic Std B font-family: fot-tsukuardgothic-std, sans-serif; font-weight: 700; font-style: normal;
***/


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

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

.linkwrap{ width: 100%; height: 100%; display: block; position: absolute; top: 0; left: 0; z-index: 10; }
.body-wrap{ overflow: hidden; position: relative; }

.sp{ display: none; }

a.btn{ width: 335px; height: 60px; border-radius: 30px; border: solid 2px; font-family: fot-tsukuardgothic-std, sans-serif; font-weight: 700; font-style: normal; font-size: 18px; display: flex; justify-content: center; align-items: center; background: url(../images/common/arrow01.png) #fff no-repeat center right 18px/8px; margin-left: auto; margin-right: auto; }
a.btn:hover{ background-color: #facfd4; opacity: 1; }

header { display: flex; align-items: center; padding: 15px 50px; min-width: 1400px; width: 100%; 
    position: fixed;
    top: 0; left: 0; z-index: 10000; transition: .3s; }
header.foot{ background: #addeeb; }
header .logo{ display: block; width: 250px; margin-right: 30px; }
header .logo img{ display: block; width: 100%; }
header .tel{ display: block; width: 254px; }
header .tel img{ display: block; width: 100%; }
header nav{ margin-left: auto; }
header nav ul.gnav{ display: flex; white-space: nowrap; padding-left: 65px; }
header nav ul.gnav li{ font-family: inherit; font-weight: inherit; padding: 0 1em; line-height: 1; }
header nav ul.gnav li:not(:last-of-type){ border-right: solid 1px; }
header nav ul.gnav li a{ position: relative; }
header nav ul.gnav li a:hover{ opacity: 1; }
header nav ul.gnav li a:after{ content: ''; width: 0%; height: 1px; position: absolute; bottom: -7px; left: 0; background: #000; transition: .3s; }
header nav ul.gnav li a:hover:after{ width: 100%; }

footer{ background: url(../images/common/bg-dot01.png) #addeeb center/48px; padding-top: 70px; }
footer .logo{ width: 310px; display: block; margin: 0 auto 30px; }
footer .logo + p{ text-align: center; font-size: 20px; }
footer .logo + p + .tel{ display: table; margin: 0 auto 35px; font-size: 40px; line-height: 1.4; padding-left: 38px; background: url(../images/common/icon-tel01.png) no-repeat left center/ 27px; }
footer .left{ width: 400px; }
.hour-table{ width: 100%; max-width: 400px; table-layout: fixed; border-bottom: solid 1px; }
.hour-table thead *{ border-top: solid 1px; border-bottom: solid 1px; padding: .1em 0; }
.hour-table tbody *{ padding: .5em 0; }
.hour-table th{ font-size: 16px; text-align: center; white-space: nowrap; letter-spacing: .05em; }
.hour-table td{ letter-spacing: 0; width: 40px; white-space: nowrap; text-align: center; }
.hour-table + p{ font-size: 16px; text-align: center; margin-top: .5em; }
footer .right{ width: 550px; }
footer .right table{ width: 100%; }
footer .right table th{ white-space: nowrap; padding-right: .6em; }
footer .right table td li{ display: flex; justify-content: space-between; position: relative; line-height: 2; }
footer .right table td li div{ position: absolute; top: 50%; transform: translateY(-50%); height: 1px; border-bottom: dotted 1px; }
footer .wrap{margin-top: 40px; margin-bottom: 40px;}

.gmap{ position: relative; height: 300px; margin: 40px 0; }
.gmap iframe{ width: 100%; height: 100%; position: absolute; top: 0; left: 0; }

.sitemap{ width: 726px; }
.sitemap{ display: flex; justify-content: space-between; }
.sitemap dl dt{ font-size: 18px; font-family: fot-tsukuardgothic-std, sans-serif; font-weight: 700; font-style: normal; }
.sitemap dl dd{ margin-top: 10px; }
.sitemap dl dd ul li{ font-size: 13px; line-height: 2; }
.sitemap dl dd ul li a{ padding-left: 1em; position: relative; }
.sitemap dl dd ul li a:before{ content: '-'; position: absolute; left: 0; }
.sitemap dl * + dt{ margin-top: 8px; }

footer .copy{ display: block; font-size: 13px; text-align: center; padding: 50px 0 14px; }

.counsul-btn{ position: fixed; top: 80px; right: 20px; z-index: 10000; }
.counsul-btn li:nth-of-type(1){ display: none; }
.counsul-btn li{ -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-size: 24px; width: 50px; height: 160px; border-radius: 50px; background: #000; color: #fff; display: flex; justify-content: center; align-items: center; position: relative; transition: .3s; border: solid 3px #000; }
_:-ms-lang(x)::-ms-backdrop, .counsul-btn li { padding-right: 11px; }
.counsul-btn li:before{ content: ''; width: 33px; height: 33px; background: url(../images/common/icon-consul02.png) no-repeat center/contain; position: absolute; top: -16px; left: 50%; transform: translateX(-50%); }
.counsul-btn li:hover{ background: #ffe7a6; color: #000; }


@media(max-width: 768px){
	*{ font-size: 4vw; }

	.sp{ display: block; }
	.pc{ display: none !important; }

	.wrap{ width: 100%; padding-left: 5.33vw; padding-right: 5.33vw; }
	.row{ flex-wrap: wrap; }

	a.btn{ width: 89.33vw; max-width: 100%; height: 16vw; border-radius: 8vw; font-size: 4.8vw; background-size: 2.13vw; background-position: center right 4vw; }

	header{ min-width: 0; padding: 0; z-index: 9999; }
	header .logo{ width: 59.86vw; margin: 4.66vw 0 0 9.33vw; }
	header nav{ width: 100%; height: 100%; background: #addeeb; position: fixed; top: 0; left: 0; z-index: -1; padding-top: 32vw; transition: .3s; opacity: 0; visibility: hidden; }
	header nav.active{ opacity: 1; visibility: visible; }

	footer{ padding-top: 17.33vw; }
	footer .logo{ width: 62vw; margin-bottom: 11.33vw; }
	footer .logo + p{ font-size: 4vw; margin-bottom: 1.5vw; }
	footer .logo + p + .tel{ font-size: 8vw; padding-left: 6.66vw; background-size: 5.33vw; margin-bottom: 10vw; }
	footer .left{ width: 100%; margin-bottom: 16vw; }

	.hour-table{ max-width: 100%; }
	.hour-table th{ font-size: 4vw; }
	.hour-table td{ font-size: 4vw; width: 8.6vw; }
	.hour-table + p{ font-size: 4vw; }

	footer .right{ width: 100%; padding-left: 4vw; }
	footer .right table, footer .right table tbody, footer .right table tr, footer .right table th, footer .right table td{ display: block; }
	footer .right table tr + tr{ margin-top: 9.33vw; }
	footer .right table td li{ flex-wrap: wrap; letter-spacing: .05em; }
	footer .right table td li span:nth-of-type(2){ width: 50%; margin-left: auto; white-space: nowrap; }
	footer .right table td li:nth-of-type(-n+2) div{ width: calc(50% - 1em) !important; left: 1em !important; transform: none; top: auto; bottom: 3.8vw; }

	.gmap{ height: 66.66vw; margin: 10vw 0; }
	.sitemap{ width: 100%; flex-wrap: wrap; }
	.sitemap dl{ width: 50%; }
	.sitemap dl:nth-of-type(n+3){ margin-top: 10.66vw; }
	.sitemap dl dt{ font-size: 4.8vw; }
	.sitemap dl * + dt{ margin-top: 1.066vw; }
	.sitemap dl dd{ margin-top: 1.33vw; }
	.sitemap dl dd ul li{ font-size: 3.46vw; white-space: nowrap; letter-spacing: .05em; }
	footer .copy{ font-size: 3.2vw; white-space: nowrap; letter-spacing: .08em; padding: 8vw 0 22.66vw; }

	.float-btn{ display: flex; width: 100%; position: fixed; bottom: 0; left: 0; z-index: 9997; }
	.float-btn li{ width: 100%; height: 18.66vw; background: #000; color: #fff; display: flex; justify-content: center; align-items: center; font-size: 6.66vw; position: relative; }
/*
	.float-btn li:nth-of-type(1){ border-right: solid 1px; }
	.float-btn li:nth-of-type(1) span{ padding-left: 8vw; background: url(../images/common/icon-tel02.png) no-repeat center left/4.8vw; }
	.float-btn li:nth-of-type(2) span{ padding-left: 11.33vw; background: url(../images/common/icon-consul01.png) no-repeat center left/8.4vw; line-height: 2.2; }	
*/
	.float-btn li:nth-of-type(1) span{ padding-left: 11.33vw; background: url(../images/common/icon-consul01.png) no-repeat center left/8.4vw; line-height: 2.2; }

	.menu-btn{ width: 18.66vw; height: 18.66vw; border-radius: 18.66vw; background: #addeeb; position: fixed; top: 1.33vw; right: 1.33vw; z-index: 10000; }
	.menu-btn .inner{ width: 7.066vw; height: 4.4vw; margin: 4.4vw auto .8vw; position: relative; }
	.menu-btn .inner span{ width: 100%; height: 2px; border-radius: 0.53vw; background: #000; position: absolute; left: 0; transition: .3s; }
	.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: translate(0,-50%) rotate(45deg); }
	.menu-btn.active .inner span:nth-of-type(2){ opacity: 0; }
	.menu-btn.active .inner span:nth-of-type(3){ bottom: 50%; transform: translate(0vw,50%) rotate(-45deg); }
	.menu-btn p{ font-size: 3.73vw; text-align: center; letter-spacing: .05em; position: relative; }
	.menu-btn p span{ display: block; width: 100%; text-align: center; transition: .3s; }
	.menu-btn p span.close{ position: absolute; top: 0; left: 0; opacity: 0; }
	.menu-btn.active p span.menu{ opacity: 0; }
	.menu-btn.active p span.close{ opacity: 1; }
}




