@charset "UTF-8";

/* =Reset
-------------------------------------------------------------- */

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, 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, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
}
body {
	line-height: 1;
}
ol,
ul {
	list-style: none;
}
blockquote,
q {
	quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
caption,
th,
td {
	font-weight: normal;
	text-align: left;
}
h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}
html {
	overflow-y: scroll;
	font-size: 100%;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}
a:focus {
	outline: thin dotted;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
	display: block;
}
audio,
canvas,
video {
	display: inline-block;
}
audio:not([controls]) {
	display: none;
}
del {
	color: #333;
}
ins {
	background: #fff9c0;
	text-decoration: none;
}
hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin: 24px;
	margin-bottom: 1.714285714rem;
}
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sup {
	top: -0.5em;
}
sub {
	bottom: -0.25em;
}
small {
	font-size: smaller;
}
img {
	display: block;
	border: 0;
	-ms-interpolation-mode: bicubic;
}

/* Clearing floats */
.clear:after,
.wrapper:after,
.format-status .entry-header:after {
	clear: both;
}
.clear:before,
.clear:after,
.wrapper:before,
.wrapper:after,
.format-status .entry-header:before,
.format-status .entry-header:after {
	display: table;
	content: "";
}



/*基本
**********************************************/
body {
	font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", Osaka, sans-serif; 
	color: #000000;
	background: #fffce3;
	font-size: 100% !important;
	line-height: 1.75 !important;
}

*{
	box-sizing: border-box;
}

body{
	font-size: 1rem !important;
}
p {
	margin: 1% 0 5% 0;
}

ul{
	overflow: hidden;
	margin: 1% 0 3% 0;
}

li{
	margin-bottom: 3%;
}

a {
	border: none;
	text-decoration: none;
	color: #000000;
}

a:hover{
	color: #66aaff;
}

a:focus{
	outline: none;
}

img{
	width: auto;
	max-width: 100%;
}



/*各ブロック
**********************************************/
/*header*/
header {
	position: relative;
	width: 100%;
	margin: auto;
	margin-bottom: 15px;
	background: #fff;
	overflow: hidden;
}

/*logo*/
#logo{
	float:left;
	width: 33%;
	max-width: 200px;
	min-height: 50px;
	overflow: hidden;
}

.header_image{
	width: 100%;
	padding-bottom: 33.3%;
	position: relative;
	overflow: hidden;
	z-index: 1;
}

.header_image img{
	position: absolute;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
	width: 100%;
	z-index: 10;
}

#top_header_image{
	padding-bottom: 40%;
}

#top_header_image img{
	transform: translate(-50%, -40%);
}

nav{
	width: auto;
	position: absolute;
	right: 0;
	z-index: 100;
	float: right;
	padding: 20px 20px 0 0;
	margin-top: 20px;
}
nav ul{
	float: right;
	width: auto;
	margin: 0;
}
nav ul li{
	display: inline-block;
	margin: 5% 15px 0 15px;
	overflow: hidden;
}

#nav_btn_outer{
	position: absolute;
	right: 2%;
	width: 26px;
	margin-top: 10px;
	padding: 9px 0;
	background: #fff;
	display: none;
	z-index: 1000;
}

.nav_btn_open{
	position: absolute;
    left: 50%;
    transform: translate(-50%, -50%);
	width: 100%;
	border: solid 1px #000;
	z-index: 1000;
}

.nav_btn_open:before{
	position: absolute;
	top: -9px;
    left: 50%;
    transform: translate(-50%, -50%);
	width: 100%;
	content: "";
	border: solid 1px #000;
	z-index: 1000;
}

.nav_btn_open:after{
	position: absolute;
	top: 9px;
    left: 50%;
    transform: translate(-50%, -50%);
	width: 100%;
	content: "";
	border: solid 1px #000;
	z-index: 1000;
}


.nav_btn_close{
	position: absolute;
    left: 50%;
    transform: translate(-50%, -50%);
	width: 100%;
	border: none;
	z-index: 1000;
}
.nav_btn_close:before{
	position: absolute;
	top: 0;
    left: 0;
    transform: translate(-50%, -50%);
    transform: rotate(-45deg);
	width: 100%;
	content: "";
	border: solid 1px #000;
	z-index: 1000;
}

.nav_btn_close:after{
	position: absolute;
	top: 0;
    left: 0;
    transform: translate(-50%, -50%);
	transform: rotate(45deg);
	width: 100%;
	content: "";
	border: solid 1px #000;
	z-index: 1000;
}


/*article*/
article{
	width: 100%;
	overflow: hidden;
}


/*section*/
section {
	position: relative;
	width: 100%;
	max-width: 1000px;
	padding: 2%;
	margin: 0 auto 30px auto;
	overflow: hidden;
}



/*
.radius_white{
	border-radius: 50% 50% 50% 70%/50% 50% 70% 60%;
	overflow: visible;
	background: #fff;
}
*/

