@charset "UTF-8";
/***********************************
* 202309追加定義 *
***********************************/
/* 色を変数で定義 --------------------*/
:root{
	--colorTxt:#444;
	--colorMain:#6ac1b7;
	--colorMain-rgb:106, 193, 183;
	--colorMain2:#517d99;
	--colorMain2-rgb:81, 125, 153;
	--colorMain3:#1f9382;
	--colorSub:#dfefed;
	--colorSub-rgb:223, 239, 237;
	--colorAccent:#e8b1b1;
	--colorAccent-rgb:232, 177, 177;
	--colorAccent2:#efe4e4;
	--colorAccent2-rgb:239, 228, 228;
	--colorAccent3:#e36d6d;
	--colorBtnGradi:linear-gradient(to bottom, var(--colorMain) 0%,var(--colorMain) 50%,var(--colorMain3) 51%,var(--colorMain3) 100%);
	--colorBtnGradi2:linear-gradient(to bottom, var(--colorAccent) 0%,var(--colorAccent) 50%,var(--colorAccent3) 51%,var(--colorAccent3) 100%);
}
/* 共通要素 --------------------*/
a.el_btn{
	display: block;
	background: var(--colorBtnGradi);
	color:#fff !important;
}
a.el_btn:hover{
	text-decoration: none;
	opacity: .8;
}
a.el_btn.el_btn__aside{
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1rem;
	letter-spacing: .05em;
	padding: 5px;
	width: 100%;
}
a.el_btn.el_btn__bgColor2{
	background: var(--colorBtnGradi2);
}
a.el_btn.el_btn__sizeMd{
	line-height: 1.0;
	padding: 1em 1em;
	text-align: center;
	font-size: 1.1em;
}
a.el_btn.el_btn__sizeXL{
	line-height: 1.0;
	padding: 1.1rem 0.5rem;
	text-align: center;
	font-size: 1.13rem;
}
	@media (min-width: 992px){
		a.el_btn.el_btn__sizeXL{
			font-size: 1.38rem;
		}
	}

a.el_btn2{
	display: inline-block;
	color:#894d1d;
	font-weight: 500;
	min-width: 280px;
	border: solid #894d1d 1px;
	border-radius: 2em;
	padding:.5em 1.5em;
	font-size: 1.05em;
	text-align: center;
}
a.el_btn2:hover{
	opacity: 0.8;
	filter: alpha(opacity=80);
	-moz-opacity: 0.8;
	text-decoration: none;
}
/* 文字色 */
.hp_colorMain{ color: var(--colorMain);}
.hp_colorMain2{ color: var(--colorMain2);}
.hp_colorAccent{ color: var(--colorAccent);}
.hp_colorAccent3{ color: var(--colorAccent3);}
/* アイコンフォント（icomoonで作成）を追加 --------------------*/
@font-face {
	font-family: 'icomoon';
	src:  url('../fonts/icomoon.eot?s3kc9m');
	src:  url('../fonts/icomoon.eot?s3kc9m#iefix') format('embedded-opentype'),
	  url('../fonts/icomoon.ttf?s3kc9m') format('truetype'),
	  url('../fonts/icomoon.woff?s3kc9m') format('woff'),
	  url('../fonts/icomoon.svg?s3kc9m#icomoon') format('svg');
	font-weight: normal;
	font-style: normal;
	font-display: block;
  }
.el_beforeIcon,
.el_afterIcon{
	position: relative;
}
.el_beforeIcon{
	padding-left: 1.1em;
}
.el_afterIcon{
	padding-right: 1.1em;
}
.el_beforeIcon::before,
.el_afterIcon::after{
	position: absolute;
	top:50%;
	transform: translateY(-50%);
	color: inherit;
	font-family: 'icomoon' !important;
	font-size: 1em;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
}
.el_beforeIcon::before{
	left:0;
}
.el_afterIcon::after{
	right:0;
}
.el_beforeIcon.el_beforeIcon__sizeLg{
	padding-left: 2em;
}
.el_beforeIcon.el_beforeIcon__sizeLg::before{
	font-size: 1.7em;
}
.el_beforeIcon.el_beforeIcon__sizeXXs{
	padding-left: .9em;
}
.el_afterIcon.el_beforeIcon__sizeXXs{
	padding-right: .9em;
}
.el_beforeIcon.el_beforeIcon__sizeXXs::before,
.el_afterIcon.el_beforeIcon__sizeXXs::after{
	font-size: .3em;
}
.el_beforeIcon.el_beforeIcon__sizeXs{
	padding-left: 1em;
}
.el_afterIcon.el_beforeIcon__sizeXs{
	padding-right: 1em;
}
.el_beforeIcon.el_beforeIcon__sizeXs::before,
.el_afterIcon.el_beforeIcon__sizeXs::after{
	font-size: .7em;
}

