

.noto-sans-jp-<uniquifier> {
  font-family: "Noto Sans JP", sans-serif;
}

.noto-sans-<uniquifier> {
  font-family: "Noto Sans", sans-serif;
}

.noto-serif-jp-<uniquifier> {
  font-family: "Noto Serif JP", serif;
}

.noto-serif-<uniquifier> {
  font-family: "Noto Serif", serif;
}

.klee-one-regular {
  font-family: "Klee One", cursive;
}

/** **/

html {
	width:100%;
	height:100%;	
}

body {
	width:100%;
	height:100%;
	font-family: "M PLUS 2", sans-serif;
	overflow-x:hidden;
}

/** **/

a {
	text-decoration:none;
}

a:hover {
	opacity:0.7;
}




/** **/

.container {
	width:1100px;
	margin:0 auto;
	padding:0;
}

p {
	line-height:160%;
}

ul {
	list-style-type:none;

}


/** **/

header {
	width:100%;
	height:185px;
	background:url(../img/bg_header.jpg) no-repeat top center;
}

header .topline {
	display:flex;
	justify-content:space-between;
	width:1100px;
	margin:0 auto;
	background:url(../img/bg_header.jpg) no-repeat top center;
}

header .topline h1 {
	font-size:13px;
	font-weight:300;
	line-height:52px;
	text-align:left;
}

header .topline h1 .pagename {
	display:none;
}

header .topline .tel_nums {
	width:380px;
	color:#407B44;
	display:flex;
	justify-content:space-between;
	padding:0;
	line-height:52px;
}

header .topline .tel_nums p {
	color:#407B44;
	font-weight:400;
	font-family: "Noto Serif", serif;
	font-size:17px;
	letter-spacing:0.05em;
	line-height:52px;
}

header .topline .tel_nums p strong{
	font-size:21px;
	font-weight:400;
}


header .logo {
	float:left;
	padding:20px 0;
}

header nav.global {
	float:right;
	padding:60px 0 0 0 ;
}

header nav.global ul {
	display:flex;
	justify-content:space-between;
	/** width:700px; **/
}

header nav.global ul li {
	position:relative;
}

header nav.global ul li a {
	padding:10px 10px;
	font-size:16px;
	color:#000;
}

header nav.global ul li.contact a {
	color:#fff;
	background:#417C44;
	border:5px solid #C6E8CB;
	border-radius:35px;
	padding:5px 35px;
	margin-left:15px;
}

header nav.global ul li ul {
	display:none;
}

header nav.global ul li:hover ul,
header nav.global ul li ul:hover {
	display:block;
	position:absolute;
	top:25px;
	left:20px;
	z-index:9999;
}

header nav.global ul li:hover ul li {
	margin-top:-1px;
}

header nav.global ul li:hover ul li a {
	display:block;
	border:1px solid #ccc;
	background:#fff;
	padding:12px 12px;
	width:160px;
}




/** footer **/

footer {
}

footer .footer_contact {
	background:#E4F1E5;
	padding:50px 0 40px 0;
	text-align:center;
}

footer .footer_contact h3 {
	font-size:30px;
	font-weight:400;
	letter-spacing:2px;
	margin:0 auto 30px auto;
}

footer .footer_contact h3 span {
	font-size:16px;
	color:#407B44;
	display:block;
	padding:10px 0;
	font-family: "Noto Serif", serif;
}

footer .footer_contact p {
	font-size:20px;
	line-height:150%;
	margin:0 auto 15px auto;
}


footer .footer_contact p.theme {
	font-size:16px;
	margin:0 auto 15px auto;
}

footer .footer_contact p.num {
	color:#407B44;
	font-size:28px;
	font-family: "Noto Serif", serif;
	letter-spacing:0.1em;
	font-weight:400;
	margin:0 auto 15px auto;
}

footer .footer_contact p.num strong {
	font-size:46px;
}

footer .footer_contact p.caution {
	font-size:13px;
	margin:0 auto 45px auto;
}

footer .footer_contact a.button {
	color:#fff;
	background:#417C44;
	border:5px solid #C6E8CB;
	border-radius:35px;
	padding:10px 50px;
}

