@charset "UTF-8";

html {
	font-size: 15px;
}
body {
	font-family: 'Noto Sans JP', sans-serif;
	color: #333;
	line-height: 1.875;
	letter-spacing: 0.1em;
	width: 100%;
	margin: 0;
	padding: 0;
	/*-- スマホメニューを開いたときにコンテンツを固定 ← これがキモ --*/
	left: 0 !important;
	position: absolute;
}
h3,h4,h5 {
	line-height: 1.375;
	letter-spacing: 0.2em;
}
@media screen and (min-width:769px) {
	body {
		min-width: 1080px;
	}
}
@media screen and (max-width: 768px) {
	body {
		min-width: 100%;
	}
}
.all-wrap {
	width: 100%;
	overflow: hidden;
}
@media screen and (min-width:769px) {
	.all-wrap {
		max-width: 1920px;
		margin: auto;
	}
}
/* ==================================================
section
================================================== */
@media screen and (min-width:769px) {
	.area00 {
		padding: 50px;
		border: 2px solid;
		margin: 50px auto;
		width: 1080px;
		background: #f0f0fe;
	}
}
.area01 {
	background: url(/images/top01.png) top center / cover no-repeat;
}
@media screen and (max-width: 768px) {
	.area01 {
		background: url(/images/top01.png) top center / auto 130%;
	}
}
.area02 {
	background: url(/images/top02.png) bottom center no-repeat;
}
.area03 {
	background: url(/images/top03.png) top center / cover no-repeat;
}
.area04 {
	background: url(/images/top04.png) top center / cover no-repeat;
}
.area05 {
	background: #f5f5f5;
}
.area06 {
	background: #fff;
}
.area09 {
	background: url(/images/top05.png) top center / cover no-repeat;
}
@media screen and (min-width:769px) {
	.area07 {
		position: absolute;
		z-index: 9;
		top: 20px;
		width: 1080px;
		left: calc(50% - 540px);
	}
}
@media screen and (max-width: 768px) {
	.area07 {
		display: none;
	}
}