.el_beforeIcon.el_beforeIcon__arrowAngle-down:before,
.el_afterIcon.el_afterIcon__arrowAngle-down::after{
	content: "\e900";
	top:50%;
	transform: translateY(-20%);
}
.el_beforeIcon.el_beforeIcon__arrowAngle-right:before,
.el_afterIcon.el_afterIcon__arrowAngle-right::after{
	content: "\e901";
}
.el_beforeIcon.el_beforeIcon__arrowAngle-up:before,
.el_afterIcon.el_afterIcon__arrowAngle-up::after{
	content: "\e902";
}
.el_beforeIcon.el_beforeIcon__arrowDrop-right:before,
.el_afterIcon.el_afterIcon__arrowDrop-right::after{
	content: "\e903";
}
.el_beforeIcon.el_beforeIcon__circle-arrowAngle-right{
	padding-left: 1.3em;
}
.el_beforeIcon.el_beforeIcon__circle-arrowAngle-right:before,
.el_afterIcon.el_afterIcon__circle-arrowAngle-right::after{
	content: "\e904";
}
.el_beforeIcon.el_beforeIcon__circle-check:before,
.el_afterIcon.el_afterIcon__circle-check::after{
	content: "\e905";
}
.el_beforeIcon.el_beforeIcon__mail:before,
.el_afterIcon.el_afterIcon__mail::after{
	content: "\e906";
}
.el_beforeIcon.el_beforeIcon__newWin:before,
.el_afterIcon.el_afterIcon__newWin::after{
	content: "\e907";
}
.el_beforeIcon.el_beforeIcon__tel:before,
.el_afterIcon.el_afterIcon__tel::after{
	content: "\e908";
}

/***********************************
* body *
***********************************/
body{
	font-family: "Noto Sans Japanese", "Meiryo UI", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color:#000;
}
/* 各種要素 --------------------*/
li{
	list-style:none;
}
/* a --------------------*/
a { transition:.3s;}
a.a-ov:hover img{
	opacity: 0.8;
	filter: alpha(opacity=80);
	-moz-opacity: 0.8;
}
/*clearfix--------------------*/
.clearfix:after {
	content: " ";
	display: block;
	visibility: hidden;
	clear: both;
	height: 0.1px;
	font-size: 0.1em;
	line-height: 0;
}
.clearfix {
	display: inline-block;
	min-height: 1%;
}

/* ¥ */
* html .clearfix { height: 1%;}
.clearfix { display: block;}

/* */

 /* IE6 */
* html .clearfix { zoom: 1;}
 /* IE7 */
*:first-child+html .clearfix { zoom: 1;}
/* 表示・非表示-------------------- */
/* パソコンで見たときは"pc"が表示される */
.pc { display: none !important; }
.sp { display: block !important; }
/* スマートフォンで見たときは"sp"が表示される */
@media only screen and (min-width: 768px) {
	.pc { display: block !important; }
	.sp { display: none !important; }
}
@media only screen and (max-width: 767px){
	.i-pc{
		display: none;
	}
}
/* 寄せ-------------------- */
.center{
	text-align: center;
}
/* スマフォの場合は中央寄せ*/
.center-sp{
	text-align:center;
}
	@media (min-width: 768px) {
		.center-sp{
			text-align:left;
		}
	}
/* ※印付きの注意書き用-------------------- */
.note{
	padding-left:1em;
	text-indent:-1em;
}
/* ブロック要素-------------------- */
/* 可変幅中央寄せ */
.block-center {
	display: table;
	margin-left: auto;
	margin-right: auto;
}
/* 可変幅左寄せ */
.block-left {
	display: table;
	margin-right: auto;
}
/* 可変幅右寄せ */
.block-right {
	display: table;
	margin-left: auto;
}
/* font-------------------- */
.font-077 { font-size: 77% !important; }
.font-085 { font-size: 85% !important; }
.font-093 { font-size: 93% !important; }
.font-108 { font-size: 108% !important; }
.font-116 { font-size: 116% !important; }
.font-123 { font-size: 123.1% !important; }
.font-131 { font-size: 131% !important; }
.font-138 { font-size: 138.5% !important; }
.font-146 { font-size: 146.5% !important; }
.font-153 { font-size: 153.9% !important; }
.font-161 { font-size: 161.6% !important; }
.font-167 { font-size: 167% !important; }
.font-174 { font-size: 174% !important; }
.font-182 { font-size: 182% !important; }
.font-189 { font-size: 189% !important; }
.font-0197 { font-size: 197% !important; }

