@charset "UTF-8";

/***********************************
* 大見出し	*
***********************************/
/* 中身だし --------------------*/
/* 小見出し*/

	@media (min-width: 768px) {

	}
	@media (min-width: 992px) {

	}
	@media (min-width: 576px){
	}



/***********************************
* 全ページ共通 *
***********************************/
.tel-link a{
	color:#4a4a4a;
}
.tel-link a:hover{
	text-decoration:none;
}

/* 色 --------------------*/
.c_red00{color:#c62121;}

.c_brown01{color: #513c09;}

.c_brown02{color: #938064;}

.c_orange{color: #bf6700;}

.c_green01{color: #4d7605;}


/***********************************
* 画像 *
***********************************/
.js-animation {
  opacity: 0;
  visibility: hidden;
  transform: translateY(40px);
  transition: all 1s;
}
.js-animation.is-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px);
}

#circle_10 img{object-fit: cover;
   border-radius: 10%;}
#circle_33 img{object-fit: cover;
   border-radius: 33%;}
#circle_50 img{object-fit: cover;
   border-radius: 50%;
   border: solid 10px #3696c4;}



/* フォント --------------------*/
body{
	font-family: "Noto Sans Japanese", "Meiryo UI", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color:#000;
	font-weight: 300;
	background-image: url("../img/brickwall.png");
}
body p { font-size: 98% !important; }
/* 英語フォント*/
@font-face {
    font-family: 'Didact Gothic';
    font-style: normal;
    font-weight: 400;
    src: local('Didact Gothic Regular'), local('DidactGothic-Regular'), url(https://fonts.gstatic.com/s/didactgothic/v10/v8_72sD3DYMKyM0dn3LtWk3vq9dAc3DuCNWjMJNKvGE.woff) format('woff');
}
.en{
	font-family: "Brandon Grotesque", "Didact Gothic", Helvetica, Arial, "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-style: italic;
    font-weight: normal;
    letter-spacing: 0.08em;
}

/* ドロワーメニュー --------------------*/
.contents {
	transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
#navTgl:checked ~ .contents {
	transform: translateX(250px);
}
/* toggle button */
#navTgl {
	display: none;
}
label {
	cursor: pointer;
	position: fixed;
	top: 0;
	left: 0;
}
.open {
	z-index: 12;
	width: 48px;
	height: 48px;
	background: #4d7605;
	transition: background .6s, transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);

	color:#fff;
	font-size: 10px;
	line-height: 75px;
	text-align: center;
}
.open::before,
.open::after {
	content: "";
}
.open span,
.open::before,
.open::after {
	content: "";
	position: absolute;
	top: calc(42% - 1px);
	left: 30%;
	width: 40%;
	border-bottom: 2px solid white;
	transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.open::before {
	transform: translateY(-8px);
}
.open::after {
	transform: translateY(8px);
}
.close {
	z-index: 11;
	width: 100%;
	height: 100%;
	pointer-events: none;
	transition: background .6s;
}
#navTgl:checked + .open {
	background: #846b43;
	transform: translateX(250px);
}
#navTgl:checked + .open span {
	transform: scaleX(0);
}
#navTgl:checked + .open::before {
	transform: rotate(45deg);
}
#navTgl:checked + .open::after {
	transform: rotate(-45deg);
}
#navTgl:checked ~ .close {
	pointer-events: auto;
	background: rgba(0,0,0,.3);
}
/* drawer menu */
.menu {
	z-index: 11;
	position: fixed;
	overflow: auto;
	top: 0;
	left: 0;
	width: 250px;
	height: 100%;
	margin: 0;
	padding: 10px;
	box-sizing: border-box;
	background: rgba(255,255,255,.8);
	transform: translateX(-100%);
	transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.menu ul {
	margin: 0;
	padding: 0;
}
.menu li {
	font-size: .8em;
	line-height: 1.4;
	padding:0 0rem;
}
.menu li {
	border-bottom: 1px solid #b2ada5;
}
.menu a {
	color:#452900;
	display: block;
	background-image: url(../img/bg_header-nav.png);
	background-repeat: no-repeat;
	background-position: left;
	background-size: 12px;
	padding: 0.9rem 0.5rem 0.5rem 0.9rem;
	text-decoration: none;
	transition: background .6s;
}
.menu a:before{
	content: "\f0da \00a0";
	font-family: FontAwesome;
	color:#006400;
}
.menu li ul li{
	border-bottom: none;
	font-size: .9em;
}
.menu li ul li i{
	color:#e99316;
	font-weight: 400;
}
.menu li ul li a{
	padding: 0.4rem 0.5rem 0.4rem 0.8rem;
	background: none;
}
.menu li ul li:last-child{
	padding-bottom: 1rem;
}
.menu a:hover {
}
#navTgl:checked ~ .menu {
	transform: none;
}

