@charset "utf-8";

.clearfix {
	display:block;
}

.clearfix:after {
	visibility:hidden;
	display:block;
	font-size:0;
	content:'';
	clear:both;
	height:0;
}

/*  
---------------------------------------------------------------------------*/
* {
	box-sizing:border-box;
}

body {
	color:#000;
	font-size:16px;
	font-family:'游ゴシック',YuGothic,'ヒラギノ角ゴ ProN W3','Hiragino Kaku Gothic ProN','メイリオ',Meiryo,sans-serif;
	line-height:1;
	background:#dddfdc;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
}

p {
	font-size:16px;
	line-height:1.4;
	margin:0 0 1.5em;
}

p.txt-larger{
	font-size:18px;
}

.only-sp{
display:none;
}

/* link
------------------------------------*/
a {
	color:#774e21;
	text-decoration:underline;
}

a:hover {
	color:#e65a1c;
	text-decoration:none;
}

/* layout
-----------------------------------*/
.container {
	width:960px;
	display:flex;
	flex-flow:row;
	background:url("/img/bg-main.png");
}

header {
	flex: 0 0 270px;
	position:relative;
	padding:25px;
	background:url("/img/bg-green.png");
	color: #fff;
}

.box-main {
	position:relative;
	flex: 1 1 auto;
	padding:140px 30px 100px;
	background:url("/img/logo-s.png") no-repeat center 30px;
	background-size:81px 92px;
}

footer{
	position:absolute;
	left:0;
	bottom:0;
	width:100%;
	margin:0;
	padding:20px;
	text-align:center;
	font-size:14px;
}

/* header contents
-----------------------------------*/
h1.logo {
	text-align:center;
	margin:0 0 10px;
	padding:0;
	background:url("/img/logo-bg.png") no-repeat center center;
	background-size:180px 204px;
}
.logo img{
	text-align:center;
	margin:0;
	padding:0;
	width:110px;
	height:278px;
}

nav ul {
	display: flex;
	flex-flow: column;
	margin: 0 0 50px;
	padding: 0;
	list-style-type: none;
}

nav ul li {
	text-align:right;
}

nav a {
	display: inline-block;
	border-bottom:1px solid rgba(255,255,255,.2);
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size:16px;
	margin:5px 0;
	padding: 5px 0 3px;
	color: #fff;
	text-decoration: none;
}

nav a:hover{
	color:#e65a1c;
	border-bottom:1px solid rgba(230,90,28,.5);
}

.hdr-phone {
	margin:0 0 30px;
}
.hdr-phone span.appointment{
	display:block;
	margin:0 0 5px;
	padding:2px;
	border:1px solid rgba(255,255,255,0.8);
	text-align:center;
	font-size:12px;
}
.hdr-phone a{
	display:block;
	text-align:center;
	font-size:25px;
	color:#fff;
	text-decoration: none;
	font-weight:bold;
}
.hdr-phone span.caption{
	display:block;
	text-align:center;
	font-size:11px;
}

.hdr-guide{
	font-size:12px;
	line-height:1.2;
}
.hdr-guide dt{
	font-size:14px;
	margin:30px 0 10px;
	font-weight:bold;
}
.hdr-guide dd{
	margin:8px 0;
}
.hdr-guide dd iframe{
	margin:15px 0 0;
}
.hdr-guide dd.qrcode{
	margin:15px 0 0;
	text-align:center;
}
.hdr-guide dd.qrcode img{
	width:150px;
	height:150px;
}

.sp-nav-btn {
	display: none;
	position: absolute;
	top: 275px;
	left: 50%;
	margin-left:-30px;
	width: 60px;
	padding:40px 5px 5px;
	border-radius:5px;
	color: #fff;
	border:1px solid rgba(255,255,255,.2);
	font-size: 11px;
	text-align:center;
}
.sp-nav-btn span {
	position: absolute;
	display: block;
	left: 50%;
	width: 32px;
	margin-left:-16px;
	height: 4px;
	background: #fff;
}
.sp-nav-btn span:nth-of-type(1) {
	top: 10px;
}
.sp-nav-btn span:nth-of-type(2) {
	top: 20px;
}
.sp-nav-btn span:nth-of-type(3) {
	top: 30px;
}

h1.ttl-menu{
	font-size:22px;
	font-family:'游ゴシック',YuGothic,'ヒラギノ角ゴ ProN W3','Hiragino Kaku Gothic ProN','メイリオ',Meiryo,sans-serif;
}


/* main contents
-----------------------------------*/
.intro {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size:16px;
	margin:10px 0 20px;
	text-align:center;
}

.main-image{
	display:block;
	width:100%;
	margin:0 0 40px;
}

h1.page-title{
	position: relative;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size:30px;
	text-align:center;
	margin:0 0 40px;
	padding:10px 0 25px;
}

