@charset "utf-8";


/* site ------------------------------------- */
html {
	cursor: auto;
	font-size: 62.5%;
}

body {
	min-width: 1120px;
	margin: 0 0 0 0;
	padding: 0 0 0 0;
	font-size: 1.4rem;
	font-family: -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', '游ゴシック  Medium', meiryo, 'ＭＳ Ｐゴシック', sans-serif;
	font-weight: lighter;
	letter-spacing: 0.1em;
}
a {
	color: #06f;
}
a img {
	text-decoration: none;
}
a:active {
	color: #06f;
}
a:hover {
	text-decoration: underline;
}
a img {
	transition: all 500ms ease;
}
a img:hover {
	opacity: .9;
}



/* module --------------------------------------- */
.sp_show {
	display: none;
}
span.small {
	font-size: 75%;
}
a.notlink,
a.nolink {
	cursor: default;
}
a.notlink:hover,
a.nolink:hover {
	text-decoration: none;
}

/* btn */
.btn0 {
	margin: 0;
}
.btn0 a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 190px;
	height: 53px;
	border-radius: 5px;
	background: #f39801;
	color: #fff;
	font-size: 1.6rem;
	box-shadow: 0 0 0 #666;
	transition: all 100ms ease;
}
.btn0 a:hover {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 190px;
	height: 53px;
	box-shadow: 2px 2px 0 #666;
	text-decoration: none;
}


/* body > header --------------------------------------- */
body > header {
}
body > header .bar {
	display: flex;
	align-items: center;
	height: 48px;
	background: #f39801;
}
body > header .bar p {
	width: 1120px;
	margin: 0 auto;
	color: #fff;
}
body > header .inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	align-content: center;
	width: 1120px;
	height: 118px;
	margin: 0 auto;
	padding: 0 40px;
}
body > header .contact {
	width: calc(100% - 300px);
}
body > header .contact ul {
	display: flex;
	align-items: center;
	align-content: center;
}
body > header .contact ul {
	
}
body > header .contact .addr_tel {
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
}
body > header .addr_tel p {
	margin-bottom: 0.33em;
	line-height: 1.5;
}
body > header .contact span.tel {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	font-size: 2.6rem;
}
body > header .contact span.tel::before {
	content: "";
	display: inline-block;
	width: 35px;
	height: 35px;
	margin-right: 10px;
	background: url(../img/common/ico_tel_or.png) center center / contain no-repeat;
}
body > header .contact .mail {
	margin-left: 13px;
}
body > header .contact .mail a::before {
	content: "";
	display: inline-block;
	width: 25px;
	height: 19px;
	margin-right: 0.5em;
	background: url(../img/common/ico_mail_wh.png) center center / contain no-repeat;
}
body > header .contact .appointment {
	margin-left: 13px;
}
body > header .contact .appointment .btn0 a {
	background: #ffe300;
	color: #000;
}
body > header .contact .appointment a::before {
	content: "";
	display: inline-block;
	width: 25px;
	height: 19px;
	margin-right: 0.5em;
	background: url(../img/common/ico_pc_bk.png) center center / contain no-repeat;
}


/* gnavi ---------------------------------------- */
#gnav {
	position: absolute;
	top: calc(48px + 118px);
	left: 0;
	width: 100%;
	min-width: 1120px;
	background: rgba(255, 255, 255, 0.95);
	z-index: 101;
}
#gnav.fixed {
	position: fixed;
	top: 0;
	left: 0;
}
#gnav .inner {
	width: 1120px;
	margin: 0 auto;
}
.pcgnav > ul {
	width: 1120px;
	display: flex;
	justify-content: space-between;
	align-content: flex-start;
}
.pcgnav > ul > li {
	position: relative;
	width: calc(100% / 7);
	border-right: 1px solid #ccc;
	z-index: 101;
}
.pcgnav > ul > li:nth-of-type(1) {
	border-left: 1px solid #ccc;
}
.pcgnav > ul > li > a {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 30px;
	font-size: 1.6rem;
	color: #000;
	transition: all 333ms ease;
}
.pcgnav ul li a.current,
.pcgnav ul li a.active,
.pcgnav ul li a:hover {
	background: #f39801;
	color: #fff;
	text-decoration: none;
}

.pcgnav .subbox {
	position: absolute;
	top: 100%;
	left: 0;
	display: block;
	width: 120%;
}
.pcgnav .subbox li a {
	display: block;
	padding: 0.5em 1em;
	color: #000;
	background: #fff;
	border-bottom: 1px solid #ccc;
	box-shadow: 0 2px 3px rgba(64, 64, 64, 0.2);
}