@media screen and (min-width: 992px) {
	.open {
		display: none;
	}
}
@media (max-width: 991px){
	nav.nav-pc{
		display: none;
	}
}

.nav-pc li { font-size: 109% !important;}

/* header --------------------*/
header{
	border-top:solid #613501 3px;
	border-bottom: solid #96ab71 2px;
	margin-bottom: 1px;
	padding-bottom: 0.5rem;
	background-image: url("../img/brickwall.png");
}
header .header-block-01{
	padding-top: 0.7rem;
}
header .header-block-02{
	padding-top: 0.2rem;
}
header .header-block-01 h1{
	color:#4b321b;
	font-weight: 400;
	font-size: 0.6rem;
	text-align: center;
	margin-bottom: 0.8rem;
}
header .header-block-01 .logo{
	text-align: center;
}
header .header-block-01 .logo img{
	width: 80%;
	max-width: 350px;
}

header .header-block-02 .tel{
	text-align: center;
	padding: 1rem 1rem;
}
header .header-block-02 .tel img{
	width: 95%;
	max-width: 265px;
}
header .header-block-02 .web{
	padding-left: 1rem;
}
header .header-block-02 .web img{
	width: 100%;
	max-width: 77px;
}

	@media (min-width: 768px){
		header{
			padding-bottom: 0.8rem;
		}
		header .header-block-01{
			padding-top: 0.8rem;
		}
		header .header-block-02{
			padding-top: 1rem;
		}
		header .header-block-01 .logo{
			text-align: left;
		}
		header .header-block-01 .logo img{
			width: 98%;
		}
		header .header-block-01 h1{
			white-space: nowrap;
			text-align: left;
		}
		header .header-block-01 .tel{
			text-align: right;
		}
		header .header-block-02 .tel {
			text-align: right;
			padding: 1rem 1rem 2rem 0;
		}
	}
	@media (min-width: 992px){
		header{
			padding-bottom: 1.6rem;
		}
		header .header-block-01{
			padding-top: 2.5rem;
		}
		header .header-block-02{
			padding-top: 0.8rem;
		}
		header .header-block-01 h1{
			font-size: 0.7rem;
			white-space: nowrap;
			margin-bottom: 1.3rem;
		}
		header .header-block-01 .logo img{
			width: auto;
		}
		header .header-block-02 .web {
			text-align: right;
			padding-left: 0rem;
			padding-bottom: 1rem;
		}
		header .header-block-02 .tel {
			text-align: right;
			padding: 1rem 1rem 2rem 0;
		}
		nav ul{
			text-align:right;
			margin: 0;
			padding: 0;
		}
		nav ul li{
			display:inline;
			background-image: url(../img/bg_nav.jpg);
			background-repeat: no-repeat;
			background-position: right;
			font-size: 0.8rem;
		}
		nav ul li:last-child{
			background: none;
		}
		nav ul li a{
			padding: 0.5rem 0.7rem;
			color:#000;
		}
		nav ul li a:hover{
			color:#9d8969;
			text-decoration: none;
		}
	}
	@media (min-width: 1200px){
		nav ul li a{
			padding: 0.5rem 0.9rem;
		}
	}

/* footer --------------------*/
footer{
	padding-bottom: 40px;
}
.footer-block{
	background-color: #fff;
	/*background-image: url("../img/brickwall.png");*/
	margin-bottom: 1px;
	padding-top: 1rem;
	padding-bottom: 1rem;
}
.footer-copy-block{
	border-top: solid #453420 3px;
	height: 35px;
}

