@charset "UTF-8";

@import url(../fonts/NotoSans/load.css);
@import url(../fonts/NotoSerifCJKjp/load.css);

/*
メインカラー
#54a2dc

サブカラー
#26b99a

アクセントカラー
#fda317
*/

html {
	font-size: 16px;
}

body {
	font-family: 'NotoSans', sans-serif;
	color: #9b6658;
	line-height: 1.625;
	letter-spacing: normal;
	width: 100%;
	margin: 0;
	padding: 0;
	/*-- スマホメニューを開いたときにコンテンツを固定 ← これがキモ --*/
	left: 0 !important;
	position: absolute;
}

@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
================================================== */
.area01 {
	height: 1212px;
	background: url(/images/bg03.png) top center;
	background-size: cover;
}
.area02 {
	height: 705px;
	background: url(/images/bg04.png) top center;
	background-size: cover;
}
.area03 {
	height: 641px;
	background: url(/images/bg05.png) top center;
	background-size: cover;
}
.area07 {
	background: url(/images/bg02.png) top center repeat;
}
.area08 {
	padding: 100px 0;
	background: url(/images/bg02.png) top center repeat;
}
.area09 {
	padding: 100px 0;
	background: url(/images/bg01.png) top center repeat;
}
.area10 {
	background: url(/images/bg02.png) top center repeat;
}


@media screen and (min-width:769px) {
	.area10:before {
	content: "";
	display: block;
	position: absolute;
	left: calc(50% + 590px);
	top: -43px;
	width: 73px;
	height: 43px;
	background: url(../images/about08.png) center center no-repeat;
	background-size: cover;
	}/* ▲ アイコン追加 ▲ */
	.area07 {
		padding: 20px 0 0;
	}
	.area07 + .area08 {
		padding-top: 50px;
	}
}
@media screen and (max-width: 768px) {
	.area07 {
		display: none;
	}
	.area07 + .area08 {
		padding-top: 30px;
	}
}
.sub main > section:last-child {
	padding-bottom: 100px;
	margin-bottom: 0;
}
@media screen and (min-width:769px) {
	.sub main > section:last-child {
		padding-bottom: 100px;
	}
}
@media screen and (max-width: 768px) {
	body section {
		height: auto !important;
		max-width: 100%;
		padding: 5vh 0 !important;
	}
	.sub main > section:last-child {
		padding-bottom: 5vh;
	}
}

/* ==================================================
h3.default
================================================== */
h3.default {
	text-align: center;
	font-weight: bold;
}

@media screen and (min-width:769px) {
	h3.default {
		margin-bottom: 50px;
		min-height: 146px;
		background: url(/images/h3.png) top center no-repeat;
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		align-items: center;
		justify-content: center;
		margin-bottom: 20px;
		font-size: 30px;
		color: #e08f77;
		letter-spacing: 0.2em;
	}
}
@media screen and (max-width: 768px) {
	h3.default {
		margin-bottom: 2vh;
	}
}
/* ▲ h3.default ▲ */

.go {
	font-family: 'NotoSans', sans-serif;
}

.b {
	font-weight: bold;
}

.min {
	font-family: 'NotoSerifCJKjp', serif;
}

/* ==================================================
色設定
================================================== */
.basic {
	color: #efb7a8;
}
.bg_basic {
	background: #efb7a8;
}
.red {
	color: #e30000;
}
.bg_red {
	background: #e30000;
}

.white {
	color: #fff;
}

.bg_white {
	background: #fff;
}

.required-mark {
    background: #e74c3c;
}

.error-text {
    color: #e74c3c;
}
/* ▲ 色設定 ▲ */


/* ---------- ×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: normal;
	vertical-align: top;
}

div,
section,
p,
header,
footer,
a,
main,
nav,
ul,
li,
span,
h1,
h2,
h3,
h4,
h5,
table,
th,
td,
*: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;
}

th,
td {
	vertical-align: middle;
}

.error-text {
	color: #ff9934;
}

.wrap {
	overflow: hidden;
}

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:769px) { 

	.sp {
		display: none !important;
	}

}

@media screen and (max-width: 768px) {

	.pc {
		display: none !important;
	}

}

.category {
	z-index: 1;
	position: relative;
}

.bg {
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
	position: absolute;
}

.bg img {
	position: absolute;
	bottom: 0;
	left: calc(50% - 960px);
	max-width: initial;
}

.gmap {
	height: 250px;
}

.gmap iframe {
	width: 100%;
	height: 100%;
}

table {
	width: 100%;
}

@media screen and (max-width: 768px) {
	.overflow {
		width: 100%;
		overflow-x: auto;
	}

	.overflow table {
		white-space: nowrap;
	}

	.overflow table th,
	.overflow table td {
		display: table-cell;
		width: auto;
	}
}

/* ▼ table.default ▼ */
table.default {
	border-collapse: collapse;
	border-spacing: 0;
	border-top: 1px solid #65bad5;
	border-bottom: 1px solid #65bad5;
}

table.default th {
	background: #fff;
	border: 1px solid #65bad5;
	text-align: left;
	color: #65bad5;
	padding: 1em;
	position: static; /* borderバグ対策 */
	vertical-align: top;
}

table.default td {
	color: #fff;
	border: 1px solid #fff;
	background: #65bad5;
	padding: 1em;
	position: static; /* borderバグ対策 */
}

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-spacing: 0;
	}
	table.default th {
		width: 100%;
		padding: 0.5em 1em;
	}
	table.default td {
		width: 100%;
		padding: 0.5em 1em;
		border: 1px solid #65bad5;
	}
}

/* ▼ table.sub ▼ */
table.sub {
	border-spacing: 0;
}
table.sub tr:nth-child(2n){
	background: #ffffff;
}
table.sub tr:nth-child(2n - 1){
	background: #fef7ef;
}
table.sub {
	border-collapse: collapse;
	border-spacing: 0;
}
table.sub th {
	/* width: 40%; */
	width: 60%;
	text-align: left;
	font-weight: normal;
	vertical-align: top;
	position: static; /* borderバグ対策 */
	padding: 1em;
	letter-spacing: 0.2em;
}
table.sub td {
	position: static; /* borderバグ対策 */
	padding: 1em;
	text-align: right;
	letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
	table.sub th {
		background: #ffffff;
		text-align: left;
		width: 100%;
		padding: 1em;
		font-weight: bold;
	}
	table.sub td {
		background: #fef7ef;
		width: 100%;
		padding: 1em;
	}
}
/* ▲ table.sub ▲ */

/* ▼ table.sub02 ▼ */
table.sub02 {
	border-spacing: 0;
}
table.sub02 tr:nth-child(2n){
	background: #ffffff;
}
table.sub02 tr:nth-child(2n - 1){
	background: #fef7ef;
}
table.sub02 {
	border-collapse: collapse;
	border-spacing: 0;
}
table.sub02 th {
	width: 20%;
	text-align: right;
	font-weight: normal;
	vertical-align: top;
	position: static; /* borderバグ対策 */
	padding: 1em 1.5em;
	letter-spacing: 0.2em;
}
table.sub02 td {
	position: static; /* borderバグ対策 */
	padding: 1em 1.5em;
	text-align: left;
	letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
	table.sub02 th {
		background: #ffffff;
		text-align: left;
		width: 100%;
		padding: 1em;
		font-weight: bold;
	}
	table.sub02 td {
		background: #fef7ef;
		width: 100%;
		padding: 1em;
	}
}
/* ▲ table.sub02 ▲ */

/* ▼ table.basic ▼ */
@media screen and (min-width:769px) {
	table.basic tr {
		border-bottom: 1px solid;
	}
	table.basic tr th,
	table.basic tr td {
		padding: 0.75em 1em;
	}
	table.basic tr td {
		text-align: right;
	}
}
@media screen and (max-width: 768px) {
	table.basic tr th {
		color: #fff;
		background: #613c1f;
	}
	table.basic tr th,
	table.basic tr td {
		width: 100%;
		padding: 0.5em 1em;
	}
}
/* ▲ table.basic ▲ */

.inner {
	width: 1080px;
	margin:  0 auto;
}

.x {
	position: relative;
	left: 50%;
	transform: translate(-50%, 0);
	display: table;
	width: auto;
}

@media screen and (min-width:769px) {
	.y {
		position: relative;
		top: 50%;
		transform: translate(0, -50%);
		display: block;
	}
}

b {
	font-weight: bold;
}

/* ==================================================
汎用クラス
================================================== */
/* 整列
-------------------------------------------------- */
@media screen and (min-width:769px) {
	.left_area {
		float: left;
		width: auto;
	}
	.right_area {
		float: right;
		width: auto;
	}
}
.left {
	text-align: left;
}
.center {
	text-align: center;
}
.right {
	text-align: right;
}

/* クリア
-------------------------------------------------- */
.clear {
	clear: both;
}

.clearfix:after {
	content: " ";
	display: block;
	clear: both;
}


/* ==================================================
タグ
================================================== */
/* img
-------------------------------------------------- */
img {
	max-width: 100%;
	width: auto;
	height: auto;
	box-sizing: border-box;
	object-fit: scale-down;
	font-family: 'object-fit: scale-down;';
}

/* a
-------------------------------------------------- */
a {
	transition: All 0.4s ease;
}

a img {
	transition: All 0.4s ease;
}

a:hover > img:only-child {
	opacity: .8;
}

@media screen and (min-width: 768px) {
	a[href^="tel:"] {
		color: inherit;
		text-decoration: none;
		pointer-events: none;
	}
}