/* ==================================================
色設定
================================================== */
.basic {
	color: #333 !important;
}
.bg_basic {
	background: #333 !important;
}
.orange {
	color: #ff9000 !important;
}
.bg_orange {
	background: #ff9000 !important;
}
.green {
	color: #6eb403 !important;
}
.bg_green {
	background: #6eb403 !important;
}
.blue {
	color: #50aef3 !important;
}
.bg_blue {
	background: #50aef3 !important;
}
.white {
	color: #fff !important;
}
.bg_white {
	background: #fff !important;
}
.grade {
	color: #d5c7eb;
	background: -webkit-linear-gradient(0deg, #d5c7eb, #a1cceb);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.bg_grade {
	background: linear-gradient(90deg, #d5c7eb, #a1cceb) !important;
}
/* ▲ 色設定 ▲ */
/* ==================================================
h3.default
================================================== */
h3.default {
	font-size: 36px;
	text-align: center;
	font-weight: 500;
	font-family: 'Noto Serif JP', serif;
	text-shadow: 0 0 0.1em rgba(255,255,255,1),
		0 0 0.1em rgba(255,255,255,1),
		0 0 0.2em rgba(255,255,255,0.6),
		0 0 0.3em rgba(255,255,255,0.6),
		0 0 0.4em rgba(255,255,255,0.3),
		0 0 5em rgba(255,255,255,0.3);
}
h3.default.white {
	text-shadow: none;
}
@media screen and (min-width:769px) {
	h3.default {
		margin-bottom: 30px;
	}
}
@media screen and (max-width: 768px) {
	h3.default {
		margin-bottom: 20px;
	}
}
/* ▲ h3.default ▲ */
.go {
	font-family: 'Noto Sans JP', sans-serif;
}
.min {
	font-family: 'Noto Serif JP', serif;
}
.maru {
	font-family: 'M PLUS Rounded 1c', sans-serif;
}
.b {
	font-weight: 500;
}
.italic {
	font-style: italic;
}
/* ==================================================
線
================================================== */
.border01 {
	padding-bottom: 0.2em;
	border-bottom: 1px dashed;
}
.border02 {
	padding: 0.2em 0;
	border-top: 1px solid;
	border-bottom: 1px solid;
}
.border03 {
	padding-bottom: 0.2em;
	border-style: solid;
	border-width: 0 0 2px 0;
	-moz-border-image: url(/images/border.png) 0 0 2 0 repeat;
	-webkit-border-image: url(/images/border.png) 0 0 2 0 repeat;
	-o-border-image: url(/images/border.png) 0 0 2 0 repeat;
	border-image: url(/images/border.png) 0 0 2 0 repeat;
}
.border04 {
	display:flex;
	align-items:center;
}
.border04:after {
	margin-left:1em;
	border-top:1px solid #ccc;
	content:"";
	flex-grow:1;
}
.border05 {
	display:flex;
	align-items:center;
	text-align:center;
}
.border05:before {
	margin-right:1em;
	border-top:1px dotted #31baed;
	border-bottom:1px dotted #31baed;
	content:"";
	flex-grow:1;
	height: 5px;
}
.border05:after {
	margin-left:1em;
	border-top:1px dotted #31baed;
	border-bottom:1px dotted #31baed;
	content:"";
	flex-grow:1;
	height: 5px;
}
.border06 {
	display: inline;
	background: linear-gradient(transparent 60%, #d7ffbc 40%);
	padding: 0 0 0.2em;
}
.border07 {
	display:flex;
	align-items:center;
	text-align:center;
}
.border07:before {
	margin: 0 0.5em 0 auto;
	content:"";
	width: 24px;
	height: 34px;
	background: url(/images/border01.png) center center no-repeat;
}
.border07:after {
	margin: 0 auto 0 0.5em;
	content:"";
	width: 24px;
	height: 34px;
	background: url(/images/border02.png) center center no-repeat;
}
/* ---------- ×SP版lightboxバグけし ---------- */
#lightbox {
	position: fixed !important;
	top: 50% !important;
	transform: translate(0,-50%) !important;
}
@media screen and (max-width: 768px) {
	.lb-container,
	.lb-data .lb-details,
	.lb-data,
	.lb-outerContainer,
	.lb-dataContainer {
		position: static;
	}
}
.height {
	position: relative;
}
ul {
	font-size: 0;
	letter-spacing: -0.5em;
}
ul li {
	font-size: 1rem;
	letter-spacing: 0.1em;
	vertical-align: top;
}
*,
*:before,
*:after {
	position: relative;
	box-sizing: border-box;
}
/*画像1枚だけの場合、サムネイル画像非表示=====*/
#thumb li:only-child,
#child li:only-child {
	display: none;
}
.header-visual-wrap {
	padding: 0;
	width: 100%;
	overflow: hidden;
}
.wrap {
	overflow: hidden;
}
@media screen and (min-width:769px) {
	.sp {
		display: none !important;
	}
}
@media screen and (max-width: 768px) {
	.pc {
		display: none !important;
	}
}
/* ==================================================
.video
================================================== */
.video {
	display: table;
	margin: auto;
	width: 100%;
}
.video:before {
	content:"";
	display: block;
	padding-top: 56.25%;
}
.video > iframe,
.video > video {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
}
/* ▲ .video ▲ */

/* ==================================================
.gmap
================================================== */
.gmap {
	display: table;
	margin: auto;
	width: 100%;
}
.gmap iframe {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
}
@media screen and (max-width: 768px) {
	.gmap {
		width: 100%;
		height:80vh;
	}
}
/* ▲ .gmap ▲ */

table {
	width: 100%;
	border-collapse:collapse;
}
table th,
table td {
	font-weight: normal;
	text-align: left;
	vertical-align: middle;
	background-clip: padding-box;
	padding: 0.5em 1em;
}
@media screen and (max-width: 768px) {
	table th,
	table td {
		padding: 0.5em 1em;
	}
}
@media screen and (max-width: 768px) {
	.overflow {
		width: 100%;
		overflow-x: auto;
	}
	.overflow table {
		width: auto !important;
		white-space: nowrap;
		max-width: none !important;
	}
	.overflow table * {
		max-width: none !important;
	}
	.overflow table th,
	.overflow table td {
		display: table-cell !important;
		width: auto !important;
	}
}
/* ▼ table.default ▼ */
table.default {
	table-layout: fixed;
	border-collapse: collapse;
	border-spacing: 0;
	border-bottom: 1px solid #a6a19e;
	border-top: 1px solid #a6a19e;
}
table.default th {
	background: #d7ffbc padding-box;
	border-top: 1px solid #72c23d;
	vertical-align: middle;
	text-align: left;
	padding: 1em;
}
table.default td {
	border-top: 1px solid #a6a19e;
	background: #fff padding-box;
	vertical-align: middle;
	text-align: left;
	padding: 1em;
}
table.default tr:first-child th,
table.default tr:first-child td {
	border-top: none;
}
table.default tr:last-child th,
table.default tr:last-child td {
	border-bottom: none;
}
@media screen and (max-width: 768px) {
	table.default {
		border: none;
	}
	table.default th {
		display: block;
		width: 100%;
		border: none;
	}
	table.default td {
		width: 100%;
		display: block;
		border: none;
	}
}
/* ▼ table.default02 ▼ */
table.default02 {
	border-collapse: inherit;
	border-spacing: 5px;
}
table.default02 th {
	background: #9a7144;
	color: #fff;
}
table.default02 td {
	background: #ffffff;
}
@media screen and (max-width: 768px) {
	table.default02 {
		border-spacing: 0;
	}
	table.default02 th {
		display: block;
		width: 100%;
	}
	table.default02 td {
		display: block;
		width: 100%;
	}
}
/* ▼ table.default03 ▼ */
table.default03 {
	table-layout: fixed;
	border-collapse: collapse;
	border-spacing: 0;
	line-height: 1.2;
}
table.default03 tr:not(:last-child) {
	border-bottom: 1px dotted;
}
table.default03 tr th {
	vertical-align: middle;
	text-align: center;
	padding: 0;
}
table.default03 tr td {
	color: #00bbef;
	vertical-align: middle;
	text-align: center;
	padding: 0;
}
table.default03 tr th:nth-child(1),
table.default03 tr td:nth-child(1) {
	width: 20%;
	text-align: left;
}
table.default03 tr th:last-child,
table.default03 tr td:last-child {
	width: 20%;
}
@media screen and (max-width: 768px) {
	table.default03 {
		font-size: 3.5vw !important;
	}
}
/* ▼ table.sub ▼ */
table.sub {
	border-spacing: 0;
}
table.sub tr:nth-child(2n){
	background: #fff;
}
table.sub tr:nth-child(2n - 1){
	background: #f7f5f5;
}
table.sub {
	border-collapse: collapse;
	border-spacing: 0;
}
@media screen and (min-width:769px) {
	table.sub th {
		text-align: right;
		width: 30%;
	}
}
table.sub td {
}
@media screen and (max-width: 768px) {
	table.sub th {
		display: block;
		background: #fff;
		text-align: left;
		width: 100%;
	}
	table.sub td {
		display: block;
		background: #f7f5f5;
		width: 100%;
	}
}
/* ▲ table.sub ▲ */

/* ▼ table.sub02 ▼ */
table.sub02 tr th {
	text-align: center;
	vertical-align: middle;
	border: 1px solid;
}
table.sub02 tr td {
	vertical-align: middle;
	border: 1px solid;
}
@media screen and (max-width: 768px) {
	table.sub02 {
		border-top: 1px solid;
	}
	table.sub02 tr th {
		text-align: left;
		width: 100%;
		display: block;
		border-top: none;
	}
	table.sub02 tr td {
		width: 100%;
		display: block;
		border-top: none;
	}
}
/* ▲ table.sub02 ▲ */

/* ▼ table.sub03 ▼ */
@media screen and (min-width:769px) {
	table.sub03 tr {
		border-bottom: 1px solid #dde0e7;
	}
	table.sub03 tr th,
	table.sub03 tr td {
		vertical-align: top;
	}
	table.sub03 tr th {
		color: #9e0b42;
	}
	table.sub03 tr td {
	}
}
@media screen and (max-width: 768px) {
	table.sub03 tr th {
		color: #9e0b42;
		border-bottom: 1px solid #dde0e7;
		border-top: 1px solid #dde0e7;
	}
	table.sub03 tr th,
	table.sub03 tr td {
		width: 100%;
		display: block;
	}
}
/* ▲ table.sub03 ▲ */

/* ==================================================
汎用クラス
================================================== */
/* 整列
-------------------------------------------------- */
.inner {
	width: 1080px;
	margin:  0 auto;
}
@media screen and (min-width:769px) {
	.left_area {
		float: left;
		width: auto;
	}
	.right_area {
		float: right;
		width: auto;
	}
}
.left {
	text-align: left !important;
}
.center {
	text-align: center !important;
}
.right {
	text-align: right !important;
}
/* クリア
-------------------------------------------------- */
.clearfix:after {
	content: " ";
	display: block;
	clear: both;
}

/* ==================================================
タグ
================================================== */
/* img
-------------------------------------------------- */
img {
	vertical-align: middle;
	max-width: 100%;
	width: auto;
	height: auto;
	box-sizing: border-box;
}
/* a
-------------------------------------------------- */
a {
	color: inherit;
	text-decoration: none;
}
a:hover {
	filter:alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
	color: inherit;
	text-decoration: none;
}
@media screen and (min-width: 768px) {
	a[href^="tel:"] {
		color: inherit;
		text-decoration: none;
		pointer-events: none;
	}
}
/* ==================================================
#go_top
================================================== */
#go_top {
	position: fixed;
	bottom: 50px;
	right: 50px;
	width: 60px;
	height: 60px;/* ページ内リンク使用するなら必須 */
	background: url(/images/h_logo.png) center center / contain no-repeat;
	z-index: 9999;
}
@media screen and (max-width: 768px) {
	#go_top {
		display: none !important;
	}
}
/* ==================================================
#fixed_area
================================================== */
#fixed_area {
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	min-width: 1080px;
	height: 60px;/* ページ内リンク使用するなら必須 */
	background: rgba(255,255,0,0.9);
	z-index: 9999;
}
@media screen and (max-width: 768px) {
	#fixed_area {
		display: none !important;
	}
}
/* ▲ #fixed_area ▲ */
/* ▼▼ ul.fixed_list ▼▼ */
.fixed_list {
	z-index: 3;
	position: relative;
	width: 100%;
	margin: 0 auto;
}
.fixed_list > li:hover {
	-webkit-transition: all .5s;
	transition: all .5s;
}
/* floatクリア */
.fixed_list:before,
.fixed_list:after {
	content: " ";
	display: table;
}
.fixed_list:after {
	clear: both;
}
.fixed_list {
	*zoom: 1;
}
.fixed_list > li {
	position: relative;
	background: #fff;
}
.fixed_list > li > a {
	display: block;
	width: 100%;
	height: 100%;
	padding: 1em;
	background: #0f0;
}
.fixed_list > li > a:before {
	content: "\03e";
	display: block;
	position: absolute;
	right: 2em;
	top: 50%;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
	font-size: 50%;
	color: #a8d970;
}
/* ▼ ul.child ▼ */
ul > li > ul.child {
	position: absolute;
	top: 100%;
	-webkit-transition: all .2s ease;
	transition: all .2s ease;
	visibility: hidden;
	opacity: 0;
	z-index: 2000;
}
ul > li:hover > ul.child {
	width: 100%;
	visibility: visible;
	opacity: 1;
}
ul > li > ul.child > li {
	display: inline-block;
	width: 100%;
	border-top: 1px solid;
	background: #fff;
}
ul > li > ul.child > li > a {
	display:block;
	width: 100%;
	height: 100%;
	background: #f00;
	padding: 1em;
}
/* ▲▲ ul.fixed_list ▲▲ */
/* その他オプション
-------------------------------------------------- */
/* セルの横幅を均等にする
------------------------- */
.cell-width-fix {
	table-layout: fixed;
}
.cell-width-fix th,
.cell-width-fix td {
	width: auto;
}
/* セルの横幅を指定しない
------------------------- */
.cell-width-fazzy th,
.cell-width-fazzy td {
	width: auto;
}
/* 縦向き
------------------------- */
.direction-vertical,
.direction-vertical thead,
.direction-vertical tbody,
.direction-vertical tfoot,
.direction-vertical tr,
.direction-vertical th,
.direction-vertical td {
	width: auto;
	display: block;
}