/* body > footer --------------------------------------- */
body > footer {
	position: relative;
	border-top: 1px solid #8ee78b;
	overflow-x: hidden;
}
body > footer::after {
	content: "";
	position: absolute;
	bottom: 3em;
	left: 0;
	display: block;
	width: 100%;
	height: 500px;
	background: #8ee78b;
	z-index: -1;
}
body > footer .inner {
	position: relative;
	width: 1120px;
	margin: 0 auto;
	padding: 90px 0 0;
}
body > footer .logo {
	display: flex;
	justify-content: center;
	width: 1120px;
	margin: 0 auto 70px;
	padding: 0 60px;
}
body > footer .box1 {
	display: flex;
	justify-content: space-between;
	width: 1120px;
	margin: 0 auto 40px;
	padding: 0 60px;
}
body > footer .box1 .contact {
	display: flex;
	flex-wrap: wrap;
	width: 500px;
}
body > footer .box1 .contact .addr_tel {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin-bottom: 15px;
}
body > footer .box1 .contact .addr_tel p {
	margin-bottom: 0.33em;
	line-height: 1.5;
}
body > footer .box1 .contact span.tel {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	font-size: 2.6rem;
}
body > footer .box1 .contact span.tel::before {
	content: "";
	display: inline-block;
	width: 35px;
	height: 35px;
	margin-right: 10px;
	background: url(../img/common/ico_tel_or.png) center center / contain no-repeat;
}
body > footer .contact .mail a::before {
	content: "";
	display: inline-block;
	width: 25px;
	height: 19px;
	margin-right: 0.5em;
	background: url(../img/common/ico_mail_wh.png) center center / contain no-repeat;
}
body > footer .contact .appointment {
	margin-left: 13px;
}
body > footer .contact .appointment .btn0 a {
	background: #ffe300;
	color: #000;
}
body > footer .contact .appointment a::before {
	content: "";
	display: inline-block;
	width: 25px;
	height: 19px;
	margin-right: 0.5em;
	background: url(../img/common/ico_pc_bk.png) center center / contain no-repeat;
}

body > footer .calendar {
	display: flex;
	justify-content: center;
	align-content: center;
	flex-wrap: wrap;
	width: 480px;
	margin-bottom: 10px;
}
body > footer .calendar table {
	width: 100%;
	margin-bottom: 0.5em;
	border-collapse: collapse;
	font-size: 1.6rem;
	line-height: 1.75;
}
body > footer .calendar thead {
	background: #f39801;
}
body > footer .calendar tbody {
	background: #fffbe5;
	color: #000;
}
body > footer .calendar th {
	font-weight: normal;
}
body > footer .calendar td {
	width: 2.5em;
	text-align: center;
}
body > footer .calendar tbody td {
	color: #f39801;
}
body > footer .calendar tbody td.closed {
	color: #000;
}
body > footer .calendar figcaption {
	width: 100%;
	padding: 0 0.2em;
	line-height: 1.0;
}
body > footer .calendar figcaption span {
	display: inline-block;
	width: 1em;
	height: 1em;
	border-radius: 0.5em;
	background: #fff;
	color: #f39801;
	font-weight: bold;
	line-height: 1.0;
}
body > footer .map {
	width: 1120px;
	margin: 0 auto 25px;
	padding: 0 60px;
}
body > footer .nav {
	display: flex;
	justify-content: space-between;
	align-content: flex-start;
	width: 1120px;
	margin: 0 auto 45px;
	padding: 0 100px;
}
body > footer .nav a {
	color: #000;
}
body > footer .nav a.current,
body > footer .nav a.active {
	color: #f39801;
}
body > footer .nav > ul {
	width: calc(100% / 4);
}
body > footer .nav > ul li {
	line-height: 1.75;
}
body > footer .nav > ul > li li::before {
	content: "-";
	display: inline-block;
	margin-right: 0.2em;
}
body > footer .pop {
	position: absolute;
}
body > footer .pop6 {
	top: 40px;
	left: -110px;
	width: 156px;
	height: 383px;
	background: url(../img/common/pop_06.png) center center / contain no-repeat;
}
body > footer .pop7 {
	bottom: 370px;
	left: -87px;
	width: 87px;
	height: 124px;
	background: url(../img/common/pop_07.png) center center / contain no-repeat;
}
body > footer .pop8 {
	bottom: 0;
	left: -146px;
	width: 181px;
	height: 259px;
	background: url(../img/common/pop_08.png) center center / contain no-repeat;
}
body > footer .pop9 {
	bottom: 50px;
	right: -129px;
	width: 152px;
	height: 218px;
	background: url(../img/common/pop_08.png) center center / contain no-repeat;
}
body > footer .copy {
	margin: 1em 0;
}
body > footer .copy p {
	margin: 0;
	text-align : center;
}

