.sub_page_section:after{
	display: block;
	border-bottom: solid 1px #5db6e7;
	content: "";
	width: 96%;
	margin: auto;
}

.image_area{
	width: 100%;
	overflow: hidden;
}


/*svg*/
svg{
	display: block;
	position: absolute;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
}

/*footer*/
footer {
	width: 100%;
	margin: auto;
	padding-bottom: 30px;
	overflow: hidden;
	background: #5db6e7;
}

@media screen and (max-width: 600px){
	#top_header_image{
		padding-bottom: 85%;
	}
	
	#top_header_image img{
		min-width: 200%;
	}
	
}

@media screen and (max-width: 959px){
	nav{
		padding: 16px 50px 16px 16px;
		margin: 0;
		background: #fff;
		display: none;
	}
	
	nav ul{
		width: 100%;
	}
	
	nav ul li{
		width: 100%;
		text-align: center;
		margin: 16px 0;
	}
	
	#nav_btn_outer{
		display: block;
	}
}

/*見出し
**********************************************/
h1, h2, h3, h4{
	font-weight: bold;
	margin: auto;
	position: relative;
}

h1{
	font-size: 2.5em;
	line-height: 3em;
	margin-top: 5%;
	margin-bottom: 1%;
}

.catch_copy{
	font-size: 4vw;
	line-height: 4.75vw;
	display: block;
	position: absolute;
    z-index: 1000;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    color: #ffffff;
    text-shadow: 0px 0px 1vw #643e00;
    text-align: center;
    font-weight: bold;
	/*font-family: "Zen Maru Gothic", serif;
	font-weight: 600;
	font-style: normal;*/
}

.catch_copy_small{
	display: inline-block;
	font-size: 1.75vw;
	line-height: 2.25vw;
	font-weight: normal;
	/*font-weight: 400;
	font-style: normal;*/
	background: rgba(104, 62, 1, 0.3);
}



.large_font {
    line-height: 1.25em;
    vertical-align: -25%;
    display: inline-block;
}



h2{
	font-size: 1.6em;
	line-height: 1.6em;
	margin-top: 2%;
	margin-bottom: 3%;
}

.sub_page_h2{
	position: relative;
	color: #683e00;
	line-height: 1.125;
	border-radius: 0 0 6em 0;
	border-bottom: solid 3px #683e00;
	border-right: solid 3px #683e00;
	padding: 0.2em 0.8em 0.2em 0.5em;
	display: inline-block;
	margin-left: 0.25em;
	z-index: 1;
}

.sub_page_h2:before{
	position: absolute;
	right: -16px;
	top: -0.4em;
	content: " ";
	background: #4fbf5c;
	width: 16px;
	height: 16px;
	z-index: 10;
	border-radius: 16px 0 16px 0;
}

.sub_page_h2:after{
	position: absolute;
	right: 0px;
	top: -0.4em;
	content: " ";
	background: #4fbf5c;
	width: 16px;
	height: 16px;
	z-index: 10;
	border-radius: 0 16px 0 16px;
}

.contents_navi_h2{
	position: relative;
	color: #683e00;
	line-height: 1.125;;
	padding: 0.2em 0.8em 0.2em 0.5em;
	display: inline-block;
	margin-left: 0.25em;
	font-family: "Zen Maru Gothic", serif;
	font-weight: 600;
	font-style: normal;
	text-shadow:1px 1px 3px #bbb;
	/*font-family: "Hachi Maru Pop", serif;
	font-weight: 600;
	font-style: normal;
	*/
}
.inaho{
	display: inline-block;
	width: 36px !important;
	transform: rotate(15deg);
	margin-bottom: -8px !important;
	padding: 0 !important;
}

.sub_page_h3{
	display: inline-block;
	width: auto;
	margin-left: 0.25em;
	padding: 4px 2%;
	position: relative;
	z-index: 100;
	color: #fff;
	font-weight: bold;
	background: #f92;
    opacity: 1;
    border-radius: 20%;
	line-height: 1.125;
}

.sub_page_h3:after{
	position: absolute;
    left: 5%;
    top: 5%;
    content: "";
    width: 90%;
    height: 90%;
    background: #fff;
    opacity: 0.2;
	border-radius: 80% 30% 50% 50%/50%;
	z-index: -1;
}
/*
.sub_page_h2:before{
	position: absolute;
    left: -5%;
    top: -25%;
    content: "";
    width: 80%;
    height: 150%;
    background: #5db6e7;
    opacity: 0.6;
	border-radius: 50% 50% 50% 70%/50% 50% 70% 60%;
	z-index: -1;
}
.sub_page_h2:after{
	position: absolute;
    right: -5%;
    top: -25%;
    content: "";
    width: 80%;
    height: 150%;
    background: #ef89d0;
    opacity: 0.6;
	border-radius: 80% 30% 50% 50%/50%;
	z-index: -1;
}
*/
h3{
	font-size: 1.35em;
	line-height: 1.75em;
	font-weight: bold;
	margin: auto;
	margin: 1.25% 0;
}