/* ==================================================
dl
================================================== */
.styled-dl01 {
	margin: 0 0 20px;
	padding: 15px;
	border-radius: 3px;
	background: #f4f4f4;
}
.styled-dl01:last-child {
	margin-bottom: 0;
}
.styled-dl01 dt {
	margin: 0 0 10px;
	font-size: 20px;
}

/* ==================================================
パンくずリスト
================================================== */
.breadcrumbs-list {
	width: 100%;
	left: inherit;
	text-align: left;
	box-sizing: border-box;
	margin: 0;
	letter-spacing: -0.2em;
	font-size: 0.8em;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.breadcrumbs-list li {
	display: inline;
	letter-spacing: 0.1em;
	vertical-align:middle;
}
.breadcrumbs-list li:not(:last-child):after {
	content: "\0bb";
	margin: 0 10px;
	font-family: sans-serif;
	font-weight: 500;
	font-size: 0.8em;
}
/* ==================================================
パンくずリスト02
================================================== */
.breadcrumbs-list02 {
	left: inherit;
	text-align: left;
	box-sizing: border-box;
	margin: 0;
	letter-spacing: -0.2em;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	display: inline-block;
	z-index: 10;
	padding: 1em 50px 1em 0;
	background: rgba(15,69,107,0.95);
	color: #fff;
	vertical-align: bottom;
	font-family: 'NotoSerifCJKjp', serif;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
	font-size: 14px;
}
.breadcrumbs-list02 li {
	display: inline;
	letter-spacing: 0.1em;
	vertical-align:middle;
	padding: 0 1em;
	font-size: 14px;
}
.breadcrumbs-list02 li:not(:last-child) {
	border-right: 1px solid;
}
/*
@media screen and (min-width:769px) {
	.area07 {
		z-index: 5;
		position: absolute;
		width: 100%;
	}
}
.area07:before {
	content: "";
	z-index: -1;
	display: block;
	position: absolute;
	left: 0;
	width: calc((99.99% - 1080px) / 2);
	height: 100%;
	background: rgba(15,69,107,0.95);
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
}*/
/* ==============================================　ASP　============================================== */

/* ==================================================
ページネーション
================================================== */
.pagenation {
	display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
	justify-content: center;
	margin-top: 50px;
}
.pagenation li {
	margin: 0 0.25em;
	text-align: center;
	line-height: 1;
	background: #dde2e6;
}
.pagenation li > * {
	text-decoration: none;
	vertical-align: middle;
	display: block;
	width: 100%;
	height: 100%;
	padding: 0.5em 0.75em;
	box-sizing: border-box;
}
@media screen and (max-width: 768px) {
	.pagenation li > * {
		padding: 0.5em;
	}
}
.pagenation li:hover,
.pagenation li.current {
	background: #555;
	color: #fff;
	font-weight: 500;
}
.inline-privacy-policy iframe {
	width: 100%;
}
.contact-recaptcha-wrap {
	display: table;
	margin: 20px auto 0;
	text-align: center;
}
.contact-submits-wrap {
	text-align: center;
	margin-top: 20px;
}
.contact-submits-wrap input[type="submit"] {
	background: #f9f9f9;
	border: 1px solid #dfdfdf;
	color: #000;
	margin-bottom: 10px;
}
input#agree,
input#pc01,
input#pc02 {
	width: auto;
}
.required-mark {
	background: #e74c3c;
	padding: 0.3em;
	line-height: 1;
	display: inline-block;
	color: #fff;
	font-size: 80%;
	border-radius: 0.2em;
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
}
#contact-form table:nth-of-type(1) th {
	padding-right: 50px;
}
.error-text {
	color: #e74c3c;
}
.mb5 {
	margin-bottom: 5px;
}
/* ==============================================　▲ ASP　▲ ============================================== */