/* ==================================================
テーブル
================================================== */
/* スタイル1
-------------------------------------------------- */
.styled-table01 {
	width: 100%;
	margin: 1em 0;
	line-height: 1.7;
	border-collapse: separate;
}

.styled-table01:first-child {
	margin-top: 0;
}

.styled-table01 th,
.styled-table01 td {
	padding: 12px;
	vertical-align: top;
	border: 1px solid #ddd;
	background: #fff;
}

.styled-table01 th {
	width: 35%;
	font-weight: normal;
	background: #f7f7f7;
}

.styled-table01 thead th {
	background: #e6e6e6;
}

.styled-table01 caption {
	text-align: center;
	font-size: 20px;
}

/* その他オプション
-------------------------------------------------- */
/* セルの横幅を均等にする
------------------------- */
.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;
}




/* 大きいサイズのテーブルはスマホではスクロールさせる
------------------------- */
@media screen and (max-width: 768px) {
	.scroll-table-wrap {
		margin: 1em 0;
		overflow-x: scroll;
	}

	.scroll-table-wrap table {
		width: 700px;
		margin: 0;
	}
}


/* ==================================================
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: normal;
	vertical-align:middle;
}

.breadcrumbs-list li:not(:last-child):after {
	content: ">";
	margin: 0 10px;
	font-family: sans-serif;
	font-weight: bold;
	font-size: 0.8em;
}

/* ==============================================　ASP　============================================== */

/* ==================================================
ページネーション
================================================== */
.pagenation {
	display: flex;
	justify-content: center;
	margin-top: 5vh;
}
.pagenation li {
	margin: 0 0.25em;
	text-align: center;
	line-height: 1;
	background: #aaa;
	font-weight: bold;
}
.pagenation li > * {
	text-decoration: none;
	vertical-align: middle;
	display: block;
	width: 100%;
	height: 100%;
	padding: 0.5em 0.75em;
	box-sizing: border-box;
}
.mb5 {
	margin-bottom: 5px;
}
@media screen and (max-width: 768px) {
	.pagenation li > * {
		padding: 0.5em;
	}
}
.pagenation li:hover,
.pagenation li.current {
	background: #555;
	color: #fff;
}
.g-recaptcha {
	width: auto;
	margin: auto;
	display: table;
}
.contact-submits-wrap {
    margin: 20px auto 0;
    width: auto;
    display: table;
}
.contact-recaptcha-wrap {
	display: block;
	margin: 0;
}
input#agree,
input#pc01,
input#pc02 {
	width: auto;
}
/* ==============================================　▲ ASP　▲ ============================================== */


/* ==================================================
ヘッダー
================================================== */
.page-header {
	width: 100%;
	background: url(/images/bg02.png) top center repeat;
}

/* ==================================================
ul.h_cate
================================================== */
@media screen and (min-width:769px) {
	ul.h_cate {
	}
	ul.h_cate > li ul.contact_list > li {
		line-height: 1.4;
	}
	ul.h_cate > li ul.contact_list > li .h_contact > a {
	}
	ul.h_cate > li ul.contact_list > li .h_time {}
}

/* gnv
-------------------------------------------------- */
@media screen and (min-width:769px) {
	.header-nav {
		background: #fff;
	}
}

@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: normal;
}

ul.gnv > li:before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
	width: 1px;
	height: 47px;
	background: #f1e6e2;
}/* ▲ アイコン追加 ▲ */

ul.gnv > li:last-child:after {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
	width: 1px;
	height: 47px;
	background: #f1e6e2;
}/* ▲ アイコン追加 ▲ */

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;
}

/* MV
-------------------------------------------------- */
@media screen and (min-width:769px) {
	.main-visual {
		width: 1920px;
		left: 50%;
		margin-left: -960px;
	}
	.catch {
		position: absolute;
		top: 50%;
		left: calc(50% - 540px);
		transform: translateY(-50%);
		-webkit- transform: translateY(-50%);
		z-index: 10;
		max-width: 100%;
		max-height: 100%;
		text-align: center;
	}
	.back {
		margin: 0 auto;
		width: auto;
		display: table;
	}
	.back img {
		width: auto;
		height: auto;
		max-width: inherit;
	}
}
@media screen and (max-width: 768px) {
	.main-visual {
		height: 56.25vw; /*画像高さ÷1080vw*/
	}
	.catch {
		position: absolute;
		width: 100%;
		height: 100%;
		max-width: 100%;
		max-height: 100%;
		z-index: 100;
		font-size: 2rem !important;
    line-height: 1.3;
    display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.catch img {
    width: 90%;
    height: 90%;
	}
	.back img {
		max-width: 100%;
		height: auto;
	}
}

/* SV
-------------------------------------------------- */
.sub-visual {
	width: 100%;
	margin: 0 auto;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: relative;
	font-weight: bold;
	line-height: 1.3;
}
@media screen and (min-width:769px) {
	.sub-visual .catch {
		color: #eb9587;
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 438px;
		height: 208px;
		line-height: 1;
		top: auto;
		bottom: 10px;
		transform: inherit;
		-webkit- transform:  inherit;
		padding: 50px 0 0 60px;
		background: url(/images/sv_catch.png) top center no-repeat;
	}
}
/*.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;
}*/
.sub-visual .back {
	left: calc(50% - 960px);
}
@media screen and (max-width: 768px) {
	.sub-visual {
		width: 100%;
		height: 30vw; /*画像高さ÷1080vw*/
		background: url(/images/sv.jpg);
		background-size: auto 100%;
		width: 100%;
		text-shadow    : 
       2px  2px 1px #ffffff,
      -2px  2px 1px #ffffff,
       2px -2px 1px #ffffff,
      -2px -2px 1px #ffffff,
       2px  0px 1px #ffffff,
       0px  2px 1px #ffffff,
      -2px  0px 1px #ffffff,
       0px -2px 1px #ffffff;
	}
	.sub-visual .back {
		display: none;
		left: auto;
	}
}

/* ==================================================
btn01
================================================== */
.btn01 {
	letter-spacing: 0.2em;
	border-radius: 1.9em;
}

.btn01 > a {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #f0d2b6;
	width: 100%;
	height: 100%;
	z-index: 1;
	padding: 0.5em 1em;
	border-radius: 1.9em;
}

.btn01 > a > img {
	margin: 0 10px 0 0;
}

/* ==================================================
btn02
================================================== */

.btn02 {
	width: auto;
	display: table;
	margin: auto;
}

.btn02 a {
	width: 100%;
	padding: 0.5em 2em;
	background: #a9894b;
	align-items: center;
	display: flex;
	justify-content: center;
	line-height: 1.5;
	font-weight: bold;
}

.btn02 a:after {
	content: "\025b6";
	display: block;
	font-size: 50%;
	width: 1em;
	height: 1em;
	line-height: 1em;
	position: absolute;
	top: 50%;
	right: 10%;
	transform: translateY(-50%) !important;
	-webkit- transform: translateY(-50%) !important;
}

/* ==================================================
btn03
================================================== */

.btn03 {
	width: auto;
	display: table;
	margin: auto;
}

.btn03 a {
	width: 100%;
	padding: 0.5em;
	align-items: center;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	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;
	letter-spacing: 0.2em;
	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: #efb7a8;
	width: 100%;
	height: 100%;
	z-index: 1;
	padding: 0.75em;
	border-radius: 1.9em;
}

.btn04 > a > img {
	margin: 0 10px 0 0;
}

/* ==================================================
btn05
================================================== */
.btn05 {
	line-height: 1.5;
	margin: auto;
	font-weight: bold;
}

.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;
}

/* ==================================================
縦文字
================================================== */
.tate {
    width: 100%;
		writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		-webkit-writing-mode:vertical-rl;
		text-align: initial;
		letter-spacing: 0.3em;
		line-height: 1.5;
		font-family: "游明朝", "ＭＳ 明朝", serif;
}

/* 縦文字中央寄せ */
.move {
		width: 100%;
		display: flex;
		vertical-align: middle;
		text-align: center;
		align-items: center;
		justify-content: center;
}

/* ==================================================
フッター
================================================== */
footer {
	background: url(/images/bg01.png) center center;
	padding: 50px 0 10px;
}
@media screen and (max-width: 768px) {
	footer {
		padding: 5vh 0;
	}
}
.footer-copyright {
	text-align: center;
	background: url(/images/copyright.png) center center;
}

/*==================================================
.fnav ul
================================================== */
.fnav {
	background: #d12406;
}

.fnav ul {
}

.fnav ul li a {
	color: #fff;
	display: block;
	padding: 1em;
}

/* ==================================================
サイドバー
================================================== */
.page-body-sidebar {
	width: 300px;
	float: right;
}


/* ==================================================
コンテンツ
================================================== */

/* 見出し
------------------------- */
.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;
	}
}

.detail_txt {
	width: 100%;
}

/* タグリスト */
.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: ',';
}

/* SNSシェアボタン
------------------------- */
.share-btn-list {
	margin: 0 0 16px;
	text-align: right;
	font-size: 0;
	letter-spacing: normal;
	overflow: hidden;
}

.share-btn-list li {
	margin: 0 0 0 8px;
	vertical-align: top;
	display: inline-block;
}

/* 詳細ページ 前後の記事へのリンク
-------------------------------------------------- */

.prev-next-post {
	overflow: hidden;
	text-align: center;
}

.go-index {
	text-align: center;
	min-height: 1px;
	box-sizing: border-box;
}

.prev-next-post .prev-post,
.prev-next-post .next-post {
	box-sizing: border-box;
	min-height: 1px;
}