footer .left_right {
	width:1100px;
	display:flex;
	margin:0 auto;
	padding:50px 0;
}

footer .left_right .times,
footer .left_right .maps {
	width:50%;
}

footer .left_right .times h3 {
	font-size:17px;
	margin-bottom:15px;
	float:left;
}

footer .left_right .times ul.category {
	float:right;
	margin-right:6%;
	display:flex;
	list-style-type:none;
	width:360px;
	justify-content:space-between;
}

footer .left_right .times ul.category li {
	font-size:13px;
	background:#E4F3E7;
	border-radius:7px;
	padding:5px 10px;
}

footer .left_right .times table {
	width:94%;
	border-bottom:1px solid #ccc;
	margin:0 auto 30px 0;
}

footer .left_right .times table td {
	border-top:1px solid #ccc;
	padding:12px 8px;
	text-align:center;
	font-size:16px;
}

footer .left_right .times table td:first-child {
	width:150px;
}

footer .left_right .times .address {
	display:flex;
	width:94%;
}

footer .left_right .times .address .logo {
	width:225px;
}

footer .left_right .times .address .logo img {
	width:100%;
}

footer .left_right .times .address p {
	font-size:13px;
	padding-left:20px;
	line-height:170%;
}

footer nav.footer {
	/* display:none; */
	margin:0 auto;
	background:#E4F3E7;
	padding:40px 0;
}

footer nav.footer ul {
	display:flex;
	justify-content:space-between;
	width:1000px;
	margin:0 auto;
}

footer nav.footer ul li a {
	font-size:16px;
	color:#000;
}

footer nav.footer ul li.contact a {
	color:#fff;
	background:#417C44;
	border:5px solid #C6E8CB;
	border-radius:35px;
	padding:5px 35px;
}

footer p.copy {
	padding:35px 0; 
	text-align:center;
	font-size:13px;
}













/******* SP style *******/

@media only screen and (max-width: 480px) {

.container {
	width:100%;
	margin:0 auto;
	padding:0;
	overflow:hidden;
}

/**/

header {
	height:auto;
	background:none;
}

header .topline {
	flex-wrap:wrap;
	width:100%;
	margin:0 auto;
	background:none;
}

header .topline h1 {
	width:100%;
	font-size:10px;
	line-height:120%;
	text-align:center;
	padding:10px 15px;
}

header .topline .tel_nums {
	width:90%;
	color:#407B44;
	display:flex;
	justify-content:space-between;
	padding:0 5%;
	line-height:52px;
	background:#E4F3E7;
}

header .topline .tel_nums p {
	font-size:17px;
	letter-spacing:0;
	padding:0;
}

header .topline .tel_nums p strong{
	font-size:20px;
	font-weight:400;
}

header .logo {
	float:none;
	padding:20px;
	margin:0 auto;
	width:45%;
}

header nav.global {
	width:100%;
	float:none;
	padding:0;
}

.pcnav {
	display:none!important;
}

/**

header nav.global ul {
	clear:both;
	display:flex;
	flex-wrap:wrap;
	width:98%;
	padding:0;
	margin:0 auto;
}

header nav.global ul li {
	margin:0 0 20px 0;
	padding:0;
}

header nav.global ul li:last-child {
	display:block;
	padding-left:5px;
}

header nav.global ul li a {
	font-size:12px;
}

header nav.global ul li.contact a {
	color:#fff;
	background:#417C44;
	border:5px solid #C6E8CB;
	border-radius:35px;
	padding:5px 10px;
	margin:0;
}

**/

/*** SP MENU ***/

.hamburger {
  display : block;
  position: fixed;
  z-index : 3;
  right : 8px;
  top   : 8px;
  width : 42px;
  height: 42px;
  cursor: pointer;
  text-align: center;
  background:#417C44;
  border-radius:5px;
}

.hamburger span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 2px ;
  left    : 6px;
  background : #C6E8CB;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 10px;
}
.hamburger span:nth-child(2) {
  top: 20px;
}
.hamburger span:nth-child(3) {
  top: 30px;
}