/* ==================================================
ヘッダー
================================================== */
.page-header {
	width: 100%;
	left: 50%;
	transform: translateX(-50%);
	-webkit- transform: translateX(-50%);
	background: #f0f0f0;
	max-width: 1920px;
	z-index: 1000;
}
/* ==================================================
ul.h_cate
================================================== */
@media screen and (min-width:769px) {
	ul.h_cate {
		padding: 20px calc((99.99% - 1080px) / 2);
	}
	ul.h_cate > li:nth-child(1) {
		margin-right: auto;
	}
	ul.h_cate > li:not(:nth-child(1)) {
		padding-left: 15px;
	}
}
/* gnv
-------------------------------------------------- */
.header-nav {
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#77c206+0,6aae03+100 */
	background: #77c206; /* Old browsers */
	background: -moz-linear-gradient(top, #77c206 0%, #6aae03 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, #77c206 0%,#6aae03 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, #77c206 0%,#6aae03 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#77c206', endColorstr='#6aae03',GradientType=0 ); /* IE6-9 */
}
@media screen and (max-width: 768px) {
	.header-nav {
		display: none;
	}
}
ul.gnv {
	letter-spacing: -0.5em;
}
ul.gnv > li {
	width: calc(99.99% / 6);
	display: inline-block;
	letter-spacing: 0.07em;
}
ul.gnv > li > a {
	text-align: center;
	display: block;
	border: none;
	width: 100%;
	height: 100%;
}
ul.gnv > li > a > .icon,
ul.gnv > li > a > .txt {
	display: block;
	text-align: center;
}
ul.gnv > li:after {
	content: "";
	display: block;
	position: absolute;
	right: -1px;
	top: 50%;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
	width: 2px;
	height: 30px;
	border-right: 2px dotted;
}
ul.gnv > li:nth-child(1):before {
	content: "";
	display: block;
	position: absolute;
	left: -1px;
	top: 50%;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
	width: 2px;
	height: 30px;
	border-right: 2px dotted;
}
/* gnv02
-------------------------------------------------- */
ul.gnv02:before {
	content: "";
	display: block;
	position: absolute;
	left: calc((1080px - 99.99vw) / 2);
	bottom: 0;
	width: calc((99.99vw - 1080px) / 2);
	height: 109px;
	background: #fff;
}
ul.gnv02 {
	padding-left: 130px;
	letter-spacing: -0.5em;
}
ul.gnv02 > li {
	display: inline-block;
	letter-spacing: 0.1em;
	width: calc(99.99% / 6);
	margin: 0;
	vertical-align: top;
	letter-spacing: 0.1em;
	line-height: 48px;
	color: #fff;
}
ul.gnv02 > li:after {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translate(50% , -50%);
	-webkit- transform: translate(50% , -50%);
	width: 19px;
	height: 48px;
	background: url(/images/nv.png) center center / cover no-repeat;
}
ul.gnv02 > li > a {
	text-align: center;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}
/* MV
-------------------------------------------------- */
@media screen and (min-width:769px) {
	.main-visual {
		width: 1920px;
		left: 50%;
		margin-left: -960px;
	}
}
.catch {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
	z-index: 501;
}
@media screen and (max-width: 768px) {
	.main-visual {
		height: 56.25vw; /*画像高さ÷1080vw*/
		font-size: 2rem !important;
		line-height: 1.3;
	}
	.catch > img {
		width: 90%;
		height: 90%;
		object-fit: scale-down;
		font-family: 'object-fit: scale-down;';
	}
}
/* ==================================================
.sub-visual
================================================== */
.sub-visual {
	width: 100%;
	height: 30vmin; /*画像高さ÷1080vw*/
	background: url(/images/sv.png) center center;
	background-size: cover;
}
.sub-visual .txt {
	text-align: center;
font-size: 40px;
line-height: 1;
color: #fff;
filter: drop-shadow(10px 10px 10px rgba(0,0,0,0.2));
	text-shadow: 0 0 0.3em rgba(0,0,0,0.2),
		0 0 0.3em rgba(0,0,0,0.2),
		0 0 0.4em rgba(0,0,0,0.2),
		0 0 0.4em rgba(0,0,0,0.2),
		0 0 0.5em rgba(0,0,0,0.2);
}
@media screen and (max-width: 768px) {
	.sub-visual {
		height: 30vw;
	}
	.sub-visual .inner {
		height: 100%;
	}
	.sub-visual .txt {
		font-size: 2rem;
	}
}
/*
.sub-visual .catch:before {
	content: "";
	display: block;
	position: absolute;
	width: 60px;
	height: 6px;
	border-bottom: 1px solid #fff;
	border-top: 1px solid #fff;
	left: 50%;
	bottom: -50%;
	transform: translateX(-50%) !important;
	-webkit- transform: translateX(-50%) !important;
}*/

/* ==================================================
btn01
================================================== */
.btn01 {
	color: #fff;
	padding: 0.1em 0.3em;
	background: #364498;
	align-items: center;
	display: inline-block;
	border-radius: 0.2em;
	line-height: 1;
	margin-right: 0.5em;
}
@media screen and (max-width: 768px) {
	.btn01 img,
	.btn02 img,
	.btn03 img,
	.btn04 img,
	.btn05 img,
	.btn06 img,
	.btn07 img {
		margin: 0 10px 0 0;
	}
}
/* ==================================================
btn02
================================================== */
.btn02 {
}
.btn02 a {
	color: #fff;
	width: 100%;
	padding: 1em;
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#3b9af4+0,77d2ef+100 */
	background: #3b9af4; /* Old browsers */
	background: -moz-linear-gradient(left, #3b9af4 0%, #77d2ef 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, #3b9af4 0%,#77d2ef 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, #3b9af4 0%,#77d2ef 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3b9af4', endColorstr='#77d2ef',GradientType=1 ); /* IE6-9 */
	align-items: center;
	display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
	justify-content: center;
	line-height: 1.1;
}
.btn02 img {
	margin-right: 10px;
}
/* ==================================================
btn03
================================================== */
.btn03 {
	width: auto;
	display: table;
	margin: auto;
}
.btn03 a {
	width: 100%;
	padding: 0.5em;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 500;
	border: 1px solid;
	background: #e30000;
}
.btn03:before {
	content: "";
	display: block;
	width: 5px;
	height: 100%;
	position: absolute;
	right: -5px;
	top: 5px;
	border-right: 1px solid;
	border-top: 1px solid;
	box-sizing: border-box;
}
.btn03:after {
	content: "";
	display: block;
	width: 100%;
	height: 5px;
	position: absolute;
	bottom: -5px;
	right: -5px;
	border-left: 1px solid;
	border-bottom: 1px solid;
	box-sizing: border-box;
}
.btn03:hover:before,
.btn03:hover:after {
	filter:alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
	cursor: pointer;
}
/* ==================================================
btn04
================================================== */
.btn04 {
	color: #fff;
	border-radius: 1.9em;
}
.btn04 > a {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #84b9d9;
	width: 100%;
	height: 100%;
	z-index: 1;
	padding: 1em;
	border-radius: 1.9em;
}
.btn04 > a > img {
	margin: 0 10px 0 0;
}
/* ==================================================
btn05
================================================== */
.btn05 {
	margin: auto;
	font-weight: 500;
}
.btn05 a {
	display: block;
	text-align: center;
	width: 100%;
	height: 100%;
	z-index: 1;
	padding: 0.75em 1em;
	border: 1px solid #5fa42c;
	box-sizing: border-box;
}
.btn05:before { /* 影 */
	content: "";
	display: block;
	background: #e0f4d2;
	position: absolute;
	top: 5px;
	left: 5px;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	box-shadow: 3px 3px 3px rgba(0,0,0,0.1);
}
.btn05:hover:before {
	filter:alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
	cursor: pointer;
}
.btn05 img {
	vertical-align: baseline;
}
/* ==================================================
btn06
================================================== */
.btn06 {
	display: table;
	margin: auto;
	text-align: center;
}
.btn06 a {
	border: 1px solid;
	display: block;
	width: 100%;
	height: 100%;
	padding: 0.75em 1em;
}

/* ==================================================
btn07
================================================== */
.btn07 a {
	width: 100%;
	height: 46px;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: center;
	justify-content: center;
	background: url(/images/sv.png) center center / cover;
}
/* ==================================================
縦文字
================================================== */
.tate {
	width: 100%;
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode:vertical-rl;
	text-align: initial;
	letter-spacing: 0.3em;
	font-family: "游明朝", "ＭＳ 明朝", serif;
}
/* 縦文字中央寄せ */
.move {
	width: 100%;
	display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
	vertical-align: middle;
	text-align: center;
	align-items: center;
	justify-content: center;
}
/* ==================================================
フッター
================================================== */
footer {
	border-top: 3px solid #6eb403;
}
.footer-copyright {
	text-align: center;
}
@media screen and (max-width: 768px) {
	.footer-copyright {
		text-align: center;
		font-size: 3vw !important;
		line-height: 1.2;
	}
}
@media screen and (min-width:769px) {
	ul.f_list li:before {
	content: "\03e";
	display: inline;
	margin-right: 0.2em;
	color: #67af4f;
	font-weight: 500;
	}
	ul.f_list li {
		margin-right: 1em;
	}
	.header-logo {
		position: absolute;
		left: 0;
		bottom: 0;
	}
}
@media screen and (max-width: 768px) {
	ul.f_list {
		display: none;
	}
	footer {
		padding: 20px 0;
	}
	footer h2.header-logo {
		margin: auto;
		display: table;
	}
	footer ul.f_box > li {
		width: 100%;
		display: block;
	}
}
/* ==================================================
コンテンツ
================================================== */

/* 見出し
------------------------- */
.styled-title01 {
	margin: 0 0 1.3em;
	padding: 1.1em 0.9em 1em;
	font-size: 22px;
	border-top: 2px solid #222;
	border-bottom: 1px solid #ddd;
	background: #fafafa;
	box-shadow: 0 1px 2px #f7f7f7;
}
.styled-title02 {
	margin: 0 0 1.3em;
	padding: .8em 0.9em .7em;
	font-size: 22px;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}
/* 記事アイキャッチ
------------------------- */
.section-eyecatch-right {
	max-width: 40%;
	margin: 0 0 16px 16px;
	float: right;
}
.section-eyecatch-left {
	max-width: 40%;
	margin: 0 16px 16px 0;
	float: left;
}
.section-eyecatch-center {
	margin: 0 auto 16px;
	display: block;
}
/* 記事情報
------------------------- */
.post-info-wrap {
	margin: 0 0 16px;
	overflow: hidden;
}
.post-info-wrap .post-info-item {
	margin: 0 15px 0 0;
	padding: 0 0 0 20px;
	background: left top 4px no-repeat;
	float: left;
}
.post-info-wrap .post-info-item-date {
	background: url(/images/common/icon_calendar.png) center left no-repeat;
}
.post-info-wrap .post-info-item-tag {
	background: url(/images/common/icon_tag.png) center left no-repeat;
}
@media screen and (max-width: 768px) {
	.post-info-wrap .post-info-item {
		margin: 0 0 10px;
		display: block;
	}
}
/* タグリスト */
.post-tag-list {
	overflow: hidden;
}
.post-tag-list li {
	margin: 0 5px 0 0;
	float: left;
}
.post-tag-list li:not(:last-child):after {
	content: ',';
}
/* その他
-------------------------------------------------- */
/* 投稿日 */
.post-date {
	margin: 0 0 15px;
	padding: 1px 0 0 12px;
	font-size: 0.8em;
	background: url(/images/common/icon_arrow03.png) left center no-repeat;
	display: block;
}
/* テキストボタン */
.text-btn {
	margin: 20px auto 50px;
	text-align: right;
}
.text-btn a {
	width: 200px;
	line-height: 50px;
	text-align: center;
	color: #fff;
	background: url(/images/common/icon_arrow01_white.png) right 16px center no-repeat #555;
	display: inline-block;
}
.text-btn a:hover {
	color: #fff;
	text-decoration: none;
}
/* ==================================================
サイトマップ
================================================== */
.sitemap-list li {
	margin: 0 !important;
}
.sitemap-list li a{
	text-align:center;
	border-bottom: 1px solid #ddd;
	font-size: 1.1em;
	display:block;
	padding: 0.75em 0px;
}
.sitemap-list li a:hover{
	font-weight:500;
	background-color:#f8f8f8;
	filter:alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
}
/*==================================================
 可変横並び
==================================================*/
@media screen and (min-width:769px) {
	.inner_img {
		float: right;
		max-width: 50%;
		display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
		align-items: center;
	}
	.inner_img.left_area {
		float: left;
	}
}
.inner_txt {
	overflow: hidden;
	_zoom: 1; /*IE6バグ対策*/
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: center;
}
.inner_txt > .height {
	width: 100%;
}
.inner_img + .inner_txt {
	padding-left: 0;
	padding-right: 40px;
}
.inner_img.left_area + .inner_txt {
	padding-left: 40px;
	padding-right: 0;
}
@media screen and (max-width: 768px) {
	.inner_img img,
	.inner_img.left_area img {
		margin: 10px auto;
		width: auto;
		height: auto;
		max-width: 100%;
		max-height: 100vw;
		display: block;
		float: none;
		object-fit: scale-down;
		font-family: 'object-fit: scale-down;';
	}
	.inner_img + .inner_txt,
	.inner_img.left_area + .inner_txt {
		padding: 0;
	}
	.inner_txt {
		margin-top: 10px;
		display: block;
		padding-top: 10px;
		overflow: initial;
	}
}
.table {
	display: table;
	margin-left: auto;
	margin-right: auto;
}
.cell {
	display: table-cell;
	vertical-align: middle;
}
.absolute {
	position: absolute;
}
.inline { display: inline;}
.block { display: block;}
.inline-block { display: inline-block;}

/*==================================================
ul.flex
================================================== */
@media screen and (min-width:769px) {
	.flex {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: center;
	}
	.flex > * {/*IEバグ対策*/
		margin: 0;
	}
}
@media screen and (max-width: 768px) {
	.flex.both {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: center;
	}
	.flex.both * {/*IEバグ対策*/
		margin: 0;
	}
}
/*==================================================
ul.fit
================================================== */
@media screen and (min-width:769px) {
	.fit {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: space-between;
	}
}
@media screen and (max-width: 768px) {
	.fit.both {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: space-between;
	}
	.fit.both > li {
		width: auto !important;
	}
}
/*==================================================
ul.around
================================================== */
@media screen and (min-width:769px) {
	.around {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: space-around;
	}
}
@media screen and (max-width: 768px) {
	.around.both {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: space-around;
	}
}
/*==================================================
ul.middle
================================================== */
@media screen and (min-width:769px) {
	.middle {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		align-items: center;
	}
}
@media screen and (max-width: 768px) {
	.middle.both {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		align-items: center;
	}
}
/*==================================================
ul.end
================================================== */
@media screen and (min-width:769px) {
	.end {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: flex-end;
	}
}
@media screen and (max-width: 768px) {
	.end.both {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: flex-end;
	}
}
/*==================================================
ul.bottom
================================================== */
@media screen and (min-width:769px) {
	.bottom {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		align-items: flex-end;
	}
}
@media screen and (max-width: 768px) {
	.bottom.both {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		align-items: flex-end;
	}
}
/*==================================================
.list
================================================== */
@media screen and (min-width:769px) {
	.list {
	}
	.list {
		font-size: 0;
		letter-spacing: -0.1em;
	}
	.list > * {
		display: inline-block;
		vertical-align: top;
		box-sizing: border-box;
	}
	.list > *:first-child {
		margin-left: 0;
	}
	.list > *:last-child {
		margin-right: 0;
	}
}
@media screen and (max-width: 768px) {
	.list.both {
	}
	.list.both {
		font-size: 0;
		letter-spacing: -0.1em;
		text-align: center;
	}
	.list.both > * {
		width: auto !important;
  	display: inline-block !important;
  	margin: 5px !important;
		vertical-align: top;
		box-sizing: border-box;
	}
}
/*==================================================
ul.li共通
================================================== */
@media screen and (max-width: 768px) {
	ul > li {
		width: 100%;
		display: block;
		margin: 0 0 10px 0;
		box-sizing: border-box;
	}
	ul.both > li {
		margin: 0;
	}
}
@media screen and (min-width:769px) {
	ul.paginated-link > li {
		min-height: 1px;
	}
}
/* ==================================================
ul.case_btn
================================================== */
ul.case_btn li a {
	line-height: 1.5;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 0.5em 2em;
	border: 1px solid;
}
@media screen and (min-width:769px) {
	ul.case_btn > li {
		width: calc((99.99% - 80px) / 3);
		margin: 0 40px 40px 0;
		vertical-align: top;
		letter-spacing: normal;
		display: inline-block;
	}
	ul.case_btn > li:nth-child(3n) {
		margin-right: 0;
	}
	ul.case_btn > li:nth-last-child(-n + 3) {
		margin-bottom: 0;
	}
}
@media screen and (max-width: 768px) {
	ul.case_btn > li {
		width: 100%;
		margin: 0 0 10px 0 !important;
		vertical-align: top;
		letter-spacing: normal;
		display: inline-block;
		font-size: 3.2vw !important;
		line-height: 1.2;
	}
	ul.case_btn > li:last-child {
		margin-bottom: 0 !important;
	}
	ul.case_btn li a {
		padding: 0.5em;
	}
}
/* ▲ ul.case_btn ▲ */
/* ==================================================
.photo
================================================== */
.photo {
	display: block;
	position: relative;
}
.photo:before {
	display: block;
	content: "";
	padding-top: 56.25%;/* 縦横比を指定 */
}
.photo > * {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
	align-items: center;
}
.photo img {
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	object-fit: none;
	font-family: 'object-fit: none;';
	background: #efefef;
}
/* ▲ .photo ▲ */
/* ==================================================
YOUTUBE
================================================== */
.video:before {
	content:"";
	display: block;
	padding-top: 56.25%;
}
.video > * {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
}
.video iframe {
	width: 100%;
	height: 100%;
}
/* ==================================================
スケジュールリスト
================================================== */
.schedule_outer {
	padding: 30px 0;/* 背景線の長さで変化 */
}
@media screen and (max-width: 768px) {
	.schedule_outer {
		width: 100%;
	}
}
.schedule_outer:before {/* 背景先端の丸 */
content: "";
display: block;
position: absolute;
top: 0;
left: 50%;
transform: translate(-50%,-50%);
-webkit- transform: translate(-50%,-50%);
width: 1em;
height: 1em;
background: #ff9000;
border-radius: 50%;
}
.schedule_outer:after {/* 背景先端の丸 */
content: "";
display: block;
position: absolute;
bottom: 0;
left: 50%;
transform: translate(-50%,50%);
-webkit- transform: translate(-50%,50%);
width: 1em;
height: 1em;
background: #ff9000;
border-radius: 50%;
}
ul.schedule:before {/* 背景線 */
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	top: -30px;/* 背景線の長さで変化 */
	transform: translateX(-50%);
	-webkit- transform: translateX(-50%);
	width: 6px;
	height: calc(100% + 60px);/* 背景線の長さ（初期値は「100%+30px+30px」） */
	background: #ff9000;
}
ul.schedule > li {
	width: 40%;/* 要素の横幅 */
	background: #364498;
	color: #fff;
	padding: 1em;
	border-radius: 0.5em;
	line-height: 1.5;
}
ul.schedule > li:nth-of-type(2n - 1) {
	margin: 0 auto 0 0;
}
ul.schedule > li:nth-of-type(2n - 1):before {/* 要素の線 */
content: "";
display: block;
position: absolute;
right: -25%;/* 要素の横幅で変化 */
top: 50%;
transform: translateY(-50%);
-webkit- transform: translateY(-50%);
width: 25%;
height: 5px;
background: #364498;
}
ul.schedule > li:nth-of-type(2n - 1):after {/* 要素先端の丸 */
content: "";
display: block;
position: absolute;
right: -25%;/* 要素の横幅で変化 */
top: 50%;
transform: translate(50%,-50%);
-webkit- transform: translate(50%,-50%);
width: 1em;
height: 1em;
background: #364498;
border-radius: 50%;
}
ul.schedule > li:nth-of-type(2n) {
	margin: 0 0 0 auto;
}
ul.schedule > li:nth-of-type(2n):before {/* 要素の線 */
content: "";
display: block;
position: absolute;
left: -25%;/* 要素の横幅で変化 */
top: 50%;
transform: translateY(-50%);
-webkit- transform: translateY(-50%);
width: 25%;
height: 5px;
background: #364498;
}
ul.schedule > li:nth-of-type(2n):after {/* 要素先端の丸 */
content: "";
display: block;
position: absolute;
left: -25%;/* 要素の横幅で変化 */
top: 50%;
transform: translate(-50%,-50%);
-webkit- transform: translate(-50%,-50%);
width: 1em;
height: 1em;
background: #364498;
border-radius: 50%;
}
/* ▲ スケジュールリスト ▲ */
/*==================================================
ul.case_list（施工事例 index）
================================================== */
ul.case_list {
	width: 100%;
}
@media screen and (min-width:769px) {
	ul.case_list > li {
		width: calc((99.99% - 60px) / 3);
		margin: 0 30px 30px 0;
		vertical-align: top;
		letter-spacing: 0.1em;
		display: inline-block;
	}
	ul.case_list > li:nth-child(3n) {
		margin-right: 0;
	}
	ul.case_list > li:nth-last-child(-n + 3) {
		margin-bottom: 0;
	}
}
@media screen and (max-width: 768px) {
	ul.case_list > li {
		width: 100%;
		margin: 0 0 1em 0 !important;
		vertical-align: top;
		letter-spacing: 0.1em;
		display: inline-block;
	}
	ul.case_list > li:last-child {
		margin-bottom: 0 !important;
	}
}
ul.case_list > li .txt {
	margin: 1em 0 0;
	font-weight: 500;
	overflow: hidden;
	vertical-align: middle;
	white-space: nowrap;
	text-overflow: ellipsis;
	display: block;
	line-height: 1;
	padding-left: 1em;
}
ul.case_list > li .txt:before {
	content: "";
	display: block;
	position: absolute;
	width: 4px;
	height: 100%;
	left: 0;
	top: 0;
	background: #d12406;
	}/* ▲ アイコン追加 ▲ */

/*==================================================
施工事例detail
================================================== */
#full {
	margin-bottom: 50px;
}
#full .inner_img {
	text-align: center;
	float: left;
	margin-left: 0;
	margin-right: 30px;
	max-width: inherit;
}
#full img, #thumb li img {
	object-fit: contain;
	width: 100%;
	height: 100%;
	background: #f5f5f5;
}
#full img {
	height: 400px;
	width: 600px;
}
#thumb {
	letter-spacing: -0.5em;
}
#thumb li {
	display: inline-block;
	width: 10%;
	box-sizing: border-box;
	margin: 0 20px 20px 0;
	width: 135px;
	letter-spacing: 0.1em;
}
#thumb li img {
	height: 90px;
}
/*　施工事例ここまで */