.fontb { font-weight: bold !important; }
.fontlb { font-weight: 500 !important; }
.fontn { font-weight: normal !important; }
/* googleマップレスポンシブ対応用-------------------- */
.g-stv{
position: relative;
padding-bottom: 60%;
height: 0;
overflow: hidden;
}
.g-stv iframe{
position: absolute;
top: 0;
left: 0;
width: 100% !important;
height: 100% !important;
}

.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;
}
/***********************************
* header *
***********************************/
header{
	background-color: var(--colorMain);
}
header img{
	max-width: 100%;
	height: auto;
	width:auto;
	vertical-align: bottom;/*←隙間を無くす*/
	border-style: none;
}
/* header-lead --------------------*/
#header-lead{
	background-color: var(--colorMain2);
	height: 35px;
	margin-bottom: 1rem;
}
#header-lead .header-lead-txt{
	color: #fff;
	font-size: 0.75rem;
	line-height: 35px;
	font-weight: 400;
	text-align: center;
}
#header-lead .header-lead-txt span{
	display: none;
}
	@media (min-width: 768px) {
		#header-lead .header-lead-txt {
			text-align: left;
		}
		#header-lead .header-lead-txt span{
			display: inline-block;
		}
	}
	@media (min-width: 992px) {
		#header-lead .header-lead-txt{
			margin-bottom: 1.7rem;
		}
		#header-lead .header-lead-txt{
			font-size: 0.94rem;
		}
	}
/* h1-bkock --------------------*/
#h1-block{
	background-color: var(--colorMain2);
	height: 35px;
	margin-bottom: 1rem;
}
#h1-block h1{
	color: #fff;
	line-height: 35px;
	font-weight: 400;
	font-size: 0.75rem;
	text-align: center;
}
#h1-block h1 span{
	display: none;
}
	@media (min-width: 768px) {
		#h1-block h1 {
			text-align: left;
		}
		#h1-block h1 span{
			display: inline-block;
		}
	}
	@media (min-width: 992px) {
		#h1-block{
			margin-bottom: 1.7rem;
		}
		#h1-block h1{
			font-size: 0.94rem;
		}
	}

/* header-logo --------------------*/
.header-logo{
	width: 100%;
	max-width: 328px;
	display: table;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1rem;
}
	@media (min-width: 768px){
		.header-logo{
			max-width: 406px;
		}
	}
/* header-contact2 --------------------*/
.header-contact2{
	display: grid;
	grid-template-rows: auto auto;
	grid-template-columns:1fr 50px;
	row-gap: 10px;
	column-gap: 10px;
	max-width: 330px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5rem;
}
.header-contact2-txtArea{
	grid-row: 1 / 2;
	grid-column: 1 / 3;
}
.header-contact2-telArea{
	grid-row: 2 / 3;
	grid-column: 1 / 2;
}
.header-contact2-mailArea{
	grid-row: 2 / 3;
	grid-column: 2 / 3;
}
	@media (min-width: 768px){
		.header-contact2{
			grid-template-columns:1fr 70px;
			width: 100%;
			max-width: 400px;
			padding-left:20px;
			margin-left: auto;
			margin-right: 0;
		}
		.header-contact2-txtArea{
			grid-row: 1 / 2;
			grid-column: 1 / 2;
		}
		.header-contact2-telArea{
			grid-row: 2 / 3;
			grid-column: 1 / 2;
		}
		.header-contact2-mailArea{
			grid-row: 1 / 3;
			grid-column: 2 / 3;
		}
	}
	@media (min-width: 992px){
		.header-contact2{
			grid-template-columns:1fr 80px;
			column-gap: 15px;
			width: 100%;
			max-width: 530px;
			padding-left:20px;
			margin-left: auto;
			margin-right: 0;
		}
	}
/* 電話番号*/
.header-contact2-telArea-aicon{
	display: block;
	position: relative;
	padding-left: 14%;
}
.header-contact2-telArea-aicon::before{
	content: "";
    display: inline-block;
	position: absolute;
	top:0;
	left:-2%;
	width: 15%;
	aspect-ratio: 1 / 1;
	background-image: url(../img/common/icon_tel_colorbfe9db.svg);
	background-repeat: no-repeat;
	background-size: cover;
}
	@media (min-width: 768px){
		.header-contact2-telArea-aicon{
			width: 250px;
			padding-left: 10%;
			margin-right: 0;
			margin-left: auto;
		}
	}
	@media (min-width: 992px){
		.header-contact2-telArea-aicon{
			width: 299px;
			padding-left: 10%;
			margin-right: 0;
			margin-left: auto;
		}
		.header-contact2-telArea-aicon::before{
			width: 16%;
			top:-3px;
		}
	}