h1.page-title::after{
	width: 120px;
	content: "";
	border-bottom: 1px solid #bbc2b8;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0px;
	margin: auto;
}

section{
	/*border-bottom:1px dotted #ddd;*/
	margin:0 0 20px;
	padding:0 0 1em;
}

section h1{
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size:28px;
	margin:0 0 20px;
}

section .full-image{
	display:block;
	width:100%;
	margin:0 0 30px;
}

section ul,
section ol{
	margin:0 0 2em;
	padding-left:40px;
}

section ul li,
section ol li{
	margin:0 0 10px;
	line-height:1.4;
}

section li strong{
	font-size:18px;
	color:#e65a1c;
}

section li em{
	font-weight:bold;
	font-style:normal;
}

.flow-image{
	width:100%;
	margin:40px 0 40px;
	text-align:center;
}

.flow-image img{
	width:100%;
	max-width:551px;
}

.colbox{
	display:flex;
	flex-flow:row;
}
.colbox .box-L {
	flex: 1 1;
}
.colbox .box-R {
	flex: 0 0;
	margin-left:20px;
}
.colbox .box-w30 {
	flex-basis:30%;
}
.colbox .box-w40 {
	flex-basis:40%;
}
.colbox .box-w50 {
	flex-basis:50%;
}

.flt-R{
	float:right;
	margin-left:15px;
}
.w-50per{
	width:50%;
}

table.tbl-01{
	width:100%;
	margin-bottom:1.5em;
	border-top:1px solid #999;
	border-left:1px solid #999;
	border-collapse:collapse;
}
table.tbl-01 th,
table.tbl-01 td{
	border-right:1px solid #999;
	border-bottom:1px solid #999;
	padding:0.5em 1em 0.4em;
	background:#fff;
	text-align:center;
}
table.tbl-01 thead th{
	background:#eee;
	font-size:12px;
	font-weight:bold;
}

.google-maps {
	margin:0 0 30px;
	position: relative;
	padding-bottom: 60%;
	height: 0;
	overflow: hidden;
}
.google-maps iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}

.phone-number a{
	font-size:28px;
	color:#774e21;
	text-decoration: none;
	font-weight:bold;
}

.img-qr img{
	width:200px;
	height:200px;
}

a#backToTop{
	position:fixed;
	bottom:15px;
	right:15px;
	background:rgba(0,0,0,.3);
	color:#fff;
	border-radius:100%;
}

a#backToTop:hover{
	background:rgba(0,0,0,.2);
}

a#backToTop span{
	position: relative;
	display: block;
	width:50px;
	height:50px;
	text-indent:100%;
	overflow:hidden;
	white-space: nowrap;
}

a#backToTop span::after{
position: absolute;
content: "";
top: 19px;
left: 16px;
width: 15px;
height: 15px;
border-top: 3px solid #fff;
border-right: 3px solid #fff;
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}


/*  general class
---------------------------------------------------------------------------*/
.mb-0{margin-bottom:0 !important}
.mt-20{margin-top:20px !important}
.align-C{text-align:center !important}



/*  for smartphone
---------------------------------------------------------------------------*/
@media screen and (max-width: 600px) {

.only-pc{
display:none;
}
.only-sp{
display:block;
}

.container {
	width:auto;
	flex-flow:column;
}
header {
	padding:30px 0 0;
}
.box-main {
	padding:20px 15px 0px;
	background-image:none;
}
footer{
	margin:30px 0 0;
	padding:20px;
	text-align:center;
	font-size:11px;
}

h1.logo {
	text-align:center;
	margin:0 0 100px;
	background-size:150px auto;
}

.logo img{
	width:90px;
	height:auto;
}


nav,.hdr-phone,.hdr-guide{
display:none;
}

.sp-nav-btn {
	display: block;
}

nav ul {
	margin: 0;
	padding: 0;
}

nav ul li {
	text-align:left;
}

nav a {
	display: block;
	border-bottom:1px solid rgba(255,255,255,.2);
	background:rgba(0,0,0,.3);
	font-size:18px;
	margin:0;
	padding: 15px 20px;
}
nav a:hover{
	color:#fff;
	border-bottom:1px solid rgba(255,255,255,.2);
	background:rgba(0,0,0,.2);
}


section h1{
	font-size:22px;
}
section p{
	line-height:1.6;
}

h1.page-title{
	font-size:28px;
	padding:10px 0 15px;
}

table.tbl-01 th,
table.tbl-01 td{
	padding:0.5em 0.3em 0.4em;
	font-size:10px;
}

.colbox{
	flex-flow:column;
}
.colbox .box-R {
	margin-left:0;
}

.phone-number a{
	padding:10px;
	border-radius:3px;
	display:block;
	background:#e6e2ce;
	font-size:24px;
	color:#774e21;
	text-align:center;
}



}