/* ▼ slider設定 ▼ */
.slider {
	width: 100%;
	margin: 0 auto;
}
.slider li a {
	margin: auto 20px;
	display: block;
}
.slider li img {
    border: 5px solid #fff;
}
.slider li .title {
	display: block;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	border-bottom: 3px double #ffa358;
}
.slick-prev, .slick-next {
	width: 40px !important;
	height: 40px !important;
	z-index: 1000;
}
.slick-prev {
	left: -50px !important;
}
.slick-next {
	right: -50px !important;
}
.slick-prev:before {
	color: #000;
	width: 40px;
	height: 40px;
	display: block;
	font-size: 40px !important;
}
.slick-next:before {
	color: #000;
	width: 40px;
	height: 40px;
	display: block;
	font-size: 40px !important;
}
@media screen and (max-width: 768px) {
	.slick-prev {
		left: 0 !important;
	}
	.slick-next {
		right: 0 !important;
	}
	.slider li {
		margin: 0;
	}
}
/* ▲ slider設定 ▲ */
/* ==================================================
前後の記事へ
================================================== */
@media screen and (min-width:769px) {
	ul.prev-next-post {
	padding: 0;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: center;
	justify-content: space-between;
	text-align: center;
	}
	ul.prev-next-post > li {
		width: 30%;
	}
}
@media screen and (max-width: 768px) {
	ul.prev-next-post > li {
		width: 100%;
	}
	ul.prev-next-post > li:not(:last-child) {
		margin-bottom: 10px;
	}
}
ul.prev-next-post > li a {
    width: 100%;
    box-sizing: border-box;
    padding: 0.75em 2em;
    background: #00a9e8;
    color: #fff;
    align-items: center;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: center;
    border-radius: 5px;
}
/* ==================================================
SNSボタン
================================================== */
/*.sns-sharerbtn-list {
	margin: 8px 0;
	padding: 8px 0;
	text-align: center;
	border-top: 1px solid #cfcfcf;
	border-bottom: 1px solid #cfcfcf;
	background: #f0f0f0;
	overflow: hidden;
	clear: both;
}
.sns-sharerbtn-list li {
	margin: 0 4px;
	font-size: 0;
	vertical-align: top;
	display: inline-block;
}*/
/* ▲ SNSボタン ▲ */
/* ==================================================
blog_area
================================================== */
.blog_area {
	background: #f3f0eb;
}
.blog-list {
	max-width: 100%;
	box-sizing: border-box;
}
.blog-list > li {
	width: 100%;
	padding: 10px 0;
	border-bottom: 1px solid;
}
.blog-list > li:not(:last-child) {
	margin-bottom: 10px;
}
.news_day {
	margin-right: 20px;
	display: table;
}
/* タグ */
.news_tag {
	vertical-align: baseline;
	text-align: center;
	display: inline-block;
	min-width: 100px;
	width: 100px;
	letter-spacing: 0.1em;
	margin-right: 2em;
	line-height: 1;
}
.news_tag a {
	padding: 5px;
	width: 100%;
	height: 100%;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(-90deg, rgba(0,165,180,1) 0%, rgba(0,82,155,1) 100%);
	color: #fff;
}
/* 日付 */
.news_main {
	border-bottom: 1px dotted;
}
/* タイトル */
@media screen and (min-width:769px) {
	.more {
		position: absolute;
		left: 0;
		bottom: 0;
		z-index: 1;
	}
}
@media screen and (max-width: 768px) {
	.more {
		margin-top: 20px;
	}
}
/* ▲　blog-list　▲ */