/* メールボタン*/
a.header-contact2-mailArea-btn{
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	aspect-ratio: 1 / 1;
	width:100%;
	background-color: #bfe9db;
	border-radius: 50%;
}
a.header-contact2-mailArea-btn img{
	width:46%;
}
a.header-contact2-mailArea-btn:hover{
	opacity: .8;
}
/***********************************
* menu *
***********************************/
/* colors mixins and all the good stuff */
nav {
  display: block;
}
.right {
  float: right;
  margin-left: 1em;
}
/* icons */
@font-face {
  font-family: 'icomoon';
  src: url('https://dl.dropbox.com/u/26865764/icomoon.eot');
  src: url('https://dl.dropbox.com/u/26865764/icomoon.eot?#iefix') format('embedded-opentype'), url('https://dl.dropbox.com/u/26865764/icomoon.dev.svg#icomoon') format('svg'), url('https://dl.dropbox.com/u/26865764/icomoon.woff') format('woff'), url('https://dl.dropbox.com/u/26865764/icomoon.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}
.ico-heart:before,
.ico-letter:before,
.ico-file:before,
.ico-real:before,
.ico-pen:before,
.ico-user:before,
.ico-rocket:before,
.ico-arrow-right:before,
.ico-arrow-left:before,
.ico-arrow-left-2:before,
.ico-arrow-right-2:before,
.ico-caret-down:before,
.ico-caret-up:before,
.ico-caret-left:before,
.ico-caret-right:before,
.ico-facebook:before,
.ico-twitter:before,
.ico-google-plus:before {
  font-family: "Font Awesome 5 Free";
  speak: none;
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
}
.ico-caret-down:before {
  content: "\f0d7";
}
.ico-caret-up:before {
  content: "\f0d8";
}
/* ----------------------------- */
/* == Menu */
/* ----------------------------- */
.menu-wrapper {
  position: relative;
  z-index: 10;
  font-size: 1.19rem;
  font-weight: 500;
  text-transform: uppercase;
  padding-top: 0px;
  padding-bottom: 0px;
  padding-bottom: 10px;
  /* the hidden link for RWD nav */
  /* the rest of the menu lvl 1 */
  /* current links */
  /* submenu ! */
  /* unhide the 2nd level */
}
.menu-wrapper .menu {
	margin: 0 auto;
	padding-left: 0;
	padding-top:0.5rem;
	padding-bottom:0.3rem;
	list-style: none;
	text-align: center;
}
	@media screen and (max-width: 991px){
		.menu-wrapper{
			font-size: 0.88rem;
		}
	}
.menu-wrapper .menu > li {
	position: relative;
	padding: 0rem 0;
	display: inline-block;
	border-right: solid #fff 1px;
}
.menu-wrapper .menu > li:last-child{
	border-right: none;
}
.menu-wrapper a.menu-link {
	display: none;
	padding: 0.5rem 0;
	text-align: center;
}

.menu-wrapper a {
  display: block;
  position: relative;
  padding: 0.7rem 0.5rem;
  margin: 0 0.4rem;
  line-height: 1.0;
  color: #000;
  text-decoration: none;
}
.menu-wrapper a i{
	color:var(--colorMain2);
	font-size: 90%;
}
.menu-wrapper a:hover i{
	color:#fff;
}
	@media all and (-ms-high-contrast:none){
		.menu-wrapper a {
		  display: block;
		  position: relative;
		  padding: 0.6rem 0.7rem 0.2rem 0.7rem;
		  margin: 0 0.3rem;
		  line-height: 1.0;
		  color: #000;
		  text-decoration: none;
		}
	}
.menu-wrapper a:hover,
.menu-wrapper a.active {
	background-color: var(--colorMain2);
	color:#fff;
	border-radius: 3px;
}
.menu-wrapper a:hover{
  transition: all 0.5s;
}
.menu-wrapper .sub-menu,
.menu-wrapper .sub-menu02 {
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	margin: 0px 0 0 0;
	padding: 8px 0 0 0;
	position: absolute;
	max-height: 0em;
	overflow: hidden;
	list-style: none outside none;
	text-align: center;
	text-transform: none;
}
.menu-wrapper .sub-menu li,
.menu-wrapper .sub-menu02 li {
	display: block;
	background: #ffea80;
	background: var(--colorSub);
	font-size: 90%;
	margin-left: 0rem;
	margin-right: 0.2rem;
	padding-left: 0.7rem;
	padding-right: 0.7rem;
	border-left: 1px dashed var(--colorMain2);
	border-right:  1px dashed var(--colorMain2);
}
.menu-wrapper .sub-menu02 li {
	margin-left: 0rem;
	margin-right: 0rem;
	padding-left: 0.5rem;
	padding-right: 0.5rem;
}
.menu-wrapper .sub-menu a,
.menu-wrapper .sub-menu02 a {
	margin: 0;
	white-space: nowrap;
	line-height: 1.8em;
	border: none;
}
.menu-wrapper .sub-menu02 a{
	padding-left:5px;
	padding-right: 5px;
}
.menu-wrapper .sub-menu a:hover,
.menu-wrapper .sub-menu02 a:hover {
	background: var(--colorMain2);
}
.menu-wrapper .sub-menu li:last-child,
.menu-wrapper .sub-menu02 li:last-child {
	padding-bottom: 0.5rem;
	border-bottom:  1px dashed #a99f92;
}
.menu-wrapper .sub-menu li:last-child a,
.menu-wrapper .sub-menu02 li:last-child a {
	border-bottom: 1px dashed #a99f92;
}
.menu-wrapper .sub-menu li a,
.menu-wrapper .sub-menu02 li a {
	border-bottom: 1px dashed #f2cfcd;
}
.menu-wrapper li:hover .sub-menu,
.menu-wrapper li:hover .sub-menu02 {
	max-height: 30em;
	transition: max-height 0.5s;
}
/* Responsive Menu */
@media screen and (max-width: 767px) {
	.js .menu-wrapper nav[role=navigation] {
		overflow: hidden;
		max-height: 0em;
	}
	.js .menu-wrapper nav[role=navigation].active {
		max-height: 30em;
		transition: max-height 0.5s ease-out;
	}
	.menu-wrapper {
    /* unhide the 2nd level */
    /* styling the toggle menu */
    /* arrow to indicate that we have subnav*/
		font-size: 1rem;
		background-image: none;
		background: var(--colorAccent3);
		border-bottom: solid 5px #be4142;
	}
	.menu-wrapper a i{
		color:#fff;
	} 
	.menu-wrapper a.menu-link {
		display: flex;
		justify-content: center;
		align-items: center;
		width: auto;
		padding-right: 15px;
		padding-left: 15px;
		padding-top: 15px;
		padding-bottom: 3px;

		/*padding-top: 15px;
		padding-bottom: 15px;
		padding-bottom: 8px;*/
		border: none;
		margin: 0;
		color:#fff;
		background-color: var(--colorAccent3);
		font-weight: normal;
	}
	.menu-wrapper a.menu-link > span{
		padding-bottom: 2px;
	}
	.menu-wrapper a.menu-link span.menu-link-bold{
		font-weight: bold;
	}
	.menu-wrapper a.menu-link img{
		width: 24px;
		filter: drop-shadow(3px 2px 0  rgba(190, 65, 66, 1)); 
	}
	.menu-wrapper a.menu-link i{
		color:#ffe772;
		font-weight: 900;
		font-size: 110%;
	}
	.menu-link-txt{
		color: white;
		text-shadow:
       0px 0px 0 #be4142,
     -1px -1px 0 #be4142,  
      1px -1px 0 #be4142,
      -1px 1px 0 #be4142,
       1px 1px 0 #be4142;
	}
	.menu-wrapper .menu{
		text-align: center;
	}
	.menu-wrapper .menu-title{
		background-image: none;
	}
	.menu-wrapper .menu .menu {
		padding-bottom: 5px;
	}
	.menu-wrapper .menu li {
		display: block;
		border: 1px solid pink;
		border: none;
	}
	.menu-wrapper .menu li.nav-title{
		color:#fff;
		padding-top: 0.7rem;
		padding-bottom: 0.3rem;
	}
	.menu-wrapper .menu > li {
		padding: 0px;
		border: none;
	}
	.menu-wrapper .menu > li:first-child{
		border-left: none;
	}
	.menu-wrapper .menu > li + li {
		border-top: 1px dashed #fff;
	}
	.menu-wrapper .menu a {
		padding:0;
		height: 50px;
		line-height: 50px;
		color:#fff;
		margin: 0px;
		border: none;
	}
	.menu-wrapper .menu a:hover,
	.menu-wrapper .menu a.active {
		background: #bf5049;
	}
	.menu-wrapper .menu .rightalign {
		float: none;
	}
	.menu-wrapper li + li a:before {
		content: "";
	}
	.menu-wrapper li:hover .sub-menu,
	.menu-wrapper li:hover .sub-menu02 {
		max-height: 0em;
		transition: none;
	}
	.menu-wrapper .sub-menu,
	.menu-wrapper .sub-menu02 {
		background: none;
		margin-left: 0px;
		margin-top: 0px;
		padding-top: 0;
		display: block;
		width: 100%;
	}
	.menu-wrapper .sub-menu li,
	.menu-wrapper .sub-menu li a,
	.menu-wrapper .sub-menu02 li,
	.menu-wrapper .sub-menu02 li a {
		margin: 0;
		text-align: center;
		display: block;
		width: 100%;
	}
	.menu-wrapper .sub-menu a,
	.menu-wrapper .sub-menu02 a {
		padding-left: 0.8em;
	}
	.menu-wrapper .sub-menu li,
	.menu-wrapper .sub-menu02 li {
		background:rgba(255,255,255,.2);
		border: none;
	}
	.menu-wrapper .sub-menu li:last-child,
	.menu-wrapper .sub-menu02 li:last-child {
		padding: 0;
		border: none;
	}
	.menu-wrapper .sub-menu li:last-child a,
	.menu-wrapper .sub-menu02 li:last-child a {
		border: none;
	}
	.menu-wrapper .menu .has-subnav {
		position: relative;
	}
	.menu-wrapper li .sub-menu.active,
	.menu-wrapper li .sub-menu02.active  {
		max-height: 30em;
		overflow: visible;
		position: relative;
		z-index: 9;
		transition: max-height 0.5s ease-out;
	}
	.menu-wrapper .toggle-link {
		height: 50px;
		width: 60px;
		display: block;
		position: absolute;
		right: 0px;
		z-index: 200;
		font-size: 0em;
		cursor: pointer;
		font-family: "Font Awesome 5 Free";
		speak: none;
		font-style: normal;
		font-weight: normal;
		line-height: 1;
		-webkit-font-smoothing: antialiased;
	}
	.menu-wrapper .toggle-link:hover {
		transition: all 0.2s;
		background:rgba(255,255,255,.2);
	}
	.menu-wrapper .menu .has-subnav > .toggle-link:after {
		font-family: "Font Awesome 5 Free";
		content: '\f107';
		font-weight: 900;
		position: absolute;
		width: 50px;
		top: 50%;
		margin-top: -15px;
		bottom: 50%;
		right: 4px;
		font-size: 28px;
		color: #fff;
	}
	.menu-wrapper .menu .has-subnav > .toggle-link.active:after {
		font-family: "Font Awesome 5 Free";
		content: '\f106';
		font-weight: 900;
		margin-top: -18px;
	}
}
@media (min-width: 768px){
	.menu-wrapper .menu li.nav-title{
		position: absolute;
		top:-5px;
		left:50%;
		transform: translateX(calc(-50% - 150px));
		font-size: .9em;
	}
}
@media (min-width: 992px){
	.menu-wrapper .menu li.nav-title{
		top:-10px;
		transform: translateX(calc(-50% - 180px));
		font-size: .8em;
	}
}
/***********************************
* main	*
***********************************/
/* #contents、メイン・サイド共通 --------------------*/
#contents-main-block,
#contents-side-block{
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
}
#contents-main-block{
	padding-bottom: 4rem;
}
#contents-side-block{
	background-color: var(--colorSub);
}

	@media (min-width: 768px) {
		#contents-side-block{
			background-color: initial;
		}
	}
	@media (min-width: 992px) {
		#contents-main-block,
		#contents-side-block{
			padding-top: 1.88rem;
			padding-bottom: 1.88rem;
		}
		#contents-main-block{
			padding-bottom: 7rem;
			padding-top: 3rem;
		}
	}