.footer-block p,
.footer-block tr th,
.footer-block tr td{
	font-size:0.75rem;
	font-weight: 400;
}
.footer-copy-block p{
	text-align: center;
	color:#392200;
	font-size: 0.6rem;
	line-height: 35px;
	margin-bottom: 0;
	background-color: #fff;
}
.footer-logo{
	text-align: center;
	margin-bottom: 1rem;
}
.footer-logo img{
	width: 80%;
	max-width: 350px;
}
.g-map{
	position: relative;
	padding-bottom: 80%;
	height: 0;
	overflow: hidden;
}
.g-map iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}
.access-txt{
	display: table;
	margin-left: auto;
	margin-right: auto;
	padding-top: 0.5rem;
}

.time-block table{
	width: 100%;
	border-top: solid #453420 1px;
	border-left: solid #453420 1px;
	margin-bottom: 0.5rem;
}
.time-block table tr th,
.time-block table tr td{
	text-align: center;
	border-bottom: solid #453420 1px;
	border-right: solid #453420 1px;
}
.time-block table tr th{
	background-color: #453420;
	padding: 0.2rem 0;
	color: #fff;
}
.time-block table tr td{
	background-color: #fff;
	color:#453420;
	padding: 0.3rem 0.2rem;
}
.time-block table tr td.time{
	color:#000;
}
.footer-block p.time-notice{
	padding: 0 1rem;
}
.footer-block p.btn-mail,
.footer-block p.btn-web{
	text-align: center;
	margin-bottom: 0.5rem;
}
.footer-block p.btn-mail a,
.footer-block p.btn-web a{
	color:#fff;
	display: inline-block;
	padding: 0.3rem 1rem;
}
.footer-block p.btn-mail a:hover,
.footer-block p.btn-web a:hover{
	text-decoration: none;
	color:#fff;
	opacity: 0.8;
	filter: alpha(opacity=80);
	-moz-opacity: 0.8;
}
.footer-block p.btn-mail a{
	background-color: #4d7605;
}
.footer-block p.btn-web a{
	background-color: #9d8969;
}
	@media (min-width: 768px){
		.footer-block{
			padding-top: 2rem;
			padding-bottom: 2rem;
		}
		.footer-logo{
			margin-bottom: 1.5rem;
		}
		.footer-logo img{
			width: 260px;
		}
		.access-block,
		.time-block{
			width: 95%;
			margin-left: auto;
			margin-right: auto;
		}
		.access-block{
			margin-left: 0;
		}
		.footer-block .access-txt p span{
			font-size: 85%;
		}
		.time-block{
			margin-right: 0;
		}
		.g-map{
			padding-bottom: 50%;
		}
	}
	@media (min-width: 992px){
		.footer-block{
			padding-top: 3.6rem;
			padding-bottom: 3.6rem;
		}
		.footer-block p,
		.footer-block tr th,
		.footer-block tr td{
			font-size: 0.88rem;
		}
		.footer-copy-block p{
			font-size: 0.75rem;
		}
		.footer-logo{
			margin-bottom: 3rem;
		}
		.footer-logo img{
			width: auto;
		}
		.access-block,
		.time-block{
			width: 90%;
			margin-left: auto;
			margin-right: auto;
		}
		.footer-block p.time-notice{
			margin-bottom: 1.5rem;
		}
		.footer-block p.btn-mail,
		.footer-block p.btn-web{
			margin-bottom: 0.8rem;
		}
	}
	@media (min-width: 1110px){
		footer{
			padding-bottom:0;
		}
	}
/* pagetop --------------------*/
#pagetop {
	font-family: "Brandon Grotesque", "Didact Gothic", Helvetica, Arial, "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	display:none;
	position: fixed;
	bottom: 0px;
	width: 100%;
	height: 40px;
	 line-height: 40px;
	 background: rgba(58,46,36,0.8);
	 color: #fff;
	 text-decoration: none;
	 text-align: center;
	 font-weight: bold;
}
#pagetop i{ padding-right:3px;}
#pagetop:hover{
	 background: rgba(58,46,36,1);
}

	@media (min-width: 1110px) {
		#pagetop {
			bottom: 50px;
			right: 50px;
			width: 100px;
			height: 100px;
			line-height: 100px;
			border-radius: 100px;
		}
	}