/* ==================================================
blog-list02
================================================== */
.blog-list02 > li {
	width: 100%;
	margin-bottom: 1em;
	background: #fff;
	padding: 0.75em 2em;
}
.blog-list02 > li:last-child {
	margin-bottom: 0;
}
.blog-list02 {
	box-sizing: border-box;
}
/* ▲　blog-list02　▲ */

/* ==================================================
blog-list03
================================================== */
.blog-list03 > li {
	width: 100%;
	margin-bottom: 10px;
	box-sizing: border-box;
	padding: 10px;
	background: #fff;
	border: 1px solid;
}
/* タイトル */
/* ▲　blog-list03　▲ */
/* ==================================================
CONTACT
================================================== */
.submits input {
	background: #ddd;
	border-radius: 10px;
	box-shadow: 1px 1px 0 #898989;
	padding: 10px 20px;
}
.submits input:hover {
	filter:alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
	cursor: pointer;
}
/* ▲　お問い合わせ　▲ */
.js-ajaxLoadBtn:hover {
	cursor: pointer;
}
.t_catch {
	width: 100%;
	height: 100%;
	position: absolute;
}
.t_catch .inner img{
	position: absolute;
	right: 0;
	bottom: 50px;
}
.max {
	display: block;
	width: 100%;
	height: 100%;
}
/* ==================================================
f_nav
================================================== */
@media screen and (min-width:769px) {
	.f_nav li:not(:last-child) {
		border-right: 1px solid;
	}
	.f_nav li:not(:last-child) a {
		padding-right: 0.5em;
	}
	.f_nav li:not(:first-child) a {
		padding-left: 0.5em;
	}
}
@media screen and (max-width: 768px) {
	.f_nav {
		display: none;
	}
}
/* ▲ f_nav ▲ */
@media screen and (max-width: 768px) {
	.f_nav {
		display: none;
	}
}
/* ▲ f_nav ▲ */
/* ==================================================
f_nav02
================================================== */
@media screen and (min-width:769px) {
	.f_nav02 {
		width: 100%;
	}
	.f_nav02 li {
		line-height: 1;
	}
	.f_nav02 li a {
		padding: 0 0.7em;
	}
	.f_nav02 li:not(:last-child) a:before {
		content: "/";
		display: block;
		position: absolute;
		right: -0.25em;
		top: 0.1em;
	}/* ▲ アイコン追加 ▲ */
}
@media screen and (max-width: 768px) {
	.f_nav02 {
		display: none;
	}
}
/* ▲ f_nav02 ▲ */
/* ==================================================
f_nav03
================================================== */
@media screen and (min-width:769px) {
	.f_nav03 {
		width: 100%;
	}
	.f_nav03 li {
		padding: 0;
		color: #fff;
		line-height: 1;
		margin: 0 2em 1em 0;
		display: inline-block;
	}
	.f_nav03 li a:before {
		content: "\03e";
		display: block;
		position: absolute;
		left: -1em;
		top: 50%;
		transform: translateY(-50%);
		-webkit- transform: translateY(-50%);
		font-family: 'NotoSerifCJKjp', serif;
	}/* ▲ アイコン追加 ▲ */
}
@media screen and (max-width: 768px) {
	.f_nav03 {
		display: none;
	}
}
/* ▲ f_nav03 ▲ */