/* メイン #contents-main-block --------------------*/
#contents-main-block{
	background-color: #fff;
}
#contents-main-block ul{
	margin: 0;
	padding: 0;
}
#contents-main-block .sec-cont{
	margin-bottom: 2rem;
}
	@media (min-width: 768px) {
		#contents-main-block{
			padding-right: 30px;
			min-height: 2800px;
		}
	}
	@media (min-width: 992px) {
		#contents-main-block{
			min-height: 3300px;
		}
		#contents-main-block .sec-cont{
			margin-bottom: 4.5rem;
		}
	}
/* お問い合わせバナー */
.contact-bnr-block2{
	position: relative;
	width: 100%;
}
.contact-bnr-block2-txtArea{
	display: flex;
	align-items: center;
	background-color: var(--colorAccent2);
	padding: 15px;
}
.contact-bnr-block2-txtArea img{
	width: 79%;
}
.contact-bnr-block2-telArea{
	position: relative;
	background-color: var(--colorAccent);
	padding: 10px 15px;
}
.contact-bnr-block2-telArea-link{
	display: block;
	width: 70%;
}
.contact-bnr-block2-photoArea{
	display: block;
	width: 30%;
	position: absolute;
	right:-1%;
	bottom:0;
}
.contact-bnr-block2-photoArea img{
	width: 100%;
}
.contact-bnr-block2-contctArea{
	padding-top: 1rem;
	text-align: center;
}
.contact-bnr-block2-contctArea-link{
	display: inline-block;
	padding-right: .7rem;
	padding-left: .7rem;
	height: 50px;
	line-height: 50px;
	background: var(--colorBtnGradi);
	color:#fff;
	font-size: 1.13rem;
}
.contact-bnr-block2-contctArea-link:hover{
	opacity: .8;
	color:#fff;
	text-decoration: none;
}
	@media (min-width: 992px){
		.contact-bnr-block2{
			padding-top: 40px;
			width: 665px;
			margin-right: auto;
			margin-left: auto;
		}
		.contact-bnr-block2-txtArea{
			padding: 20px 30px;
		}
		.contact-bnr-block2-telArea{
			padding: 10px 30px;
		}
		.contact-bnr-block2-telArea-link{
			width: 326px;
		}
		.contact-bnr-block2-contctArea{
			display: inline-block;
			position: absolute;
			bottom:8px;
			right:10px;
			padding-top: 0;
		}
		.contact-bnr-block2-photoArea{
			width: 170px;
			bottom:30px;
			right:0;
		}
	}