.go-index,
.prev-next-post .prev-post,
.prev-next-post .next-post {
	display: inline-block;
	text-align: center;
}

.prev-next-post .prev-post a,
.prev-next-post .next-post a,
.prev-next-post .go-index a {
	padding: 0;
	line-height: 1.3;
	display: block;
	overflow: hidden;
}

.prev-next-post .next-post a .prev-next-post .prev-post a,
.prev-next-post .next-post a {
	background: none;
}

.page-footer {
	background: none;
	color: inherit;
	font-size: inherit;
}

ul.share-btn-list,
ul.share-btn-list li{
	height: auto;
	width: auto;
	margin: 0;
	padding: 0;
}

ul.share-btn-list li {
	line-height: 1;
	height: inherit;
	padding: 0;
	display: inline-block;
	vertical-align: top;
	padding: 10px;
}


/* その他
-------------------------------------------------- */
/* 投稿日 */
.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 {
	letter-spacing: -0.5em;
}

.sitemap-list li{
	background:#fff;
	display: block;
	width: 100%;
	padding: 0;
	line-height: 20px;
	letter-spacing: 0.1em;
	margin-bottom: 10px;
	border: none;
	box-sizing: border-box;
	margin-bottom: 2vh;
}

.sitemap-list li a{
	width: 100%;
	display:block;
	background-color:#fff;
	padding: 20px;
	box-sizing: border-box;
	border-radius: 5px;
	box-shadow: 2px 2px 4px rgba(0,0,0,0.1);
}

.sitemap-list li a:before{
	content: "\02192";
	margin-right: 1em;
}

.sitemap-list li.oya a:hover {
	filter: alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
	text-decoration: none;
}

.sitemap-list li.oya a:before {
	display: none;
}

.sitemap-list li.child {
	margin-left: 50px;
	width: calc(100% - 50px);
}

@media screen and (max-width: 768px) {
	.sitemap-list li a {
		padding: 10px;
	}

	.sitemap-list li.child {
		margin-left: 10px;
		width: calc(100% - 10px);
	}
}

/*==================================================
 可変横並び
 ==================================================*/
@media screen and (min-width:769px) {
	.inner_img {
		float: right;
		max-width: 50%;
		display: flex;
		align-items: center;
	}
	.inner_img.left_area {
		float: left;
	}
}

.inner_txt {
	overflow: hidden;
	_zoom: 1; /*IE6バグ対策*/
	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: 1vh 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;
	}
}

/* ▼ 写真幅 ▼ */
.picture:before {
	content: "";
	display: block;
	padding-top: 66.66%; /* 高さを幅の75%に固定 */
}

.picture > * {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

@media screen and (max-width: 768px) {
	.picture:before {
		display: none;
	}
	.picture > * {
		position: relative;
		width: auto !important;
		height: auto !important;
	}
}
/* ▲ 写真幅 ▲ */

body *.inline-block {
	display: inline-block;
}

body *.table {
	display: table;
	margin-left: auto;
	margin-right: auto;
}

body *.cell {
	display: table-cell;
	vertical-align: middle;
}

body *.cell img {
	vertical-align: baseline;
}

body *.absolute {
	position: absolute;
}

/*==================================================
プライバシーポリシー
================================================== */
.case-list {
}

.case-list li {
	width: calc(100% / 4);
	padding: 10px;
	margin: 0 0 20px 0;
	display: inline-block;
	vertical-align: top;
	letter-spacing: normal;
}

.case-list li:nth-child(4n) {
	margin-right: 0;
}

.case-list li a {
	width: 100%;
	height: 100%;
	display: block;
	background: #f5f5f5;
}

.case-list li img {
	object-fit: contain;
	width: 100%;
	height: 100%;
	max-height: 280px;
}

.state {
	position: absolute;
	z-index: 1;
	top: 20px;
	left: 20px;
	display: block;
	font-weight: bold;
	color: #fff;
	padding: 20px 10px;
	background: #196dbe;
	letter-spacing: 0.1em;
}

/*==================================================
before有、after有、タグ無し、ギャラリー無し(index)
================================================== */
@media screen and (min-width:769px) {
	ul.ba_list_index > li {
		width: calc((100% - 60px) / 3);
		margin: 0 30px 30px 0;
		vertical-align: top;
		letter-spacing: normal;
		display: inline-block;
		border: 1px solid #aaa;
		background: #fff;
		z-index: 1;
		box-shadow: 0 0 10px rgba(0,0,0,0.2);
	}

	ul.ba_list_index > li:nth-child(3n) {
		margin-right: 0;
	}

	ul.ba_list_index > li:nth-last-child(-n + 3) {
		margin-bottom: 0;
	}
}

@media screen and (max-width: 768px) {
	ul.ba_list_index > li {
		width: 100%;
		margin: 0 0 10px 0 !important;
		vertical-align: top;
		letter-spacing: normal;
		display: inline-block;
		z-index: 1;
	}

	ul.ba_list_index > li:last-child {
		margin-bottom: 0 !important;
	}
}
/*  ⇣⇣ ギャラリー ⇣⇣ (css) */
ul.ba_list_index > li > div {
	background: url(/images/gallery01.png) top left no-repeat;
}

ul.ba_list_index > li .img {
	position: relative;
	display: block;
}

ul.ba_list_index > li .img:before {
	content:"";
	display: block;
	padding-top: 77.66%;
}

ul.ba_list_index > li .img * {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
}

ul.ba_list_index > li .title {
	overflow: hidden;
	vertical-align: middle;
	white-space: nowrap;
	text-overflow: ellipsis;
	display: block;
}
/* ▲ 等幅横並びリスト(css) ▲ */

/*==================================================
before有、after有、タグ無し、ギャラリー無し(detail)
================================================== */
@media screen and (min-width:769px) {
	ul.ba_list > li {
		width: 100%;
		margin: 0;
		display: inline-block;
		vertical-align: top;
		letter-spacing: 0.1em;
	}

	ul.ba_list > li:nth-child(2n) {
		margin-right: 0;
	}

	ul.ba_list > li:nth-last-child(-n + 2) {
		margin-bottom: 0;
	}

	ul.ba_list > li .ba_list_inner:before {
		font-size: 200%;
	}
}

@media screen and (max-width: 768px) {
	ul.ba_list > li {
		width: 100%;
		margin: 0 0 10px 0 !important;
		display: block;
	}

	ul.ba_list > li:last-child {
		margin-bottom: 0 !important;
	}

	ul.ba_list > li .ba_before.left_area {
		float: left;
	}

	ul.ba_list > li .ba_after.right_area {
		float: right;
	}

}

ul.ba_list > li .ba_before,
ul.ba_list > li .ba_after {
	width: 43.5%;
}

ul.ba_list > li .ba_before > .img,
ul.ba_list > li .ba_after > .img {
	position: relative;
	display: block;
	border: 1px solid #bca439;
}

ul.ba_list > li .ba_before > .img:before,
ul.ba_list > li .ba_after > .img:before {
	content:"";
	display: block;
	padding-top: 77.66%;
}

ul.ba_list > li .ba_before > .img img,
ul.ba_list > li .ba_before > .img a,
ul.ba_list > li .ba_after > .img img,
ul.ba_list > li .ba_after > .img a {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
}

ul.ba_list > li .txt {
	margin: auto;
}

ul.ba_list > li .title {
	display: block;
	line-height: 1.3;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

ul.ba_list > li .ba_list_inner:before {
	content: "\025b6";
	color: #bca439;
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	line-height: 1;
	transform: translateX(-50%) scale(1, 2.5);
	-webkit- transform: translateX(-50%) scale(1, 2.5);
}/* before有、after有、タグ無し、ギャラリー無し */

ul.ba_list > li .ba_state {
	text-align:center;
}

ul.ba_list > li .ba_state:first-letter {
	color: #1c28c7;
}





/*==================================================
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;
	}
}

/*==================================================
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;
		align-items: end;
	}
}
@media screen and (max-width: 768px) {
	.end.both {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		align-items: end;
	}
}

/*==================================================
ul.list
================================================== */
@media screen and (min-width:769px) {
	ul.list {
	}
	ul.list {
		font-size: 0;
		letter-spacing: -0.1em;
	}
	ul.list > li {
		display: inline-block;
		vertical-align: top;
		box-sizing: border-box;
	}
	ul.list > li:first-child {
		margin-left: 0;
	}
	ul.list > li:last-child {
		margin-right: 0;
	}
}
@media screen and (max-width: 768px) {
	ul.list.both {
	}
	ul.list.both {
		font-size: 0;
		letter-spacing: -0.1em;
	}
	ul.list.both > li {
		display: inline-block;
		vertical-align: top;
		box-sizing: border-box;
	}
	ul.list.both > li:first-child {
		margin-left: 0;
	}
	ul.list.both > li:last-child {
		margin-right: 0;
	}
}

/*==================================================
ul.li共通
================================================== */
@media screen and (max-width: 768px) {
	ul > li {
		width: 100%;
		display: block;
		margin: 0;
		box-sizing: border-box;
	}
	ul.around > li,
	ul.end > li,
	ul.middle > li,
	ul.flex > li,
	ul.list > li,
	ul.fit > li {
		margin-bottom: 1em;
	}
}

ul.around > li *.img img,
ul.end > li *.img img,
ul.middle > li *.img img,
ul.flex > li *.img img,
ul.list > li *.img img,
ul.fit li > *.img img {
	height: 100%;
	width: 100%;
	background: none;
}



/* ▼ 詳細なし、タグなし、タイトル毎見出し、グループループ、ギャラリー ▼ */
.case_btn li a {
	display: block;
	background: #f00;
	width: 100%;
	height: 53px;
	line-height: 53px;
}

@media screen and (min-width:769px) {
	ul.case_btn > li {
		text-align: center;
		width: calc((100% - 80px) / 5);
		margin: 0 20px 20px 0;
		display: inline-block;
		vertical-align: top;
		letter-spacing: normal;
	}

	ul.case_btn > li:nth-child(5n) {
		margin-right: 0;
	}

	ul.case_btn > li:nth-last-child(-n + 5) {
		margin-bottom: 0;
	}
}

@media screen and (max-width: 768px) {
	ul.case_btn > li {
		text-align: center;
		width: 100%;
		margin: 0 0 10px 0 !important;
		display: block;
		vertical-align: top;
		letter-spacing: normal;
	}

	ul.case_btn > li:last-child {
		margin-bottom: 0 !important;
	}
}

@media screen and (min-width:769px) {
	ul.case_boxs:not(:last-child) {
		margin-bottom: 100px;
	}

	ul.case_boxs > li {
		width: calc((100% - 60px) / 3);
		margin: 0 30px 30px 0;
		display: inline-block;
		vertical-align: top;
		letter-spacing: normal;
	}

	ul.case_boxs > li:nth-child(3n) {
		margin-right: 0;
	}

	ul.case_boxs > li:nth-last-child(-n + 3) {
		margin-bottom: 0;
	}
}

@media screen and (max-width: 768px) {
	ul.case_boxs > li {
		width: calc((100% - 10px) / 2);
		margin: 0 10px 10px 0 !important;
		display: inline-block;
		vertical-align: top;
		letter-spacing: normal;
	}

	ul.case_boxs > li:nth-child(2n) {
		margin-right: 0 !important;
	}

	ul.case_boxs > li:nth-last-child(-n + 2) {
		margin-bottom: 0 !important;
	}

	.case_boxs:not(:last-child) {
		margin-bottom: 30px;
	}
}

ul.case_boxs > li:before {
	content:"";
	display: block;
	padding-top: 66.66%;
}

ul.case_boxs > li img,
ul.case_boxs > li a {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
	object-fit: scale-down;
	font-family: 'object-fit: scale-down;';
}

/* ▲ 詳細なし、タグなし、タイトル毎見出し、グループループ、ギャラリー ▲ */


.case_tag {
	display: inline-block;
	width: auto;
	line-height: 1.5;
	border-radius: 1em;
}

.case_tag a {
	display: block;
	background: #379be1;
	padding: 0.25em 1em;
	color: #fff;
	border-radius: 1em;
}

/* ==================================================
.photo
================================================== */
.photo {
	display: block;
}
@media screen and (min-width:769px) {
	.photo:before {
		display: block;
		content: "";
		padding-top: 56.25%;/* 縦横比を指定 */
	}
	.photo > * {
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
		width: 100%;
		height: 100%;
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: center;
		align-items: middle;
	}
}
.photo img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
	border: 1px solid #fff;
}
@media screen and (min-width:769px) {
	.photo img {
		display: table;
		margin: auto;
	}
}
/* 縦横比を固定 */
@media screen and (max-width: 768px) {
	.photo img {
		max-height: 56.25vw;
	}
}
/* ▲ .photo ▲ */

/*==================================================
ul.case_list（施工事例 index）
================================================== */
ul.case_list {
	width: 100%;
}

@media screen and (min-width:769px) {
	ul.case_list > li {
		width: calc((100% - 60px) / 3);
		margin: 0 30px 30px 0;
		vertical-align: top;
		letter-spacing: normal;
		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: normal;
		display: inline-block;
	}

	ul.case_list > li:last-child {
		margin-bottom: 0 !important;
	}
}

ul.case_list > li .txt {
	margin: 1em 0 0;
	overflow: hidden;
	vertical-align: middle;
	white-space: nowrap;
	text-overflow: ellipsis;
	display: block;
	line-height: 1;
}

/*==================================================
施工事例detail
================================================== */

#full {
	margin-bottom: 50px;
}

