@charset "UTF-8";
/*
Theme Name: install.eftcle
Author: Catwork Co., Ltd.
Version: 1.0.0
*/
/* サイトの基本カラーに合わせて変更 */ :root {
	--main-color: #253a83;
	--main-light-color: #f9f4e9;
	--main-dark-color: #333;
}
/* Reset
----------------------------------------------------------- */
html, body, div, span, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, address, code, del, em, img, ins, kbd, q, s, samp, small, strong, sub, sup, u, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, menu, nav, output, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	font-size: 100%;
	font-weight: normal;
	font-style: normal;
	vertical-align: baseline;
	background: transparent;
	-webkit-text-size-adjust: 100%;
	word-break: break-word;
}
html {
	scroll-behavior: smooth;
}
body {
	font-family:
		"游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	/*font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; */
	font-size: 16px;
	line-height: 2;
	color: #1d1d1d;
}
a {
	color: #333;
	text-decoration: none;
}
a:focus {
	outline: none;
}
img {
	max-width: 100%;
	height: auto;
	border: none;
	vertical-align: middle;
}
strong {
	font-weight: normal;
}
ul, ol {
	list-style: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
input[type="text"], input[type="email"], textarea {
	border-radius: 0;
	-webkit-appearance: none;
	line-height: normal;
	color: var(--main-font-color, #333);
}
textarea {
	overflow: auto;
}
::placeholder {
	color: #999;
}
.clearfix::after {
	content: "";
	display: table;
	clear: both;
}
.wrap {
	width: 100%;
	overflow-x: hidden;
}
.inner {
	width: 1200px;
	margin: 0 auto;
}
/* フェードアニメーション css
----------------------------------------------------------*/
/*ふわっと出る*/
.mv01_on {
	-webkit-transition: all 0.8s ease-out;
	-moz-transition: all 0.8s ease-out;
	-ms-transition: all 0.8s ease-out;
	-o-transition: all 0.8s ease-out;
	transition: all 0.8s ease-out;
	-webkit-transform: scale(1, 1) translate3d(0, 0, 0);
	-moz-transform: scale(1, 1) translate3d(0, 0, 0);
	-ms-transform: scale(1, 1) translate3d(0, 0, 0);
	-o-transform: scale(1, 1) translate3d(0, 0, 0);
	transform: scale(1, 1) translate3d(0, 0, 0);
	opacity: 0;
}
.mv01_off {
	-webkit-animation-fill-mode: both;
	-moz-animation-fill-mode: both;
	-ms-animation-fill-mode: both;
	-o-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-transform: scale(1, 1) translate3d(0, 0, 0);
	-moz-transform: scale(1, 1) translate3d(0, 0, 0);
	-ms-transform: scale(1, 1) translate3d(0, 0, 0);
	-o-transform: scale(1, 1) translate3d(0, 0, 0);
	transform: scale(1, 1) translate3d(0, 0, 0);
	opacity: 1;
}
/*下から*/
.mv02_on {
	-webkit-transition: all 1s ease-out 0.2s;
	-moz-transition: all 1s ease-out 0.2s;
	-ms-transition: all 1s ease-out 0.2s;
	-o-transition: all 1s ease-out 0.2s;
	transition: all 0.8s ease-out;
	-webkit-transform: scale(1, 1) translate3d(0, 45px, 0);
	-moz-transform: scale(1, 1) translate3d(0, 45px, 0);
	-ms-transform: scale(1, 1) translate3d(0, 45px, 0);
	-o-transform: scale(1, 1) translate3d(0, 45px, 0);
	transform: scale(1, 1) translate3d(0, 45px, 0);
	opacity: 0;
}
.mv02_off {
	-webkit-animation-fill-mode: both;
	-moz-animation-fill-mode: both;
	-ms-animation-fill-mode: both;
	-o-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-transform: scale(1, 1) translate3d(0, 0, 0);
	-moz-transform: scale(1, 1) translate3d(0, 0, 0);
	-ms-transform: scale(1, 1) translate3d(0, 0, 0);
	-o-transform: scale(1, 1) translate3d(0, 0, 0);
	transform: scale(1, 1) translate3d(0, 0, 0);
	opacity: 1;
}
/*右から*/
.mv03_on {
	-webkit-transition: all 0.8s ease-out;
	-moz-transition: all 0.8s ease-out;
	-ms-transition: all 0.8s ease-out;
	-o-transition: all 0.8s ease-out;
	transition: all 0.8s ease-out;
	-webkit-transform: scale(1, 1) translate3d(100px, 0, 0);
	-moz-transform: scale(1, 1) translate3d(100px, 0, 0);
	-ms-transform: scale(1, 1) translate3d(100px, 0, 0);
	-o-transform: scale(1, 1) translate3d(100px, 0, 0);
	transform: scale(1, 1) translate3d(100px, 0, 0);
	opacity: 0;
}
.mv03_off {
	-webkit-animation-fill-mode: both;
	-moz-animation-fill-mode: both;
	-ms-animation-fill-mode: both;
	-o-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-transform: scale(1, 1) translate3d(0, 0, 0);
	-moz-transform: scale(1, 1) translate3d(0, 0, 0);
	-ms-transform: scale(1, 1) translate3d(0, 0, 0);
	-o-transform: scale(1, 1) translate3d(0, 0, 0);
	transform: scale(1, 1) translate3d(0, 0, 0);
	opacity: 1;
}
/*左から*/
.mv04_on {
	-webkit-transition: all 0.8s ease-out;
	-moz-transition: all 0.8s ease-out;
	-ms-transition: all 0.8s ease-out;
	-o-transition: all 0.8s ease-out;
	transition: all 0.8s ease-out;
	-webkit-transform: scale(1, 1) translate3d(-100px, 0, 0);
	-moz-transform: scale(1, 1) translate3d(-100px, 0, 0);
	-ms-transform: scale(1, 1) translate3d(-100px, 0, 0);
	-o-transform: scale(1, 1) translate3d(-100px, 0, 0);
	transform: scale(1, 1) translate3d(-100px, 0, 0);
	opacity: 0;
}
.mv04_off {
	-webkit-animation-fill-mode: both;
	-moz-animation-fill-mode: both;
	-ms-animation-fill-mode: both;
	-o-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-transform: scale(1, 1) translate3d(0, 0, 0);
	-moz-transform: scale(1, 1) translate3d(0, 0, 0);
	-ms-transform: scale(1, 1) translate3d(0, 0, 0);
	-o-transform: scale(1, 1) translate3d(0, 0, 0);
	transform: scale(1, 1) translate3d(0, 0, 0);
	opacity: 1;
}
/*===============================================
横幅1200px以下
===============================================*/
@media screen and (max-width: 1240px) and (min-width: 441px) {
	html, body, .wrap {
		width: 1240px;
	}
}
/*===============================================
横幅441px以上
===============================================*/
@media screen and (min-width: 441px) {
	/* a {
    transition: all 0.5s;
  } */
	a:hover {
		opacity: 0.8;
		filter: alpha(opacity=80);
		-moz-opacity: 0.8;
		transition: all 0.5s;
	}
	.sp {
		display: none;
	}

/* header
------------------------------------------------------------------------*/
	header {
		top: 0;
		left: 0;
		width: 100%;
		height: 150px;
		z-index: 10000;
		position: relative;
	}
	header h1 {
		position: absolute;
		top: 142px;
		right: 50%;
		transform: translateX(600px);
		font-size: 14px;
		font-weight: bold;
		line-height: 1;
		z-index: 0;
	}
	header .header_box {
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		width: 1200px;
		height: 150px;
		box-sizing: border-box;
		transition: margin-top .5s;
	}
	header .header_box.active01 {
		margin-top: -150px;
	}
	header .header_box.active02 {
		position: fixed;
		margin-top: 0;
		/* z-index:10000; */
	}
	header .header_box::before {
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		content: "";
		width: 100vw;
		height: 83px;
		z-index: -1;
		background: var(--main-light-color);
	}
	header .header_box.active02::before {
		height: 130px;
	}
	@media screen and (max-width: 1240px) {
		header .header_box::before {
			width: 1240px;
		}
		header .header_box::after {
			width: 1240px;
		}
	}
	header .header_box .logo a {
		position: absolute;
		top: 21px;
		left: 4;
		display: block;
		width: 226px;
		height: 47px;
		background: url("img/header_logo.png") no-repeat;
		background-size: 100%;
		padding: 45px 0 0;
		box-sizing: border-box;
		overflow: hidden;
	}
	header .header_box.active02 .logo a {
		top: 10px;
	}
	header .header_box .text01 {
		text-align: center;
		position: absolute;
		top: 20px;
		left: 262px;
		font-size: 15px;
		line-height: 1.125;
		width: 244px;
		height: 50px;
		display: flex;
		justify-content: center;
		align-items: center;
		font-weight: bold;
		letter-spacing: 0.07em;
	}
	header .header_box.active02 .text01 {
		top: 10px;
	}
	header .header_box .text01::before {
		content: "";
		position: absolute;
		border-left: solid 1px #000;
		border-top: solid 1px #000;
		border-bottom: solid 1px #000;
		height: 100%;
		width: 8px;
		top: 50%;
		left: -7px;
		transform: translateY(-50%);
	}
	header .header_box .text01::after {
		content: "";
		position: absolute;
		border-right: solid 1px #000;
		border-top: solid 1px #000;
		border-bottom: solid 1px #000;
		height: 100%;
		width: 8px;
		top: 50%;
		right: -7px;
		transform: translateY(-50%);
	}
	header .header_box .text02 {
		position: absolute;
		top: 17px;
		left: 643px;
		width: 155px;
		height: 36px;
		border-top: 1px solid #182e73;
		border-bottom: 1px solid #182e73;
		box-sizing: border-box;
		color: #182e73;
		font-size: 16px;
		line-height: 34px;
		text-align: center;
	}
	header .header_box.active02 .text02 {
		top: 7px;
	}
	header .header_box .text02::after {
		position: absolute;
		top: -18px;
		left: -18px;
		content: "";
		background: #eaf5fa;
		width: 595px;
		height: 72px;
		z-index: -1;
	}
	header .header_box .bubble {
		position: absolute;
		top: 20px;
		left: 530px;
	}
	header .header_box.active02 .bubble {
		top: 10px;
	}
	header .header_box .tel a {
		position: absolute;
		top: 25px;
		left: 772px;
		font-size: 14px;
		line-height: 1.8;
		text-align: center;
		font-weight: bold;
	}
	header .header_box.active02 .tel a {
		top: 15px;
	}
	header .header_box .tel a img {
		display: block;
	}
	header .header_box .button {
		position: absolute;
		width: 200px;
		height: 50px;
		top: 20px;
		right: 0;
	}
	header .header_box.active02 .button {
		top: 10px
	}
	header .header_box .button a {
		position: absolute;
		width: 100%;
		height: 100%;
		background: #06c755;
		padding-left: 54px;
		box-sizing: border-box;
		border: 1px solid #06c755;
		border-radius: 10px;
		font-size: 16px;
		line-height: 50px;
		color: #fff;
		font-weight: bold;
		letter-spacing: 1px;
		transition:
			background-color 0.4s ease, color 0.4s ease, border-color 0.4s ease;
	}
	header .header_box .button a::before {
		position: absolute;
		content: "";
		width: 24px;
		height: 24px;
		left: 23px;
		top: 50%;
		transform: translateY(-50%);
		background: url(img/header_icon02.png) center center / contain no-repeat;
		transition:
			opacity 0.4s ease, transform 0.4s ease;
	}
	header .header_box .button a::after {
		position: absolute;
		content: "";
		width: 24px;
		height: 24px;
		left: 23px;
		top: 50%;
		transform: translateY(-50%);
		background: url(img/header_icon04.png) center center / contain no-repeat;
		opacity: 0;
		transition:
			opacity 0.4s ease, transform 0.4s ease;
	}
	header .header_box .button a:hover {
		background: #fff;
		color: #06c755;
	}
	header .header_box .button a:hover::before {
		opacity: 0;
	}
	header .header_box .button a:hover::after {
		opacity: 1;
	}


/* nav
------------------------------------------------------------------------*/
	header #nav {
		position: absolute;
		top: 80px;
		color: #fff;
	}
	header .header_box.active02 #nav {
		top: 70px;
	}
	header nav #nav .main_nav {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 1200px;
		height: 50px;
		background: #253a83;
		border-radius: 25px;
		margin: 0 auto;
		gap: 25px;
	}
	header nav #nav .main_nav li {
		font-size: 14px;
		letter-spacing: 0.02em;
		height: 100%;
	}
	header nav #nav .main_nav a {
		color: #fff;
		font-weight: bold;
		position: relative;
		display: block;
		height: 100%;
	}
	header nav #nav .main_nav > li > a, header nav #nav .main_nav > li > span {
		display: flex;
		align-items: center;
		justify-content: center;
		height: 100%;
	}
	header nav #nav .main_nav a::after {
		content: "";
		position: absolute;
		left: 50%;
		bottom: 15px;
		width: 0;
		height: 1px;
		background: #fff;
		transition: 0.4s;
		transform: translateX(-50%);
	}
	header nav #nav .main_nav .sub_nav_list a::after {
		display: none;
	}
	header nav #nav .main_nav a:hover::after {
		width: 100%;
	}
	header nav #nav .main_nav .sub_nav_list a:hover {
		opacity: 0.7;
	}


/* home
------------------------------------------------------------------------*/
	.home {
		font-weight: bold;
		color: #1d1d1d;
	}


	/* key */
	.home .key {
		position: relative;
		padding-top: 20px;
		height: 758px;
		/* background: #dbf4e9; */
		background: var(--main-light-color);
		margin-top: -67px;
	}
	.home .key .bg_img {
		position: absolute;
		top: 6px;
		right: 0;
		width: 1065px;
		height: 726px;
		z-index: 0;
	}
	.home .key::before {
		content: "";
		position: absolute;
		left: -10%;
		right: -10%;
		top: 195px;
		height: 360px;
		background: url("img/home_key_bg02.png");
		transform: rotate(-5deg);
	}
	.home .key .inner {
		margin-top: 64px;
	}
	.home .key .inner::after {
		content: "";
		position: absolute;
		left: 50%;
		transform: translateX(-50%) rotate(-5deg);
		width: 105vw;
		height: 280px;
		bottom: -274px;
		background: url(img/home_key_bg03.png) repeat-x left top;
		background-size: auto 100%;
		animation: slider 40s linear infinite;
		z-index: 3;
	}
	@keyframes slider {
		0% {
			background-position: 0 0;
		}
		100% {
			background-position: -2250px 0;
		}
	}
	.home .key .inner::before {
		content: "";
		position: absolute;
		top: 12px;
		right: 205px;
		width: 351px;
		height: 179px;
		background: url(img/home_key_text04.png) center center / cover no-repeat;
		z-index: 3;
	}
	.home .key .inner .text_box {
		position: relative;
		width: 980px;
		left: -300px;
		padding: 64px 60px 72px 300px;
		box-sizing: border-box;
		background: rgba(255, 255, 255, 0.75);
		border-radius: 0 20px 20px 0;
		z-index: 2;
	}
	.home .key .inner .text_box > * {
		position: relative;
		z-index: 2;
	}
	.home .key .inner .text_box::before {
		content: "";
		position: absolute;
		right: -197px;
		top: 265px;
		width: 223px;
		height: 223px;
		background: url("img/home_key_text05.png") center center / cover no-repeat;
		z-index: 2;
	}
	.home .key .inner .text_box .text01:nth-of-type(1) {
		position: relative;
		font-size: 22px;
		color: #042c6a;
		padding-left: 88px;
		line-height: 1;
		font-weight: bold;
		left: 50%;
		transform: translateX(-50%);
		width: fit-content;
		margin-bottom: 36px;
	}
	.home .key .inner .text_box .text01:nth-of-type(1)::before {
		content: "";
		position: absolute;
		top: -13px;
		left: 0;
		background: url("img/key_deco01.png") center center / cover no-repeat;
		width: 70px;
		height: 47px;
	}
	.home .key .inner .text_box .text02 {
		width: 620px;
		height: 40px;
		text-align: center;
		background: #fff;
		border: 2px solid var(--main-color);
		border-radius: 20px;
		box-sizing: border-box;
		font-weight: bold;
		color: var(--main-color);
		font-size: 22px;
		margin-top: 20px;
		line-height: 36px;
	}
	.home .key .inner .text_item:nth-of-type(1) {
		display: flex;
		/* text-align: center; */
		align-items: center;
		line-height: 40px;
		gap: 20px;
		margin-top: 17px;
	}
	.home .key .inner .text_box .text03 {
		/* margin-top: 25px; */
		text-align: center;
	}
	.home .key .inner .text_item:nth-of-type(2) {
		display: flex;
		text-align: center;
		gap: 20px;
		line-height: 1.3;
		margin-top: 15px;
	}
	.home .key .inner .text_item .text04:nth-of-type(1) {
		color: #fff;
		width: 300px;
		height: 63px;
		background: var(--main-color);
		border: 2px solid var(--main-color);
		border-radius: 5px;
		box-sizing: border-box;
		font-size: 34px;
		font-weight: bold;
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
	}
	.home .key .inner .text_item .text04 span {
		font-size: 16px;
		display: block;
		line-height: 1.25;
		padding-right: 11px;
		font-weight: bold;
		letter-spacing: 0.19em;
	}
	.home .key .inner .text_item .text04:nth-of-type(2) {
		color: #fff;
		width: 300px;
		height: 63px;
		background: var(--main-color);
		border: 2px solid var(--main-color);
		border-radius: 5px;
		box-sizing: border-box;
		font-size: 34px;
		font-weight: bold;
		display: flex;
		justify-content: center;
		align-items: center;
		/* text-align: center; */
	}
	.home .key .inner .text_item .text04:nth-of-type(2) span {
		font-size: 14px;
		line-height: 1.428;
		text-indent: -1em;
		padding: 0 0 0 1em;
		letter-spacing: 0;
		margin-left: 5px;
	}
	@media screen and (max-width: 1300px) {
		.home .key .inner::after {
			width: 1300px;
		}
	}
	/* topic_wrap */
	.home .topic_wrap {
		margin: 300px auto 120px;
		display: flex;
		justify-content: space-between;
	}
	.home .topic_wrap .breaking_wrap {
		position: relative;
		width: 590px;
		background: var(--main-light-color);
		border: 1px solid var(--main-color);
		border-radius: 18px;
		padding: 34px 10px 10px;
		box-sizing: border-box;
	}
	.home .topic_wrap .breaking_wrap h2 {
		position: absolute;
		top: -17.5px;
		left: 50%;
		transform: translateX(-50%);
		text-align: center;
		color: #444;
		font-size: 14px;
		font-weight: bold;
		width: 400px;
		height: 35px;
		line-height: 35px;
		border: 1px solid var(--main-color);
		border-radius: 17.5px;
		background: #fff;
	}
	.home .topic_wrap .breaking_wrap h2 span {
		color: var(--main-color);
		font-size: 16px;
		font-weight: bold;
	}
	.home .topic_wrap .breaking_wrap h2::before {
		content: "";
		position: absolute;
		background: var(--main-color);
		clip-path: polygon(0 0, 100% 0, 50% 100%);
		width: 18px;
		height: 11px;
		bottom: -11px;
		left: 50%;
		transform: translateX(-50%);
	}
	.home .topic_wrap .breaking_wrap .text01 {
		text-align: center;
		color: #1d1d1d;
		font-size: 20px;
		font-weight: bold;
		line-height: 1.5;
	}
	.home .topic_wrap .breaking_wrap .breaking_box {
		width: 570px;
		height: 260px;
		background: #fff;
		border-radius: 8px;
		margin-top: 14px;
		overflow-y: auto;
		padding: 33px;
		box-sizing: border-box;
	}
	.home .topic_wrap .breaking_wrap .breaking_box .cont {
		position: relative;
	}
	.home .topic_wrap .breaking_wrap .breaking_box .cont::before {
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 1px;
		background: repeating-linear-gradient(to right, #082a4a 0, #082a4a 11px, transparent 11px, transparent 22px);
	}
	.home .topic_wrap .breaking_wrap .breaking_box .cont .date {
		color: #1d1d1d;
		font-weight: bold;
		line-height: 1;
		padding-top: 30px;
	}
	.home .topic_wrap .breaking_wrap .breaking_box .cont:nth-of-type(1) .date {
		padding-top: 0;
	}
	.home .topic_wrap .breaking_wrap .breaking_box .cont .text02 {
		line-height: 1.5;
		font-weight: bold;
		padding: 18px 0 30px;
	}
	.home .topic_wrap .reviews_wrap {
		position: relative;
		width: 590px;
		background: var(--main-light-color);
		border: 1px solid var(--main-color);
		border-radius: 18px;
		padding: 34px 10px 10px;
		box-sizing: border-box;
	}
	.home .topic_wrap .reviews_wrap h2 {
		position: absolute;
		top: -17.5px;
		left: 50%;
		transform: translateX(-50%);
		text-align: center;
		color: #444;
		font-size: 14px;
		font-weight: bold;
		width: 400px;
		height: 35px;
		line-height: 35px;
		border: 1px solid var(--main-color);
		border-radius: 17.5px;
		background: #fff;
	}
	.home .topic_wrap .reviews_wrap h2 span {
		color: var(--main-color);
		font-size: 16px;
		font-weight: bold;
	}
	.home .topic_wrap .reviews_wrap h2::before {
		content: "";
		position: absolute;
		background: var(--main-color);
		clip-path: polygon(0 0, 100% 0, 50% 100%);
		width: 18px;
		height: 11px;
		bottom: -11px;
		left: 50%;
		transform: translateX(-50%);
	}
	.home .topic_wrap .reviews_wrap .text01 {
		text-align: center;
		color: #1d1d1d;
		font-size: 20px;
		font-weight: bold;
		line-height: 1.5;
	}
	.home .topic_wrap .reviews_wrap .reviews_box {
		width: 570px;
		height: 260px;
		background: #fff;
		border-radius: 8px;
		margin-top: 14px;
		overflow: scroll;
	}


	/* cont01 */
	.home .cont01 {
		background: url("img/common_bg_01.png");
		text-align: center;
		padding: 120px 0;
	}
	.home .cont01 .inner{
		position: relative;
	}
	.home .cont01 .inner::before{
		position: absolute;
		top: -88px;
		right: 0;
		content: "";
		background: url("img/common_illust01.png")no-repeat;
		width: 200px;
		height: 141px;
	}
	.home .cont01 .inner h2 {
		position: relative;
		font-weight: bold;
		line-height: 1;
		width: fit-content;
		margin: 0 auto;
	}
	.home .cont01 .inner h2 span {
		display: block;
		font-size: 60px;
		font-weight: bold;
		color: #1d1d1d;
		padding-bottom: 18px;
	}
	.home .cont01 .inner h2::before {
		position: absolute;
		content: "";
		background: url(img/common_deco13.png) no-repeat;
		width: 53px;
		height: 47px;
		left: -22px;
		top: -42px;
	}
	.home .cont01 .inner .text01 {
		font-size: 36px;
		font-weight: bold;
		line-height: 1;
		margin-top: 60px;
	}
	.home .cont01 .inner .thanks_box {
		display: flex;
		justify-content: space-between;
	}
	.home .cont01 .inner .thanks_box .cont {
		position: relative;
		width: 380px;
		height: 250px;
		background: #fff;
		border: 2px solid #427ac7;
		border-radius: 18px;
		margin-top: 63px;
		padding: 30px 0;
		box-sizing: border-box;
	}
	.home .cont01 .inner .thanks_box .cont::before {
		position: absolute;
		content: "";
		background: url(img/common_deco02.png) center center / cover no-repeat;
		top: -40px;
		left: 15px;
		width: 89px;
		height: 103px;
	}
	.home .cont01 .inner .thanks_box .cont h3 {
		line-height: 1;
		font-size: 36px;
		font-weight: bold;
		color: var(--main-color);
	}
	.home .cont01 .inner .thanks_box .cont h3 span:nth-of-type(1) {
		display: block;
		font-weight: bold;
		color: #555;
		padding-bottom: 18px;
	}
	.home .cont01 .inner .thanks_box .cont h3 span:nth-of-type(2) {
		font-size: 60px;
		font-weight: bold;
		visibility: hidden;
	}
	.home .cont01 .inner .thanks_box .cont h3 span:nth-of-type(3) {
		font-size: 48px;
		font-weight: bold;
		visibility: hidden;
	}
	.home .cont01 .inner .thanks_box .cont h3 span:nth-of-type(4) {
		visibility: hidden;
	}
	.home .cont01 .inner .thanks_box .cont .text02 {
		line-height: 1.5;
		font-size: 20px;
		font-weight: bold;
		margin-top: 15px;
	}
	.home .cont01 .inner .thanks_box .cont.box01 h3 span:nth-of-type(1)::after {
		content: "";
		background: url(img/home_thanks01.png) center center / cover no-repeat;
		width: 292px;
		height: 58px;
		position: absolute;
		top: 87px;
		left: 50%;
		transform: translateX(-50%);
	}
	.home .cont01 .inner .thanks_box .cont.box02 h3 span:nth-of-type(1)::after {
		content: "";
		background: url(img/home_thanks02.png) center center / cover no-repeat;
		width: 260px;
		height: 58px;
		position: absolute;
		top: 87px;
		left: 50%;
		transform: translateX(-50%);
	}
	.home .cont01 .inner .thanks_box .cont.box03 h3 span:nth-of-type(1)::after {
		content: "";
		background: url(img/home_thanks03.png) center center / cover no-repeat;
		width: 78px;
		height: 51px;
		position: absolute;
		top: 87px;
		left: 50%;
		transform: translateX(-50%);
	}


	/* cont02 */
	.home .cont02 {
		background: #fff;
		height: 860px;
	}
	.home .cont02 .inner {
		padding: 155px 0 100px;
		position: relative;
	}
	.home .cont02 .text_box01 {
		padding: 0 0 0 600px;
		box-sizing: border-box;
	}
	.home .cont02 h2 {
		position: relative;
		font-weight: bold;
		line-height: 1;
		padding: 0 0 0 30px;
		width: fit-content;
	}
	.home .cont02 h2 span {
		font-size: 28px;
		font-weight: bold;
		padding-top: 13px;
		display: block;
		line-height: 1.5;
	}
	.home .cont02 h2::before {
		position: absolute;
		content: "";
		background: var(--main-color);
		width: 8px;
		height: 145px;
		border-radius: 4px;
		left: 0;
		top: 0;
	}
	.home .cont02 .text01 {
		padding: 32px 0 40px;
	}
	.home .cont02 .button {
		width: 360px;
		height: 50px;
		text-align: center;
	}
	.home .cont02 .button a {
		position: relative;
		display: block;
		background: var(--main-color);
		border: 1px solid var(--main-color);
		box-sizing: border-box;
		color: #fff;
		font-size: 16px;
		line-height: 50px;
		font-weight: bold;
		border-radius: 25px;
		transition: background-color 0.4s ease, color 0.4s ease;
	}
	.home .cont02 .button a:hover {
		background: #fff;
		color: var(--main-color);
	}
	.home .cont02 .button a::before {
		content: "";
		position: absolute;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
		background: #fff;
		right: 18px;
		top: 0;
		bottom: 0;
		margin: auto 0;
		width: 6px;
		height: 10px;
		transition: background-color 0.4s ease, color 0.4s ease;
	}
	.home .cont02 .button a:hover::before {
		background: var(--main-color);
	}
	.home .cont02 figure {
		position: absolute;
		left: -300px;
		top: 155px;
		border: 3px solid var(--main-color);
		border-left: none;
		border-radius: 0 20px 20px 0;
		width: 830px;
		height: 600px;
		overflow: hidden;
		box-sizing: border-box;
	}
	@media screen and (min-width: 1801px) {
		.home .cont02 figure {
			border-radius: 10px;
			border-left: 3px solid var(--main-color);
		}
	}


	/* cont03 */
	.home .cont03 {
		background: #f2f0e7;
		position: relative;
		padding: 129px 0 120px;
	}
	.home .cont03 .inner{
		position: relative;
	}
	.home .cont03 .inner::before{
		position: absolute;
		top: -158px;
		left: 40px;
		content: "";
		background: url("img/common_illust02.png")no-repeat;
		width: 130px;
		height: 287px;
	}
	.home .cont03 h2 {
		text-align: center;
		font-size: 44px;
		font-weight: bold;
		line-height: 1.114;
		color: #1d1d1d;
		margin-bottom: 50px;
	}
	.home .cont03 h2 span {
		position: relative;
		font-size: 20px;
		font-weight: bold;
		display: block;
		line-height: 1;
		color: #444;
		padding-bottom: 27px;
	}
	.home .cont03 h2 span::after {
		position: absolute;
		content: "";
		background: url(img/home_text01.png) center center / cover no-repeat;
		width: 614px;
		height: 58px;
		top: 50%;
		left: 50%;
		transform: translate(-50%, calc(-50% - 14px));
		z-index: -1;
	}
	.home .cont03 .readtext {
		text-align: center;
		font-size: 18px;
		line-height: 1.8;
	}
	.home .cont03 .service_wrap{
		display: flex;
		justify-content: space-between;
		margin-top: 50px;
	}
	.home .cont03 .service_wrap .cont{
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 380px;
		background: #fff;
		border: 1px solid #0166b3;
		border-radius: 5px;
		overflow: hidden;
		padding: 0 0 20px;
	}
	.home .cont03 .service_wrap .cont:nth-of-type(2){
		border: 1px solid #00b1a8;
	}
	.home .cont03 .service_wrap .cont:nth-of-type(3){
		border: 1px solid #253a83;
	}
	.home .cont03 .service_wrap .cont h3{
		display: block;
		width: 100%;
		height: 39px;
		background: #0166b3;
		color: #fff;
		font-size: 20px;
		font-weight: bold;
		line-height: 38px;
		text-align: center;
	}
	.home .cont03 .service_wrap .cont:nth-of-type(2) h3{
		background: #00b1a8;
	}
	.home .cont03 .service_wrap .cont:nth-of-type(3) h3{
		background: #253a83;
	}
	.home .cont03 .service_wrap .cont .text01{
		background: url("img/common_icon01.png")left center no-repeat;
		padding-left: 76px;
		font-size: 18px;
		font-weight: bold;
		line-height: 1.333;
		margin-top: 17px;
	}
	.home .cont03 .service_wrap .cont:nth-of-type(2) .text01{
		background: url("img/common_icon02.png")left center no-repeat;
		padding-left: 78px;
	}
	.home .cont03 .service_wrap .cont:nth-of-type(3) .text01{
		background: url("img/common_icon03.png")left center no-repeat;
		padding-left: 77px;
	}
	.home .cont03 .service_wrap .cont figure{
		margin-top: 20px;
	}
	.home .cont03 .service_wrap .cont .text02{
		padding: 0 24px 0 20px;
		line-height: 1.875;
		margin-top: 17px;
	}
	.home .cont03 .under_box{
		background: #fff;
		border-radius: 10px;
		padding: 42px 40px 62px;
		box-sizing: border-box;
		margin-top: 80px;
		position: relative;
	}
	.home .cont03 .under_box h4{
		position: absolute;
		top: -12px;
		left: 50%;
		transform: translateX(-50%);
		color: #0166b3;
		font-size: 24px;
		font-weight: bold;
		line-height: 1;
	}
	.home .cont03 .under_box h4::before{
		position: absolute;
		top: 50%;
		right: calc(100% + 33px);
		transform: translateY(-50%);
		content: "";
		background: #0166b3;
		width: 300px;
		height: 2px;
		border-radius: 1px;
	}
	.home .cont03 .under_box h4::after{
		position: absolute;
		top: 50%;
		left: calc(100% + 33px);
		transform: translateY(-50%);
		content: "";
		background: #0166b3;
		width: 300px;
		height: 2px;
		border-radius: 1px;
	}
	.home .cont03 .under_box .text03{
		text-align: center;
	}
	.home .cont03 .under_box .flow_list{
		display: flex;
		flex-wrap: wrap;
		gap: 20px 30px;
		margin-top: 32px;
		overflow: hidden;
	}
	.home .cont03 .under_box .flow_list li{
		display: flex;
		flex-direction: column;
		justify-content: center;
		width: 250px;
		height: 60px;
		background: #0166b3;
		border-radius: 5px;
		padding: 0 0 0 60px;
		box-sizing: border-box;
		color: #fff;
		font-size: 16px;
		font-weight: bold;
		line-height: 1;
		z-index: 11;
		position: relative;
	}
	.home .cont03 .under_box .flow_list li:nth-of-type(n+2){
		padding: 0 0 0 64px;
	}
	.home .cont03 .under_box .flow_list li:nth-of-type(5){
		margin-left: 30px;
	}
	.home .cont03 .under_box .flow_list li span{
		font-size: 14px;
		text-indent: -0.5em;
		margin-top: 4px;
	}
	.home .cont03 .under_box .flow_list li::before{
		position: absolute;
		top: 50%;
		left: 19px;
		transform: translateY(-50%);
		content: "01 ｜";
		color: rgba(255,255,255,0.5);
	}
	.home .cont03 .under_box .flow_list li:nth-of-type(1)::before{
		left: 16px;
	}
	.home .cont03 .under_box .flow_list li:nth-of-type(2)::before{
		content: "02 ｜";
	}
	.home .cont03 .under_box .flow_list li:nth-of-type(3)::before{
		content: "03 ｜";
	}
	.home .cont03 .under_box .flow_list li:nth-of-type(4)::before{
		content: "04 ｜";
	}
	.home .cont03 .under_box .flow_list li:nth-of-type(5)::before{
		content: "05 ｜";
	}
	.home .cont03 .under_box .flow_list li:nth-of-type(6)::before{
		content: "06 ｜";
	}
	.home .cont03 .under_box .flow_list li:nth-of-type(7)::before{
		content: "07 ｜";
	}
	.home .cont03 .under_box .flow_list li:nth-of-type(8)::before{
		content: "08 ｜";
	}
	.home .cont03 .under_box .flow_list li:nth-of-type(1)::after,
	.home .cont03 .under_box .flow_list li:nth-of-type(5)::after{
		position: absolute;
		top: 50%;
		left: -30px;
		transform: translateY(-50%);
		content: "";
		background: url("img/common_line01.png")repeat-x;
		width: 1200px;
		height: 3px;
		z-index: -1;
	}
	.home .cont03 .button{
		width: 400px;
		height: 50px;
		text-align: center;
		margin: 60px auto 0;
	}
	.home .cont03 .button a{
		position: relative;
		display: block;
		background: var(--main-color);
		border: 1px solid var(--main-color);
		box-sizing: border-box;
		color: #fff;
		font-size: 16px;
		line-height: 50px;
		font-weight: bold;
		border-radius: 25px;
		transition: background-color 0.4s ease, color 0.4s ease;
	}
	.home .cont03 .button a:hover{
		background: #fff;
		color: var(--main-color);
	}
	.home .cont03 .button a::before{
		content: "";
		position: absolute;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
		background: #fff;
		right: 18px;
		top: 0;
		bottom: 0;
		margin: auto 0;
		width: 6px;
		height: 10px;
		transition: background-color 0.4s ease, color 0.4s ease;
	}
	.home .cont03 .button a:hover::before{
		background: var(--main-color);
	}


	/* cont04 */
	.home .cont04 {
		padding: 130px 0 116px;
	}
	.home .cont04 h2 {
		text-align: center;
		font-size: 44px;
		font-weight: bold;
		line-height: 1.114;
		color: #1d1d1d;
		margin-bottom: 50px;
	}
	.home .cont04 h2 span {
		position: relative;
		font-size: 20px;
		font-weight: bold;
		display: block;
		line-height: 1;
		color: #444;
		padding-bottom: 27px;
	}
	.home .cont04 h2 span::after {
		position: absolute;
		content: "";
		background: url(img/common_text01.png) center center / cover no-repeat;
		width: 237px;
		height: 59px;
		top: 50%;
		left: 50%;
		transform: translate(-50%, calc(-50% - 14px));
		z-index: -1;
	}
	.home .cont04 .readtext {
		text-align: center;
		font-size: 18px;
	}
	.home .cont04 .price_wrap{
		display: flex;
		justify-content: space-between;
		margin-top: 50px;
	}
	.home .cont04 .price_wrap .cont{
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 580px;
		background: #d9e8f4;
		padding-bottom: 24px;
		border-radius: 10px;
		overflow: hidden;
	}
	.home .cont04 .price_wrap .cont:nth-of-type(2){
		background: #d9f3f2;
	}
	.home .cont04 .price_wrap .cont h3{
		width: 100%;
		height: 60px;
		background: #0166b3;
		color: #fff;
		font-size: 26px;
		text-align: center;
		line-height: 60px;
	}
	.home .cont04 .price_wrap .cont:nth-of-type(2) h3{
		background: #00b1a8;
	}
	.home .cont04 .price_wrap .cont h3 span{
		display: inline-block;
		height: 60px;
		background: url("img/common_icon04.png")left center no-repeat;
		padding-left: 84px;
		font-weight: bold;
	}
	.home .cont04 .price_wrap .cont:nth-of-type(2) h3 span{
		background: url("img/common_icon05.png")left top 10px no-repeat;
		padding-left: 79px;
	}
	.home .cont04 .price_wrap .cont dl{
		display: flex;
		justify-content: center;
		gap: 0 20px;
		margin-top: 40px;
	}
	.home .cont04 .price_wrap .cont dl .price_item{
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 245px;
		height: 90px;
		background: #fff;
		border-radius: 3px;
		padding: 25px 0 0;
		box-sizing: border-box;
		filter: drop-shadow(0 0 20px rgba(0,0,0,0.1));
		position: relative;
	}
	.home .cont04 .price_wrap .cont dl .price_item dt{
		position: absolute;
		top: -11px;
		left: 50%;
		transform: translateX(-50%);
		color: #0166b3;
		font-size: 22px;
		font-weight: bold;
		line-height: 1;
		white-space: nowrap;
	}
	.home .cont04 .price_wrap .cont:nth-of-type(2) dl .price_item dt{
		color: #00b1a8;
	}
	.home .cont04 .price_wrap .cont dl .price_item dt::before{
		content: "［";
		padding-right: 8px;
	}
	.home .cont04 .price_wrap .cont dl .price_item dt::after{
		content: "］";
		padding-left: 8px;
	}
	.home .cont04 .price_wrap .cont dl .price_item dd{
		font-size: 30px;
		font-weight: bold;
		line-height: 1;
	}
	.home .cont04 .price_wrap .cont dl .price_item dd span{
		font-size: 46px;
		font-weight: bold;
	}
	.home .cont04 .price_wrap .cont .text01{
		padding: 0 32px 0 36px;
		line-height: 1.875;
		margin-top: 16px;
	}
	.home .cont04 .tax_text{
		font-size: 14px;
		text-align: right;
		line-height: 1;
		margin-top: 15px;
	}
	.home .cont04 .tax_text::before{
		content: "※";
	}
	.home .cont04 .button{
		width: 460px;
		height: 50px;
		text-align: center;
		margin: 30px auto 0;
	}
	.home .cont04 .button a{
		position: relative;
		display: block;
		background: var(--main-color);
		border: 1px solid var(--main-color);
		box-sizing: border-box;
		color: #fff;
		font-size: 16px;
		line-height: 50px;
		font-weight: bold;
		border-radius: 25px;
		transition: background-color 0.4s ease, color 0.4s ease;
	}
	.home .cont04 .button a span{
		color: #f4ec41;
		font-weight: bold;
	}
	.home .cont04 .button a:hover{
		background: #fff;
		color: var(--main-color);
	}
	.home .cont04 .button a:hover span{
		color: #00b1a8;
	}
	.home .cont04 .button a::before{
		content: "";
		position: absolute;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
		background: #fff;
		right: 18px;
		top: 0;
		bottom: 0;
		margin: auto 0;
		width: 6px;
		height: 10px;
		transition: background-color 0.4s ease, color 0.4s ease;
	}
	.home .cont04 .button a:hover::before{
		background: var(--main-color);
	}
	.home .cont04 .under_box{
		background: #f2f0e7;
		border-radius: 10px;
		padding: 50px 80px 30px;
		box-sizing: border-box;
		margin-top: 70px;
		position: relative;
	}
	.home .cont04 .under_box h4{
		position: absolute;
		top: -12px;
		left: 50%;
		transform: translateX(-50%);
		color: var(--main-color);
		font-size: 24px;
		font-weight: bold;
		line-height: 1;
	}
	.home .cont04 .under_box h4::before{
		position: absolute;
		top: 50%;
		right: calc(100% + 33px);
		transform: translateY(-50%);
		content: "";
		background: var(--main-color);
		width: 300px;
		height: 2px;
		border-radius: 1px;
	}
	.home .cont04 .under_box h4::after{
		position: absolute;
		top: 50%;
		left: calc(100% + 33px);
		transform: translateY(-50%);
		content: "";
		background: var(--main-color);
		width: 300px;
		height: 2px;
		border-radius: 1px;
	}
	.home .cont04 .under_box .text02{
		text-align: center;
	}
	.home .cont04 .under_box .option_wrap{
		display: flex;
		justify-content: space-between;
		margin-top: 30px;
	}
	.home .cont04 .under_box .option_wrap .option_cont{
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 330px;
		background: #fff;
		border-radius: 10px;
		padding: 0 0 23px;
		box-sizing: border-box;
		overflow: hidden;
	}
	.home .cont04 .under_box .option_wrap .option_cont h5{
		width: 100%;
		height: 45px;
		background: var(--main-color);
		color: #fff;
		font-size: 20px;
		font-weight: bold;
		line-height: 45px;
		letter-spacing: 0.07em;
		text-align: center;
	}
	.home .cont04 .under_box .option_wrap .option_cont .price{
		width: 300px;
		height: 80px;
		background: url("img/common_img01.png")left center no-repeat;
		padding-left: 157px;
		box-sizing: border-box;
		font-size: 24px;
		font-weight: bold;
		line-height: 80px;
		margin: 15px 0 0 30px;
	}
	.home .cont04 .under_box .option_wrap .option_cont:nth-of-type(2) .price{
		background: url("img/common_img02.png")left center no-repeat;
		padding-left: 154px;
	}
	.home .cont04 .under_box .option_wrap .option_cont:nth-of-type(3) .price{
		background: url("img/common_img03.png")left center no-repeat;
		padding-left: 144px;
	}
	.home .cont04 .under_box .option_wrap .option_cont .price span{
		font-size: 36px;
		font-weight: bold;
	}
	.home .cont04 .under_box .option_wrap .option_cont .text03{
		padding: 0 26px 0 30px;
		font-size: 14px;
		line-height: 1.857;
		margin-top: 11px;
	}


	/* harf_wrap */
	.home .harf_wrap{
		display: flex;
	}
	.home .harf_wrap.first_wrap{
		display: block;
	}

	.home .harf_wrap .harf_cont{
		width: 50%;
		height: 380px;
	}
	.home .harf_wrap.first_wrap .harf_cont{
		width: 100%;
		height: 555px;
	}
	.home .harf_wrap .harf_cont.left{
		display: flex;
		justify-content: flex-end;
		background: url("img/harfcont_bg01.png")right top / cover no-repeat;
	}
	.home .harf_wrap.first_wrap .harf_cont.left{
		display: flex;
		justify-content: center;
		background: url("img/harfcont_bg01.png")right top / cover no-repeat;
	}
	.home .harf_wrap .harf_cont.right{
		display: flex;
		background: url("img/harfcont_bg02.png")left top / cover no-repeat;
	}
	.home .harf_wrap .harf_cont .inner{
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 600px;
		padding: 54px 0 0;
		margin: 0;
		position: relative;
	}
	.home .harf_wrap.first_wrap .harf_cont .inner{
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 1200px;
		padding: 120px 0;
		margin: 0;
		position: relative;
	}
	.home .harf_wrap .harf_cont.left .inner::before{
		position: absolute;
		top: 38px;
		left: 0;
		content: "";
		background: url("img/common_illust03.png")no-repeat;
		width: 136px;
		height: 100px;
		z-index: -1;
	}
	.home .harf_wrap.first_wrap .harf_cont.left .inner::before{
        position: absolute;
        top: 93px;
        left: 88px;
        content: "";
        background: url(img/common_illust03.png) no-repeat;
        width: 136px;
        height: 100px;
        z-index: -1;
        transform: scale(1.5);
	}
	.home .harf_wrap .harf_cont.left .inner::after{
		position: absolute;
		top: 30px;
		right: 0;
		content: "";
		background: url("img/common_illust04.png")no-repeat;
		width: 145px;
		height: 112px;
		z-index: -1;
	}
	.home .harf_wrap.first_wrap .harf_cont.left .inner::after{
        position: absolute;
        top: 90px;
        right: 65px;
        content: "";
        background: url(img/common_illust04.png) no-repeat;
        width: 145px;
        height: 113px;
        z-index: -1;
        transform: scale(1.5);
	}
	.home .harf_wrap .harf_cont .inner h2{
		color: #fff;
		font-size: 26px;
		font-weight: bold;
		line-height: 1;
	}
	.home .harf_wrap.first_wrap .harf_cont .inner h2{
		color: #fff;
		font-size: 46px;
		font-weight: bold;
		line-height: 1;
	}
	.home .harf_wrap .harf_cont .inner h2::before{
		content: "［";
		padding-right: 8px;
	}
	.home .harf_wrap .harf_cont .inner h2::after{
		content: "］";
		padding-left: 8px;
	}
	.home .harf_wrap .harf_cont .inner ul{
		display: flex;
		justify-content: center;
		gap: 10px;
		margin-top: 34px;
	}
	.home .harf_wrap .harf_cont .inner ul li{
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		background: #f4ec41;
		padding: 12px 21px 10px;
		border-radius: 3px;
		box-sizing: border-box;
		font-size: 26px;
		font-weight: bold;
		line-height: 1;
		text-align: center;
	}
	.home .harf_wrap.first_wrap .harf_cont .inner ul li{
		font-size: 38px;
	}
	.home .harf_wrap .harf_cont.right .inner ul li{
		width: 240px;
		padding: 17px 0 15px;
	}
	.home .harf_wrap .harf_cont .inner ul li span{
		display: block;
		font-size: 14px;
		margin-top: 8px;
	}
	.home .harf_wrap .harf_cont .inner .text01{
		color: #f4ec41;
		font-size: 20px;
		font-weight: bold;
		line-height: 1.7;
		text-align: center;
		margin-top: 29px;
	}
	.home .harf_wrap.first_wrap .harf_cont .inner .text01{
		font-size: 26px;
	}
	.home .harf_wrap .harf_cont .inner .button{
		width: 380px;
		height: 40px;
		text-align: center;
		margin: 26px auto 0;
	}
	.home .harf_wrap.first_wrap .harf_cont .inner .button{
		width: 460px;
		height: 40px;
		text-align: center;
		margin: 26px auto 0;
	}
	.home .harf_wrap .harf_cont .inner .button a{
		position: relative;
		display: block;
		background: #f78d37;
		box-sizing: border-box;
		color: #fff;
		font-size: 16px;
		line-height: 40px;
		font-weight: bold;
		border-radius: 20px;
		transition: background-color 0.4s ease, color 0.4s ease;
	}
	.home .harf_wrap.first_wrap .harf_cont .inner .button a{
		font-size: 24px;
		line-height: 45px;
	}
	.home .harf_wrap .harf_cont .inner .button a:hover{
		background: #fff;
		color: #f78d37;
	}
	.home .harf_wrap .harf_cont .inner .button a::before{
		content: "";
		position: absolute;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
		background: #fff;
		right: 18px;
		top: 0;
		bottom: 0;
		margin: auto 0;
		width: 6px;
		height: 10px;
		transition: background-color 0.4s ease, color 0.4s ease;
	}

	.home .harf_wrap .harf_cont .inner .button a:hover::before{
		background: #f78d37;
	}
	.home .harf_wrap .harf_cont .inner .text02{
		padding: 0 73px;
		color: #fff;
		margin-top: 20px;
	}
	

	/* cont05 */
	.home .cont05 {
		background: url(img/common_bg_01.png);
		padding: 140px 0 120px;
	}
	.home .cont05 .inner {
		position: relative;
	}
	.home .cont05 .inner {
		width: 900px;
		margin: 0 auto;
	}
	.home .cont05 h2 {
		text-align: center;
		font-size: 44px;
		font-weight: bold;
		line-height: 1;
		color: #1d1d1d;
	}
	.home .cont05 h2 span {
		position: relative;
		font-size: 20px;
		font-weight: bold;
		display: block;
		line-height: 1;
		color: #444;
		padding-bottom: 33px;
	}
	.home .cont05 h2 span::after {
		position: absolute;
		content: "";
		background: url(img/home_text03.png) center center / cover no-repeat;
		width: 322px;
		height: 58px;
		top: 50%;
		left: 50%;
		transform: translate(-50%, calc(-50% - 18px));
		z-index: -1;
	}
	.home .cont05 h3 {
		position: relative;
		font-weight: bold;
		font-size: 22px;
		color: #1d1d1d;
		padding-left: 20px;
		height: 32px;
		line-height: 32px;
	}
	.home .cont05 h3::before {
		position: absolute;
		content: "";
		background: var(--main-color);
		width: 6px;
		height: 32px;
		border-radius: 3px;
		left: 0;
		top: 0;
	}
	.home .cont05 .text01 {
		margin-top: 4px;
	}
	.home .cont05 .box .item {
		position: relative;
		background: #fff;
		border: 2px solid var(--main-color);
		border-radius: 9px;
		padding: 24px 0 22px 99px;
		margin-bottom: 50px;
	}
	.home .cont05 .box .item::before {
		position: absolute;
		content: "";
		background: url("img/reason_01.png") center center / cover no-repeat;
		width: 144px;
		height: 134px;
		left: -66px;
		top: 1px;
	}
	.home .cont05 .box .item:nth-of-type(2):before {
		background: url("img/reason_02.png") center center / cover no-repeat;
	}
	.home .cont05 .box .item:nth-of-type(3):before {
		background: url("img/reason_03.png") center center / cover no-repeat;
	}
	.home .cont05 .box .item:nth-of-type(4):before {
		background: url("img/reason_04.png") center center / cover no-repeat;
	}
	.home .cont05 .box .item:nth-of-type(5):before {
		background: url("img/reason_05.png") center center / cover no-repeat;
	}
	.home .cont05 .box .item:first-of-type {
		margin-top: 60px;
	}
	.home .cont05 .box .item:last-of-type {
		margin-bottom: 0;
	}
	.home .cont05 .button {
		position: relative;
		width: 325px;
		height: 50px;
		text-align: center;
		margin: 60px auto 0;
	}
	.home .cont05 .button a {
		display: block;
		background: var(--main-color);
		border: 1px solid var(--main-color);
		line-height: 50px;
		border-radius: 25px;
		font-weight: bold;
		color: #fff;
		transition: background-color 0.4s ease, color 0.4s ease, border 0.4s ease;
	}
	.home .cont05 .button a::before {
		content: "";
		position: absolute;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
		background: #fff;
		right: 20px;
		top: 0;
		bottom: 0;
		margin: auto 0;
		width: 6px;
		height: 10px;
		transition: background-color 0.4s ease;
	}
	.home .cont05 .button a:hover {
		background: #fff;
		color: var(--main-color);
		border: 1px solid var(--main-color);
	}
	.home .cont05 .button a:hover::before {
		background: var(--main-color);
	}


	/* cont06 */
	.home .cont06 {
		padding: 140px 0 120px;
		margin: 0 auto;
		max-width: 1380px;
	}
	.home .cont06 h2 {
		text-align: center;
		font-size: 44px;
		font-weight: bold;
		line-height: 1;
		color: #1d1d1d;
	}
	.home .cont06 h2 span {
		position: relative;
		font-size: 20px;
		font-weight: bold;
		display: block;
		line-height: 1;
		color: #444;
		padding-bottom: 33px;
	}
	.home .cont06 h2 span::before {
		position: absolute;
		content: "";
		background: url(img/home_text04.png) center center / cover no-repeat;
		width: 288px;
		height: 58px;
		top: 50%;
		left: 50%;
		transform: translate(-50%, calc(-50% - 18px));
		z-index: -1;
	}
	.home .cont06 .text01 {
		text-align: center;
		font-size: 20px;
		margin-top: 60px;
		line-height: 1.8;
	}
	.home .cont06 .item {
		position: relative;
	}
	.home .cont06 .item::before {
		display: none;
	}

	.home .cont06 .item:has(.works-photo-box .before + .after)::before {
		display: block;
		position: absolute;
		content: "";
		background: url(img/common_deco11.png) center center / cover no-repeat;
		width: 16px;
		height: 30px;
		top: 100px;
		left: 50%;
		transform: translateX(-50%);
		z-index: 1;
	}
	.home .cont06 h3 {
		position: relative;
		font-size: 20px;
		font-weight: bold;
		color: var(--main-color);
		line-height: 32px;
		height: 32px;
		padding-left: 15px;
		margin-top: 19px;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	.home .cont06 h3::before {
		content: "";
		position: absolute;
		background: var(--main-color);
		width: 6px;
		height: 32px;
		left: 0;
		top: 0;
		border-radius: 3px;
	}
	.home .cont06 .category_01, .home .cont06 .category_02 {
		display: inline-block;
		line-height: 1;
		font-size: 14px;
		color: #fff;
		font-weight: bold;
		margin-top: 20px;
	}
	.home .cont06 .category_01 {
		padding: 7px 22px;
		background: var(--main-color);
	}
	.home .cont06 .category_01.installation {
		background: #427ac7;
	}
	.home .cont06 .category_01.exchange {
		background: #00b1a8;
	}
	.home .cont06 .category_02 {
		padding: 7px 22px;
		background: #7aad96;
	}
	.home .cont06 .text02 {
		margin-top: 16px;
		overflow: hidden;
		text-overflow: ellipsis;
		display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
	}
	.home .cont06 .box {
		display: flex;
		justify-content: center;
		gap: 60px;
		margin: 55px auto 0;
	}
	.home .cont06 .box .item {
		width: calc((100% - 30px) / 2);
		position: relative;
		padding-top: 220px;
	}
	.home .cont06 .box .img_box {
		position: absolute;
		display: flex;
		top: 0;
	}
	/* 施工写真が1枚の場合（PC） */
	.home .cont06 .box .img_box.is-single { width: 100%; }
	.home .cont06 .box .img_box.is-single figure { width: 100%; max-width: none; }
	.home .cont06 .box .img_box.is-single figure img { display: block; width: 100%; height: 220px; object-fit: contain; }
	.home .cont06 .box .img_box.is-single figure::after,
	.home .cont06 .box .img_box.is-single figure::before { display: none; }
	.home .cont06 .box .img_box .before {
		position: relative;
		max-width: 330px;
		max-height: 220px;
		border: 1px solid var(--main-color);
		overflow: hidden;
	}
	.home .cont06 .box .img_box .after {
		position: relative;
		max-width: 330px;
		max-height: 220px;
		overflow: hidden;
		border: 1px solid var(--main-color);
	}
	.home .cont06 .box .img_box .after::after {
		position: absolute;
		content: "";
		background: url("img/after_text.png") no-repeat;
		width: 99px;
		height: 28px;
		top: 0;
		left: 0;
	}
	.home .cont06 .box .img_box .before::after {
		position: absolute;
		content: "";
		background: url("img/before_text.png") no-repeat;
		width: 99px;
		height: 28px;
		top: 0;
		left: 0;
	}
	.home .cont06 .button {
		position: relative;
		width: 400px;
		height: 50px;
		text-align: center;
		margin: 60px auto 0;
	}
	.home .cont06 .button a {
		display: block;
		background: var(--main-color);
		border: 1px solid var(--main-color);
		line-height: 50px;
		box-sizing: border-box;
		border-radius: 25px;
		font-weight: bold;
		color: #fff;
		transition: background-color 0.4s ease, color 0.4s ease, border 0.4s ease;
	}
	.home .cont06 .button a::before {
		content: "";
		position: absolute;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
		background: #fff;
		right: 20px;
		top: 0;
		bottom: 0;
		margin: auto 0;
		width: 6px;
		height: 10px;
		transition: background-color 0.4s ease;
	}
	.home .cont06 .button a:hover {
		background: #fff;
		color: var(--main-color);
		border: 1px solid var(--main-color);
	}
	.home .cont06 .button a:hover::before {
		background: var(--main-color);
	}
	@media screen and (max-width: 1450px) {
		.home .cont06 .box {
			gap: 60px;
			justify-content: center;
			padding: 0 40px;
		}
		.home .cont06 .item::before {
			top: 80px;
		}
	}


	/* cont07 */
	.home .cont07 {
		background: var(--main-light-color);
		padding: 140px 0 120px;
	}
	.home .cont07 .inner {
		position: relative;
	}
	.home .cont07 h2 {
		text-align: center;
		font-size: 44px;
		font-weight: bold;
		line-height: 1;
		color: #1d1d1d;
	}
	.home .cont07 h2 span {
		position: relative;
		font-size: 20px;
		font-weight: bold;
		display: block;
		line-height: 1;
		color: #444;
		padding-bottom: 33px;
	}
	.home .cont07 h2 span::before {
		position: absolute;
		content: "";
		background: url(img/home_text05.png) center center / cover no-repeat;
		width: 226px;
		height: 58px;
		top: 50%;
		left: 50%;
		transform: translate(-50%, calc(-50% - 18px));
		z-index: -1;
	}
	.home .cont07 .box {
		display: flex;
		justify-content: space-between;
		margin-top: 60px;
	}
	.home .cont07 .box .item {
		position: relative;
		width: 380px;
		height: 250px;
		border: 2px solid var(--main-color);
		border-radius: 18px;
		box-sizing: border-box;
		background: #fff;
		padding: 65px 46px 30px;
	}
	.home .cont07 .box .item::before {
		content: "";
		position: absolute;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
		background: var(--main-color);
		right: -26px;
		top: 50%;
		transform: translateY(-50%);
		width: 26px;
		height: 46px;
	}
	.home .cont07 .box .item:last-of-type::before {
		display: none;
	}
	.home .cont07 .box .item h3 {
		position: relative;
		text-align: center;
		font-size: 26px;
		color: #1d1d1d;
		line-height: 1;
		font-weight: bold;
	}
	.home .cont07 .box .item h3::before {
		position: absolute;
		content: "FLOW 01";
		color: var(--main-color);
		font-size: 18px;
		font-weight: bold;
		top: -35px;
		left: 50%;
		transform: translateX(-50%);
	}
	.home .cont07 .box .item:nth-of-type(2) h3::before {
		content: "FLOW 02";
	}
	.home .cont07 .box .item:nth-of-type(3) h3::before {
		content: "FLOW 03";
	}
	.home .cont07 .box .item p {
		margin-top: 20px;
		font-size: 14px;
	}
	.home .cont07 .button {
		position: relative;
		width: 380px;
		height: 50px;
		text-align: center;
		margin: 60px auto 0;
	}
	.home .cont07 .button a {
		display: block;
		background: var(--main-color);
		border: 1px solid var(--main-color);
		line-height: 50px;
		box-sizing: border-box;
		border-radius: 25px;
		font-weight: bold;
		color: #fff;
		transition: background-color 0.4s ease, color 0.4s ease, border 0.4s ease;
	}
	.home .cont07 .button a::before {
		content: "";
		position: absolute;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
		background: #fff;
		right: 20px;
		top: 0;
		bottom: 0;
		margin: auto 0;
		width: 6px;
		height: 10px;
		transition: background-color 0.4s ease;
	}
	.home .cont07 .button a:hover {
		background: #fff;
		color: var(--main-color);
		border: 1px solid var(--main-color);
	}
	.home .cont07 .button a:hover::before {
		background: var(--main-color);
	}


	/* cont08 */
	.home .cont08 {
		padding: 140px 0 120px;
	}
	.home .cont08 h2 {
		text-align: center;
		font-size: 44px;
		font-weight: bold;
		line-height: 1;
		color: #1d1d1d;
	}
	.home .cont08 h2 span {
		position: relative;
		font-size: 20px;
		font-weight: bold;
		display: block;
		line-height: 1;
		color: #444;
		padding-bottom: 33px;
	}
	.home .cont08 h2 span::before {
		position: absolute;
		content: "";
		background: url(img/home_text06.png) center center / cover no-repeat;
		width: 152px;
		height: 58px;
		top: 50%;
		left: 50%;
		transform: translate(-50%, calc(-50% - 18px));
		z-index: -1;
	}
	.home .cont08 p {
		text-align: center;
		font-weight: bold;
		margin-top: 55px;
	}
	.home .cont08 .qa_box {
		margin-top: 50px;
		border-bottom: 1px dashed var(--main-color);
	}
	.home .cont08 .qa_box .qes {
		position: relative;
		width: 100%;
		padding: 37px 100px 37px 152px;
		border-top: 1px dashed var(--main-color);
		box-sizing: border-box;
		font-size: 20px;
		font-weight: bold;
		cursor: pointer;
		line-height: 1;
	}
	.home .cont08 .qa_box .qes::before {
		position: absolute;
		top: 50%;
		left: 100px;
		transform: translateY(-50%);
		content: "Q";
		display: flex;
		justify-content: center;
		align-items: center;
		color: var(--main-color);
		border: 2px solid var(--main-color);
		font-size: 18px;
		font-weight: bold;
		width: 36px;
		height: 36px;
		box-sizing: border-box;
		border-radius: 50%;
	}
	.home .cont08 .qa_box .qes::after {
		position: absolute;
		top: 50%;
		right: 100px;
		transform: translateY(-50%);
		content: "";
		background: url(img/faq_icon01.png) no-repeat;
		width: 20px;
		height: 20px;
		transition: .3s;
	}
	.home .cont08 .qa_box .qes.open::after {
		transform: translateY(-50%) rotate(180deg);
		background: url(img/faq_icon02.png) no-repeat;
	}
	.home .cont08 .qa_box .ans {
		display: none;
		padding-left: 152px;
		box-sizing: border-box;
		font-size: 16px;
		line-height: 2;
		margin-bottom: 52px;
		position: relative;
	}
	.home .cont08 .button {
		position: relative;
		width: 380px;
		height: 50px;
		text-align: center;
		margin: 58px auto 0;
	}
	.home .cont08 .button a {
		display: block;
		background: var(--main-color);
		border: 1px solid var(--main-color);
		line-height: 50px;
		box-sizing: border-box;
		border-radius: 25px;
		font-weight: bold;
		color: #fff;
		transition: background-color 0.4s ease, color 0.4s ease, border 0.4s ease;
	}
	.home .cont08 .button a::before {
		content: "";
		position: absolute;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
		background: #fff;
		right: 20px;
		top: 0;
		bottom: 0;
		margin: auto 0;
		width: 6px;
		height: 10px;
		transition: background-color 0.4s ease;
	}
	.home .cont08 .button a:hover {
		background: #fff;
		color: var(--main-color);
		border: 1px solid var(--main-color);
	}
	.home .cont08 .button a:hover::before {
		background: var(--main-color);
	}


	/* cont09 */
	.home .cont09 {
		background: url(img/common_bg_01.png);
		padding: 120px 0;
	}
	.home .cont09 .inner {
		padding-top: 620px;
		position: relative;
	}
	.home .cont09 .inner::before {
		position: absolute;
		content: "";
		background: url("img/common_illust02.png") center center / cover no-repeat;
		width: 130px;
		height: 287px;
		bottom: -357px;
		right: 200px;
	}
	.home .cont09 figure {
		position: absolute;
		left: -320px;
		top: 0;
		border: 3px solid var(--main-color);
		border-left: none;
		border-radius: 0 18px 18px 0;
		width: 890px;
		height: 620px;
		overflow: hidden;
		box-sizing: border-box;
	}
	.home .cont09 figure img {
		object-fit: none;
	}
	.home .cont09 .text_box {
		position: absolute;
		right: 0;
		top: 0;
		height: 560px;
		width: 680px;
		padding: 48px 45px 54px 50px;
		box-sizing: border-box;
		background: #fff;
		border: 3px solid var(--main-color);
		border-radius: 18px;
		margin: 30px auto;
		z-index: 2;
	}
	.home .cont09 h2 {
		font-size: 14px;
		font-weight: bold;
		line-height: 1;
	}
	.home .cont09 .text_box .text01 {
		position: relative;
		font-size: 24px;
		font-weight: bold;
		color: var(--main-color);
		line-height: 34px;
		padding-left: 22px;
		margin-top: 26px;
	}
	.home .cont09 .text_box .text01::before {
		content: "";
		position: absolute;
		background: var(--main-color);
		width: 6px;
		height: 34px;
		border-radius: 3px;
		left: 0;
		top: 0;
	}
	.home .cont09 .text_box .info_box {
		margin-top: 24px;
	}
	.home .cont09 .text_box .tel, .home .cont09 .text_box .mail, .home .cont09 .text_box .time, .home .cont09 .text_box .place {
		position: relative;
		font-weight: bold;
		padding-left: 32px;
	}
	.home .cont09 .text_box .tel::before {
		position: absolute;
		content: "";
		background: url("img/contact_tel_img01.png") center center / cover no-repeat;
		width: 18px;
		height: 18px;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
	}
	.home .cont09 .text_box .mail::before {
		position: absolute;
		content: "";
		background: url("img/contact_mail_img01.png") center center / cover no-repeat;
		width: 18px;
		height: 14px;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
	}
	.home .cont09 .text_box .time::before {
		position: absolute;
		content: "";
		background: url("img/contact_time_img01.png") center center / cover no-repeat;
		width: 19px;
		height: 19px;
		top: 50%;
		left: -0.5px;
		transform: translateY(-50%);
	}
	.home .cont09 .text_box .place::before {
		position: absolute;
		content: "";
		background: url("img/contact_place_img01.png") center center / cover no-repeat;
		width: 16px;
		height: 20px;
		top: 50%;
		left: 2px;
		transform: translateY(-50%);
	}
	.home .cont09 .text_box .text02 {
		margin-top: 20px;
		text-align: justify;
	}
	.home .cont09 .button {
		position: relative;
		width: 360px;
		height: 50px;
		text-align: center;
		margin-top: 28px;
	}
	.home .cont09 .button a {
		display: block;
		background: var(--main-color);
		border: 1px solid var(--main-color);
		line-height: 50px;
		box-sizing: border-box;
		border-radius: 25px;
		font-weight: bold;
		color: #fff;
		transition: background-color 0.4s ease, color 0.4s ease, border 0.4s ease;
	}
	.home .cont09 .button a::before {
		content: "";
		position: absolute;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
		background: #fff;
		right: 20px;
		top: 0;
		bottom: 0;
		margin: auto 0;
		width: 6px;
		height: 10px;
		transition: background-color 0.4s ease;
	}
	.home .cont09 .button a:hover {
		background: #fff;
		color: var(--main-color);
		border: 1px solid var(--main-color);
	}
	.home .cont09 .button a:hover::before {
		background: var(--main-color);
	}
	@media screen and (min-width: 1801px) {
		.home .cont09 figure {
			border-left: 3px solid var(--main-color);
			border-radius: 18px;
		}
	}
	@media screen and (max-width: 1300px) {
		.home .cont09 figure {
			left: -220px;
		}
	}


	/* cont10 */
	.home .cont10 {
		padding: 100px 0 0;
		z-index: 10;
		position: relative;
	}
	.home .cont10 h2 {
		text-align: center;
		font-size: 44px;
		font-weight: bold;
		line-height: 1;
		color: #1d1d1d;
	}
	.home .cont10 h2 span {
		position: relative;
		font-size: 20px;
		font-weight: bold;
		display: block;
		line-height: 1;
		color: #444;
		padding-bottom: 33px;
	}
	.home .cont10 h2 span::before {
		position: absolute;
		content: "";
		background: url(img/home_text07.png) center center / cover no-repeat;
		width: 209px;
		height: 58px;
		top: 50%;
		left: 50%;
		transform: translate(-50%, calc(-50% - 18px));
		z-index: -1;
	}
	.home .cont10 .text01 {
		margin-top: 52px;
		text-align: center;
		font-size: 18px;
	}
	.home .cont10 .blog_box {
		margin-top: 49px;
	}
	.home .cont10 .blog_box .swiper-slide {
		display: block;
		width: 336px;
	}
	.home .cont10 .blog_box .swiper-slide a {
		display: flex;
		justify-content: flex-start;
		flex-wrap: wrap;
		gap: 0 5px;
		box-sizing: border-box;
	}
	.home .cont10 .blog_box .swiper-slide a h3 {
		width: 100%;
		font-size: 20px;
		font-weight: bold;
		color: var(--main-color);
		flex-shrink: 1;
		overflow: hidden;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 1;
		margin-top: 26px;
		order: 2;
		line-height: 1;
	}
	.home .cont10 .blog_box .swiper-slide a .date {
		width: 100%;
		font-size: 16px;
		font-weight: bold;
		line-height: 1;
		margin: 20px 0 0;
		order: 3;
	}
	.home .cont10 .blog_box .swiper-slide a .cate {
		height: 28px;
		background: var(--main-color);
		padding: 0 23px;
		border-radius: 2px;
		box-sizing: border-box;
		color: #fff;
		font-size: 14px;
		font-weight: bold;
		line-height: 28px;
		text-align: center;
		margin: 20px 0 0;
		order: 4;
	}
	.home .cont10 .blog_box .swiper-slide a .text02 {
		font-size: 16px;
		line-height: 2;
		flex-shrink: 1;
		overflow: hidden;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
		margin-top: 15px;
		order: 5;
	}
	.home .cont10 .blog_box .swiper-slide a figure {
		width: 330px;
		height: 220px;
		border: 3px solid var(--main-color);
		overflow: hidden;
		order: 1;
	}
	.home .cont10 .swiper-button-prev {
		top: -103px;
		left: calc(50% + 420px);
		width: 80px;
		height: 80px;
		background: url(img/common_arrow.png) 28px center no-repeat var(--main-color);
		border-radius: 40px;
		transition: opacity 0.4s ease;
	}
	.home .cont10 .swiper-button-prev:hover {
		opacity: 0.7;
	}
	.home .cont10 .swiper-button-next {
		top: -103px;
		right: calc(50% + 420px);
		width: 80px;
		height: 80px;
		background: url("img/common_arrow.png") 28px center no-repeat var(--main-color);
		border-radius: 40px;
		transform: rotate(-180deg);
		transition: opacity 0.4s ease;
	}
	.home .cont10 .swiper-button-next:hover {
		opacity: 0.7;
	}
	.home .cont10 .button {
		position: relative;
		width: 360px;
		height: 50px;
		text-align: center;
		margin: 55px auto 0;
	}
	.home .cont10 .button a {
		display: block;
		background: var(--main-color);
		border: 1px solid var(--main-color);
		line-height: 50px;
		box-sizing: border-box;
		border-radius: 25px;
		font-weight: bold;
		color: #fff;
		transition: background-color 0.4s ease, color 0.4s ease, border 0.4s ease;
	}
	.home .cont10 .button a::before {
		content: "";
		position: absolute;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
		background: #fff;
		right: 20px;
		top: 0;
		bottom: 0;
		margin: auto 0;
		width: 6px;
		height: 10px;
		transition: background-color 0.4s ease;
	}
	.home .cont10 .button a:hover {
		background: #fff;
		color: var(--main-color);
		border: 1px solid var(--main-color);
	}
	.home .cont10 .button a:hover::before {
		background: var(--main-color);
	}


/* service ------------------------------------------------------------------------*/

	/* key */
	.service .key .text01::after{
		background: url("img/service_key_text01.png");
		width: 431px;
		height: 74px;
	}


	/* cont01 */
	.service .cont01 .inner{
		padding: 90px 0 100px;
	}
	.service .cont01 .inner h2{
		padding-left: 38px;
		font-size: 24px;
		font-weight: bold;
		line-height: 1.75;
		position: relative;
	}
	.service .cont01 .inner h2::before{
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		content: "";
		background: var(--main-color);
		width: 8px;
		height: calc(100% - 18px);
		border-radius: 4px;
	}
	.service .cont01 .inner .text01{
		margin-top: 42px;
	}
	.service .cont01 .inner .text01 + .text01{
		margin-top: 22px;
	}
	.service .cont01 .inner .bana_box{
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		width: 520px;
		height: 150px;
		background: #00b1a8 url("img/service_deco01.png")left 23px top 12px no-repeat;
		border-radius: 5px;
		padding: 0 0 0 100px;
		box-sizing: border-box;
		color: #fff;
		text-align: center;
		margin-top: 30px;
	}
	.service .cont01 .inner .bana_box .text02{
		font-size: 18px;
		font-weight: bold;
		line-height: 1;
	}
	.service .cont01 .inner .bana_box .text02 span{
		display: inline-block;
		font-size: 44px;
		font-weight: bold;
	}
	.service .cont01 .inner .bana_box .text02 span span{
		color: #ffff00;
		font-weight: bold;
		margin-top: 10px;
	}
	.service .cont01 .inner .bana_box .button {
		position: relative;
		width: 280px;
		height: 32px;
		text-align: center;
		margin: 13px auto 0;
	}
	.service .cont01 .inner .bana_box .button a {
		display: block;
		background: var(--main-color);
		border: 1px solid var(--main-color);
		line-height: 32px;
		box-sizing: border-box;
		border-radius: 16px;
		font-weight: bold;
		color: #fff;
		transition: background-color 0.4s ease, color 0.4s ease, border 0.4s ease;
	}
	.service .cont01 .inner .bana_box .button a::before {
		content: "";
		position: absolute;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
		background: #fff;
		right: 17px;
		top: 0;
		bottom: 0;
		margin: auto 0;
		width: 6px;
		height: 10px;
		transition: background-color 0.4s ease;
	}
	.service .cont01 .inner .bana_box .button a:hover {
		background: #fff;
		color: var(--main-color);
		border: 1px solid var(--main-color);
	}
	.service .cont01 .inner .bana_box .button a:hover::before {
		background: var(--main-color);
	}
	.service .cont01 figure {
		position: absolute;
		top: 90px;
		right: -300px;
		width: 830px;
		border: 3px solid var(--main-color);
		border-right: none;
		border-radius: 20px 0 0 20px;
		overflow: hidden;
		box-sizing: border-box;
	}

	@media screen and (min-width: 1801px) {
		.service .cont01 figure {
			border-radius: 20px;
			border-right: 3px solid var(--main-color);
		}
	}
	@media screen and (max-width: 1300px) {
		.service .cont01 .inner{
			width: 1100px;
		}
		.service .cont01 figure {
			position: absolute;
			top: 90px;
			right: -160px;
			width: 600px;
		}
	}


	/* cont02 */
	.service .cont02{
		background: #f2f0e7;
	}
	.service .cont02 .inner{
		padding: 120px 0 100px;
	}
	.service .cont02 .inner h2{
		font-size: 44px;
		font-weight: bold;
		line-height: 1;
		text-align: center;
	}
	.service .cont02 .inner h2 span{
		position: relative;
		font-size: 20px;
		font-weight: bold;
		display: block;
		line-height: 1;
		padding-bottom: 27px;
	}
	.service .cont02 .inner h2 span::after{
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, calc(-50% - 14px));
		content: "";
		background: url("img/service_text01.png") center center / cover no-repeat;
		width: 345px;
		height: 58px;
		z-index: -1;
	}
	.service .cont02 .inner .readtext{
		text-align: center;
		font-size: 18px;
		margin-top: 50px;
	}
	.service .cont02 .inner .service_wrap{
		display: flex;
		justify-content: space-between;
		margin-top: 52px;
	}
	.service .cont02 .inner .service_wrap .cont{
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 380px;
		background: #fff;
		border: 1px solid var(--main-color);
		border-radius: 5px;
		padding: 0 0 18px;
		box-sizing: border-box;
		overflow: hidden;
	}
	.service .cont02 .inner .service_wrap .cont h3{
		width: 100%;
		height: 39px;
		background: var(--main-color);
		color: #fff;
		font-size: 20px;
		font-weight: bold;
		line-height: 38px;
		text-align: center;
	}
	.service .cont02 .inner .service_wrap .cont figure{
		margin-top: 20px;
	}
	.service .cont02 .inner .service_wrap .cont .text01{
		padding: 0 19px;
		line-height: 1.875;
		margin-top: 12px;
	}
	.service .cont02 .inner .under_box{
		background: #fff;
		padding: 60px;
		border-radius: 5px;
		box-sizing: border-box;
		margin-top: 110px;
	}
	.service .cont02 .inner .under_box .h_box{
		padding-left: 38px;
		position: relative;
	}
	.service .cont02 .inner .under_box .h_box::before{
		position: absolute;
		top: 0;
		left: 0;
		content: "";
		background: var(--main-color);
		width: 8px;
		height: calc(100% - 8px);
		border-radius: 4px;
	}
	.service .cont02 .inner .under_box .h_box h4{
		font-size: 28px;
		font-weight: bold;
		line-height: 1;
	}
	.service .cont02 .inner .under_box .h_box h4 span{
		display: block;
		font-size: 14px;
		margin-bottom: 18px;
	}
	.service .cont02 .inner .under_box .h_box .text02{
		margin-top: 30px;
	}

	.service .cont02 .inner .under_box table{
		display: grid;
		grid-template-columns: 165px 300px 300px 300px;
		gap: 5px;
		width: 1080px;
		margin: 40px auto 0;
	}
	.service .cont02 .inner .under_box tbody,
	.service .cont02 .inner .under_box tr{
		display: contents;
	}
	.service .cont02 .inner .under_box th,
	.service .cont02 .inner .under_box td{
		box-sizing: border-box;
		line-height: 1.5;
		align-self: stretch;
		padding: 14px 0;
	}
	.service .cont02 .inner .under_box tr:nth-child(1) th{
		display: grid;
		align-items: center;
		justify-content: center;
		height: 90px;
		color: #fff;
		font-size: 20px;
		font-weight: bold;
		text-align: center;
		padding: 0;
	}
	.service .cont02 .inner .under_box tr:nth-child(1) th:nth-child(1){
		background: transparent;
	}
	.service .cont02 .inner .under_box tr:nth-child(1) th:nth-child(2){
		background: #0166b3;
		border-radius: 10px 0 0 0;
	}
	.service .cont02 .inner .under_box tr:nth-child(1) th:nth-child(3){
		background: #00b1a8;
	}
	.service .cont02 .inner .under_box tr:nth-child(1) th:nth-child(4){
		background: #253a83;
		border-radius: 0 10px 0 0;
	}
	.service .cont02 .inner .under_box tr:nth-child(1) th span{
		font-weight: bold;
		position: relative;
	}
	.service .cont02 .inner .under_box tr:nth-child(1) th:nth-child(2) span{
		padding-left: 84px;
	}
	.service .cont02 .inner .under_box tr:nth-child(1) th:nth-child(2) span::before{
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		content: "";
		background: url("img/common_icon01.png")no-repeat;
		width: 68px;
		height: 41px;
		filter: brightness(0) invert(1);
	}
	.service .cont02 .inner .under_box tr:nth-child(1) th:nth-child(3) span{
		padding-left: 79px;
	}
	.service .cont02 .inner .under_box tr:nth-child(1) th:nth-child(3) span::before{
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		content: "";
		background: url("img/common_icon02.png")no-repeat;
		width: 68px;
		height: 46px;
		filter: brightness(0) invert(1);
	}
	.service .cont02 .inner .under_box tr:nth-child(1) th:nth-child(4) span{
		padding-left: 78px;
	}
	.service .cont02 .inner .under_box tr:nth-child(1) th:nth-child(4) span::before{
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		content: "";
		background: url("img/common_icon07.png")no-repeat;
		width: 68px;
		height: 46px;
	}
	.service .cont02 .inner .under_box tr:not(:nth-child(1)) th,
	.service .cont02 .inner .under_box tr:not(:nth-child(1)) td{
		display: grid;
		align-content: center;
		min-height: 55px;
	}
	.service .cont02 .inner .under_box tr:not(:nth-child(1)) th:nth-child(1){
		background: #f2f0e7;
		padding-left: 20px;
		font-size: 18px;
		font-weight: bold;
		text-align: left;
	}
	.service .cont02 .inner .under_box tr:not(:nth-child(1)) td:nth-of-type(1){
		background: #e2f1ff;
	}
	.service .cont02 .inner .under_box tr:not(:nth-child(1)) td:nth-of-type(2){
		background: #ccefee;
	}
	.service .cont02 .inner .under_box tr:not(:nth-child(1)) td:nth-of-type(3){
		background: #dfe2ed;
	}
	.service .cont02 .inner .under_box tr:nth-of-type(n+3) td{
		text-align: center;
	}
	.service .cont02 .inner .under_box td li{
		padding-left: 10px;
		margin-bottom: 4px;
	}
	.service .cont02 .inner .under_box td li::before{
		content: "・";
	}
	.service .cont02 .inner .under_box td li:last-child{
		margin-bottom: 0;
	}
	.service .cont02 .inner .under_box tr:nth-child(2) th:nth-child(1){
		border-radius: 10px 0 0 0;
	}
	.service .cont02 .inner .under_box tr:nth-child(6) th:nth-child(1){
		border-radius: 0 0 0 10px;
	}
	.service .cont02 .inner .under_box tr:nth-child(6) td:nth-child(4){
		border-radius: 0 0 10px 0;
	}

	.service .cont02 .inner .under_text_box{
		background: url("img/common_text02.png")left 115px top 79px no-repeat;
		padding: 100px 0 0 284px;
		position: relative;
	}
	.service .cont02 .inner .under_text_box::after{
		position: absolute;
		top: 61px;
		right: 94px;
		content: "";
		background: url("img/common_illust02.png")no-repeat;
		width: 130px;
		height: 287px;
	}
	.service .cont02 .inner .under_text_box .text03{
		font-size: 30px;
		font-weight: bold;
		line-height: 1;
	}
	.service .cont02 .inner .under_text_box .text03 span{
		color: #0166b3;
		font-weight: bold;
	}
	.service .cont02 .inner .under_text_box .text04{
		font-size: 18px;
		margin-top: 41px;
	}
	.service .cont02 .inner .button{
		width: 460px;
		height: 50px;
		text-align: center;
		margin: 30px auto 0;
	}
	.service .cont02 .inner .button a{
		position: relative;
		display: block;
		background: var(--main-color);
		border: 1px solid var(--main-color);
		box-sizing: border-box;
		color: #fff;
		font-size: 16px;
		line-height: 50px;
		font-weight: bold;
		border-radius: 25px;
		transition: background-color 0.4s ease, color 0.4s ease;
	}
	.service .cont02 .inner .button a span{
		color: #f4ec41;
		font-weight: bold;
	}
	.service .cont02 .inner .button a:hover{
		background: #fff;
		color: var(--main-color);
	}
	.service .cont02 .inner .button a:hover span{
		color: #00b1a8;
	}
	.service .cont02 .inner .button a::before{
		content: "";
		position: absolute;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
		background: #fff;
		right: 18px;
		top: 0;
		bottom: 0;
		margin: auto 0;
		width: 6px;
		height: 10px;
		transition: background-color 0.4s ease, color 0.4s ease;
	}
	.service .cont02 .inner .button a:hover::before{
		background: var(--main-color);
	}
	@media screen and (max-width: 1300px) {
		.service .cont02 .inner{
			width: 1100px;
		}
		.service .cont02 .inner .service_wrap .cont{
			width: 350px;
		}
		.service .cont02 .inner .service_wrap .cont figure{
			margin: 20px 20px 0;
		}
		.service .cont02 .inner .under_box{
			padding: 40px;
		}
		.service .cont02 .inner .under_box table{
			grid-template-columns: 165px 280px 280px 280px;
			width: 1020px;
		}
		.service .cont02 .inner .under_box td li{
			text-indent: -1em;
			padding-left: 1em;
			margin: 0 10px 4px;
		}
		.service .cont02 .inner .under_text_box::after{
			top: 91px;
			right: 0;
		}
	}


	/* cont03 */
	.service .cont03{
		background: #e2f1ff;
	}
	.service .cont03 .inner{
		padding: 120px 0 90px;
	}
	.service .cont03 .inner h2{
		font-size: 44px;
		font-weight: bold;
		line-height: 1;
		text-align: center;
	}
	.service .cont03 .inner h2 span{
		position: relative;
		font-size: 20px;
		font-weight: bold;
		display: block;
		line-height: 1;
		padding-bottom: 27px;
	}
	.service .cont03 .inner h2 span::after{
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, calc(-50% - 14px));
		content: "";
		background: url("img/service_text03.png") center center / cover no-repeat;
		width: 294px;
		height: 59px;
		z-index: -1;
	}
	.service .cont03 .inner .readtext{
		text-align: center;
		font-size: 18px;
		margin-top: 50px;
	}
	.service .cont03 .inner .notice_cont01{
		background: #fff;
		border-radius: 10px;
		padding: 70px 0 90px;
		margin-top: 51px;
		position: relative;
	}
	.service .cont03 .inner .notice_cont01::before{
		position: absolute;
		top: -94px;
		left: 86px;
		content: "";
		background: url("img/common_illust02.png")no-repeat;
		background-size: 150px;
		width: 150px;
		height: 332px;
	}
	.service .cont03 .inner .notice_cont01 .list_box{
		display: flex;
		align-items: center;
		gap: 0 60px;
		padding: 0 0 0 264px;
	}
	.service .cont03 .inner .notice_cont01 .list_box h3{
		padding: 42px 0 0;
		font-size: 26px;
		font-weight: bold;
		line-height: 1.615;
		position: relative;
	}
	.service .cont03 .inner .notice_cont01 .list_box h3::before{
		position: absolute;
		top: -29px;
		left: -44px;
		content: "";
		background: url("img/service_text04.png")left top no-repeat;
		width: 178px;
		height: 59px;
	}
	.service .cont03 .inner .notice_cont01 .list_box ul li{
		background: url("img/service_checkicon.png")left center no-repeat;
		padding-left: 30px;
		color: var(--main-color);
		font-size: 20px;
		font-weight: bold;
		line-height: 2;
	}
	.service .cont03 .inner .notice_cont01 .text_box{
		width: 967px;
		padding: 38px 0 30px;
		border-top: 1px dashed var(--main-color);
		border-bottom: 1px dashed var(--main-color);
		text-align: center;
		margin: 29px auto 0;
		position: relative;
	}
	.service .cont03 .inner .notice_cont01 .text_box::before{
		position: absolute;
		top: -49px;
		right: -93px;
		content: "";
		background: url("img/common_illust01.png")no-repeat;
		width: 200px;
		height: 141px;
	}
	.service .cont03 .inner .notice_cont01 .text_box .text01{
		font-size: 24px;
		font-weight: bold;
		line-height: 1;
	}
	.service .cont03 .inner .notice_cont01 .text_box .text01 .span01{
		font-size: 32px;
		font-weight: bold;
	}
	.service .cont03 .inner .notice_cont01 .text_box .text01 .span01::before{
		content: "［";
		padding: 0 10px;
	}
	.service .cont03 .inner .notice_cont01 .text_box .text01 .span01::after{
		content: "］";
		padding: 0 10px;
	}
	.service .cont03 .inner .notice_cont01 .text_box .text01 .span02{
		color: var(--main-color);
		font-weight: bold;
	}
	.service .cont03 .inner .notice_cont01 .text_box .text02{
		line-height: 2.25;
		margin-top: 19px;
	}

	.service .cont03 .inner .notice_cont02{
		background: #fff;
		padding: 60px;
		border-radius: 10px;
		box-sizing: border-box;
		margin-top: 60px;
	}
	.service .cont03 .inner .notice_cont02 .h_box{
		padding-left: 38px;
		position: relative;
	}
	.service .cont03 .inner .notice_cont02 .h_box::before{
		position: absolute;
		top: 0;
		left: 0;
		content: "";
		background: var(--main-color);
		width: 8px;
		height: calc(100% - 8px);
		border-radius: 4px;
	}
	.service .cont03 .inner .notice_cont02 .h_box h3{
		display: inline-block;
		font-size: 28px;
		font-weight: bold;
		line-height: 1;
		position: relative;
	}
	.service .cont03 .inner .notice_cont02 .h_box h3::after{
		position: absolute;
		top: 0;
		left: calc(100% + 5px);
		content: "";
		background: url("img/service_deco02.png")no-repeat;
		width: 58px;
		height: 67px;
	}
	.service .cont03 .inner .notice_cont02 .h_box h3 span{
		display: block;
		font-size: 14px;
		margin-bottom: 18px;
	}
	.service .cont03 .inner .notice_cont02 .h_box .text03{
		margin-top: 18px;
	}
	.service .cont03 .inner .notice_cont02 .h_box .text03 span{
		color: var(--main-color);
		font-weight: bold;
	}

	.service .cont03 .inner .notice_cont02 table{
		display: grid;
		grid-template-columns: 165px 452px 453px;
		gap: 5px;
		width: 1080px;
		margin: 40px auto 0;
	}
	.service .cont03 .inner .notice_cont02 tbody,
	.service .cont03 .inner .notice_cont02 tr{
		display: contents;
	}
	.service .cont03 .inner .notice_cont02 th,
	.service .cont03 .inner .notice_cont02 td{
		box-sizing: border-box;
		line-height: 1.5;
		align-self: stretch;
		padding: 14px 0;
	}
	.service .cont03 .inner .notice_cont02 tr:nth-child(1) th{
		display: grid;
		align-items: center;
		justify-content: center;
		height: 70px;
		color: #fff;
		font-size: 20px;
		font-weight: bold;
		text-align: center;
		padding: 0;
	}
	.service .cont03 .inner .notice_cont02 tr:nth-child(1) th:nth-child(1){
		background: transparent;
	}
	.service .cont03 .inner .notice_cont02 tr:nth-child(1) th:nth-child(2){
		background: var(--main-color);
	}
	.service .cont03 .inner .notice_cont02 tr:nth-child(1) th:nth-child(3){
		background: #0166b3;
	}
	.service .cont03 .inner .notice_cont02 tr:nth-child(1) th span{
		font-weight: bold;
		position: relative;
	}
	.service .cont03 .inner .notice_cont02 tr:nth-child(1) th:nth-child(2) span{
		padding-left: 45px;
	}
	.service .cont03 .inner .notice_cont02 tr:nth-child(1) th:nth-child(2) span::before{
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		content: "";
		background: url("img/common_icon06.png")no-repeat;
		width: 30px;
		height: 30px;
	}
	.service .cont03 .inner .notice_cont02 tr:nth-child(1) th:nth-child(3) span{
		padding-left: 77px;
	}
	.service .cont03 .inner .notice_cont02 tr:nth-child(1) th:nth-child(3) span::before{
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		content: "";
		background: url("img/common_icon02.png")no-repeat;
		width: 68px;
		height: 46px;
		filter: brightness(0) invert(1);
	}
	.service .cont03 .inner .notice_cont02 tr:not(:nth-child(1)) th,
	.service .cont03 .inner .notice_cont02 tr:not(:nth-child(1)) td{
		display: grid;
		align-content: center;
		min-height: 85px;
	}
	.service .cont03 .inner .notice_cont02 tr:not(:nth-child(1)) th:nth-child(1){
		background: #f2f0e7;
		padding-left: 17px;
		font-size: 18px;
		font-weight: bold;
		text-align: left;
	}
	.service .cont03 .inner .notice_cont02 tr:not(:nth-child(1)) td:nth-of-type(1){
		background: #dfe2ed;
	}
	.service .cont03 .inner .notice_cont02 tr:not(:nth-child(1)) td:nth-of-type(2){
		background: #e2f1ff;
	}
	.service .cont03 .inner .notice_cont02 tr:nth-of-type(n+2) td{
		text-align: center;
	}
	.service .cont03 .inner .notice_cont02 .button{
		width: 460px;
		height: 50px;
		text-align: center;
		margin: 40px auto 0;
	}
	.service .cont03 .inner .notice_cont02 .button a{
		position: relative;
		display: block;
		background: var(--main-color);
		border: 1px solid var(--main-color);
		box-sizing: border-box;
		color: #fff;
		font-size: 16px;
		line-height: 50px;
		font-weight: bold;
		border-radius: 25px;
		transition: background-color 0.4s ease, color 0.4s ease;
	}
	.service .cont03 .inner .notice_cont02 .button a span{
		color: #f4ec41;
		font-weight: bold;
	}
	.service .cont03 .inner .notice_cont02 .button a:hover{
		background: #fff;
		color: var(--main-color);
	}
	.service .cont03 .inner .notice_cont02 .button a:hover span{
		color: #00b1a8;
	}
	.service .cont03 .inner .notice_cont02 .button a::before{
		content: "";
		position: absolute;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
		background: #fff;
		right: 18px;
		top: 0;
		bottom: 0;
		margin: auto 0;
		width: 6px;
		height: 10px;
		transition: background-color 0.4s ease, color 0.4s ease;
	}
	.service .cont03 .inner .notice_cont02 .button a:hover::before{
		background: var(--main-color);
	}
	.service .cont03 .inner .under_box{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		gap: 40px 0;
		margin-top: 60px;
	}
	.service .cont03 .inner .under_box h4{
		width: 100%;
		font-size: 28px;
		font-weight: bold;
		line-height: 1;
		text-align: center;
	}
	.service .cont03 .inner .under_box h4 span{
		display: inline-block;
		color: var(--main-color);
		font-size: 20px;
		font-weight: bold;
		line-height: 1;
		margin-bottom: 25px;
		position: relative;
	}
	.service .cont03 .inner .under_box h4 span::before{
		position: absolute;
		top: 50%;
		right: calc(100% + 10px);
		transform: translateY(-50%) rotate(-25deg);
		content: "";
		background: var(--main-color);
		width: 2px;
		height: 1em;
	}
	.service .cont03 .inner .under_box h4 span::after{
		position: absolute;
		top: 50%;
		left: calc(100% + 10px);
		transform: translateY(-50%) rotate(25deg);
		content: "";
		background: var(--main-color);
		width: 2px;
		height: 1em;
	}
	.service .cont03 .inner .under_box figure{
		margin-top: 9px;
	}
	.service .cont03 .inner .under_box .text04{
		width: 600px;
	}
	@media screen and (max-width: 1300px) {
		.service .cont03 .inner{
			width: 1100px;
		}
		.service .cont03 .inner .notice_cont01::before{
			left: 50px;
			background: url("img/common_illust02.png")no-repeat;
			background-size: 130px;
			width: 130px;
			height: 287px;
		}
		.service .cont03 .inner .notice_cont01 .list_box{
			gap: 0 40px;
			padding: 0 0 0 180px;
		}
		.service .cont03 .inner .notice_cont02{
			padding: 40px;
		}
		.service .cont03 .inner .notice_cont02 table{
			grid-template-columns: 165px 422px 423px;
			width: 1020px;
		}
		.service .cont03 .inner .under_box figure{
			width: 520px;
		}
		.service .cont03 .inner .under_box .text04{
			width: 550px;
		}
	}


	/* cont04 */
	.service .cont04{
		padding: 122px 0 0;
	}

	.service .cont04 h2{
		text-align: center;
		font-size: 44px;
		font-weight: bold;
		line-height: 1;
		color: #082a4a;
	}

	.service .cont04 h2 span{
		position: relative;
		font-size: 20px;
		font-weight: bold;
		display: block;
		line-height: 1;
		color: #444;
		padding-bottom: 24px;
	}

	.service .cont04 h2 span::before{
		position: absolute;
		content: "";
		background: url("img/service_text05.png") center center / cover no-repeat;
		width: 206px;
		height: 56px;
		top: 50%;
		left: 50%;
		transform: translate(-50%, calc(-50% - 12px));
		z-index: -1;
	}
	.service .cont04 .box{
		position: relative;
		display: flex;
		justify-content: end;
		margin-top: 120px;
	}
	.service .cont04 .box .text_box{
		margin-top: -35px;
	}
	.service .cont04 .box figure{
		position: absolute;
		left: -300px;
		bottom: 0;
		border-radius: 0 10px 10px 0;
		overflow: hidden;
	}
	.service .cont04 .area{
		width: 565px;
		height: 289px;
		background: #fff;
		border: 2px solid var(--main-color);
		border-radius: 10px;
		box-sizing: border-box;
		text-align: center;
		padding-bottom: 33px;
		margin-top: 40px;
	}
	@media screen and (max-width: 1300px) {
		.service .cont04 .inner{
			width: 1100px;
		}
		.service .cont04 .box figure{
			bottom: 20px;
			left: -260px;
			width: 780px;
		}
		.service .cont04 .area{
			width: 525px;
			height: 289px;
		}
	}
	.service .cont04 .area h3{
		color: #fff;
		background: var(--main-color);
		border-radius: 6px 6px 0 0;
		line-height: 38px;
		font-weight: bold;
	}
	.service .cont04 .area .area_list{
		text-align-last: left;
		height: 195px;
		overflow-y: auto;
		margin: 25px 12px 0 33px;
		padding-right: 15px;
	}
	.service .cont04 .area .area_list ul{
		display: flex;
		flex-wrap: wrap;
		gap: 16px;
		padding-top: 20px;
	}
	.service .cont04 .area .area_list li{
		font-size: 16px;
		line-height: 1;
	}
	.service .cont04 .area .area_list li a:hover{
		color: #0e4b86;
		text-decoration: underline;
		opacity: 1;
	}
	.service .cont04 .area .area_list > li{
		font-size: 20px;
		font-weight: bold;
		color: var(--main-color);
		margin-bottom: 30px;
	}

	@media screen and (min-width: 1801px) {
		.service .cont04 .box figure{
			border-radius: 10px;
		}
	}


/* price ------------------------------------------------------------------------*/

	/* key */
	.price .key .text01::after{
		background: url("img/price_key_text01.png");
		width: 297px;
		height: 74px;
	}

	/* cont01 */
	.price .cont01{
		padding: 120px 0 100px;
	}
	.price .cont01 h2{
		text-align: center;
		font-size: 44px;
		font-weight: bold;
		line-height: 1.114;
		color: #1d1d1d;
		margin-bottom: 50px;
	}
	.price .cont01 h2 span{
		position: relative;
		font-size: 20px;
		font-weight: bold;
		display: block;
		line-height: 1;
		color: #444;
		padding-bottom: 27px;
	}
	.price .cont01 h2 span::after{
		position: absolute;
		content: "";
		background: url(img/common_text01.png) center center / cover no-repeat;
		width: 237px;
		height: 59px;
		top: 50%;
		left: 50%;
		transform: translate(-50%, calc(-50% - 14px));
		z-index: -1;
	}
	.price .cont01 .readtext{
		text-align: center;
		font-size: 18px;
	}
	.price .cont01 .price_wrap{
		display: flex;
		justify-content: space-between;
		margin-top: 50px;
	}
	.price .cont01 .price_wrap .cont{
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 580px;
		background: #d9e8f4;
		padding-bottom: 24px;
		border-radius: 10px;
		overflow: hidden;
	}
	.price .cont01 .price_wrap .cont:nth-of-type(2){
		background: #d9f3f2;
	}
	.price .cont01 .price_wrap .cont h3{
		width: 100%;
		height: 60px;
		background: #0166b3;
		color: #fff;
		font-size: 26px;
		text-align: center;
		line-height: 60px;
	}
	.price .cont01 .price_wrap .cont:nth-of-type(2) h3{
		background: #00b1a8;
	}
	.price .cont01 .price_wrap .cont h3 span{
		display: inline-block;
		height: 60px;
		background: url("img/common_icon04.png")left center no-repeat;
		padding-left: 84px;
		font-weight: bold;
	}
	.price .cont01 .price_wrap .cont:nth-of-type(2) h3 span{
		background: url("img/common_icon05.png")left top 10px no-repeat;
		padding-left: 79px;
	}
	.price .cont01 .price_wrap .cont dl{
		display: flex;
		justify-content: center;
		gap: 0 20px;
		margin-top: 40px;
	}
	.price .cont01 .price_wrap .cont dl .price_item{
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 245px;
		height: 90px;
		background: #fff;
		border-radius: 3px;
		padding: 25px 0 0;
		box-sizing: border-box;
		filter: drop-shadow(0 0 20px rgba(0,0,0,0.1));
		position: relative;
	}
	.price .cont01 .price_wrap .cont dl .price_item dt{
		position: absolute;
		top: -11px;
		left: 50%;
		transform: translateX(-50%);
		color: #0166b3;
		font-size: 22px;
		font-weight: bold;
		line-height: 1;
		white-space: nowrap;
	}
	.price .cont01 .price_wrap .cont:nth-of-type(2) dl .price_item dt{
		color: #00b1a8;
	}
	.price .cont01 .price_wrap .cont dl .price_item dt::before{
		content: "［";
		padding-right: 8px;
	}
	.price .cont01 .price_wrap .cont dl .price_item dt::after{
		content: "］";
		padding-left: 8px;
	}
	.price .cont01 .price_wrap .cont dl .price_item dd{
		font-size: 30px;
		font-weight: bold;
		line-height: 1;
	}
	.price .cont01 .price_wrap .cont dl .price_item dd span{
		font-size: 46px;
		font-weight: bold;
	}
	.price .cont01 .price_wrap .cont .text01{
		padding: 0 32px 0 36px;
		line-height: 1.875;
		margin-top: 16px;
	}
	.price .cont01 .tax_text{
		font-size: 14px;
		text-align: right;
		line-height: 1;
		margin-top: 15px;
	}
	.price .cont01 .tax_text::before{
		content: "※";
	}

	.price .cont01 .under_text_box{
		background: url("img/common_text02.png")left 115px top 79px no-repeat;
		padding: 100px 0 0 284px;
		position: relative;
	}
	.price .cont01 .under_text_box::after{
		position: absolute;
		top: 61px;
		right: 94px;
		content: "";
		background: url("img/common_illust02.png")no-repeat;
		width: 130px;
		height: 287px;
	}
	.price .cont01 .under_text_box .text03{
		font-size: 30px;
		font-weight: bold;
		line-height: 1;
	}
	.price .cont01 .under_text_box .text03 span{
		color: #0166b3;
		font-weight: bold;
	}
	.price .cont01 .under_text_box .text04{
		font-size: 18px;
		margin-top: 41px;
	}
	.price .cont01 .button{
		width: 460px;
		height: 50px;
		text-align: center;
		margin: 30px auto 0;
	}
	.price .cont01 .button a{
		position: relative;
		display: block;
		background: var(--main-color);
		border: 1px solid var(--main-color);
		box-sizing: border-box;
		color: #fff;
		font-size: 16px;
		line-height: 50px;
		font-weight: bold;
		border-radius: 25px;
		transition: background-color 0.4s ease, color 0.4s ease;
	}
	.price .cont01 .button a span{
		color: #f4ec41;
		font-weight: bold;
	}
	.price .cont01 .button a:hover{
		background: #fff;
		color: var(--main-color);
	}
	.price .cont01 .button a:hover span{
		color: #00b1a8;
	}
	.price .cont01 .button a::before{
		content: "";
		position: absolute;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
		background: #fff;
		right: 18px;
		top: 0;
		bottom: 0;
		margin: auto 0;
		width: 6px;
		height: 10px;
		transition: background-color 0.4s ease, color 0.4s ease;
	}
	.price .cont01 .button a:hover::before{
		background: var(--main-color);
	}

	.price .cont01 .under_box{
		background: #f2f0e7;
		border-radius: 10px;
		padding: 50px 80px 30px;
		box-sizing: border-box;
		margin-top: 126px;
		position: relative;
	}
	.price .cont01 .under_box h4{
		position: absolute;
		top: -12px;
		left: 50%;
		transform: translateX(-50%);
		color: var(--main-color);
		font-size: 24px;
		font-weight: bold;
		line-height: 1;
	}
	.price .cont01 .under_box h4::before{
		position: absolute;
		top: 50%;
		right: calc(100% + 33px);
		transform: translateY(-50%);
		content: "";
		background: var(--main-color);
		width: 300px;
		height: 2px;
		border-radius: 1px;
	}
	.price .cont01 .under_box h4::after{
		position: absolute;
		top: 50%;
		left: calc(100% + 33px);
		transform: translateY(-50%);
		content: "";
		background: var(--main-color);
		width: 300px;
		height: 2px;
		border-radius: 1px;
	}
	.price .cont01 .under_box .text02{
		text-align: center;
	}
	.price .cont01 .under_box .option_wrap{
		display: flex;
		justify-content: space-between;
		margin-top: 30px;
	}
	.price .cont01 .under_box .option_wrap .option_cont{
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 330px;
		background: #fff;
		border-radius: 10px;
		padding: 0 0 23px;
		box-sizing: border-box;
		overflow: hidden;
	}
	.price .cont01 .under_box .option_wrap .option_cont h5{
		width: 100%;
		height: 45px;
		background: var(--main-color);
		color: #fff;
		font-size: 20px;
		font-weight: bold;
		line-height: 45px;
		letter-spacing: 0.07em;
		text-align: center;
	}
	.price .cont01 .under_box .option_wrap .option_cont .price{
		width: 300px;
		height: 80px;
		background: url("img/common_img01.png")left center no-repeat;
		padding-left: 157px;
		box-sizing: border-box;
		font-size: 24px;
		font-weight: bold;
		line-height: 80px;
		margin: 15px 0 0 30px;
	}
	.price .cont01 .under_box .option_wrap .option_cont:nth-of-type(2) .price{
		background: url("img/common_img02.png")left center no-repeat;
		padding-left: 154px;
	}
	.price .cont01 .under_box .option_wrap .option_cont:nth-of-type(3) .price{
		background: url("img/common_img03.png")left center no-repeat;
		padding-left: 144px;
	}
	.price .cont01 .under_box .option_wrap .option_cont .price span{
		font-size: 36px;
		font-weight: bold;
	}
	.price .cont01 .under_box .option_wrap .option_cont .text03{
		padding: 0 26px 0 30px;
		font-size: 14px;
		line-height: 1.857;
		margin-top: 11px;
	}


	/* harf_wrap */
	.price .harf_wrap{
		display: flex;
	}
	.price .harf_wrap .harf_cont{
		width: 50%;
		height: 380px;
	}
	.price .harf_wrap .harf_cont.left{
		display: flex;
		justify-content: flex-end;
		background: url("img/harfcont_bg01.png")right top / cover no-repeat;
	}
	.price .harf_wrap .harf_cont.right{
		display: flex;
		background: url("img/harfcont_bg02.png")left top / cover no-repeat;
	}
	.price .harf_wrap .harf_cont .inner{
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 600px;
		padding: 54px 0 0;
		margin: 0;
		position: relative;
	}
	.price .harf_wrap .harf_cont.left .inner::before{
		position: absolute;
		top: 38px;
		left: 0;
		content: "";
		background: url("img/common_illust03.png")no-repeat;
		width: 136px;
		height: 100px;
		z-index: -1;
	}
	.price .harf_wrap .harf_cont.left .inner::after{
		position: absolute;
		top: 30px;
		right: 0;
		content: "";
		background: url("img/common_illust04.png")no-repeat;
		width: 145px;
		height: 112px;
		z-index: -1;
	}
	.price .harf_wrap .harf_cont .inner h2{
		color: #fff;
		font-size: 26px;
		font-weight: bold;
		line-height: 1;
	}
	.price .harf_wrap .harf_cont .inner h2::before{
		content: "［";
		padding-right: 8px;
	}
	.price .harf_wrap .harf_cont .inner h2::after{
		content: "］";
		padding-left: 8px;
	}
	.price .harf_wrap .harf_cont .inner ul{
		display: flex;
		justify-content: center;
		gap: 10px;
		margin-top: 34px;
	}
	.price .harf_wrap .harf_cont .inner ul li{
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		background: #f4ec41;
		padding: 12px 21px 10px;
		border-radius: 3px;
		box-sizing: border-box;
		font-size: 26px;
		font-weight: bold;
		line-height: 1;
		text-align: center;
	}
	.price .harf_wrap .harf_cont.right .inner ul li{
		width: 240px;
		padding: 17px 0 15px;
	}
	.price .harf_wrap .harf_cont .inner ul li span{
		display: block;
		font-size: 14px;
		margin-top: 8px;
	}
	.price .harf_wrap .harf_cont .inner .text01{
		color: #f4ec41;
		font-size: 20px;
		font-weight: bold;
		line-height: 1.7;
		text-align: center;
		margin-top: 29px;
	}
	.price .harf_wrap .harf_cont .inner .button{
		width: 380px;
		height: 40px;
		text-align: center;
		margin: 26px auto 0;
	}
	.price .harf_wrap .harf_cont .inner .button a{
		position: relative;
		display: block;
		background: #f78d37;
		box-sizing: border-box;
		color: #fff;
		font-size: 16px;
		line-height: 40px;
		font-weight: bold;
		border-radius: 20px;
		transition: background-color 0.4s ease, color 0.4s ease;
	}
	.price .harf_wrap .harf_cont .inner .button a:hover{
		background: #fff;
		color: #f78d37;
	}
	.price .harf_wrap .harf_cont .inner .button a::before{
		content: "";
		position: absolute;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
		background: #fff;
		right: 18px;
		top: 0;
		bottom: 0;
		margin: auto 0;
		width: 6px;
		height: 10px;
		transition: background-color 0.4s ease, color 0.4s ease;
	}
	.price .harf_wrap .harf_cont .inner .button a:hover::before{
		background: #f78d37;
	}
	.price .harf_wrap .harf_cont .inner .text02{
		padding: 0 73px;
		color: #fff;
		margin-top: 20px;
	}


	/* cont02 */
	.price .cont02{
		background: #e2f1ff;
		padding: 142px 0 100px;
	}
	.price .cont02 h2{
		text-align: center;
		font-size: 44px;
		font-weight: bold;
		line-height: 1.114;
		color: #1d1d1d;
		margin-bottom: 50px;
	}
	.price .cont02 h2 span{
		position: relative;
		font-size: 20px;
		font-weight: bold;
		display: block;
		line-height: 1;
		color: #444;
		padding-bottom: 27px;
	}
	.price .cont02 h2 span::after{
		position: absolute;
		content: "";
		background: url(img/price_text01.png) center center / cover no-repeat;
		width: 322px;
		height: 59px;
		top: 50%;
		left: 50%;
		transform: translate(-50%, calc(-50% - 14px));
		z-index: -1;
	}
	.price .cont02 .readtext{
		text-align: center;
		font-size: 18px;
	}
	.price .cont02 .line_up_box{
		background: #fff;
		border: 3px solid #0166b3;
		border-radius: 10px;
		overflow: hidden;
		margin-top: 80px;
	}
	.price .cont02 .line_up_box:first-of-type{
		margin-top: 51px;
	}
	.price .cont02 .line_up_box h3{
		width: 100%;
		height: 59px;
		background: #0166b3;
		color: #fff;
		font-size: 34px;
		font-weight: bold;
		line-height: 58px;
		text-align: center;
	}
	.price .cont02 .line_up_box h3 .priceoff{
		display: inline-block;
		color: #f4ec41;
		font-size: 30px;
		font-weight: bold;
		margin: 0 35px;
		position: relative;
	}
	.price .cont02 .line_up_box h3 .priceoff::before{
		position: absolute;
		top: 50%;
		right: calc(100% + 15px);
		transform: translateY(-50%) rotate(-25deg);
		content: "";
		background: #f4ec41;
		width: 2px;
		height: 1em;
	}
	.price .cont02 .line_up_box h3 .priceoff::after{
		position: absolute;
		top: 50%;
		left: calc(100% + 10px);
		transform: translateY(-50%) rotate(25deg);
		content: "";
		background: #f4ec41;
		width: 2px;
		height: 1em;
	}
	.price .cont02 .line_up_box h3 .priceoff span{
		font-size: 24px;
		font-weight: bold;
	}
	.price .cont02 .line_up_box .line_up_wrap .line_up_item{
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 1120px;
		padding: 40px 0;
		border-bottom: 2px solid #ccc;
		margin: 0 auto;
	}
	.price .cont02 .line_up_box .line_up_wrap .line_up_item:last-child {
    border-bottom: none;
}
	.price .cont02 .line_up_box .line_up_wrap .line_up_item .info_box{
		display: flex;
		flex-direction: column;
		width: 750px;
		order: 2;
	}
	.price .cont02 .line_up_box .line_up_wrap .line_up_item .info_box h4{
		font-size: 26px;
		font-weight: bold;
		line-height: 1;
		margin-top: 13px;
		order: 2;
	}
	.price .cont02 .line_up_box .line_up_wrap .line_up_item .info_box .manufacturer{
		color: #999;
		font-size: 16px;
		font-weight: bold;
		line-height: 1;
		order: 1;
	}
	.price .cont02 .line_up_box .line_up_wrap .line_up_item .info_box .text01{
		line-height: 1.875;
		margin-top: 15px;
		order: 3;
	}
	.price .cont02 .line_up_box .line_up_wrap .line_up_item .info_box .price_wrap{
		display: flex;
		justify-content: space-between;
		margin-top: 19px;
		order: 4;
	}
	.price .cont02 .line_up_box .line_up_wrap .line_up_item .info_box .price_wrap .price_item{
		display: flex;
	}
	.price .cont02 .line_up_box .line_up_wrap .line_up_item .info_box .price_wrap .price_item dt{
		width: 160px;
		height: 65px;
		border-radius: 5px 0 0 5px;
		color: #fff;
		font-size: 20px;
		font-weight: bold;
		line-height: 65px;
		text-align: center;
	}
	.price .cont02 .line_up_box .line_up_wrap .line_up_item .info_box .price_wrap .price_item.installation dt{
		background: #253a83;
	}
	.price .cont02 .line_up_box .line_up_wrap .line_up_item .info_box .price_wrap .price_item.exchange dt{
		background: #00b1a8;
	}
	.price .cont02 .line_up_box .line_up_wrap .line_up_item .info_box .price_wrap .price_item dd{
		width: 205px;
		height: 65px;
		border-radius: 0 5px 5px 0;
		color: #000;
		font-size: 24px;
		font-weight: bold;
		line-height: 65px;
		text-align: center;
	}
	.price .cont02 .line_up_box .line_up_wrap .line_up_item .info_box .price_wrap .price_item dd span{
		font-size: 34px;
		font-weight: bold;
	}
	.price .cont02 .line_up_box .line_up_wrap .line_up_item .info_box .price_wrap .price_item dd.installation_price{
		background: #e2f1ff;
	}
	.price .cont02 .line_up_box .line_up_wrap .line_up_item .info_box .price_wrap .price_item dd.exchange_price{
		background: #ccefee;
	}

	.price .cont02 .line_up_box .line_up_wrap .line_up_item figure{
		display: block;
		width: 340px;
		height: 210px;
		border: 1px solid #ddd;
		border-radius: 5px;
		box-sizing: border-box;
		overflow: hidden;
		object-fit: cover;
		order: 1;
	}
	@media screen and (max-width: 1300px) {
		.price .cont02 .inner{
			width: 1100px;
		}
		.price .cont02 .line_up_box .line_up_wrap .line_up_item{
			width: 1040px;
		}
		.price .cont02 .line_up_box .line_up_wrap .line_up_item .info_box{
			width: 680px;
		}
		.price .cont02 .line_up_box .line_up_wrap .line_up_item .info_box h4{
			font-size: 24px;
		}
		.price .cont02 .line_up_box .line_up_wrap .line_up_item .info_box .price_wrap .price_item dt{
			width: 150px;
			font-size: 20px;
		}
		.price .cont02 .line_up_box .line_up_wrap .line_up_item .info_box .price_wrap .price_item dd{
			width: 185px;
			font-size: 20px;
		}
		.price .cont02 .line_up_box .line_up_wrap .line_up_item .info_box .price_wrap .price_item dd span{
			font-size: 30px;
		}
	}
.price .cont02 .bland_box{
	margin-top: 80px;
}
.price .cont02 .bland_box h2{
	text-align: center;
	font-size: 38px;
	font-weight: bold;
	line-height: 1.114;
	color: #1d1d1d;
	margin-bottom: 50px;
	position: relative;
}
.price .cont02 .bland_box h2::before{
	position: absolute;
	content: "";
	background: url(img/common_deco13.png) no-repeat;
	width: 53px;
	height: 47px;
	left: 144px;
	top: -38px;
}
.price .cont02 .bland_box .logo_box{
	margin-bottom: 50px;
}
.price .cont02 .bland_box .logo_box ul{
	display: flex;
    height: 60px;
    justify-content: center;
    gap: 30px;
    align-items: center;
}
.price .cont02 .bland_box .text01{
	font-size: 18px;
    text-align: center;
    margin: 0 auto 40px;
}
.price .cont02 .bland_box .ttl01{
    font-size: 36px;
    font-weight: bold;
    width: 900px;
    text-align: center;
    background: #0166b3;
    color: #fff;
    border-radius: 10px;
    margin: 0 auto 30px;
	position: relative;
}
.price .cont02 .bland_box .ttl01:before{
	position: absolute;
	content: "";
	background: url(img/common_deco02.png) no-repeat;
	width: 85px;
	height: 107px;
	right: 16px;
	top: -42px;
}
.price .cont02 .bland_box .text02{
    font-size: 18px;
    text-align: center;
}
.price .cont02 .bland_box .text02 span{
	font-size: 16px;
}
.price .cont02 .bland_box .text02 .em{
	font-size: 24px;
    font-weight: bold;
    color: #f78d37;
    padding-inline: 5px;
}
.price .cont02 .bland_box .text02 .em02{
	font-weight: bold;
	font-size: 20px;
}

/* works-archive
------------------------------------------------------------------------*/
.works-archive .key .text01::after {
  background: url(img/works_key_text.png) center no-repeat;
  width: 404px;
  height: 74px;
}
	/* cont01 */
	.works-archive .cont01 {
    display: flex;
    justify-content: center;
    margin-top: 80px;
    gap: 28px;
    flex-wrap: wrap;
	}

	.works-archive .cont01 .btn {
		width: 382px;
		line-height: 72px;
		box-sizing: border-box;
	}

	.works-archive .cont01 .btn a {
		position: relative;
		display: block;
		color: #fff;
		font-weight: bold;
		font-size: 20px;
		text-align: center;
		border-radius: 10px;
	}

	.works-archive .cont01 .btn a::before {
		content: "";
		position: absolute;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
		background: #fff;
		right: 18px;
		top: 0;
		bottom: 0;
		margin: auto 0;
		width: 6px;
		height: 10px;
		transition: background-color 0.4s ease;
	}

	.works-archive .cont01 .btn a {
    background: #0091a2;
    border: 1px solid #0091a2;
	}

	/* .works-archive .cont01 .btn:nth-of-type(2) a {
		background: #0091a2;
		border: 2px solid #0091a2;
	}

	.works-archive .cont01 .btn:nth-of-type(3) a {
		background: #348de2;
		border: 2px solid #348de2;
	} */

	.works-archive .cont01 .btn a:hover {
		background: #fff;
		color: #065aaa;
	}

	.works-archive .cont01 a:hover::before {
		background: #065aaa;
	}

	/* .works-archive .cont01 .btn:nth-of-type(2) a:hover {
		background: #fff;
		color: #0091a2;
	}

	.works-archive .cont01 .btn:nth-of-type(2) a:hover::before {
		background: #0091a2;
	}

	.works-archive .cont01 .btn:nth-of-type(3) a:hover {
		background: #fff;
		color: #348de2;
	}

	.works-archive .cont01 .btn:nth-of-type(3) a:hover::before {
		background: #348de2;
	} */



	.works-archive .contact_box {
		margin-top: 100px;
	}


	.works-archive .cont02{
		width: 1380px;
		margin: 0 auto;
	}

	.works-archive .cont02 h3 {
		position: relative;
		font-size: 20px;
		font-weight: bold;
		color: var(--main-color);
		line-height: 32px;
		height: 32px;
		padding-left: 15px;
		margin-top: 19px;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.works-archive .cont02 h3:before {
		content: "";
		position: absolute;
		background: var(--main-color);
		width: 6px;
		height: 32px;
		left: 0;
		top: 0;
		border-radius: 3px;
	}

	.works-archive .cont02 .category_01,
	.works-archive .cont02 .category_02 {
		display: inline-block;
		line-height: 1;
		font-size: 14px;
		color: #fff;
		font-weight: bold;
		margin-top: 20px;
	}

	.works-archive .cont02 .category_01 {
		padding: 7px 14px;
		background: var(--main-color);
	}

	.works-archive .cont02 .category_02 {
		padding: 7px 22px;
		background: #51aa81;
	}

	.works-archive .cont02 .text02 {
		margin-top: 16px;
		overflow: hidden;
		text-overflow: ellipsis;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}

	.works-archive .cont02 .box {
		display: flex;
		flex-wrap: wrap;
		gap: 60px;
		margin: 90px auto 0;
	}

	.works-archive .cont02 .item {
		width: 660px;
		position: relative;
	}

	.works-archive .cont02 .box .item a {
		display: flex;
		flex-direction: column-reverse;
		gap: 10px;
	}

	.works-archive .cont02 .img_box {
		display: flex;
	}

	.works-archive .cont02 .box .img_box figure {
		position: relative;
	}

	.works-archive .cont02 .box .img_box .before::before {
		position: absolute;
		content: "";
		background: url(img/common_deco11.png) center center / cover no-repeat;
		width: 16px;
		height: 30px;
		top: 50%;
		right: -8px;
		transform: translateY(-50%);
		z-index: 1;
	}

	.works-archive .cont02 .img_box figure img{
		width: 330px;
	}

	.works-archive .cont02 .box .img_box .before img {
		border: 1px solid var(--main-color);
	}
	.works-archive .cont02 .box .img_box .before::after {
		position: absolute;
		content: "";
		background: url("img/before_text.png") no-repeat;
		width: 99px;
		height: 28px;
		top: 0;
		left: 0;
	}

	.works-archive .cont02 .box .img_box .after img {
		border: 1px solid var(--main-color);
	}
	.works-archive .cont02 .box .img_box .after::after {
		position: absolute;
		content: "";
		background: url("img/after_text.png") no-repeat;
		width: 99px;
		height: 28px;
		top: 0;
		left: 0;
	}

	.works-archive .cont02 .p_button_box {
		display: flex;
		justify-content: center;
		gap: 0 15px;
		margin: 90px auto 0;
	}

	.works-archive .cont02 .p_button a {
		display: block;
		width: 40px;
		height: 40px;
		background: #fff;
		border-radius: 50%;
		color: #065aaa;
		font-size: 16px;
		line-height: 36px;
		text-align: center;
		border: 2px solid #065aaa;
		box-sizing: border-box;
	}

	.works-archive .cont02 .p_button.current {
		display: block;
		width: 40px;
		height: 40px;
		background: var(--main-color);
		border-radius: 50%;
		color: #fff;
		font-size: 16px;
		line-height: 36px;
		text-align: center;
		border: 2px solid var(--main-color);
		box-sizing: border-box;
		pointer-events: none;
	}

	@media screen and (max-width: 1480px) {
		.works-archive .cont02{
			width: 1180px;
		}
		.works-archive .cont02 .box {
			gap: 40px 20px;
		}
		.works-archive .cont02 .item {
			width: calc(50% - 10px);
		}
		.works-archive .cont02 .img_box figure {
			width: 290px;
		}
	}




  /* works-single ------------------------------------------------------------------------*/
  /* key */
  .works-single .key .text01::after {
    background: url(img/works_key_text.png);
    width: 404px;
    height: 74px;
  }

  .works-single .cont01 h2 {
    position: relative;
    font-weight: bold;
    font-size: 26px;
    line-height: 1;
    background: var(--main-light-color);
    color: var(--main-color);
    padding: 18px 0 18px 39px;
    border-radius: 10px;
    margin-top: 100px;
  }

  .works-single .cont01 h2::before {
    position: absolute;
    content: "";
    width: 6px;
    height: 36px;
    background: var(--main-color);
    border-radius: 3px;
    left: 18px;
    top: 50%;
    transform: translateY(-50%);
  }

  .works-single .cont01 .cate01,
  .works-single .cont01 .cate02 {
    display: inline-block;
    line-height: 28px;
    color: #fff;
    font-weight: bold;
    margin-top: 30px;
    font-size: 14px;
  }

  .works-single .cont01 .cate01 {
    padding: 0 30px;
    background: var(--main-color);
  }

  .works-single .cont01 .cate02 {
    padding: 0 25px;
    background: #7aad96;
    margin-left: 10px;
  }

  .works-single .cont01 dl {
    display: flex;
    flex-wrap: wrap;
    width: 407px;
    margin-top: 18px;
  }

  .works-single .cont01 dl dt {
    position: relative;
    font-weight: bold;
    color: var(--main-color);
    padding-left: 33px;
    width: 162px;
    box-sizing: border-box;
  }

  .works-single .cont01 dl dt:nth-of-type(4) {
   font-size: 14px;
 }

  .works-single .cont01 dl dt::before {
    position: absolute;
    content: "";
    top: 50%;
    transform: translateY(-50%);
  }


  .works-single .cont01 dl dt.day::before {
    background: url("img/works-single_deco01.png") no-repeat;
    left: 2px;
    width: 17px;
    height: 18px;
  }

  .works-single .cont01 dl dt.work::before {
    background: url("img/works-single_deco02.png") no-repeat;
    left: 2px;
    width: 16px;
    height: 20px;
  }

  .works-single .cont01 dl dt.time::before {
    background: url("img/works-single_deco03.png") no-repeat;
    left: 0;
    width: 20px;
    height: 19px;
  }

  .works-single .cont01 dl dt.type::before {
    background: url("img/works-single_deco04.png") no-repeat;
    left: 1px;
    width: 19px;
    height: 12px;
  }

  .works-single .cont01 dl dt.maker::before {
    background: url("img/works-single_deco05.png") no-repeat;
    left: 1px;
    width: 19px;
    height: 20px;
  }


  .works-single .cont01 dl dd {
    position: relative;
    font-weight: bold;
    padding-left: 15px;
    width: 240px;
    box-sizing: border-box;
  }

  .works-single .cont01 dl dd::before {
    position: absolute;
    content: ":";
    font-weight: bold;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }

  .works-single .cont01 .text01 {
    margin-top: 25px;
  }

  .works-single .cont01 .img_box {
    display: flex;
    margin-top: 50px;
  }

  /* 施工実績詳細：写真サイズ調整（PC） */
  .works-single .cont01 .works-photo-box {
    width: 100%;
    max-width: 100%;
    align-items: flex-start;
    gap: 20px;
  }
  .works-single .cont01 .works-photo-box figure {
    flex: 1 1 0;
    min-width: 0;
    max-width: calc(50% - 10px);
  }
  .works-single .cont01 .works-photo-box figure img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 400px;
    object-fit: contain;
  }
  .works-single .cont01 .works-photo-box.is-single,
  .works-single .cont01 .works-photo-box:has(.photo-placeholder) {
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    justify-content: center;
  }
  .works-single .cont01 .works-photo-box.is-single figure,
  .works-single .cont01 .works-photo-box .photo-placeholder {
    flex: 0 1 600px;
    width: 100%;
    max-width: 100%;
  }
  .works-single .cont01 .works-photo-box.is-single figure::before,
  .works-single .cont01 .works-photo-box.is-single figure::after {
    display: none;
  }


  .works-single .cont01 .img_box .before {
    position: relative;
  }

  .works-single .cont01 .img_box .after {
    position: relative;
  }

  .works-single .cont01 .img_box .before::after {
    position: absolute;
    content: "";
    background: url("img/before_text.png") no-repeat;
    width: 99px;
    height: 28px;
    top: 0;
    left: 0;
    transform: scale(1.4);
    transform-origin: left top;
  }

  .works-single .cont01 .img_box .after::after {
    position: absolute;
    content: "";
    background: url("img/after_text.png") no-repeat;
    width: 99px;
    height: 28px;
    top: 0;
    left: 0;
    transform: scale(1.4);
    transform-origin: left top;
  }

  .works-single .cont01 .img_box .before::before {
    position: absolute;
    content: "";
    background: url(img/common_deco11.png) center center / cover no-repeat;
    width: 16px;
    height: 30px;
    top: 50%;
    right: -8px;
    transform: translateY(-50%) scale(1.3);
    transform-origin: center;
    z-index: 1;
  }

  .works-single .cont01 .h3_box h3 {
    position: relative;
    font-size: 24px;
    font-weight: bold;
    color: #082a4a;
    padding-left: 23px;
    line-height: 36px;
    margin: 36px 0 15px 0;
  }

  .works-single .cont01 .h3_box h3::before {
    position: absolute;
    content: "";
    width: 6px;
    height: 36px;
    background: var(--main-color);
    border-radius: 3px;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }

  .works-single .cont01 .h3_box h3::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 1px;
    background: #082a4a;
    bottom: -15px;
    left: 0;
  }

  .works-single .cont01 .h3_box .text02 {
    margin-top: 32px;
  }

  .works-single .cont01 .h3_box .h4_box h4 {
    position: relative;
    font-size: 22px;
    font-weight: bold;
    color: #082a4a;
    padding-left: 15px;
    line-height: 25px;
    margin: 38px 0 15px 0;
  }

  .works-single .cont01 .h3_box .h4_box h4::before {
    position: absolute;
    content: "";
    width: 5px;
    height: 25px;
    background: var(--main-color);
    border-radius: 3px;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }

  .works-single .cont01 .h3_box .h4_box .h5_box h5 {
    position: relative;
    font-size: 18px;
    font-weight: bold;
    color: #082a4a;
    padding-left: 21px;
    line-height: 1;
    margin: 40px 0 20px 0;
  }

  .works-single .cont01 .h3_box .h4_box .h5_box h5::before {
    position: absolute;
    content: "";
    width: 16px;
    height: 16px;
    background: var(--main-color);
    border-radius: 3px;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }


  /* cot02 */
  .works-single .cont02 {
    display: flex;
    gap: 46px;
    justify-content: center;
    margin-top: 88px;
  }

  .works-single .cont02 .prev_box,
  .works-single .cont02 .next_box {
    position: relative;
    width: 560px;
    border-radius: 10px;
    border: 2px solid var(--main-color);
    box-sizing: border-box;
    background: var(--main-light-color);
  }

  .works-single .cont02 .prev_box a,
  .works-single .cont02 .next_box a {
    position: relative;
  }

  .works-single .cont02 .next_box {
    border: 2px solid #51aa81;
  }

  .works-single .cont02 .prev_box a::before {
    position: absolute;
    content: "";
    width: 35px;
    height: 35px;
    background: url("img/prev_next_btn01.png") no-repeat;
    left: -17.5px;
    top: 190px;
  }

  .works-single .cont02 .next_box a::before {
    position: absolute;
    content: "";
    width: 35px;
    height: 35px;
    background: url("img/prev_next_btn01.png") no-repeat;
    transform: rotate(-180deg);
    right: -17.5px;
    top: 190px;
  }

  .works-single .cont02 h3 {
    line-height: 38px;
    background: var(--main-color);
    color: #fff;
    font-weight: bold;
    font-size: 18px;
    text-align: center;
    border-radius: 6px 6px 0 0;
  }

  .works-single .cont02 .next_box h3 {
    background: #51aa81;
  }

  .works-single .cont02 .ttl01 {
    line-height: 1;
    font-size: 20px;
    color: #082a4a;
    font-weight: bold;
    margin: 30px 30px 0;
  }

  .works-single .cont02 .cate01,
  .works-single .cont02 .cate02 {
    color: #fff;
    font-weight: bold;
    font-size: 13px;
    line-height: 22px;
    display: inline-block;
    border-radius: 3px;
    margin-top: 20px;
  }

  .works-single .cont02 .cate01 {
    padding: 0 24px;
    background: var(--main-color);
    margin-left: 30px;
  }

  .works-single .cont02 .cate02 {
    padding: 0 22px;
    margin-left: 8px;
    background: #7aad96;
  }

  .works-single .cont02 .date {
    display: inline-block;
    margin-left: 5px;
    font-size: 14px;
    line-height: 22px;
    margin-top: 20px;
  }

  .works-single .cont02 .img_box {
    display: flex;
    justify-content: center;
    margin: 25px auto 30px;
  }

  /* cont03 */
  .works-single .cont03 h2 {
    position: relative;
    font-weight: bold;
    font-size: 26px;
    line-height: 1;
    background: var(--main-light-color);
    color: var(--main-color);
    padding: 18px 0 18px 39px;
    border-radius: 10px;
    margin-top: 100px;
  }

  .works-single .cont03 h2::before {
    position: absolute;
    content: "";
    width: 6px;
    height: 36px;
    background: var(--main-color);
    border-radius: 3px;
    left: 18px;
    top: 50%;
    transform: translateY(-50%);
  }

  .works-single .cont03 .cate_box {
    display: flex;
    justify-content: center;
    margin-top: 50px;
    flex-wrap: wrap;
    gap: 25px;
  }

  .works-single .cont03 .cate_box .btn {
    line-height: 72px;
  }

  .works-single .cont03 .cate_box .btn a {
    position: relative;
    display: block;
    color: #fff;
    font-weight: bold;
    font-size: 20px;
    text-align: center;
    border-radius: 10px;
  }

  .works-single .cont03 .cate_box .btn a::before {
    content: "";
    position: absolute;
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    background: #fff;
    right: 18px;
    top: 0;
    bottom: 0;
    margin: auto 0;
    width: 6px;
    height: 10px;
    transition: background-color 0.4s ease;
  }

  /* .works-single .cont03 .cate_box .btn:nth-of-type(1) a {
    background: var(--main-color);
  } */

  .works-single .cont03 .cate_box .btn a {
    background: #0091a2;
    width: 300px;
  }

  /* .works-single .cont03 .cate_box .btn:nth-of-type(3) a {
    background: #51aa81;
  } */






  

/* 施工写真：1枚表示・画像なし表示（PC） */
.works-archive .works-photo-box.is-single figure,
.works-single .works-photo-box.is-single figure,
.works-archive .works-photo-box .photo-placeholder,
.works-single .works-photo-box .photo-placeholder {
  flex: 1 1 100%;
  width: 100%;
  max-width: 100%;
}
.works-archive .works-photo-box.is-single figure img,
.works-single .works-photo-box.is-single figure img,
.works-archive .works-photo-box .photo-placeholder img,
.works-single .works-photo-box .photo-placeholder img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}
.works-archive .works-photo-box.is-single figure::before,
.works-archive .works-photo-box.is-single figure::after,
.works-single .works-photo-box.is-single figure::before,
.works-single .works-photo-box.is-single figure::after {
  display: none;
}

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

	/* header */
	.common header {
		height: 130px;
	}
	.common header .header_box {
		height: 130px;
	}
	.common header .header_box::before {
		background: #fff;
		z-index: -1;
		position: fixed;
		height: 105px;
		transition: height 0.5s;
	}
	.common header .header_box.active02::before {
		height: 130px;
	}

	/* key */
	.common .key {
		text-align: center;
		height: 253px;
		background: url("img/common_bg_01.png");
		position: relative;
		top: -25px;
	}
	.common .key .text01 {
		position: relative;
		text-align: center;
		font-size: 32px;
		font-weight: bold;
		line-height: 1;
		top: 110.5px;
		color: #082a4a;
	}
	.common .key .text01::after {
		content: "";
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		z-index: -1;
		background-size: cover;
		background-repeat: no-repeat;
		background-position: center;
	}

	/* pankuzu */
	.pankuzu {
		line-height: 1.3;
		position: relative;
		margin-top: -15px;
	}
	.pankuzu ul li {
		display: inline-block;
		margin-right: 10px;
		color: var(--main-color);
		font-size: 14px;
		font-weight: bold;
	}
	.pankuzu ul li a {
		color: #1d1d1d;
		font-weight: bold;
	}
	.pankuzu ul li:not(:last-of-type)::after {
		content: "-";
		margin-left: 10px;
		flex-shrink: 0;
	}
	.pankuzu ul li:last-of-type {
		margin-right: 0;
	}
	/* 一覧ページのページャー */
	.archive-pager {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		gap: 20px;
		margin: 120px auto;
	}
	.archive-pager .page-numbers {
		background: var(--main-color);
		color: #fff;
		font-weight: bold;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 45px;
		height: 45px;
		border-radius: 50%;
		box-sizing: border-box;
	}
	.archive-pager .page-numbers.current {
		border: 1px solid var(--main-color);
		color: var(--main-color);
		background: #fff;
	}
	.archive-pager .page-numbers.prev, .archive-pager .page-numbers.next {
		background: var(--main-dark-color);
		color: #fff;
		font-weight: bold;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 45px;
		height: 45px;
		border-radius: 50%;
		box-sizing: border-box;
		padding-top: 3px;
	}
	.archive-pager .page-numbers.next {
		padding-left: 3px;
	}
	.single-pager {
		display: flex;
		justify-content: space-between;
		margin: 120px auto;
	}
	.single-pager .prev-pager-box, .single-pager .next-pager-box {
		width: calc(50% - 30px);
	}
	.single-pager .prev-pager-box {
		margin-left: 20px;
	}
	.single-pager .next-pager-box {
		margin-right: 20px;
	}
	.single-pager a {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		font-size: 14px;
		position: relative;
	}
	.single-pager .prev-pager-box a {
		flex-direction: row-reverse;
	}
	.single-pager .prev-pager-box a::before, .single-pager .next-pager-box a::before {
		content: "";
		width: 35px;
		height: 35px;
		background: var(--main-color);
		border-radius: 50%;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
	}
	.single-pager .prev-pager-box a::before {
		left: -20px;
	}
	.single-pager .next-pager-box a::before {
		right: -20px;
	}
	.single-pager .prev-pager-box a::after, .single-pager .next-pager-box a::after {
		content: "";
		width: 0;
		height: 0;
		border-top: 5px solid transparent;
		border-bottom: 5px solid transparent;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
	}
	.single-pager .prev-pager-box a::after {
		border-right: 8px solid #fff;
		left: -7px;
	}
	.single-pager .next-pager-box a::after {
		border-left: 8px solid #fff;
		right: -7px;
	}
	.single-pager .prev-pager-box a .text-box {
		padding-left: 20px;
	}
	.single-pager .next-pager-box a .text-box {
		padding-right: 20px;
	}
	.single-pager a h2 {
		line-height: 1.3;
		margin-bottom: 10px;
		font-weight: bold;
		overflow: hidden;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}
	.single-pager a .img {
		flex-shrink: 0;
		box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.05);
	}
	.single-pager a .img img {
		width: 150px !important;
		border-radius: 5px !important;
	}

/*blog共通項目
--------------------------------------------------------------------------*/
	.blog .key .text01::after {
		background: url(img/blog_key_text.png) center no-repeat;
		width: 343px;
		height: 74px;
	}

	.blog .flex {
		display: flex;
		justify-content: flex-start;
		margin: 120px auto;
	}
	.blog .flex .left_box {
		flex-shrink: 1;
		width: 800px;
		margin-right: 30px;
	}
	.blog .flex .side {
		width: 370px;
		flex-shrink: 0;
		margin-top: -5px;
	}
	.blog .flex .side .side_box02, .blog .flex .side .side_box03 {
		margin: 60px 0;
	}
	.blog .flex .side .cont a {
		display: flex;
		flex-direction: row-reverse;
		justify-content: flex-end;
		align-items: center;
		box-sizing: border-box;
		margin-top: 20px;
	}
	.blog .flex .side h2 {
		font-size: 20px;
		font-weight: bold;
		padding-bottom: 5px;
		border-bottom: 1px solid var(--main-color);
		position: relative;
	}
	.blog .flex .side h2::before {
		content: "";
		color: var(--main-color);
		font-size: 14px;
		position: absolute;
		top: 7px;
		left: 100px;
	}
	.blog .flex .side .side_box01 h2::before {
		content: "Popular Articles";
	}
	.blog .flex .side .side_box02 h2::before {
		content: "New Articles";
	}
	.blog .flex .side .side_box03 h2::before {
		content: "Category";
		left: 110px;
	}
	.blog .flex .side .cont .text_box {
		margin-left: 15px;
		font-size: 14px;
		width: 205px;
	}
	.blog .flex .side .cont .text_box h3 {
		overflow: hidden;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		margin-bottom: 10px;
	}
	.blog .flex .side .cont .img {
		width: 150px;
		flex-shrink: 0;
		position: relative;
		box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.05);
		border-radius: 5px;
	}
	.blog .flex .side .cont .img img {
		border-radius: 5px;
	}
	.blog .flex .side .side_box01 .cont .img::before {
		content: "";
		width: 25px;
		height: 25px;
		font-size: 14px;
		font-weight: bold;
		color: #fff;
		background: var(--main-color);
		line-height: 1;
		box-sizing: border-box;
		padding-top: 6px;
		text-align: center;
		position: absolute;
		top: 0;
		left: 0;
	}
	.blog .flex .side .side_box01 .cont:nth-of-type(1) .img::before {
		content: "1";
		background: #f2cd44;
	}
	.blog .flex .side .side_box01 .cont:nth-of-type(2) .img::before {
		content: "2";
		background: #ababab;
	}
	.blog .flex .side .side_box01 .cont:nth-of-type(3) .img::before {
		content: "3";
		background: #bc6c25;
	}
	.blog .flex .side .side_box01 .cont:nth-of-type(4) .img::before {
		content: "4";
	}
	.blog .flex .side .side_box01 .cont:nth-of-type(5) .img::before {
		content: "5";
	}
	.blog .flex .side .side_box02 .cont .img {
		position: relative;
	}
	.blog .flex .side .side_box02 .cont .img::before {
		content: "new";
		width: 50px;
		height: 25px;
		line-height: 1;
		font-size: 14px;
		box-sizing: border-box;
		padding-top: 5px;
		color: #fff;
		background: var(--main-color);
		border-right: 1px solid #fff;
		border-bottom: 1px solid #fff;
		text-align: center;
		position: absolute;
		top: 0;
		left: 0;
	}
	.blog .flex .side .side_box03 ul {
		margin-top: 15px;
	}
	.blog .flex .side .side_box03 ul li {
		position: relative;
		padding-left: 32px;
	}
	.blog .flex .side .side_box03 ul li:nth-of-type(n + 2) {
		margin-top: 15px;
	}
	.blog .flex .side .side_box03 ul li::before {
		content: "";
		width: 25px;
		height: 25px;
		border-radius: 50%;
		background: url(img/category_icon.png) no-repeat top 7px left 7px var(--main-color);
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
	}

/*blog_archive
------------------------------------------------------------------------*/
	.blog_archive .cont01 .cont:nth-of-type(1) {
		margin-top: 0;
	}
	.blog_archive .cont01 .cont {
		border-bottom: 1px solid var(--main-color);
		margin-top: 30px;
	}
	.blog_archive .cont01 .cont a {
		display: block;
		box-sizing: border-box;
		padding: 0 0 30px;
		display: flex;
		align-items: center;
		flex-direction: row-reverse;
		justify-content: flex-end;
	}
	.blog_archive .cont01 .cont .img {
		flex-shrink: 0;
		box-shadow: 0 0 20px 10px rgba(0, 0, 0, 0.03);
		border-radius: 10px;
	}
	.blog_archive .cont01 .cont .img img {
		border-radius: 10px;
	}
	.blog_archive .cont01 .cont .text_box {
		width: 440px;
		padding-left: 30px;
	}
	.blog_archive .cont01 .cont h2 {
		font-size: 18px;
		font-weight: bold;
	}
	.blog_archive .cont01 .cont .text_box .cate_box {
		margin: 15px 0;
		display: flex;
		gap: 10px;
		flex-wrap: wrap;
		align-items: center;
	}
	.blog_archive .cont01 .cont .text_box .cate_box .cate {
		font-size: 12px;
		line-height: 1;
		color: #fff;
		background: var(--main-color);
		border-radius: 5px;
		min-width: 100px;
		padding: 7px 15px;
		text-align: center;
	}
	.blog_archive .cont01 .cont .text_box .cate_box .date {
		font-size: 14px;
		line-height: 1;
	}
	.blog_archive .cont01 .cont .text_box .text {
		line-height: 1.8;
	}
	/* ブログ詳細 css */
	.blog_single .cont01 h1 {
		padding-bottom: 10px;
		border-bottom: 1px solid var(--main-color);
		font-size: 20px;
		line-height: 1.5;
		margin: 0 0 25px;
		font-weight: bold;
		position: relative;
	}
	.blog_single .cont01 .cate_box {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		gap: 10px;
		margin: 0 0 20px;
	}
	/*
.blog_single .cont01 .cate_box .cate {
	line-height: 1;
	font-size: 12px;
	color: #fff;
	text-align: center;
	min-width: 100px;
	padding: 7px 15px;
	border-radius: 5px;
	background: var(--main-color);
}*/
	.blog_single .cont01 .cate_box .cate {
		text-align: center;
	}
	.blog_single .cont01 .cate_box .cate a {
		color: #fff;
		text-decoration: none;
		display: block;
		line-height: 1;
		font-size: 12px;
		min-width: 100px;
		padding: 7px 15px;
		border-radius: 5px;
		background: var(--main-color);
	}
	.blog_single .cont01 .cate_box .date {
		font-size: 14px;
		line-height: 1;
		margin: 0;
		font-weight: bold;
	}

/* contact
------------------------------------------------------------------------*/
	.contact .key .text01::after {
		background: url(img/contact_key_text.png) center no-repeat;
		width: 500px;
		height: 74px;
	}

   /* cont01 */
	.contact .cont01 {
		width: 1000px;
		margin: 120px auto 0;
	}
	.contact .cont01 .tel-box {
		padding: 40px 0 35px;
		border-top: 1px solid var(--main-dark-color);
		/* border-bottom: 1px solid var(--main-color); */
	}
	.contact .cont01 .line-box {
		padding: 40px 0 45px;
		border-top: 1px solid var(--main-dark-color);
		border-bottom: 1px solid var(--main-dark-color);
	}
	.contact .cont01 .line-box {
		padding: 40px 0 45px;
		border-top: 1px solid var(--main-dark-color);
		border-bottom: 1px solid var(--main-dark-color);
	}
	.contact .cont01 h2 {
		font-size: 18px;
	}
	.contact .cont01 .tel-box h2::before {
		content: "■";
		color: var(--main-color);
		padding-right: 5px;
	}
	.contact .cont01 .line-box h2::before {
		content: "■";
		color: #00b12b;
		padding-right: 5px;
	}
	.contact .cont01 .tel-box p {
		display: flex;
		align-items: center;
		margin-top: 10px;
		line-height: 1.5;
	}
	/* .contact .cont01 .line-box p::after {
    content: "";
    background: url(img/contact-qr.jpg) no-repeat;
    background-size: 100px;
    width: 100px;
    height: 100px;
    position: absolute;
    top: 65%;
    transform: translateY(-50%);
    left: 320px;
  } */
	.contact .cont01 .tel-box a {
		display: inline-block;
		font-size: 30px;
		padding-right: 20px;
		pointer-events: none;
	}
	.contact .cont01 .line-box a::after {
		content: "";
		background: url(img/contact-qr.jpg) no-repeat;
		background-size: 100px;
		width: 100px;
		height: 100px;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		left: 209px;
	}
	.contact .cont01 .line-box p {
		margin-top: 15px;
	}
	.contact .cont01 .line-box a {
		font-size: 18px;
		line-height: 1;
		padding: 20px 75px 20px 55px;
		background: url(img/contact-line.png) no-repeat center left;
		position: relative;
	}
	/* cont02 */
	.contact .cont02 {
		width: 1000px;
		/* margin: 40px auto 100px; */
		margin: 40px auto 120px;
	}
	.contact .cont02 h2 {
		font-size: 18px;
	}
	.contact .cont02 h2::before {
		content: "■";
		color: var(--main-color);
		padding-right: 5px;
	}
	.contact .cont02 .lead {
		margin-top: 20px;
		font-size: 14px;
		line-height: 2;
	}
	.contact .cont02 table {
		width: 1000px;
		margin: 40px auto 0;
	}
	.contact .cont02 table tr {
		border-top: 1px solid var(--main-color);
	}
	.contact .cont02 table tr:last-of-type {
		border-bottom: 1px solid var(--main-color);
	}
	.contact .cont02 table th {
		width: 265px;
		text-align: left;
		vertical-align: middle;
		position: relative;
		box-sizing: border-box;
		font-weight: bold;
		padding: 30px 0;
		position: relative;
	}
	.contact .cont02 table th span {
		color: #fff;
		background: var(--main-color);
		border-radius: 5px;
		float: right;
		padding: 7px 15px;
		line-height: 1;
		position: absolute;
		/* top: 50%; */
		top: 44px;
		right: 0;
		/* transform: translateY(-50%); */
	}
	/* .contact .cont02 tr.address-contact th {
    vertical-align: top;
    padding-top: 48px;
  }

  .contact .cont02 tr.address-contact th span {
    top: 45px;
    transform: none;
  } */
	.contact .cont02 table td {
		vertical-align: middle;
		padding: 30px 0 30px 25px;
	}
	.contact .cont02 table td .radio-box {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 20px 60px;
	}
	.contact .cont02 table td .radio-box span {
		display: flex;
		align-items: center;
		gap: 0 5px;
	}
	.contact .cont02 table td .radio-box span input {
		margin: 0 !important;
	}
	.contact .cont02 table td input[type="text"], .contact .cont02 table td input[type="email"], .contact .cont02 table td input[type="tel"], .contact .cont02 table td select, .contact .cont02 table td textarea {
		width: 100% !important;
		height: 60px !important;
		font-size: 16px;
		font: inherit;
		padding: 5px;
		box-sizing: border-box;
		padding: 20px 30px;
		border: none !important;
		background: var(--main-light-color);
		border-radius: 5px !important;
	}
	.contact .cont02 tr.address-contact input {
		margin-bottom: 10px !important;
	}
	.contact .cont02 tr.address-contact input:first-of-type {
		margin-right: 20px;
	}
	.contact .cont02 tr.address-contact input:first-of-type, .contact .cont02 tr.address-contact input:nth-of-type(2) {
		width: 210px !important;
	}
	.contact .cont02 tr.address-contact input:last-of-type {
		margin-bottom: 0 !important;
	}
	.contact .cont02 table td select {
		cursor: pointer;
	}
	.contact .cont02 table td textarea {
		height: 250px !important;
		vertical-align: middle;
		resize: none;
	}
	.contact .cont02 .privacy_check {
		text-align: center;
		padding: 50px 0 40px;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
	}
	.contact .cont02 .privacy_check a {
		text-decoration: underline;
	}
	.contact .cont02 .privacy_check div.mfp_err {
		text-align: center;
		width: 1000px;
		margin: 0 auto;
		padding: 10px 0;
		box-sizing: border-box;
		background: url(img/mfp_error.gif) no-repeat top 12px left 320px;
	}
	.contact .cont02 .privacy_check input {
		width: 15px;
		height: 15px;
		margin: 0 5px;
	}
	.contact .cont02 .privacy_check label {
		margin: 0 5px !important;
	}
	.contact .cont02 .button {
		text-align: center;
	}
	.contact .cont02 .button input {
		font-family: var(--main-font) !important;
		width: 360px;
		border-radius: 60px;
		line-height: 1;
		padding: 20px 0;
		font-size: 16px;
		box-sizing: border-box;
		cursor: pointer;
		margin: auto;
		border: none;
		display: block;
		color: #fff;
		background: var(--main-color);
		border: 1px solid var(--main-color);
		transition: all 0.5s;
	}
	.contact .cont02 .button input:hover {
		background: #fff;
		color: var(--main-color);
		transition: all 0.5s;
	}

/* thanks
------------------------------------------------------------------------*/
	.thanks .cont01 {
		/* padding: 70px 0 100px; */
		padding: 70px 0 0;
		text-align: center;
	}
	.thanks .cont01 h2 {
		text-align: center;
		font-size: 24px;
	}
	.thanks .cont01 .text {
		margin: 40px 0 0;
		font-weight: bold;
	}
	.thanks .cont01 .button {
		margin-top: 50px;
	}
	.thanks .cont01 .button a {
		width: 360px;
		border-radius: 60px;
		line-height: 1;
		padding: 20px 0;
		font-size: 16px;
		box-sizing: border-box;
		cursor: pointer;
		margin: auto;
		border: none;
		display: block;
		color: #fff;
		background: var(--main-color);
		border: 1px solid var(--main-color);
		transition: all 0.5s;
	}
	.thanks .cont01 .button a:hover {
		background: #fff;
		color: var(--main-color);
		transition: all 0.5s;
	}

/* privacy
------------------------------------------------------------------------*/
	.privacy .key .text01::after {
		background: url(img/privacy_key_text.png) center no-repeat;
		width: 430px;
		height: 74px;
	}
   
   .privacy .cont01 {
		width: 1000px;
		/* margin: 50px auto 100px; */
		margin: 50px auto 0;
	}
	.privacy .cont01 h2 {
		font-size: 28px;
		text-align: center;
	}
	.privacy .cont01 .text01 {
		margin-top: 35px;
		line-height: 2;
	}
	.privacy .cont01 .box {
		margin-top: 30px;
		padding-bottom: 30px;
		border-bottom: 1px dashed var(--main-color);
	}
	.privacy .cont01 .box:first-of-type {
		margin-top: 45px;
	}
	.privacy .cont01 .box:last-of-type {
		border-bottom: none;
	}
	.privacy .cont01 .box h3 {
		font-size: 20px;
	}
	.privacy .cont01 .box .text02 {
		line-height: 2;
		margin-top: 10px;
	}
	.privacy .cont01 .box .text02 a {
		text-decoration: underline;
	}
	.privacy .cont01 .box ul {
		margin-top: 15px;
	}
	.privacy .cont01 .box ul li:nth-of-type(n + 2) {
		margin-top: 8px;
	}
	.privacy .cont01 .box .text03 {
		line-height: 2;
		display: inline-block;
		padding: 25px 30px;
		background: var(--main-light-color);
		margin-top: 20px;
	}

/* yonmaruyon yonichimaru
------------------------------------------------------------------------*/
	.yonmaruyon .cont01, .yonichimaru .cont01 {
		/* padding: 70px 0 100px; */
		padding: 70px 0 0;
		text-align: center;
	}
	.yonmaruyon .cont01 h2, .yonichimaru .cont01 h2 {
		text-align: center;
		font-size: 24px;
	}
	.yonmaruyon .cont01 .text, .yonichimaru .cont01 .text {
		margin: 30px 0 0;
		font-weight: bold;
	}
	.yonmaruyon .cont01 .button, .yonichimaru .cont01 .button {
		margin-top: 40px;
	}
	.yonmaruyon .cont01 .button a, .yonichimaru .cont01 .button a {
		width: 360px;
		border-radius: 60px;
		line-height: 1;
		padding: 20px 0;
		font-size: 16px;
		box-sizing: border-box;
		cursor: pointer;
		margin: auto;
		border: none;
		display: block;
		color: #fff;
		background: var(--main-color);
		border: 1px solid var(--main-color);
		transition: all 0.5s;
	}
	.yonmaruyon .cont01 .button a:hover, .yonichimaru .cont01 .button a:hover {
		background: #fff;
		color: var(--main-color);
		transition: all 0.5s;
	}


/* contact-box 
  ------------------------------------------------------------------------*/
	.contact_box {
		justify-content: center;
		width: 1000px;
		margin: 90px auto 80px;
		background: #fff;
		border: 3px solid var(--main-color);
		border-radius: 18px;
		padding: 105px 0 80px;
		box-sizing: border-box;
		z-index: 10;
		position: relative;
	}
	.contact_box h2 {
		text-align: center;
		font-size: 24px;
		font-weight: bold;
		line-height: 1;
		color: #1d1d1d;
	}
	.contact_box h2 span {
		position: relative;
		font-size: 14px;
		font-weight: bold;
		display: block;
		line-height: 1;
		color: #444;
		padding-bottom: 15px;
	}
	.contact_box h2 span::before {
		position: absolute;
		content: "";
		background: url(img/contact_text01.png) center center / cover no-repeat;
		width: 380px;
		height: 58px;
		top: 50%;
		left: 50%;
		transform: translate(-50%, calc(-50% - 10px));
		z-index: -1;
	}
	.contact_box .text01 {
		text-align: center;
		font-weight: bold;
		margin-top: 35px;
	}
	.contact_box .info_box {
		margin-top: 42px;
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 10px;
	}
	.contact_box .info_box .tel {
		text-align: center;
		margin-left: 10px;
		font-size: 14px;
		line-height: 1;
		letter-spacing: 0.07em;
	}
	.contact_box .info_box .tel img {
		padding-bottom: 7px;
	}
	.contact_box .info_box .tel a {
		font-weight: bold;
	}
	.contact_box .info_box .btn-01 {
		position: relative;
		width: 220px;
		height: 50px;
		text-align: center;
	}
	.contact_box .info_box .btn-01 a {
		display: block;
		background: #06c755 url(img/header_icon02.png) left 26px top 14px no-repeat;
		padding-left: 58px;
		border: 1px solid var(--main-color);
		border-radius: 10px;
		font-size: 16px;
		line-height: 50px;
		color: #fff;
		font-weight: bold;
		letter-spacing: 1.5px;
		transition: background-color 0.4s ease, color 0.4s ease, border-color 0.4s ease;
	}
	.contact_box .info_box .btn-01 a:hover {
		background: #fff url(img/header_icon04.png) left 26px top 14px no-repeat;
		color: #06c755;
	}
	.contact_box .info_box .btn-01 {
		position: relative;
		width: 220px;
		height: 50px;
		text-align: center;
	}
	.contact_box .info_box .btn-01 a {
		display: block;
		background: #06c755 url(img/header_icon02.png) left 29px top 14px no-repeat;
		padding-left: 36px;
		border: 1px solid #06c755;
		border-radius: 10px;
		font-size: 16px;
		line-height: 50px;
		color: #fff;
		font-weight: bold;
		letter-spacing: 1.5px;
	}
	.contact_box .info_box .btn-02 {
		position: relative;
		width: 220px;
		height: 50px;
		text-align: center;
	}
	.contact_box .info_box .btn-02 a {
		display: block;
		background: #253a83 url(img/contact_mail_img02.png) left 39px top 17px no-repeat;
		padding-left: 36px;
		border: 1px solid #253a83;
		border-radius: 10px;
		font-size: 16px;
		line-height: 50px;
		color: #fff;
		font-weight: bold;
		letter-spacing: 1.5px;
		transition: background-color 0.4s ease, color 0.4s ease, border-color 0.4s ease;
	}
	.contact_box .info_box .btn-02 a:hover {
		background: #fff url(img/contact_mail_img03.png) left 39px top 17px no-repeat;
		color: #253a83;
	}

	/*  other_sight */
	.other_sight {
		padding: 0px 0 80px;
		width: 1000px;
		margin: 0 auto;
		position: relative;
		display: flex;
		justify-content: center;
		gap: 40px;
	}
	.other_sight::after {
		content: "";
		position: absolute;
		background: url(img/common_bg_01.png);
		width: 100vw;
		height: 520px;
		bottom: 0;
		left: 50%;
		transform: translate(-50%);
		z-index: -1;
	}
	@media screen and (max-width: 1240px) {
		.other_sight::after {
			width: 1240px;
		}
	}

/*post_cont
------------------------------------------------------------------------*/
	.post_cont .index_nav {
		box-sizing: border-box;
		padding: 40px;
		border: none;
		border-radius: 0px;
		margin: 20px 0 45px;
		background: var(--main-light-color);
		border-radius: 10px;
	}
	.post_cont .index_nav .title {
		font-weight: bold;
		position: relative;
		padding: 0 !important;
		padding-left: 35px !important;
		font-size: 18px;
		line-height: 1.5;
		font-weight: normal;
	}
	.post_cont .index_nav .title::before {
		content: "";
		width: 20px;
		height: 18px;
		background: url(img/index_icon.png) no-repeat center / 100%;
		position: absolute;
		top: 4px;
		left: 5px;
	}
	.post_cont .index_nav {
		position: static;
	}
	.post_cont .index_nav ul {
		margin: 20px 0 0 0;
		padding-bottom: 0;
	}
	.post_cont .index_nav ul li.index_level03 {
		margin-left: 15px;
	}
	.post_cont .index_nav ul li.index_level04 {
		margin-left: 30px;
	}
	.post_cont .index_nav ul li.index_level05 {
		margin-left: 45px;
	}
	.post_cont .index_nav ul li {
		display: block;
		text-align: left;
		margin-top: 25px;
	}
	.post_cont .index_nav ul li.index_level03, .post_cont .index_nav ul li.index_level04, .post_cont .index_nav ul li.index_level05 {
		margin-top: 15px;
	}
	.post_cont .index_nav ul li a {
		font-size: 18px;
		font-weight: normal;
		text-decoration: none;
	}
	.post_cont .index_nav ul li.index_level03 a, .post_cont .index_nav ul li.index_level04 a, .post_cont .index_nav ul li.index_level05 a {
		font-size: 16px;
	}
	.post_cont .index_nav ul li a:hover {
		text-decoration: none;
	}
	.post_cont .index_nav ul li::before {
		display: none;
	}
	.post_cont .has-text-align-left {
		text-align: left;
	}
	.post_cont .has-text-align-center {
		text-align: center;
	}
	.post_cont .has-text-align-right {
		text-align: right;
	}
	.post_cont h2 {
		margin: 50px 0 30px;
		padding: 0 0 0 35px;
		font-size: 24px;
		position: relative;
		line-height: 1.2;
	}
	.post_cont h2:before {
		content: "";
		display: block;
		width: 14px;
		height: 14px;
		border: 1px solid var(--main-color);
		background: #fff;
		position: absolute;
		top: 0px;
		left: 0;
	}
	.post_cont h2:after {
		content: "";
		display: block;
		width: 14px;
		height: 14px;
		border: 1px solid var(--main-color);
		background: var(--main-color);
		position: absolute;
		top: 10px;
		left: 10px;
	}
	.post_cont h3 {
		margin: 45px 0 30px;
		padding: 0 0 0 30px;
		font-size: 22px;
		position: relative;
		line-height: 1.2;
	}
	.post_cont h3:before {
		content: "";
		display: block;
		width: 20px;
		height: 20px;
		background: var(--main-color);
		position: absolute;
		top: 2px;
		left: 0;
	}
	.post_cont h4 {
		font-size: 20px;
		border-left: 5px solid var(--main-color);
		margin: 40px 0 30px;
		padding: 2px 0 0 15px;
		line-height: 1.2;
	}
	.post_cont h5 {
		font-size: 18px;
		margin: 35px 0 30px;
		padding: 0 0 0 25px;
		position: relative;
		line-height: 1.2;
	}
	.post_cont h5:before {
		content: "";
		display: block;
		width: 15px;
		height: 5px;
		background: var(--main-color);
		position: absolute;
		top: 10px;
		left: 0;
	}
	.post_cont strong {
		font-weight: bold;
		color: var(--main-dark-color);
	}
	.post_cont em {
		font-style: italic;
		color: var(--main-color);
	}
	.post_cont a {
		text-decoration: underline;
		color: var(--main-color);
	}
	.post_cont > p {
		margin: 0 0 30px;
	}
	.post_cont ul {
		margin: 0 0 30px 23px;
		list-style-type: disc;
	}
	.post_cont ol {
		margin: 0 0 30px 23px;
		list-style-type: decimal;
	}
	.post_cont table {
		border-collapse: separate;
		border-spacing: 5px;
		width: 100%;
		margin: 0 0 30px;
	}
	.post_cont table th {
		background: var(--main-color);
		color: #fff;
		font-weight: bold;
		padding: 10px 15px;
	}
	.post_cont table tr:nth-of-type(1) th {
		background: var(--main-dark-color);
	}
	.post_cont table td {
		background: var(--main-light-color);
		padding: 10px 15px;
	}
	.post_cont .wp-block-quote {
		background: var(--main-light-color);
		padding: 50px;
		border-left: 3px solid var(--main-color);
		margin: 0 0 30px;
		position: relative;
	}
	.post_cont .wp-block-quote:before, .post_cont .wp-block-quote:after {
		content: "”";
		display: block;
		font-size: 100px;
		color: var(--main-color);
		line-height: 1;
		position: absolute;
	}
	.post_cont .wp-block-quote:before {
		top: 10px;
		left: 10px;
	}
	.post_cont .wp-block-quote:after {
		bottom: 10px;
		right: 10px;
		transform: rotate(180deg);
	}
	.post_cont .wp-block-buttons {
		margin: 0 0 30px;
		display: flex;
	}
	.post_cont .wp-block-buttons a {
		display: block;
		text-align: center;
		background: var(--main-color);
		border: 1px solid var(--main-color);
		box-sizing: border-box;
		line-height: 48px;
		min-width: 350px;
		height: 50px;
		border-radius: 50px;
		color: #fff;
		font-size: 16px;
		font-weight: bold;
		transition: all 0.5s;
		position: relative;
		text-decoration: none;
	}
	.post_cont .wp-block-buttons a::after {
		content: "";
		background: url(img/btn_arrow01.png) center left / cover no-repeat;
		width: 16px;
		height: 12px;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 20px;
	}
	.post_cont .wp-block-buttons a:hover {
		color: var(--main-color);
		background: #fff;
		opacity: 1;
	}
	.post_cont .wp-block-buttons a:hover::after {
		filter: brightness(0) saturate(100%) invert(15%) sepia(53%) saturate(5355%) hue-rotate(201deg) brightness(95%) contrast(101%);
	}
	.post_cont .wp-block-code {
		display: block;
		white-space: pre-wrap;
		margin: 0 0 30px;
	}
	.post_cont .wp-block-code code {
		display: inline-block;
		padding: 20px;
		color: #fff;
		background: #333;
	}
	.post_cont .wp-block-image {
		margin: 0 0 30px;
	}
	.post_cont .wp-block-image img {
		max-width: 100%;
		border-radius: 10px;
	}

/* footer
------------------------------------------------------------------------*/
	footer {
		color: #fff;
		background: #253a83;
		position: relative;
	}
	footer .inner {
		display: flex;
		justify-content: space-between;
		padding: 100px 0 220px;
		position: relative;
	}
	footer p {
		font-weight: bold;
	}
	footer p.tel {
		margin-top: 28px;
	}
	footer p.tel, footer p.mail, footer p.time {
		position: relative;
		font-weight: bold;
		padding-left: 32px;
		line-height: 2.5;
	}
	footer p.tel::before {
		position: absolute;
		content: "";
		background: url(img/contact_tel02.png) center center / cover no-repeat;
		width: 18px;
		height: 18px;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
	}
	footer p.mail::before {
		position: absolute;
		content: "";
		background: url(img/contact_mail_img02.png) center center / cover no-repeat;
		width: 18px;
		height: 14px;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
	}
	footer p.time::before {
		position: absolute;
		content: "";
		background: url(img/contact_time02.png) center center / cover no-repeat;
		width: 19px;
		height: 19px;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
	}
	footer p.place {
		line-height: 1.6;
		margin-top: 30px;
	}
	footer p.place:first-of-type {
		margin-top: 38px;
	}
	footer p.place .span01 {
		font-size: 14px;
		font-weight: normal;
		padding-left: 14px;
		margin-bottom: 0;
		line-height: 1.6;
	}
	footer p.place span {
		position: relative;
		display: block;
		font-size: 18px;
		font-weight: bold;
		line-height: 26px;
		padding-left: 14px;
		margin-bottom: 6px;
	}
	footer p.place span:nth-of-type(2):before {
		content: "";
		position: absolute;
		background: #fff;
		width: 5px;
		height: 37px;
		left: 0;
		top: -17px;
		border-radius: 3px;
	}

	footer .sitemap_box .text01, footer .area_box .text01, footer .blog_box .text01 {
		position: relative;
		width: fit-content;
		padding: 0 10px;
	}
	footer .sitemap_box .text01::before, footer .area_box .text01::before, footer .blog_box .text01::before {
		content: "[";
		position: absolute;
		left: 0;
		top: 0;
	}
	footer .sitemap_box .text01::after, footer .area_box .text01::after, footer .blog_box .text01::after {
		content: "]";
		position: absolute;
		right: 0;
		top: 0;
	}
	footer .sitemap_box {
		margin-left: 85px;
	}
	footer .sitemap_box ul {
		margin: 6px 0 0;
		line-height: 2.625;
	}
	footer .sitemap_box li::before{
		content: "・";
	}
	footer .sitemap_box li a {
		font-weight: bold;
		color: #fff;
		font-size: 15px;
	}
	footer .sitemap_box li a:hover {
		text-decoration: underline;
	}

	footer .area_box {
		margin-left: 60px;
	}
	footer .area_list {
		max-height: calc(42px * 14);
		padding-right: 40px;
		overflow-y: scroll;
		margin: 6px 0 0;
		line-height: 2.625;
	}
	footer .area_list li a {
		color: #fff;
		font-weight: bold;
		font-size: 15px;
	}
	footer .area_list li a:hover {
		text-decoration: underline;
	}
	footer .area_list > li {
		font-weight: bold;
	}
	footer .area_list > li:nth-of-type(2), footer .area_list > li:nth-of-type(3) {
		margin-top: 18px;
	}

	footer .blog_box {
		margin-left: 50px;
	}
	footer .blog_box .blog_list {
		max-height: calc(42px * 14);
		overflow-y: scroll;
		padding-right: 16px;
		margin: 6px 0 0;
		line-height: 2.625;
	}
	footer .blog_box .blog_list li {
		width: 230px;
		text-overflow: ellipsis;
		white-space: nowrap;
		overflow-x: hidden;
	}
	footer .blog_box .blog_list li::before {
		content: "・";
	}
	footer .blog_box .blog_list li a {
		font-weight: bold;
		color: #fff;
	}
	footer .blog_box .blog_list li a:hover {
		text-decoration: underline;
	}
	footer ul::-webkit-scrollbar {
		width: 3px
	}
	footer ul::-webkit-scrollbar-track {
		background-color: transparent;
	}
	footer ul::-webkit-scrollbar-thumb {
		background-color: #fff;
	}
	footer .to_top {
		position: fixed;
		right: 10px;
		bottom: 10px;
		z-index: 10;
	}
	footer .copy {
		position: absolute;
		bottom: 100px;
		right: 0;
	}
	@media screen and (max-width: 1300px) {
		footer .inner {
			width: 1100px;
		}
		footer .sitemap_box {
			margin-left: 30px;
		}
		footer .area_box {
			margin-left: 25px;
		}
		footer .blog_box {
			width: 220px;
			margin-left: 20px;
		}
		footer .blog_box .blog_list li {
			width: 200px;
		}
		footer .area_list ul {
			padding-right: 19px;
		}
	}
}



/*PCの記述ここまで*/
/*===============================================
横幅441px以下 sp
===============================================*/
@media screen and (max-width: 441px) {
	html, body, .wrap {
		width: 440px;
		position: relative;
	}
	.inner {
		box-sizing: border-box;
		padding: 0 20px;
		width: auto;
	}
	.pc {
		display: none;
	}
	.sp {
		display: inline;
	}
	p {
		font-size: 14px;
	}

/* header
------------------------------------------------------------------------*/
	header {
		top: 0;
		left: 0;
		width: 100%;
		height: 50px;
		z-index: 10000;
		position: relative;
	}
	header h1 {
		position: absolute;
		top: 61px;
		left: 10px;
		font-size: 10px;
		line-height: 1;
	}
	header .header_box .bubble {
		/* width: 139.2px;
    left: 154px;
    margin-left: 8px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%); */
		display: none;
	}
	header .header_box .sp_bubble {
		width: 220px;
		left: 152px;
		margin-left: 8px;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
	}
	header .header_box {
		position: fixed;
		top: 0;
		left: 0;
		width: 440px;
		height: 50px;
		background: var(--main-light-color);
	}
	header .header_box .logo a {
		position: absolute;
		top: 10px;
		left: 8px;
		display: block;
		width: 138px;
		height: 30px;
		background: url(img/header_logo.png) no-repeat;
		background-size: 134px;
		padding: 30px 0 0;
		box-sizing: border-box;
		overflow: hidden;
	}
	header .header_box .text01 {
		display: none;
	}
	header .header_box .text02 {
		position: fixed;
		bottom: 0;
		left: 0;
		width: 142px;
		height: 50px;
		color: #182e73;
		font-size: 14px;
		line-height: 50px;
		text-align: center;
		z-index: 9999;
	}
	header .header_box .text02::after {
		position: absolute;
		top: 0;
		left: 0;
		content: "";
		background: #eaf5fa;
		width: 440px;
		height: 50px;
		z-index: -1;
	}
	header .header_box .tel {
		position: absolute;
		overflow: hidden;
		width: 30px;
		height: 30px;
		left: 312px;
		top: 50%;
		transform: translateY(-50%);
	}
	header .header_box .tel {
		display: none;
	}
	header .header_box .button {
		display: none;
	}
	/* header .header_box .tel a {
    display: block;
    width: 100%;
    height: 100%;
    background: var(--main-color) url(img/contact_tel02.png) center center no-repeat;
    background-size: 15px;
    border-radius: 50%;
    box-sizing: border-box;

  } */
	header .header_box .tel a span {
		display: block;
		width: 14px;
		height: 18px;
		background: url("img/header_tel_sp.svg") no-repeat;
		background-size: 100%;
		padding: 18px 0 0;
		box-sizing: border-box;
		overflow: hidden;
	}
	header .header_box .button {
		position: absolute;
		width: 33px;
		height: 31px;
		top: 50%;
		transform: translateY(-50%);
		left: 342px;
		margin-left: 10px;
		overflow: hidden;
	}
	/* header .header_box .button a {
    display: block;
    background: url(img/header_icon03.png) no-repeat;
    background-size: 33px;
    padding: 31px 0 0;
    box-sizing: border-box;
  } */
	header .header_box .sp_bottom {
		position: fixed;
		left: 0;
		bottom: 0;
		display: flex;
		width: 100%;
		height: 50px;
		z-index: 11;
	}
	header .header_box .sp_bottom p {
		margin: 0;
	}
	header .header_box .sp_bottom .bottom_tel, header .header_box .sp_bottom .bottom_button {
		flex: 1;
	}
	header .header_box .sp_bottom .bottom_tel a, header .header_box .sp_bottom .bottom_button a {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 100%;
		color: #fff;
		text-decoration: none;
		font-size: 16px;
		line-height: 1;
		font-weight: bold;
	}
	header .header_box .sp_bottom .bottom_tel a {
		flex-direction: column;
	}
	header .header_box .sp_bottom .bottom_button a {
		flex-direction: row;
		gap: 8px;
	}
	header .header_box .sp_bottom .bottom_tel a {
		background: var(--main-color);
	}
	header .header_box .sp_bottom .bottom_button a {
		background: #06c755;
	}
	header .header_box .sp_bottom .bottom_button a::before {
		content: "";
		width: 24px;
		height: 22px;
		background: url("img/header_icon02.png") center center / contain no-repeat;
	}
	header .header_box .sp_bottom .bottom_tel a img {
		display: block;
		width: 190px;
		height: auto;
		filter: brightness(0) saturate(100%) invert(98%) sepia(15%) saturate(0%) hue-rotate(121deg) brightness(110%) contrast(100%);
	}
	header .header_box .sp_bottom .bottom_tel a span {
		display: block;
		margin-top: 3px;
		font-size: 12px;
	}

/* nav
------------------------------------------------------------------------*/
	#nav {
		display: none;
		width: 100%;
		position: fixed;
		z-index: 100;
	}
	body.nav_open {
		overflow: hidden;
		height: 100dvh;
	}
	#nav-btn.active + #nav {
		display: block;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		width: 440px;
		background: var(--main-light-color);
		z-index: 10000;
		overflow-y: scroll;
		height: 100%;
	}
	#nav-btn.active + #nav::before {
		position: absolute;
		top: 0;
		left: 0;
		content: "";
		background: var(--main-light-color);
		width: 440px;
		height: 50px;
	}
	#nav > .main_nav {
		width: 440px;
		min-height: 100dvh;
		height: auto;
		padding: 94px 65px 70px;
		box-sizing: border-box;
	}
	#nav > .main_nav li span {
		font-weight: bold;
	}
	#nav > .main_nav .mark {
		margin: 15px 0 7px;
	}
	#nav > .main_nav li a {
		display: block;
		padding: 15px 0;
		font-weight: bold;
	}
	#nav .main_nav .sub_nav_list li a span::before {
		content: "−";
		margin-right: 5px;
	}
	#nav .main_nav .sub_nav a {
		padding: 10px 0;
	}
	#nav > .main_nav li a img {
		display: none;
	}
	#nav-btn {
		width: 50px;
		height: 50px;
		background: var(--main-color);
		box-sizing: border-box;
		position: fixed;
		top: 0;
		right: 0;
		z-index: 10010;
		cursor: pointer;
		transition: all 0.5s;
	}
	.menu-btn {
		position: absolute;
		width: 20px;
		height: 14px;
		top: 0;
		bottom: 0;
		right: 0;
		left: 0;
		margin: auto;
	}
	.menu-btn, header .menu-btn span {
		display: inline-block;
		transition: all 0.4s;
		box-sizing: border-box;
	}
	.menu-btn span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 2px;
		background: #fff;
	}
	.menu-btn span:nth-of-type(1) {
		top: 0;
		transition: all 0.5s;
	}
	.menu-btn span:nth-of-type(2) {
		top: 6px;
		transition: all 0.5s;
	}
	.menu-btn span:nth-of-type(3) {
		bottom: 0;
		transition: all 0.5s;
	}
	#nav-btn.active span:nth-of-type(1) {
		transform: translateY(6px) rotate(-45deg);
		transition: all 0.5s;
	}
	#nav-btn.active span:nth-of-type(2) {
		opacity: 0;
		transition: all 0.5s;
	}
	#nav-btn.active span:nth-of-type(3) {
		transform: translateY(-6px) rotate(45deg);
		transition: all 0.5s;
	}

/* home
------------------------------------------------------------------------*/
	.home {
		font-weight: bold;
		color: #1d1d1d;
	}
	/* key */
	.home .key {
		position: relative;
		padding-top: 30px;
		height: 700px;
		background: var(--main-light-color);
	}
	.home .key .inner {
		position: relative;
		padding: 0;
	}
	.home .key .bg_img {
		position: absolute;
		top: 289px;
		z-index: -2;
		right: -30px;
	}
	.home .key::before {
		content: "";
		position: absolute;
		left: -10%;
		right: -10%;
		top: 180px;
		height: 340px;
		background: url("img/home_key_bg02.png");
		transform: rotate(-5deg);
	}
	.home .key .inner::after {
		content: "";
		position: absolute;
		left: -10%;
		right: -10%;
		transform: rotate(-5deg);
		height: 140px;
		bottom: -369px;
		background: url(img/home_key_bg03.png) repeat-x left top;
		background-size: 1125px;
		animation: slider 40s linear infinite;
	}
	@keyframes slider {
		0% {
			background-position: 0 0;
		}
		100% {
			background-position: -1125px 0;
		}
	}
	.home .key .inner::before {
		content: "";
		position: absolute;
		right: 39px;
		bottom: -490px;
		width: 351px;
		height: 179px;
		background: url("img/home_key_text04.png") center center / cover no-repeat;
		z-index: 1;
	}
	.home .key .inner .text_box {
		position: relative;
		box-sizing: border-box;
		background: rgba(255, 255, 255, 0.7);
		border-radius: 0 18px 18px 0;
		left: 0;
		width: 410px;
		padding: 15px 20px 20px;
	}
	.home .key .inner .text_box::before {
		content: "";
		position: absolute;
		right: -30px;
		top: 366px;
		width: 223px;
		height: 223px;
		background: url("img/home_key_text05.png") center center / cover no-repeat;
		transform: scale(0.6);
		z-index: 11;
	}
	.home .key .inner .text_box .text01:nth-of-type(1) {
		position: relative;
		font-size: 15px;
		color: #333;
		padding-left: 70px;
		line-height: 50px;
		font-weight: bold;
		width: fit-content;
		left: 50%;
		transform: translateX(-50%);
	}
	.home .key .inner .text_box .text01:nth-of-type(1)::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		background: url("img/key_deco01.png") center center / cover no-repeat;
		width: 74px;
		height: 50px;
		transform: scale(0.7);
	}
	.home .key .inner .text_box .text02 {
		width: 360px;
		height: 30px;
		text-align: center;
		background: #fff;
		border: 2px solid var(--main-color);
		border-radius: 20px;
		font-weight: bold;
		color: var(--main-color);
		font-size: 16px;
		margin-top: 10px;
		line-height: 30px;
	}
	.home .key .inner .text_item:nth-of-type(1) {
		display: flex;
		text-align: center;
		align-items: center;
		line-height: 40px;
		gap: 3px;
		margin-top: 10px;
		transform: translateX(-3px);
	}
	/* .home .key .inner .text_item .text02 {
    background: #fff;
    border: 1px solid var(--main-color);
    border-radius: 15px;
    font-weight: bold;
    color: var(--main-color);
    padding: 5px 8px;
    font-size: 16px;
  } */
	.home .key .inner .text_item:nth-of-type(2) {
		display: flex;
		text-align: center;
		gap: 9px;
		line-height: 1.3;
		margin-top: 6px;
	}
	.home .key .inner .text_item .text04:nth-of-type(1) {
		color: #fff;
		width: 160px;
		height: 43px;
		background: var(--main-color);
		border: 2px solid var(--main-color);
		border-radius: 5px;
		font-size: 20px;
		font-weight: bold;
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
	}
	.home .key .inner .text_item .text04 span {
		font-size: 12px;
		display: block;
		line-height: 1.25;
		padding-right: 6px;
		font-weight: bold;
		letter-spacing: 0.19em;
	}
	.home .key .inner .text_item .text04:nth-of-type(2) {
		color: #fff;
		width: 190px;
		height: 43px;
		background: var(--main-color);
		border: 2px solid var(--main-color);
		border-radius: 5px;
		font-size: 18px;
		font-weight: bold;
		display: flex;
		justify-content: center;
		align-items: center;
		/* text-align: center; */
	}
	.home .key .inner .text_item .text04:nth-of-type(2) span {
		font-size: 12px;
		display: block;
		line-height: 1.25;
		letter-spacing: 0;
		text-align: right;
		padding: 0;
		margin-left: 5px;
	}
	/* .home .key .inner .text_box .text03 {
    margin-top: 18px;
    text-align: center;
  }

  .home .key .inner .text_item .text04 {
    width: 50%;
    color: #fff;
    background: var(--main-color);
    border: 2px solid var(--main-color);
    border-radius: 10px;
    font-size: 20px;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
    padding: 5px 0;
  }

  .home .key .inner .text_item .text04 span {
    font-size: 14px;
    display: block;
    line-height: 1.2;
    padding-right: 5px;
    font-weight: bold;
    letter-spacing: 1.5px;
  } */


	/* topic_wrap */
	.home .topic_wrap {
		margin: 150px auto 80px;
		padding: 0 20px;
	}
	.home .topic_wrap .breaking_wrap {
		position: relative;
		background: var(--main-light-color);
		border: 1px solid var(--main-color);
		border-radius: 10px;
		padding: 40px 8px 8px;
		box-sizing: border-box;
	}
	.home .topic_wrap .breaking_wrap h2 {
		position: absolute;
		top: -17.5px;
		left: 50%;
		transform: translateX(-50%);
		text-align: center;
		color: #444;
		font-size: 14px;
		font-weight: bold;
		width: 400px;
		height: 35px;
		line-height: 35px;
		border: 1px solid var(--main-color);
		border-radius: 17.5px;
		background: #fff;
	}
	.home .topic_wrap .breaking_wrap h2 span {
		color: var(--main-color);
		font-size: 16px;
		font-weight: bold;
	}
	.home .topic_wrap .breaking_wrap h2::before {
		content: "";
		position: absolute;
		background: var(--main-color);
		clip-path: polygon(0 0, 100% 0, 50% 100%);
		width: 18px;
		height: 11px;
		bottom: -11px;
		left: 50%;
		transform: translateX(-50%);
	}
	.home .topic_wrap .breaking_wrap .text01 {
		text-align: center;
		color: #1d1d1d;
		font-size: 16px;
		font-weight: bold;
		line-height: 1.5;
		word-break: keep-all;
	}
	.home .topic_wrap .breaking_wrap .breaking_box {
		height: 230px;
		background: #fff;
		border-radius: 5px;
		margin-top: 18px;
		overflow-y: auto;
		padding: 25px 15px 15px 15px;
		box-sizing: border-box;
	}
	.home .topic_wrap .breaking_wrap .breaking_box .cont {
		position: relative;
	}
	.home .topic_wrap .breaking_wrap .breaking_box .cont::before {
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 1px;
		background: repeating-linear-gradient(to right, #082a4a 0, #082a4a 11px, transparent 11px, transparent 22px);
	}
	.home .topic_wrap .breaking_wrap .breaking_box .cont .date {
		color: #1d1d1d;
		font-weight: bold;
		line-height: 1;
		padding-top: 25px;
	}
	.home .topic_wrap .breaking_wrap .breaking_box .cont:nth-of-type(1) .date {
		padding-top: 0;
	}
	.home .topic_wrap .breaking_wrap .breaking_box .cont .text02 {
		line-height: 1.5;
		font-weight: bold;
		padding: 15px 0 25px;
	}
	.home .topic_wrap .reviews_wrap {
		position: relative;
		background: var(--main-light-color);
		border: 1px solid var(--main-color);
		border-radius: 10px;
		padding: 40px 8px 8px;
		box-sizing: border-box;
		margin-top: 50px;
	}
	.home .topic_wrap .reviews_wrap h2 {
		position: absolute;
		top: -17.5px;
		left: 50%;
		transform: translateX(-50%);
		text-align: center;
		color: #444;
		font-size: 14px;
		font-weight: bold;
		width: 400px;
		height: 35px;
		line-height: 35px;
		border: 1px solid var(--main-color);
		border-radius: 17.5px;
		background: #fff;
	}
	.home .topic_wrap .reviews_wrap h2 span {
		color: var(--main-color);
		font-size: 16px;
		font-weight: bold;
	}
	.home .topic_wrap .reviews_wrap h2::before {
		content: "";
		position: absolute;
		background: var(--main-color);
		clip-path: polygon(0 0, 100% 0, 50% 100%);
		width: 18px;
		height: 11px;
		bottom: -11px;
		left: 50%;
		transform: translateX(-50%);
	}
	.home .topic_wrap .reviews_wrap .text01 {
		text-align: center;
		color: #1d1d1d;
		font-size: 18px;
		font-weight: bold;
		line-height: 1.5;
	}
	.home .topic_wrap .reviews_wrap .reviews_box {
		height: 260px;
		background: #fff;
		border-radius: 5px;
		margin-top: 18px;
		overflow: scroll;
	}


	/* cont01 */
	.home .cont01 {
		background: url("img/common_bg_01.png");
		text-align: center;
		padding: 80px 0;
	}
	.home .cont01 .inner {
		padding: 0 20px;
	}
	.home .cont01 .inner h2 {
		font-size: 18px;
		font-weight: bold;
		line-height: 1;
	}
	.home .cont01 .inner h2 span {
		display: block;
		font-size: 24px;
		font-weight: bold;
		color: #1d1d1d;
		padding-bottom: 14px;
	}
	.home .cont01 .inner h2 span::before {
		position: absolute;
		content: "";
		background: url(img/common_deco13.png) no-repeat;
		width: 53px;
		height: 47px;
		transform: scale(0.7);
		left: 109px;
		top: -35px;
	}
	.home .cont01 .inner .text01 {
		font-size: 18px;
		font-weight: bold;
		line-height: 1.5;
		margin-top: 30px;
	}
	.home .cont01 .inner .thanks_box {
		padding: 0 30px;
	}
	.home .cont01 .inner .thanks_box .cont {
		position: relative;
		background: #fff;
		border: 2px solid var(--main-color);
		border-radius: 10px;
		margin-top: 20px;
		padding: 25px 0;
		box-sizing: border-box;
	}
	.home .cont01 .inner .thanks_box .cont::before {
		position: absolute;
		content: "";
		background: url(img/common_deco02.png) center center / cover no-repeat;
		top: -22px;
		left: -20px;
		width: 89px;
		height: 103px;
	}
	.home .cont01 .inner .thanks_box .cont:first-of-type {
		margin-top: 50px;
	}
	.home .cont01 .inner .thanks_box .cont h3 {
		line-height: 1;
		font-size: 24px;
		font-weight: bold;
		color: var(--main-color);
	}
	.home .cont01 .inner .thanks_box .cont h3 span:nth-of-type(1) {
		display: block;
		font-weight: bold;
		color: #555;
		padding-bottom: 15px;
	}
	.home .cont01 .inner .thanks_box .cont h3 span:nth-of-type(2) {
		font-size: 44px;
		font-weight: bold;
		visibility: hidden;
	}
	.home .cont01 .inner .thanks_box .cont h3 span:nth-of-type(3) {
		font-size: 32px;
		font-weight: bold;
		visibility: hidden;
	}
	.home .cont01 .inner .thanks_box .cont h3 span:nth-of-type(4) {
		visibility: hidden;
	}
	.home .cont01 .inner .thanks_box .cont .text02 {
		line-height: 1.5;
		font-size: 18px;
		font-weight: bold;
		margin-top: 13px;
	}
	.home .cont01 .inner .thanks_box .cont.box01 h3 span:nth-of-type(1)::after {
		content: "";
		background: url(img/home_thanks01.png) center center / cover no-repeat;
		width: 292px;
		height: 58px;
		position: absolute;
		top: 67px;
		left: 50%;
		transform: translateX(-50%) scale(0.8);
	}
	.home .cont01 .inner .thanks_box .cont.box02 h3 span:nth-of-type(1)::after {
		content: "";
		background: url(img/home_thanks02.png) center center / cover no-repeat;
		width: 260px;
		height: 58px;
		position: absolute;
		top: 67px;
		left: 50%;
		transform: translateX(-50%) scale(0.8);
	}
	.home .cont01 .inner .thanks_box .cont.box03 h3 span:nth-of-type(1)::after {
		content: "";
		background: url(img/home_thanks03.png) center center / cover no-repeat;
		width: 78px;
		height: 51px;
		position: absolute;
		top: 67px;
		left: 50%;
		transform: translateX(-50%) scale(0.8);
	}


	/* cont02 */
	.home .cont02 {
		padding-bottom: 60px;
		/* margin-top: 30px; */
	}
	.home .cont02 .inner {
		position: relative;
	}
	.home .cont02 .text_box01 {
		padding-top: 380px;
	}
	.home .cont02 h2 {
		position: relative;
		font-weight: bold;
		line-height: 1.5;
		padding: 11px 0 5px 18px;
		font-size: 14px;
		margin-top: 20px;
	}
	.home .cont02 h2 span {
		font-size: 22px;
		font-weight: bold;
		padding-top: 10px;
		display: block;
		line-height: 1.45;
	}
	.home .cont02 h2::before {
		position: absolute;
		content: "";
		background: var(--main-color);
		width: 4px;
		height: 100%;
		border-radius: 2px;
		left: 0;
		top: 0;
	}
	.home .cont02 .text01 {
		padding: 30px 0 40px;
		font-size: 16px;
		line-height: 2.2;
	}
	.home .cont02 .button {
		width: 360px;
		height: 50px;
		text-align: center;
		margin: 0 auto;
	}
	.home .cont02 .button a {
		position: relative;
		display: block;
		background: var(--main-color);
		border: 1px solid var(--main-color);
		box-sizing: border-box;
		color: #fff;
		font-size: 16px;
		font-weight: bold;
		line-height: 50px;
		border-radius: 25px;
	}
	.home .cont02 .button a::before {
		content: "";
		position: absolute;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
		background: #fff;
		right: 20px;
		top: 0;
		bottom: 0;
		margin: auto 0;
		width: 6px;
		height: 10px;
	}
	.home .cont02 figure {
		position: absolute;
		top: 80px;
		left: 0;
		border: 2px solid var(--main-color);
		border-left: none;
		border-radius: 0 10px 10px 0;
		width: calc(100% - 30px);
		overflow: hidden;
		box-sizing: border-box;
	}


	/* cont03 */
	.home .cont03 {
		background: #f2f0e7;
		position: relative;
		padding: 80px 0;
	}
	.home .cont03 .inner{
		position: relative;
	}
	.home .cont03 .inner::before{
		position: absolute;
		top: -160px;
		left: -8px;
		content: "";
		background: url("img/common_illust02.png")no-repeat;
		width: 130px;
		height: 287px;
		transform: scale(0.6)
	}
	.home .cont03 h2 {
		text-align: center;
		font-size: 24px;
		font-weight: bold;
		line-height: 1.6;
		color: #1d1d1d;
		margin-bottom: 35px;
	}
	.home .cont03 h2 span {
		position: relative;
		font-size: 14px;
		font-weight: bold;
		display: block;
		line-height: 1;
		padding-bottom: 15px;
	}
	.home .cont03 h2 span::after {
		position: absolute;
		content: "";
		background: url(img/home_text01.png) center center / cover no-repeat;
		width: 614px;
		height: 58px;
		top: 50%;
		left: 50%;
		transform: translate(-50%, calc(-50% - 9px)) scale(0.6);
		z-index: -1;
	}
	.home .cont03 .readtext {
		text-align: center;
		font-size: 16px;
	}
	.home .cont03 .service_wrap{
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 30px 0;
		margin-top: 50px;
	}
	.home .cont03 .service_wrap .cont{
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 380px;
		background: #fff;
		border: 1px solid #0166b3;
		border-radius: 5px;
		overflow: hidden;
		padding: 0 0 20px;
	}
	.home .cont03 .service_wrap .cont:nth-of-type(2){
		border: 1px solid #00b1a8;
	}
	.home .cont03 .service_wrap .cont:nth-of-type(3){
		border: 1px solid #253a83;
	}
	.home .cont03 .service_wrap .cont h3{
		display: block;
		width: 100%;
		height: 39px;
		background: #0166b3;
		color: #fff;
		font-size: 20px;
		font-weight: bold;
		line-height: 38px;
		text-align: center;
	}
	.home .cont03 .service_wrap .cont:nth-of-type(2) h3{
		background: #00b1a8;
	}
	.home .cont03 .service_wrap .cont:nth-of-type(3) h3{
		background: #253a83;
	}
	.home .cont03 .service_wrap .cont .text01{
		background: url("img/common_icon01.png")left center no-repeat;
		padding-left: 76px;
		font-size: 18px;
		font-weight: bold;
		line-height: 1.333;
		margin-top: 17px;
	}
	.home .cont03 .service_wrap .cont:nth-of-type(2) .text01{
		background: url("img/common_icon02.png")left center no-repeat;
		padding-left: 78px;
	}
	.home .cont03 .service_wrap .cont:nth-of-type(3) .text01{
		background: url("img/common_icon03.png")left center no-repeat;
		padding-left: 77px;
	}
	.home .cont03 .service_wrap .cont figure{
		margin-top: 20px;
	}
	.home .cont03 .service_wrap .cont .text02{
		padding: 0 24px 0 20px;
		line-height: 1.875;
		margin-top: 17px;
	}
	.home .cont03 .under_box{
		width: 400px;
		background: #fff;
		border-radius: 10px;
		padding: 32px 30px;
		box-sizing: border-box;
		margin-top: 80px;
		position: relative;
	}
	.home .cont03 .under_box h4{
		position: absolute;
		top: -10px;
		left: 50%;
		transform: translateX(-50%);
		color: #0166b3;
		font-size: 20px;
		font-weight: bold;
		line-height: 1;
		white-space: nowrap;
	}
	.home .cont03 .under_box h4::before{
		position: absolute;
		top: 50%;
		right: calc(100% + 13px);
		transform: translateY(-50%);
		content: "";
		background: #0166b3;
		width: 30px;
		height: 2px;
		border-radius: 1px;
	}
	.home .cont03 .under_box h4::after{
		position: absolute;
		top: 50%;
		left: calc(100% + 13px);
		transform: translateY(-50%);
		content: "";
		background: #0166b3;
		width: 30px;
		height: 2px;
		border-radius: 1px;
	}
	.home .cont03 .under_box .text03{
		font-size: 16px;
		text-align: center;
	}
	.home .cont03 .under_box .flow_list{
		display: flex;
		flex-wrap: wrap;
		gap: 20px;
		margin-top: 32px;
		overflow: hidden;
	}
	.home .cont03 .under_box .flow_list li{
		display: flex;
		flex-direction: column;
		justify-content: center;
		width: 340px;
		height: 55px;
		background: #0166b3;
		border-radius: 5px;
		padding: 0 0 0 60px;
		box-sizing: border-box;
		color: #fff;
		font-size: 16px;
		font-weight: bold;
		line-height: 1;
		z-index: 11;
		position: relative;
	}
	.home .cont03 .under_box .flow_list li:nth-of-type(n+2){
		padding: 0 0 0 64px;
	}
	.home .cont03 .under_box .flow_list li span{
		font-size: 14px;
		text-indent: -0.5em;
		margin-top: 4px;
	}
	.home .cont03 .under_box .flow_list li::before{
		position: absolute;
		top: 50%;
		left: 19px;
		transform: translateY(-50%);
		content: "01 ｜";
		color: rgba(255,255,255,0.5);
	}
	.home .cont03 .under_box .flow_list li:nth-of-type(1)::before{
		left: 16px;
	}
	.home .cont03 .under_box .flow_list li:nth-of-type(2)::before{
		content: "02 ｜";
	}
	.home .cont03 .under_box .flow_list li:nth-of-type(3)::before{
		content: "03 ｜";
	}
	.home .cont03 .under_box .flow_list li:nth-of-type(4)::before{
		content: "04 ｜";
	}
	.home .cont03 .under_box .flow_list li:nth-of-type(5)::before{
		content: "05 ｜";
	}
	.home .cont03 .under_box .flow_list li:nth-of-type(6)::before{
		content: "06 ｜";
	}
	.home .cont03 .under_box .flow_list li:nth-of-type(7)::before{
		content: "07 ｜";
	}
	.home .cont03 .under_box .flow_list li:nth-of-type(8)::before{
		content: "08 ｜";
	}
	.home .cont03 .under_box .flow_list li:nth-of-type(1)::after{
		position: absolute;
		top: 4px;
		left: 30px;
		transform-origin: left top;
		transform: rotate(90deg);
		content: "";
		background: url("img/common_line01.png")repeat-x;
		width: 1000px;
		height: 3px;
		z-index: -1;
	}
	.home .cont03 .button{
		width: 360px;
		height: 50px;
		text-align: center;
		margin: 45px auto 0;
	}
	.home .cont03 .button a{
		position: relative;
		display: block;
		background: var(--main-color);
		border: 1px solid var(--main-color);
		box-sizing: border-box;
		color: #fff;
		font-size: 16px;
		line-height: 50px;
		font-weight: bold;
		border-radius: 25px;
		transition: background-color 0.4s ease, color 0.4s ease;
	}
	.home .cont03 .button a::before{
		content: "";
		position: absolute;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
		background: #fff;
		right: 18px;
		top: 0;
		bottom: 0;
		margin: auto 0;
		width: 6px;
		height: 10px;
		transition: background-color 0.4s ease, color 0.4s ease;
	}


	/* cont04 */
	.home .cont04 {
		padding: 80px 0;
	}
	.home .cont04 h2 {
		text-align: center;
		font-size: 24px;
		font-weight: bold;
		line-height: 1.6;
		color: #1d1d1d;
		margin-bottom: 35px;
	}
	.home .cont04 h2 span {
		position: relative;
		font-size: 14px;
		font-weight: bold;
		display: block;
		line-height: 1;
		padding-bottom: 15px;
	}
	.home .cont04 h2 span::after {
		position: absolute;
		content: "";
		background: url(img/common_text01.png) center center / cover no-repeat;
		background-size: 177px;
		width: 177px;
		height: 44px;
		top: 50%;
		left: 50%;
		transform: translate(-50%, calc(-50% - 9px));
		z-index: -1;
	}
	.home .cont04 .readtext {
		text-align: center;
		font-size: 16px;
	}
	.home .cont04 .price_wrap{
		display: flex;
		flex-direction: column;
		gap: 25px 0;
		margin-top: 45px;
	}
	.home .cont04 .price_wrap .cont{
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 400px;
		background: #d9e8f4;
		padding-bottom: 16px;
		border-radius: 10px;
		overflow: hidden;
	}
	.home .cont04 .price_wrap .cont:nth-of-type(2){
		background: #d9f3f2;
	}
	.home .cont04 .price_wrap .cont h3{
		width: 100%;
		height: 50px;
		background: #0166b3;
		color: #fff;
		font-size: 24px;
		text-align: center;
		line-height: 50px;
	}
	.home .cont04 .price_wrap .cont:nth-of-type(2) h3{
		background: #00b1a8;
	}
	.home .cont04 .price_wrap .cont h3 span{
		display: inline-block;
		height: 50px;
		background: url("img/common_icon04.png")left center no-repeat;
		background-size: 60px;
		padding-left: 77px;
		font-weight: bold;
	}
	.home .cont04 .price_wrap .cont:nth-of-type(2) h3 span{
		background: url("img/common_icon05.png")left top 6px no-repeat;
		background-size: 60px;
		padding-left: 76px;
	}
	.home .cont04 .price_wrap .cont dl{
		display: flex;
		justify-content: center;
		gap: 0 15px;
		margin-top: 35px;
	}
	.home .cont04 .price_wrap .cont dl .price_item{
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 175px;
		height: 75px;
		background: #fff;
		border-radius: 3px;
		padding: 25px 0 0;
		box-sizing: border-box;
		filter: drop-shadow(0 0 15px rgba(0,0,0,0.1));
		position: relative;
	}
	.home .cont04 .price_wrap .cont dl .price_item dt{
		position: absolute;
		top: -10px;
		left: 50%;
		transform: translateX(-50%);
		color: #0166b3;
		font-size: 20px;
		font-weight: bold;
		line-height: 1;
		white-space: nowrap;
	}
	.home .cont04 .price_wrap .cont:nth-of-type(2) dl .price_item dt{
		color: #00b1a8;
	}
	.home .cont04 .price_wrap .cont dl .price_item dt::before{
		content: "［";
		padding-right: 8px;
	}
	.home .cont04 .price_wrap .cont dl .price_item dt::after{
		content: "］";
		padding-left: 8px;
	}
	.home .cont04 .price_wrap .cont dl .price_item dd{
		font-size: 20px;
		font-weight: bold;
		line-height: 1;
	}
	.home .cont04 .price_wrap .cont dl .price_item dd span{
		font-size: 32px;
		font-weight: bold;
	}
	.home .cont04 .price_wrap .cont .text01{
		padding: 0 22px 0 26px;
		line-height: 1.875;
		margin-top: 16px;
	}
	.home .cont04 .tax_text{
		font-size: 14px;
		text-align: right;
		line-height: 1;
		margin-top: 15px;
	}
	.home .cont04 .tax_text::before{
		content: "※";
	}
	.home .cont04 .button{
		width: 400px;
		height: 50px;
		text-align: center;
		margin: 30px auto 0;
	}
	.home .cont04 .button a{
		position: relative;
		display: block;
		background: var(--main-color);
		border: 1px solid var(--main-color);
		box-sizing: border-box;
		color: #fff;
		font-size: 16px;
		line-height: 50px;
		font-weight: bold;
		border-radius: 25px;
		transition: background-color 0.4s ease, color 0.4s ease;
	}
	.home .cont04 .button a span{
		color: #f4ec41;
		font-weight: bold;
	}
	.home .cont04 .button a::before{
		content: "";
		position: absolute;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
		background: #fff;
		right: 18px;
		top: 0;
		bottom: 0;
		margin: auto 0;
		width: 6px;
		height: 10px;
		transition: background-color 0.4s ease, color 0.4s ease;
	}
	.home .cont04 .under_box{
		background: #f2f0e7;
		border-radius: 10px;
		padding: 40px 30px 30px;
		box-sizing: border-box;
		margin-top: 70px;
		position: relative;
	}
	.home .cont04 .under_box h4{
		position: absolute;
		top: -11px;
		left: 50%;
		transform: translateX(-50%);
		color: var(--main-color);
		font-size: 22px;
		font-weight: bold;
		line-height: 1;
	}
	.home .cont04 .under_box h4::before{
		position: absolute;
		top: 50%;
		right: calc(100% + 13px);
		transform: translateY(-50%);
		content: "";
		background: var(--main-color);
		width: 80px;
		height: 2px;
		border-radius: 1px;
	}
	.home .cont04 .under_box h4::after{
		position: absolute;
		top: 50%;
		left: calc(100% + 13px);
		transform: translateY(-50%);
		content: "";
		background: var(--main-color);
		width: 80px;
		height: 2px;
		border-radius: 1px;
	}
	.home .cont04 .under_box .text02{
		font-size: 16px;
		text-align: center;
	}
	.home .cont04 .under_box .option_wrap{
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 20px 0;
		margin-top: 30px;
	}
	.home .cont04 .under_box .option_wrap .option_cont{
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 340px;
		background: #fff;
		border-radius: 10px;
		padding: 0 0 23px;
		box-sizing: border-box;
		overflow: hidden;
	}
	.home .cont04 .under_box .option_wrap .option_cont h5{
		width: 100%;
		height: 40px;
		background: var(--main-color);
		color: #fff;
		font-size: 18px;
		font-weight: bold;
		line-height: 40px;
		letter-spacing: 0.07em;
		text-align: center;
	}
	.home .cont04 .under_box .option_wrap .option_cont .price{
		width: 320px;
		height: 80px;
		background: url("img/common_img01.png")left center no-repeat;
		padding-left: 163px;
		box-sizing: border-box;
		font-size: 24px;
		font-weight: bold;
		line-height: 80px;
		margin: 15px 0 0 30px;
	}
	.home .cont04 .under_box .option_wrap .option_cont:nth-of-type(2) .price{
		background: url("img/common_img02.png")left center no-repeat;
		padding-left: 160px;
	}
	.home .cont04 .under_box .option_wrap .option_cont:nth-of-type(3) .price{
		background: url("img/common_img03.png")left center no-repeat;
		padding-left: 150px;
	}
	.home .cont04 .under_box .option_wrap .option_cont .price span{
		font-size: 36px;
		font-weight: bold;
	}
	.home .cont04 .under_box .option_wrap .option_cont .text03{
		padding: 0 26px 0 30px;
		font-size: 14px;
		line-height: 1.857;
		margin-top: 11px;
	}


	/* harf_wrap */
	.home .harf_wrap{
		display: flex;
		flex-direction: column;
	}
	.home .harf_wrap .harf_cont{
		width: 100%;
	}
	.home .harf_wrap .harf_cont.left{
		display: flex;
		justify-content: flex-end;
		background: url("img/harfcont_bg01.png")right top / cover no-repeat;
	}
	.home .harf_wrap .harf_cont.right{
		display: flex;
		background: url("img/harfcont_bg02.png")left top / cover no-repeat;
	}
	.home .harf_wrap .harf_cont .inner{
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 100%;
		padding: 45px 0 40px;
		margin: 0;
		position: relative;
	}
	.home .harf_wrap .harf_cont.left .inner::before{
		position: absolute;
		top: 38px;
		left: 0;
		content: "";
		background: url("img/common_illust03.png")no-repeat;
		width: 136px;
		height: 100px;
		z-index: -1;
		transform-origin: left top;
		transform: scale(0.6);
	}
	.home .harf_wrap .harf_cont.left .inner::after{
		position: absolute;
		top: 30px;
		right: 0;
		content: "";
		background: url("img/common_illust04.png")no-repeat;
		width: 145px;
		height: 112px;
		z-index: -1;
		transform-origin: right top;
		transform: scale(0.6);
	}
	.home .harf_wrap .harf_cont .inner h2{
		color: #fff;
		font-size: 24px;
		font-weight: bold;
		line-height: 1;
	}
	.home .harf_wrap .harf_cont .inner h2::before{
		content: "［";
		padding-right: 8px;
	}
	.home .harf_wrap .harf_cont .inner h2::after{
		content: "］";
		padding-left: 8px;
	}
	.home .harf_wrap .harf_cont .inner ul{
		display: flex;
		justify-content: center;
		gap: 10px;
		margin-top: 28px;
	}
	.home .harf_wrap .harf_cont .inner ul li{
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		background: #f4ec41;
		padding: 10px 16px 9px;
		border-radius: 3px;
		box-sizing: border-box;
		font-size: 22px;
		font-weight: bold;
		line-height: 1;
		text-align: center;
	}
	.home .harf_wrap .harf_cont.right .inner ul li{
	}
	.home .harf_wrap .harf_cont .inner ul li span{
		display: block;
		font-size: 14px;
		margin-top: 8px;
	}
	.home .harf_wrap .harf_cont .inner .text01{
		color: #f4ec41;
		font-size: 20px;
		font-weight: bold;
		line-height: 1.7;
		text-align: center;
		margin-top: 29px;
	}
	.home .harf_wrap .harf_cont .inner .button{
		width: 380px;
		height: 40px;
		text-align: center;
		margin: 26px auto 0;
	}
	.home .harf_wrap .harf_cont .inner .button a{
		position: relative;
		display: block;
		background: #f78d37;
		box-sizing: border-box;
		color: #fff;
		font-size: 16px;
		line-height: 40px;
		font-weight: bold;
		border-radius: 20px;
		transition: background-color 0.4s ease, color 0.4s ease;
	}
	.home .harf_wrap .harf_cont .inner .button a::before{
		content: "";
		position: absolute;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
		background: #fff;
		right: 18px;
		top: 0;
		bottom: 0;
		margin: auto 0;
		width: 6px;
		height: 10px;
		transition: background-color 0.4s ease, color 0.4s ease;
	}
	.home .harf_wrap .harf_cont .inner .text02{
		padding: 0 20px;
		color: #fff;
		margin-top: 20px;
	}


	/* cont05 */
	.home .cont05 {
		background: url(img/common_bg_01.png);
		padding: 80px 0 80px;
	}
	.home .cont05 .inner {
		position: relative;
		padding: 0 20px;
	}
	.home .cont05 h2 {
		text-align: center;
		font-size: 24px;
		font-weight: bold;
		line-height: 1;
		color: #1d1d1d;
	}
	.home .cont05 h2 span {
		position: relative;
		font-size: 14px;
		font-weight: bold;
		display: block;
		line-height: 1;
		padding-bottom: 15px;
	}
	.home .cont05 h2 span::after {
		position: absolute;
		content: "";
		background: url(img/home_text03.png) center center / cover no-repeat;
		background-size: 241px;
		width: 241px;
		height: 44px;
		top: 50%;
		left: 50%;
		transform: translate(-50%, calc(-50% - 9px));
		z-index: -1;
	}
	.home .cont05 h3 {
		position: relative;
		font-weight: bold;
		font-size: 20px;
		color: #1d1d1d;
		padding-left: 15px;
		height: 32px;
		line-height: 32px;
		margin: 22px 0 0 98px;
	}
	.home .cont05 .box .item:nth-of-type(4) h3 {
		font-size: 18px;
	}
	.home .cont05 h3::before {
		position: absolute;
		content: "";
		background: var(--main-color);
		width: 6px;
		height: 62px;
		border-radius: 3px;
		left: 0;
		top: 0;
	}
	.home .cont05 .text01 {
		margin-top: 38px;
		padding: 0 15px 20px;
	}
	.home .cont05 .box .item {
		position: relative;
		background: #fff;
		border: 2px solid var(--main-color);
		border-radius: 8px;
		margin-bottom: 40px;
	}
	.home .cont05 .box .item::before {
		position: absolute;
		content: "";
		background: url(img/reason_01.png) center center / cover no-repeat;
		width: 100.8px;
		height: 93.8px;
		left: -1px;
		top: -1px;
		transform: scale(0.8);
	}
	.home .cont05 .box .item:nth-of-type(2):before {
		background: url("img/reason_02.png") center center / cover no-repeat;
	}
	.home .cont05 .box .item:nth-of-type(3):before {
		background: url("img/reason_03.png") center center / cover no-repeat;
	}
	.home .cont05 .box .item:nth-of-type(4):before {
		background: url("img/reason_04.png") center center / cover no-repeat;
	}
	.home .cont05 .box .item:nth-of-type(5):before {
		background: url("img/reason_05.png") center center / cover no-repeat;
	}
	.home .cont05 .box .item:first-of-type {
		margin-top: 50px;
	}
	.home .cont05 .box .item:last-of-type {
		margin-bottom: 0;
	}
	.home .cont05 .button {
		position: relative;
		width: 360px;
		height: 50px;
		text-align: center;
		margin: 40px auto 0;
	}
	.home .cont05 .button a {
		display: block;
		background: var(--main-color);
		line-height: 50px;
		border-radius: 25px;
		font-weight: bold;
		color: #fff;
		font-size: 16px;
	}
	.home .cont05 .button a::before {
		content: "";
		position: absolute;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
		background: #fff;
		right: 20px;
		top: 0;
		bottom: 0;
		margin: auto 0;
		width: 6px;
		height: 10px;
	}


	/* cont06 */
	.home .cont06 {
		padding: 80px 20px 80px;
		margin: 0 auto;
		max-width: 1380px;
	}
	.home .cont06 h2 {
		text-align: center;
		font-size: 24px;
		font-weight: bold;
		line-height: 1;
		color: #1d1d1d;
	}
	.home .cont06 h2 span {
		position: relative;
		font-size: 14px;
		font-weight: bold;
		display: block;
		line-height: 1;
		color: #444;
		padding-bottom: 15px;
	}
	.home .cont06 h2 span::before {
		position: absolute;
		content: "";
		background: url("img/home_text04.png") center center / cover no-repeat;
		width: 288px;
		height: 58px;
		top: 50%;
		left: 50%;
		transform: translate(-50%, calc(-50% - 9px)) scale(0.7);
		z-index: -1;
	}
	.home .cont06 .text01 {
		text-align: center;
		margin-top: 27px;
		font-size: 16px;
	}
	.home .cont06 h3 {
		position: relative;
		font-size: 18px;
		font-weight: bold;
		color: var(--main-color);
		line-height: 32px;
		height: 32px;
		padding-left: 15px;
		margin-top: 19px;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	.home .cont06 h3::before {
		content: "";
		position: absolute;
		background: var(--main-color);
		width: 6px;
		height: 32px;
		left: 0;
		top: 0;
		border-radius: 3px;
	}
	.home .cont06 .category_01, .home .cont06 .category_02 {
		display: inline-block;
		line-height: 1;
		font-size: 12px;
		color: #fff;
		font-weight: bold;
		margin-top: 15px;
	}
	.home .cont06 .category_01 {
		padding: 7px 14px;
		background: var(--main-color);
	}
	.home .cont06 .category_02 {
		padding: 7px 22px;
		background: #7aad96;
	}
	.home .cont06 .text02 {
		margin-top: 10px;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	.home .cont06 .box .item {
		position: relative;
		padding-top: 66.6667%;
		margin-top: 30px;
		width: 100%;
		display: block;
	}
	.home .cont06 .box .item:first-of-type {
		margin-top: 38px;
	}
	/* SP：写真を上部に固定し、写真の高さ分の余白をitemで確保 */
	.home .cont06 .box .img_box {
		position: absolute;
		top: 0;
		left: 0;
		display: flex;
		width: 100%;
		gap: 0;
	}
	.home .cont06 .box .img_box figure {
		position: relative;
		flex: 1 1 0;
		min-width: 0;
		max-width: none;
		max-height: none;
		border: 1px solid var(--main-color);
		overflow: hidden;
	}
	.home .cont06 .box .img_box figure img {
		display: block;
		width: 100%;
		height: auto;
		aspect-ratio: 3 / 2;
		object-fit: contain;
	}
	/* 写真が1枚の場合は幅いっぱいに表示 */
	.home .cont06 .box .img_box.is-single figure {
		flex: 0 0 100%;
		width: 100%;
	}
	.home .cont06 .box .img_box.is-single figure::before,
	.home .cont06 .box .img_box.is-single figure::after {
		display: none;
	}
	.home .cont06 .box .img_box .after::after {
		position: absolute;
		content: "";
		background: url("img/after_text.png") no-repeat;
		width: 99px;
		height: 28px;
		top: 0;
		left: 0;
	}
	.home .cont06 .box .img_box .before::after {
		position: absolute;
		content: "";
		background: url("img/before_text.png") no-repeat;
		width: 99px;
		height: 28px;
		top: 0;
		left: 0;
	}
	/* SP：矢印は2枚の写真があるときだけ */
	.home .cont06 .box .img_box .before::before {
		display: none;
	}
	.home .cont06 .box .img_box:has(.before + .after) .before::before {
		display: block;
		position: absolute;
		content: "";
		background: url(img/common_deco11.png) center center / cover no-repeat;
		width: 16px;
		height: 30px;
		top: 50%;
		right: -8px;
		transform: translateY(-50%);
		z-index: 1;
	}
	/* PC用の矢印をSPでは重ねて表示しない */
	.home .cont06 .item::before,
	.home .cont06 .item:has(.works-photo-box .before + .after)::before {
		display: none;
	}
	.home .cont06 .button {
		position: relative;
		width: 360px;
		height: 50px;
		text-align: center;
		margin: 30px auto 0;
	}
	.home .cont06 .button a {
		display: block;
		background: var(--main-color);
		line-height: 50px;
		border-radius: 25px;
		font-weight: bold;
		color: #fff;
		font-size: 16px;
	}
	.home .cont06 .button a::before {
		content: "";
		position: absolute;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
		background: #fff;
		right: 20px;
		top: 0;
		bottom: 0;
		margin: auto 0;
		width: 6px;
		height: 10px;
	}


	/* cont07 */
	.home .cont07 {
		background: var(--main-light-color);
		padding: 80px 15px 80px;
	}
	.home .cont07 .inner {
		position: relative;
		padding: 0 15px;
	}
	.home .cont07 h2 {
		text-align: center;
		font-size: 24px;
		font-weight: bold;
		line-height: 1;
		color: #1d1d1d;
	}
	.home .cont07 h2 span {
		position: relative;
		font-size: 14px;
		font-weight: bold;
		display: block;
		line-height: 1;
		padding-bottom: 15px;
	}
	.home .cont07 h2 span::before {
		position: absolute;
		content: "";
		background: url("img/home_text05.png") center center / cover no-repeat;
		width: 226px;
		height: 58px;
		top: 50%;
		left: 50%;
		transform: translate(-50%, calc(-50% - 9px)) scale(0.7);
		z-index: -1;
	}
	.home .cont07 .box {
		margin-top: 50px;
	}
	.home .cont07 .box .item {
		position: relative;
		border: 2px solid var(--main-color);
		border-radius: 10px;
		box-sizing: border-box;
		background: #fff;
		padding: 60px 25px 35px;
		margin-top: 30px;
	}
	.home .cont07 .box .item::before {
		content: "";
		position: absolute;
		clip-path: polygon(0 0, 100% 0, 50% 100%);
		background: var(--main-color);
		left: 50%;
		bottom: -15px;
		transform: translateX(-50%);
		width: 35px;
		height: 15px;
	}
	.home .cont07 .box .item:last-of-type::before {
		display: none;
	}
	.home .cont07 .box .item h3 {
		position: relative;
		text-align: center;
		font-size: 22px;
		color: #1d1d1d;
		line-height: 1;
		font-weight: bold;
	}
	.home .cont07 .box .item h3::before {
		position: absolute;
		content: "FLOW 01";
		color: var(--main-color);
		font-size: 18px;
		font-weight: bold;
		top: -35px;
		left: 50%;
		transform: translateX(-50%);
	}
	.home .cont07 .box .item:nth-of-type(2) h3::before {
		content: "FLOW 02";
	}
	.home .cont07 .box .item:nth-of-type(3) h3::before {
		content: "FLOW 03";
	}
	.home .cont07 .box .item p {
		margin-top: 18px;
		font-size: 13px;
	}
	.home .cont07 .button {
		position: relative;
		width: 360px;
		height: 50px;
		text-align: center;
		margin: 50px auto 0;
	}
	.home .cont07 .button a {
		display: block;
		background: var(--main-color);
		line-height: 50px;
		border-radius: 25px;
		font-weight: bold;
		color: #fff;
		font-size: 16px;
	}
	.home .cont07 .button a::before {
		content: "";
		position: absolute;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
		background: #fff;
		right: 20px;
		top: 0;
		bottom: 0;
		margin: auto 0;
		width: 6px;
		height: 10px;
	}


	/* cont08 */
	.home .cont08 {
		padding: 80px 20px 80px;
	}
	.home .cont08 h2 {
		text-align: center;
		font-size: 24px;
		font-weight: bold;
		line-height: 1;
		color: #1d1d1d;
	}
	.home .cont08 h2 span {
		position: relative;
		font-size: 14px;
		font-weight: bold;
		display: block;
		line-height: 1;
		color: #444;
		padding-bottom: 15px;
	}
	.home .cont08 h2 span::before {
		position: absolute;
		content: "";
		background: url(img/home_text06.png) center center / cover no-repeat;
		width: 152px;
		height: 58px;
		top: 50%;
		left: 50%;
		transform: translate(-50%, calc(-50% - 9px)) scale(0.7);
		z-index: -1;
	}
	.home .cont08 p {
		text-align: center;
		font-weight: bold;
		margin-top: 27px;
	}
	.home .cont08 .qa_box {
		margin-top: 50px;
		border-bottom: 1px dashed var(--main-color);
	}
	.home .cont08 .qa_box .qes {
		position: relative;
		width: 100%;
		padding: 30px 25px 30px 45px;
		border-top: 1px dashed var(--main-color);
		box-sizing: border-box;
		font-size: 16px;
		font-weight: bold;
		cursor: pointer;
		line-height: 1.3;
	}
	.home .cont08 .qa_box .qes::before {
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		content: "Q";
		display: flex;
		justify-content: center;
		align-items: center;
		color: var(--main-color);
		border: 2px solid var(--main-color);
		font-size: 18px;
		font-weight: bold;
		width: 36px;
		height: 36px;
		box-sizing: border-box;
		border-radius: 50%;
	}
	.home .cont08 .qa_box .qes::after {
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
		content: "";
		background: url(img/faq_icon01.png) no-repeat;
		width: 20px;
		height: 20px;
		transition: .3s;
	}
	.home .cont08 .qa_box .qes.open::after {
		transform: translateY(-50%) rotate(180deg);
		background: url(img/faq_icon02.png) no-repeat;
	}
	.home .cont08 .qa_box .ans {
		display: none;
		padding: 0 25px 0 45px;
		box-sizing: border-box;
		font-size: 14px;
		line-height: 2;
		margin-bottom: 30px;
		position: relative;
	}
	.home .cont08 .button {
		position: relative;
		width: 360px;
		height: 50px;
		text-align: center;
		margin: 50px auto 0;
	}
	.home .cont08 .button a {
		display: block;
		background: var(--main-color);
		line-height: 50px;
		border-radius: 25px;
		font-weight: bold;
		color: #fff;
		font-size: 16px;
	}
	.home .cont08 .button a::before {
		content: "";
		position: absolute;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
		background: #fff;
		right: 20px;
		top: 0;
		bottom: 0;
		margin: auto 0;
		width: 6px;
		height: 10px;
	}


	/* cont09 */
	.home .cont09 {
		background: url(img/common_bg_01.png);
		padding: 80px 0;
	}
	.home .cont09 .inner {
		padding: 0 15px;
		position: relative;
		display: flex;
		flex-direction: column;
		height: 857px;
	}
	.home .cont09 .inner::before {
		position: absolute;
		content: "";
		background: url("img/common_illust02.png") center center / cover no-repeat;
		width: 130px;
		height: 287px;
		bottom: -203px;
		right: -3px;
		transform: scale(0.6);
		z-index: 11;
	}
	.home .cont09 figure {
		width: 420px;
		position: absolute;
		left: 0;
		border: 2px solid var(--main-color);
		border-left: none;
		border-radius: 0 10px 10px 0;
		overflow: hidden;
		box-sizing: border-box;
		order: 1;
	}
	.home .cont09 figure img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: -50px 50%;
		transform: scale(1.4);
	}
	.home .cont09 .text_box {
		padding: 50px 30px;
		box-sizing: border-box;
		background: #fff;
		border: 2px solid var(--main-color);
		border-right: none;
		border-radius: 10px 0 0 10px;
		z-index: 2;
		order: 2;
		position: absolute;
		right: 0;
		width: 420px;
		bottom: 0;
	}
	.home .cont09 h2 {
		font-size: 14px;
		font-weight: bold;
		line-height: 1.3;
	}
	.home .cont09 .text_box .text01 {
		position: relative;
		font-size: 24px;
		font-weight: bold;
		color: var(--main-color);
		line-height: 34px;
		padding-left: 22px;
		margin-top: 12px;
	}
	.home .cont09 .text_box .text01::before {
		content: "";
		position: absolute;
		background: var(--main-color);
		width: 6px;
		height: 34px;
		border-radius: 3px;
		left: 0;
		top: 0;
	}
	.home .cont09 .text_box .info_box {
		margin-top: 24px;
	}
	.home .cont09 .text_box .tel, .home .cont09 .text_box .mail, .home .cont09 .text_box .time, .home .cont09 .text_box .place {
		position: relative;
		font-weight: bold;
		padding-left: 32px;
	}
	.home .cont09 .text_box .place {
		line-height: 1.2;
		margin-top: 7px;
	}
	.home .cont09 .text_box .tel::before {
		position: absolute;
		content: "";
		background: url("img/contact_tel_img01.png") center center / cover no-repeat;
		width: 18px;
		height: 18px;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
	}
	.home .cont09 .text_box .mail::before {
		position: absolute;
		content: "";
		background: url("img/contact_mail_img01.png") center center / cover no-repeat;
		width: 18px;
		height: 14px;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
	}
	.home .cont09 .text_box .time::before {
		position: absolute;
		content: "";
		background: url("img/contact_time_img01.png") center center / cover no-repeat;
		width: 19px;
		height: 19px;
		top: 50%;
		left: -0.5px;
		transform: translateY(-50%);
	}
	.home .cont09 .text_box .place::before {
		position: absolute;
		content: "";
		background: url("img/contact_place_img01.png") center center / cover no-repeat;
		width: 16px;
		height: 20px;
		top: 50%;
		left: 2px;
		transform: translateY(-50%);
	}
	.home .cont09 .text_box .text02 {
		margin-top: 20px;
	}
	.home .cont09 .button {
		position: relative;
		height: 50px;
		text-align: center;
		margin-top: 28px;
	}
	.home .cont09 .button a {
		display: block;
		background: var(--main-color);
		line-height: 50px;
		border-radius: 25px;
		font-weight: bold;
		color: #fff;
		font-size: 16px;
	}
	.home .cont09 .button a::before {
		content: "";
		position: absolute;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
		background: #fff;
		right: 20px;
		top: 0;
		bottom: 0;
		margin: auto 0;
		width: 6px;
		height: 10px;
	}


	/* cont10 */
	.home .cont10 {
		padding: 80px 0;
		z-index: 10;
		position: relative;
	}
	.home .cont10 h2 {
		text-align: center;
		font-size: 24px;
		font-weight: bold;
		line-height: 1;
		color: #1d1d1d;
	}
	.home .cont10 h2 span {
		position: relative;
		font-size: 14px;
		font-weight: bold;
		display: block;
		line-height: 1;
		color: #444;
		padding-bottom: 30px;
	}
	.home .cont10 h2 span::before {
		position: absolute;
		content: "";
		background: url(img/home_text07.png) center center / cover no-repeat;
		width: 209px;
		height: 58px;
		top: 50%;
		left: 50%;
		transform: translate(-50%, calc(-50% - 15px)) scale(0.7);
		z-index: -1;
	}
	.home .cont10 .text01 {
		margin-top: 30px;
		text-align: center;
		font-size: 16px;
	}
	.home .cont10 .blog_box {
		margin-top: 49px;
	}
	.home .cont10 .blog_box .swiper-slide {
		display: block;
		width: 330px;
	}
	.home .cont10 .blog_box .swiper-slide a {
		display: flex;
		justify-content: flex-start;
		flex-wrap: wrap;
		gap: 0 5px;
		box-sizing: border-box;
	}
	.home .cont10 .blog_box .swiper-slide a h3 {
		width: 100%;
		font-size: 18px;
		font-weight: bold;
		color: var(--main-color);
		flex-shrink: 1;
		overflow: hidden;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 1;
		margin-top: 20px;
		order: 2;
		line-height: 1;
	}
	.home .cont10 .blog_box .swiper-slide a .date {
		width: 100%;
		font-size: 16px;
		font-weight: bold;
		line-height: 1;
		margin: 12px 0 0;
		order: 3;
	}
	.home .cont10 .blog_box .swiper-slide a .cate {
		height: 28px;
		background: var(--main-color);
		padding: 0 23px;
		border-radius: 2px;
		box-sizing: border-box;
		color: #fff;
		font-weight: bold;
		line-height: 28px;
		text-align: center;
		margin: 12px 0 0;
		order: 4;
		font-size: 12px;
	}
	.home .cont10 .blog_box .swiper-slide a .text02 {
		line-height: 2;
		flex-shrink: 1;
		overflow: hidden;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
		margin-top: 10px;
		order: 5;
	}
	.home .cont10 .blog_box .swiper-slide a figure {
		box-sizing: border-box;
		width: 330px;
		height: 220px;
		border: 1px solid var(--main-color);
		overflow: hidden;
		order: 1;
	}
	.home .cont10 .blog_box .swiper-slide a figure img {
		width: 330px;
		height: 220px;
	}
	.home .cont10 .swiper-button-prev {
		top: -177px;
		left: calc(50% + 120px);
		width: 80px;
		height: 80px;
		background: url(img/common_arrow.png) 28px center no-repeat var(--main-color);
		border-radius: 40px;
		transform: scale(0.7);
	}
	.home .cont10 .swiper-button-next {
		top: -177px;
		right: calc(50% + 120px);
		width: 80px;
		height: 80px;
		background: url("img/common_arrow.png") 28px center no-repeat var(--main-color);
		border-radius: 40px;
		transform: rotate(-180deg) scale(0.7);
	}
	.home .cont10 .button {
		position: relative;
		width: 360px;
		height: 50px;
		text-align: center;
		margin: 90px auto 0;
	}
	.home .cont10 .button a {
		display: block;
		background: var(--main-color);
		border: 1px solid var(--main-color);
		line-height: 50px;
		box-sizing: border-box;
		border-radius: 25px;
		font-weight: bold;
		color: #fff;
	}
	.home .cont10 .button a::before {
		content: "";
		position: absolute;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
		background: #fff;
		right: 20px;
		top: 0;
		bottom: 0;
		margin: auto 0;
		width: 6px;
		height: 10px;
	}

	
/* common
------------------------------------------------------------------------*/
	/* key */
	.common .key {
		height: 140px;
		background: url(img/common_bg_01.png);
		background-size: 73px auto;
	}
	.common .key .text01 {
		position: relative;
		text-align: center;
		font-size: 24px;
		font-weight: bold;
		line-height: 1;
		top: 57px;
		color: #1d1d1d;
	}
	.common .key .text01::after {
		content: "";
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%) scale(0.5);
		z-index: -1;
		background-size: cover;
		background-repeat: no-repeat;
		background-position: center;
	}


/* service ------------------------------------------------------------------------*/

	/* key */
	.service .key .text01::after{
		background: url("img/service_key_text01.png");
		width: 431px;
		height: 74px;
	}


	/* cont01 */
	.service .cont01 .inner{
		padding: 335px 20px 45px;
	}
	.service .cont01 .inner h2{
		padding-left: 18px;
		font-size: 20px;
		font-weight: bold;
		line-height: 1.75;
		position: relative;
	}
	.service .cont01 .inner h2::before{
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		content: "";
		background: var(--main-color);
		width: 4px;
		height: calc(100% - 16px);
		border-radius: 2px;
	}
	.service .cont01 .inner .text01{
		font-size: 16px;
		margin-top: 22px;
	}
	.service .cont01 .inner .text01 + .text01{
		margin-top: 16px;
	}
	.service .cont01 .inner .bana_box{
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		width: 400px;
		height: 120px;
		background: #00b1a8 url("img/service_deco01.png")left 15px top 12px no-repeat;
		background-size: 86px;
		border-radius: 5px;
		padding: 0 0 0 100px;
		box-sizing: border-box;
		color: #fff;
		text-align: center;
		margin-top: 30px;
	}
	.service .cont01 .inner .bana_box .text02{
		font-size: 14px;
		font-weight: bold;
		line-height: 1;
	}
	.service .cont01 .inner .bana_box .text02 span{
		display: inline-block;
		font-size: 32px;
		font-weight: bold;
	}
	.service .cont01 .inner .bana_box .text02 span span{
		color: #ffff00;
		font-weight: bold;
		margin-top: 6px;
	}
	.service .cont01 .inner .bana_box .button {
		position: relative;
		width: 240px;
		height: 32px;
		text-align: center;
		margin: 8px auto 0;
	}
	.service .cont01 .inner .bana_box .button a {
		display: block;
		background: var(--main-color);
		border: 1px solid var(--main-color);
		line-height: 32px;
		box-sizing: border-box;
		border-radius: 16px;
		font-weight: bold;
		color: #fff;
		transition: background-color 0.4s ease, color 0.4s ease, border 0.4s ease;
	}
	.service .cont01 .inner .bana_box .button a::before {
		content: "";
		position: absolute;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
		background: #fff;
		right: 17px;
		top: 0;
		bottom: 0;
		margin: auto 0;
		width: 6px;
		height: 10px;
		transition: background-color 0.4s ease;
	}
	.service .cont01 figure{
		position: absolute;
		top: 30px;
		left: -2px;
		width: 420px;
		border-radius: 0 10px 10px 0;
		border: 2px solid var(--main-color);
		border-left: none;
		overflow: hidden;
		box-sizing: border-box;
	}


	/* cont02 */
	.service .cont02{
		background: #f2f0e7;
	}
	.service .cont02 .inner{
		padding: 80px 20px;
	}
	.service .cont02 .inner h2{
		font-size: 24px;
		font-weight: bold;
		line-height: 1;
		text-align: center;
	}
	.service .cont02 .inner h2 span{
		position: relative;
		font-size: 14px;
		font-weight: bold;
		display: block;
		line-height: 1;
		padding-bottom: 25px;
	}
	.service .cont02 .inner h2 span::after{
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, calc(-50% - 12px));
		content: "";
		background: url("img/service_text01.png") center center / cover no-repeat;
		background-size: 259px;
		width: 259px;
		height: 44px;
		z-index: -1;
	}
	.service .cont02 .inner .readtext{
		text-align: center;
		font-size: 16px;
		margin-top: 35px;
	}
	.service .cont02 .inner .service_wrap{
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 30px 0;
		margin-top: 40px;
	}
	.service .cont02 .inner .service_wrap .cont{
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 380px;
		background: #fff;
		border: 1px solid var(--main-color);
		border-radius: 5px;
		padding: 0 0 18px;
		box-sizing: border-box;
		overflow: hidden;
	}
	.service .cont02 .inner .service_wrap .cont h3{
		width: 100%;
		height: 39px;
		background: var(--main-color);
		color: #fff;
		font-size: 20px;
		font-weight: bold;
		line-height: 38px;
		text-align: center;
	}
	.service .cont02 .inner .service_wrap .cont figure{
		margin-top: 20px;
	}
	.service .cont02 .inner .service_wrap .cont .text01{
		padding: 0 19px;
		font-size: 16px;
		line-height: 1.875;
		margin-top: 12px;
	}
	.service .cont02 .inner .under_box{
		background: #fff;
		padding: 30px;
		border-radius: 5px;
		box-sizing: border-box;
		margin-top: 60px;
	}
	.service .cont02 .inner .under_box .h_box{
		padding-left: 18px;
		position: relative;
	}
	.service .cont02 .inner .under_box .h_box::before{
		position: absolute;
		top: 0;
		left: 0;
		content: "";
		background: var(--main-color);
		width: 4px;
		height: calc(100% - 8px);
		border-radius: 2px;
	}
	.service .cont02 .inner .under_box .h_box h4{
		font-size: 20px;
		font-weight: bold;
		line-height: 1;
	}
	.service .cont02 .inner .under_box .h_box h4 span{
		display: block;
		font-size: 14px;
		margin-bottom: 10px;
	}
	.service .cont02 .inner .under_box .h_box .text02{
		font-size: 16px;
		margin-top: 22px;
	}

	.service .cont02 .inner .under_box table{
		grid-template-columns: 90px repeat(3, 240px);
		width: 100%;
		overflow-x: auto;
		position: relative;
		display: grid;
		gap: 3px;
		margin-top: 35px;
	}
	.service .cont02 .inner .under_box tbody,
	.service .cont02 .inner .under_box tr{
		display: contents;
	}
	.service .cont02 .inner .under_box th,
	.service .cont02 .inner .under_box td{
		box-sizing: border-box;
		line-height: 1.5;
		align-self: stretch;
		padding: 14px 0;
	}
	.service .cont02 .inner .under_box tr:nth-child(1) th{
		display: grid;
		align-items: center;
		justify-content: center;
		height: 70px;
		color: #fff;
		font-size: 18px;
		font-weight: bold;
		text-align: center;
		padding: 0;
	}
	.service .cont02 .inner .under_box tr:nth-child(1) th:nth-child(1){
		background: #fff;
	}
	.service .cont02 .inner .under_box tr:nth-child(1) th:nth-child(2){
		background: #0166b3;
		border-radius: 10px 0 0 0;
	}
	.service .cont02 .inner .under_box tr:nth-child(1) th:nth-child(3){
		background: #00b1a8;
	}
	.service .cont02 .inner .under_box tr:nth-child(1) th:nth-child(4){
		background: #253a83;
		border-radius: 0 10px 0 0;
	}
	.service .cont02 .inner .under_box tr:nth-child(1) th span{
		font-weight: bold;
		position: relative;
	}
	.service .cont02 .inner .under_box tr:nth-child(1) th:nth-child(2) span{
		padding-left: 84px;
	}
	.service .cont02 .inner .under_box tr:nth-child(1) th:nth-child(2) span::before{
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		content: "";
		background: url("img/common_icon01.png")no-repeat;
		width: 68px;
		height: 41px;
		filter: brightness(0) invert(1);
	}
	.service .cont02 .inner .under_box tr:nth-child(1) th:nth-child(3) span{
		padding-left: 79px;
	}
	.service .cont02 .inner .under_box tr:nth-child(1) th:nth-child(3) span::before{
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		content: "";
		background: url("img/common_icon02.png")no-repeat;
		width: 68px;
		height: 46px;
		filter: brightness(0) invert(1);
	}
	.service .cont02 .inner .under_box tr:nth-child(1) th:nth-child(4) span{
		padding-left: 78px;
	}
	.service .cont02 .inner .under_box tr:nth-child(1) th:nth-child(4) span::before{
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		content: "";
		background: url("img/common_icon07.png")no-repeat;
		width: 68px;
		height: 46px;
	}
	.service .cont02 .inner .under_box tr:not(:nth-child(1)) th,
	.service .cont02 .inner .under_box tr:not(:nth-child(1)) td{
		display: grid;
		align-content: center;
		min-height: 55px;
	}
	.service .cont02 .inner .under_box th:first-of-type{
		position: sticky;
		left: 0;
		z-index: 2;
	}
	.service .cont02 .inner .under_box tr:not(:nth-child(1)) th:nth-child(1){
		background: #f2f0e7;
		padding-left: 12px;
		font-size: 16px;
		font-weight: bold;
		text-align: left;
	}
	.service .cont02 .inner .under_box tr:not(:nth-child(1)) td:nth-of-type(1){
		background: #e2f1ff;
	}
	.service .cont02 .inner .under_box tr:not(:nth-child(1)) td:nth-of-type(2){
		background: #ccefee;
	}
	.service .cont02 .inner .under_box tr:not(:nth-child(1)) td:nth-of-type(3){
		background: #dfe2ed;
	}
	.service .cont02 .inner .under_box tr:nth-of-type(n+3) td{
		text-align: center;
	}
	.service .cont02 .inner .under_box td li{
		text-indent: -1em;
		padding-left: 1em;
		margin: 0 8px 4px;
	}
	.service .cont02 .inner .under_box td li::before{
		content: "・";
	}
	.service .cont02 .inner .under_box td li:last-child{
		margin-bottom: 0;
	}
	.service .cont02 .inner .under_box tr:nth-child(2) th:nth-child(1){
		border-radius: 10px 0 0 0;
	}
	.service .cont02 .inner .under_box tr:nth-child(6) th:nth-child(1){
		border-radius: 0 0 0 10px;
	}
	.service .cont02 .inner .under_box tr:nth-child(6) td:nth-child(4){
		border-radius: 0 0 10px 0;
	}

	.service .cont02 .inner .under_text_box{
		background: url("img/common_text02.png")left top no-repeat;
		background-size: 100px;
		padding: 10px 0 0;
		margin-top: 65px;
		position: relative;
	}
	.service .cont02 .inner .under_text_box::after{
		position: absolute;
		top: 80px;
		right: -10px;
		content: "";
		background: url("img/common_illust02.png")no-repeat;
		background-size: 97px;
		width: 97px;
		height: 215px;
	}
	.service .cont02 .inner .under_text_box .text03{
		padding-left: 120px;
		font-size: 24px;
		font-weight: bold;
		line-height: 1.35;
	}
	.service .cont02 .inner .under_text_box .text03 span{
		display: block;
		color: #0166b3;
		font-weight: bold;
		margin-bottom: 4px;
	}
	.service .cont02 .inner .under_text_box .text04{
		font-size: 16px;
		margin: 36px 14px 0;
	}
	.service .cont02 .inner .button{
		width: 400px;
		height: 50px;
		text-align: center;
		margin: 35px auto 0;
	}
	.service .cont02 .inner .button a{
		position: relative;
		display: block;
		background: var(--main-color);
		border: 1px solid var(--main-color);
		box-sizing: border-box;
		color: #fff;
		font-size: 16px;
		line-height: 50px;
		font-weight: bold;
		border-radius: 25px;
		transition: background-color 0.4s ease, color 0.4s ease;
	}
	.service .cont02 .inner .button a span{
		color: #f4ec41;
		font-weight: bold;
	}
	.service .cont02 .inner .button a::before{
		content: "";
		position: absolute;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
		background: #fff;
		right: 18px;
		top: 0;
		bottom: 0;
		margin: auto 0;
		width: 6px;
		height: 10px;
		transition: background-color 0.4s ease, color 0.4s ease;
	}


	/* cont03 */
	.service .cont03{
		background: #e2f1ff;
	}
	.service .cont03 .inner{
		padding: 80px 20px;
	}
	.service .cont03 .inner h2{
		font-size: 24px;
		font-weight: bold;
		line-height: 1;
		text-align: center;
	}
	.service .cont03 .inner h2 span{
		position: relative;
		font-size: 14px;
		font-weight: bold;
		display: block;
		line-height: 1;
		padding-bottom: 25px;
	}
	.service .cont03 .inner h2 span::after{
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, calc(-50% - 12px));
		content: "";
		background: url("img/service_text03.png") center center / cover no-repeat;
		background-size: 220px;
		width: 220px;
		height: 45px;
		z-index: -1;
	}
	.service .cont03 .inner .readtext{
		text-align: center;
		font-size: 16px;
		margin-top: 35px;
	}
	.service .cont03 .inner .notice_cont01{
		background: #fff;
		border-radius: 10px;
		padding: 55px 30px 30px;
		margin-top: 40px;
		position: relative;
	}
	.service .cont03 .inner .notice_cont01::before{
		position: absolute;
		top: -30px;
		left: 30px;
		content: "";
		background: url("img/common_illust02.png")no-repeat;
		background-size: 97px;
		width: 97px;
		height: 215px;
	}
	.service .cont03 .inner .notice_cont01 .list_box{
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 45px 0;
	}
	.service .cont03 .inner .notice_cont01 .list_box h3{
		padding: 0 0 0 80px;
		font-size: 20px;
		font-weight: bold;
		line-height: 1.615;
		position: relative;
	}
	.service .cont03 .inner .notice_cont01 .list_box h3::before{
		position: absolute;
		top: -60px;
		left: 200px;
		content: "";
		background: url("img/service_text04.png")left top no-repeat;
		background-size: 148px;
		width: 148px;
		height: 49px;
		transform: rotate(10deg);
	}
	.service .cont03 .inner .notice_cont01 .list_box ul li{
		background: url("img/service_checkicon.png")left top 7px no-repeat;
		background-size: 17px;
		padding-left: 24px;
		color: var(--main-color);
		font-size: 16px;
		font-weight: bold;
		line-height: 2;
	}
	.service .cont03 .inner .notice_cont01 .text_box{
		padding: 33px 0 25px;
		border-top: 1px dashed var(--main-color);
		border-bottom: 1px dashed var(--main-color);
		text-align: center;
		margin: 29px auto 0;
		position: relative;
	}
	.service .cont03 .inner .notice_cont01 .text_box::before{
		position: absolute;
		top: -29px;
		right: -20px;
		content: "";
		background: url("img/common_illust01.png")no-repeat;
		background-size: 100px;
		width: 100px;
		height: 71px;
	}
	.service .cont03 .inner .notice_cont01 .text_box .text01{
		font-size: 18px;
		font-weight: bold;
		line-height: 1.5;
	}
	.service .cont03 .inner .notice_cont01 .text_box .text01 .span01{
		display: block;
		font-size: 24px;
		font-weight: bold;
		margin-bottom: 2px;
	}
	.service .cont03 .inner .notice_cont01 .text_box .text01 .span01::before{
		content: "［";
		padding: 0 10px;
	}
	.service .cont03 .inner .notice_cont01 .text_box .text01 .span01::after{
		content: "］";
		padding: 0 10px;
	}
	.service .cont03 .inner .notice_cont01 .text_box .text01 .span02{
		color: var(--main-color);
		font-weight: bold;
	}
	.service .cont03 .inner .notice_cont01 .text_box .text02{
		line-height: 2.25;
		margin-top: 19px;
	}

	.service .cont03 .inner .notice_cont02{
		background: #fff;
		padding: 30px 30px 45px;
		border-radius: 10px;
		box-sizing: border-box;
		margin-top: 45px;
	}
	.service .cont03 .inner .notice_cont02 .h_box{
		padding-left: 18px;
		position: relative;
	}
	.service .cont03 .inner .notice_cont02 .h_box::before{
		position: absolute;
		top: 0;
		left: 0;
		content: "";
		background: var(--main-color);
		width: 4px;
		height: calc(100% - 8px);
		border-radius: 2px;
	}
	.service .cont03 .inner .notice_cont02 .h_box h3{
		display: inline-block;
		font-size: 20px;
		font-weight: bold;
		line-height: 1.45;
		position: relative;
	}
	.service .cont03 .inner .notice_cont02 .h_box h3::after{
		position: absolute;
		top: 26px;
		left: calc(100% - 50px);
		content: "";
		background: url("img/service_deco02.png")no-repeat;
		width: 58px;
		height: 67px;
	}
	.service .cont03 .inner .notice_cont02 .h_box h3 span{
		display: block;
		font-size: 14px;
		margin-bottom: 15px;
	}
	.service .cont03 .inner .notice_cont02 .h_box .text03{
		font-size: 16px;
		margin-top: 18px;
	}
	.service .cont03 .inner .notice_cont02 .h_box .text03 span{
		color: var(--main-color);
		font-weight: bold;
	}

	.service .cont03 .inner .notice_cont02 table{
		display: grid;
		grid-template-columns: 84px 130px 130px;
		gap: 3px;
		width: 340px;
		margin: 40px auto 0;
	}
	.service .cont03 .inner .notice_cont02 tbody,
	.service .cont03 .inner .notice_cont02 tr{
		display: contents;
	}
	.service .cont03 .inner .notice_cont02 th,
	.service .cont03 .inner .notice_cont02 td{
		box-sizing: border-box;
		line-height: 1.5;
		align-self: stretch;
		padding: 14px 0;
	}
	.service .cont03 .inner .notice_cont02 tr:nth-child(1) th{
		display: grid;
		align-items: center;
		justify-content: center;
		height: 60px;
		color: #fff;
		font-size: 18px;
		font-weight: bold;
		text-align: center;
		line-height: 1.345;
		padding: 0;
	}
	.service .cont03 .inner .notice_cont02 tr:nth-child(1) th:nth-child(1){
		background: transparent;
	}
	.service .cont03 .inner .notice_cont02 tr:nth-child(1) th:nth-child(2){
		background: var(--main-color);
	}
	.service .cont03 .inner .notice_cont02 tr:nth-child(1) th:nth-child(3){
		background: #0166b3;
	}
	.service .cont03 .inner .notice_cont02 tr:nth-child(1) th span{
		font-weight: bold;
		position: relative;
	}
	.service .cont03 .inner .notice_cont02 tr:nth-child(1) th:nth-child(2) span{
		padding-left: 45px;
	}
	.service .cont03 .inner .notice_cont02 tr:nth-child(1) th:nth-child(2) span::before{
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		content: "";
		background: url("img/common_icon06.png")no-repeat;
		width: 30px;
		height: 30px;
	}
	.service .cont03 .inner .notice_cont02 tr:nth-child(1) th:nth-child(3) span{
		padding-left: 45px;
	}
	.service .cont03 .inner .notice_cont02 tr:nth-child(1) th:nth-child(3) span::before{
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		content: "";
		background: url("img/common_icon02.png")no-repeat;
		background-size: 40px;
		width: 40px;
		height: 28px;
		filter: brightness(0) invert(1);
	}
	.service .cont03 .inner .notice_cont02 tr:not(:nth-child(1)) th,
	.service .cont03 .inner .notice_cont02 tr:not(:nth-child(1)) td{
		display: grid;
		align-content: center;
		min-height: 85px;
	}
	.service .cont03 .inner .notice_cont02 tr:not(:nth-child(1)) th:nth-child(1){
		background: #f2f0e7;
		padding-left: 8px;
		font-size: 16px;
		font-weight: bold;
		text-align: left;
	}
	.service .cont03 .inner .notice_cont02 tr:not(:nth-child(1)) td:nth-of-type(1){
		background: #dfe2ed;
	}
	.service .cont03 .inner .notice_cont02 tr:not(:nth-child(1)) td:nth-of-type(2){
		background: #e2f1ff;
	}
	.service .cont03 .inner .notice_cont02 tr:nth-of-type(n+2) td{
		text-align: center;
	}
	.service .cont03 .inner .notice_cont02 .button{
		width: 340px;
		height: 50px;
		text-align: center;
		margin: 40px auto 0;
	}
	.service .cont03 .inner .notice_cont02 .button a{
		position: relative;
		display: flex;
		flex-direction: column;
		justify-content: center;
		background: var(--main-color);
		border: 1px solid var(--main-color);
		box-sizing: border-box;
		color: #fff;
		font-size: 16px;
		line-height: 1.25;
		font-weight: bold;
		border-radius: 25px;
		transition: background-color 0.4s ease, color 0.4s ease;
	}
	.service .cont03 .inner .notice_cont02 .button a span{
		color: #f4ec41;
		font-weight: bold;
	}
	.service .cont03 .inner .notice_cont02 .button a::before{
		content: "";
		position: absolute;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
		background: #fff;
		right: 18px;
		top: 0;
		bottom: 0;
		margin: auto 0;
		width: 6px;
		height: 10px;
		transition: background-color 0.4s ease, color 0.4s ease;
	}
	.service .cont03 .inner .under_box{
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 40px 0;
		margin-top: 60px;
	}
	.service .cont03 .inner .under_box h4{
		width: 100%;
		font-size: 24px;
		font-weight: bold;
		line-height: 1.35;
		text-align: center;
	}
	.service .cont03 .inner .under_box h4 span{
		display: inline-block;
		color: var(--main-color);
		font-size: 16px;
		font-weight: bold;
		line-height: 1;
		margin-bottom: 25px;
		position: relative;
	}
	.service .cont03 .inner .under_box h4 span::before{
		position: absolute;
		top: 50%;
		right: calc(100% + 10px);
		transform: translateY(-50%) rotate(-25deg);
		content: "";
		background: var(--main-color);
		width: 2px;
		height: 1em;
	}
	.service .cont03 .inner .under_box h4 span::after{
		position: absolute;
		top: 50%;
		left: calc(100% + 10px);
		transform: translateY(-50%) rotate(25deg);
		content: "";
		background: var(--main-color);
		width: 2px;
		height: 1em;
	}
	.service .cont03 .inner .under_box .text04{
		font-size: 16px;
		width: 390px;
	}


	/* cont04 */
	.service .cont04 .inner{
		padding: 80px 20px 0;
	}
	.service .cont04 h2{
		text-align: center;
		font-size: 24px;
		font-weight: bold;
		line-height: 1;
		color: #082a4a;
	}
	.service .cont04 h2 span{
		position: relative;
		font-size: 14px;
		font-weight: bold;
		display: block;
		line-height: 1;
		padding-bottom: 15px;
	}
	.service .cont04 h2 span::before{
		position: absolute;
		content: "";
		background: url("img/service_text05.png") center center / cover no-repeat;
		background-size: 154px;
		width: 154px;
		height: 42px;
		top: 50%;
		left: 50%;
		transform: translate(-50%, calc(-50% - 10px));
		z-index: -1;
	}
	.service .cont04 .box{
		position: relative;
		display: flex;
		justify-content: end;
		margin-top: 50px;
	}
	.service .cont04 .box .text_box{
		padding-top: 295px;
	}
	.service .cont04 .box .text_box .text01{
		font-size: 16px;
	}
	.service .cont04 .box figure{
		position: absolute;
		top: 0;
		left: 0;
		border-radius: 10px;
		overflow: hidden;
	}
	.service .cont04 .area{
		height: 328px;
		background: #fff;
		border: 2px solid var(--main-color);
		border-radius: 5px;
		box-sizing: border-box;
		text-align: center;
		padding-bottom: 33px;
		margin-top: 30px;
	}
	.service .cont04 .area h3{
		color: #fff;
		background: var(--main-color);
		border-radius: 3px 3px 0 0;
		line-height: 40px;
		font-weight: bold;
	}
	.service .cont04 .area .area_list{
		text-align-last: left;
		height: 255px;
		overflow-y: auto;
		margin: 25px 5px 0 15px;
		padding-right: 20px;
	}
	.service .cont04 .area .area_list ul{
		display: flex;
		flex-wrap: wrap;
		gap: 25px;
		padding: 25px 0;
	}
	.service .cont04 .area .area_list li{
		font-size: 14px;
		line-height: 1;
	}
	.service .cont04 .area .area_list > li{
		font-size: 18px;
		font-weight: bold;
		color: var(--main-color);
		margin-bottom: 30px;
	}




/* price ------------------------------------------------------------------------*/

	/* key */
	.price .key .text01::after{
		background: url("img/price_key_text01.png");
		width: 297px;
		height: 74px;
	}

	/* cont01 */
	.price .cont01 {
		padding: 80px 0;
	}
	.price .cont01 h2 {
		text-align: center;
		font-size: 24px;
		font-weight: bold;
		line-height: 1.6;
		color: #1d1d1d;
		margin-bottom: 35px;
	}
	.price .cont01 h2 span {
		position: relative;
		font-size: 14px;
		font-weight: bold;
		display: block;
		line-height: 1;
		padding-bottom: 15px;
	}
	.price .cont01 h2 span::after {
		position: absolute;
		content: "";
		background: url(img/common_text01.png) center center / cover no-repeat;
		background-size: 177px;
		width: 177px;
		height: 44px;
		top: 50%;
		left: 50%;
		transform: translate(-50%, calc(-50% - 10px));
		z-index: -1;
	}
	.price .cont01 .readtext {
		text-align: center;
		font-size: 16px;
	}
	.price .cont01 .price_wrap{
		display: flex;
		flex-direction: column;
		gap: 25px 0;
		margin-top: 45px;
	}
	.price .cont01 .price_wrap .cont{
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 400px;
		background: #d9e8f4;
		padding-bottom: 16px;
		border-radius: 10px;
		overflow: hidden;
	}
	.price .cont01 .price_wrap .cont:nth-of-type(2){
		background: #d9f3f2;
	}
	.price .cont01 .price_wrap .cont h3{
		width: 100%;
		height: 50px;
		background: #0166b3;
		color: #fff;
		font-size: 24px;
		text-align: center;
		line-height: 50px;
	}
	.price .cont01 .price_wrap .cont:nth-of-type(2) h3{
		background: #00b1a8;
	}
	.price .cont01 .price_wrap .cont h3 span{
		display: inline-block;
		height: 50px;
		background: url("img/common_icon04.png")left center no-repeat;
		background-size: 60px;
		padding-left: 77px;
		font-weight: bold;
	}
	.price .cont01 .price_wrap .cont:nth-of-type(2) h3 span{
		background: url("img/common_icon05.png")left top 6px no-repeat;
		background-size: 60px;
		padding-left: 76px;
	}
	.price .cont01 .price_wrap .cont dl{
		display: flex;
		justify-content: center;
		gap: 0 15px;
		margin-top: 35px;
	}
	.price .cont01 .price_wrap .cont dl .price_item{
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 175px;
		height: 75px;
		background: #fff;
		border-radius: 3px;
		padding: 25px 0 0;
		box-sizing: border-box;
		filter: drop-shadow(0 0 15px rgba(0,0,0,0.1));
		position: relative;
	}
	.price .cont01 .price_wrap .cont dl .price_item dt{
		position: absolute;
		top: -10px;
		left: 50%;
		transform: translateX(-50%);
		color: #0166b3;
		font-size: 20px;
		font-weight: bold;
		line-height: 1;
		white-space: nowrap;
	}
	.price .cont01 .price_wrap .cont:nth-of-type(2) dl .price_item dt{
		color: #00b1a8;
	}
	.price .cont01 .price_wrap .cont dl .price_item dt::before{
		content: "［";
		padding-right: 8px;
	}
	.price .cont01 .price_wrap .cont dl .price_item dt::after{
		content: "］";
		padding-left: 8px;
	}
	.price .cont01 .price_wrap .cont dl .price_item dd{
		font-size: 20px;
		font-weight: bold;
		line-height: 1;
	}
	.price .cont01 .price_wrap .cont dl .price_item dd span{
		font-size: 32px;
		font-weight: bold;
	}
	.price .cont01 .price_wrap .cont .text01{
		padding: 0 22px 0 26px;
		line-height: 1.875;
		margin-top: 16px;
	}
	.price .cont01 .tax_text{
		font-size: 14px;
		text-align: right;
		line-height: 1;
		margin-top: 15px;
	}
	.price .cont01 .tax_text::before{
		content: "※";
	}
	.price .cont01 .under_text_box{
		background: url("img/common_text02.png")left top no-repeat;
		background-size: 100px;
		padding: 10px 0 0;
		margin-top: 65px;
		position: relative;
	}
	.price .cont01 .under_text_box::after{
		position: absolute;
		top: 80px;
		right: -10px;
		content: "";
		background: url("img/common_illust02.png")no-repeat;
		background-size: 97px;
		width: 97px;
		height: 215px;
	}
	.price .cont01 .under_text_box .text03{
		padding-left: 120px;
		font-size: 24px;
		font-weight: bold;
		line-height: 1.35;
	}
	.price .cont01 .under_text_box .text03 span{
		display: block;
		color: #0166b3;
		font-weight: bold;
		margin-bottom: 4px;
	}
	.price .cont01 .under_text_box .text04{
		font-size: 16px;
		margin: 36px 14px 0;
	}
	.price .cont01 .button{
		width: 400px;
		height: 50px;
		text-align: center;
		margin: 30px auto 0;
	}
	.price .cont01 .button a{
		position: relative;
		display: block;
		background: var(--main-color);
		border: 1px solid var(--main-color);
		box-sizing: border-box;
		color: #fff;
		font-size: 16px;
		line-height: 50px;
		font-weight: bold;
		border-radius: 25px;
		transition: background-color 0.4s ease, color 0.4s ease;
	}
	.price .cont01 .button a span{
		color: #f4ec41;
		font-weight: bold;
	}
	.price .cont01 .button a::before{
		content: "";
		position: absolute;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
		background: #fff;
		right: 18px;
		top: 0;
		bottom: 0;
		margin: auto 0;
		width: 6px;
		height: 10px;
		transition: background-color 0.4s ease, color 0.4s ease;
	}
	.price .cont01 .under_box{
		background: #f2f0e7;
		border-radius: 10px;
		padding: 40px 30px 30px;
		box-sizing: border-box;
		margin-top: 70px;
		position: relative;
	}
	.price .cont01 .under_box h4{
		position: absolute;
		top: -11px;
		left: 50%;
		transform: translateX(-50%);
		color: var(--main-color);
		font-size: 22px;
		font-weight: bold;
		line-height: 1;
	}
	.price .cont01 .under_box h4::before{
		position: absolute;
		top: 50%;
		right: calc(100% + 13px);
		transform: translateY(-50%);
		content: "";
		background: var(--main-color);
		width: 80px;
		height: 2px;
		border-radius: 1px;
	}
	.price .cont01 .under_box h4::after{
		position: absolute;
		top: 50%;
		left: calc(100% + 13px);
		transform: translateY(-50%);
		content: "";
		background: var(--main-color);
		width: 80px;
		height: 2px;
		border-radius: 1px;
	}
	.price .cont01 .under_box .text02{
		font-size: 16px;
		text-align: center;
	}
	.price .cont01 .under_box .option_wrap{
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 20px 0;
		margin-top: 30px;
	}
	.price .cont01 .under_box .option_wrap .option_cont{
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 340px;
		background: #fff;
		border-radius: 10px;
		padding: 0 0 23px;
		box-sizing: border-box;
		overflow: hidden;
	}
	.price .cont01 .under_box .option_wrap .option_cont h5{
		width: 100%;
		height: 40px;
		background: var(--main-color);
		color: #fff;
		font-size: 18px;
		font-weight: bold;
		line-height: 40px;
		letter-spacing: 0.07em;
		text-align: center;
	}
	.price .cont01 .under_box .option_wrap .option_cont .price{
		width: 320px;
		height: 80px;
		background: url("img/common_img01.png")left center no-repeat;
		padding-left: 163px;
		box-sizing: border-box;
		font-size: 24px;
		font-weight: bold;
		line-height: 80px;
		margin: 15px 0 0 30px;
	}
	.price .cont01 .under_box .option_wrap .option_cont:nth-of-type(2) .price{
		background: url("img/common_img02.png")left center no-repeat;
		padding-left: 160px;
	}
	.price .cont01 .under_box .option_wrap .option_cont:nth-of-type(3) .price{
		background: url("img/common_img03.png")left center no-repeat;
		padding-left: 150px;
	}
	.price .cont01 .under_box .option_wrap .option_cont .price span{
		font-size: 36px;
		font-weight: bold;
	}
	.price .cont01 .under_box .option_wrap .option_cont .text03{
		padding: 0 26px 0 30px;
		font-size: 14px;
		line-height: 1.857;
		margin-top: 11px;
	}


	/* harf_wrap */
	.price .harf_wrap{
		display: flex;
		flex-direction: column;
	}
	.price .harf_wrap .harf_cont{
		width: 100%;
	}
	.price .harf_wrap .harf_cont.left{
		display: flex;
		justify-content: flex-end;
		background: url("img/harfcont_bg01.png")right top / cover no-repeat;
	}
	.price .harf_wrap .harf_cont.right{
		display: flex;
		background: url("img/harfcont_bg02.png")left top / cover no-repeat;
	}
	.price .harf_wrap .harf_cont .inner{
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 100%;
		padding: 45px 0 40px;
		margin: 0;
		position: relative;
	}
	.price .harf_wrap .harf_cont.left .inner::before{
		position: absolute;
		top: 38px;
		left: 0;
		content: "";
		background: url("img/common_illust03.png")no-repeat;
		width: 136px;
		height: 100px;
		z-index: -1;
		transform-origin: left top;
		transform: scale(0.6);
	}
	.price .harf_wrap .harf_cont.left .inner::after{
		position: absolute;
		top: 30px;
		right: 0;
		content: "";
		background: url("img/common_illust04.png")no-repeat;
		width: 145px;
		height: 112px;
		z-index: -1;
		transform-origin: right top;
		transform: scale(0.6);
	}
	.price .harf_wrap .harf_cont .inner h2{
		color: #fff;
		font-size: 24px;
		font-weight: bold;
		line-height: 1;
	}
	.price .harf_wrap .harf_cont .inner h2::before{
		content: "［";
		padding-right: 8px;
	}
	.price .harf_wrap .harf_cont .inner h2::after{
		content: "］";
		padding-left: 8px;
	}
	.price .harf_wrap .harf_cont .inner ul{
		display: flex;
		justify-content: center;
		gap: 10px;
		margin-top: 28px;
	}
	.price .harf_wrap .harf_cont .inner ul li{
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		background: #f4ec41;
		padding: 10px 16px 9px;
		border-radius: 3px;
		box-sizing: border-box;
		font-size: 22px;
		font-weight: bold;
		line-height: 1;
		text-align: center;
	}
	.price .harf_wrap .harf_cont.right .inner ul li{
	}
	.price .harf_wrap .harf_cont .inner ul li span{
		display: block;
		font-size: 14px;
		margin-top: 8px;
	}
	.price .harf_wrap .harf_cont .inner .text01{
		color: #f4ec41;
		font-size: 20px;
		font-weight: bold;
		line-height: 1.7;
		text-align: center;
		margin-top: 29px;
	}
	.price .harf_wrap .harf_cont .inner .button{
		width: 380px;
		height: 40px;
		text-align: center;
		margin: 26px auto 0;
	}
	.price .harf_wrap .harf_cont .inner .button a{
		position: relative;
		display: block;
		background: #f78d37;
		box-sizing: border-box;
		color: #fff;
		font-size: 16px;
		line-height: 40px;
		font-weight: bold;
		border-radius: 20px;
		transition: background-color 0.4s ease, color 0.4s ease;
	}
	.price .harf_wrap .harf_cont .inner .button a::before{
		content: "";
		position: absolute;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
		background: #fff;
		right: 18px;
		top: 0;
		bottom: 0;
		margin: auto 0;
		width: 6px;
		height: 10px;
		transition: background-color 0.4s ease, color 0.4s ease;
	}
	.price .harf_wrap .harf_cont .inner .text02{
		padding: 0 20px;
		color: #fff;
		margin-top: 20px;
	}


	/* cont02 */
	.price .cont02{
		background: #e2f1ff;
		padding: 80px 0;
	}
	.price .cont02 h2{
		text-align: center;
		font-size: 24px;
		font-weight: bold;
		line-height: 1.114;
		color: #1d1d1d;
		margin-bottom: 35px;
	}
	.price .cont02 h2 span{
		position: relative;
		font-size: 14px;
		font-weight: bold;
		display: block;
		line-height: 1;
		color: #444;
		padding-bottom: 25px;
	}
	.price .cont02 h2 span::after{
		position: absolute;
		content: "";
		background: url(img/price_text01.png) center center / cover no-repeat;
		background-size: 241px;
		width: 241px;
		height: 44px;
		top: 50%;
		left: 50%;
		transform: translate(-50%, calc(-50% - 12px));
		z-index: -1;
	}
	.price .cont02 .readtext{
		text-align: center;
		font-size: 16px;
	}
	.price .cont02 .line_up_box{
		background: #fff;
		border: 2px solid #0166b3;
		border-radius: 10px;
		overflow: hidden;
		margin-top: 60px;
	}
	.price .cont02 .line_up_box:first-of-type{
		margin-top: 45px;
	}
	.price .cont02 .line_up_box h3{
		width: 100%;
		height: 49px;
		background: #0166b3;
		color: #fff;
		font-size: 24px;
		font-weight: bold;
		line-height: 48px;
		text-align: center;
	}
	.price .cont02 .line_up_box h3 .priceoff{
		display: inline-block;
		color: #f4ec41;
		font-size: 22px;
		font-weight: bold;
		margin: 0 20px;
		position: relative;
	}
	.price .cont02 .line_up_box h3 .priceoff::before{
		position: absolute;
		top: 50%;
		right: calc(100% + 12px);
		transform: translateY(-50%) rotate(-25deg);
		content: "";
		background: #f4ec41;
		width: 2px;
		height: 1em;
	}
	.price .cont02 .line_up_box h3 .priceoff::after{
		position: absolute;
		top: 50%;
		left: calc(100% + 7px);
		transform: translateY(-50%) rotate(25deg);
		content: "";
		background: #f4ec41;
		width: 2px;
		height: 1em;
	}
	.price .cont02 .line_up_box h3 .priceoff span{
		font-size: 16px;
		font-weight: bold;
	}
	.price .cont02 .line_up_box .line_up_wrap .line_up_item{
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 22px 0;
		width: 340px;
		padding: 36px 0;
		border-bottom: 1px solid #ccc;
		margin: 0 auto;
	}
	.price .cont02 .line_up_box .line_up_wrap .line_up_item .info_box{
		display: flex;
		flex-direction: column;
		width: 340px;
		order: 2;
	}
	.price .cont02 .line_up_box .line_up_wrap .line_up_item .info_box h4{
		font-size: 22px;
		font-weight: bold;
		line-height: 1;
		margin-top: 12px;
		order: 2;
	}
	.price .cont02 .line_up_box .line_up_wrap .line_up_item .info_box .manufacturer{
		color: #999;
		font-size: 14px;
		font-weight: bold;
		line-height: 1;
		order: 1;
	}
	.price .cont02 .line_up_box .line_up_wrap .line_up_item .info_box .text01{
		line-height: 1.875;
		margin-top: 15px;
		order: 3;
	}
	.price .cont02 .line_up_box .line_up_wrap .line_up_item .info_box .price_wrap{
		display: flex;
		flex-direction: column;
		gap: 10px 0;
		margin-top: 16px;
		order: 4;
	}
	.price .cont02 .line_up_box .line_up_wrap .line_up_item .info_box .price_wrap .price_item{
		display: flex;
	}
	.price .cont02 .line_up_box .line_up_wrap .line_up_item .info_box .price_wrap .price_item dt{
		width: 150px;
		height: 45px;
		border-radius: 5px 0 0 5px;
		color: #fff;
		font-size: 18px;
		font-weight: bold;
		line-height: 45px;
		text-align: center;
	}
	.price .cont02 .line_up_box .line_up_wrap .line_up_item .info_box .price_wrap .price_item.installation dt{
		background: #253a83;
	}
	.price .cont02 .line_up_box .line_up_wrap .line_up_item .info_box .price_wrap .price_item.exchange dt{
		background: #00b1a8;
	}
	.price .cont02 .line_up_box .line_up_wrap .line_up_item .info_box .price_wrap .price_item dd{
		width: 190px;
		height: 45px;
		border-radius: 0 5px 5px 0;
		color: #000;
		font-size: 20px;
		font-weight: bold;
		line-height: 45px;
		text-align: center;
	}
	.price .cont02 .line_up_box .line_up_wrap .line_up_item .info_box .price_wrap .price_item dd span{
		font-size: 26px;
		font-weight: bold;
	}
	.price .cont02 .line_up_box .line_up_wrap .line_up_item .info_box .price_wrap .price_item dd.installation_price{
		background: #e2f1ff;
	}
	.price .cont02 .line_up_box .line_up_wrap .line_up_item .info_box .price_wrap .price_item dd.exchange_price{
		background: #ccefee;
	}

	.price .cont02 .line_up_box .line_up_wrap .line_up_item figure{
		display: block;
		width: 340px;
		height: 210px;
		border: 1px solid #ddd;
		border-radius: 5px;
		box-sizing: border-box;
		overflow: hidden;
		object-fit: cover;
		order: 1;
	}
.price .cont02 .bland_box{
	margin-top: 80px;
}
.price .cont02 .bland_box h2{
	text-align: center;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.5;
	color: #1d1d1d;
	margin-bottom: 30px;
	position: relative;
}
.price .cont02 .bland_box h2::before{
	position: absolute;
	content: "";
	background: url(img/common_deco13.png) center / cover no-repeat;
	width: 39px;
	height: 35px;
	left: 56px;
	top: -27px;
}
.price .cont02 .bland_box .logo_box{
	margin-bottom: 30px;
}
.price .cont02 .bland_box .logo_box ul{
	display: flex;
	justify-content: center;
	gap: 30px;
	align-items: center;
	flex-wrap: wrap;
}
.price .cont02 .bland_box .text01{
	font-size: 16px;
    text-align: center;
    margin: 0 auto 30px;
}
.price .cont02 .bland_box .ttl01{
    font-size: 24px;
    font-weight: bold;
    width: 400px;
    text-align: center;
    background: #0166b3;
    color: #fff;
    border-radius: 10px;
    margin: 0 auto 30px;
	position: relative;
}
.price .cont02 .bland_box .ttl01:before{
	position: absolute;
	content: "";
	background: url(img/common_deco02.png) center / cover no-repeat;
	width: 61px;
	height: 71px;
	right: 6px;
	top: 7px;
}
.price .cont02 .bland_box .text02{
    font-size: 16px;
    text-align: center;
}
.price .cont02 .bland_box .text02 + .text02 {
	margin-top: 15px;
}
.price .cont02 .bland_box .text02 .em02{
	font-weight: bold;
	font-size: 16px;
}
.price .cont02 .bland_box .text02 span{
	font-size: 14px;
}
.price .cont02 .bland_box .text02 .em{
	font-size: 24px;
    font-weight: bold;
    color: #f78d37;
    padding-inline: 5px;
	line-height: 1;
	vertical-align: middle;
}


/* works-archive
------------------------------------------------------------------------*/

.works-archive .key .text01::after {
  background: url(img/works_key_text.png) center no-repeat;
  width: 404px;
  height: 74px;
}
	/* cont01 */
	.works-archive .cont01 {
		margin-top: 25px;
	}

	.works-archive .cont01 .btn {
		line-height: 68px;
		margin: 15px auto 0;
		width: 390px;
	}

	.works-archive .cont01 .btn:first-of-type {
		margin-top: 80px;
	}

	.works-archive .cont01 .btn a {
		position: relative;
		display: block;
		color: #fff;
		font-weight: bold;
		font-size: 18px;
		text-align: center;
		border-radius: 10px;
    background: #0091a2;
	}

	.works-archive .cont01 .btn a::before {
		content: "";
		position: absolute;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
		background: #fff;
		right: 18px;
		top: 0;
		bottom: 0;
		margin: auto 0;
		width: 6px;
		height: 10px;
		transition: background-color 0.4s ease;
	}

	/* .works-archive .cont01 .btn:nth-of-type(1) a {
		background: #065aaa;
	}

	.works-archive .cont01 .btn:nth-of-type(2) a {
		background: #0091a2;
	}

	.works-archive .cont01 .btn:nth-of-type(3) a {
		background: #348de2;
	} */

	.works-archive .contact_box {
		margin-top: 100px;
	}

	.works-archive .cont02 .box {
		margin: 80px auto 0;
		padding: 0 20px;
	}

	.works-archive .cont02 .item {
		width: 100%;
		position: relative;
		margin-top: 50px;
	}

	.works-archive .cont02 .box .item:first-of-type {
		margin-top: 60px;
	}

	.works-archive .cont02 h3 {
		position: relative;
		font-size: 20px;
		font-weight: bold;
		color: var(--main-color);
		line-height: 26px;
		height: 26px;
		padding-left: 10px;
		margin-top: 15px;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.works-archive .cont02 h3:before {
		content: "";
		position: absolute;
		background: var(--main-color);
		width: 3px;
		height: 26px;
		left: 0;
		top: 0;
		border-radius: 3px;
	}

	.works-archive .cont02 .category_01,
	.works-archive .cont02 .category_02 {
		display: inline-block;
		line-height: 1;
		font-size: 14px;
		color: #fff;
		font-weight: bold;
		margin-top: 12px;
	}

	.works-archive .cont02 .category_01 {
		padding: 8px 14px 7px;
		background: var(--main-color);
	}

	.works-archive .cont02 .category_02 {
		padding: 8px 22px 7px;
		background: #7aad96;
	}

	.works-archive .cont02 .text02 {
		font-size: 16px;
		margin-top: 8px;
		overflow: hidden;
		text-overflow: ellipsis;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}

	.works-archive .cont02 .box .item a {
		display: flex;
		flex-direction: column-reverse;
	}

	.works-archive .cont02 .box .img_box {
		display: flex;
	}

	.works-archive .cont02 .box .img_box figure {
		position: relative;
	}

	.works-archive .cont02 .box .img_box .before::before {
		position: absolute;
		content: "";
		background: url(img/common_deco11.png) center center / cover no-repeat;
		width: 16px;
		height: 30px;
		top: 50%;
		right: -8px;
		transform: translateY(-50%);
		z-index: 1;
	}

	.works-archive .cont02 .box .img_box figure img {
		width: 205px;
	}

	.works-archive .cont02 .box .img_box .before img {
		border: 1px solid var(--main-color);
	}
	.works-archive .cont02 .box .img_box .before::after {
		position: absolute;
		content: "";
		background: url("img/before_text.png") no-repeat;
		width: 99px;
		height: 28px;
		top: 0;
		left: 0;
	}

	.works-archive .cont02 .box .img_box .after img {
		border: 1px solid var(--main-color);
	}
	.works-archive .cont02 .box .img_box .after::after {
		position: absolute;
		content: "";
		background: url("img/after_text.png") no-repeat;
		width: 99px;
		height: 28px;
		top: 0;
		left: 0;
	}

	.works-archive .cont02 .p_button_box {
		display: flex;
		justify-content: center;
		gap: 0 15px;
		margin: 50px auto 0;
	}

	.works-archive .cont02 .p_button a {
		display: block;
		width: 40px;
		height: 40px;
		background: #fff;
		border-radius: 50%;
		color: var(--main-color);
		font-size: 16px;
		line-height: 36px;
		text-align: center;
		border: 2px solid var(--main-color);
		box-sizing: border-box;
	}

	.works-archive .cont02 .p_button.current {
		display: block;
		width: 40px;
		height: 40px;
		background: var(--main-color);
		border-radius: 50%;
		color: #fff;
		font-size: 16px;
		line-height: 36px;
		text-align: center;
		border: 2px solid var(--main-color);
		box-sizing: border-box;
		pointer-events: none;
	}



/* works-single ------------------------------------------------------------------------*/
/* key */
.works-single .key .text01::after {
  background: url(img/works_key_text.png) center no-repeat;
  width: 404px;
  height: 74px;
}

/* cont01 */

.works-single .cont01 {
  padding: 0 15px;
}

.works-single .cont01 h2 {
  position: relative;
  font-weight: bold;
  font-size: 22px;
  line-height: 1.2;
  background: var(--main-light-color);
  color: var(--main-color);
  padding: 18px 0 18px 39px;
  border-radius: 5px;
  margin-top: 80px;
}

.works-single .cont01 h2::before {
  position: absolute;
  content: "";
  width: 6px;
  height: 53px;
  background: var(--main-color);
  border-radius: 3px;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
}

.works-single .cont01 .cate01,
.works-single .cont01 .cate02 {
  display: inline-block;
  line-height: 28px;
  color: #fff;
  font-weight: bold;
  margin-top: 30px;
  font-size: 14px;
}

.works-single .cont01 .cate01 {
  padding: 0 30px;
  background: var(--main-color);
}

.works-single .cont01 .cate02 {
  padding: 0 25px;
  background: #7aad96;
  margin-left: 10px;
}

.works-single .cont01 dl {
  display: flex;
  flex-wrap: wrap;
  width: 407px;
  margin-top: 18px;
}

.works-single .cont01 dl dt {
  position: relative;
  font-weight: bold;
  color: var(--main-color);
  padding-left: 33px;
  width: 162px;
  box-sizing: border-box;
}

.works-single .cont01 dl dt::before {
  position: absolute;
  content: "";
  top: 50%;
  transform: translateY(-50%);
}


.works-single .cont01 dl dt.day::before {
  background: url("img/works-single_deco01.png") no-repeat;
  left: 2px;
  width: 17px;
  height: 18px;
}

.works-single .cont01 dl dt.work::before {
  background: url("img/works-single_deco02.png") no-repeat;
  left: 2px;
  width: 16px;
  height: 20px;
}

.works-single .cont01 dl dt.time::before {
  background: url("img/works-single_deco03.png") no-repeat;
  left: 0;
  width: 20px;
  height: 19px;
}

.works-single .cont01 dl dt.type::before {
  background: url("img/works-single_deco04.png") no-repeat;
  left: 1px;
  width: 19px;
  height: 12px;
}

.works-single .cont01 dl dt.maker::before {
  background: url("img/works-single_deco05.png") no-repeat;
  left: 1px;
  width: 19px;
  height: 20px;
}


.works-single .cont01 dl dd {
  position: relative;
  font-weight: bold;
  padding-left: 15px;
  width: 240px;
  box-sizing: border-box;
}

.works-single .cont01 dl dd::before {
  position: absolute;
  content: ":";
  font-weight: bold;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.works-single .cont01 .text01 {
  margin-top: 25px;
}

.works-single .cont01 .img_box {
  display: flex;
  margin-top: 35px;
}

  /* 施工実績詳細：写真サイズ調整（SP） */
  .works-single .cont01 .works-photo-box {
    width: 100%;
    max-width: 100%;
    gap: 8px;
    align-items: flex-start;
  }
  .works-single .cont01 .works-photo-box figure {
    flex: 1 1 0;
    min-width: 0;
    max-width: calc(50% - 4px);
  }
  .works-single .cont01 .works-photo-box figure img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 300px;
    object-fit: contain;
  }
  .works-single .cont01 .works-photo-box.is-single,
  .works-single .cont01 .works-photo-box:has(.photo-placeholder) {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    justify-content: center;
  }
  .works-single .cont01 .works-photo-box.is-single figure,
  .works-single .cont01 .works-photo-box .photo-placeholder {
    flex: 1 1 100%;
    width: 100%;
    max-width: 100%;
  }
  .works-single .cont01 .works-photo-box.is-single figure::before,
  .works-single .cont01 .works-photo-box.is-single figure::after {
    display: none;
  }


.works-single .cont01 .img_box .before {
  position: relative;
}

.works-single .cont01 .img_box .after {
  position: relative;
}

.works-single .cont01 .img_box .before::after {
  position: absolute;
  content: "";
  background: url("img/before_text.png") no-repeat;
  width: 99px;
  height: 28px;
  top: 0;
  left: 0;
  transform: scale(0.8);
  transform-origin: left top;
}

.works-single .cont01 .img_box .after::after {
  position: absolute;
  content: "";
  background: url("img/after_text.png") no-repeat;
  width: 99px;
  height: 28px;
  top: 0;
  left: 0;
  transform: scale(0.8);
  transform-origin: left top;
}

.works-single .cont01 .img_box .before::before {
  position: absolute;
  content: "";
  background: url(img/common_deco11.png) center center / cover no-repeat;
  width: 16px;
  height: 30px;
  top: 50%;
  right: -8px;
  transform: translateY(-50%);
  transform-origin: center;
  z-index: 1;
}

.works-single .cont01 .h3_box h3 {
  position: relative;
  font-size: 24px;
  font-weight: bold;
  color: #082a4a;
  padding-left: 23px;
  line-height: 36px;
  margin: 36px 0 15px 0;
}

.works-single .cont01 .h3_box h3::before {
  position: absolute;
  content: "";
  width: 6px;
  height: 36px;
  background: var(--main-color);
  border-radius: 3px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.works-single .cont01 .h3_box h3::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  background: #082a4a;
  bottom: -15px;
  left: 0;
}

.works-single .cont01 .h3_box .text02 {
  margin-top: 32px;
}

.works-single .cont01 .h3_box .h4_box h4 {
  position: relative;
  font-size: 22px;
  font-weight: bold;
  color: #082a4a;
  padding-left: 15px;
  line-height: 25px;
  margin: 38px 0 15px 0;
}

.works-single .cont01 .h3_box .h4_box h4::before {
  position: absolute;
  content: "";
  width: 5px;
  height: 25px;
  background: var(--main-color);
  border-radius: 3px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.works-single .cont01 .h3_box .h4_box .h5_box h5 {
  position: relative;
  font-size: 18px;
  font-weight: bold;
  color: #082a4a;
  padding-left: 21px;
  line-height: 1;
  margin: 40px 0 20px 0;
}

.works-single .cont01 .h3_box .h4_box .h5_box h5::before {
  position: absolute;
  content: "";
  width: 16px;
  height: 16px;
  background: var(--main-color);
  border-radius: 3px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}


/* cot02 */
.works-single .cont02 {
  margin-top: 50px;
  padding: 0 20px;
}

.works-single .cont02 .prev_box,
.works-single .cont02 .next_box {
  position: relative;
  border-radius: 8px;
  border: 2px solid var(--main-color);
  box-sizing: border-box;
  background: var(--main-light-color);
}

.works-single .cont02 .next_box {
  border: 2px solid #51aa81;
  margin-top: 25px;
}

.works-single .cont02 .prev_box a,
.works-single .cont02 .next_box a {
  position: relative;
}

.works-single .cont02 .prev_box a::before {
  position: absolute;
  content: "";
  width: 35px;
  height: 35px;
  background: url("img/prev_next_btn01.png") no-repeat;
  left: -17.5px;
  top: 160px;
}

.works-single .cont02 .next_box a::before {
  position: absolute;
  content: "";
  width: 35px;
  height: 35px;
  background: url("img/prev_next_btn01.png") no-repeat;
  transform: rotate(-180deg);
  right: -17.5px;
  top: 160px;
}

.works-single .cont02 h3 {
  line-height: 42px;
  background: var(--main-color);
  color: #fff;
  font-weight: bold;
  font-size: 20px;
  text-align: center;
  border-radius: 5px 5px 0 0;
}

.works-single .cont02 .next_box h3 {
  background: #51aa81;
}

.works-single .cont02 .ttl01 {
  line-height: 1.2;
  font-size: 20px;
  color: #082a4a;
  font-weight: bold;
  margin: 18px 15px 0;
}

.works-single .cont02 .cate01,
.works-single .cont02 .cate02 {
  color: #fff;
  font-weight: bold;
  font-size: 13px;
  line-height: 22px;
  display: inline-block;
  border-radius: 3px;
  margin-top: 10px;
}

.works-single .cont02 .cate01 {
  padding: 0 24px;
  background: var(--main-color);
  margin-left: 15px;
}

.works-single .cont02 .cate02 {
  padding: 0 22px;
  margin-left: 5px;
  background: #7aad96;
}

.works-single .cont02 .date {
  display: inline-block;
  margin-left: 3px;
  font-size: 14px;
  line-height: 22px;
  margin-top: 10px;
}

.works-single .cont02 .img_box {
  display: flex;
  justify-content: center;
  margin: 15px 15px 25px;
}

/* cont03 */
.works-single .cont03 {
  padding: 0 15px;
}

.works-single .cont03 h2 {
  position: relative;
  font-weight: bold;
  font-size: 24px;
  line-height: 1;
  background: var(--main-light-color);
  color: var(--main-color);
  padding: 18px 0 18px 39px;
  border-radius: 5px;
  margin-top: 50px;
}

.works-single .cont03 h2::before {
  position: absolute;
  content: "";
  width: 6px;
  height: 36px;
  background: var(--main-color);
  border-radius: 3px;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
}

.works-single .cont03 .cate_box {
  margin-top: 25px;
}

.works-single .cont03 .cate_box .btn {
  line-height: 68px;
  margin-top: 15px;
}

.works-single .cont03 .cate_box .btn a {
  position: relative;
  display: block;
  color: #fff;
  font-weight: bold;
  font-size: 20px;
  text-align: center;
  border-radius: 10px;
}

.works-single .cont03 .cate_box .btn a::before {
  content: "";
  position: absolute;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  background: #fff;
  right: 18px;
  top: 0;
  bottom: 0;
  margin: auto 0;
  width: 6px;
  height: 10px;
  transition: background-color 0.4s ease;
}

.works-single .cont03 .cate_box .btn:nth-of-type(1) a {
  background: var(--main-color);
}

.works-single .cont03 .cate_box .btn:nth-of-type(2) a {
  background: #0091a2;
}

.works-single .cont03 .cate_box .btn:nth-of-type(3) a {
  background: #51aa81;
}



/* 施工写真：1枚表示・画像なし表示（SP） */
.works-archive .works-photo-box.is-single figure,
.works-single .works-photo-box.is-single figure,
.works-archive .works-photo-box .photo-placeholder,
.works-single .works-photo-box .photo-placeholder {
  flex: 1 1 100%;
  width: 100%;
  max-width: 100%;
}
.works-archive .works-photo-box.is-single figure img,
.works-single .works-photo-box.is-single figure img,
.works-archive .works-photo-box .photo-placeholder img,
.works-single .works-photo-box .photo-placeholder img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}
.works-archive .works-photo-box.is-single figure::before,
.works-archive .works-photo-box.is-single figure::after,
.works-single .works-photo-box.is-single figure::before,
.works-single .works-photo-box.is-single figure::after {
  display: none;
}

/* contact
------------------------------------------------------------------------*/
	.contact .key .text01::after {
		background: url(img/contact_key_text.png) center no-repeat;
		width: 500px;
		height: 74px;
	}

/* cont01 */
	.contact .cont01 {
		width: 100%;
		padding: 0 30px;
		box-sizing: border-box;
		margin: 70px auto 0;
	}
	.contact .cont01 .tel-box {
		padding: 30px 0;
		border-top: 1px solid var(--main-color);
		/* border-bottom: 1px solid var(--main-color); */
	}
	.contact .cont01 .line-box {
		padding: 30px 0;
		border-top: 1px solid var(--main-color);
		border-bottom: 1px solid var(--main-color);
	}
	.contact .cont01 h2 {
		font-size: 16px;
	}
	.contact .cont01 .tel-box h2::before {
		content: '■';
		color: var(--main-color);
		padding-right: 5px;
	}
	.contact .cont01 .line-box h2::before {
		content: '■';
		color: #00b12b;
		padding-right: 5px;
	}
	.contact .cont01 .tel-box p {
		margin-top: 5px;
		line-height: 1.5;
	}
	.contact .cont01 .tel-box a {
		display: inline-block;
		font-size: 30px;
	}
	.contact .cont01 .line-box p {
		margin-top: 15px;
	}
	.contact .cont01 .line-box a {
		display: inline-block;
		color: #fff;
		font-size: 16px;
		line-height: 1;
		padding: 15px 30px 15px 70px;
		border-radius: 30px;
		background: url(img/contact-line_sp.png) no-repeat center left 30px #00b12b;
	}
	/* cont02 */
	.contact .cont02 {
		margin: 30px auto 70px;
		padding: 0 30px;
	}
	.contact .cont02 h2 {
		font-size: 16px;
	}
	.contact .cont02 h2::before {
		content: '■';
		color: var(--main-color);
		padding-right: 5px;
	}
	.contact .cont02 .lead {
		margin-top: 15px;
		font-size: 14px;
		line-height: 1.8;
	}
	.contact .cont02 .lead li:nth-of-type(n+2) {
		margin-top: 10px;
	}
	.contact .cont02 table {
		width: 100%;
		margin: 20px auto 0;
		font-size: 14px;
	}
	.contact .cont02 table tr {
		display: block;
		padding: 20px 0;
		border-top: 1px solid var(--main-color);
	}
	.contact .cont02 table tr:last-of-type {
		border-bottom: 1px solid var(--main-color);
	}
	.contact .cont02 table tr:first-of-type {
		border-top: none;
	}
	.contact .cont02 table th {
		display: block;
		text-align: left;
		font-size: 16px;
		font-weight: bold;
		position: relative;
		margin-bottom: 15px;
		padding-left: 30px;
	}
	.contact .cont02 table th:before {
		content: "";
		width: 2px;
		height: 20px;
		background-color: var(--main-color);
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		left: 10px;
	}
	.contact .cont02 table th span {
		color: #fff;
		background: var(--main-color);
		border-radius: 5px;
		padding: 7px 15px;
		font-size: 12px;
		line-height: 1;
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
	}
	.contact .cont02 table td {
		display: block;
	}
	.contact .cont02 table td .radio-box {
		display: flex;
		flex-direction: column;
		gap: 10px 0;
	}
	.contact .cont02 table td .radio-box span {
		display: flex;
		align-items: center;
		gap: 0 5px;
	}
	.contact .cont02 table td .radio-box span input {
		margin: 0 !important;
	}
	.contact .cont02 table td input[type="text"], .contact .cont02 table td input[type="email"], .contact .cont02 table td input[type="tel"], .contact .cont02 table td select, .contact .cont02 table td textarea {
		width: 100% !important;
		height: 60px !important;
		font-size: 16px;
		font: inherit;
		padding: 5px;
		box-sizing: border-box;
		padding: 20px;
		border: none !important;
        background: var(--main-light-color);
		border-radius: 5px !important;
	}
	.contact .cont02 table .hope-tr .hope-title {
		margin-block: 10px;
		font-size: 18px;
		margin-left: 5px;
	}
	.contact .cont02 table .hope-tr .hope-row {
		display: flex;
		align-items: center;
		gap: 10px;
		flex-wrap: wrap;
	}
	.contact .cont02 table .hope-tr .hope-row span {
		font-size: 16px;
	}
	.contact .cont02 table .hope-tr .hope-row .month, .contact .cont02 table .hope-tr .hope-row .day {
		width: 90px;
		max-width: 100px;
		flex: 0 0 100px;
	}
	.contact .cont02 table .hope-tr .hope-row .time {
		max-width: 312px;
	}
	.contact .cont02 table td textarea {
		height: 250px !important;
	}
	.contact .cont02 tr.address-contact td {
		position: relative;
		padding-top: 30px;
	}
	.contact .cont02 tr.address-contact td span {
		position: absolute;
		top: 0;
		left: 0;
		font-size: 14px;
	}
	.contact .cont02 tr.address-contact input:first-of-type {
		width: 150px !important;
		margin-right: 5px;
	}
	.contact .cont02 tr.address-contact input:nth-of-type(2) {
		width: 220px !important;
	}
	.contact .cont02 tr.address-contact input:last-of-type {
		margin-top: 10px !important;
	}
	.contact .cont02 .privacy_check {
		text-align: center;
		padding: 50px 0 20px;
		font-size: 16px;
	}
	.contact .cont02 .privacy_check a {
		text-decoration: underline;
	}
	.contact .cont02 .privacy_check div.mfp_err {
		text-align: center;
		background: url(img/mfp_error.gif) no-repeat top 7px left 30px;
	}
	.contact .cont02 .privacy_check input {
		width: 15px;
		height: 15px;
		border-radius: 3px;
		margin: 0 5px !important;
	}
	.contact .cont02 .privacy_check label {
		margin: 0 5px !important;
	}
	.contact .cont02 .button {
		text-align: center;
	}
	.contact .cont02 .button input[type="submit"] {
		font-family: var(--main-font) !important;
		width: 360px;
		border-radius: 60px;
		line-height: 1;
		padding: 20px 0;
		font-size: 16px;
		box-sizing: border-box;
		cursor: pointer;
		margin: auto;
		border: none;
		display: block;
		color: #fff;
		background: var(--main-color);
	}


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

	/* pankuzu */
	.pankuzu {
		margin-top: 10px;
		line-height: 1.3;
	}
	.pankuzu .inner {
		padding: 0 20px;
	}
	.pankuzu ul li {
		display: inline-block;
		margin-right: 10px;
		color: var(--main-color);
		font-size: 12px;
		font-weight: bold;
		max-width: 400px;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	.pankuzu ul li a {
		color: #333;
		font-size: 12px;
		font-weight: bold;
	}
	.pankuzu ul li:not(:last-of-type)::after {
		content: "-";
		margin-left: 10px;
		flex-shrink: 0;
	}
	.pankuzu ul li:last-of-type {
		margin-right: 0;
	}


	/* contact-box */
	.contact_box {
		justify-content: center;
		width: 380px;
		margin: 80px auto 50px;
		background: #fff;
		border: 3px solid var(--main-color);
		border-radius: 18px;
		padding: 60px 30px 55px;
		box-sizing: border-box;
	}
	.contact_box h2 {
		text-align: center;
		font-size: 24px;
		font-weight: bold;
		line-height: 1;
		color: #082a4a;
	}
	.contact_box h2 span {
		position: relative;
		font-size: 14px;
		font-weight: bold;
		display: block;
		line-height: 1;
		color: #444;
		padding-bottom: 30px;
	}
	.contact_box h2 span::before {
		position: absolute;
		content: "";
		background: url(img/contact_text01.png) center center / cover no-repeat;
		width: 230px;
		height: 35px;
		top: 50%;
		left: 50%;
		transform: translate(-50%, calc(-50% - 15px));
		z-index: -1;
	}
	.contact_box .text01 {
		text-align: center;
		margin-top: 30px;
	}
	.contact_box .info_box {
		margin-top: 30px;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 15px;
	}
	.contact_box .info_box .tel {
		text-align: center;
		margin-left: 10px;
	}
	.contact_box .info_box .tel {
		text-align: center;
		line-height: 1;
		width: 280px;
	}
	.contact_box .info_box .tel img {
		padding-bottom: 7px;
		width: 100%;
	}
	.contact_box .info_box .tel a {
		font-weight: bold;
	}
	.contact_box .info_box .btn-01 {
		position: relative;
		width: 260px;
		height: 50px;
		text-align: center;
	}
	.contact_box .info_box .btn-01 a {
		display: block;
		background: #06c755 url(img/header_icon02.png) left 52px top 17px no-repeat;
		padding-left: 58px;
		border: 1px solid #06c755;
		border-radius: 10px;
		font-size: 16px;
		line-height: 50px;
		color: #fff;
		font-weight: bold;
		letter-spacing: 1.5px;
	}
	.contact_box .info_box .btn-01 {
		position: relative;
		width: 280px;
		height: 50px;
		text-align: center;
	}
	.contact_box .info_box .btn-01 a {
		display: block;
		background: #06c755 url(img/header_icon02.png) left 50px top 14px no-repeat;
		padding-left: 36px;
		border: 1px solid #06c755;
		border-radius: 10px;
		font-size: 16px;
		line-height: 50px;
		color: #fff;
		font-weight: bold;
		letter-spacing: 1.5px;
	}
	.contact_box .info_box .btn-02 {
		position: relative;
		width: 280px;
		height: 50px;
		text-align: center;
	}
	.contact_box .info_box .btn-02 a {
		display: block;
		background: var(--main-color) url(img/contact_mail_img02.png) left 52px top 17px no-repeat;
		padding-left: 36px;
		border: 1px solid var(--main-color);
		border-radius: 10px;
		font-size: 16px;
		line-height: 50px;
		color: #fff;
		font-weight: bold;
		letter-spacing: 1.5px;
	}


	/*  other_sight */
	.other_sight {
		padding: 50px 0 50px;
		position: relative;
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 14px;
		z-index: 0;
		isolation: isolate;
		overflow: hidden;
	}
	.other_sight figure {
		width: 380px;
		max-width: calc(100% - 30px);
		margin: 0 auto;
		position: relative;
		z-index: 1;
	}
	.other_sight figure img {
		display: block;
		width: 100%;
		height: auto;
	}
	.other_sight::after {
		content: "";
		position: absolute;
		inset: 0;
		background: url(img/common_bg_01.png);
		z-index: -1;
	}


	/* footer */
	footer {
		background: var(--main-color);
		color: #fff;
		position: relative;
	}
	footer .inner {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 27px;
		padding: 80px 20px 70px;
		position: relative;
	}
	footer .address_box {
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
	footer .address_box figure {
		text-align: center;
	}
	footer p.tel, footer p.mail, footer p.time {
		position: relative;
		font-weight: bold;
		padding-left: 26px;
		line-height: 2;
		font-size: 16px;
		width: fit-content;
		margin: 0;
	}
	footer p.tel {
		margin-top: 50px;
	}
	footer p.tel::before {
		position: absolute;
		content: "";
		background: url(img/contact_tel02.png) center center / cover no-repeat;
		width: 16px;
		height: 16px;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
	}
	footer p.mail::before {
		position: absolute;
		content: "";
		background: url(img/contact_mail_img02.png) center center / cover no-repeat;
		width: 16px;
		height: 13px;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
	}
	footer p.time::before {
		position: absolute;
		content: "";
		background: url(img/contact_time02.png) center center / cover no-repeat;
		width: 16px;
		height: 16px;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
	}
	footer p.place {
		margin-top: 25px;
		line-height: 1.5;
		font-size: 16px;
		margin-bottom: 40px;
	}
	footer p.place:first-of-type {
		margin-top: 48px;
	}
	footer p.place .span01 {
		font-size: 12px;
		padding-left: 14px;
		margin-bottom: 0;
		line-height: 1.5;
	}
	footer p.place span {
		position: relative;
		font-weight: bold;
		display: block;
		font-size: 16px;
		line-height: 24px;
		padding-left: 14px;
		margin-bottom: 8px;
	}
	footer p.place span:nth-of-type(2):before {
		content: "";
		position: absolute;
		background: #fff;
		width: 3px;
		height: 39px;
		left: 0;
		top: -18px;
		border-radius: 2px;
	}
	footer .sitemap_box .text01, footer .area_box .text01, footer .blog_box .text01 {
		position: relative;
		width: fit-content;
		padding: 0 10px;
		font-weight: bold;
		font-size: 18px;
		line-height: 2;
	}
	footer .sitemap_box .text01::before, footer .area_box .text01::before, footer .blog_box .text01::before {
		content: "[";
		position: absolute;
		left: 0;
		top: 0;
	}
	footer .sitemap_box .text01::after, footer .area_box .text01::after, footer .blog_box .text01::after {
		content: "]";
		position: absolute;
		right: 0;
		top: 0;
	}
	footer .sitemap_box {
		/* margin-top: 10px; */
	}
	footer .sitemap_box ul {
		list-style-type: disc;
		margin-left: 18px;
		margin-top: 10px;
	}
	footer .sitemap_box li a {
		color: #fff;
		font-size: 14px;
		line-height: 2.3;
		font-weight: bold;
		position: relative;
	}
	footer .area_box {
		/* margin-top: 55px; */
		line-height: 2.5;
		font-size: 14px;
		width: 152px;
	}
	footer .area_list {
		padding-right: 25px;
		/* max-height: calc(32px * 14); */
		overflow-y: scroll;
		height: 320px;
		overflow-y: auto;
		margin-top: 13px;
		line-height: 1.9;
	}
	footer .area_list ul {
		list-style-type: disc;
		/* padding-right: 21px; */
	}
	footer .inner .area_box ul::-webkit-scrollbar {
		width: 3px;
	}
	footer .inner .area_box ul::-webkit-scrollbar-track {
		background-color: transparent;
	}
	footer .inner .area_box ul::-webkit-scrollbar-thumb {
		background-color: #959595;
	}
	footer .area_list li a {
		color: #fff;
		font-weight: bold;
		font-size: 14px;
		line-height: 2.71;
		position: relative;
	}
	footer .area_list > li {
		position: relative;
		padding-left: 18px;
		font-weight: bold;
	}
	footer .area_list > li::before {
		position: absolute;
		content: "";
		width: 8px;
		height: 8px;
		background: #fff;
		left: 0;
		top: 12px;
	}
	footer .blog_box {
		margin-top: 50px;
		line-height: 3;
		font-size: 14px;
	}
	footer .blog_box .blog_list {
		max-height: calc(32px * 18.5);
		overflow-y: scroll;
		/* padding: 0 25px 0 18px; */
		padding-right: 21px;
		margin-top: 18px;
		list-style-type: disc;
		list-style-position: inside;
	}
	footer .blog_box .blog_list li {
		width: 327px;
		text-overflow: ellipsis;
		white-space: nowrap;
		overflow-x: hidden;
	}
	footer .blog_box .blog_list li a {
		font-weight: bold;
		color: #fff;
	}
	footer ul::-webkit-scrollbar {
		width: 3px
	}
	footer ul::-webkit-scrollbar-track {
		background-color: transparent;
	}
	footer ul::-webkit-scrollbar-thumb {
		background-color: #fff;
	}
	/* footer .inner .blog_box{
  width: 360px;
}
footer .inner .blog_box ul{
  margin-top: 10px;
} */
	/* footer .blog_box .blog_list li {
  width: 192px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow-x: hidden;
}

footer .inner .blog_box ul li a{
  color: #fff;
  font-weight: bold;
  width: 350px;
  font-size: 14px;
  line-height: 2.71;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  position: relative;
} */
	footer .copy {
		margin-top: 65px;
		text-align: center;
		/* margin-bottom: 50px; */
		font-size: 12px;
		line-height: 1;
	}
	
/* common
------------------------------------------------------------------------*/
	/* pankuzu */
	.pankuzu {
		margin-top: 10px;
		line-height: 1.3;
	}
	.pankuzu .inner {
		padding: 0 20px;
	}
	.pankuzu ul li {
		display: inline-block;
		margin-right: 10px;
		color: var(--main-color);
		font-size: 12px;
		max-width: 400px;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	.pankuzu ul li a {
		color: #333;
		font-size: 12px;
	}
	.pankuzu ul li:not(:last-of-type)::after {
		content: ">";
		margin-left: 10px;
		flex-shrink: 0;
	}
	.pankuzu ul li:last-of-type {
		margin-right: 0;
	}
	/* 一覧ページのページャー */
	.archive-pager {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		gap: 20px;
		width: 380px;
		margin: 70px auto;
	}
	.archive-pager .page-numbers {
		background: var(--main-color);
		color: #fff;
		font-weight: bold;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 45px;
		height: 45px;
		border-radius: 50%;
		box-sizing: border-box;
	}
	.archive-pager .page-numbers.current {
		border: 1px solid var(--main-color);
		color: var(--main-color);
		background: #fff;
	}
	.archive-pager .page-numbers.prev, .archive-pager .page-numbers.next {
		background: var(--main-dark-color);
		color: #fff;
		font-weight: bold;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 45px;
		height: 45px;
		border-radius: 50%;
		box-sizing: border-box;
		padding-top: 3px;
	}
	.archive-pager .page-numbers.next {
		padding-left: 3px;
	}
	.single-pager {
		width: 100%;
		margin: 60px auto;
	}
	.single-pager .prev-pager-box {
		margin: 0 10px 30px;
	}
	.single-pager .next-pager-box {
		margin: 0 10px;
	}
	.single-pager a {
		display: flex;
		align-items: center;
		text-decoration: none !important;
		text-align: left;
		font-size: 14px;
		position: relative;
		justify-content: flex-end;
	}
	.single-pager .prev-pager-box a {
		flex-direction: row-reverse;
		justify-content: flex-end;
	}
	.single-pager .prev-pager-box a::before, .single-pager .next-pager-box a::before {
		content: "";
		width: 25px;
		height: 25px;
		background: var(--main-color);
		border-radius: 50%;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
	}
	.single-pager .prev-pager-box a::before {
		left: -10px;
	}
	.single-pager .next-pager-box a::before {
		right: -10px;
	}
	.single-pager .prev-pager-box a::after, .single-pager .next-pager-box a::after {
		content: "";
		width: 0;
		height: 0;
		border-top: 4px solid transparent;
		border-bottom: 4px solid transparent;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
	}
	.single-pager .prev-pager-box a::after {
		border-right: 6px solid #fff;
		left: -2px;
	}
	.single-pager .next-pager-box a::after {
		border-left: 6px solid #fff;
		right: -2px;
	}
	.single-pager .prev-pager-box a .text-box {
		padding-left: 20px;
	}
	.single-pager .next-pager-box a .text-box {
		padding-right: 20px;
	}
	.single-pager a h2 {
		line-height: 1.5;
		margin-bottom: 5px;
		font-weight: bold;
		overflow: hidden;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}
	.single-pager a .img {
		flex-shrink: 0;
		box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.05);
	}
	.single-pager a .img img {
		width: 150px;
		border-radius: 5px;
	}

/* ここから各下層ページ
------------------------------------------------------------------------*/
	/* key */
	

/* blog
--------------------------------------------------------------------------*/
	.blog .key .text01::after {
        background: url(img/blog_key_text.png) center no-repeat;
        width: 343px;
        height: 74px;
	}
   .blog .flex {
		margin: 70px auto;
	}
	.blog .flex .side .side_box01, .blog .flex .side .side_box02, .blog .flex .side .side_box03 {
		margin: 70px 0;
	}
	.blog .flex .side .cont a {
		display: flex;
		flex-direction: row-reverse;
		justify-content: flex-end;
		align-items: center;
		box-sizing: border-box;
		margin-top: 20px;
	}
	.blog .flex .side h2 {
		font-size: 20px;
		font-weight: bold;
		padding-bottom: 5px;
		border-bottom: 1px solid var(--main-color);
		position: relative;
	}
	.blog .flex .side h2::before {
		content: "";
		color: var(--main-color);
		font-size: 14px;
		position: absolute;
		top: 7px;
		left: 100px;
	}
	.blog .flex .side .side_box01 h2::before {
		content: "Popular Articles";
	}
	.blog .flex .side .side_box02 h2::before {
		content: "New Articles";
	}
	.blog .flex .side .side_box03 h2::before {
		content: "Category";
		left: 110px;
	}
	.blog .flex .side .cont .text_box {
		padding-left: 15px;
		font-size: 14px;
	}
	.blog .flex .side .cont .text_box h3 {
		overflow: hidden;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		margin-bottom: 10px;
	}
	.blog .flex .side .cont .img {
		width: 150px;
		flex-shrink: 0;
		box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.05);
		border-radius: 5px;
	}
	.blog .flex .side .cont .img img {
		max-width: 100%;
		border-radius: 5px;
	}
	.blog .flex .side .side_box01 .cont .img {
		position: relative;
	}
	.blog .flex .side .side_box01 .cont .img::before {
		content: "";
		width: 25px;
		height: 25px;
		font-size: 14px;
		font-weight: bold;
		color: #fff;
		background: var(--main-color);
		line-height: 25px;
		text-align: center;
		position: absolute;
		top: 0;
		left: 0;
	}
	.blog .flex .side .side_box01 .cont:nth-of-type(1) .img::before {
		content: "1";
		background: #f2cd44;
	}
	.blog .flex .side .side_box01 .cont:nth-of-type(2) .img::before {
		content: "2";
		background: #ababab;
	}
	.blog .flex .side .side_box01 .cont:nth-of-type(3) .img::before {
		content: "3";
		background: #bc6c25;
	}
	.blog .flex .side .side_box01 .cont:nth-of-type(4) .img::before {
		content: "4";
	}
	.blog .flex .side .side_box01 .cont:nth-of-type(5) .img::before {
		content: "5";
	}
	.blog .flex .side .side_box02 .cont .img {
		position: relative;
	}
	.blog .flex .side .side_box02 .cont .img::before {
		content: "new";
		width: 50px;
		height: 25px;
		line-height: 1;
		font-size: 14px;
		box-sizing: border-box;
		padding-top: 5px;
		color: #fff;
		background: var(--main-color);
		border-right: 1px solid #fff;
		border-bottom: 1px solid #fff;
		text-align: center;
		position: absolute;
		top: 0;
		left: 0;
	}
	.blog .flex .side .side_box03 ul {
		margin-top: 15px;
	}
	.blog .flex .side .side_box03 ul li {
		position: relative;
		padding-left: 32px;
	}
	.blog .flex .side .side_box03 ul li:nth-of-type(n + 2) {
		margin-top: 15px;
	}
	.blog .flex .side .side_box03 ul li::before {
		content: "";
		width: 25px;
		height: 25px;
		border-radius: 50%;
		background: url(img/category_icon.png) no-repeat top 7px left 7px var(--main-color);
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
	}
	/* blog_archive
------------------------------------------------------------------------*/
	.blog_archive .cont01 .cont {
		width: 330px;
		margin: 0 auto 35px;
		padding-bottom: 25px;
		border-bottom: 1px solid var(--main-color);
	}
	.blog_archive .cont01 .cont a {
		display: flex;
		flex-direction: column-reverse;
	}
	.blog_archive .cont01 .cont h2 {
		font-size: 16px;
		line-height: 1.8;
		margin-top: 15px;
		overflow: hidden;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		font-weight: bold;
	}
	.blog_archive .cont01 .cont .text_box .cate_box .cate {
		font-size: 12px;
		line-height: 1;
		color: #fff;
		background: var(--main-color);
		border-radius: 5px;
		min-width: 95px;
		padding: 7px 15px;
		text-align: center;
		display: inline-block;
		box-sizing: border-box;
		margin: 10px 0;
	}
	.blog_archive .cont01 .cont .text {
		margin-top: 5px;
		overflow: hidden;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
	}
	.blog_archive .cont01 .cont .img {
		box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.05);
		border-radius: 5px;
	}
	.blog_archive .cont01 .cont .img img {
		background: var(--main-light-color);
		border-radius: 5px;
	}
	/* ブログ詳細 css */
	.blog_single .cont01 h1 {
		padding-bottom: 10px;
		border-bottom: 1px solid var(--main-color);
		font-size: 16px;
		line-height: 1.5;
		margin: 0 0 25px;
		font-weight: bold;
		position: relative;
	}
	.blog_single .cont01 .cate_box {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		gap: 10px;
		margin: 0 0 20px;
	}
	.blog_single .cont01 .cate_box .cate {
		text-align: center;
	}
	.blog_single .cont01 .cate_box .cate a {
		color: #fff;
		text-decoration: none;
		display: block;
		line-height: 1;
		font-size: 12px;
		min-width: 100px;
		padding: 7px 15px;
		border-radius: 5px;
		background: var(--main-color);
	}
	.blog_single .cont01 .cate_box .date {
		font-size: 14px;
		line-height: 1;
		margin: 0;
		font-weight: bold;
	}


/* thanks
------------------------------------------------------------------------*/
	.thanks .cont01 {
		/* padding: 50px 15px 70px; */
		padding: 70px 15px 0;
		text-align: center;
	}
	.thanks .cont01 h2 {
		text-align: center;
		font-size: 18px;
	}
	.thanks .cont01 .text {
		margin: 30px 0 0;
		font-weight: bold;
	}
	.thanks .cont01 .button {
		margin-top: 40px;
	}
	.thanks .cont01 .button a {
		width: 280px;
		border-radius: 60px;
		line-height: 1;
		padding: 20px 0;
		font-size: 16px;
		box-sizing: border-box;
		cursor: pointer;
		margin: auto;
		border: none;
		display: block;
		color: #fff;
		background: var(--main-color);
	}


/* privacy
------------------------------------------------------------------------*/
	.privacy .key .text01::after {
		background: url(img/privacy_key_text.png) center no-repeat;
		width: 500px;
		height: 74px;
	}

   .privacy .cont01 {
		padding: 70px 30px 0;
	}
	.privacy .cont01 h2 {
		font-size: 24px;
		text-align: center;
	}
	.privacy .cont01 .text01 {
		margin-top: 20px;
		font-size: 14px;
		line-height: 2;
	}
	.privacy .cont01 .box {
		margin-top: 30px;
		padding-bottom: 25px;
		border-bottom: 1px dashed var(--main-color);
	}
	.privacy .cont01 .box:first-of-type {
		margin-top: 30px;
	}
	.privacy .cont01 .box:last-of-type {
		border-bottom: none;
	}
	.privacy .cont01 .box h3 {
		font-size: 18px;
	}
	.privacy .cont01 .box .text02 {
		line-height: 2;
		margin-top: 10px;
		font-size: 14px;
	}
	.privacy .cont01 .box .text02 a {
		text-decoration: underline;
	}
	.privacy .cont01 .box ul {
		margin-top: 15px;
	}
	.privacy .cont01 .box ul li {
		font-size: 14px;
	}
	.privacy .cont01 .box ul li:nth-of-type(n + 2) {
		margin-top: 10px;
	}
	.privacy .cont01 .box .text03 {
		line-height: 2;
		display: inline-block;
		padding: 25px;
		background: var(--main-light-color);
		margin-top: 20px;
		font-size: 14px;
		/* margin-bottom: 40px; */
	}
}
/*SPの記述ここまで*/
/* swiper
----------------------------------------------------------*/
@font-face {
	font-family: swiper-icons;
	src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
	font-weight: 400;
	font-style: normal;
}
:root {
	--swiper-theme-color: #007aff;
}
.swiper {
	margin-left: auto;
	margin-right: auto;
	position: relative;
	overflow: hidden;
	list-style: none;
	padding: 0;
	z-index: 1;
}
.swiper-vertical > .swiper-wrapper {
	flex-direction: column;
}
.swiper-wrapper {
	position: relative;
	width: 100%;
	height: 100%;
	z-index: 1;
	display: flex;
	transition-property: transform;
	box-sizing: content-box;
}
.swiper-android .swiper-slide, .swiper-wrapper {
	transform: translate3d(0px, 0, 0);
}
.swiper-pointer-events {
	touch-action: pan-y;
}
.swiper-pointer-events.swiper-vertical {
	touch-action: pan-x;
}
.swiper-slide {
	flex-shrink: 0;
	width: 100%;
	height: 100%;
	position: relative;
	transition-property: transform;
}
.swiper-slide-invisible-blank {
	visibility: hidden;
}
.swiper-autoheight, .swiper-autoheight .swiper-slide {
	height: auto;
}
.swiper-autoheight .swiper-wrapper {
	align-items: flex-start;
	transition-property: transform, height;
}
.swiper-backface-hidden .swiper-slide {
	transform: translateZ(0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
.swiper-3d, .swiper-3d.swiper-css-mode .swiper-wrapper {
	perspective: 1200px;
}
.swiper-3d .swiper-cube-shadow, .swiper-3d .swiper-slide, .swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top, .swiper-3d .swiper-wrapper {
	transform-style: preserve-3d;
}
.swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 10;
}
.swiper-3d .swiper-slide-shadow {
	background: rgba(0, 0, 0, 0.15);
}
.swiper-3d .swiper-slide-shadow-left {
	background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-right {
	background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-top {
	background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-bottom {
	background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-css-mode > .swiper-wrapper {
	overflow: auto;
	scrollbar-width: none;
	-ms-overflow-style: none;
}
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
	display: none;
}
.swiper-css-mode > .swiper-wrapper > .swiper-slide {
	scroll-snap-align: start start;
}
.swiper-horizontal.swiper-css-mode > .swiper-wrapper {
	scroll-snap-type: x mandatory;
}
.swiper-vertical.swiper-css-mode > .swiper-wrapper {
	scroll-snap-type: y mandatory;
}
.swiper-centered > .swiper-wrapper::before {
	content: "";
	flex-shrink: 0;
	order: 9999;
}
.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
	margin-inline-start: var(--swiper-centered-offset-before);
}
.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
	height: 100%;
	min-height: 1px;
	width: var(--swiper-centered-offset-after);
}
.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
	margin-block-start: var(--swiper-centered-offset-before);
}
.swiper-centered.swiper-vertical > .swiper-wrapper::before {
	width: 100%;
	min-width: 1px;
	height: var(--swiper-centered-offset-after);
}
.swiper-centered > .swiper-wrapper > .swiper-slide {
	scroll-snap-align: center center;
}
.swiper-virtual .swiper-slide {
	-webkit-backface-visibility: hidden;
	transform: translateZ(0);
}
.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	pointer-events: none;
}
.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
	height: 1px;
	width: var(--swiper-virtual-size);
}
.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
	width: 1px;
	height: var(--swiper-virtual-size);
}
:root {
	--swiper-navigation-size: 44px;
}
.swiper-button-next, .swiper-button-prev {
	position: absolute;
	top: 50%;
	width: calc(var(--swiper-navigation-size) / 44 * 27);
	height: var(--swiper-navigation-size);
	margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
	z-index: 10;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--swiper-navigation-color, var(--swiper-theme-color));
}
.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
	opacity: 0.35;
	cursor: auto;
	pointer-events: none;
}
/* .swiper-button-next:after,
.swiper-button-prev:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  text-transform: none;
  font-variant: initial;
  line-height: 1;
} */
.swiper-button-prev, .swiper-rtl .swiper-button-next {
	left: 10px;
	right: auto;
}
/* .swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
  content: "prev";
} */
.swiper-button-next, .swiper-rtl .swiper-button-prev {
	right: 10px;
	left: auto;
}
/* .swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
  content: "next";
} */
.swiper-button-lock {
	display: none;
}
.swiper-pagination {
	position: absolute;
	text-align: center;
	transition: 0.3s opacity;
	transform: translate3d(0, 0, 0);
	z-index: 10;
}
.swiper-pagination.swiper-pagination-hidden {
	opacity: 0;
}
.swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
	bottom: 10px;
	left: 0;
	width: 100%;
}
.swiper-pagination-bullets-dynamic {
	overflow: hidden;
	font-size: 0;
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
	transform: scale(0.33);
	position: relative;
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
	transform: scale(1);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
	transform: scale(1);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
	transform: scale(0.66);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
	transform: scale(0.33);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
	transform: scale(0.66);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
	transform: scale(0.33);
}
.swiper-pagination-bullet {
	width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
	height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
	display: inline-block;
	border-radius: 50%;
	background: var(--swiper-pagination-bullet-inactive-color, #000);
	opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}
button.swiper-pagination-bullet {
	border: none;
	margin: 0;
	padding: 0;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}
.swiper-pagination-clickable .swiper-pagination-bullet {
	cursor: pointer;
}
.swiper-pagination-bullet:only-child {
	display: none !important;
}
.swiper-pagination-bullet-active {
	opacity: var(--swiper-pagination-bullet-opacity, 1);
	background: var(--swiper-pagination-color, var(--swiper-theme-color));
}
.swiper-pagination-vertical.swiper-pagination-bullets, .swiper-vertical > .swiper-pagination-bullets {
	right: 10px;
	top: 50%;
	transform: translate3d(0px, -50%, 0);
}
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
	margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
	display: block;
}
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
	top: 50%;
	transform: translateY(-50%);
	width: 8px;
}
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
	display: inline-block;
	transition: 0.2s transform, 0.2s top;
}
.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
	margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}
.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
	left: 50%;
	transform: translateX(-50%);
	white-space: nowrap;
}
.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
	transition: 0.2s transform, 0.2s left;
}
.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
	transition: 0.2s transform, 0.2s right;
}
.swiper-pagination-progressbar {
	background: rgba(0, 0, 0, 0.25);
	position: absolute;
}
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
	background: var(--swiper-pagination-color, var(--swiper-theme-color));
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	transform: scale(0);
	transform-origin: left top;
}
.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
	transform-origin: right top;
}
.swiper-horizontal > .swiper-pagination-progressbar, .swiper-pagination-progressbar.swiper-pagination-horizontal, .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite, .swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
	width: 100%;
	height: 4px;
	left: 0;
	top: 0;
}
.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-vertical, .swiper-vertical > .swiper-pagination-progressbar {
	width: 4px;
	height: 100%;
	left: 0;
	top: 0;
}
.swiper-pagination-lock {
	display: none;
}
.swiper-scrollbar {
	border-radius: 10px;
	position: relative;
	-ms-touch-action: none;
	background: rgba(0, 0, 0, 0.1);
}
.swiper-horizontal > .swiper-scrollbar {
	position: absolute;
	left: 1%;
	bottom: 3px;
	z-index: 50;
	height: 5px;
	width: 98%;
}
.swiper-vertical > .swiper-scrollbar {
	position: absolute;
	right: 3px;
	top: 1%;
	z-index: 50;
	width: 5px;
	height: 98%;
}
.swiper-scrollbar-drag {
	height: 100%;
	width: 100%;
	position: relative;
	background: rgba(0, 0, 0, 0.5);
	border-radius: 10px;
	left: 0;
	top: 0;
}
.swiper-scrollbar-cursor-drag {
	cursor: move;
}
.swiper-scrollbar-lock {
	display: none;
}
.swiper-zoom-container {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}
.swiper-zoom-container > canvas, .swiper-zoom-container > img, .swiper-zoom-container > svg {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}
.swiper-slide-zoomed {
	cursor: move;
}
.swiper-lazy-preloader {
	width: 42px;
	height: 42px;
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -21px;
	margin-top: -21px;
	z-index: 10;
	transform-origin: 50%;
	box-sizing: border-box;
	border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
	border-radius: 50%;
	border-top-color: transparent;
}
.swiper-slide-visible .swiper-lazy-preloader {
	animation: swiper-preloader-spin 1s infinite linear;
}
.swiper-lazy-preloader-white {
	--swiper-preloader-color: #fff;
}
.swiper-lazy-preloader-black {
	--swiper-preloader-color: #000;
}
@keyframes swiper-preloader-spin {
	100% {
		transform: rotate(360deg);
	}
}
.swiper .swiper-notification {
	position: absolute;
	left: 0;
	top: 0;
	pointer-events: none;
	opacity: 0;
	z-index: -1000;
}
.swiper-free-mode > .swiper-wrapper {
	transition-timing-function: ease-out;
	margin: 0 auto;
}
.swiper-grid > .swiper-wrapper {
	flex-wrap: wrap;
}
.swiper-grid-column > .swiper-wrapper {
	flex-wrap: wrap;
	flex-direction: column;
}
.swiper-fade.swiper-free-mode .swiper-slide {
	transition-timing-function: ease-out;
}
.swiper-fade .swiper-slide {
	pointer-events: none;
	transition-property: opacity;
}
.swiper-fade .swiper-slide .swiper-slide {
	pointer-events: none;
}
.swiper-fade .swiper-slide-active, .swiper-fade .swiper-slide-active .swiper-slide-active {
	pointer-events: auto;
}
.swiper-cube {
	overflow: visible;
}
.swiper-cube .swiper-slide {
	pointer-events: none;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	z-index: 1;
	visibility: hidden;
	transform-origin: 0 0;
	width: 100%;
	height: 100%;
}
.swiper-cube .swiper-slide .swiper-slide {
	pointer-events: none;
}
.swiper-cube.swiper-rtl .swiper-slide {
	transform-origin: 100% 0;
}
.swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-active .swiper-slide-active {
	pointer-events: auto;
}
.swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-next, .swiper-cube .swiper-slide-next + .swiper-slide, .swiper-cube .swiper-slide-prev {
	pointer-events: auto;
	visibility: visible;
}
.swiper-cube .swiper-slide-shadow-bottom, .swiper-cube .swiper-slide-shadow-left, .swiper-cube .swiper-slide-shadow-right, .swiper-cube .swiper-slide-shadow-top {
	z-index: 0;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
.swiper-cube .swiper-cube-shadow {
	position: absolute;
	left: 0;
	bottom: 0px;
	width: 100%;
	height: 100%;
	opacity: 0.6;
	z-index: 0;
}
.swiper-cube .swiper-cube-shadow:before {
	content: "";
	background: #000;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
	filter: blur(50px);
}
.swiper-flip {
	overflow: visible;
}
.swiper-flip .swiper-slide {
	pointer-events: none;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	z-index: 1;
}
.swiper-flip .swiper-slide .swiper-slide {
	pointer-events: none;
}
.swiper-flip .swiper-slide-active, .swiper-flip .swiper-slide-active .swiper-slide-active {
	pointer-events: auto;
}
.swiper-flip .swiper-slide-shadow-bottom, .swiper-flip .swiper-slide-shadow-left, .swiper-flip .swiper-slide-shadow-right, .swiper-flip .swiper-slide-shadow-top {
	z-index: 0;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
.swiper-creative .swiper-slide {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	overflow: hidden;
	transition-property: transform, opacity, height;
}
.swiper-cards {
	overflow: visible;
}
.swiper-cards .swiper-slide {
	transform-origin: center bottom;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	overflow: hidden;
}
/*mail form pro
----------------------------------------------------------*/
div#mfp_hidden {
	overflow: hidden;
	width: 1px;
	height: 1px;
	padding: 0px;
	margin: 0px;
}
div#mfp_hidden input {
	margin: 10px;
}
div.mfp_thanks {
	padding: 30px;
}
div.mfp_thanks p {
	line-height: 1.7em;
}
div.mfp_thanks ul.mfp_caution {
	margin: 0px;
	padding: 0px;
}
div.mfp_thanks ul.mfp_caution li {
	display: block;
	color: #c00;
	margin: 0px;
	padding: 5px 0px;
}
div#mfp_thanks {
	text-align: center;
	font-size: 18px;
	padding: 20px 0px;
}
div#mfp_thanks strong {
	color: #c00;
	font-size: 24px;
}
form#mailformpro dl dt {
	float: left;
	width: 160px;
	clear: both;
	font-size: 12px;
	padding: 10px 0px;
	text-align: right;
	border-top: solid 1px #ccc;
	margin: 0px;
}
form#mailformpro dl dd {
	border-top: solid 1px #ccc;
	margin: 0px;
	padding: 10px 5px 20px 170px;
	font-size: 12px;
	line-height: 1.5em;
	text-align: left;
}
form#mailformpro dl dd ul, form#mailformpro dl dd ol {
	margin: 0px;
	padding: 0px;
}
form#mailformpro dl dd ul li, form#mailformpro dl dd ol li {
	margin: 0px;
	padding: 0px;
	list-style: none;
}
form#mailformpro .must {
	display: block;
	background-color: #c00;
	border: solid 2px #c00;
	text-shadow: 0px 1px 2px #933;
	padding: 2px 5px;
	font-size: 10px;
	color: #fff;
	float: left;
	margin: 0px 5px;
	border-radius: 4px;
	box-shadow: 0px 0px 5px #ccc;
	background-image: url(img/mfp_header.png);
	background-size: 100% 100%;
}
form#mailformpro .optionally {
	display: block;
	background-color: #06c;
	border: solid 2px #06c;
	text-shadow: 0px 1px 2px #933;
	padding: 2px 5px;
	font-size: 10px;
	color: #fff;
	float: left;
	margin: 0px 5px;
	border-radius: 4px;
	box-shadow: 0px 0px 5px #ccc;
	background-image: url(img/mfp_header.png);
	background-size: 100% 100%;
}
form#mailformpro label {
	border-radius: 3px;
	margin: 3px;
	display: inline-block;
	white-space: nowrap;
}
table#mfp_confirm_table {
	border-spacing: 0px;
	border-collapse: collapse;
	width: 100%;
	margin: 20px 0;
}
table#mfp_confirm_table tr.mfp_colored {
	background-color: #f6f7f9;
}
table#mfp_confirm_table tr.mfp_achroma {
	background-color: #fff;
}
table#mfp_confirm_table tr th, table#mfp_confirm_table tr td {
	text-align: left;
	border-top: solid 1px #ccc;
	padding: 9px;
}
table#mfp_confirm_table tr th {
	white-space: nowrap;
	width: 200px;
}
table#mfp_confirm_table tr td {
	line-height: 1.5em;
	word-break: break-all;
}
div#mfp_phase_confirm {
	clear: both;
}
div#mfp_phase_confirm h4 {
	font-size: 36px;
	padding: 10px 0px 0px 0px;
	text-align: center;
}
div#mfp_overlay {
	position: absolute;
	display: none;
	z-index: 10001;
}
div#mfp_overlay_inner {
	background-color: #fff;
	padding: 15px;
	margin: 0px auto;
	border-radius: 5px;
	box-shadow: 0px 0px 10px #000;
	width: 640px;
	max-width: 90%;
}
div#mfp_overlay_background {
	background-color: #000;
	position: absolute;
	display: none;
	z-index: 10001;
}
div#mfp_loading_screen {
	z-index: 20000;
	opacity: 0.8;
	display: none;
	background-color: #000;
	position: absolute;
}
div#mfp_loading {
	z-index: 20001;
	position: absolute;
	display: none;
	width: 40px;
	height: 40px;
	background-image: url(img/mfp_loading.gif);
}
.mfp_colored {
	background-color: #f6f7f9;
}
.mfp_achroma {
	background-color: #fff;
}
div.mfp_err {
	clear: both;
	display: none;
	text-align: left;
	margin: 5px 0px 0px 0px;
	padding: 3px 0px 5px 17px;
	color: #f00;
	font-size: 14px;
	line-height: normal;
	background-image: url(img/mfp_error.gif);
	background-repeat: no-repeat;
	background-position: 0px 7px;
}
.mfp_parent_error {
	border: solid 2px #f00;
}
form#mailformpro .problem {
	background-color: #fcc;
}
div#mfp_error {
	background-color: #fee;
	border: solid 1px #f00;
	padding: 10px;
	display: none;
}
div#mfp_error p {
	padding: 0px;
	margin: 0px;
	font-size: 14px;
	text-align: center;
}
div#mfp_error p strong {
	font-size: 18px;
	color: #f00;
}
div#mfp_warning {
	background-color: #fee;
	border: solid 1px #f00;
	padding: 10px;
	display: none;
	border-radius: 5px;
}
div#mfp_warning p {
	padding: 0px;
	margin: 0px;
	font-size: 14px;
	text-align: center;
}
div#mfp_warning p strong {
	font-size: 18px;
	color: #f00;
}
div#mfp_price {
	color: #c00;
	font-size: 36px;
	padding: 10px;
	font-weight: bolder;
}
div#mfp_price span {
	color: #666;
	font-size: 12px;
	font-weight: normal;
}
button.mfp_next, button.mfp_prev {
	font-size: 18px;
	margin: 10px;
	padding: 5px 10px;
}
button.mfp_next {
	float: right;
}
button.mfp_prev {
	float: left;
}
ul#mfp_phase_stat {
	padding: 10px;
	text-align: center;
}
ul#mfp_phase_stat li {
	display: inline-block;
	padding: 8px 15px;
	border-radius: 5px;
	margin: 0px 5px;
	list-style: none;
	font-size: 14px;
}
ul#mfp_phase_stat li.mfp_phase_arrow {
	box-shadow: none;
	color: #999;
	padding: 8px 0px;
}
ul#mfp_phase_stat li.mfp_active_phase {
	box-shadow: 0px 1px 6px #000;
	background-image: url(img/mfp_header.png);
	background-size: 100% 100%;
	background-color: #0068b7;
	border: solid 2px #0068b7;
	font-weight: bolder;
	color: #fff;
	text-shadow: 0px 1px 3px #000;
}
ul#mfp_phase_stat li.mfp_inactive_phase {
	background-image: url(img/mfp_header.png);
	background-size: 100% 100%;
	background-color: #eee;
	border: solid 2px #eee;
	color: #999;
	box-shadow: 0px 1px 6px #ccc;
}
div#mfp_shopping_cart {
	border: solid 1px #ccc;
	margin: 0px;
	padding: 0px;
}
div#mfp_shopping_cart p {
	margin: 0px;
	text-align: center;
	padding: 20px 10px;
	font-size: 12px;
	background-color: #fee;
}
table.mfp_shoppingcart {
	border-spacing: 0px;
	border-collapse: collapse;
	width: 100%;
}
table.mfp_shoppingcart thead tr td {
	background-color: #eee;
	border-bottom: solid 1px #ccc;
	text-align: center;
	font-size: 12px;
	padding: 5px;
}
table.mfp_shoppingcart tbody tr th, table.mfp_shoppingcart tbody tr td {
	font-size: 12px;
	padding: 5px;
	border-bottom: solid 1px #ccc;
}
table.mfp_shoppingcart tbody tr td select {
	display: block;
	margin: 0px auto;
	text-align: center;
}
table.mfp_shoppingcart tbody tr td select option {
	text-align: center;
}
table.mfp_shoppingcart tbody tr th span {
	display: block;
	font-weight: normal;
	font-size: 10px;
	color: #666;
	padding: 3px 0px;
}
table.mfp_shoppingcart tfoot tr td {
	padding: 5px;
	font-size: 16px;
	font-weight: bolder;
	color: #900;
}
td.msc_price {
	font-size: 12px;
	text-align: right;
}
div.mfp_buttons {
	clear: both;
	padding: 10px 0px;
	text-align: center;
}
div.mfp_buttons button#mfp_button_send {
	padding: 10px 100px;
	background-color: #3ac5ff;
	border: 1px solid #3ac5ff;
	color: #ffffff;
	cursor: pointer;
}
div.mfp_buttons button#mfp_button_cancel {
	padding: 10px 100px;
	border: 1px solid #3ac5ff;
	color: #3ac5ff;
	cursor: pointer;
	background: #fff;
}
.imagebutton {
	margin: 0px;
	padding: 0px;
	border: none;
	outline: none;
	background: none;
}
.mfp_element_checkbox, .mfp_element_radio {
	vertical-align: middle;
	margin: 0px 2px;
}
.mfp_element_file {
	font-size: 12px;
	display: inline-block;
	padding: 10px 10px;
	vertical-align: middle;
	border: solid 1px #ccc;
	border-radius: 3px;
	box-shadow: 0px 0px 5px #ccc inset;
	background: #eee;
}
.mfp_element_reset {
	color: #333;
}
button.mfp_next, button.mfp_prev {
	font-size: 14px;
}
input#mfp_reserve_item, input#mfp_reserve_date {
	display: none;
}
div#mfp_reserve_wrapper {
	position: relative;
	overflow: hidden;
	border: solid 1px #ccc;
}
div#mfp_reserve_inner {
	position: relative;
	padding: 0px 0px 0px 100px;
	overflow: auto;
}
div#mfp_reserve_wrapper table {
	border-spacing: 0px;
	border-collapse: collapse;
}
div#mfp_reserve_wrapper table.mfp_reserve_table_label {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100px;
	background-color: #fee;
	z-index: 100;
}
div#mfp_reserve_wrapper table.mfp_reserve_table_value {
	padding: 0px 0px 0px 0px;
}
div#mfp_reserve_wrapper table.mfp_reserve_table_value tr td.mfp_reserve_active, div#mfp_reserve_wrapper table.mfp_reserve_table_value tr td.mfp_reserve_warning {
	cursor: pointer;
}
@media screen and (min-width: 441px) {
	div#mfp_reserve_wrapper table.mfp_reserve_table_value tr td.mfp_reserve_active:hover, div#mfp_reserve_wrapper table.mfp_reserve_table_value tr td.mfp_reserve_warning:hover {
		background-color: #e8eef9;
	}
}
div#mfp_reserve_wrapper table.mfp_reserve_table_value tr td.mfp_reserve_current {
	background-color: #0068b7;
	color: #fff;
}
td.mfp_reserve_disabled {
	background-color: #ccc;
}
td.mfp_reserve_warning {
	background-color: #ffc;
}
div#mfp_reserve_wrapper table tr td, div#mfp_reserve_wrapper table tr th {
	border: solid 1px #ccc;
	padding: 0px 5px;
	font-size: 12px;
	text-align: center;
	font-family: Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
	font-weight: normal;
	height: 20px;
	text-align: left;
}
td.mfp_reserve_week_0 {
	color: #f00;
	background-color: #fee;
}
td.mfp_reserve_week_6 {
	color: #00f;
	background-color: #eef;
}
div.mfp_ok {
	border: solid 1px #111;
	display: inline-block;
	padding: 1px 10px;
	margin-top: 5px;
	color: #111;
	font-size: 12px;
	display: none;
}
div.prefcodeWrapper {
	position: relative;
}
div.prefcodeResult {
	position: absolute;
	top: 0px;
	left: 0px;
	padding: 5px;
	border: solid 1px #ccc;
	background-color: #fff;
	box-shadow: 0px 0px 5px #ccc;
	display: none;
}
div.prefcodeResult div {
	cursor: pointer;
}
@media screen and (min-width: 441px) {
	div.prefcodeResult div:hover {
		background-color: #c9ebfb;
	}
}
div.prefcodeResult div.prefcodeNext {
	background-color: #eee;
	text-align: center;
}
div.prefLoading {
	padding: 60px 100px;
	background: url(img/mfp_zip_loading.gif) no-repeat center center;
}
.hidefield {
	height: 0px;
	overflow: hidden;
}
.showfield {
	height: auto;
	overflow: visible;
}
div.mfp_attached_thumbnails {
	display: none;
	padding: 5px;
	margin: 5px auto;
	border: solid 1px #ccc;
	border-radius: 3px;
	box-shadow: 0px 0px 5px #ccc inset;
	background: #eee;
}
div.mfp_attached_thumbnails ul {
	margin: 0px;
	padding: 0px;
}
form#mailformpro dl dd div.mfp_attached_thumbnails ul li {
	display: inline-block;
	vertical-align: top;
	padding: 0px;
	border: solid 4px #fff;
	margin: 5px;
	box-shadow: 0px 2px 5px #999;
}
form#mailformpro dl dd div.mfp_attached_thumbnails ul li a {
	display: block;
	max-height: 100px;
	overflow: hidden;
}
div.mfp_attached_thumbnails ul li a img {
	display: block;
	max-width: 80px;
}
button.mfp_attached_reset {
	font-size: 14px;
}
div#mfp_OperationCheck div#mfp_OperationCheck_inner {
	display: none;
}
div#mfp_OperationCheck strong {
	background: #090;
	display: block;
	color: #222;
	text-align: center;
	border-radius: 3px;
}
div#mfp_OperationCheck * {
	padding: 0px;
	margin: 0px;
	font-size: 12px;
}
div#mfp_OperationCheck p {
	padding: 0px 5px;
	margin: 0px;
	font-size: 12px;
}
div#mfp_OperationCheck p a {
	color: #0c0;
	text-decoration: none;
}
@media screen and (min-width: 441px) {
	div#mfp_OperationCheck p a:hover, div#mfp_OperationCheck p button:hover {
		text-decoration: underline;
	}
}
div#mfp_OperationCheck p button {
	border: none;
	background: none;
	color: #0c0;
	cursor: pointer;
}
div#mfp_OperationCheck ul li, div#mfp_OperationCheck ul li label, div#mfp_OperationCheck ul li label input {
	line-height: 12px;
	font-size: 12px;
	list-style: none;
	vertical-align: middle;
}
div#mfp_OperationCheck ul li {
	padding: 5px 10px;
}
div#mfp_OperationCheck ul li {
	text-decoration: underline;
}
button#mfp_recorder_record, button#mfp_recorder_clear, button#mfp_recorder_restore {
	border-radius: 5px;
	padding: 5px 10px 5px 2em;
	border: solid 1px #ccc;
	background: gradient(linear, center top, center bottom, from(#eee), to(#ccc));
	background: -webkit-gradient(linear, center top, center bottom, from(#eee), to(#ccc));
	background: -moz-linear-gradient(top, #eee, #ccc);
	background: -ms-linear-gradient(top, #eee 0%, #ccc 100%);
	text-shadow: 0px 2px 0px #fff;
	font-size: 16px;
	cursor: pointer;
	outline: none;
	display: inline-block;
	margin: 5px auto;
}
button#mfp_recorder_record {
	background: url(img/mfp_record_disabled.png) no-repeat 5px center #eee;
	background-size: 24px 24px;
}
button#mfp_recorder_clear {
	background: url(img/mfp_record_remove.png) no-repeat 5px center #eee;
	background-size: 24px 24px;
}
button#mfp_recorder_restore {
	background: url(img/mfp_record_restore.png) no-repeat 5px center #eee;
	background-size: 24px 24px;
}
button.enabled#mfp_recorder_record, button.enabled#mfp_recorder_clear, button.enabled#mfp_recorder_restore {
	background: url(img/mfp_record_enabled.png) no-repeat 5px center #eee;
	background-size: 24px 24px;
}
div#mfp_recorder_wrap {
	border: solid 1px #ccc;
	padding: 10px;
	text-align: center;
	margin: 5px auto;
}
td.request_image {
	width: 100px;
}
td.request_image img {
	max-width: 100px;
}
span.mfp_tips {
	background-image: url(img/mfp_header.png);
	background-size: 100% 100%;
	background-color: #fcc;
	display: block;
	border-radius: 5px;
	padding: 10px;
	margin: 2px;
	box-shadow: 0px 2px 10px #999;
}
span.mfp_tips strong {
	color: #800040;
}
span.mfp_tips span {
	display: block;
	padding: 10px;
	color: #008080;
}
span.mfp_tips em {
	font-style: normal;
	color: #090;
	font-weight: bold;
}
@media screen and (max-width: 1240px) {
	div#mfp_overlay_background {
		width: 1240px !important;
		height: 100% !important;
	}
	div#mfp_overlay {
		width: 1240px !important;
	}
}
@media screen and (max-width: 800px) {
	form#mailformpro dl dt {
		float: none;
		width: auto;
		font-size: 12px;
		padding: 5px;
		text-align: left;
	}
	form#mailformpro dl dd {
		clear: both;
		border-top: none;
		padding: 5px 15px;
		font-size: 12px;
		line-height: 1.5em;
	}
	div.mfp_buttons button {
		font-size: 14px;
	}
	div#mfp_phase_confirm h4 {
		font-size: 18px;
	}
	ul#mfp_phase_stat {
		padding: 0px;
		text-align: left;
	}
	ul#mfp_phase_stat li {
		text-align: center;
		padding: 5px 0px;
		border-radius: 3px;
		margin: 5px;
		list-style: none;
		font-size: 14px;
		width: 28%;
	}
	ul#mfp_phase_stat li.mfp_phase_arrow {
		bos-shadow: none;
		display: none;
	}
	table#mfp_confirm_table tr th {
		white-space: nowrap;
		width: 150px;
	}
	div#mfp_thanks {
		text-align: center;
		font-size: 18px;
		padding: 20px 0px;
	}
	div#mfp_thanks strong {
		color: #c00;
		font-size: 24px;
		display: block;
	}
}
@media screen and (max-width: 441px) {
	div#mfp_overlay_background {
		width: 440px !important;
		height: 100% !important;
	}
	div#mfp_overlay {
		width: 440px !important;
	}
	div#mfp_overlay_inner {
		width: 390px;
		max-width: none;
	}
	div.mfp_buttons button#mfp_button_send {
		padding: 10px 0;
		width: 300px;
		margin-bottom: 10px;
	}
	div.mfp_buttons button#mfp_button_cancel {
		padding: 9px 0;
		width: 300px;
		margin-right: 3px;
	}
}

/* 元サイトから移植：about / reason / faq / company / flow */
@media screen and (min-width: 441px) {
.about .key .text01::after {
    background: url("img/about_key_text.png");
    width: 343px;
    height: 74px;
  }

.about .cont01 {
    padding: 90px 0 100px;
    display: flex;
    gap: 18px;
    position: relative;
  }

.about .cont01 h2 {
    font-size: 20px;
    font-weight: bold;
    padding-left: 47px;
    position: relative;
  }

.about .cont01 h2::before {
    content: "";
    position: absolute;
    width: 8px;
    height: 155px;
    background: var(--main-color);
    border-radius: 4px;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }

.about .cont01 h2 span {
    display: block;
    font-weight: bold;
    font-size: 32px;
    color: var(--main-color);
    line-height: 1.5;
  }

.about .cont01 .text01 {
    font-size: 18px;
    line-height: 2.3;
    margin-top: 24px;
  }

.about .cont01 .text01:first-of-type {
    margin-top: 45px;
  }

.about .cont01 .img_box {
    position: absolute;
    right: 0;
    top: 90px;
  }

.about .cont01 .img_box figure {
    position: absolute;
    border-radius: 10px;
    overflow: hidden;
  }

.about .cont01 .img_box figure:nth-of-type(1) {
    right: 288px;
    top: 178px;
    width: 185px; 
  }

.about .cont01 .img_box figure:nth-of-type(2) {
    top: 0;
    right: -58px;
    width: 336px;
  }

.about .cont01 .img_box figure:nth-of-type(3) {
    width: 224px;
    top: 430px;
    right: 158px;
  }

.about .cont01 .img_box figure:nth-of-type(4) {
    right: 1px;
    top: 420px;
    width: 148px;
  }

.about .cont02 {
    padding: 100px 0;
    background: var(--main-light-color);
  }

.about .cont02 .box figure {
    width: 650px;
    height: auto;
    border: 4px solid var(--main-color);
    border-radius: 15px;
    overflow: hidden;
}

.about .cont02 .cont02_01 {
    position: relative;
  }

.about .cont02 .cont02_01::before {
    position: absolute;
    content: "";
    background: url(img/common_deco12.png) center / cover no-repeat;
    width: 233px;
    height: 184px;
    top: -150px;
    left: 20px;
    transform: scale(0.8);
  }

.about .cont02 .cont02_01::after {
    position: absolute;
    content: "";
    background: url(img/common_deco08.png) center / cover no-repeat;
    width: 300px;
    height: 215px;
    top: -165px;
    right: -20px;
    transform: scale(0.8);
  }

.about .cont02 .cont02_01 h2 {
    text-align: center;
    font-size: 44px;
    font-weight: bold;
    line-height: 1;
    color: #082a4a;
  }

.about .cont02 .cont02_01 h2 span {
    position: relative;
    font-size: 20px;
    font-weight: bold;
    display: block;
    line-height: 1;
    color: #444;
    padding-bottom: 36px;
  }

.about .cont02 .cont02_01 span::before {
    position: absolute;
    content: "";
    background: url(img/about_text01.png) center center / cover no-repeat;
    width: 479px;
    height: 58px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, calc(-50% - 18px));
    z-index: -1;
  }

.about .cont02 .cont02_01 .box {
    position: relative;
    display: flex;
    margin-top: 80px;
  }

.about .cont02 .cont02_01 .box:nth-of-type(2) {
    justify-content: end;
  }

.about .cont02 .cont02_01 .text_box {
    position: absolute;
    right: -300px;
    top: 50%;
    transform: translateY(-50%);
    width: 635px;
    height: 340px;
    border-radius: 10px 0 0 10px;
    padding: 0 300px 0 48px;
    background: #fff;
  }

.about .cont02 .cont02_01 .box:nth-of-type(2) .text_box {
    border-radius: 0 10px 10px 0;
    left: -300px;
    padding: 0 0 0 300px;
  }

.about .cont02 .cont02_01 .box .text01 {
    font-size: 16px;
    margin-top: 25px;
  }

.about .cont02 .cont02_01 .box h3 {
    position: relative;
    font-size: 28px;
    font-weight: bold;
    color: #082a4a;
    padding-left: 107px;
    line-height: 58px;
    margin-top: 40px;
  }

.about .cont02 .cont02_01 .box:nth-of-type(3) h3 {
    line-height: 1.5;
  }

.about .cont02 .cont02_01 .box h3::before {
    position: absolute;
    content: "";
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }

.about .cont02 .cont02_01 .box:nth-of-type(1) h3::before {
    background: url("img/vision01.png");
    width: 43px;
    height: 55px;
  }

.about .cont02 .cont02_01 .box:nth-of-type(2) h3::before {
    background: url("img/vision02.png");
    width: 49px;
    height: 55px;
  }

.about .cont02 .cont02_01 .box:nth-of-type(3) h3::before {
    background: url("img/vision03.png");
    width: 49px;
    height: 55px;
  }

.about .cont02 .cont02_01 .box h3::after {
    position: absolute;
    content: "";
    left: 73px;
    top: 0;
    width: 3px;
    height: 58px;
    border-radius: 2px;
    background: var(--main-color);
  }

.about .cont02 .cont02_01 .box.box:nth-of-type(3) h3::after {
    top: 50%;
    transform: translateY(-50%);
  }

.about .cont02 .cont02_02 {
    margin-top: 100px;
    width: 1200px;
    background: #fff;
    border: 3px solid var(--main-color);
    padding: 0 0 45px;
    border-radius: 10px;
    box-sizing: border-box;
  }

.about .cont02 .cont02_02 h2 {
    position: relative;
    font-size: 28px;
    font-weight: bold;
    text-align: center;
    color: #fff;
    background: var(--main-color);
    border-radius: 6px 6px 0 0;
    line-height: 60px;
  }

.about .cont02 .cont02_02 h2::before {
    position: absolute;
    content: "";
    background: url("img/common_deco05.png") no-repeat;
    width: 131px;
    height: 151px;
    right: 40px;
    top: -70px;
  }

.about .cont02 .cont02_02 .tet_box {
    text-align: center;
    margin: 45px 70px 0;
  }

.about .cont02 .cont02_02 .tet_box .text01 {
    line-height: 1;
  }

.about .cont02 .cont02_02 .tet_box .text01 {
    font-size: 24px;
    font-weight: bold;
    color: #082a4a;
  }

.about .cont02 .cont02_02 .tet_box .text01 span {
    font-size: 28px;
    font-weight: bold;
    color: var(--main-color);
  }

.about .cont02 .cont02_02 .tet_box .text02 {
    font-size: 16px;
    margin-top: 35px;
  }

.about .cont02 .cont02_02 .tet_box:nth-of-type(1) .text02 {
    padding-bottom: 40px;
    border-bottom: 2px dashed var(--main-color);
  }

.about .cont02 .cont02_02 .tet_box .text02 span {
    font-size: 16px;
    font-weight: bold;
    color: var(--main-color);
  }

@media screen and (min-width: 1800px) {
.about .cont02 .cont02_01 .box .text_box {
      border-radius: 10px;
      padding: 0 100px;
      right: -200px;
    }

.about .cont02 .cont02_01 .box:nth-of-type(2) .text_box {
      border-radius: 10px;
      padding: 0 100px;
      left: -200px;
    }
}

.about .cont03 {
    position: relative;
    padding: 252px 0 0;
  }

.about .cont03::before {
    position: absolute;
    content: "";
    background: url(img/common_deco09.png) no-repeat;
    width: 227px;
    height: 200px;
    top: 5px;
    right: 250px;
    z-index: 1;
    transform: scale(0.8);
  }

.about .cont03::after {
    position: absolute;
    content: "";
    background: url(img/housecleaning_deco02.png) no-repeat;
    width: 215px;
    height: 225px;
    top: 82px;
    right: 0px;
    z-index: 1;
    transform: scale(0.8);
  }

.about .cont03 .box figure {
    position: absolute;
    top: 100px;
    left: -300px;
    z-index: -1;
    border: 3px solid var(--main-color);
    border-radius: 18px;
    box-sizing: border-box;
    overflow: hidden;
  }

.about .cont03 .text_box {
    background: url(img/common_bg_01.png);
    height: 500px;
    width: 1175px;
    box-sizing: border-box;
    padding: 78px 0 0 80px;
    border-radius: 10px;
    position: absolute;
    right: -300px;
    top: 252px;
  }

.about .cont03 .text_box h2 {
    position: relative;
    font-size: 32px;
    font-weight: bold;
    color: #082a4a;
    line-height: 1.2;
    padding-left: 42px;
  }

.about .cont03 .text_box h2::before {
    position: absolute;
    content: "";
    background: var(--main-color);
    width: 6px;
    height: 85px;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 3px;
  }

.about .cont03 .text_box .text01 {
    margin-top: 22px;
    font-size: 20px;
  }

.about .cont03 .review_box {
    display: flex;
    justify-content: space-between;
    margin-top: 310px;
  }

.about .cont03 .review_box .cont {
    position: relative;
    width: 380px;
    height: 250px;
    background: #fff;
    border: 2px solid var(--main-color);
    border-radius: 18px;
    padding: 30px 0;
    box-sizing: border-box;
    text-align: center;
  }

.about .cont03 .review_box .cont::before {
    position: absolute;
    content: "";
    background: url(img/common_deco02.png) center center / cover no-repeat;
    top: -40px;
    left: 15px;
    width: 89px;
    height: 103px;
  }

.about .cont03 .review_box .cont h3 {
    line-height: 1;
    font-size: 36px;
    font-weight: bold;
    color: var(--main-color);
  }

.about .cont03 .review_box .cont h3 span:nth-of-type(1) {
    display: block;
    font-weight: bold;
    color: #555;
    padding-bottom: 18px;
  }

.about .cont03 .review_box .cont h3 span:nth-of-type(2) {
    font-size: 60px;
    font-weight: bold;
  }

.about .cont03 .review_box .cont h3 span:nth-of-type(3) {
    font-size: 48px;
    font-weight: bold;
  }

.about .cont03 .review_box .cont .text02 {
    line-height: 1.5;
    font-size: 20px;
    font-weight: bold;
    margin-top: 15px;
  }

.about .topic_wrap {
    margin: 120px auto 100px;
    display: flex;
    justify-content: space-between;
  }

.about .topic_wrap .breaking_wrap {
    position: relative;
    width: 590px;
    background: var(--main-light-color);
    border: 1px solid var(--main-color);
    border-radius: 18px;
    padding: 34px 10px 10px;
    box-sizing: border-box;
  }

.about .topic_wrap .breaking_wrap h2 {
    position: absolute;
    top: -17.5px;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    color: #444;
    font-size: 14px;
    font-weight: bold;
    width: 400px;
    height: 35px;
    line-height: 35px;
    border: 1px solid var(--main-color);
    border-radius: 17.5px;
    background: #fff;
  }

.about .topic_wrap .breaking_wrap h2 span {
    color: #082a4a;
    font-size: 16px;
    font-weight: bold;
  }

.about .topic_wrap .breaking_wrap h2::before {
    content: "";
    position: absolute;
    background: var(--main-color);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    width: 18px;
    height: 11px;
    bottom: -11px;
    left: 50%;
    transform: translateX(-50%);
  }

.about .topic_wrap .breaking_wrap .text01 {
    text-align: center;
    color: #082a4a;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.5;
  }

.about .topic_wrap .breaking_wrap .breaking_box {
    width: 570px;
    height: 260px;
    background: #fff;
    border-radius: 8px;
    margin-top: 14px;
    overflow-y: auto;
    padding: 33px;
    box-sizing: border-box;
  }

.about .topic_wrap .breaking_wrap .breaking_box .cont {
    position: relative;
  }

.about .topic_wrap .breaking_wrap .breaking_box .cont::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: repeating-linear-gradient(to right,
        #082a4a 0,
        #082a4a 11px,
        transparent 11px,
        transparent 22px);
  }

.about .topic_wrap .breaking_wrap .breaking_box .cont .date {
    color: #082a4a;
    font-weight: bold;
    line-height: 1;
    padding-top: 30px;
  }

.about .topic_wrap .breaking_wrap .breaking_box .cont:nth-of-type(1) .date {
    padding-top: 0;
  }

.about .topic_wrap .breaking_wrap .breaking_box .cont .text02 {
    line-height: 1.5;
    font-weight: bold;
    padding: 18px 0 30px;
  }

.about .topic_wrap .reviews_wrap {
    position: relative;
    width: 590px;
    background: var(--main-light-color);
    border: 1px solid var(--main-color);
    border-radius: 18px;
    padding: 34px 10px 10px;
    box-sizing: border-box;
  }

.about .topic_wrap .reviews_wrap h2 {
    position: absolute;
    top: -17.5px;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    color: #444;
    font-size: 14px;
    font-weight: bold;
    width: 400px;
    height: 35px;
    line-height: 35px;
    border: 1px solid var(--main-color);
    border-radius: 17.5px;
    background: #fff;
  }

.about .topic_wrap .reviews_wrap h2 span {
    color: #082a4a;
    font-size: 16px;
    font-weight: bold;
  }

.about .topic_wrap .reviews_wrap h2::before {
    content: "";
    position: absolute;
    background: var(--main-color);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    width: 18px;
    height: 11px;
    bottom: -11px;
    left: 50%;
    transform: translateX(-50%);
  }

.about .topic_wrap .reviews_wrap .text01 {
    text-align: center;
    color: #082a4a;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.5;
  }

.about .topic_wrap .reviews_wrap .reviews_box {
    width: 570px;
    height: 260px;
    background: #fff;
    border-radius: 8px;
    margin-top: 14px;
    overflow: scroll;
  }

.flow .key .text01::after {
    background: url("img/flow_key_text.png");
    width: 282px;
    height: 74px;
  }

.flow .cont01 h2 {
    text-align: center;
    font-size: 44px;
    font-weight: bold;
    line-height: 1;
    color: #082a4a;
  }

.flow .cont01 h2 span {
    position: relative;
    font-size: 20px;
    font-weight: bold;
    display: block;
    line-height: 1;
    color: #444;
    padding-bottom: 36px;
  }

.flow .cont01 h2 span::before {
    position: absolute;
    content: "";
    background: url(img/flow_text01.png) center center / cover no-repeat;
    width: 226px;
    height: 58px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, calc(-50% - 18px));
    z-index: -1;
  }

.flow .cont01 {
    padding: 100px 0 50px;
  }

.flow .cont01 p {
    text-align: center;
    font-size: 20px;
    line-height: 1.8;
    margin-top: 50px;
  }

.flow .cont02 .inner {
    width: 1000px;
    padding-top: 206px;
    position: relative;
  }

.flow .cont02 .flow01,
.flow .cont02 .flow03,
.flow .cont02 .flow05 {
    background: var(--main-light-color);
  }

.flow .cont02 .flow_box {
    padding: 65px 0;
  }

.flow .cont02 .flow_box figure {
    position: absolute;
    left: 0;
    top: 0;
    width: 306px;
    height: 204px;
    border: 4px solid var(--main-color);
    border-radius: 10px;
    overflow: hidden;
  }
.flow .cont02 .flow_box figure img{
	width: 100%;
	object-fit: cover;
	display: block;
}

.flow .cont02 .flow_box .text_box {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    width: 655px;
  }

.flow .cont02 .flow_box h3 {
    position: relative;
    font-size: 32px;
    font-weight: bold;
    line-height: 38px;
    color: #082a4a;
    padding-left: 90px;
    white-space: nowrap;
  }

.flow .cont02 .flow_box h3::before {
    position: absolute;
    content: "";
    width: 44px;
    height: 32px;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }

.flow .cont02 .flow_box:nth-of-type(1) h3::before {
    background: url("img/common_no01.png") no-repeat;
    width: 39px;
  }

.flow .cont02 .flow_box:nth-of-type(2) h3::before {
    background: url("img/common_no02.png") no-repeat;
  }

.flow .cont02 .flow_box:nth-of-type(3) h3::before {
    background: url("img/common_no03.png") no-repeat;
  }

.flow .cont02 .flow_box:nth-of-type(4) h3::before {
    background: url("img/common_no04.png") no-repeat;
  }

.flow .cont02 .flow_box:nth-of-type(5) h3::before {
    background: url("img/common_no05.png") no-repeat;
  }

.flow .cont02 .flow_box h3::after {
    position: absolute;
    content: "";
    background: var(--main-color);
    width: 3px;
    height: 38px;
    border-radius: 2px;
    left: 63px;
    top: 0;
  }

.flow .cont02 .flow_box .text01 {
    font-size: 20px;
    color: #082a4a;
    margin-top: 20px;
    line-height: 1.8;
  }

.flow .cont02 .flow_box.flow01 .text01 {
    white-space: nowrap;
  }

.flow .cont02 .flow_box.flow01 .info_box {
    display: flex;
    gap: 15px;
    margin-top: 20px;
  }

.flow .cont02 .flow_box.flow01 .info_box .tel {
    text-align: center;
  }

.flow .cont02 .flow_box.flow01 .info_box .tel a {
    font-size: 14px;
    line-height: 1.8;
    font-weight: bold;
  }

.flow .cont02 .flow_box.flow01 .info_box .btn-01 a {
    display: block;
    width: 220px;
    height: 50px;
    background: #06c755 url(img/header_icon02.png) left 26px top 14px no-repeat;
    padding: 0px 0 0 58px;
    box-sizing: border-box;
    border: 1px solid #06c755;
    border-radius: 10px;
    font-size: 16px;
    line-height: 50px;
    color: #fff;
    font-weight: bold;
    letter-spacing: 1.5px;
  }

.flow .cont02 .flow_box .flow_04_sub {
    background: var(--main-light-color);
    border: 3px solid var(--main-color);
    border-radius: 10px;
  }

.flow .cont02 .flow_box .flow_04_sub .box {
    position: relative;
    height: 163px;
    margin-top: 40px;
  }

.flow .cont02 .flow_box .flow_04_sub .box:first-of-type {
    margin-top: 50px;
  }

.flow .cont02 .flow_box .flow_04_sub .box:last-of-type {
    margin-bottom: 50px;
  }

.flow .cont02 .flow_box .flow_04_sub .box:nth-of-type(3) {
    margin-top: 216px;
  }

.flow .cont02 .flow_box .flow_04_sub .text_box02 {
    position: absolute;
    left: 346px;
    top: 50%;
    transform: translateY(-50%);
    margin-right: 49px;
  }

.flow .cont02 .flow_box .flow_04_sub .box figure {
    position: absolute;
    left: 54px;
    top: 0;
    width: 259px;
    height: 163px;
    border: 3px solid var(--main-color);
    border-radius: 10px;
    overflow: hidden;
  }

.flow .cont02 .flow_box .flow_04_sub.inner {
    padding-top: 0;
    margin-top: 65px;
  }

.flow .cont02 .flow_box .flow_04_sub h4 {
    position: relative;
    font-size: 24px;
    font-weight: bold;
    color: #fff;
    background: var(--main-color);
    text-align: center;
    line-height: 60px;
    border-radius: 6px 6px 0 0;
	margin: -1px;
  }

.flow .cont02 .flow_box .flow_04_sub h4::before {
	content: "";
	position: absolute;
	background: url(img/common_deco05.png) center / cover no-repeat;
	width: 100px;
	height: 114px;
	right: 111px;
	top: -45px;
  }

.flow .cont02 .flow_box .flow_04_sub .ttl01 {
    position: relative;
    font-size: 20px;
    font-weight: bold;
    color: var(--main-color);
    padding-left: 18px;
    line-height: 32px;
  }

.flow .cont02 .flow_box .flow_04_sub .ttl01::before {
    position: absolute;
    content: "";
    background: var(--main-color);
    width: 6px;
    height: 32px;
    border-radius: 4px;
    left: 0;
    top: 0;
  }

.flow .cont02 .flow_box .flow_04_sub .ttl01 span {
    font-size: 14px;
    font-weight: bold;
  }

.flow .cont02 .flow_box .flow_04_sub .box .text02 {
    position: relative;
    font-size: 16px;
    color: #082a4a;
    margin-top: 15px;
  }

.flow .cont02 .flow_box .flow_04_sub .box .text02::before {
    position: absolute;
    content: "";
    width: 599px;
    height: 1px;
    background: #959595;
    bottom: -47px;
    left: 0;
  }

.flow .cont02 .flow_box .flow_04_sub .box:nth-of-type(2) .text02::before,
.flow .cont02 .flow_box .flow_04_sub .box:last-of-type .text02::before {
    display: none;
  }

.flow .cont02 .flow_box .flow_04_sub .text_box03 {
    width: 890px;
    margin: 0 auto;
    padding-top: 163px;
    text-align: center;
    box-sizing: border-box;
  }

.flow .cont02 .flow_box .flow_04_sub .text_box03 .ttl02 {
    color: #ffff00;
    background: #51aa81;
    line-height: 35px;
    font-weight: bold;
    margin-top: 40px;
  }

.flow .cont02 .flow_box .flow_04_sub .text_box03 .text03 {
    background: #fff;
    font-weight: bold;
    font-size: 18px;
    padding: 17px 0;
    border: 3px solid #51aa81;
    border-top: none;
    line-height: 1.78;
  }

.flow .cont02 .flow_box .flow_04_sub .text_box03 .text03 span {
    font-weight: bold;
    color: #51aa81;
  }
.flow .cont02 .flow_box .flow_04_sub .box:nth-of-type(3) {
    margin-top: 40px;
}

.flow .cont02 .flow_box .flow_04_sub .box {
    height: auto;
    min-height: 163px;
}

.flow .cont02 .flow_box .flow_04_sub .box .text02::before {
    display: none;
}

.flow .cont02 .flow04 .flow_contact_note.text_box03 {
    box-sizing: border-box;
    position: relative;
    clear: both;
    padding: 0;
    width: 890px;
    max-width: calc(100% - 40px);
    margin: 45px auto 50px;
    text-align: center;
}

.flow .cont02 .flow04 .flow_contact_note .ttl02 {
    box-sizing: border-box;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 8px 15px;
    background: #51aa81;
    color: #ffff00;
    font-weight: bold;
    line-height: 1.5;
}

.flow .cont02 .flow04 .flow_contact_note .text03 {
    box-sizing: border-box;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 18px 24px;
    background: #fff;
    border: 3px solid #51aa81;
    border-top: none;
    font-weight: bold;
    line-height: 1.8;
}

.flow .cont02 .flow04 .flow_contact_note .text03 span {
    color: #51aa81;
    font-weight: bold;
}

  
.reason .key .text01::after {
    background: url("img/reason_key_text.png");
    width: 404px;
    height: 74px;
  }

.reason .cont01 {
    position: relative;
    margin: 100px auto 85px;
  }

.reason .cont01::before {
    position: absolute;
    content: "";
    background: url(img/common_deco08.png) center center / cover no-repeat;
	width: 220px;
	height: 171px;
	top: 7px;
	right: 54px;
  }

.reason .cont01 h2 {
    font-size: 20px;
    font-weight: bold;
    padding-left: 40px;
    position: relative;
    line-height: 2.3;
  }

.reason .cont01 h2::before {
    content: "";
    position: absolute;
    width: 8px;
    height: 105px;
    background: var(--main-color);
    border-radius: 4px;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }

.reason .cont01 h2 span {
    display: block;
    font-weight: bold;
    font-size: 32px;
    color: var(--main-color);
    line-height: 1.5;
  }

.reason .cont01 p {
    margin-top: 45px;
    line-height: 2.33;
    font-size: 18px;
  }

.reason .cont02 {
    padding: 20px 0 100px;
    background: var(--main-light-color);
  }

.reason .cont02 .reason_box {
    position: relative;
    display: flex;
    margin-top: 80px;
  }

.reason .cont02 .reason_box figure {
    width: 650px;
    height: 395px;
    border: 3px solid var(--main-color);
    border-radius: 15px;
    overflow: hidden;
  }

.reason .cont02 .reason_box .text_box {
    position: absolute;
    right: -300px;
    top: 50%;
    transform: translateY(-50%);
    width: 600px;
    height: auto;
    border-radius: 10px 0 0 10px;
    padding: 0 300px 0 48px;
    background: #fff;
  }

.reason .cont02 .reason_box:nth-child(even) {
    justify-content: end;
  }

.reason .cont02 .reason_box:nth-of-type(even) .text_box {
    border-radius: 0 10px 10px 0;
    left: -300px;
    padding: 0 0 0 300px;
  }

.reason .cont02 .reason_box .text_box h3 {
    position: relative;
    font-size: 26px;
    font-weight: bold;
    color: #082a4a;
    padding-left: 107px;
    line-height: 1.38;
    margin-top: 40px;
  }

.reason .cont02 .reason_box .text_box h3::before {
    position: absolute;
    content: "";
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }

.reason .cont02 .reason_box .text_box:nth-of-type(1) h3::before {
    background: url(img/reason_no01.png);
    width: 43px;
    height: 48px;
  }

.reason .cont02 .reason_box:nth-of-type(2) .text_box h3::before {
    background: url(img/reason_no02.png);
    width: 49px;
    height: 50px;
  }

.reason .cont02 .reason_box:nth-of-type(3) .text_box h3::before {
    background: url(img/reason_no03.png);
    width: 49px;
    height: 50px;
  }

.reason .cont02 .reason_box:nth-of-type(4) .text_box h3::before {
    background: url(img/reason_no04.png);
    width: 51px;
    height: 50px;
  }

.reason .cont02 .reason_box:nth-of-type(5) .text_box h3::before {
    background: url(img/reason_no05.png);
    width: 49px;
    height: 50px;
  }

.reason .cont02 .reason_box:nth-of-type(7) .text_box h3::before {
    background: url(img/reason_no07.png);
    width: 49px;
    height: 50px;
  }

.reason .cont02 .reason_box:nth-of-type(8) .text_box h3::before {
    background: url(img/reason_no08.png);
    width: 50px;
    height: 50px;
  }

.reason .cont02 .reason_box .text_box h3::after {
    position: absolute;
    content: "";
    left: 73px;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 66px;
    border-radius: 2px;
    background: var(--main-color);
  }

.reason .cont02 .reason_box .text_box .text01 {
    font-size: 16px;
    margin-block: 20px 40px;
    width: 550px;
    text-align: justify;
  }
.reason .cont02 .reason_box.reason07 .text_box .text01 {
    font-size: 16px;
    margin-block: 20px 0px;
    width: 550px;
    text-align: justify;
  }

.reason .cont02 .reason06_box {
    background: #fff;
    border-radius: 10px;
    padding: 52px 38px 49px;
    margin-top: 80px;
  }

.reason .cont02 .reason06_box h3 {
    position: relative;
    font-size: 26px;
    font-weight: bold;
    color: #082a4a;
    padding-left: 107px;
    line-height: 1.38;
    margin-top: 40px;
  }

.reason .cont02 .reason06_box h3::before {
    position: absolute;
    content: "";
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    background: url(img/reason_no06.png);
    width: 50px;
    height: 50px;
  }

.reason .cont02 .reason06_box h3::after {
    position: absolute;
    content: "";
    left: 73px;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 66px;
    border-radius: 2px;
    background: var(--main-color);
  }

.reason .cont02 .reason06_box .text01 {
    margin-top: 16px;
  }

.reason .cont02 .reason06_box .reason06_sub_box {
    border: 3px solid var(--main-color);
    border-radius: 10px;
    margin-top: 42px;
    padding: 100px 0 80px;
    text-align: center;
  }

.reason .cont02 .reason06_box .reason06_sub_box .text02 {
    text-align: center;
    font-size: 44px;
    font-weight: bold;
    line-height: 1;
    color: #082a4a;
  }

.reason .cont02 .reason06_box .reason06_sub_box .text02 span {
    position: relative;
    font-size: 20px;
    font-weight: bold;
    display: block;
    line-height: 1;
    color: #444;
    padding-bottom: 36px;
    z-index: 0;
  }

.reason .cont02 .reason06_box .reason06_sub_box .text02 span::before {
    position: absolute;
    content: "";
    background: url(img/reason_text01.png) center center / cover no-repeat;
    width: 385px;
    height: 55px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, calc(-50% - 18px));
    z-index: -1;
  }

.reason .cont02 .reason06_box .reason06_sub_box .text03 {
    margin-top: 33px;
    font-size: 18px;
  }

.reason .cont02 .reason06_box .reason06_sub_box .img_box {
    display: flex;
    justify-content: center;
    margin-top: 42px;
  }

.reason .cont02 .reason06_box .reason06_sub_box .img_box .before {
    position: relative;
  }

.reason .cont02 .reason06_box .reason06_sub_box .img_box .before::before {
    position: absolute;
    content: "";
    background: url(img/common_deco11.png) center center / cover no-repeat;
    width: 16px;
    height: 30px;
    top: 50%;
    right: -8px;
    transform: translateY(-50%) scale(1.5);
    z-index: 1;
  }

.reason .cont02 .reason06_box .reason06_sub_box .button {
    position: relative;
    width: 400px;
    height: 50px;
    text-align: center;
    margin: 60px auto 0;
  }

.reason .cont02 .reason06_box .reason06_sub_box .button a {
    display: block;
    background: var(--main-color);
    line-height: 50px;
    border-radius: 25px;
    font-weight: bold;
    color: #fff;
  }

.reason .cont02 .reason06_box .reason06_sub_box .button a span {
    content: "";
    position: absolute;
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    background: #fff;
    right: 18px;
    top: 0;
    bottom: 0;
    margin: auto 0;
    width: 6px;
    height: 10px;
  }

.reason .cont02 .reason_box:nth-of-type(7) .text_box {
    height: 370px;
  }

.reason .cont02 .reason_box:nth-of-type(7) .text_box .button {
    position: relative;
    width: 378px;
    height: 45px;
    text-align: center;
    margin: 10px 0 0;
  }

.reason .cont02 .reason_box:nth-of-type(7) .text_box .button a {
    display: block;
    background: var(--main-color);
    line-height: 45px;
    border-radius: 25px;
    font-weight: bold;
    color: #fff;
  }

.reason .cont02 .reason_box:nth-of-type(7) .text_box .button a::before {
    content: "";
    position: absolute;
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    background: #fff;
    right: 18px;
    top: 0;
    bottom: 0;
    margin: auto 0;
    width: 6px;
    height: 10px;
  }

@media screen and (min-width: 1800px) {
.reason .cont02 .reason_box .text_box {
      border-radius: 10px;
      padding: 0 100px;
      right: -200px;
    }

.reason .cont02 .reason_box:nth-of-type(even) .text_box {
      border-radius: 10px;
      padding: 0 100px;
      left: -200px;
    }
}

.reason .cont03 {
    position: relative;
    padding: 120px 0 80px;
  }

.reason .cont03::before {
    position: absolute;
    content: "";
    background: url(img/housecleaning_deco01.png) center / cover no-repeat;
    width: 260px;
    height: 330px;
    top: -125px;
    left: -25px;
    transform: scale(0.7);
  }

.reason .cont03::after {
    position: absolute;
    content: "";
    background: url(img/housecleaning_deco03.png) center center / cover no-repeat;
    width: 260px;
    height: 330px;
    top: -80px;
    right: -25px;
    transform: scale(0.7);
  }

.reason .cont03 h2 {
    text-align: center;
    font-size: 44px;
    font-weight: bold;
    line-height: 1;
    color: #082a4a;
  }

.reason .cont03 h2 span {
    position: relative;
    font-size: 20px;
    font-weight: bold;
    display: block;
    line-height: 1;
    color: #444;
    padding-bottom: 36px;
  }

.reason .cont03 h2 span::before {
    position: absolute;
    content: "";
    background: url(img/reason_text02.png) center center / cover no-repeat;
    width: 488px;
    height: 50px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, calc(-50% - 18px));
    z-index: -1;
  }

.reason .cont03 .text01 {
    font-size: 20px;
    text-align: center;
    line-height: 1.8;
    margin-top: 40px;
  }

.reason .cont03 table {
    border-collapse: separate;
    margin-top: 50px;
  }

.reason .cont03 table th {
    vertical-align: middle;
  }

.reason .cont03 table thead th.eclean {
    position: relative;
    background: var(--main-color);
    color: #fff;
    width: 490px;
    height: 82px;
    border: 6px solid var(--main-color);
    border-radius: 10px 10px 0 0;
    font-weight: bold;
    font-size: 30px;
  }

.reason .cont03 table thead th.eclean::before {
    position: absolute;
    content: "";
    background: url(img/common_deco02.png) center center / cover no-repeat;
    top: -28px;
    right: 22px;
    width: 89px;
    height: 103px;
  }

.reason .cont03 table tbody th {
    text-align: left;
    font-size: 22px;
    font-weight: bold;
    color: #fff;
    background: #0166b3;
    width: 267px;
    height: 84px;
    border-bottom: 1px solid #b0b0b0;
    box-sizing: border-box;
    padding-left: 30px;
  }

.reason .cont03 table tbody tr td.eclean {
    border-bottom: 1px solid #b0b0b0;
    border-left: 6px solid var(--main-color);
    border-right: 6px solid var(--main-color);
    width: 490px;
    height: 84px;
    box-sizing: border-box;
    background: var(--main-light-color);
    font-size: 23px;
    font-weight: bold;
    color: var(--main-color);
    vertical-align: middle;
    padding-left: 37px;
  }

.reason .cont03 table tbody tr:last-of-type td.eclean {
    border-bottom: 6px solid var(--main-color);
  }

.reason .cont03 table thead th.other {
    vertical-align: bottom;
  }

.reason .cont03 table thead th.other span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 444px;
    height: 60px;
    background: #c4c4c4;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
  }

.reason .cont03 table tbody tr td.other {
    border-bottom: 1px solid #b0b0b0;
    background: #f7f7f7;
    width: 444px;
    height: 84px;
    box-sizing: border-box;
    font-size: 22px;
    vertical-align: middle;
    padding-left: 42px;
  }

.reason p.cont04 {
    position: relative;
    text-align: center;
    font-weight: bold;
    font-size: 28px;
    height: 234px;
    line-height: 1.64;
    padding: 48px 0 52px;
    box-sizing: border-box;
  }

.reason p.cont04 span {
    font-weight: bold;
    font-size: 20px;
    color: var(--main-color);
  }

.reason p.cont04::before {
    position: absolute;
    content: "";
    background: url(img/common_deco02.png) center center / cover no-repeat;
    top: 9px;
    right: 21px;
    width: 89px;
    height: 103px;
  }

.reason p.cont04::after {
    position: absolute;
    content: "";
    background: url(img/common_bg_01.png);
    width: 100vw;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    height: 234px;
    z-index: -1;
  }

@media screen and (max-width: 1240px) {
.reason p.cont04::after {
      width: 1240px;
    }
}


.faq .key .text01::after {
  background: url(img/faq_key_text.png) center no-repeat;
  width: 404px;
  height: 74px;
}

.faq .cont01,
.faq .cont02,
.faq .cont03 {
	box-sizing: border-box;
	margin: 120px auto 0;
	width: 1000px;
}

.faq .cont03 {
	margin: 120px auto;
}

.faq .cont01 h2,
.faq .cont02 h2,
.faq .cont03 h2 {
	position: relative;
	font-size: 22px;
	font-weight: bold;
	color: #082a4a;
	padding-left: 55px;
	padding-bottom: 25px;
	line-height: 1.38;
}

.faq .cont01 h2:before,
.faq .cont02 h2:before,
.faq .cont03 h2:before {
	position: absolute;
	content: "";
	left: 0;
	top: -2px;
	width: 42px;
	height: 29px;
	background: url(img/key_deco01.png) center / contain no-repeat;
}

.faq .cont01 .box,
.faq .cont02 .box,
.faq .cont03 .box {
	padding: 30px 40px;
	border-bottom: 1px solid var(--main-color);
	position: relative;
	cursor: pointer;
}

.faq .cont01 .box:first-of-type,
.faq .cont02 .box:first-of-type,
.faq .cont03 .box:first-of-type {
	border-top: 1px solid var(--main-color);
}

.faq .cont01 .box span,
.faq .cont02 .box span,
.faq .cont03 .box span {
	position: absolute;
	top: 38px;
	right: 40px;
	width: 19px;
	height: 19px;
	background: var(--main-color);
	border-radius: 50%;
	transition: all .3s;
}

.faq .cont01 .box.active span,
.faq .cont02 .box.active span,
.faq .cont03 .box.active span {
	background: #bbbbbb;
	transition: all .3s;
}

.faq .cont01 .box span::before,
.faq .cont02 .box span::before,
.faq .cont03 .box span::before {
	content: "";
	width: 8px;
	height: 2px;
	background: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.faq .cont01 .box span::after,
.faq .cont02 .box span::after,
.faq .cont03 .box span::after {
	content: "";
	width: 2px;
	height: 8px;
	background: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	opacity: 1;
	transition: all .3s;
}

.faq .cont01 .box.active span::after,
.faq .cont02 .box.active span::after,
.faq .cont03 .box.active span::after {
	opacity: 0;
	transition: all .3s;
}

.faq .cont01 .box p,
.faq .cont02 .box p,
.faq .cont03 .box p {
	padding-left: 40px;
	position: relative;
	font-weight: bold;
}

.faq .cont01 .box .qus::before,
.faq .cont02 .box .qus::before,
.faq .cont03 .box .qus::before {
	content: 'Q';
	font-size: 18px;
	font-weight: bold;
	color: var(--main-color);
	position: absolute;
	top: 0;
	left: 0;
}

.faq .cont01 .box .qus,
.faq .cont02 .box .qus,
.faq .cont03 .box .qus {
	font-size: 18px;
	transition: all .3s;
}

.faq .cont01 .box.active .qus,
.faq .cont02 .box.active .qus,
.faq .cont03 .box.active .qus {
	color: #bbbbbb;
	transition: all .3s;
}

.faq .cont01 .box .ans,
.faq .cont02 .box .ans,
.faq .cont03 .box .ans {
	padding-top: 15px;
	display: none;
}

.faq .cont02 .cancel-table {
	width: 400px;
	margin: 20px 0 20px 40px;
	border-collapse: collapse;
}

.faq .cont02 .cancel-table th,
.faq .cont02 .cancel-table td {
	border: 1px solid #ddd;
	padding: 10px;
	font-size: 16px;
}

.faq .cont02 .cancel-table th {
	background: #f5f5f5;
}

.company .key .text01::after {
  background: url(img/company_key_text.png) center no-repeat;
  width: 500px;
  height: 74px;
}

.company .cont01 h2,
.company .cont02 h2,
.company .cont03 h2 {
	font-size: 28px;
	text-align: center;
	padding-bottom: 35px;
	font-weight: bold;
	position: relative;
	line-height: 1;
}

.company .cont01 h2::before,
.company .cont02 h2::before,
.company .cont03 h2::before {
	content: '';
	font-size: 16px;
	font-weight: bold;
	color: var(--main-color);
	width: 100%;
	text-align: center;
	position: absolute;
	bottom: 0;
	left: 0;
}

.company .cont01 h2::before {
	content: "GREETING";
}

.company .cont02 h2::before {
	content: "OUTLINE";
}

.company .cont03 h2::before {
	content: "Specified Commercial Transaction Law";
}

.company table {
	width: 100%;
	text-align: left;
	margin: 40px auto 0;
}

.company table tr {
	border-top: 1px solid #fff;
}

.company table tr:last-of-type {
	border-bottom: 1px solid #fff;
}

.company table th {
	width: 250px;
	padding: 23px 0 20px 30px;
	font-weight: bold;
	vertical-align: middle;
	position: relative;
}

.company table th:before {
	content: "";
	width: 2px;
	height: 20px;
	background-color: var(--main-color);
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 10px;
}

.company table td {
	padding: 23px 0 20px;
	vertical-align: middle;
}

.company .cont01 {
	margin: 120px auto;
}

.company .cont01 .flex {
	display: flex;
	/* align-items: center; */
	padding-top: 50px;
}

.company .cont01 .flex .text_box {
	padding-left: 45px;
	width: 600px;
  box-sizing: border-box;
}

.company .cont01 .flex .text_box h3 {
	font-size: 22px;
	padding-bottom: 25px;
}

.company .cont01 .flex .text_box .text01 span {
	display: block;
    margin-block: 15px;
}
.company .cont01 .flex .text_box .text01 .em {
    font-weight: bold;
}

.company .cont01 .flex .text_box .text02 {
	text-align: right;
	font-size: 24px;
	margin-top: 40px;
	font-weight: bold;
}

.company .cont01 .flex .text_box .text02 span {
	font-size: 16px;
	font-weight: bold;
}

.company .cont01 .img {
	flex-shrink: 0;
	border-radius: 10px;
	overflow: hidden;
  width: 600px;
  height: 400px;
}

.company .cont02 {
	margin: 120px auto;
	padding: 120px 0;
	background: var(--main-light-color);
}

.company .cont02 .inner {
	width: 1000px;
}

.company .cont03 {
	width: 1000px;
	/* margin: 100px auto; */
	margin: 120px auto 0;
}

.company .cont03 table tr {
	border-top: 1px solid var(--main-color);
}

.company .cont03 table tr:last-of-type {
	border-bottom: 1px solid var(--main-color);
}
}

@media screen and (max-width: 441px) {
.about .key .text01::after {
    background: url("img/about_key_text.png") center / cover no-repeat;
    width: 343px;
    height: 74px;
  }

.about .cont01 {
    padding: 50px 15px 510px;
    margin-bottom: 80px;
  }

.about .cont01 h2 {
    font-size: 16px;
    font-weight: bold;
    padding-left: 28px;
    position: relative;
    line-height: 1;
  }

.about .cont01 h2::before {
    content: "";
    position: absolute;
    width: 3px;
    height: 85px;
    background: var(--main-color);
    border-radius: 4px;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }

.about .cont01 h2 span {
    display: block;
    font-weight: bold;
    font-size: 22px;
    color: var(--main-color);
    line-height: 1.2;
    padding-top: 5px;
  }

.about .cont01 .text01 {
    line-height: 2.3;
    margin-top: 18px;
  }

.about .cont01 .text01:first-of-type {
    margin-top: 30px;
  }

.about .cont01 .img_box {
    position: absolute;
    right: 0;
    margin-top: 20px;
  }

.about .cont01 .img_box figure {
        position: absolute;
        border-radius: 10px;
        overflow: hidden;
  }

.about .cont01 .img_box figure:nth-of-type(1) {
    right: 208px;
    top: 85px;
    width: 185px;
    transform: scale(0.7);
  }

.about .cont01 .img_box figure:nth-of-type(2) {
    width: 336px;
    top: -66px;
    right: -55px;
    transform: scale(0.7);
  }

.about .cont01 .img_box figure:nth-of-type(3) {
    width: 224px;
    top: 260px;
    right: 153px;
    transform: scale(0.7);
  }

.about .cont01 .img_box figure:nth-of-type(4) {
    right: 55px;
    top: 265px;
    width: 148px;
    transform: scale(0.7);
  }

.about .cont02 {
    position: relative;
  }

.about .cont02::before {
    position: absolute;
    content: "";
    background: url(img/common_deco08.png) center / cover no-repeat;
    width: 233px;
    height: 184px;
    top: -25px;
    left: 20px;
    top: -624px;
    left: -35px;
    transform: scale(0.5);
  }

.about .cont02 .inner {
    padding: 90px 15px;
    background: var(--main-light-color);
  }

.about .cont02 .cont02_01 {
    position: relative;
  }

.about .cont02 .cont02_01::before {
    position: absolute;
    content: "";
    background: url(img/common_deco12.png) center / cover no-repeat;
    width: 233px;
    height: 184px;
    bottom: -93px;
    left: -4px;
    transform: scale(0.7);
  }

.about .cont02 .cont02_01::after {
    position: absolute;
    content: "";
    background: url(img/common_deco09.png) center / cover no-repeat;
    width: 263px;
    height: 215px;
    top: -138px;
    right: -38px;
    transform: scale(0.6);
  }

.about .cont02 .cont02_01 h2 {
    text-align: center;
    font-size: 34px;
    font-weight: bold;
    line-height: 1;
    color: #082a4a;
  }

.about .cont02 .cont02_01 h2 span {
    position: relative;
    font-size: 18px;
    font-weight: bold;
    display: block;
    line-height: 1;
    color: #444;
    padding-bottom: 30px;
  }

.about .cont02 .cont02_01 h2 span::before {
    position: absolute;
    content: "";
    background: url(img/about_text01.png) center center / cover no-repeat;
    width: 335.3px;
    height: 40.6px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, calc(-50% - 15px));
    z-index: -1;
  }

.about .cont02 .cont02_01 .box {
    position: relative;
    margin-top: 25px;
  }

.about .cont02 .cont02_01 .box:first-of-type {
    margin-top: 50px;
  }

.about .cont02 .cont02_01 .box figure {
    position: absolute;
    width: 380px;
    left: 50%;
    transform: translateX(-50%);
    top: 15px;
    z-index: 1;
  }

.about .cont02 .cont02_01 .text_box {
    border-radius: 10px;
    background: #fff;
    padding: 272px 15px 30px;
  }

.about .cont02 .cont02_01 .box .text01 {
    font-size: 16px;
    margin-top: 15px;
    line-height: 2.3;
  }

.about .cont02 .cont02_01 .box h3 {
    position: relative;
    font-size: 20px;
    font-weight: bold;
    color: #082a4a;
    padding-left: 74px;
    line-height: 48px;
    margin-top: 25px;
  }

.about .cont02 .cont02_01 .box:nth-of-type(3) h3 {
    line-height: 1.5;
  }

.about .cont02 .cont02_01 .box h3::before {
    position: absolute;
    content: "";
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }

.about .cont02 .cont02_01 .box:nth-of-type(1) h3::before {
    background: url(img/vision01.png) center / cover;
    width: 34.4px;
    height: 44px;
  }

.about .cont02 .cont02_01 .box:nth-of-type(2) h3::before {
    background: url(img/vision02.png) center / cover;
    width: 39.2px;
    height: 44px;
  }

.about .cont02 .cont02_01 .box:nth-of-type(3) h3::before {
    background: url(img/vision03.png) center / cover;
    width: 39.2px;
    height: 44px;
  }

.about .cont02 .cont02_01 .box h3::after {
    position: absolute;
    content: "";
    left: 55px;
    top: 0;
    width: 3px;
    height: 48px;
    border-radius: 2px;
    background: var(--main-color);
  }

.about .cont02 .cont02_01 .box.box:nth-of-type(3) h3::after {
    top: 50%;
    transform: translateY(-50%);
  }

.about .cont02 .cont02_02 {
    background: #fff;
    border: 3px solid var(--main-color);
    padding: 0 0 45px;
    margin: 90px 15px 0;
    border-radius: 5px;
    box-sizing: border-box;
  }

.about .cont02 .cont02_02 h2 {
    position: relative;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    color: rgb(255, 255, 255);
    line-height: 60px;
    background: var(--main-color);
    border-radius: 2px 2px 0px 0px;
  }

.about .cont02 .cont02_02 h2::before {
    position: absolute;
    content: "";
    background: url(img/common_deco05.png) center / cover no-repeat;
    width: 104.8px;
    height: 120.8px;
    right: -27px;
    top: -75px;
    transform: scale(0.5);
  }

.about .cont02 .cont02_02 .tet_box {
    text-align: center;
    margin: 35px 15px 0;
  }

.about .cont02 .cont02_02 .tet_box .text01 {
    line-height: 1.3;
  }

.about .cont02 .cont02_02 .tet_box .text01 {
    font-size: 20px;
    font-weight: bold;
    color: #082a4a;
  }

.about .cont02 .cont02_02 .tet_box .text01 span {
    font-size: 22px;
    font-weight: bold;
    color: var(--main-color);
  }

.about .cont02 .cont02_02 .tet_box .text02 {
    font-size: 16px;
    margin-top: 20px;
    text-align: left;
  }

.about .cont02 .cont02_02 .tet_box:nth-of-type(1) .text02 {
    padding-bottom: 40px;
    border-bottom: 2px dashed var(--main-color);
  }

.about .cont02 .cont02_02 .tet_box .text02 span {
    font-size: 16px;
    font-weight: bold;
    color: var(--main-color);
  }

.about .cont03 {
    position: relative;
    padding: 45px 0 0;
  }

.about .cont03 .box {
    padding: 0 15px;
  }

.about .cont03::before {
    position: absolute;
    content: "";
    background: url(img/housecleaning_deco02.png) no-repeat;
    width: 215px;
    height: 225px;
    top: -76px;
    right: -30px;
    z-index: 1;
    transform: scale(0.5);
  }

.about .cont03 .box figure {
    position: absolute;
    top: 50px;
    left: 0;
    border: 2px solid var(--main-color);
    border-left: none;
    border-radius: 0 10px 10px 0;
    box-sizing: border-box;
    overflow: hidden;
    width: 420px;
  }

.about .cont03 .text_box {
    margin-top: 235px;
    position: relative;
    background: url(img/common_bg_01.png);
    border-radius: 10px 0 0 10px;
    padding: 30px 20px 25px;
    z-index: 1;
    right: 0;
    width: 420px;
  }

.about .cont03 .text_box h2 {
    position: relative;
    font-size: 20px;
    font-weight: bold;
    color: #082a4a;
    line-height: 1.5;
    padding-left: 20px;
    letter-spacing: -0.5px;
    word-break: keep-all;
  }

.about .cont03 .text_box h2::before {
    position: absolute;
    content: "";
    background: var(--main-color);
    width: 6px;
    height: 60px;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 3px;
  }

.about .cont03 .text_box .text01 {
    margin-top: 15px;
    font-size: 16px;
    width: 380px;
  }

.about .cont03 .review_box {
    text-align: center;
    padding: 0 30px;
    margin-top: 40px;
  }

.about .cont03 .review_box .cont {
    position: relative;
    background: #fff;
    border: 2px solid var(--main-color);
    border-radius: 10px;
    margin-top: 20px;
    padding: 25px 0;
    box-sizing: border-box;
  }

.about .cont03 .review_box.cont:first-of-type {
    margin-top: 50px;
  }

.about .cont03 .review_box .cont::before {
    position: absolute;
    content: "";
    background: url(img/common_deco02.png) center center / cover no-repeat;
    top: -9px;
    left: 0px;
    width: 89px;
    height: 103px;
    transform: scale(0.7);
  }

.about .cont03 .review_box .cont h3 {
    line-height: 1;
    font-size: 26px;
    font-weight: bold;
    color: var(--main-color);
  }

.about .cont03 .review_box .cont h3 span:nth-of-type(1) {
    display: block;
    font-weight: bold;
    color: #555;
    padding-bottom: 15px;
  }

.about .cont03 .review_box .cont h3 span:nth-of-type(2) {
    font-size: 44px;
    font-weight: bold;
  }

.about .cont03 .review_box .cont h3 span:nth-of-type(3) {
    font-size: 32px;
    font-weight: bold;
  }

.about .cont03 .review_box .cont .text02 {
    line-height: 1.5;
    font-size: 18px;
    font-weight: bold;
    margin-top: 15px;
  }

.about .topic_wrap {
    margin: 60px auto 80px;
    padding: 0 15px;
  }

.about .topic_wrap .breaking_wrap {
    position: relative;
    background: var(--main-light-color);
    border: 1px solid var(--main-color);
    border-radius: 10px;
    padding: 40px 8px 8px;
    box-sizing: border-box;
  }

.about .topic_wrap .breaking_wrap h2 {
    position: absolute;
    top: -17.5px;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    color: #444;
    font-size: 14px;
    font-weight: bold;
    width: 400px;
    height: 35px;
    line-height: 35px;
    border: 1px solid var(--main-color);
    border-radius: 17.5px;
    background: #fff;
  }

.about .topic_wrap .breaking_wrap h2 span {
    color: #082a4a;
    font-size: 16px;
    font-weight: bold;
  }

.about .topic_wrap .breaking_wrap h2::before {
    content: "";
    position: absolute;
    background: var(--main-color);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    width: 18px;
    height: 11px;
    bottom: -11px;
    left: 50%;
    transform: translateX(-50%);
  }

.about .topic_wrap .breaking_wrap .text01 {
    text-align: center;
    color: #082a4a;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.5;
    word-break: keep-all;
  }

.about .topic_wrap .breaking_wrap .breaking_box {
    height: 230px;
    background: #fff;
    border-radius: 5px;
    margin-top: 18px;
    overflow-y: auto;
    padding: 25px 15px 15px 15px;
    box-sizing: border-box;
  }

.about .topic_wrap .breaking_wrap .breaking_box .cont {
    position: relative;
  }

.about .topic_wrap .breaking_wrap .breaking_box .cont::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: repeating-linear-gradient(to right,
        #082a4a 0,
        #082a4a 11px,
        transparent 11px,
        transparent 22px);
  }

.about .topic_wrap .breaking_wrap .breaking_box .cont .date {
    color: #082a4a;
    font-weight: bold;
    line-height: 1;
    padding-top: 25px;
  }

.about .topic_wrap .breaking_wrap .breaking_box .cont:nth-of-type(1) .date {
    padding-top: 0;
  }

.about .topic_wrap .breaking_wrap .breaking_box .cont .text02 {
    line-height: 1.5;
    font-weight: bold;
    padding: 15px 0 25px;
  }

.about .topic_wrap .reviews_wrap {
    position: relative;
    background: var(--main-light-color);
    border: 1px solid var(--main-color);
    border-radius: 10px;
    padding: 40px 8px 8px;
    box-sizing: border-box;
    margin-top: 50px;
  }

.about .topic_wrap .reviews_wrap h2 {
    position: absolute;
    top: -17.5px;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    color: #444;
    font-size: 14px;
    font-weight: bold;
    width: 400px;
    height: 35px;
    line-height: 35px;
    border: 1px solid var(--main-color);
    border-radius: 17.5px;
    background: #fff;
  }

.about .topic_wrap .reviews_wrap h2 span {
    color: #082a4a;
    font-size: 16px;
    font-weight: bold;
  }

.about .topic_wrap .reviews_wrap h2::before {
    content: "";
    position: absolute;
    background: var(--main-color);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    width: 18px;
    height: 11px;
    bottom: -11px;
    left: 50%;
    transform: translateX(-50%);
  }

.about .topic_wrap .reviews_wrap .text01 {
    text-align: center;
    color: #082a4a;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.5;
  }

.about .topic_wrap .reviews_wrap .reviews_box {
    height: 260px;
    background: #fff;
    border-radius: 5px;
    margin-top: 18px;
    overflow: scroll;
  }
  

.faq .key .text01::after {
  background: url(img/faq_key_text.png) center no-repeat;
  width: 404px;
  height: 74px;
}

.faq .cont01,
.faq .cont02,
.faq .cont03 {
	box-sizing: border-box;
	margin: 70px 30px 0;
}

.faq .cont03 {
	margin: 70px 30px;
}

.faq .cont01 h2,
.faq .cont02 h2,
.faq .cont03 h2 {
	position: relative;
	font-size: 18px;
	font-weight: bold;
	color: #082a4a;
	padding-left: 55px;
	padding-bottom: 20px;
	line-height: 1.38;
}

.faq .cont01 h2:before,
.faq .cont02 h2:before,
.faq .cont03 h2:before {
	position: absolute;
	content: "";
	left: 0;
	top: -3px;
	width: 40px;
	height: 27px;
	background: url(img/key_deco01.png) center / contain no-repeat;
}

.faq .cont01 .box,
.faq .cont02 .box,
.faq .cont03 .box {
	padding: 30px 30px 30px 27px;
	border-top: 1px solid var(--main-color);
	position: relative;
	cursor: pointer;
}

.faq .cont01 .box:first-of-type,
.faq .cont02 .box:first-of-type,
.faq .cont03 .box:first-of-type {
	border-top: 2px solid var(--main-color);
}

.faq .cont01 .box:last-of-type,
.faq .cont02 .box:last-of-type,
.faq .cont03 .box:last-of-type {
	border-bottom: 1px solid var(--main-color);
}

.faq .cont01 .box span,
.faq .cont02 .box span,
.faq .cont03 .box span {
	position: absolute;
	top: 35px;
	right: 10px;
	width: 19px;
	height: 19px;
	background: var(--main-color);
	border-radius: 50%;
	transition: all .3s;
}

.faq .cont01 .box.active span,
.faq .cont02 .box.active span,
.faq .cont03 .box.active span {
	background: #bbbbbb;
	transition: all .3s;
}

.faq .cont01 .box span::before,
.faq .cont02 .box span::before,
.faq .cont03 .box span::before {
	content: "";
	width: 8px;
	height: 2px;
	background: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.faq .cont01 .box span::after,
.faq .cont02 .box span::after,
.faq .cont03 .box span::after {
	content: "";
	width: 2px;
	height: 8px;
	background: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	opacity: 1;
	transition: all .3s;
}

.faq .cont01 .box.active span::after,
.faq .cont02 .box.active span::after,
.faq .cont03 .box.active span::after {
	opacity: 0;
	transition: all .3s;
}

.faq .cont01 .box p,
.faq .cont02 .box p,
.faq .cont03 .box p {
	position: relative;
}

.faq .cont01 .box .qus::before,
.faq .cont02 .box .qus::before,
.faq .cont03 .box .qus::before {
	content: 'Q';
	position: absolute;
	top: -2px;
	left: -20px;
	font-size: 18px;
	font-weight: bold;
	color: var(--main-color);
}

.faq .cont01 .box .qus,
.faq .cont02 .box .qus,
.faq .cont03 .box .qus {
	font-size: 16px;
	line-height: 1.6;
	font-weight: bold;
}

.faq .cont01 .box.active .qus,
.faq .cont02 .box.active .qus,
.faq .cont03 .box.active .qus {
	color: #bbbbbb;
}

.faq .cont01 .box .ans,
.faq .cont02 .box .ans,
.faq .cont03 .box .ans {
	line-height: 2;
	padding-top: 15px;
	display: none;
}

.faq .cont02 .cancel-table {
	width: 100%;
	margin: 20px 0;
	border-collapse: collapse;
}

.faq .cont02  .cancel-table tr,
.faq .cont02  .cancel-table td {
	border: 1px solid #ddd;
	padding: 5px;
	font-size: 14px;
}

.faq .cont02  .cancel-table th {
	background: #f5f5f5;
}

.company .key .text01::after {
  background: url(img/company_key_text.png) center no-repeat;
  width: 500px;
  height: 74px;
}

.company .cont01 h2,
.company .cont02 h2,
.company .cont03 h2 {
	font-size: 22px;
	text-align: center;
	padding-bottom: 25px;
	font-weight: bold;
	position: relative;
}

.company .cont01 h2::before,
.company .cont02 h2::before,
.company .cont03 h2::before {
	content: '';
	font-size: 12px;
	font-weight: bold;
	color: var(--main-color);
	width: 100%;
	text-align: center;
	position: absolute;
	bottom: 0;
	left: 0;
}

.company .cont01 h2::before {
	content: "GREETING";
}

.company .cont02 h2::before {
	content: "OUTLINE";
}

.company .cont03 h2::before {
	content: "Specified Commercial Transaction Law";
}

.company table {
	width: 100%;
	text-align: left;
	margin: 40px auto 0;
	font-size: 14px;
}

.company table tr {
	border-top: 1px solid #fff;
	padding: 20px;
	display: block;
}

.company table tr:last-of-type {
	border-bottom: 1px solid #fff;
}

.company table th {
	display: block;
	font-weight: bold;
	margin-bottom: 10px;
}

.company table td {
	display: block;
}

.company .cont01 {
	margin: 60px auto;
	padding: 0 30px;
}

.company .cont01 .flex {
	margin-top: 20px;
}

.company .cont01 .flex .text_box {
	padding-top: 25px;
	line-height: 1.9;
}
.company .cont01 .flex .text_box .text01 span {
	display: block;
    margin-block: 10px;
}
.company .cont01 .flex .text_box .text01 .em {
    font-weight: bold;
}

.company .cont01 .flex .text_box .text02 {
	text-align: right;
	font-size: 24px;
	margin-top: 40px;
	font-weight: bold;
}

.company .cont01 .flex .text_box .text02 span {
	font-size: 16px;
	font-weight: bold;
}
.company .cont01 .flex .text_box h3 {
	font-size: 18px;
	padding-bottom: 12px;
}


.company .cont01 .flex .text_box .text02 {
	text-align: right;
	font-size: 18px;
	margin-top: 15px;
	font-weight: bold;
}

.company .cont01 .flex .text_box .text02 span {
	font-size: 14px;
	font-weight: bold;
}

.company .cont01 .flex .img img {
	width: 100%;
	border-radius: 10px;
}

.company .cont02 {
	margin: 60px auto 80px;
	padding: 60px 0 80px;
	background: var(--main-light-color);
}

.company .cont03 {
	/* margin: 60px auto; */
	margin: 80px auto 0;
	padding: 0 30px;
}

.company .cont03 table tr {
	border-top: 1px solid var(--main-color);
}

.company .cont03 table tr:last-of-type {
	border-bottom: 1px solid var(--main-color);
}

.flow .key .text01::after {
  background: url("img/flow_key_text.png");
  width: 282px;
  height: 74px;
}

.flow .cont01 {
 padding: 80px 20px;
}

.flow .cont01 h2 {
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.3;
  color: #082a4a;
  white-space: nowrap;
}

.flow .cont01 h2 span {
  position: relative;
  font-size: 14px;
  font-weight: bold;
  display: block;
  line-height: 1;
  color: #444;
  padding-bottom: 15px;
}

.flow .cont01 h2 span::before {
  position: absolute;
  content: "";
  background: url(img/flow_text01.png) center center / cover no-repeat;
  width: 226px;
  height: 58px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, calc(-50% - 10px)) scale(0.7);
  z-index: -1;
}

.flow .cont01 p {
  text-align: center;
  font-size: 16px;
  line-height: 2;
  margin-top: 35px;
}

.flow .cont02 .inner {
  position: relative;
  padding: 0;
}

.flow .cont02 .flow01,
.flow .cont02 .flow03,
.flow .cont02 .flow05 {
  background: var(--main-light-color);
}

.flow .cont02 .flow_box {
  position: relative;
  padding: 70px 0;
}

.flow .cont02 .flow_box::before {
  position: absolute;
  content: "";
  width: 44px;
  height: 32px;
  left: 47px;
  top: 347px;
  transform: scale(0.9);
}

.flow .cont02 .flow_box:nth-of-type(1)::before {
  background: url("img/common_no01.png") no-repeat;
  width: 39px;
}

.flow .cont02 .flow_box:nth-of-type(2)::before {
  background: url("img/common_no02.png") no-repeat;
}

.flow .cont02 .flow_box:nth-of-type(3)::before {
  background: url("img/common_no03.png") no-repeat;
}

.flow .cont02 .flow_box:nth-of-type(4)::before {
  background: url("img/common_no04.png") no-repeat;
}

.flow .cont02 .flow_box:nth-of-type(5)::before {
  background: url("img/common_no05.png") no-repeat;
}

.flow .cont02 .flow_box h3::after {
  position: absolute;
  content: "";
  background: var(--main-color);
  width: 4px;
  height: 36px;
  border-radius: 2px;
  left: 33px;
  top: 274px;
}

.flow .cont02 .flow_box figure img {
  width: 100%;
}

.flow .cont02 .flow_box .text_box {
  padding: 260px 30px 0;
}

.flow .cont02 .flow_box figure {
  position: absolute;
  width: 380px;
  text-align: center;
  top: 0;
  left: 50%;
  transform: translatex(-50%);
  border-radius: 10px;
  border: 3px solid var(--main-color);
  overflow: hidden;
}

.flow .cont02 .flow_box h3 {
  font-size: 18px;
  font-weight: bold;
  line-height: 30px;
  color: #082a4a;
  white-space: nowrap;
  width: fit-content;
  margin: 20px 0 10px 79px;
}

.flow .cont02 .flow_box .text01 {
  font-size: 16px;
  color: #082a4a;
  margin-top: 10px;
  line-height: 1.8;
}

.flow .cont02 .flow_box.flow01 .info_box {
  margin-top: 20px;
}

.flow .cont02 .flow_box.flow01 .info_box .tel {
  text-align: center;
}

.flow .cont02 .flow_box.flow01 .info_box .tel a {
  font-size: 16px;
  line-height: 1.8;
  font-weight: bold;
}

.flow .cont02 .flow_box.flow01 .info_box .btn-01 {
  width: 220px;
  height: 50px;
  margin: 15px auto 0;
}

.flow .cont02 .flow_box.flow01 .info_box .btn-01 a {
  display: block;
  background: #06c755 url(img/header_icon02.png) left 26px top 14px no-repeat;
  padding: 0px 0 0 58px;
  box-sizing: border-box;
  border: 1px solid #06c755;
  border-radius: 10px;
  font-size: 16px;
  line-height: 50px;
  color: #fff;
  font-weight: bold;
  letter-spacing: 1.5px;
}

.flow .cont02 .flow_box.flow02 .inner {
  position: relative;
}

.flow .cont02 .flow_box.flow04>.inner:not(.flow_04_sub) {
  position: relative;
}

.flow .cont02 .flow_box .flow_04_sub {
  background: var(--main-light-color);
  border: 3px solid var(--main-color);
  border-radius: 10px;
}

.flow .cont02 .flow_box .flow_04_sub .box {
  position: relative;
  margin-top: 50px;

}

.flow .cont02 .flow_box .flow_04_sub .box:first-of-type {
  margin-top: 25px;
}

.flow .cont02 .flow_box .flow_04_sub .box:last-of-type {
  margin-bottom: 50px;
}

.flow .cont02 .flow_box .flow_04_sub .text_box02 {
  padding: 230px 30px 0;
}

.flow .cont02 .flow_box .flow_04_sub .box figure {
  width: 100%;
}

.flow .cont02 .flow_box .flow_04_sub.inner {
  padding-top: 0;
  margin: 60px 15px 0;
}

.flow .cont02 .flow_box .flow_04_sub h4 {
  position: relative;
  font-size: 18px;
  font-weight: bold;
  color: #fff;
  background: var(--main-color);
  text-align: center;
  line-height: 40px;
  border-radius: 3px 3px 0 0;
  margin: -1px;
}

.flow .cont02 .flow_box .flow_04_sub h4::before {
  content: "";
  position: absolute;
  background: url(img/common_deco05.png) no-repeat;
  width: 131px;
  height: 151px;
  right: -22px;
  top: -72px;
  transform: scale(0.6);
}

.flow .cont02 .flow_box .flow_04_sub .ttl01 {
  position: relative;
  font-size: 20px;
  font-weight: bold;
  color: var(--main-color);
  padding-left: 18px;
  line-height: 25px;
  width: fit-content;
  margin-top: 20px;
}

.flow .cont02 .flow_box .flow_04_sub .ttl01::before {
  position: absolute;
  content: "";
  background: var(--main-color);
  width: 3px;
  height: 100%;
  border-radius: 4px;
  left: 0;
  top: 0;
}

.flow .cont02 .flow_box .flow_04_sub .ttl01 span {
  font-size: 14px;
  font-weight: bold;
}

.flow .cont02 .flow_box .flow_04_sub .box .text02 {
  font-size: 16px;
  position: relative;
  color: #082a4a;
  margin-top: 10px;
}

.flow .cont02 .flow_box .flow_04_sub .box .text02::before {
  position: absolute;
  content: "";
  width: 105%;
  height: 1px;
  background: #959595;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
}

.flow .cont02 .flow_box .flow_04_sub .box:last-of-type .text02::before {
  display: none;
}

.flow .cont02 .flow_box .flow_04_sub .text_box03 {
  margin: 30px;
  text-align: center;
  box-sizing: border-box;
}

.flow .cont02 .flow_box .flow_04_sub .text_box03 .ttl02 {
  width: 344px;
  color: #ffff00;
  background: #51aa81;
  line-height: 1.3;
  font-size: 16px;
  font-weight: bold;
  padding: 10px 0;
  border: 1px solid #51aa81;
}

.flow .cont02 .flow_box .flow_04_sub .text_box03 .text03 {
  width: 344px;
  background: #fff;
  font-weight: bold;
  font-size: 14px;
  padding: 17px 0;
  border: 1px solid #51aa81;
  border-top: none;
  line-height: 1.78;
}

.flow .cont02 .flow_box .flow_04_sub .text_box03 .text03 span {
  font-weight: bold;
  color: #51aa81;
}

.flow .cont02 .flow_box .flow_04_sub .box figure {
  width: 340px;
}

.flow .cont02 .flow_box .flow_04_sub .box figure img {
  width: 100%;
}

.flow .cont02 .flow05.flow_box .inner .text_box {
    padding: 260px 30px 0;
}

.flow .cont02 .flow05.flow_box::before {
  position: absolute;
  content: "";
  width: 44px;
  height: 32px;
  left: 47px;
  transform: scale(0.9);
}

.flow .cont02 .flow05.flow_box h3::after {
  position: absolute;
  content: "";
  background: var(--main-color);
  width: 4px;
  height: 36px;
  border-radius: 2px;
  left: 33px;
  top: 274px;
}
/* お問い合わせ案内（SP） */
.flow .cont02 .flow04 .flow_contact_note.text_box03 {
    box-sizing: border-box;
    position: relative;
    clear: both;
    padding: 0;
    width: calc(100% - 30px);
    max-width: none;
    margin: 30px auto 0;
    text-align: center;
}

.flow .cont02 .flow04 .flow_contact_note .ttl02 {
    box-sizing: border-box;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 8px 15px;
    background: #51aa81;
    color: #ffff00;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.5;
}

.flow .cont02 .flow04 .flow_contact_note .text03 {
    box-sizing: border-box;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 15px;
    background: #fff;
    border: 1px solid #51aa81;
    border-top: none;
    font-size: 14px;
    font-weight: bold;
    line-height: 2;
    text-align: left;
}

.flow .cont02 .flow04 .flow_contact_note .text03 span {
    color: #51aa81;
    font-weight: bold;
}



.reason .key .text01::after {
  background: url("img/reason_key_text.png");
  width: 404px;
  height: 74px;
}

.reason .cont01 {
  position: relative;
  margin: 100px auto 85px;
  padding: 0 15px;
}

.reason .cont01::before {
  position: absolute;
  content: "";
  background: url(img/common_deco08.png) center center / cover no-repeat;
  width: 295px;
  height: 210px;
  top: -138px;
  right: -44px;
  transform: scale(0.4);
}

.reason .cont01 h2 {
  font-size: 16px;
  font-weight: bold;
  padding-left: 25px;
  position: relative;
  line-height: 1.5;
}

.reason .cont01 h2::before {
  content: "";
  position: absolute;
  width: 5px;
  height: 65px;
  background: var(--main-color);
  border-radius: 4px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.reason .cont01 h2 span {
  display: block;
  font-weight: bold;
  font-size: 26px;
  color: var(--main-color);
}

.reason .cont01 p {
  margin-top: 20px;
  line-height: 2.3;
  font-size: 14px;
}

.reason .cont02 {
  background: var(--main-light-color);
}

.reason .cont02 .inner {
  padding: 80px 15px 110px;
}

.reason .cont02 .reason_box {
  position: relative;
  display: flex;
  padding-top: 250px;
  margin-top: 30px;
}

.reason .cont02 .reason_box:nth-of-type(1) {
  margin-bottom: 321px;
  margin-top: 0;
}

.reason .cont02 .reason_box:nth-of-type(2) {
  margin-bottom: 322px;
}

.reason .cont02 .reason_box:nth-of-type(3) {
  margin-bottom: 294px;
}

.reason .cont02 .reason_box:nth-of-type(4) {
  margin-bottom: 322px;
}

.reason .cont02 .reason_box:nth-of-type(5) {
  margin-bottom: 330px;
}

.reason .cont02 .reason_box:nth-of-type(7) {
  margin-bottom: 356px;
}

.reason .cont02 .reason_box:nth-of-type(8) {
  margin-bottom: 241px;
}

.reason .cont02 .reason_box .text_box {
  border-radius: 10px 0 0 10px;
  background: #fff;
  position: absolute;
  z-index: 1;
  right: -15px;
  width: 390px;
  padding: 25px 20px;
  margin-top: -30px;
  text-align: justify;
}

.reason .cont02 .reason_box .text_box h3 {
  position: relative;
  font-size: 18px;
  font-weight: bold;
  color: #082a4a;
  padding-left: 82px;
  line-height: 1.38;
}

.reason .cont02 .reason_box .text_box h3::before {
  position: absolute;
  content: "";
  left: 0;
  top: 50%;
  transform: translateY(-50%) scale(0.8);
}

.reason .cont02 .reason_box .text_box h3::after {
  position: absolute;
  content: "";
  left: 60px;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  height: 47px;
  border-radius: 2px;
  background: var(--main-color);
}

.reason .cont02 .reason_box .text_box:nth-of-type(1) h3::before {
  background: url(img/reason_no01.png);
  width: 43px;
  height: 48px;
}

.reason .cont02 .reason_box:nth-of-type(2) .text_box h3::before {
  background: url(img/reason_no02.png);
  width: 49px;
  height: 50px;
}

.reason .cont02 .reason_box:nth-of-type(3) .text_box h3::before {
  background: url(img/reason_no03.png);
  width: 49px;
  height: 50px;
}

.reason .cont02 .reason_box:nth-of-type(4) .text_box h3::before {
  background: url(img/reason_no04.png);
  width: 51px;
  height: 50px;
}

.reason .cont02 .reason_box:nth-of-type(5) .text_box h3::before {
  background: url(img/reason_no05.png);
  width: 49px;
  height: 50px;
}

.reason .cont02 .reason_box:nth-of-type(7) .text_box h3::before {
  background: url(img/reason_no07.png);
  width: 49px;
  height: 50px;
}

.reason .cont02 .reason_box:nth-of-type(8) .text_box h3::before {
  background: url(img/reason_no08.png);
  width: 50px;
  height: 50px;
}

.reason .cont02 .reason_box .text_box .text01 {
  font-size: 16px;
  margin-top: 15px;
  line-height: 1.8;
}

.reason .cont02 .reason_box figure {
  position: absolute;
  left: -20px;
  width: 420px;
  top: 0;
}

.reason .cont02 .reason_box figure img {
  border-radius: 0 10px 10px 0;
  border: 3px solid var(--main-color);
}

.reason .cont02 .reason06_box {
  background: #fff;
  border-radius: 10px;
  padding: 35px 15px;
}

.reason .cont02 .reason06_box h3 {
  position: relative;
  font-size: 18px;
  font-weight: bold;
  color: #082a4a;
  padding-left: 82px;
  line-height: 1.38;
}

.reason .cont02 .reason06_box h3::before {
  position: absolute;
  content: "";
  left: 0;
  top: 50%;
  transform: translateY(-50%) scale(0.8);
  background: url(img/reason_no06.png);
  width: 50px;
  height: 50px;
}

.reason .cont02 .reason06_box h3::after {
  position: absolute;
  content: "";
  left: 60px;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  height: 47px;
  border-radius: 2px;
  background: var(--main-color);
}

.reason .cont02 .reason06_box .text01 {
  margin-top: 16px;
}

.reason .cont02 .reason06_box .reason06_sub_box {
  border: 1px solid var(--main-color);
  border-radius: 5px;
  margin-top: 25px;
  padding: 50px 15px 45px;
  text-align: center;
}

.reason .cont02 .reason06_box .reason06_sub_box .text02 {
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.3;
  color: #082a4a;
}

.reason .cont02 .reason06_box .reason06_sub_box .text02 span {
  position: relative;
  font-size: 16px;
  font-weight: bold;
  display: block;
  line-height: 1;
  color: #444;
  padding-bottom: 20px;
  z-index: 0;
}

.reason .cont02 .reason06_box .reason06_sub_box .text02 span::before {
  position: absolute;
  content: "";
  background: url(img/reason_text01.png) center center / cover no-repeat;
  width: 415px;
  height: 58px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, calc(-50% - 10px)) scale(0.6);
  z-index: -1;
}

.reason .cont02 .reason06_box .reason06_sub_box .text03 {
  font-size: 16px;
  margin-top: 15px;
}

.reason .cont02 .reason06_box .reason06_sub_box .img_box {
  display: flex;
  justify-content: center;
  margin-top: 25px;
}

.reason .cont02 .reason06_box .reason06_sub_box .img_box .before,
.reason .cont02 .reason06_box .reason06_sub_box .img_box .after {
  position: relative;
}

.reason .cont02 .reason06_box .reason06_sub_box .img_box .before::before {
  position: absolute;
  content: "";
  background: url(img/common_deco11.png) center center / cover no-repeat;
  width: 16px;
  height: 30px;
  top: 50%;
  right: -8px;
  transform: translateY(-50%);
  z-index: 1;
}

.reason .cont02 .reason06_box .reason06_sub_box .img_box .before::after {
  position: absolute;
  content: "";
  background: url(img/before_text.png) no-repeat;
  width: 99px;
  height: 28px;
  top: 0;
  left: 0;
}

.reason .cont02 .reason06_box .reason06_sub_box .img_box .after::after {
  position: absolute;
  content: "";
  background: url(img/after_text.png) no-repeat;
  width: 99px;
  height: 28px;
  top: 0;
  left: 0;
}

.reason .cont02 .reason06_box .reason06_sub_box .button {
  position: relative;
  height: 50px;
  text-align: center;
  margin: 25px auto 0;
}

.reason .cont02 .reason06_box .reason06_sub_box .button a {
  display: block;
  background: var(--main-color);
  line-height: 50px;
  border-radius: 25px;
  font-weight: bold;
  color: #fff;
  font-size: 13px;
  padding-right: 13px;
}

.reason .cont02 .reason06_box .reason06_sub_box .button a::before {
  content: "";
  position: absolute;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  background: #fff;
  right: 14px;
  top: 0;
  bottom: 0;
  margin: auto 0;
  width: 6px;
  height: 10px;
}

.reason .cont02 .reason06_box .reason06_sub_box .button a span {
  content: "";
  position: absolute;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  background: #fff;
  right: 18px;
  top: 0;
  bottom: 0;
  margin: auto 0;
  width: 6px;
  height: 10px;
}

.reason .cont02 .reason_box:nth-of-type(7) .text_box .button {
  position: relative;
  width: 378px;
  height: 45px;
  text-align: center;
  margin: 15px 0 0;
}

.reason .cont02 .reason_box:nth-of-type(7) .text_box .button a {
  display: block;
  background: var(--main-color);
  line-height: 45px;
  border-radius: 25px;
  font-weight: bold;
  color: #fff;
}

.reason .cont02 .reason_box:nth-of-type(7) .text_box .button a::before {
  content: "";
  position: absolute;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  background: #fff;
  right: 18px;
  top: 0;
  bottom: 0;
  margin: auto 0;
  width: 6px;
  height: 10px;
}

.reason .cont03 {
  position: relative;
  padding: 80px 0 0;
}

.reason .cont03::before {
	position: absolute;
	content: "";
	background: url(img/common_illust02.png) center / cover no-repeat;
	width: 80px;
	height: 180px;
	top: -135px;
	left: 18px;
}

.reason .cont03::after {
	position: absolute;
	content: "";
	background: url(img/common_illust01.png) center center / cover no-repeat;
	right: 10px;
	top: -100px;
	width: 100px;
	height: 70px;
}

.reason .cont03 h2 {
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  line-height: 1;
  color: #082a4a;
}

.reason .cont03 h2 span {
  position: relative;
  font-size: 14px;
  font-weight: bold;
  display: block;
  line-height: 1;
  color: #444;
  padding-bottom: 15px;
  white-space: nowrap;
  width: fit-content;
  left: 50%;
  transform: translateX(-50%);
}

.reason .cont03 h2 span::before {
  position: absolute;
  content: "";
  background: url(img/reason_text02.png) center center / cover no-repeat;
  width: 580px;
  height: 58px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, calc(-50% - 15px)) scale(0.65);
  z-index: -1;
}

.reason .cont03 .text01 {
  font-size: 16px;
  line-height: 2.2;
  margin: 40px auto 30px;
  padding: 0 20px;
}

.reason .cont03 .scroll {
  overflow-x: auto;
  margin-left: 15px;
}

.reason .cont03 table {
  border-collapse: separate;
  width: 660px;
}

.reason .cont03 table th {
  vertical-align: middle;
}

.reason .cont03 table thead th.eclean {
  position: relative;
  background: var(--main-color);
  color: #fff;
  border: 4px solid var(--main-color);
  border-radius: 5px 5px 0 0;
  font-weight: bold;
  font-size: 18px;
}

.reason .cont03 table thead th.eclean::before {
  position: absolute;
  content: "";
  background: url(img/common_deco02.png) center center / cover no-repeat;
  top: -37px;
  right: -15px;
  height: 103px;
  width: 89px;
  transform: scale(0.3);
}

.reason .cont03 table tbody th {
  text-align: left;
  font-size: 14px;
  font-weight: bold;
  color: #fff;
  background: #0166b3;
  border-bottom: 1px solid #b0b0b0;
  box-sizing: border-box;
  padding: 0 20px;
  width: 160px;
  height: 40px;
  line-height: 1.6;
}

.reason .cont03 table tbody tr td {
  padding: 10px 20px;
  line-height: 1.6;
}

.reason .cont03 table tbody tr td.eclean {
  border-bottom: 1px solid #b0b0b0;
  border-left: 4px solid var(--main-color);
  border-right: 4px solid var(--main-color);
  box-sizing: border-box;
  background: var(--main-light-color);
  font-size: 15px;
  font-weight: bold;
  color: var(--main-color);
  vertical-align: middle;
  width: 260px;
  line-height: 1.6;
}

.reason .cont03 table tbody tr:last-of-type td.eclean {
  border-bottom: 4px solid var(--main-color);
}

.reason .cont03 table thead th.other {
  vertical-align: bottom;
}

.reason .cont03 table thead th.other span {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #c4c4c4;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  width: 260px;
}

.reason .cont03 table tbody tr td.other {
  border-bottom: 1px solid #b0b0b0;
  background: #f7f7f7;
  box-sizing: border-box;
  vertical-align: middle;
  font-size: 14px;
  width: 260px;
}

.reason p.cont04 {
  position: relative;
  text-align: center;
  font-weight: bold;
  font-size: 18px;
  height: 280px;
  line-height: 2;
  padding: 50px 0;
  box-sizing: border-box;
}

.reason p.cont04 span {
  font-weight: bold;
  font-size: 16px;
  color: var(--main-color);
  line-height: 2;
}

.reason p.cont04::before {
  position: absolute;
  content: "";
  background: url(img/common_deco02.png) center center / cover no-repeat;
  top: -21px;
  right: -8px;
  width: 89px;
  height: 103px;
  transform: scale(0.5);
}

.reason p.cont04::after {
  position: absolute;
  content: "";
  background: url(img/common_bg_01.png);
  background-size: 88px auto;
  width: 440px;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  height: 280px;
  z-index: -1;
}
}