/* スマホメニューを開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top : 16px;
  left: 6px;
  background :#fff;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 16px;
  background :#fff;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}

/* メニュー背景　*/
nav.globalMenuSp {
  position: fixed;
  z-index : 2;
  top  : 0;
  left : 0;
  background: #E4F3E7;
  opacity:0.8;
  text-align: center;
  width: 100%;
  transform: translateX(100%);
  transition: all 0.3s;
}

nav.globalMenuSp ul {
  margin: 0 auto;
  padding: 15px 0 50px 0;
  width: 100%;
  flex-wrap:wrap;
}

nav.globalMenuSp ul li {
	font-family: "Shippori Mincho", serif;
	list-style-type: none;
	padding: 0;
	width: 100%;
	transition: .3s all;
}
nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
}
nav.globalMenuSp ul li:hover{
  background :#ddd;
}

nav.globalMenuSp ul li a {
  display: block;
  margin:0;
  padding:20px 0;
  line-height:3em;
}

header nav.global nav.globalMenuSp  ul li.contact a {
	padding:5px 35px;
	margin:0 auto;
	width:60%;
}

/* クリックでjQueryで追加・削除 */
nav.globalMenuSp.active {
  opacity: 100;
  display: block;
   transform: translateX(0%);
}



/** footer **/

footer {
}

footer .footer_contact {
	background:#E4F1E5;
	padding:30px 0 30px 0;
	text-align:center;
}

footer .footer_contact h3 {
	font-size:20px;
	font-weight:400;
	letter-spacing:2px;
	margin:0 auto 20px auto;
}

footer .footer_contact h3 span {
	font-size:16px;
	color:#407B44;
	display:block;
	padding:10px 0;
	font-family: "Noto Serif", serif;
}

footer .footer_contact p {
	font-size:16px;
	margin:0 auto 15px auto;
	line-height:150%;
}

footer .footer_contact p.theme {
	font-size:12px;
}

footer .footer_contact p.num {
	color:#407B44;
	font-size:20px;
	font-family: "Noto Serif", serif;
	letter-spacing:0.1em;
	font-weight:400;
	margin:0 auto 15px auto;
}

footer .footer_contact p.num strong {
	font-size:34px;
}

footer .footer_contact p.caution {
	font-size:13px;
	margin:0 auto 45px auto;
}

footer .footer_contact a.button {
	color:#fff;
	background:#417C44;
	border:5px solid #C6E8CB;
	border-radius:35px;
	padding:10px 20px;
}

footer .left_right {
	width:100%;
	display:flex;
	flex-wrap:wrap;
	margin:0 auto;
	padding:0;
}

footer .left_right .times {
	width:100%;
	padding:15px;
}

footer .left_right .maps {
	width:100%;
}

footer .left_right .times h3 {
	font-size:17px;
	margin-bottom:15px;
	float:left;
}

footer .left_right .times ul.category {
	width:100%;
	float:none;
	margin:0 auto 15px auto;
}

footer .left_right .times ul.category li {
	font-size:12px;
	background:#E4F3E7;
	border-radius:7px;
	padding:5px 10px;
}

footer .left_right .times table {
	width:100%;
	border-bottom:1px solid #ccc;
	margin:0 auto 30px 0;
}

footer .left_right .times table td {
	border-top:1px solid #ccc;
	padding:12px 8px;
	text-align:center;
	font-size:14px;
}

footer .left_right .times table td:first-child {
	width:130px;
}

footer .left_right .times .address {
	width:100%;
	flex-wrap:wrap;
}

footer .left_right .times .address .logo {
	width:60%;
	margin:0 auto 30px auto;
	padding:0;
}

footer .left_right .times .address .logo img {
	width:100%;
}

footer .left_right .times .address p {
	width:100%;
	margin:0 auto 15px auto;
	text-align:center;
	font-size:12px;
	padding:0;
	line-height:170%;
}

footer nav.footer {
	display:none;
}

footer p.copy {
	padding:30px 0; 
	font-size:11px;
}



}