#full .inner_img {
	text-align: center;
	float: left;
	margin-left: 0;
	margin-right: 30px;
	background: url(/images/footer.png) bottom center repeat;
	background: #f5f5f5;
	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: normal;
	background: url(/images/footer.png) bottom center repeat;
}

#thumb li img {
	height: 90px;
}
/*　施工事例ここまで */

/* ▼ slider設定 ▼ */
.slider {
	width: 100%;
	margin: 0 auto;
}

.slider li a {
	margin: auto 20px;
	display: block;
}

.slider li .icon {
	display: block;
}

.slider li .icon:before {
	content:"";
	display: block;
	padding-top: 56.25%;
}

.slider li .icon > * {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
}

.slider li .title {
	display: block;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.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;
	}

	ul.slider li img {
		width: auto;
		height: auto;
	}
}
/* ▲ slider設定 ▲ */





/* ==================================================
blog_area
================================================== */
.blog_area {
}

.blog-list > li {
	width: 100%;
	padding: 0.75em 0;
	border-bottom: 1px solid #f0d2b6;
}

.blog-list {
	box-sizing: border-box;
}

/* タグ */
.news_tag {
	margin-right: 2em;
	vertical-align: middle;
	display: inline-block;
	text-align: center;
	background: #ccc;
}

.news_tag a {
	display: block;
	width: 100%;
	height: 100%;
	padding: 0 0.5em;
}

/* 日付 */
.news_day {
	color: #eeaf9e;
	margin-right: 2em;
	vertical-align: middle;
	text-align: center;
}
@media screen and (max-width: 768px) {
	.news_day {
		display: block;
		float: none;
		text-align: left;
	}
	.blog_area:not(:last-child) {
		margin-bottom: 5vh;
	}
}

/* タイトル */
.news_main {
	overflow: hidden;
	vertical-align: middle;
	white-space: nowrap;
	text-overflow: ellipsis;
	padding: 0;
	width: auto;
	display: block;
}
/* ▲　blog-list　▲ */

/* ==================================================
blog-list_02
================================================== */
.blog-list_02 > li {
	width: 100%;
	line-height: 1.5;
	background: #fff;
	padding: 0.75em 2em;
	border-left: 6px solid #d22505;
	margin-bottom: 1em;
}

.blog-list_02 > li:last-child {
	margin-bottom: 0;
}

.blog-list_02 {
	box-sizing: border-box;
}

/* 日付 */
.news_day_02 {
	color: #d22505;
	vertical-align: middle;
	display: block;
}

/* タイトル */
.news_main_02 {
	overflow: hidden;
	vertical-align: middle;
	white-space: nowrap;
	text-overflow: ellipsis;
	padding: 0;
	width: auto;
}

@media screen and (min-width:769px) {
	.more {
		position: absolute;
		right: 0;
		top: -5px;
		z-index: 1;
	}
}

@media screen and (max-width: 768px) {
	body .more {
		margin-top: 3vh;
	}
}
/* ▲　blog-list_02　▲ */

/* ==================================================
blog-list03
================================================== */
.blog_area {
}
.blog-list03 > li {
	width: 100%;
}
.blog-list03 > li:not(:last-child) {
	margin-bottom: 30px;
}
.blog-list03 > li > a {
	background: #fff;
	padding: 25px;
	width: 100%;
	height: 100%;
}
.blog-list03 > li > a:before {
	content: "";
	display: block;
	position: absolute;
	right: 40px;
	top: 50%;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
	width: 22px;
	height: 6px;
	background: url(../images/arrow01.png) right center no-repeat;
	background-size: cover;
}/* ▲ アイコン追加 ▲ */
/* 日付 */
.blog-list03 .news_day {
	vertical-align: middle;
	display: inline-block;
	text-align: center;
	padding: 1em 2em;
}
@media screen and (max-width: 768px) {
	.blog-list03 .news_day {
		display: block;
		text-align: left;
	}
}
/* タイトル */
.blog-list03 .news_main {
	overflow: hidden;
	vertical-align: middle;
	white-space: nowrap;
	text-overflow: ellipsis;
	padding: 1em 2em;
	width: auto;
	display: block;
	border-left: 1px solid #ccc;
}
/* ▲　blog-list　▲ */

/* ==================================================
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 {
	background: #ddd;
	border-radius: 10px;
	box-shadow: 1px 1px 0 #898989;
	padding: 10px 40px;
	display: table;
	width: auto;
	margin: auto;
}

.js-ajaxLoadBtn:hover {
	filter:alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
	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%;
}

@media screen and (min-width:769px) {
	#contact label {
		margin-right: 20px;
	}
}

/* ▼ f_nav ▼ */
@media screen and (min-width:769px) {
	.f_nav {
	}
}

@media screen and (max-width: 768px) {
	.f_nav {
		display: none;
	}
}
/* ▲ f_nav ▲ */

/* ▼ f_nav02 ▼ */
@media screen and (min-width:769px) {
	.f_nav02 {
	}
}

@media screen and (max-width: 768px) {
	.f_nav02 {
		display: none;
	}
}
/* ▲ f_nav02 ▲ */

