/* ---------------------------------------------------------------
start COMMON CSS
--------------------------------------------------------------- */

/* noto-sans-jp-300 - japanese */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/noto-sans-jp-v36-japanese-300.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/noto-sans-jp-v36-japanese-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/noto-sans-jp-v36-japanese-300.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/noto-sans-jp-v36-japanese-300.woff') format('woff'), /* Modern Browsers */
       url('../fonts/noto-sans-jp-v36-japanese-300.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/noto-sans-jp-v36-japanese-300.svg#NotoSansJP') format('svg'); /* Legacy iOS */
}
/* noto-sans-jp-regular - japanese */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/noto-sans-jp-v36-japanese-regular.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/noto-sans-jp-v36-japanese-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/noto-sans-jp-v36-japanese-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/noto-sans-jp-v36-japanese-regular.woff') format('woff'), /* Modern Browsers */
       url('../fonts/noto-sans-jp-v36-japanese-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/noto-sans-jp-v36-japanese-regular.svg#NotoSansJP') format('svg'); /* Legacy iOS */
}
/* noto-sans-jp-500 - japanese */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/noto-sans-jp-v36-japanese-500.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/noto-sans-jp-v36-japanese-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/noto-sans-jp-v36-japanese-500.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/noto-sans-jp-v36-japanese-500.woff') format('woff'), /* Modern Browsers */
       url('../fonts/noto-sans-jp-v36-japanese-500.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/noto-sans-jp-v36-japanese-500.svg#NotoSansJP') format('svg'); /* Legacy iOS */
}
/* noto-sans-jp-700 - japanese */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/noto-sans-jp-v36-japanese-700.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/noto-sans-jp-v36-japanese-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/noto-sans-jp-v36-japanese-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/noto-sans-jp-v36-japanese-700.woff') format('woff'), /* Modern Browsers */
       url('../fonts/noto-sans-jp-v36-japanese-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/noto-sans-jp-v36-japanese-700.svg#NotoSansJP') format('svg'); /* Legacy iOS */
}
/* noto-sans-jp-900 - japanese */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 900;
  src: url('../fonts/noto-sans-jp-v36-japanese-900.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/noto-sans-jp-v36-japanese-900.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/noto-sans-jp-v36-japanese-900.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/noto-sans-jp-v36-japanese-900.woff') format('woff'), /* Modern Browsers */
       url('../fonts/noto-sans-jp-v36-japanese-900.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/noto-sans-jp-v36-japanese-900.svg#NotoSansJP') format('svg'); /* Legacy iOS */
}

* {
	-webkit-box-sizing : border-box ;
	-moz-box-sizing : border-box ;
	box-sizing : border-box ;
}

body {
	width: 100%;
	margin: 0;
	padding: 72px 0 0;
	color: #333;
	font-size: 15px;
	line-height: 1.75;
	font-weight: 400;
	font-family: 'Noto Sans JP', sans-serif;
	-webkit-text-size-adjust: 100%;
	overflow-x: hidden;
	overflow-y: auto;
	position: relative;
	z-index: 0;
	transition: opacity .1s;
}

body.font-load {
	opacity: 1;
}

.vertical {
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}

.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

.clearfix {
	min-height: 1px;
}

* html .clearfix {
	height: 1px;
	/*\*//*/
	height: auto;
	overflow: hidden;
	/**/
}

a {
	outline: none;
	color: #00a0e9;
	text-decoration: underline;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	cursor: pointer;
}

a:hover {
	text-decoration: none;
	cursor: pointer;
}

button {
	outline: none;
}

p {
	margin: 0 0 15px 0;
	padding: 0;
}

h1,h2,h3,h4,h5,h6 {
	margin: 0;
	padding: 0;
	font-weight: normal;
}

ul {
	list-style: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0px;
}

.aligncenter {
	text-align: center;
}

.alignright {
	text-align: right;
}

.alignjust {
	text-align: justify;
	text-justify: inter-ideograph;
	-ms-text-justify: inter-ideograph;
}