/***********************************
* 中ページ共通 *
***********************************/
/* ページタイトル--------------------*/
/*メモ：写真の指定は各ページスタイルシート内に記載*/
#icatch-block{
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
	margin-bottom: 2rem;
}
#icatch-block h2{
	font-family: 'Noto Serif JP', serif;
	color:#fff;
	text-shadow: 1px 1px 3px #737373;
	letter-spacing: 0.1em;
	margin: 0;
	padding: 2rem 0;
	font-size: 1.2rem;
}
	@media (min-width: 576px){
		#icatch-block{
			margin-bottom: 3rem;
		}
		#icatch-block h2{
			padding: 3rem 0;
			font-size: 1.8rem;
		}
	}
	@media (min-width: 768px){
		#icatch-block{
			margin-bottom: 3rem;
		}
		#icatch-block h2{
			padding: 3rem 0.8rem;
		}
	}
	@media (min-width: 992px) {
		#icatch-block{
			margin-bottom: 4rem;
		}
		#icatch-block h2{
			padding: 4rem 0.8rem;
			font-size: 2.1rem;
			letter-spacing: 0.2em;
		}
	}

/* contents-block：中ページの中身--------------------*/
#contents-block p,
#contents-block ul li{
	font-size: 0.75rem;
}
#contents-block ul{
	margin: 0;
	padding: 0;
}
	@media (min-width: 992px) {
		#contents-block p,
		#contents-block ul li{
			font-size: 0.88rem;
		}
	}

/* section:article-*/
.article{
	margin-bottom: 2rem;
}

.article h3{
	font-family: 'Noto Serif JP', serif;
	line-height: 1.8;
	position: relative;
  	padding: 1em 0;
	font-size: 1rem;
	text-align: center;
	background-color: #fff;
}
.article h3::before,
.article h3::after {
  position: absolute;
  left: 0;
  content: '';
  width: 100%;
  height: 6px;
  box-sizing: border-box;
}
.article h3::before {
  top: 0;
  border-top: 2px solid #453420;
  border-bottom: 1px solid #453420;
}
.article h3::after {
  bottom: 0;
  border-top: 1px solid #453420;
  border-bottom: 2px solid #453420;
}
	@media (min-width: 576px){
		.article{
			margin-bottom: 3rem;
		}
		.article h3{
			font-size: 1.2rem;
			margin-bottom: 1rem;
		}
	}
	@media (min-width: 992px){
		.article{
			margin-bottom: 4rem;
		}
		.article h3{
			font-size: 1.4rem;
			margin-bottom: 1.2rem;
		}
	}

/*---------------------------------------
             BOX
----------------------------------------*/

.box01{
    margin: 2em 0;
    background: #f6ead4;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.22);
}
.box01 .box-title {
    font-size: 1.2em;
    background: #2e2119;
    padding: 4px;
    text-align: center;
    color: #FFF;
    font-weight: bold;
    letter-spacing: 0.05em;
}
.box01 p {
    padding: 15px 20px;
    margin: 0;
}

.box02{
    position: relative;
    margin: 2em 0;
    padding: 25px 10px 7px;
    border: solid 2px #f7b944;
	background-color: #fff;
	text-align: center;
}

.box02 .box-title {
    position: absolute;
    display: inline-block;
    top: -2px;
    left: -2px;
    padding: 0 9px;
    height: 25px;
    line-height: 25px;
    font-size: 17px;
    background: #f7b944;
    color: #ffffff;
    font-weight: bold;
}

.box02 p {
    margin: 0; 
    padding: 0;
}

.box03 {
    position: relative;
    margin: 2em 0;
    padding: 0.5em 1em;
    border: solid 3px #449d85;
	background-color: #fff;
}
.box03 .box-title {
    position: absolute;
    display: inline-block;
    top: -27px;
    left: -3px;
    padding: 0 9px;
    height: 25px;
    line-height: 25px;
    font-size: 17px;
    background: #449d85;
    color: #ffffff;
    font-weight: bold;
    border-radius: 5px 5px 0 0;
}
/*.box03 p {
    margin: 0; 
    padding: 0;
}*/