/* お問い合わせバナー */
.contact-bnr-block .contact-tel-sp{
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1rem;
}
.contact-bnr-block .contact-mail{
	text-align: center;
}
.contact-bnr-block .contact-mail a{
	color:#fff;
	display: inline-block;
	text-align: center;
	background: #5ba064; /* Old browsers */
	background: -moz-linear-gradient(top, #5ba064 0%, #5ba064 50%, #3c843e 51%, #3c843e 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, #5ba064 0%,#5ba064 50%,#3c843e 51%,#3c843e 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, #5ba064 0%,#5ba064 50%,#3c843e 51%,#3c843e 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#5ba064', endColorstr='#3c843e',GradientType=0 ); /* IE6-9 */
	font-size: 1.13rem;
	padding: 0 0.7rem;
	height: 50px;
	line-height: 50px;
}
.contact-bnr-block .contact-mail a span{
	background-image: url(../img/common/bg_icon-02.png);
	background-repeat: no-repeat;
	background-position: left;
	background-size:31px;
	padding-left: 36px;
}
.contact-bnr-block .contact-mail a:hover{
	opacity: 0.8;
	filter: alpha(opacity=80);
	-moz-opacity: 0.8;
	text-decoration: none;
}

@media (min-width: 992px) {
	.contact-bnr-block{
		background-image: url(../img/common/contact_bg-pc.jpg);
		background-repeat: no-repeat;
		background-position: center bottom;
		background-size: 100%;
		margin-left: auto;
		margin-right: auto;
		width: 665px;
		height: 220px;
		position: relative;
	}
	.contact-bnr-block .contact-tel-sp{
		display: none;
	}
	.contact-bnr-block .contact-mail{
		text-align: right;
		position: absolute;
		bottom:11px;
		right:13px;
		font-size: 1rem;
	}
	.contact-bnr-block .contact-mail a{
		padding: 0 0.5rem;
	}
	.contact-bnr-block .contact-mail a span{
		background-size:28px;
		padding-left: 33px;
	}
}
/* サイド #contents-side-block --------------------*/
#contents-side-block{
	margin-left: -15px;
	margin-right: -15px;
}
#contents-side{
	padding-left: 15px;
	padding-right: 15px;
}
#contents-side section{
	margin-bottom: 1.75rem;
	width: 80%;
	margin-left: auto;
	margin-right: auto;
}
	@media (min-width: 768px) {
		#contents-side-block{
			margin-left: 0;
			margin-right: 0;
		}
		#contents-side{
			padding-left: 0;
			padding-right: 0;
		}
		#contents-side section{
			width: 100%;
		}
	}