.mt5 {margin-top: 5px;}
.mt10 {margin-top: 10px;}
.mt15 {margin-top: 15px;}
.mt20 {margin-top: 20px;}
.mt25 {margin-top: 25px;}
.mt30 {margin-top: 30px;}
.mt35 {margin-top: 35px;}
.mt40 {margin-top: 40px;}
.mt45 {margin-top: 45px;}
.mt50 {margin-top: 50px;}
.mb5 {margin-bottom: 5px;}
.mb10 {margin-bottom: 10px;}
.mb15 {margin-bottom: 15px;}
.mb20 {margin-bottom: 20px;}
.mb25 {margin-bottom: 25px;}
.mb30 {margin-bottom: 30px;}
.mb35 {margin-bottom: 35px;}
.mb40 {margin-bottom: 40px;}
.mb45 {margin-bottom: 45px;}
.mb50 {margin-bottom: 50px;}
.ml1em {margin-left: 1em;}

.w100{
	width: 100%;
}

.fleft {
	float: left;
}

.fright {
	float: right;
}

.note {
	font-size: .7em;
}

.red {
	color: #e60012;
}

.under {
	text-decoration: underline;
}

.iblock {
	display: inline-block;
}

.indent1 {
	padding-left: 1em;
	text-indent: -1em;
}

.indent1 * {
	text-indent: 0;
}

#wrap {
	overflow: hidden;
}


/* --------------- header --------------- */

#header {
	width: 100%;
	height: 72px;
	margin: 0;
	padding: 0;
	background-color: #fff;
	filter: drop-shadow( 0 1px 2px rgba(0,0,0,0.1) );
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
}

.col_header {
	width: 100%;
	max-width: 1260px;
	height: 100%;
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
}

.col_header a.logo {
	width: 332px;
	margin: 0;
	padding: 5px 10px;
	box-sizing: border-box;
	display: block;
	align-self: center;
	transition: opacity .3s;
}

.col_header a.logo img {
	vertical-align: top;
}

.navi_header {
	width: calc( 100% - 332px );
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: flex-end;
}

.navi_header .sp_toggle {
	width: calc( 100% - 124px );
	max-width: 620px;
	margin: 0;
	padding: 0;
	display: flex;
}

.navi_header a {
	width: 20%;
	max-width: 124px;
	margin: 0;
	padding: 5px;
	color: #333;
	text-align: center;
	text-decoration: none;
	line-height: 1.3;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
}


.navi_header a span.inner {
	margin: 0;
	padding: 5px 2px;
	display: inline-block;
	position: relative;
	z-index: 0;
}

.navi_header a span.inner:before {
	content: "";
	width: 0;
	height: 2px;
	margin: 0;
	padding: 0;
	background-color: #55b534;
	transform: translateX(-50%);
	transition: width .3s;
	position: absolute;
	left: 50%;
	bottom: 0;
}

.navi_header a.btn_reserve {
	width: calc( 100%/6 );
	max-width: 124px;
	margin: 0;
	padding: 5px;
	color: #fff;
	background-color: #ff8100;
	transition: opacity .3s;
}

.navi_header a.btn_reserve span.sp {
	display: none;
}

#menubtn {
	display: none;
}



/* --------------- footer --------------- */

#footer {
	margin: 0;
	padding: 0;
	background-color: #e5f9e5;
}

.col_footer {
	width: 100%;
	max-width: 890px;
	margin: 0 auto;
	padding: 45px 0;
}

.col_footer a.logo {
	width: 59.7vw;
	max-width: 312px;
	margin: 0 auto 35px;
	padding: 0;
	display: block;
	transition: opacity .3s;
}

.col_footer a.logo img {
	vertical-align: top;
}

.cont_footer {
	width: 94%;
	margin: 0 auto;
	padding: 0;
	display: flex;
}

.cont_footer a {
	color: #333;
	text-decoration: none;
}

.cont_footer dl {
	width: 25%;
	margin: 0;
	padding: 0 10px 0 0;
	box-sizing: border-box;
}

.cont_footer dl dt {
	margin: 0 0 5px;
	padding: 0;
}

.cont_footer dl dt a {
	color: #00c700;
	font-size: 17px;
}

.cont_footer dl dd {
	margin: 0 0 4px;
	padding: 0 0 0 1.4em;
	text-indent: -1.4em;
}

.cont_footer dl dd * {
	text-indent: 0;
}

.cont_footer dl dd a:before {
	content: "\25B6";
	width: 1em;
	color: #00c700;
	margin: 0 6px 0 0;
	padding: 0;
	display: inline-block;
	position: relative;
	z-index: 0;
}