/* ==================================================
文字サイズ
================================================== */
.fs8 {
	font-size: 8px !important
}
.fs9 {
	font-size: 9px !important
}
.fs10 {
	font-size: 10px !important
}
.fs11 {
	font-size: 11px !important
}
.fs12 {
	font-size: 12px !important
}
.fs13 {
	font-size: 13px !important
}
.fs14 {
	font-size: 14px !important
}
.fs15 {
	font-size: 15px !important
}
.fs16 {
	font-size: 16px !important
}
.fs17 {
	font-size: 17px !important
}
.fs18 {
	font-size: 18px !important
}
.fs19 {
	font-size: 19px !important
}
.fs20 {
	font-size: 20px !important
}
.fs21 {
	font-size: 21px !important
}
.fs22 {
	font-size: 22px !important
}
.fs23 {
	font-size: 23px !important
}
.fs24 {
	font-size: 24px !important
}
.fs25 {
	font-size: 25px !important
}
.fs26 {
	font-size: 26px !important
}
.fs27 {
	font-size: 27px !important
}
.fs28 {
	font-size: 28px !important
}
.fs29 {
	font-size: 29px !important
}
.fs30 {
	font-size: 30px !important
}
.fs31 {
	font-size: 31px !important
}
.fs32 {
	font-size: 32px !important
}
.fs33 {
	font-size: 33px !important
}
.fs34 {
	font-size: 34px !important
}
.fs35 {
	font-size: 35px !important
}
.fs36 {
	font-size: 36px !important
}
.fs37 {
	font-size: 37px !important
}
.fs38 {
	font-size: 38px !important
}
.fs39 {
	font-size: 39px !important
}
.fs40 {
	font-size: 40px !important
}
.fs41 {
	font-size: 41px !important
}
.fs42 {
	font-size: 42px !important
}
.fs43 {
	font-size: 43px !important
}
.f44 {
	font-size: 44px !important
}
.fs45 {
	font-size: 45px !important
}
.fs46 {
	font-size: 46px !important
}
.fs47 {
	font-size: 47px !important
}
.fs48 {
	font-size: 48px !important
}
.fs49 {
	font-size: 49px !important
}
.fs50 {
	font-size: 50px !important
}
.fs51 {
	font-size: 51px !important
}
.fs52 {
	font-size: 52px !important
}
.fs53 {
	font-size: 53px !important
}
.fs54 {
	font-size: 54px !important
}
.fs55 {
	font-size: 55px !important
}
.fs56 {
	font-size: 56px !important
}
.fs57 {
	font-size: 57px !important
}
.fs58 {
	font-size: 58px !important
}
.fs59 {
	font-size: 59px !important
}
.fs60 {
	font-size: 60px !important
}
@media screen and (max-width: 768px) {
	.fs16,
	.fs17,
	.fs18,
	.fs19 {
		font-size: 1.1rem !important;
	}
	.fs20,
	.fs21,
	.fs22,
	.fs23,
	.fs24 {
		font-size: 1.2rem !important;
	}
	.fs25,
	.fs26,
	.fs27,
	.fs28,
	.fs29,
	.fs30 {
		font-size: 1.3rem !important;
	}
	.fs31,
	.fs32,
	.fs33,
	.fs34,
	.fs35 {
		font-size: 1.4rem !important;
	}
	.fs36,
	.fs37,
	.fs38,
	.fs39,
	.fs40,
	.fs41,
	.fs42,
	.fs43,
	.fs44,
	.fs45 {
		font-size: 1.5rem !important;
	}
	.fs46,
	.fs47,
	.fs48,
	.fs49,
	.fs50 {
		font-size: 1.8rem !important;
	}
	.fs51,
	.fs52,
	.fs53,
	.fs54,
	.fs55,
	.fs56,
	.fs57,
	.fs58,
	.fs59,
	.fs60 {
		font-size: 2rem !important;
	}
}
/* ==================================================
行間
================================================== */
.lh100p {
	line-height: 1 !important;
}
.lh110p {
	line-height: 1.1 !important;
}
.lh120p {
	line-height: 1.2 !important;
}
.lh130p {
	line-height: 1.3 !important;
}
.lh140p {
	line-height: 1.4 !important;
}
.lh150p {
	line-height: 1.5 !important;
}
.lh160p {
	line-height: 1.6 !important;
}
.lh170p {
	line-height: 1.7 !important;
}
.lh180p {
	line-height: 1.8 !important;
}
.lh190p {
	line-height: 1.9 !important;
}
.lh200p {
	line-height: 2 !important;
}
.lh250p {
	line-height: 2.5 !important;
}
.lh300p {
	line-height: 3 !important;
}
/* ==================================================
高さ
================================================== */
@media screen and (min-width:769px) {
	.h10 {
		height: 10px !important;
	}
	.h20 {
		height: 20px !important;
	}
	.h30 {
		height: 30px !important;
	}
	.h40 {
		height: 40px !important;
	}
	.h50 {
		height: 50px !important;
	}
	.h60 {
		height: 60px !important;
	}
	.h70 {
		height: 70px !important;
	}
	.h80 {
		height: 80px !important;
	}
	.h90 {
		height: 90px !important;
	}
	.h100 {
		height: 100px !important;
	}
	.h110 {
		height: 110px !important;
	}
	.h120 {
		height: 120px !important;
	}
	.h130 {
		height: 130px !important;
	}
	.h140 {
		height: 140px !important;
	}
	.h150 {
		height: 150px !important;
	}
	.h160 {
		height: 160px !important;
	}
	.h170 {
		height: 170px !important;
	}
	.h180 {
		height: 180px !important;
	}
	.h190 {
		height: 190px !important;
	}
	.h200 {
		height: 200px !important;
	}
	.h210 {
		height: 210px !important;
	}
	.h220 {
		height: 220px !important;
	}
	.h230 {
		height: 230px !important;
	}
	.h240 {
		height: 240px !important;
	}
	.h250 {
		height: 250px !important;
	}
	.h260 {
		height: 260px !important;
	}
	.h270 {
		height: 270px !important;
	}
	.h280 {
		height: 280px !important;
	}
	.h290 {
		height: 290px !important;
	}
	.h300 {
		height: 300px !important;
	}
	.h310 {
		height: 310px !important;
	}
	.h320 {
		height: 320px !important;
	}
	.h330 {
		height: 330px !important;
	}
	.h340 {
		height: 340px !important;
	}
	.h350 {
		height: 350px !important;
	}
	.h360 {
		height: 360px !important;
	}
	.h370 {
		height: 370px !important;
	}
	.h380 {
		height: 380px !important;
	}
	.h390 {
		height: 390px !important;
	}
	.h400 {
		height: 400px !important;
	}
	.h410 {
		height: 410px !important;
	}
	.h420 {
		height: 420px !important;
	}
	.h430 {
		height: 430px !important;
	}
	.h440 {
		height: 440px !important;
	}
	.h450 {
		height: 450px !important;
	}
	.h460 {
		height: 460px !important;
	}
	.h470 {
		height: 470px !important;
	}
	.h480 {
		height: 480px !important;
	}
	.h490 {
		height: 490px !important;
	}
	.h500 {
		height: 500px !important;
	}
	.h510 {
		height: 510px !important;
	}
	.h520 {
		height: 520px !important;
	}
	.h530 {
		height: 530px !important;
	}
	.h540 {
		height: 540px !important;
	}
	.h550 {
		height: 550px !important;
	}
	.h560 {
		height: 560px !important;
	}
	.h570 {
		height: 570px !important;
	}
	.h580 {
		height: 580px !important;
	}
	.h590 {
		height: 590px !important;
	}
	.h600 {
		height: 600px !important;
	}
	.h610 {
		height: 610px !important;
	}
	.h620 {
		height: 620px !important;
	}
	.h630 {
		height: 630px !important;
	}
	.h640 {
		height: 640px !important;
	}
	.h650 {
		height: 650px !important;
	}
	.h660 {
		height: 660px !important;
	}
	.h670 {
		height: 670px !important;
	}
	.h680 {
		height: 680px !important;
	}
	.h690 {
		height: 690px !important;
	}
	.h700 {
		height: 700px !important;
	}
	.h710 {
		height: 710px !important;
	}
	.h720 {
		height: 720px !important;
	}
	.h730 {
		height: 730px !important;
	}
	.h740 {
		height: 740px !important;
	}
	.h750 {
		height: 750px !important;
	}
	.h760 {
		height: 760px !important;
	}
	.h770 {
		height: 770px !important;
	}
	.h780 {
		height: 780px !important;
	}
	.h790 {
		height: 790px !important;
	}
	.h800 {
		height: 800px !important;
	}
	.h810 {
		height: 810px !important;
	}
	.h820 {
		height: 820px !important;
	}
	.h830 {
		height: 830px !important;
	}
	.h840 {
		height: 840px !important;
	}
	.h850 {
		height: 850px !important;
	}
	.h860 {
		height: 860px !important;
	}
	.h870 {
		height: 870px !important;
	}
	.h880 {
		height: 880px !important;
	}
	.h890 {
		height: 890px !important;
	}
	.h900 {
		height: 900px !important;
	}
	.h910 {
		height: 910px !important;
	}
	.h920 {
		height: 920px !important;
	}
	.h930 {
		height: 930px !important;
	}
	.h940 {
		height: 940px !important;
	}
	.h950 {
		height: 950px !important;
	}
	.h960 {
		height: 960px !important;
	}
	.h970 {
		height: 970px !important;
	}
	.h980 {
		height: 980px !important;
	}
	.h990 {
		height: 990px !important;
	}
	.h1000 {
		height: 1000px !important;
	}
	.h1010 {
		height: 1010px !important;
	}
	.h1020 {
		height: 1020px !important;
	}
	.h1030 {
		height: 1030px !important;
	}
	.h1040 {
		height: 1040px !important;
	}
	.h1050 {
		height: 1050px !important;
	}
	.h1060 {
		height: 1060px !important;
	}
	.h1070 {
		height: 1070px !important;
	}
	.h1080 {
		height: 1080px !important;
	}
	.h1090 {
		height: 1090px !important;
	}
	.h10p {
		height: 10% !important;
	}
	.h20p {
		height: 20% !important;
	}
	.h30p {
		height: 30% !important;
	}
	.h40p {
		height: 40% !important;
	}
	.h50p {
		height: 50% !important;
	}
	.h60p {
		height: 60% !important;
	}
	.h70p {
		height: 70% !important;
	}
	.h80p {
		height: 80% !important;
	}
	.h90p {
		height: 90% !important;
	}
	.h100p {
		height: 100% !important;
	}
}
/* ==================================================
横幅
================================================== */
@media screen and (min-width:769px) {
	.w10 {
		width: 10px !important;
	}
	.w20 {
		width: 20px !important;
	}
	.w30 {
		width: 30px !important;
	}
	.w40 {
		width: 40px !important;
	}
	.w50 {
		width: 50px !important;
	}
	.w60 {
		width: 60px !important;
	}
	.w70 {
		width: 70px !important;
	}
	.w80 {
		width: 80px !important;
	}
	.w90 {
		width: 90px !important;
	}
	.w100 {
		width: 100px !important;
	}
	.w110 {
		width: 110px !important;
	}
	.w120 {
		width: 120px !important;
	}
	.w130 {
		width: 130px !important;
	}
	.w140 {
		width: 140px !important;
	}
	.w150 {
		width: 150px !important;
	}
	.w160 {
		width: 160px !important;
	}
	.w170 {
		width: 170px !important;
	}
	.w180 {
		width: 180px !important;
	}
	.w190 {
		width: 190px !important;
	}
	.w200 {
		width: 200px !important;
	}
	.w210 {
		width: 210px !important;
	}
	.w220 {
		width: 220px !important;
	}
	.w230 {
		width: 230px !important;
	}
	.w240 {
		width: 240px !important;
	}
	.w250 {
		width: 250px !important;
	}
	.w260 {
		width: 260px !important;
	}
	.w270 {
		width: 270px !important;
	}
	.w280 {
		width: 280px !important;
	}
	.w290 {
		width: 290px !important;
	}
	.w300 {
		width: 300px !important;
	}
	.w310 {
		width: 310px !important;
	}
	.w320 {
		width: 320px !important;
	}
	.w330 {
		width: 330px !important;
	}
	.w340 {
		width: 340px !important;
	}
	.w350 {
		width: 350px !important;
	}
	.w360 {
		width: 360px !important;
	}
	.w370 {
		width: 370px !important;
	}
	.w380 {
		width: 380px !important;
	}
	.w390 {
		width: 390px !important;
	}
	.w400 {
		width: 400px !important;
	}
	.w410 {
		width: 410px !important;
	}
	.w420 {
		width: 420px !important;
	}
	.w430 {
		width: 430px !important;
	}
	.w440 {
		width: 440px !important;
	}
	.w450 {
		width: 450px !important;
	}
	.w460 {
		width: 460px !important;
	}
	.w470 {
		width: 470px !important;
	}
	.w480 {
		width: 480px !important;
	}
	.w490 {
		width: 490px !important;
	}
	.w500 {
		width: 500px !important;
	}
	.w510 {
		width: 510px !important;
	}
	.w520 {
		width: 520px !important;
	}
	.w530 {
		width: 530px !important;
	}
	.w540 {
		width: 540px !important;
	}
	.w550 {
		width: 550px !important;
	}
	.w560 {
		width: 560px !important;
	}
	.w570 {
		width: 570px !important;
	}
	.w580 {
		width: 580px !important;
	}
	.w590 {
		width: 590px !important;
	}
	.w600 {
		width: 600px !important;
	}
	.w610 {
		width: 610px !important;
	}
	.w620 {
		width: 620px !important;
	}
	.w630 {
		width: 630px !important;
	}
	.w640 {
		width: 640px !important;
	}
	.w650 {
		width: 650px !important;
	}
	.w660 {
		width: 660px !important;
	}
	.w670 {
		width: 670px !important;
	}
	.w680 {
		width: 680px !important;
	}
	.w690 {
		width: 690px !important;
	}
	.w700 {
		width: 700px !important;
	}
	.w710 {
		width: 710px !important;
	}
	.w720 {
		width: 720px !important;
	}
	.w730 {
		width: 730px !important;
	}
	.w740 {
		width: 740px !important;
	}
	.w750 {
		width: 750px !important;
	}
	.w760 {
		width: 760px !important;
	}
	.w770 {
		width: 770px !important;
	}
	.w780 {
		width: 780px !important;
	}
	.w790 {
		width: 790px !important;
	}
	.w800 {
		width: 800px !important;
	}
	.w810 {
		width: 810px !important;
	}
	.w820 {
		width: 820px !important;
	}
	.w830 {
		width: 830px !important;
	}
	.w840 {
		width: 840px !important;
	}
	.w850 {
		width: 850px !important;
	}
	.w860 {
		width: 860px !important;
	}
	.w870 {
		width: 870px !important;
	}
	.w880 {
		width: 880px !important;
	}
	.w890 {
		width: 890px !important;
	}
	.w900 {
		width: 900px !important;
	}
	.w910 {
		width: 910px !important;
	}
	.w920 {
		width: 920px !important;
	}
	.w930 {
		width: 930px !important;
	}
	.w940 {
		width: 940px !important;
	}
	.w950 {
		width: 950px !important;
	}
	.w960 {
		width: 960px !important;
	}
	.w970 {
		width: 970px !important;
	}
	.w980 {
		width: 980px !important;
	}
	.w990 {
		width: 990px !important;
	}
	.w1000 {
		width: 1000px !important;
	}
	.w1010 {
		width: 1010px !important;
	}
	.w1020 {
		width: 1020px !important;
	}
	.w1030 {
		width: 1030px !important;
	}
	.w1040 {
		width: 1040px !important;
	}
	.w1050 {
		width: 1050px !important;
	}
	.w1060 {
		width: 1060px !important;
	}
	.w1070 {
		width: 1070px !important;
	}
	.w1080 {
		width: 1080px !important;
	}
	.w1090 {
		width: 1090px !important;
	}
}
@media screen and (max-width: 768px) {
	.w10,
	.w20,
	.w30,
	.w40,
	.w50,
	.w60,
	.w70,
	.w80,
	.w90,
	.w100,
	.w110,
	.w120,
	.w130,
	.w140,
	.w150,
	.w160,
	.w170,
	.w180,
	.w190,
	.w200,
	.w210,
	.w220,
	.w230,
	.w240,
	.w250,
	.w260,
	.w270,
	.w280,
	.w290,
	.w300,
	.w310,
	.w320,
	.w330,
	.w340,
	.w350,
	.w360,
	.w370,
	.w380,
	.w390,
	.w400,
	.w410,
	.w420,
	.w430,
	.w440,
	.w450,
	.w460,
	.w470,
	.w480,
	.w490,
	.w500,
	.w510,
	.w520,
	.w530,
	.w540,
	.w550,
	.w560,
	.w570,
	.w580,
	.w590,
	.w600,
	.w610,
	.w620,
	.w630,
	.w640,
	.w650,
	.w660,
	.w670,
	.w680,
	.w690,
	.w700,
	.w710,
	.w720,
	.w730,
	.w740,
	.w750,
	.w760,
	.w770,
	.w780,
	.w790,
	.w800,
	.w810,
	.w820,
	.w830,
	.w840,
	.w850,
	.w860,
	.w870,
	.w880,
	.w890,
	.w900,
	.w910,
	.w920,
	.w930,
	.w940,
	.w950,
	.w960,
	.w970,
	.w980,
	.w990,
	.w1000,
	.w1010,
	.w1020,
	.w1030,
	.w1040,
	.w1050,
	.w1060,
	.w1070,
	.w1080,
	.w1090 {
		width: 100% !important;
	}
}
@media screen and (min-width:769px) {
	.w10p {
		width: 10% !important;
	}
	.w20p {
		width: 20% !important;
	}
	.w30p {
		width: 30% !important;
	}
	.w40p {
		width: 40% !important;
	}
	.w50p {
		width: 50% !important;
	}
	.w60p {
		width: 60% !important;
	}
	.w70p {
		width: 70% !important;
	}
	.w80p {
		width: 80% !important;
	}
	.w90p {
		width: 90% !important;
	}
	.w100p {
		width: 100% !important;
	}
}
/* ==================================================
上余白
================================================== */
@media screen and (min-width:769px) {
	.mt0 {
		margin-top: 0 !important;
	}
	.mt5 {
		margin-top: 5px !important;
	}
	.mt10 {
		margin-top: 10px !important;
	}
	.mt20 {
		margin-top: 20px !important;
	}
	.mt30 {
		margin-top: 30px !important;
	}
	.mt40 {
		margin-top: 40px !important;
	}
	.mt50 {
		margin-top: 50px !important;
	}
	.mt60 {
		margin-top: 60px !important;
	}
	.mt70 {
		margin-top: 70px !important;
	}
	.mt80 {
		margin-top: 80px !important;
	}
	.mt90 {
		margin-top: 90px !important;
	}
	.mt100 {
		margin-top: 100px !important;
	}
	.pt0 {
		padding-top: 0 !important;
	}
	.pt5 {
		padding-top: 5px !important;
	}
	.pt10 {
		padding-top: 10px !important;
	}
	.pt20 {
		padding-top: 20px !important;
	}
	.pt30 {
		padding-top: 30px !important;
	}
	.pt40 {
		padding-top: 40px !important;
	}
	.pt50 {
		padding-top: 50px !important;
	}
	.pt60 {
		padding-top: 60px !important;
	}
	.pt70 {
		padding-top: 70px !important;
	}
	.pt80 {
		padding-top: 80px !important;
	}
	.pt90 {
		padding-top: 90px !important;
	}
	.pt100 {
		padding-top: 100px !important;
	}
}
@media screen and (max-width: 768px) {
	.mt0 {
		margin-top: 0 !important;
	}
	.mt5 {
		margin-top: 1vh !important;
	}
	.mt10 {
		margin-top: 1vh !important;
	}
	.mt20 {
		margin-top: 2vh !important;
	}
	.mt30 {
		margin-top: 3vh !important;
	}
	.mt40 {
		margin-top: 4vh !important;
	}
	.mt50,
	.mt60,
	.mt70,
	.mt80,
	.mt90,
	.mt100 {
		margin-top: 5vh !important;
	}
	.pt0 {
		padding-top: 0 !important;
	}
	.pt5 {
		padding-top: 1vh !important;
	}
	.pt10 {
		padding-top: 1vh !important;
	}
	.pt20 {
		padding-top: 2vh !important;
	}
	.pt30 {
		padding-top: 3vh !important;
	}
	.pt40 {
		padding-top: 4vh !important;
	}
	.pt50,
	.pt60,
	.pt70,
	.pt80,
	.pt90,
	.pt100 {
		padding-top: 5vh !important;
	}
}
/* ==================================================
下余白
================================================== */
@media screen and (min-width:769px) {
	.mb0 {
		margin-bottom: 0 !important;
	}
	.mb5 {
		margin-bottom: 5px !important;
	}
	.mb10 {
		margin-bottom: 10px !important;
	}
	.mb20 {
		margin-bottom: 20px !important;
	}
	.mb30 {
		margin-bottom: 30px !important;
	}
	.mb40 {
		margin-bottom: 40px !important;
	}
	.mb50 {
		margin-bottom: 50px !important;
	}
	.mb60 {
		margin-bottom: 60px !important;
	}
	.mb70 {
		margin-bottom: 70px !important;
	}
	.mb80 {
		margin-bottom: 80px !important;
	}
	.mb90 {
		margin-bottom: 90px !important;
	}
	.mb100 {
		margin-bottom: 100px !important;
	}
	.pb0 {
		padding-bottom: 0 !important;
	}
	.pb5 {
		padding-bottom: 5px !important;
	}
	.pb10 {
		padding-bottom: 10px !important;
	}
	.pb20 {
		padding-bottom: 20px !important;
	}
	.pb30 {
		padding-bottom: 30px !important;
	}
	.pb40 {
		padding-bottom: 40px !important;
	}
	.pb50 {
		padding-bottom: 50px !important;
	}
	.pb60 {
		padding-bottom: 60px !important;
	}
	.pb70 {
		padding-bottom: 70px !important;
	}
	.pb80 {
		padding-bottom: 80px !important;
	}
	.pb90 {
		padding-bottom: 90px !important;
	}
	.pb100 {
		padding-bottom: 100px !important;
	}
}
@media screen and (max-width: 768px) {
	.mb0 {
		margin-bottom: 0 !important;
	}
	.mb5 {
		margin-bottom: 1vh !important;
	}
	.mb10 {
		margin-bottom: 1vh !important;
	}
	.mb20 {
		margin-bottom: 2vh !important;
	}
	.mb30 {
		margin-bottom: 3vh !important;
	}
	.mb40 {
		margin-bottom: 4vh !important;
	}
	.mb50,
	.mb60,
	.mb70,
	.mb80,
	.mb90,
	.mb100 {
		margin-bottom: 5vh !important;
	}
	.pb0 {
		padding-bottom: 0 !important;
	}
	.pb5 {
		padding-bottom: 1vh !important;
	}
	.pb10 {
		padding-bottom: 1vh !important;
	}
	.pb20 {
		padding-bottom: 2vh !important;
	}
	.pb30 {
		padding-bottom: 3vh !important;
	}
	.pb40 {
		padding-bottom: 4vh !important;
	}
	.pb50,
	.pb60,
	.pb70,
	.pb80,
	.pb90,
	.pb100 {
		padding-bottom: 5vh !important;
	}
}
/* ==================================================
右余白
================================================== */
@media screen and (min-width:769px) {
	.mr0 {
		margin-right: 0 !important;
	}
	.mr5 {
		margin-right: 5px !important;
	}
	.mr10 {
		margin-right: 10px !important;
	}
	.mr20 {
		margin-right: 20px !important;
	}
	.mr30 {
		margin-right: 30px !important;
	}
	.mr40 {
		margin-right: 40px !important;
	}
	.mr50 {
		margin-right: 50px !important;
	}
	.mr60 {
		margin-right: 60px !important;
	}
	.mr70 {
		margin-right: 70px !important;
	}
	.mr80 {
		margin-right: 80px !important;
	}
	.mr90 {
		margin-right: 90px !important;
	}
	.mr100 {
		margin-right: 100px !important;
	}
	.pr0 {
		padding-right: 0 !important;
	}
	.pr5 {
		padding-right: 5px !important;
	}
	.pr10 {
		padding-right: 10px !important;
	}
	.pr20 {
		padding-right: 20px !important;
	}
	.pr30 {
		padding-right: 30px !important;
	}
	.pr40 {
		padding-right: 40px !important;
	}
	.pr50 {
		padding-right: 50px !important;
	}
	.pr60 {
		padding-right: 60px !important;
	}
	.pr70 {
		padding-right: 70px !important;
	}
	.pr80 {
		padding-right: 80px !important;
	}
	.pr90 {
		padding-right: 90px !important;
	}
	.pr100 {
		padding-right: 100px !important;
	}
}
/* ==================================================
左余白
================================================== */
@media screen and (min-width:769px) {
	.ml0 {
		margin-left: 0 !important;
	}
	.ml5 {
		margin-left: 5px !important;
	}
	.ml10 {
		margin-left: 10px !important;
	}
	.ml20 {
		margin-left: 20px !important;
	}
	.ml30 {
		margin-left: 30px !important;
	}
	.ml40 {
		margin-left: 40px !important;
	}
	.ml50 {
		margin-left: 50px !important;
	}
	.ml60 {
		margin-left: 60px !important;
	}
	.ml70 {
		margin-left: 70px !important;
	}
	.ml80 {
		margin-left: 80px !important;
	}
	.ml90 {
		margin-left: 90px !important;
	}
	.ml100 {
		margin-left: 100px !important;
	}
	.pl0 {
		padding-left: 0 !important;
	}
	.pl5 {
		padding-left: 5px !important;
	}
	.pl10 {
		padding-left: 10px !important;
	}
	.pl20 {
		padding-left: 20px !important;
	}
	.pl30 {
		padding-left: 30px !important;
	}
	.pl40 {
		padding-left: 40px !important;
	}
	.pl50 {
		padding-left: 50px !important;
	}
	.pl60 {
		padding-left: 60px !important;
	}
	.pl70 {
		padding-left: 70px !important;
	}
	.pl80 {
		padding-left: 80px !important;
	}
	.pl90 {
		padding-left: 90px !important;
	}
	.pl100 {
		padding-left: 100px !important;
	}
}
/* ==================================================
四方余白
================================================== */
.p5 {
	padding: 5px !important;
}
.p10 {
	padding: 10px !important;
}
.p15 {
	padding: 15px !important;
}
.p20 {
	padding: 20px !important;
}
.p25 {
	padding: 25px !important;
}
.p30 {
	padding: 30px !important;
}
.p40 {
	padding: 40px !important;
}
.p50 {
	padding: 50px !important;
}
.p60 {
	padding: 60px !important;
}
.p70 {
	padding: 70px !important;
}
.p80 {
	padding: 80px !important;
}
.p90 {
	padding: 90px !important;
}
.p100 {
	padding: 100px !important;
}
@media screen and (max-width: 768px) {
	.p5,
	.p10,
	.p15,
	.p20,
	.p25,
	.p30,
	.p40,
	.p50,
	.p60,
	.p70,
	.p80,
	.p90,
	.p100 {
		padding: 10px !important;
	}
}