/*ここからSP用*/
@media screen and (max-width: 768px) {
	* {
		max-width: 100%;
	}
	#lightbox * {
		max-width: none;
		max-height: none;
	}
	img {
		display: table;
		margin: auto;
		max-width: 100%;
		max-height: 100vmin;
	}
	section {
		padding: 4vh 0 !important;
		height: auto !important;
		max-width: 100%;
	}
	.inner {
		width: 100%;
		left: inherit;
		margin-left: inherit;
		position: relative;
		padding: 0 2vw !important;
		box-sizing: border-box;
	}
	.header_inner {
		width: 100%;
		left: inherit;
		margin-left: inherit;
		position: relative;
		padding: 2vw 3vw !important;
		box-sizing: border-box;
	}
	.l_header_wrap{
		min-height: 15vw;
	}
	select,
	textarea,
	input[type="tel"],
	input[type="num"],
	input[type="text"],
	input[type="email"],
	input[type="password"] {
		width: 100%;
		box-sizing: border-box;
	}
	/* 郵便番号*/
	#pc01,
	#pc02 {
		width: 80px;
	}
	.captcha-wrap {
		width: 100% !important;
		text-align: center;
	}
	.captcha-wrap img {
		width: inherit;
		height: inherit;
	}
	.side-toggle-btn {
		position: fixed;
		right: 0;
		top: 0;
		z-index: 9000;
	}
	.side-logo {
		background: #fff !important;
		box-shadow: 0 0 15px 3px #ebebeb inset !important;
		margin: 0 !important;
		padding: 10px 0 !important;
	}
	/* ▼　SPメニュー　▼ */
	.f_logo {
		text-align: center;
	}
	h1 img {
		max-width: 80vw;
		height: 50px;
	}
/*------------------------------------------*/
	/*l_header
	/*------------------------------------------*/
	.l_header {
		background: #fff;
		width: 100%;
		top: 0;
		left: 0;
		position: fixed;
		z-index: 10000;
	}
	/*nav=====*/
	.l_header .nav{
		display: none;
		position: fixed;
		overflow-y: scroll;
		height: 100%;
		width: 100%;
		text-align: center;
		left: 0;
		z-index: 10000;
	}
	/*header_sp_nav=====*/
	.header_sp_nav{
		cursor: pointer;
		min-width: 9vw;
		min-height: 9vw;
		width: 9vw;
		height: 9vw;
	}
	.nav_line{
		display: block;
		position: absolute;
		width: 100%;
		height: 3px;
		background: #6eb403;
		-webkit-transition: .3s;
		transition: .3s;
		left: 0;
		right: 0;
		border-radius: 2px;
	}
	.nav_line1{
		top: 0;
		bottom: auto;
	}
	.nav_line2{
		top: 50%;
		transform: translateY(-50%);
		-webkit- transform: translateY(-50%);
		margin: auto;
	}
	.nav_line3{
		bottom: 0;
		top: auto;
	}
	.nav_list {
		padding-bottom:50px;
		margin-bottom:50px;
		line-height: 1.6;
	}
	.nav_list h5 {
		color: #fff;
		background: #0072bb;
		margin: 0;
		font-size: 4vw;
		padding: 0.4em 1em;
	}
	.nav_list li {
		font-size: 4vw;
		background: #f7f7f7;
		margin: 0;
		text-align: left;
		border-bottom: 1px solid #bebebe;
		border-left: 6px solid #6eb403;
	}
	.nav_list li a{
		display: block;
		padding: 0.4em 1em;
	}
	.main_cover{
		position: fixed;
		width: 100%;
		visibility: hidden;
		z-index: -1;  
		-webkit-transition: .3s;
		transition: .3s;
	}
	.main_cover.active{
		height:100%;
		visibility: visible;
		background:rgba(0,0,0,0.4);
		z-index:1000;
		position: fixed;
		top: 0;
		left: 0;
	}
	/* ▲　SPメニュー　▲ */


	#full img {
		width: 100% !important;
		height: auto !important;
		max-height: 500px;
		background: none;
	}
	.breadcrumbs-list {
		display: none;
	}
	.slick-list,
	.slick-track,
	ul.slick-slider,
	ul.slick-slider li,
	#slide_wrapp,
	#slide_wrapp li {
		height: 100%;
		width: 100%;
	}
	ul.slick-slider li img,
	#slide_wrapp li img {
		height: 100%;
		width: 100%;
		max-height: initial;
		max-width: initial;
		object-fit: cover;
		font-family: 'object-fit: cover;';
	}
	li.slick-slide {
		left: 0 !important;
		top: 0 !important;
		position: absolute !important;
	}
	li.slick-slide img {
		width: 100%;
		height: 100%;
		max-width: initial;
		max-height: initial;

	}
	.column_box {
		padding: 2%;
		margin-bottom: 20px;
	}
	.column_box h3 {
		padding: 2%;
	}
	.column_box.detail {
		border: none;
		padding: 0;
	}
	#full {
		margin-bottom: 30px;
	}
	body h3 {
		text-align: center;
		font-size: 1.5rem !important;
		margin-bottom: 20px !important;
	}
	body h4 {
		font-size: 1.3rem !important;
		margin-bottom: 10px !important;
	}
	body h5 {
		font-size: 1.1rem !important;
		margin-bottom: 10px !important;
	}
	.gmap {
		width: 100%;
		height:80vh;
	}
	ul.tag_number > li {
		margin-bottom: 0;
	}
}

#pc_header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99999999;
	background: rgba(255,255,255,0.7);
	width: 100%;
}

.ctxt,
.ctxt > p {
    overflow: hidden;
    vertical-align: middle;
    white-space: nowrap;
    text-overflow: ellipsis;
    padding: 0;
    display: block;
}
.ctxt > p:not(:first-child) {
	display: none;
}