.cont_footer .cont_nochild {
	width: 50%;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.cont_footer .cont_nochild ul {
	width: 100%;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: space-between;
}

.cont_footer .cont_nochild ul li {
	margin: 0;
	padding: 0;
}

.cont_footer .cont_nochild ul li a {
	color: #00c700;
	font-size: 17px;
}

.cont_footer .cont_nochild .company {
	width: 100%;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: flex-end;
}

.cont_footer .cont_nochild .company a {
	margin: 0;
	padding: 2px 10px;
	display: inline-block;
}

.cont_footer .cont_nochild .company a + a {
	margin-left: 30px;
	position: relative;
	z-index: 0;
}

.cont_footer .cont_nochild .company a + a:before {
	content: "";
	width: 1px;
	height: 16px;
	margin: 0;
	padding: 0;
	background-color: #333;
	position: absolute;
	top: calc( 50% - 8px );
	left: -15px;
}

.copyright {
	margin: 0;
	padding: 5px 5px 7px;
	color: #fff;
	font-size: 14px;
	text-align: center;
	background-color: #00c700;
}


/* --------------- common --------------- */

.bg_pagettl {
	width: 100%;
	height: 216px;
	margin: 0 0 45px;
	padding: 0;
	background-size: cover;
	background-position: center bottom;
	display: flex;
	align-items: center;
	justify-content: center;
}

#pagettl {
	margin: 0;
	padding: 0 0 16px;
	color: #fff;
	position: relative;
	z-index: 0;
}

#pagettl:before {
	content: "";
	width: 94px;
	height: 4px;
	margin: 0;
	padding: 0;
	background-color: #fff;
	position: absolute;
	top: 100%;
	left: calc( 50% - 47px );
}

#pagettl .jp {
	margin: 0 0 7px;
	padding: 0;
	font-size: 32px;
	font-weight: 500;
	line-height: 1.3;
}

.mds_sub1 {
	margin: 0 0 20px;
	padding: 0 8px 8px;
	font-size: 28px;
	font-weight: 600;
	line-height: 1.4;
	box-sizing: border-box;
	position: relative;
	z-index: 0;
}

.mds_sub1:before {
	content: "";
	width: 100%;
	height: 3px;
	margin: 0;
	padding: 0;
	background: linear-gradient( 90deg, #00c700, #00c700 150px, #b4aeab 151px, #b4aeab );
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
}

.col_contact_btm {
	margin: 0;
	padding: 0;
	display: flex;
}

.col_contact_btm .bg {
	width: 50%;
	margin: 0;
	padding: 0;
}

.col_contact_btm .bg.tel {
	background-color: #fff3e7;
	display: flex;
	justify-content: flex-end;
}

.col_contact_btm .bg.mail {
	background-color: #eeeeee;
}

.col_contact_btm dl {
	width: 100%;
	max-width: 630px;
	margin: 0;
	padding: 38px 15px 48px;
	text-align: center;
	box-sizing: border-box;
}

.col_contact_btm dl dt {
	margin: 0 0 20px;
	padding: 0;
	color: #00c700;
	font-size: 23px;
	font-weight: 600;
	line-height: 1.5;
}

.col_contact_btm dl dt .icon {
	width: 45px;
	margin: 0 auto 4px;
	padding: 0;
}

.col_contact_btm dl dt .icon img {
	vertical-align: top;
}

.col_contact_btm dl dd {
	margin: 0;
	padding: 0;
}

.col_contact_btm dl dd .tel {
	width: 214px;
	margin: 0 auto;
	padding: 0;
}

.col_contact_btm dl dd a.btn {
	width: 244px;
	height: 52px;
	margin: 0 auto;
	padding: 5px;
	color: #00c700;
	text-decoration: none;
	border: solid 1px #00c700;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .3s;
}

.col_contact_btm dl dd a.btn span {
	margin: 0;
	padding: 0 50px 0 0;
	display: inline-block;
	position: relative;
	z-index: 0;
}

.col_contact_btm dl dd a.btn span:before {
	content: "";
	width: 38px;
	height: 5px;
	margin: 0;
	padding: 0;
	border-right: solid 2px #00c700;
	border-bottom: solid 1px #00c700;
	transform: skewX(45deg);
	transition: width .3s;
	position: absolute;
	top: calc( 50% - 4px );
	left: calc( 100% - 42px );
}

.col_prepare {
	padding: 120px 0 220px;
	text-align: center;
}