/*ここからSP用*/
@media screen and (max-width: 768px) {
	* {
		max-width: 100%;
	}

	
	img {
		display: table;
		margin: auto;
		max-width: 100%;
		max-height: 100vmin;
	}

	.f_box > .right_area {
		width: 100%;
	}

	.f_box > .left_area {
		width: 100%;
		text-align: center;
	}

	body table th,
	body table td {
		width: 100%;
		display: block;
		padding: 2%;
		text-align: left;
		box-sizing: border-box;
	}

	body .header_inner,
	body .inner,
	body .header-inner {
		width: 100%;
		left: inherit;
		margin-left: inherit;
		position: relative;
		padding: 0 2%;
		box-sizing: border-box;
	}
	
	table.styled-table01 th,
	table.styled-table01 td {
		display: block;
		width: 100%;
		box-sizing: border-box;
	}
	
	select, textarea, input[type="tel"], input[type="num"], input[type="text"], input[type="email"], input[type="password"] {
		width: 100%;
		box-sizing: border-box;
	}

	/* 郵便番号*/
	td.ad input[type="num"] {
		width: 80px;
	}
	
	.captcha-wrap {
		width: 100% !important;
		text-align: center;
	}
	
	.captcha-wrap img {
		width: inherit;
		height: inherit;
	}

	.center {
		position: relative;
		left: inherit;
		margin: auto;
	}

	.side-toggle-btn {
		position: fixed;
		right: 0;
		top: 0;
		z-index: 9000;
	}

	footer h2.header-logo {
		margin: auto;
		display: table;
	}

	#pc01,
	#pc02 {
		width: 80px;
	}

	.side-logo {
		background: #fff !important;
		box-shadow: 0 0 15px 3px #ebebeb inset !important;
		margin: 0 !important;
		padding: 10px 0 !important;
	}

	h1 {
		font-size: 0.7rem;
		line-height: 1.3;
		display: block;
		text-align: left;
	}

	/* ▼　SPメニュー　▼ */
	.h_logo {
		text-align: left;
		margin: 0;
		top: 50% !important;
		position: relative !important;
		transform: translateY(-50%) translateX(0) !important;
		-webkit- transform: translateY(-50%) translateX(0) !important;
		z-index: 1000;
	}
	
	.h_logo img,
	.f_logo img {
		height: auto;
		width: auto;
		display: inherit;
		text-align: left;
		max-width: calc(100% - 60px);
		max-height: 54px;
	}

	.f_logo {
		text-align: center;
	}

	.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;
	}
	/*------------------------------------------*/
	/*l_header
	/*------------------------------------------*/
	.l_header {
		width: 100% !important;
		height: 60px;
		top: 0;
		left: 0;
		position: fixed;
		z-index: 10000;
		background: url(/images/bg02.png) top center repeat;
	}
	.header_inner{
		width: 100% !important;
		height: 100%;
		position:relative !important;
	}
	.header_wrap{
		position:relative;
		width: 100%;
		height: 60px;
	}
	/*nav=====*/
	.l_header .nav{
		display: none;
		position: fixed;
		overflow-y: scroll;
		height: 100%;
		width: 100%;
		text-align: center;
		top: 60px;
		left: 0;
		z-index: 10000;
	}

	/*header_sp_nav=====*/
	.header_sp_nav{
		width: 30px;
		height: 26px;
		z-index: 10003;
		position: absolute;
		top: 50%;
		bottom: 0;
		right: 10px;
		margin: 0;
		cursor: pointer;
		left: initial;
		transform: translateY(-50%) translateX(0) !important;
		-webkit- transform: translateY(-50%) translateX(0) !important;
	}
	.nav_line{
		display: block;
		position: absolute;
		width: 30px;
		height: 2px;
		background: #9b6658;
		-webkit-transition: .3s;
		transition: .3s;
	}
	.nav_line1{
		top: 0;
		bottom: auto;
		margin-bottom: 10px;
	}

	.nav_line2{
		right: 0;
		top: 0;
		bottom: 0;
		margin: auto;
	}
	.nav_line3{
		bottom: 0;
		top: auto;
	}

	.nav_list {
		padding-bottom:50px;
		margin-bottom:50px;
	}

	.nav_list li {
		letter-spacing: 0.1em;
		background: #efb7a8;
		border-bottom: 1px solid;
		text-align: left;
		margin: 0;
	}

	.nav_list li a{
		color: #fff;
		display: block;
		height: 40px;
		line-height: 40px;
		padding: 0 1em;
	}