/* h2*/
#contents-side h2{
	text-align: center;
	font-weight: 500;
	color: var(--colorTxt);
	font-size: 1.31rem;
	letter-spacing: 0.1em;
}
#contents-side h2 span{
	font-size: 1.4em;
	color:var(--colorMain);
}
	@media (min-width: 768px) {
		#contents-side h2{
			font-size: 1rem;
		}
	}
/* p, li, a*/
#contents-side p,
#contents-side ul li{
	font-size: 14px;
	line-height: 1.3;
}
#contents-side ul{
	margin: 0;
	padding: 0;
}
#contents-side  a{
	color:#000;
}
/* side-linklist */
#contents-side .side-linklist li{
	text-align: center;
	font-weight: 500;
	margin-bottom: 0.2rem;
}
#contents-side .side-linklist li a{
	display: block;
	padding: 0.5rem 0;
}
#contents-side .side-linklist li a:before{
	font-family: "Font Awesome 5 Free";
	content: '\f138';
	font-weight: 800;
	color:var(--colorAccent);
	padding-right: 0.1rem;
}
#contents-side .side-linklist li a:hover{
	opacity: 0.8;
	filter: alpha(opacity=80);
	-moz-opacity: 0.8;
	text-decoration: none;
}

/* side-certificatelist */
#contents-side ul.side-certificatelist li{
	text-align: center;
	margin-bottom: 1rem;
}
#contents-side ul.side-certificatelist li:last-child{
	margin-bottom: 1.75rem;
}
#contents-side ul.side-certificatelist li img{
	display: block;
	margin-left: auto;
	margin-right: auto;
}
#contents-side ul.side-certificatelist li img.img-cerificate{
	width: 50%;
}
	@media (min-width: 768px){
		#contents-side ul.side-certificatelist li img.img-cerificate{
			width: 70%;
		}
	}