h4{
	font-size: 1.125em;
	line-height: 1.5em;
	font-weight: bold;
	margin: auto;
	margin: 1.25% 0;
}

.sub_page_h4{
	color: #5db6e7;
	position: relative;
	line-height: 1.4;
	padding: 0.1em 0.3em;
	display: inline-block;
	top:0;
	margin-left: 0.25em;
}

.sub_page_h4:before, .sub_page_h4:after{
	position: absolute;
	top: 0;
	content:'';
	width: 8px;
	height: 100%;
	display: inline-block;
}

.sub_page_h4:before{
	border-top: dotted 1px #5db6e7;
	border-left: dotted 1px #5db6e7;
	border-bottom: dotted 1px #5db6e7;
	left: 0;
}

.sub_page_h4:after{
	border-top: dotted 1px #5db6e7;
	border-right: dotted 1px #5db6e7;
	border-bottom: dotted 1px #5db6e7;
	right: 0;
}

@media screen and (max-width: 600px){
	.catch_copy{
		font-size: 7.5vw;
		line-height: 10vw;
		font-weight: bold;
		padding: 0 0.1vw;
	}
	
	.catch_copy_small{
		font-size: 3vw;
		line-height: 5vw;
	}
	
	.contents_navi_h2{
		font-size: 1.5em;
	}
	
}
@media screen and (max-width: 799px){
	h2{
		font-size: 1.25em;
		line-height: 1.75em;
	}
	
	h3{
		font-size: 1.125em;
		line-height: 1.5em;
	}
	
	h4{
		font-size: 1.11em;
		line-height: 1.25em;
	}
}


/*テーブル
********************************************/
table{
	border: solid 1px #bbb;
	width: 100%
}

th, td{
	border: solid 1px #bbb;
	padding: 15px;
}


th{
	background: #ddffdd;
	width: 20%;
}

td{
	width: 80%;
}

/*料金表*/
.price{
	border: solid 1px #bbb;
	width: 100%;
	margin-bottom: 5%;
}

.price th, td{
	border: solid 1px #bbb;
	padding: 15px;
}


th{
	background: #ddffdd;
	width: auto;
}

td{
	width: auto;
}



/*フッター
********************************************/
.copy{
	float: right;
	font-size: 0.8em;
	color: #fff;
}

@media screen and (max-width: 600px){
	.copy{
		float: right;
		font-size: 0.5em
	}
}

/*ギャラリー
********************************************/
.gallery{
	width: 100%;
	overflow: hidden;
}

.gallery li{
	position: relative;
	display: inline-block;
	width: 47%;
	margin: 1%;
	text-align: center;
	overflow: hidden;
}

.gallery li img{
	width: 100%;
}

/*トップページ
********************************************/




/*section of top page*/
.top_section{
	width: 100%;
	min-width: 100%;
	margin-bottom: 20px;
	overflow: hidden;
	position: relative;
}

.top_section:after{
	display: none;
}

.contents_navi li{
	position: relative;
	display: inline-block;
	width: 29%;
	margin: 1.9%;
	padding: 2%;
	background: #fff;
	box-shadow: 5px 5px 5px #bbb;
}

.contents_navi li img{
	width: 100%;
	margin-bottom: 4%;
}




@media screen and (max-width: 600px){
	.contents_navi li{
		display: block;
		width: 92%;
		margin: 8% 4%;
		padding: 4%;
	}

}

@media screen and (min-width: 1000px){
	
}


.map{
	position: relative;
	width: 100%;
	padding-bottom: 66.66%;
}

.map iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


.header_tel{
	display: block;
	overflow: hidden;
	float: right;
	padding-right: 35px;
	margin-top: 120px;
}

.header_tel a{
	display: block;
	line-height: 0.8;
	font-size: 2em;
	font-weight: bold;
	margin: 0;
	margin-bottom: 5px;
	color: #5db6e7;
}

.header_tel span{
	display: inline-block;
	font-size: 0.9em;
	line-height: 0.8;
}

.phone_icon{
	display: inline-block;
	width: 0.9em;
}

@media screen and (max-width: 960px){
	.header_tel{
		margin-top: 12vw;
		padding-right: 5px;
	}
	.header_tel a{
		font-size: 6vw;
	}
	.header_tel span{
		font-size: 0.8em;
	}
	.phone_icon{
		width: 6vw;
	}
}

/*会社紹介
********************************************/
.signature{
	display: block;
	width: 182px;;
	margin: auto;
}

.signature_name{
	font-size: 1.5em;
	font-family: "Zen Kurenaido", sans-serif;
	font-weight: 400;
	font-style: normal;
}

/*ご利用案内
********************************************/
.tel_other{
	
}

.tel_other a{
	font-size: 1.5em;
	font-weight: bold;
}

/*お客様の声
********************************************/
.customer_voice{
	display: block;
	width: 100%;
	background: #fff;
	border-radius: 16px;
	padding: 3%;
}

.customer_voice h3{
	font-weight: normal;
}