/* ▲　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;
	}

	footer .h_icons {
		margin: 10px 0 0;
		text-align: center;
	}

	footer .h_icons li {
		display: inline-block;
		text-align: center;
		padding: 0 5px;
		width: auto;
	}

	ul.tag_number > li {
		margin-bottom: 0;
	}

}



/* ==================================================
.top_class01
================================================== */
@media screen and (min-width:769px) {
	.top_class01 {
		margin-bottom: 50px;
		background: url(/images/top02.png) center center no-repeat;
	}
}
@media screen and (max-width: 768px) {
	.top_class01 {
		margin-bottom: 2vh;
	}
}
/* ▲ top_class01 ▲ */

h3.border01 {
	padding: 0 0 1.2em 0;
	background: url(/images/border01.png) left bottom repeat-x;
}

.f_btn a {
		color: #fff;
		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/f_btn.png) center center no-repeat;
}

.f_list02 {
	background: #fffdf0;
	border-radius: 1em;
	text-align: center;
	padding: 1em;
}

.f_list03 {
	background: #ffffff;
	border-radius: 0.5em;
	padding: 1em 2em;
	border: 5px solid #f5e7d9;
}
@media screen and (max-width: 768px) {
	.f_list03 {
		display: none;
	}
}

h1 {
	color: #d1aba1;
}