/* side-bnr-01*/
#contents-side ul.side-bnr-01 li{
	margin-bottom: 0.6rem;
	text-align: center;
}
#contents-side ul.side-bnr-01 li img{
	width: 80%;
	max-width: 340px;
}
	@media (min-width: 768px) {
		#contents-side ul.side-bnr-01 li img{
			width: 100%;
		}
	}
/* side-fb */
.side-fb{
	width: 100%;
}

/***********************************
* footer *
***********************************/
footer{
	background-color: var(--colorMain2);
	padding-bottom: 1rem;
}
	@media (min-width: 768px){
		footer{
			background-image: url(../img/common/footer_mark_blue.svg);
			background-repeat: no-repeat;
			background-position: right bottom;
			background-size: 33%;
			padding-bottom: 2rem;
		}
	}
	@media (min-width: 992px) {
		footer{
			background-size: 33%;
		}
	}
/* footer-logo-block --------------------*/
.footer-logo-block{
	background-color: var(--colorMain);
	padding: 1rem 0;
}
.footer-logo{
	display: table;
	margin-left: auto;
	margin-right: auto;
	width: 80%;
	max-width: 274px;
}
	@media (min-width: 992px) {
		.footer-logo-block{
			padding: 1.5rem 0;
		}
		.footer-logo{
			max-width: 407px;
		}
	}
/* footer-nav-block --------------------*/
.footer-nav-block{
	display: none;
}
	@media (min-width: 768px) {
		.footer-nav-block{
			display: block;
			padding-top: 1.7rem;
			padding-bottom: 4rem;
		}
		ul.footer-nav{
			padding: 0;
			margin: 0;
		}
		ul.footer-nav-sub{
			padding: 0;
			margin: 0 0 0 3rem;
			margin-bottom: 0.1rem;
		}
		ul.footer-nav li,
		ul.footer-nav-sub li{
			font-size: 0.88rem;
			color:#fff;
		}
		ul.footer-nav li{
			margin-bottom: 0.3rem;
		}
		ul.footer-nav li a,
		ul.footer-nav-sub li a{
			color:#fff;
			display: inline-block;
		}
		ul.footer-nav li a i{
			color:#894d1d;
		}
		ul.footer-nav li a{
			padding-bottom: 3px;
		}
		ul.footer-nav-sub li a{
			padding-bottom: 2px;
		}
		ul.footer-nav li a:hover{
			color:#fff;
			text-decoration: underline;
		}
	}
	@media (min-width: 992px){
		ul.footer-nav li,
		ul.footer-nav-sub li{
			font-size: 1rem;
		}
	}

/* footer-copy --------------------*/
p.footer-copy{
	color:#fff;
	margin: 0;
	font-size: 0.88rem;
	text-align: center;
	padding-top: 1rem;
}
	@media (min-width: 768px){
		p.footer-copy{
			text-align: right;
		}
	}

/* pagetop --------------------*/
#pagetop {
	display:none;
	position: fixed;
	bottom: 10px;
	right: 10px;
	opacity: .8;
}
#pagetop:hover{
	opacity: 1;
}
.pagetopLink{
	display: grid;
	place-content: center;
	position: relative;
	width: 90px;
	height: 90px;
	background-color: var(--colorMain);
	border-radius: 50%;
}
.pagetopLink::before{
	content: "\e902";
	position: absolute;
	top:13px;
	left:50%;
	transform: translateX(-50%);
	color: var(--colorMain2);
	font-family: 'icomoon' !important;
	font-size: 1em;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
}
#pagetop img{
	margin-top: 10px;
	width: 57px;
}

	@media (min-width: 992px){
		#pagetop {
			right: 5%;
			bottom:30px;
		}
	}