.arrow:after {
	content: "";
	display: block;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
	width: 8px;
	height: 12px;
	background: url(/images/arrow01.png) center center no-repeat;
	z-index: 1;
}
.arrow02 {
	margin-bottom: 0.5em;
}
.arrow02:after {
	content: "";
	line-height: 1;
	display: block;
	position: absolute;
	left: 50%;
	bottom: -0.5em;
	width: 0;
	height: 0;
	transform: translateX(-50%);
	-webkit- transform: translateX(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0.5em 0.5em 0 0.5em;
	border-color: #5c4138 transparent transparent transparent;
}
.arrow03:after {
content: "◆";
line-height: 1;
display: block;
position: absolute;
right: 0;
bottom: 50%;
transform: translate(50%,50%) scale( 1 , 0.5 );
-webkit- transform: translate(50%,50%) scale( 1 , 0.5 );
}
.arrow04 {
	padding-left: 1.5em;
}
.arrow04:nth-of-type(1):before {
    content: "1";
    display: block;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    -webkit- transform: translateY(-50%);
    width: 1.5em;
    height: 1.5em;
    line-height: 1.5;
    font-weight: 500;
    font-size: 0.8em;
    color: #fff;
    background: #ffc741;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}
.arrow05 {
	margin-right: 40px;
	display: table;
}
.arrow05:after {
		position: absolute;
		top: 50%;
		right: 0;
		transform: translate(100%, -50%);
		-webkit- transform: translate(100%, -50%);
		content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 1em 0 1em 1em;
    border-color: transparent transparent transparent #1753cd;
}
.dot {
	text-emphasis-style:dot filled;
	-webkit-text-emphasis-style:dot filled;
}
.space {
	padding-left: 1em;
	text-indent: -1em;
}
/* ==================================================
	sp_side
================================================== */
@media screen and (min-width:769px) {
	.sp_side {
		display: none;
	}
}
@media screen and (max-width: 768px) {
	.sp_side:after {
	content: "";
	display: block;
	width: 1px;
	height: calc(6.6vw + 20px);
	z-index: -10;
	position: relative;
	}
	ul.fixed_list01.fit {
		z-index: 100;
		position: fixed;
		bottom: 10px;
		left: 10px;
		width: calc(99.99% - 20px);
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	ul.fixed_list01.fit > li {
		width: 48% !important;
		max-width: 48% !important;
		line-height: 1.3;
		text-align: center;
		font-size: 3.33vw;
	}
	ul.fixed_list01.fit > li a {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		align-items: center;
		justify-content: center;
		height: 100%;
		width: 100%;
		box-sizing: border-box;
		background: #6eb403;
		color: #fff;
		text-align: center;
		padding: 0.5em;
		border-radius: 1.1em;
	}
}
/* ▲ sp_side ▲ */
* {
	word-wrap: break-word;
	overflow-wrap: break-word;
}
.h_tel {
	line-height: 1.2;
	background: url(/images/h_tel.png) left center no-repeat;
	padding-left: 40px;
}
@media screen and (max-width: 768px) {
	.h_tel {
		text-align: left !important;
	}
}
h4.default {
	z-index: 1;
	font-family: 'Noto Serif JP', serif;
	padding: 1rem 2rem;
	color: #fff;
	transform: translate(0,50%) skewX(-10deg);
	-webkit- transform: translate(0,50%) skewX(-10deg);
	text-align: center;
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#71b804+0,8dde13+100 */
	background: #71b804; /* Old browsers */
	background: -moz-linear-gradient(left, #71b804 0%, #8dde13 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, #71b804 0%,#8dde13 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, #71b804 0%,#8dde13 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#71b804', endColorstr='#8dde13',GradientType=1 ); /* IE6-9 */
}
@media screen and (max-width: 768px) {
	h4.default {
		font-size: 6vw !important;
		padding: 0.5em 1em;
		-webkit-transform: inherit;
		   -moz-transform: inherit;
		    -ms-transform: inherit;
		     -o-transform: inherit;
		        transform: inherit;
	}
}
@media screen and (min-width:769px) {
	.top_class01 {
		height: 640px;
		background: url(/images/top06.png) right top no-repeat;
	}
}
.top_class01 .txt {
	background: url(/images/bg01.png) center center repeat;
}
/* 中央揃え */
@media screen and (min-width:769px) {
	.top_class02 {
		height: 570px;
		background: url(/images/top07.png) left top no-repeat;
	}
}
.top_class02 .txt {
	background: url(/images/bg01.png) center center repeat;
}
@media screen and (max-width: 768px) {
	.top_class01 .txt,
	.top_class02 .txt {
		padding: 1em;
	}
}
@media screen and (min-width:769px) {
	/* 中央揃え */
	ul.top_list01 {
		left: -80px;
	}
}
ul.top_list01 > li {
	border: 10px solid #3c9ef5;
	border-top: none;
	display: inline-block;
	margin-top: 70px;
	padding-left: 15px;
}
ul.top_list01 > li:before {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	top: 0;
	width: 300px;
	height: 10px;
	background: #3c9ef5;
}
ul.top_list01 > li .number {
	font-style: italic;
	font-weight: bold;
	line-height: 0.9;
}
ul.top_list01 > li .txt {
	line-height: 1.2;
	font-weight: bold;
	letter-spacing: 0.2em;
}
ul.top_list01 > li .txt02 {
	line-height: 1.2;
	letter-spacing: 0.2em;
}
@media screen and (min-width:769px) {
	ul.top_list01 > li:nth-child(2n - 1) {
		margin-right: 20px;
	}
	ul.top_list01 > li:nth-child(2n) {
		top: 50px;
	}
	ul.top_list01 > li:nth-child(1),
	ul.top_list01 > li:nth-child(2) {
		margin-top: 0;
	}
	ul.top_list01 > li:nth-child(3),
	ul.top_list01 > li:nth-child(4) {
		left: 80px;
	}
	ul.top_list01 > li:nth-child(5),
	ul.top_list01 > li:nth-child(6) {
		left: 160px;
	}
	ul.top_list01 > li > .box {
		margin: -35px 0 35px;
	}
}
@media screen and (max-width: 768px) {
	ul.top_list01 > li {
		margin: 20px 0;
	}
	ul.top_list01 > li:before {
		width: calc(100% - 70px);
	}
	ul.top_list01 > li > .box {
		margin: -1em 0 1em;
	}
}
/* ==================================================
ul.schedule_list01
================================================== */
ul.schedule_list01 > li {
	background: #fff;
}
ul.schedule_list01 > li .time {
	width: 35% !important;
	font-weight: bold;
}
ul.schedule_list01 > li .time .box {
	border-right: 1px solid #c1c1c1;
	padding: 0 10%;
}
ul.schedule_list01 > li .time p {
	line-height: 0.9;
	letter-spacing: 0.1em;
}
ul.schedule_list01 > li .txt {
	width: 64.99% !important;
}
ul.schedule_list01 > li .txt > .box {
	padding-left: 10%;
}
ul.schedule_list01 > li .txt p {
	line-height: 1.1;
	letter-spacing: 0.2em;
}
ul.schedule_list01 > li:not(:last-child) {
	margin-bottom: 15px;
}
ul.schedule_list01 > li.list.both > * {
	margin: 0 !important;
}
@media screen and (min-width:769px) {
	ul.schedule_list01 {
		padding-left: 40px;
	}
	ul.schedule_list01 > li:after {
		content: "";
		display: block;
		position: absolute;
		left: -40px;
		top: 50%;
		transform: translateY(-50%);
		-webkit- transform: translateY(-50%);
		width: 30px;
		height: 30px;
		border-radius: 50%;
		background: #50aef3;
		border: 10px solid #fff;
	}
	ul.schedule_list01 > li:not(:last-child):before {
		content: "";
		display: block;
		position: absolute;
		left: -25px;
		top: 50%;
		transform: translate(-50%,0);
		-webkit- transform: translate(-50%,0);
		width: 3px;
		height: 100%;
		background: #fff;
	}
}
@media screen and (max-width: 768px) {
	.h100p.both {
		height: 100%;
	}
}
/* ▲ ul.schedule_list01 ▲ */