/* ==================================================
ul.about_class01
================================================== */
@media screen and (min-width:769px) {
	ul.about_class01 > li {
		width: 187px;
		height: 162px;
		margin: 0 45px 0 0;
		vertical-align: top;
		letter-spacing: normal;
		display: inline-block;
	}
	ul.about_class01 > li:nth-child(2n - 1) {
		background: url(/images/about01.png) center center no-repeat;
	}
	ul.about_class01 > li:nth-child(2n) {
		background: url(/images/about02.png) center center no-repeat;
	}
	ul.about_class01 > li:nth-child(4n) {
		margin-right: 0;
	}

	ul.about_class01 > li:nth-last-child(-n + 4) {
		margin-bottom: 0;
	}
}
@media screen and (max-width: 768px) {
	ul.about_class01 > li {
		width: auto;
		vertical-align: top;
		letter-spacing: normal;
		display: inline-block;
	}
	ul.about_class01 > li:not(:last-child):after {
	content: "、";
	}
}

/*  ⇣⇣ ギャラリー ⇣⇣ (css) */
ul.about_class01 > li .img {
	position: relative;
	display: block;
}

ul.about_class01 > li .img:before {
	content:"";
	display: block;
	padding-top: 100%;
}

ul.about_class01 > li .img * {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
	object-fit: scale-down;
	font-family: 'object-fit: scale-down;';
}

ul.about_class01 > li .title {
	display: block;
}
/* ▲ ul.about_class01 ▲ */

/* ==================================================
.about_class02
================================================== */
@media screen and (min-width:769px) {
	.about_class02 {
		margin-bottom: 10px;
		background: #ffffff;
		border-radius: 0.5em;
		box-shadow: 0 0 8px rgba(0,0,0,0.1);
	}
	.about_class02 .number {
		line-height: 70px;
		text-align: center;
		width: 70px;
		font-style: italic;
		border-radius: 50%;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    background: #e18f77;
    color: #fff;
	}
	.about_class02 .txt {
		width: calc(100% - 100px);
		color: #e18f77;
		letter-spacing: 0.2em;
		line-height: 1.3;
	}
}
@media screen and (max-width: 768px) {
	.about_class02 {
		margin-bottom: 2vh;
		padding: 0 !important;
		text-align: center;
	}
	.about_class02 .number {
		line-height: 50px;
		text-align: center;
		width: 50px;
		display: table;
		margin: auto;
		font-style: italic;
		border-radius: 50%;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    background: #e18f77;
    color: #fff;
	}
}
/* ▲ about_class02 ▲ */

/* ==================================================
.about_class03
================================================== */
@media screen and (min-width:769px) {
	.about_class03 {
		background: #ffffff;
		border-radius: 0.5em;
	}
	.about_class03:not(:last-child):after {
		content: "";
		display: block;
		position: absolute;
		left: 50%;
		bottom: -80px;
		transform: translateX(-50%);
		-webkit- transform: translateX(-50%);
		width: 30px;
		height: 80px;
		background: url(../images/about09.png) center center no-repeat;
		background-size: cover;
	}
	.about_class03:not(:last-child) {
		margin-bottom: 80px;
	}
}
@media screen and (max-width: 768px) {
}
/* ▲ about_class03 ▲ */

/* ==================================================
.qa_box
================================================== */
.qa_box {
	background: #fff;
	border-radius: 0.5em;
	letter-spacing: 0.2em;
}
.q {
	background: url(../images/q.png) left top 15px no-repeat;
	padding: 15px 0 15px 50px;
	border-bottom: 1px solid #cccccc;
	line-height: 1.3;
}
.a {
	background: url(../images/a.png) left 1px top 15px no-repeat;
	padding: 15px 0 15px 50px;
}
.qa_box:not(:last-child) {
	margin-bottom: 30px;
}
.menu_class01 {
	letter-spacing: 0.2em;
}

/* ==================================================
ul.roop_gallery
================================================== */
@media screen and (min-width:769px) {
	ul.roop_gallery > li {
		width: calc((100% - 120px) / 3);
		margin: 0 40px 40px 0;
		vertical-align: top;
		letter-spacing: normal;
		display: inline-block;
	}

	ul.roop_gallery > li:nth-child(3n) {
		margin-right: 0;
	}

	ul.roop_gallery > li:nth-last-child(-n + 4) {
		margin-bottom: 0;
	}
}

@media screen and (max-width: 768px) {
	ul.roop_gallery > li {
		width: 100%;
		margin: 0 0 10px 0 !important;
		vertical-align: top;
		letter-spacing: normal;
		display: inline-block;
	}

	ul.roop_gallery > li:last-child {
		margin-bottom: 0 !important;
	}
}
/*  ⇣⇣ ギャラリー ⇣⇣ (css) */
ul.roop_gallery > li .img {
	position: relative;
	display: block;
}

ul.roop_gallery > li .img:before {
	content:"";
	display: block;
	padding-top: 100%;
}

ul.roop_gallery > li .img * {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
	object-fit: scale-down;
	font-family: 'object-fit: scale-down;';
}

ul.roop_gallery > li .title {
	display: block;
}
/* ▲ ul.roop_gallery ▲ */

.txt_area .txt01 {
	border-bottom: 1px solid;
	padding-bottom: 0.5em;
	margin-bottom: 0.5em;
}

.sns_list{
	justify-content: center;
}