@charset "utf-8";
/*------------------------------------------------------------

	デフォルトスタイル

------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	font-size: 1em;
}
html {
	font-size: 62.5%;
}
body, table, input, textarea, select, option {
	font-family: 'Noto Sans JP', sans-serif;
}
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
	display: block;
}
ol, ul {
	list-style: none;
	box-sizing: border-box;
}
blockquote, q {
	quotes: none;
}
:focus {
	outline: 0;
}
ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}
img {
	vertical-align: top;
	max-width: 100%;
	height: auto;
}
a, a:link {
	color: #333;
	text-decoration: none;
	transition: .3s;
}
a:visited {
	color: #333;
}
a:hover {
	color: #333;
}
a:active {
	color: #333;
}
/*------------------------------------------------------------

	レイアウト

------------------------------------------------------------*/
body {
	min-width: 1280px;
	color: #333;
	font-size: 1.6rem;
	line-height: 1.625;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background-color: #fcf4e8;
}
.fixed {
	position: fixed;
	width: 100%;
	left: 0;
	overflow: scroll;
}
#container {
	text-align: left;
}
#main {
	display: block;
}
a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}
@media all and (min-width: 897px) {
	.sp {
		display: none !important;
	}
}
@media all and (max-width: 896px) {
	body {
		min-width: inherit;
		font-size: 1.5rem;
		line-height: 1.73;
	}
	a:hover, a:hover img {
		opacity: 1 !important;
	}
	.pc {
		display: none !important;
	}
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
}
/*------------------------------------------------------------

	ヘッダー

------------------------------------------------------------*/
#gHeader {
	width: 100%;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 888;
	background: url(img/common/h_bg01.jpg) repeat top center / 1440px auto;
}
#gHeader .hBox {
	padding-left: 69px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#gHeader h1 {
	width: 300px;
}
#gNavi .inner {
	display: flex;
	align-items: center;
}
#gNavi .linkList {
	margin: 7px 37px 0 0;
	display: flex;
}
#gNavi .linkList li:not(:last-of-type) {
	margin-right: 40px;
}
#gNavi .linkList a {
	color: #fff;
	font-weight: 500;
	line-height: 1.5;
	display: block;
}
#gNavi .btn {
	width: 250px;
}
#gNavi .btn a {
	padding: 13px 55px 17px 40px;
	display: block;
	color: #25A45C;
	font-weight: 700;
	text-align: center;
	background: url(img/common/icon01.png) no-repeat right 25px top calc(50% - 2px) / 25px auto;
	background-color: #fbcd4c;
}
@media (min-width: 897px) and (max-width: 1340px) {
	#gHeader .hBox {
		padding-left: 20px;
	}
	#gNavi .linkList li:not(:last-of-type) {
		margin-right: 20px;
	}
	#gNavi .btn {
		width: 230px;
	}
}
@media (min-width: 897px) and (max-width: 1200px) {
	#gHeader h1 {
		width: 260px;
	}
	#gNavi .linkList {
		margin-right: 20px;
	}
	#gNavi .btn {
		width: 200px;
	}
	#gNavi .btn a {
		padding: 13px 45px 17px 30px;
		background-position: right 15px center;
	}
}
@media (min-width: 897px) and (max-width: 1100px) {
	#gHeader h1 {
		width: 240px;
	}
	#gNavi .linkList {
		margin-right: 15px;
	}
	#gNavi .linkList li:not(:last-of-type) {
		margin-right: 15px;
	}
	#gNavi .linkList a {
		font-size: 1.4rem;
	}
	#gNavi .btn {
		width: 200px;
	}
	#gNavi .btn a {
		padding: 13px 45px 17px 30px;
		background-position: right 15px center;
	}
}
@media (min-width: 897px) and (max-width: 1000px) {
	#gHeader h1 {
		width: 220px;
	}
	#gNavi .linkList a {
		font-size: 1.3rem;
	}
	#gNavi .linkList li:not(:last-of-type) {
		margin-right: 10px;
	}
	#gNavi .btn {
		width: 180px;
	}
	#gNavi .btn a {
		padding: 16px 45px 20px 30px;
		font-size: 1.4rem;
	}
}
@media all and (min-width: 897px) {
	#gNavi .linkList a:hover {
		opacity: 0.7;
	}
	#gNavi .btn a:hover {
		opacity: 0.7;
	}
	#gNavi {
		display: block !important;
	}
}
@media all and (max-width: 896px) {
	#gHeader {
		width: 100%;
		position: fixed;
		left: 0;
		top: 0;
		z-index: 8888;
		background: url(img/common/h_bg01.jpg) repeat top center / 1440px auto;
	}
	#gHeader .hBox {
		padding-left: 0;
		display: block;
	}
	#gHeader h1 {
		display: none;
	}
	#gNavi .logo {
		width: 190px;
		position: absolute;
		left: 15px;
		top: 30px;
		z-index: 99999;
	}
	#gNavi .logo a {
		display: block;
	}
	#gNavi {
		width: 100%;
		height: 100%;
		position: fixed;
		left: 0;
		top: 0;
		z-index: 88888;
		box-sizing: border-box;
		overflow-y: auto;
		background: url(img/common/m_bg01.jpg) repeat-x center bottom / cover;
		display: none;
	}
	#gNavi .inner {
		padding: 92px 30px 80px;
		position: relative;
		min-height: 100%;
		display: block;
		box-sizing: border-box;
	}
	#gNavi .close {
		width: 27px;
		position: absolute;
		right: 29px;
		top: 49px;
		cursor: pointer;
		z-index: 5;
	}
	#gNavi .linkList {
		margin: 7px 0 18px;
		display: block;
	}
	#gNavi .linkList li:not(:last-of-type) {
		margin-right: 0;
	}
	#gNavi .linkList a {
		padding: 19px 0 20px;
		font-size: 1.8rem;
		display: flex;
		align-items: center;
		justify-content: space-between;
		border-bottom: 1px solid #fff;
	}
	#gNavi .linkList a span {
		color: rgba(255, 255, 255, 0.7);
		font-weight: 300;
		font-size: 1.8rem;
		transform: translateY(2px);
		font-family: 'Heebo', sans-serif;
	}
	#gNavi .linkUl a {
		display: inline-block;
		color: #fff;
		font-size: 1.3rem;
		text-decoration: underline;
		vertical-align: top;
	}
	#gNavi .btn {
		margin: 0;
		width: 265px;
		position: absolute;
		right: 0;
		bottom: 0;
	}
	#gNavi .btn a {
		padding: 25px 35px 20px 19px;
		display: block;
		font-size: 1.4rem;
		border-radius: 30px 0 0 0;
		background-size: 22px auto;
		background-position: right 12px top calc(50% + 3px);
	}
}
/*------------------------------------------------------------

	フッター

------------------------------------------------------------*/
#gFooter {
	padding: 36px 0 13px;
	background: url(img/common/f_bg.png) repeat left center / 1440px auto;
}
#gFooter .fBox {
	margin: 0 auto;
	width: 1200px;
}
#gFooter .tBox {
	margin-bottom: 28px;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
#gFooter .logo {
	width: 318px;
}
#gFooter .fNavi {
	margin-bottom: -9px;
	display: flex;
}
#gFooter .fNavi li:not(:last-of-type) {
	margin-right: 40px;
}
#gFooter .fNavi a {
	display: block;
	color: #fff;
	font-weight: 500;
}
#gFooter .txtBox {
	margin-bottom: 60px;
}
#gFooter .txtBox p {
	margin-bottom: 2px;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.71;
	letter-spacing: 0.05em;
}
#gFooter .txtBox p a {
	color: #fff;
}
#gFooter .txtBox .txt01 {
	margin-bottom: 4px;
	font-size: 1.6rem;
	line-height: 1.6;
}
#gFooter .txtBox .txt01:last-of-type {
	margin-bottom: 0;
}
#gFooter .txtBox .txt01 .fax {
	text-decoration: none;
	pointer-events: none;
	cursor: default;
}
#gFooter .btmBox {
	position: relative;
}
#gFooter .btmBox .linkList {
	max-width: 35%;
	position: absolute;
	left: 0;
	bottom: 0;
}
#gFooter .btmBox .linkList a {
	display: block;
	color: #fff;
	font-size: 1.3rem;
	text-decoration: underline;
}
#gFooter .btmBox .copyright {
	display: block;
	color: #fff;
	font-size: 1.2rem;
	font-style: normal;
	text-align: center;
}
@media all and (min-width: 897px) {
	#gFooter .btmBox .linkList a:hover {
		text-decoration: none;
	}
	#gFooter .fNavi a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	#gFooter {
		padding: 37px 0 5px;
		background-image: url(img/common/f_bg_sp.jpg);
		background-size: 375px auto;
	}
	#gFooter .fBox {
		margin: 0 15px;
		width: auto;
	}
	#gFooter .tBox {
		margin-bottom: 13px;
		display: block;
	}
	#gFooter .logo {
		margin-bottom: 35px;
		width: 240px;
	}
	#gFooter .fNavi {
		margin: 0 15px;
		display: block;
	}
	#gFooter .fNavi li:not(:last-of-type) {
		margin: 0 0 10px;
	}
	#gFooter .txtBox {
		margin: 0 15px 8px;
	}
	#gFooter .btmBox .linkList {
		margin: 0 15px 23px;
		max-width: inherit;
		position: relative;
	}
	#gFooter .btmBox .linkList a {
		display: block;
		color: #fff;
		font-size: 1.3rem;
		text-decoration: underline;
	}
}
/*------------------------------------------------------------

	汎用スタイル

------------------------------------------------------------*/
/* 81-XXX */
/* clearfix */
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
/* flex */
.flex, .flexA, .flexB, .flexC {
	display: flex;
	flex-wrap: wrap;
}
.flexA {
	justify-content: space-around;
}
.flexB {
	justify-content: space-between;
}
.flexC {
	justify-content: center;
}
.jp {
	font-family: 'Noto Sans JP', sans-serif;
}
.en {
	font-family: 'Heebo', sans-serif;
}
/*------------------------------------------------------------

	common

------------------------------------------------------------*/
.comBox {
	margin: 0 auto;
	width: 1200px;
	position: relative;
}
@media all and (max-width: 896px) {
	.comBox {
		margin: 0 15px;
		width: auto;
	}
}
/*------------------------------------------------------------

	pageTitle

------------------------------------------------------------*/
.pageTitle {
	margin-bottom: 52px;
	padding: 139px 0 0;
	position: relative;
	background: url(img/common/page_bg01.jpg) repeat center top / 1440px auto;
}
.pageTitle::after {
	width: 100%;
	height: 111px;
	position: absolute;
	left: 0;
	bottom: -2px;
	background: url(img/common/page_bg02.png) no-repeat center center / 100% 100%;
	content: '';
}
.pageTitle .inner {
	margin: 0 auto;
	max-width: 1200px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	z-index: 4;
}
.pageTitle .pho {
	width: 540px;
}
.pageTitle h2 {
	margin: -12px -30px 0 0;
	width: 690px;
	position: relative;
	color: #fff;
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: 0.05em;
}
.pageTitle h2::after {
	width: 35px;
	height: 2px;
	position: absolute;
	left: 0;
	bottom: 0;
	background-color: #fff;
	content: '';
}
.pageTitle h2 span {
	margin-top: -2px;
	display: block;
	font-size: 6.5rem;
	font-weight: 600;
	line-height: 1.46;
	letter-spacing: 0.05em;
}
.pageTitle .scroll {
	width: 20px;
	position: absolute;
	left: 47px;
	bottom: 110px;
}
.pageTitle .scroll a {
	padding-bottom: 33px;
	position: relative;
	display: block;
	color: #fff;
	font-size: 1.3rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	writing-mode: vertical-rl;
}
.pageTitle .scroll a::before {
	width: 6px;
	height: 28px;
	position: absolute;
	left: 6px;
	bottom: 0;
	background: url(img/common/page_bg03.png) no-repeat center center / 100% auto;
	content: '';
	mix-blend-mode: overlay;
}
@media (min-width: 897px) and (max-width: 1400px) {
	.pageTitle {
		padding: 139px 70px 0;
	}
	.pageTitle .scroll {
		left: 20px;
	}
	.pageTitle h2 span {
		font-size: 6rem;
	}
}
@media all and (min-width: 897px) {
	.pageTitle .scroll a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.pageTitle {
		margin-bottom: 4px;
		padding: 127px 0 145px;
		background-image: url(img/common/page_bg01_sp.jpg);
		background-size: 100% auto;
	}
	.pageTitle::after {
		height: 74px;
		bottom: -9px;
		background-image: url(img/common/page_bg02_sp.png);
	}
	.pageTitle .inner {
		margin: 0 30px;
		max-width: inherit;
		position: relative;
		display: flex;
		align-items: center;
		justify-content: space-between;
		z-index: 4;
	}
	.pageTitle .pho {
		width: 180px;
		position: absolute;
		right: -19px;
		bottom: -122px;
	}
	.pageTitle h2 {
		/* padding-bottom: 11px; */
		padding-bottom: 18px;
		margin: 0;
		position: relative;
		width: auto;
		font-size: 1.8rem;
		z-index: 3;
	}
	.pageTitle h2 span {
		/* margin-top: 6px;

		font-size: 4.5rem; */
		margin-top: 21px;
		font-size: 3rem;
	}
	.pageTitle .scroll {
		left: 6px;
		bottom: 63px;
	}
	.pageTitle .scroll a {
		padding-bottom: 31px;
		font-size: 1.1rem;
	}
	.pageTitle .scroll a::before {
		width: 4px;
		height: 22px;
		left: 6px;
		background-image: url(img/common/page_bg03_sp.png);
	}
}
@media all and (max-width: 374px) {
	.pageTitle h2 {
		font-size: 1.4rem;
	}
	.pageTitle h2 span {
		font-size: 2.4rem;
	}
}
/*------------------------------------------------------------

	headLine01

------------------------------------------------------------*/
.headLine01 {
	margin-bottom: 35px;
	padding-bottom: 8px;
	position: relative;
	color: #25a45c;
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: 0.05em;
}
.headLine01::after {
	width: 35px;
	height: 2px;
	position: absolute;
	left: 0;
	bottom: 0;
	background-color: #25A45C;
	content: '';
}
.headLine01 span {
	margin-top: 5px;
	display: block;
	font-size: 4rem;
	font-weight: 600;
	letter-spacing: 0.05em;
}
@media all and (max-width: 896px) {
	.headLine01 {
		margin-bottom: 39px;
		padding-bottom: 7px;
		font-size: 1.6rem;
	}
	.headLine01 span {
		margin-top: 4px;
		font-size: 3.5rem;
	}
}
/*------------------------------------------------------------

	headLine02

------------------------------------------------------------*/
.headLine02 {
	margin-bottom: 63px;
	padding-bottom: 3px;
	position: relative;
	color: #25a45c;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.05em;
	text-align: center;
	z-index: 3;
}
.headLine02::after {
	width: 35px;
	height: 2px;
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	background-color: #25a45c;
	content: '';
}
.headLine02 span {
	margin-top: 8px;
	display: block;
	font-size: 5.7rem;
	font-weight: 600;
	letter-spacing: 0.05em;
}
.headLine02.left {
	text-align: left;
}
.headLine02.cor01 {
	color: #fff;
}
.headLine02.cor01::after {
	background-color: #fff;
}
.headLine02.left::after {
	left: 0;
	transform: translateX(0);
}
.headLine02.cor01 span {
	margin-top: 3px;
}
@media all and (max-width: 896px) {
	.headLine02 {
		margin-bottom: 39px;
		padding-bottom: 9px;
		font-size: 1.6rem;
	}
	.headLine02 span {
		margin-top: 11px;
		font-size: 4rem;
	}
	.headLine02.cor01 span {
		margin-top: 7px;
	}
}
/*------------------------------------------------------------

	comTitle

------------------------------------------------------------*/
.comTitle {
	position: absolute;
	left: 0;
	top: 8px;
	color: #f6eee3;
	font-size: 13.6rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.05em;
}
@media all and (max-width: 896px) {
	.comTitle {
		left: calc(50% - 172px);
		top: 20px;
		font-size: 7.8rem;
	}
}
/*------------------------------------------------------------

	mailForm

------------------------------------------------------------*/
.mailForm {
	margin: 0 auto 172px;
	padding: 89px 20px 70px;
	width: 1000px;
	border-radius: 5px;
	box-sizing: border-box;
	transform: translateX(-2px);
	box-shadow: 0px 10px 15px rgba(85, 85, 85, 0.16);
	background-color: #fff;
}
.mailForm form {
	margin: 0 auto;
	width: 671px;
}
.mailForm .formDl {
	margin-bottom: 62px;
}
.mailForm .formDl dt {
	margin-bottom: 17px;
	color: #25a45c;
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	word-break: break-all;
}
.mailForm .formDl dt.dtStyle01 {
	margin-bottom: 18px;
}
.mailForm .formDl dd {
	margin-bottom: 36px;
	word-break: break-all;
}
.mailForm .formDl dd:last-of-type {
	margin-bottom: 0;
}
.mailForm .formDl dd.ddStyle01 {
	margin-bottom: 39px;
}
.mailForm .radioList {
	display: flex;
	flex-wrap: wrap;
}
.mailForm .radioList li:not(:last-of-type) {
	margin-right: 90px;
}
.mailForm .radioList input {
	display: none;
}
.mailForm .radioList input + span {
	padding: 2px 38px 2px 0;
	display: block;
	letter-spacing: 0.05em;
	background: url(img/common/icon05.png) no-repeat right center / 20px auto;
	cursor: pointer;
}
.mailForm .radioList input:checked + span {
	background-image: url(img/common/icon06.png);
}
.mailForm .textList li {
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	word-break: break-all;
}
.mailForm .textList li:last-of-type {
	margin-bottom: 0;
}
.mailForm .textList .ttl {
	margin-top: -10px;
	width: 155px;
	line-height: 1.4;
	letter-spacing: 0.05em;
}
.mailForm .textList02 .ttl {
	margin-top: 0;
}
.mailForm .textList .rBox {
	width: 506px;
}
.mailForm .inList {
	display: flex;
	flex-wrap: wrap;
}
.mailForm input[type="text"], .mailForm input[type="tel"], .mailForm input[type="email"], .mailForm input[type="submit"], .mailForm input[type="button"], .mailForm input[type="radio"], .mailForm input[type="checkbox"], .mailForm select {
	padding: 5px 15px;
	width: 500px;
	height: 45px;
	color: #333;
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	border-radius: 4px;
	box-shadow: none;
	border: 1px solid #aeaeae;
	box-sizing: border-box;
	background: #fff;
	appearance: none;
}
.mailForm input::-webkit-input-placeholder {
	color: #B8B8B8;
}
.mailForm input:-moz-placeholder {
	color: #B8B8B8;
}
.mailForm input::-moz-placeholder {
	color: #B8B8B8;
}
.mailForm input:-ms-input-placeholder {
	color: #B8B8B8;
}
.mailForm select {
	width: 170px;
	height: 40px;
	background: url(img/common/icon07.png) no-repeat right 8px top calc(50% + 2px) / 14px auto;
}
.mailForm input.wid01 {
	width: 160px;
}
.mailForm input.wid02 {
	width: 300px;
}
.mailForm .inList select {
	margin-right: 10px;
	width: 130px;
}
.mailForm .textList .inList li {
	margin: 0 10px 0 0;
}
.mailForm .textList .inList li:last-of-type {
	margin-right: 0;
}
.mailForm .textList.textList01 li {
	margin-bottom: 15px;
}
.mailForm .textList.textList01 li:last-of-type {
	margin-bottom: 0;
}
.mailForm .textList.textList01 .list01 {
	margin-bottom: 24px;
}
.mailForm .textList.textList01 .list03 {
	margin-bottom: 19px;
}
.mailForm .textList.textList01 .list02 {
	align-items: flex-start;
}
.mailForm .textList.textList01 .list02 .ttl {
	margin-top: 7px;
}
.mailForm .textList.textList01 .ttl {
	margin-top: 2px;
}
.mailForm .textList.textList01 .ttl span {
	margin-left: 9px;
	color: #25A45C;
	font-size: 1.3rem;
	vertical-align: 1px;
}
.mailForm .textList .txt {
	margin-left: 6px;
	vertical-align: bottom;
}
.mailForm .textList .radioList li {
	margin-bottom: 0;
}
.mailForm .textList.textList01 .list02 input {
	margin-top: 10px;
}
.mailForm .agree {
	margin-bottom: 27px;
	text-align: center;
}
.mailForm .agree input {
	display: none;
}
.mailForm .agree input + span {
	padding-left: 35px;
	display: inline-block;
	position: relative;
	font-size: 1.6rem;
	line-height: 1.31;
	vertical-align: top;
	background: url(img/common/icon08.png) no-repeat left center / 20px auto;
	cursor: pointer;
}
.mailForm .agree input + span::before {
	width: 16px;
	height: 16px;
	position: absolute;
	left: 2px;
	top: 50%;
	transform: translateY(-50%);
	background: url(img/common/icon15.png) no-repeat center center / 100% auto;
	content: '';
	transition: .3s;
	opacity: 0;
}
.mailForm .agree input:checked + span::before {
	opacity: 1;
}
.mailForm .agree input + span a {
	display: inline-block;
	text-decoration: underline;
	vertical-align: top;
}
.mailForm .submit {
	margin-top: -20px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.mailForm .submit li {
	margin: 20px 10px 0;
	width: 275px;
}
.mailForm .submit input {
	padding: 5px 55px;
	width: 100%;
	height: 60px;
	color: #25A45C;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 0;
	text-align: center;
	border-radius: 60px;
	border-color: #FBCD4C;
	background: url(img/common/icon09.png) no-repeat top calc(50% + 2px) right 29px / 21px auto;
	background-color: #FBCD4C;
	cursor: pointer;
}
.mailForm.confirm .inList {
	justify-content: flex-start;
}
.mailForm.confirm .inList li {
	margin: 0 5px 0 0;
	width: auto;
}
.errorMsg {
	margin-bottom: 20px;
	color: #f00;
}
@media all and (min-width: 897px) {
	.mailForm .submit input:hover {
		opacity: 0.7;
	}
	.mailForm .agree input + span a:hover {
		text-decoration: none;
	}
}
@media all and (max-width: 896px) {
	.mailForm {
		margin: 0 0 38px;
		padding: 38px 15px 61px;
		width: auto;
		transform: translateX(0);
	}
	.mailForm form {
		margin: 0 auto;
		width: auto;
	}
	.mailForm .formDl {
		margin-bottom: 40px;
	}
	.mailForm .formDl dt {
		margin-bottom: 11px;
		font-size: 1.6rem;
	}
	.mailForm .formDl dt.dtStyle01 {
		margin-bottom: 13px;
	}
	.mailForm .formDl dt.dtStyle02 {
		margin-bottom: 13px;
	}
	.mailForm .formDl dd {
		margin-bottom: 21px;
	}
	.mailForm .formDl dd:last-of-type {
		margin-bottom: 0;
	}
	.mailForm .formDl dd.ddStyle01 {
		margin-bottom: 23px;
	}
	.mailForm .radioList li:not(:last-of-type) {
		margin-right: 40px;
	}
	.mailForm .radioList input + span {
		padding-right: 27px;
		background-size: 18px auto;
	}
	.mailForm .radioList input:checked + span {
		background-image: url(img/common/icon06.png);
	}
	.mailForm .textList li {
		margin-bottom: 10px;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.mailForm .textList02 li {
		display: block;
	}
	.mailForm .textList li:last-of-type {
		margin-bottom: 0;
	}
	.mailForm .textList .ttl {
		margin-top: -10px;
		width: 90px;
		line-height: 1.4;
		letter-spacing: 0.05em;
	}
	.mailForm .textList02 .ttl {
		margin: 0 0 5px;
		width: auto;
	}
	.mailForm .textList .rBox {
		width: calc(100% - 95px);
	}
	.mailForm .textList02 .rBox {
		width: auto;
	}
	.mailForm input[type="text"], .mailForm input[type="tel"], .mailForm input[type="email"], .mailForm input[type="submit"], .mailForm input[type="button"], .mailForm input[type="radio"], .mailForm input[type="checkbox"], .mailForm select {
		padding: 5px 9px;
		width: 100%;
		height: 40px;
		font-size: 1.5rem;
	}
	.mailForm select {
		width: 100%;
		height: 40px;
		background-position: right 7px top calc(50% + 3px);
	}
	.mailForm input.wid01 {
		width: 29.33vw;
	}
	.mailForm input.wid02 {
		width: 100%;
	}
	.mailForm .textList.textList02 .inList {
		justify-content: space-between;
	}
	.mailForm .textList.textList02 .inList li {
		margin: 0;
		width: 30%;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.mailForm .textList.textList02 .inList li:nth-of-type(3n) {
		margin-right: 1.4%;
		width: 35%;
	}
	.mailForm .inList li select {
		margin-right: 0;
		width: calc(100% - 20px);
	}
	.mailForm .inList li:nth-of-type(3n) select {
		width: calc(100% - 36px);
	}
	.mailForm .textList.textList01 li {
		margin-bottom: 10px;
	}
	.mailForm .textList.textList01 li:last-of-type {
		margin-bottom: 0;
	}
	.mailForm .textList.textList01 .list01 {
		margin-bottom: 18px;
	}
	.mailForm .textList.textList01 .list03 {
		margin: 13px 0 10px;
	}
	.mailForm .textList.textList01 .list02 {
		align-items: flex-start;
	}
	.mailForm .textList.textList01 .list02 .ttl {
		margin-top: 7px;
	}
	.mailForm .textList.textList01 .ttl {
		margin-top: 2px;
	}
	.mailForm .textList.textList01 .ttl span {
		margin-left: 4px;
		font-size: 1.4rem;
		vertical-align: 1px;
	}
	.mailForm .textList.textList01 .radioList li {
		margin-right: 67px;
	}
	.mailForm .textList.textList01 .radioList li:last-of-type {
		margin-right: 0;
	}
	.mailForm .textList.textList01 .radioList input + span {
		padding-right: 32px;
	}
	.mailForm .textList .txt {
		margin-left: 6px;
		vertical-align: bottom;
	}
	.mailForm .textList .radioList li {
		margin-bottom: 0;
	}
	.mailForm .textList.textList01 .list02 input {
		margin-top: 5px;
	}
	.mailForm .textList.textList01 .list04 .ttl {
		width: 138px;
	}
	.mailForm .textList.textList01 .list04 .rBox {
		width: calc(100% - 143px);
	}
	.mailForm .agree {
		margin-bottom: 27px;
	}
	.mailForm .agree input + span {
		padding: 1px 0 1px 35px;
		background-position: left center;
		font-size: 1.5rem;
	}
	.mailForm .submit {
		margin-top: 0;
		display: block;
	}
	.mailForm .submit li {
		margin: 0 auto 20px;
		width: auto;
		max-width: 275px;
	}
	.mailForm .submit li:last-of-type {
		margin-bottom: 0;
	}
	.mailForm .submit input {
		width: 100%;
		height: 60px;
		color: #25A45C;
		font-size: 1.6rem;
		font-weight: 700;
		letter-spacing: 0;
		text-align: center;
		border-radius: 60px;
		border-color: #FBCD4C;
		background: url(img/common/icon09.png) no-repeat top calc(50% + 2px) right 29px / 21px auto;
		background-color: #FBCD4C;
		cursor: pointer;
	}
	.mailForm.confirm .textList.textList02 .inList {
		justify-content: flex-start;
	}
	.mailForm.confirm .textList.textList02 .inList li {
		margin: 0 5px 0 0;
		width: auto;
		display: block;
	}
}
@media all and (max-width: 374px) {
	.mailForm .textList.textList01 .radioList li {
		margin-right: 20px;
	}
	.mailForm .agree input + span {
		padding-left: 26px;
		font-size: 1.4rem;
		background-size: 16px auto;
		background-position: left center;
	}
}
/*------------------------------------------------------------

	popBox

------------------------------------------------------------*/
.popBox {
	margin: 0 auto;
	padding: 60px 20px;
	width: 100%;
	position: relative;
	max-width: 1200px;
	box-sizing: border-box;
	background-color: #fff;
	z-index: 9999;
}
.popBox .close {
	width: 73px;
	position: absolute;
	right: -37px;
	top: -26px;
	cursor: pointer;
}
.popBox .inner {
	margin: 0 auto;
	width: auto;
	max-width: 836px;
}
.popBox h2 {
	margin-bottom: 49px;
	color: #0a0a0a;
	font-size: 3.2rem;
	letter-spacing: 0.05em;
	text-align: center;
}
.popBox .photoBox {
	padding: 9px 25px 18px;
	border: 2px solid #fff;
	background-color: #faf3e7;
}
.popBox .photoBox h3 {
	margin-bottom: 14px;
	color: #0a0a0a;
	font-size: 2.6rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	text-align: center;
}
.popBox .mvBox {
	aspect-ratio: 560/316;
}
.popBox .mvBox iframe {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.mfp-container {
	padding: 40px 50px;
	position: fixed;
	overflow-y: auto;
}
.mfp-fade.mfp-bg {
	opacity: 0;
	background-color: #606060;
	-webkit-transition: all 0.5s ease-out;
	transition: all 0.5s ease-out;
}
.mfp-fade.mfp-bg.mfp-ready {
	opacity: 0.75;
}
.mfp-fade.mfp-bg.mfp-removing {
	opacity: 0;
}
.mfp-fade.mfp-wrap .mfp-content {
	opacity: 0;
	-webkit-transition: all 0.5s ease-out;
	transition: all 0.5s ease-out;
}
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
	opacity: 1;
}
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
	opacity: 0;
}

.popYoutube .mfp-fade.mfp-wrap .mfp-content {
	opacity: 0;
	transform: scale(0.9);
	transition: all 0.5s;
}
.popYoutube .mfp-fade.mfp-wrap.mfp-ready .mfp-content {
	transform: scale(1);
	opacity: 1;
}
.popYoutube .mfp-fade.mfp-wrap.mfp-removing .mfp-content {
	opacity: 0;
	transform: scale(0.9);
}
.popYoutube .mfp-fade.mfp-bg {
	background-color: #000;
}
.popYoutube .mfp-fade.mfp-bg.mfp-ready {
	opacity: 0.8;
}
.popYoutube .mfp-fade.mfp-bg.mfp-removing {
	opacity: 0;
}
.popYoutube .popBox {
	padding: 0;
	background-color: transparent;
}
.popYoutube .popBox .inner {
	max-width: inherit;
}
.popYoutube .popBox .close {
	position: absolute;
    top: -4.2rem;
    right: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 3.2rem;
    height: 3.2rem;
}
@media all and (min-width: 897px) {
	.popBox .close:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.popBox {
		padding: 40px 15px;
		width: 100%;
		max-width: calc(100vw - 30px);
	}
	.popBox .close {
		width: 43px;
		right: -13px;
		top: -14px;
	}
	.popBox .inner {
		margin: 0 auto;
		width: auto;
	}
	.popBox h2 {
		margin-bottom: 24px;
		font-size: 1.8rem;
		font-weight: 500;
	}
	.popBox .photoBox {
		padding: 3px 10px 6px;
	}
	.popBox .photoBox h3 {
		margin-bottom: 4px;
		font-size: 0.9rem;
	}
	.popBox .photoBox .pho {
		margin: 0 -2px 0 -3px;
	}
	.mfp-container {
		padding: 40px 6px;
	}
}
/*------------------------------------------------------------

	fixBtn

------------------------------------------------------------*/
.fixBtn {
	width: 179px;
	position: absolute;
	right: 41px;
	top: 0;
	z-index: 999;
}
.fixBtn a {
	height: 55px;
	padding: 16px 5px 15px 15px;
	position: relative;
	display: block;
	color: #25a45c;
	font-size: 1.4rem;
	font-weight: 700;
	text-align: center;
	box-sizing: border-box;
	border-radius: 0 0 0 15px;
	background-color: #fbcd4c;
}
.fixBtn a::after {
	width: 1px;
	height: 26px;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	background-color: #25a45c;
	content: '';
}
@media all and (max-width: 896px) {}
/*------------------------------------------------------------

	menu

------------------------------------------------------------*/
.menu {
	width: 41px;
	height: 55px;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 999;
	background-color: #fbcd4c;
	cursor: pointer;
}
.menu span {
	width: 4px;
	height: 4px;
	position: absolute;
	left: 10px;
	top: calc(50% - 2px);
	border-radius: 50%;
	background-color: #25a45c;
}
.menu span:nth-of-type(2) {
	left: 19px;
}
.menu span:nth-of-type(3) {
	left: 28px;
}
@media all and (max-width: 896px) {}
/*------------------------------------------------------------

	pageNavi

------------------------------------------------------------*/
.wp-pagenavi {
	margin-top: -20px;
	font-size: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.wp-pagenavi a, .wp-pagenavi span {
	width: 42px;
	height: 42px;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 600;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	padding: 4px 5px 2px;
	margin: 20px 10px 0;
	border-radius: 50%;
	box-sizing: border-box;
	background: url(img/common/page_bg04.png) no-repeat center center / cover;
	font-family: 'Heebo', sans-serif;
}
.wp-pagenavi span.current {
	opacity: 0.7;
}
.wp-pagenavi .first, .wp-pagenavi .last, .wp-pagenavi .pages {
	display: none;
}
.wp-pagenavi .extend {
	display: none;
}
.wp-pagenavi .nextpostslink, .wp-pagenavi .previouspostslink {
	background: url(img/common/icon03.png) no-repeat left calc(50% + 2px) center / 21px auto;
}
.wp-pagenavi .nextpostslink {
	background-image: url(img/common/icon04.png);
	background-position: left calc(50% - 2px) center;
}
@media all and (min-width: 897px) {
	.wp-pagenavi a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.wp-pagenavi {
		margin: -16px -25px 0;
	}
	.wp-pagenavi a, .wp-pagenavi span {
		width: 34px;
		height: 34px;
		font-size: 1.4rem;
		padding: 4px 5px 2px;
		margin: 16px 8px 0 9px;
	}
	.wp-pagenavi .nextpostslink, .wp-pagenavi .previouspostslink {
		background-size: 17px auto;
	}
}
@media all and (max-width: 374px) {
	.wp-pagenavi a, .wp-pagenavi span {
		margin: 16px 5px 0;
		width: 30px;
		height: 30px;
		font-size: 1.3rem;
	}
}
/*------------------------------------------------------------

	menu

------------------------------------------------------------*/
@media all and (max-width: 896px) {}
/*------------------------------------------------------------

	column

------------------------------------------------------------*/
#column .linkList {
	margin: -15px 0 63px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
#column .linkList li {
	margin: 15px 7px 0 8px;
	display: flex;
}
#column .linkList a {
	padding: 4px 14px 4px 15px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 1.3rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-align: center;
	border-radius: 3px;
	background-color: #25a45c;
}
#column .artical {
	margin-bottom: 107px;
}
#column .columnList {
	margin: -60px 7px 75px 8px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#column .columnList::after {
	width: 355px;
	content: '';
}
#column .columnList li {
	margin-top: 60px;
	width: 355px;
	display: flex;
}
#column .columnList a {
	padding-bottom: 50px;
	width: 100%;
	min-height: 451px;
	position: relative;
	border-radius: 8px;
	overflow: hidden;
	box-sizing: border-box;
	background-color: #fefbf6;
	box-shadow: 0px 5px 10px rgba(85, 85, 85, 0.16);
}
#column .columnList .pho {
	position: relative;
	height: 200px;
}
#column .columnList .pho img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#column .columnList .pho::after {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background-color: rgba(51, 51, 51, 0.15);
	content: '';
}
#column .columnList .txtBox {
	margin: 21px 23px 0;
}
#column .columnList .txtBox .ttl {
	margin-bottom: 9px;
	font-weight: 700;
	line-height: 2;
	letter-spacing: 0.05em;
}
#column .columnList .txtBox .txt {
	font-size: 1.5rem;
	line-height: 1.73;
	letter-spacing: 0.05em;
	display: -webkit-box;
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}
#column .columnList .txtBox .time {
	width: calc(100% - 22px);
	position: absolute;
	left: 50%;
	bottom: 14px;
	text-align: right;
	transform: translateX(-50%);
}
#column .columnList .txtBox .time span {
	padding: 4px 0 2px 24px;
	color: #25a45c;
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	font-family: 'Heebo', sans-serif;
	background: url(img/common/icon02.png) no-repeat left center / 20px auto;
}
@media all and (min-width: 897px) {
	#column .linkList a:hover {
		opacity: 0.7;
	}
	#column .columnList a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	#column .artical {
		margin: 0 30px;
	}
	#column .artical {
		margin-bottom: 60px;
	}
	#column .columnList {
		margin: 0 0 51px;
		display: block;
	}
	#column .columnList::after {
		display: none;
	}
	#column .columnList li {
		margin: 0 0 20px;
		width: auto;
		display: block;
	}
	#column .columnList li:last-of-type {
		margin-bottom: 0;
	}
	#column .columnList a {
		padding-bottom: 50px;
		display: block;
	}
	#column .columnList .pho {
		height: 53.33vw;
	}
	#column .columnList .txtBox {
		margin: 21px 20px 0;
	}
	#column .columnList .txtBox .ttl {
		font-size: 1.6rem;
	}
	#column .columnList .txtBox .time {
		width: calc(100% - 40px);
		bottom: 17px;
	}
}
/*------------------------------------------------------------

	top

------------------------------------------------------------*/
#top .content {
	margin: 0 auto;
	max-width: 1200px;
}
#top .mainVisual {
	position: relative;
	background: url(img/index/main_bg.jpg) repeat-x left center / auto 100%;
}
#top .mainVisual .inner {
	margin: 0 auto;
	padding: 179px 0 149px;
	max-width: 1440px;
	position: relative;
	overflow: hidden;
}
#top .mainVisual .pho01 {
	width: 27.08%;
	position: absolute;
	left: 2.08%;
	top: 90px;
}
#top .mainVisual .textImg {
	width: 32.43%;
	position: absolute;
	left: 6.5%;
	bottom: 45px;
}
#top .mainVisual .photo02 {
	width: 31.94%;
	position: absolute;
	right: -0.67%;
	top: 119px;
}
#top .mainVisual .banner {
	width: 12.43%;
	position: absolute;
	right: 0.76%;
	bottom: -3px;
	z-index: 4;
}
#top .mainVisual .banner a {
	display: block;
	position: relative;
}
#top .mainVisual .banner a img {
	animation: 4s linear infinite rotation;
}
@keyframes rotation {
	0% {
		transform: rotate(0)
	}
	100% {
		transform: rotate(360deg)
	}
}
#top .mainVisual .banner a::before {
	width: 90px;
	height: 90px;
	position: absolute;
	left: 50%;
	top: calc(50% + 2px);
	border-radius: 50%;
	transform: translate(-50%, -50%);
	background: url(img/index/main_banner_img02.png) no-repeat left calc(50% + 3px) center / 18px auto;
	background-color: rgba(255, 255, 255, 0.5);
	content: '';
}
#top .mainVisual .movie {
	margin: 0 auto;
	width: 53.61%;
	height: 437px;
	position: relative;
	box-sizing: border-box;
	border-radius: 17px;
	border: 4px solid #108442;
	overflow: hidden;
}
#top .mainVisual .movie::before {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	border-radius: 15px;
	background-color: rgba(51, 51, 51, 0.15);
	content: '';
}
#top .mainVisual .movie video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#top .mainVisual .scroll {
	width: 20px;
	position: absolute;
	left: 47px;
	bottom: 27px;
}
#top .mainVisual .scroll a {
	padding-bottom: 33px;
	position: relative;
	display: block;
	color: #fff;
	font-size: 1.3rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	writing-mode: vertical-rl;
}
#top .mainVisual .scroll a::before {
	width: 6px;
	height: 28px;
	position: absolute;
	left: 6px;
	bottom: 0;
	background: url(img/common/page_bg03.png) no-repeat center center / 100% auto;
	content: '';
	mix-blend-mode: overlay;
}
#top .topBox {
	padding-top: 137px;
	position: relative;
}
#top .topBox::before {
	width: 100%;
	height: 67px;
	position: absolute;
	left: 0;
	top: 0;
	background: url(img/index/top_bg01.png) no-repeat center center / 100% 100%;
	background-color: #fff;
	content: '';
}
#top .topLinkBox {
	padding: 10px;
	margin: 0 auto 101px;
	max-width: 1000px;
	position: relative;
	box-sizing: border-box;
	border-radius: 15px;
	background: url("img/index/link_bg01.jpg") repeat center center / 50px;
}
#top .topLinkBox::before {
	position: absolute;
	bottom: -87px;
	left: -100px;
	width: 143px;
	height: 127px;
	content: "";
	background: url("img/index/link_img04.png") no-repeat left bottom / 143px;
}
#top .topLinkBox::after {
	position: absolute;
	bottom: -80px;
	right: -100px;
	width: 88px;
	height: 97px;
	content: "";
	background: url("img/index/link_img05.png") no-repeat right bottom / 88px;
}
#top .topLinkBox .link {
	position: absolute;
	bottom: 0;
	right: 0;
	border-radius: 15px 0 15px 0;
	background-color: #fff;
}
#top .topLinkBox .pho {
	position: absolute;
	bottom: 12px;
	right: 10px;
	width: 213px;
}
#top .topLinkBox .link a {
	padding-top: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	font-size: 1.6rem;
	font-weight: 700;
	color: #25A45C;
	width: 230px;
	height: 60px;
	box-sizing: border-box;
	border-radius: 15px 0 15px 0;
	background-color: #FBCD4C;
}
#top .topLinkBox .link a .ico {
	margin: 5px -10px 0 11px;
}
#top .topLinkBox .subBox {
	padding: 33px 0 23px;
	align-items: center;
	color: #FCF4E8;
	border-radius: 15px;
	border: 1px solid #FCF4E8;
}
#top .topLinkBox .lBox {
	margin-top: -11px;
	width: 487px;
	box-sizing: border-box;
}
#top .topLinkBox .h2Ttl {
	padding-left: 80px;
	margin-bottom: 12px;
	font-size: 5.6rem;
	font-weight: 500;
	color: #FCF4E8;
	background: url("img/index/link_img01.png") no-repeat top 15px left 8px / 68px;
}
#top .topLinkBox .h2Ttl span {
	padding-bottom: 5px;
	position: relative;
	border-bottom: 5px dotted #FCF4E8;
}
#top .topLinkBox .h2Ttl span::before {
	position: absolute;
	top: -14px;
	right: -17px;
	width: 34px;
	height: 27px;
	content: "";
	background: url("img/common/icon12.png") no-repeat top right / 34px;
}
#top .topLinkBox .lBox .tel {
	padding-left: 76px;
}
#top .topLinkBox .lBox .tel .textImg {
	width: 152px;
	display: inline-block;
	vertical-align: 13px;
}
#top .topLinkBox .lBox .tel a {
	padding-left: 33px;
	font-size: 3.3rem;
	font-weight: 500;
	color: #FBCD4C;
	display: inline-block;
	background: url("img/common/icon14.png") no-repeat center left 4px / 26px;
}
#top .topLinkBox .rBox {
	width: 478px;
}
#top .topLinkBox .rBox .bgText {
	margin-right: 15px;
	padding: 5px 15px 3px;
	font-size: 1.5rem;
	font-weight: 500;
	vertical-align: 3px;
	color: #333;
	display: inline-block;
	background-color: #FBCD4C;
	border-radius: 17px;
}
#top .topLinkBox .rBox p {
	font-size: 2.3rem;
	font-weight: 500;
}
#top .topLinkBox .rBox .sml {
	margin-top: 10px;
	font-size: 1.9rem;
	display: block;
}
#top .topLinkBox .rBox .text {
	margin-bottom: 7px;
}
#top .topLinkBox .rBox .text01 {
	margin-bottom: 8px;
	padding: 0 0 3px 3px;
	display: inline-block;
	background: url("img/common/icon11.png") repeat-x bottom left / 18px 2px;
}
#top .topLinkBox .rBox .text02 {
	font-size: 1.5rem;
}
#top .sec01 {
	margin-bottom: 25px;
}
#top .sec01 .imgBox {
	align-items: flex-end;
	flex-direction: row-reverse;
}
#top .sec01 .imgBox .lBox {
	margin-left: 8px;
	width: 447px;
	box-sizing: border-box;
}
#top .sec01 .imgBox .rBox {
	padding-bottom: 105px;
	width: 622px;
	color: #25A45C;
	position: relative;
}
#top .sec01 .imgBox .rBox .comTitle {
	left: auto;
	right: 0;
}
#top .sec01 .imgBox .headLine02 {
	margin-bottom: 56px;
	text-align: left;
}
#top .sec01 .imgBox .headLine02 span {
	margin-top: 0;
}
#top .sec01 .imgBox .headLine02::after {
	left: 0;
	transform: none;
}
#top .sec01 .imgBox .rBox h3 {
	margin-bottom: 33px;
	font-size: 3rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	position: relative;
	z-index: 2;
}
#top .sec01 .imgBox .rBox p {
	letter-spacing: 0.05em;
	line-height: 2;
}
#top .sec02 {
	margin-bottom: 124px;
	box-sizing: border-box;
	border-radius: 30px;
	border: 10px solid #fff;
	background-color: #fff;
}
#top .sec02 .textBox {
	margin: 0 15px 33px;
	position: relative;
	z-index: 2;
}
#top .sec02 .textBox .textList {
	margin-top: -11px;
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	justify-content: space-between;
}
#top .sec02 .textBox .textList li {
	margin-top: 11px;
	padding: 26px 25px 35px 23px;
	width: 290px;
	position: relative;
	border-radius: 15px;
	box-sizing: border-box;
	box-shadow: 0px 5px 10px rgba(85, 85, 85, 0.16);
	background-color: #fff;
}
#top .sec02 .textBox .textList .ttl {
	margin-bottom: 0;
}
#top .sec02 .textBox .textList .txt {
	margin: 3px 0 0;
	font-size: 1.3rem;
	font-weight: 500;
}
#top .sec02 .textBox .textList .list01::before {
	width: 56px;
	height: 75px;
	position: absolute;
	right: -56px;
	bottom: -3px;
	background: url(img/index/sec02_bg01.png) no-repeat center center / 100% auto;
	content: '';
}
#top .sec02 .textBox .textList .list01 .picture {
	margin-bottom: 9px;
}
#top .sec02 .textBox .textList .list02 {
	padding: 31px 33px 25px 32px;
	width: 470px;
}
#top .sec02 .textBox .textList .list02::after {
	width: 117px;
	height: 49px;
	position: absolute;
	left: -11px;
	bottom: -49px;
	background: url(img/index/sec02_bg02.png) no-repeat center center / 100% auto;
	content: '';
}
#top .sec02 .textBox .textList .list02 .txtBox {
	margin-bottom: 10px;
}
#top .sec02 .textBox .textList .list02 .ttl {
	text-align: center;
}
#top .sec02 .textBox .textList .list03 {
	padding: 36px 25px 45px 26px;
	width: 293px;
}
#top .sec02 .textBox .textList .list03::after {
	width: 53px;
	height: 84px;
	position: absolute;
	left: -53px;
	bottom: -4px;
	background: url(img/index/sec02_bg03.png) no-repeat center center / 100% auto;
	content: '';
}
#top .sec02 .textBox .textList .list03 .picture {
	margin-bottom: 19px;
}
#top .sec02 .textBox .textList .list03 .ttl {
	text-align: center;
}
#top .sec02 .textBox .textList .list04 {
	margin-top: 31px;
	padding: 23px 19px 22px;
	width: 363px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#top .sec02 .textBox .textList .list04::after {
	width: 50px;
	height: 104px;
	position: absolute;
	right: -50px;
	top: 24px;
	background: url(img/index/sec02_bg04.png) no-repeat center center / 100% auto;
	content: '';
}
#top .sec02 .textBox .textList .list04 .picture {
	width: 110px;
}
#top .sec02 .textBox .textList .list04 .txtBox {
	width: calc(100% - 125px);
}
#top .sec02 .textBox .textList .list05 {
	padding: 23px 26px 41px 25px;
	width: 373px;
}
#top .sec02 .textBox .textList .list05::after {
	width: 61px;
	height: 105px;
	position: absolute;
	left: -61px;
	bottom: 37px;
	background: url(img/index/sec02_bg05.png) no-repeat center center / 100% auto;
	content: '';
}
#top .sec02 .textBox .textList .list05 .picture {
	margin-bottom: 19px;
}
#top .sec02 .textBox .pic {
	width: 347px;
	position: absolute;
	left: calc(50% - 7px);
	bottom: 91px;
	transform: translateX(-50%);
}
#top .sec02 .subBox {
	padding: 76px 20px 55px;
	border-radius: 28px 28px 0px 0px;
	position: relative;
	background-color: #FEFBF6;
}
#top .sec02 .subBox::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 640px;
	content: "";
	border-radius: 28px 28px 0 0;
	background: linear-gradient(#cef0f6 0%, #fefbf6 100%);
}
#top .sec02 .subBox .pho {
	margin-bottom: 6px;
	position: relative;
	z-index: 2;
}
#top .sec02 .subBox .h2Ttl {
	margin-bottom: 52px;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 2;
	letter-spacing: 0.05em;
	text-align: center;
	color: #25A45C;
	position: relative;
	z-index: 2;
}
#top .sec02 .subBox .h2Ttl::after {
	position: absolute;
	bottom: -15px;
	left: 50%;
	transform: translateX(-50%);
	width: 185px;
	height: 4px;
	content: "";
	background: url("img/common/icon13.png") no-repeat center bottom / 185px auto;
}
#top .sec02 .subBox p {
	margin: 0 auto 38px;
	max-width: 700px;
	position: relative;
	letter-spacing: 0.05em;
	font-weight: 500;
}
#top .sec02 .subBox .pho01 {
	margin: 0 auto;
	width: 543px;
	position: relative;
}
#top .sec03 {
	padding-bottom: 48px;
}
#top .sec03 .subBox {
	padding: 26px 0 79px;
	border-radius: 30px;
	border: 10px solid #fff;
	background-color: #FEFBF6;
	position: relative;
}
#top .sec03 .subBox .comTitle {
	top: 30px;
	right: 0;
	left: auto;
	color: rgba(42, 164, 92, 0.06);
}
#top .sec03 .serviceList {
	margin: 0 auto 60px;
	max-width: 920px;
	background: url(img/common/line01.png) repeat-x center bottom / 8px;
}
#top .sec03 .serviceList li {
	padding: 34px 5px 30px 0;
	background: url(img/common/line01.png) repeat-x center top / 8px;
}
#top .sec03 .serviceList .textBox h3 {
	margin: -23px 0 17px;
	font-size: 2.3rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.05em;
}
#top .sec03 .serviceList .textBox h3 .en {
	margin-bottom: 5px;
	font-size: 1.5rem;
	font-weight: 500;
	display: block;
	color: #25A45C;
}
#top .sec03 .serviceList .photoBox {
	width: 248px;
	height: 152px;
	border-radius: 8px;
	overflow: hidden;
}
#top .sec03 .serviceList .photoBox img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#top .sec03 .termList {
	margin: 0 55px 36px;
}
#top .sec03 .termList > li {
	padding: 48px 61px 43px;
	border-radius: 15px;
	background: #fff;
	box-shadow: 0 5px 10px rgba(136, 136, 136, 0.12);
	box-sizing: border-box;
}
#top .sec03 .termList h3 {
	margin-bottom: 24px;
	font-weight: bold;
	font-size: 2rem;
	letter-spacing: 0.05em;
	text-align: center;
	color: #25a45c;
}
#top .sec03 .termList h3::after {
	margin: 14px auto 0;
	width: 60px;
	display: block;
	background-color: currentColor;
	content: '';
	height: 2px;
}
#top .sec03 .txtList li {
	padding: 0 0 7px 25px;
	position: relative;
	line-height: 1.625;
	letter-spacing: 0.05em;
}
#top .sec03 .txtList li::before {
	position: absolute;
	left: 0;
	top: 6px;
	width: 14px;
	height: 14px;
	border-radius: 14px;
	background: #25a45c;
	content: '';
}
#top .sec03 .termList > .spec {
	background: #f2fdff;
}
#top .sec03 .termList > .spec h3 {
	color: #108442;
}
#top .sec03 .spec .txtList li::before {
	background: #108442;
}
#top .sec03 .note {
	margin: 5px 0 0 1em;
	font-size: 1.4rem;
	letter-spacing: 0.05em;
	line-height: 1.857;
	text-align: left;
	color: #333;
	text-indent: -1em;
}
#top .sec03 .flowBox {
	margin: 0 60px;
	padding: 57px 38px 50px;
	border-radius: 8px;
	background: #fcf4e8;
	position: relative;
}
#top .sec03 .flowBox .img {
	position: absolute;
}
#top .sec03 .flowBox .img01 {
	left: 70px;
	top: 155px;
}
#top .sec03 .flowBox .img02 {
	left: 132px;
	bottom: 79px;
}
#top .sec03 .flowBox .img03 {
	margin-left: 100px;
	text-align: center;
}
#top .sec03 .flowBox h3 {
	margin-bottom: 103px;
	padding-bottom: 28px;
	font-weight: 500;
	font-size: 2.2rem;
	letter-spacing: 0.05em;
	line-height: 28px;
	text-align: center;
	color: #333;
	background: url(img/common/line01.png) repeat-x center bottom / 6px;
}
#top .sec03 .timeList {
	margin: 0 0 95px 30px;
	display: flex;
}
#top .sec03 .timeList li {
	padding-top: 30px;
	position: relative;
	text-align: center;
}
#top .sec03 .timeList li::before {
	position: absolute;
}
#top .sec03 .timeList li::after {
	width: 100%;
	height: 3px;
	position: absolute;
	left: 0;
	top: 8px;
	content: '';
	background-color: #30a863;
}
#top .sec03 .timeList .time {
	padding: 0 12px;
	min-width: 64px;
	display: block;
	position: relative;
	font-family: 'Heebo', sans-serif;
	color: #25a45c;
	font-weight: 500;
	font-size: 1.6rem;
	letter-spacing: 0.05em;
	box-sizing: border-box;
	text-align: center;
}
#top .sec03 .timeList .time::before {
	margin-left: -9px;
	position: absolute;
	border-radius: 17px;
	width: 17px;
	height: 17px;
	top: -30px;
	left: 50%;
	content: '';
	background: #fff;
	border: 1px solid #25a45c;
	box-sizing: border-box;
	z-index: 2;
}
#top .sec03 .timeList .txt {
	position: absolute;
	left: 50%;
	top: 76px;
	font-size: 1.6rem;
	letter-spacing: 0.05em;
	line-height: 1.625;
	text-align: center;
	transform: translateX(-50%);
}
#top .sec03 .timeList .txt.top {
	top: auto;
	bottom: 75px;
}
#top .sec03 .timeList li:last-child::before {
	width: 4px;
	height: 20px;
	position: absolute;
	left: 20px;
	top: 0;
	content: '';
	border-left: 1px solid #333;
	border-right: 1px solid #333;
	z-index: 10;
}
#main .facility {
	padding: 109px 0 99px;
	position: relative;
	background: url(img/index/facility_bg01.jpg) repeat-x left center / auto 100%;
}
#main .facility::before {
	width: 100%;
	height: 115px;
	position: absolute;
	left: 0;
	top: -17px;
	background: url(img/index/service_bg01.png) no-repeat center center / 100% 100%;
	content: '';
}
#main .facility .comTitle {
	color: rgba(255, 255, 255, 0.13);
	left: auto;
	top: 14px;
	right: -10px;
}
#main .facility .photoList {
	margin: -20px 10px 0;
	display: flex;
	flex-wrap: wrap;
}
#main .facility .photoList li {
	margin: 20px 20px 0 0;
	width: 280px;
	height: 180px;
	position: relative;
	border-radius: 5px;
	overflow: hidden;
}
#main .facility .photoList li:nth-of-type(4n) {
	margin-right: 0;
}
#main .facility .photoList li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#main .facility .photoList p {
	padding: 5px 30px 5px 20px;
	position: absolute;
	left: 0;
	bottom: 10px;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.05em;
	border-radius: 0 30px 30px 0;
	background-color: #FCF4E8;
}
#top .features {
	background: url(img/index/features_bg01.jpg) repeat-x left center / auto 100%;
}
#top .features .pic {
	width: 158px;
	position: absolute;
	right: 0;
	top: -75px;
}
#top .features .comBox {
	padding-top: 43px;
}
#top .features .headLine02 {
	margin-bottom: 59px;
}
#top .features .comTitle {
	left: -61px;
	top: 46px;
	color: rgba(255, 255, 255, 0.13);
}
#top .features .slideBox {
	margin-left: auto;
	padding-left: 36px;
	width: calc(50% + 630px);
	position: relative;
	box-sizing: border-box;
}
#top .features .slideBox .photoList li {
	margin-right: 24px;
	padding: 15px 35px 13px;
	width: 380px;
	position: relative;
	display: inline-block;
	border-radius: 15px;
	border: 5px solid #fff;
	box-sizing: border-box;
	background-color: #FCF4E8;
	vertical-align: top;
}
#top .features .slideBox .photoList .slick-slide > div {
	margin-right: 24px;
	width: 380px;
}
#top .features .slideBox .photoList .pho {
	margin-bottom: 19px;
	height: 200px;
	position: relative;
}
#top .features .slideBox .photoList .pho::before {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	border-radius: 8px;
	background-color: rgba(255, 255, 255, 0.28);
	content: '';
}
#top .features .slideBox .photoList .pho img {
	width: 100%;
	height: 100%;
	border-radius: 8px;
	object-fit: cover;
}
#top .features .slideBox .photoList .txtBox {
	margin: 0 7px;
}
#top .features .slideBox .photoList .title {
	margin-bottom: 5px;
	color: #25A45C;
	font-size: 1.3rem;
	font-weight: 500;
	letter-spacing: 0.05em;
}
#top .features .slideBox .photoList .title span {
	margin-left: -1px;
	font-size: 5.4rem;
	display: inline-block;
	font-weight: 300;
	line-height: 1;
	vertical-align: -3px;
}
#top .features .slideBox .photoList .ttl {
	margin-bottom: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #25A45C;
	font-size: 2.3rem;
	font-weight: 700;
	line-height: 1.13;
	letter-spacing: 0.05em;
	text-align: center;
}
#top .features .slideBox .photoList .txt {
	line-height: 1.75;
	font-feature-settings: 'palt';
	letter-spacing: 0.05em;
}
#top .features .slideBox .photoList .btn {
	width: 223px;
	position: absolute;
	right: 1px;
	bottom: 0;
}
#top .features .slideBox .photoList .btn a {
	padding: 12px 55px 11px 48px;
	display: block;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 700;
	text-align: center;
	border-radius: 15px 0 15px 0;
	background: url(img/common/icon10.png) no-repeat right 30px top calc(50% + 1px) / 21px auto;
	background-color: #2AA45C;
}
#top .features .slideBox .arrowList .arrow {
	width: 75px;
	position: absolute;
	left: 0;
	top: calc(50% + 18px);
	transform: translateY(-50%);
	cursor: pointer;
	transition: .3s;
}
#top .features .slideBox .arrowList .next {
	left: 1197px;
}
#top .greenBox {
	padding: 147px 0 193px;
	background: url(img/index/green_bg.jpg) repeat left top / 1440px auto;
}
#top .special {
	margin-bottom: 122px;
}
#top .special .comTitle {
	left: 161px;
	top: 2px;
	color: rgba(255, 255, 255, 0.13);
	white-space: nowrap;
}
#top .special .headLine02 {
	margin-bottom: 59px;
}
#top .special .slideBox {
	margin-left: auto;
	padding-left: 39px;
	width: calc(50% + 480px);
	position: relative;
	box-sizing: border-box;
}
#top .special .slideBox .photoList {
	font-size: 0;
}
#top .special .slideBox .photoList li {
	margin-right: 30px;
	width: 470px;
	display: inline-block;
	vertical-align: top;
}
#top .special .slideBox .photoList .slick-slide > div {
	margin-right: 30px;
	width: 470px;
}
#top .special .slideBox .photoList a {
	min-height: 550px;
	display: block;
	position: relative;
	border-radius: 15px;
	box-sizing: border-box;
	border: 10px solid #FCF4E8;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.85), rgba(255, 255, 255, 1));
}
#top .special .slideBox .photoList .pho {
	padding: 15px;
	position: relative;
	border-radius: 5px 5px 0 0;
	background-color: rgba(37, 164, 92, 0.55);
}
#top .special .slideBox .photoList .pho::before {
	width: calc(100% - 30px);
	height: calc(100% - 30px);
	position: absolute;
	left: 15px;
	top: 15px;
	border-radius: 5px;
	background-color: rgba(51, 51, 51, 0.15);
	content: '';
}
#top .special .slideBox .photoList .pho img {
	width: 100%;
	height: 100%;
	border-radius: 5px;
	object-fit: cover;
}
#top .special .slideBox .photoList .txtBox {
	margin: 20px 30px;
}
#top .special .slideBox .photoList .txtBox .tagList span {
	margin: 0 10px 5px 0;
	padding: 4px 15px;
	display: inline-block;
	color: #fff;
	font-size: 1.3rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	border-radius: 3px;
	background-color: #25A45C;
	vertical-align: top;
}
#top .special .slideBox .photoList .txtBox .tagList {
	margin-bottom: 2px;
}
#top .special .slideBox .photoList .txtBox .tagList span:last-of-type {
	margin-right: 0;
}
#top .special .slideBox .photoList .txtBox .ttl {
	margin-bottom: 5px;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.78;
	letter-spacing: 0.05em;
}
#top .special .slideBox .photoList .txtBox .txt {
	font-size: 1.5rem;
	line-height: 1.73;
	letter-spacing: 0.05em;
	display: -webkit-box;
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}
#top .special .slideBox .photoList .txtBox .time {
	width: calc(100% - 23px);
	position: absolute;
	left: 50%;
	bottom: 6px;
	text-align: right;
	transform: translateX(-50%);
}
#top .special .slideBox .photoList .txtBox .time span {
	padding: 2px 0 2px 25px;
	display: inline-block;
	color: #25A45C;
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	vertical-align: top;
	background: url(img/common/icon02.png) no-repeat left top calc(50% - 2px) / 20px auto;
	font-family: 'Heebo', sans-serif;
}
#top .special .slideBox .arrowList .arrow {
	width: 75px;
	position: absolute;
	left: 2px;
	top: calc(50% + 29px);
	transform: translateY(-50%);
	cursor: pointer;
	transition: .3s;
}
#top .special .slideBox .arrowList .next {
	left: 1043px;
}
#top .access .comTitle {
	color: rgba(255, 255, 255, 0.13);
	left: auto;
	right: -8px;
	top: -30px;
}
#top .access .headLine02 {
	margin-bottom: 59px;
}
#top .access .imgBox {
	margin: 0 40px 45px 25px;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
#top .access .imgBox .photoBox {
	width: 550px;
}
#top .access .imgBox .textBox {
	width: 520px;
}
#top .access .imgBox .textDl {
	margin-bottom: 16px;
	color: #fff;
}
#top .access .imgBox .textDl dt {
	margin-bottom: 1px;
	padding-bottom: 3px;
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	border-bottom: 1px solid #fff;
}
#top .access .imgBox .textDl dd {
	margin-bottom: 15px;
	letter-spacing: 0.05em;
	line-height: 2;
}
#top .access .imgBox .textDl dd:last-of-type {
	margin-bottom: 0;
}
#top .access .imgBox .textDl dd.ddStyle01 {
	text-indent: 0.55em;
}
#top .access .imgBox p {
	color: #fff;
}
#top .access .imgBox p a {
	color: #fff;
}
#top .access .imgBox .tel {
	margin-bottom: 9px;
	font-size: 3.4rem;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0.05em;
}
#top .access .imgBox .txt01 {
	margin-bottom: 1px;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.05em;
}
#top .access .imgBox .txt01 a {
	text-decoration: none;
	cursor: default;
	pointer-events: none;
}
#top .access .imgBox .mail {
	margin-bottom: 6px;
	font-weight: 500;
	letter-spacing: 0.05em;
}
#top .access .imgBox .txt02 {
	font-weight: 500;
	line-height: 1.75;
	letter-spacing: 0.05em;
}
#top .access .map {
	height: 400px;
	border-radius: 0;
	overflow: hidden;
}
#top .access .map iframe {
	width: 100%;
	height: 100%;
}
#top .contact {
	margin-bottom: 172px;
	position: relative;
	background-color: #fcf4e8;
}
#top .contact .comBox {
	padding-top: 76px;
}
#top .contact::before {
	width: 100%;
	height: 115px;
	position: absolute;
	left: 0;
	top: -113px;
	background: url(img/index/contact_bg01.png) no-repeat center center / 100% 100%;
	content: '';
}
#top .contact .btmBox {
	margin: -58px auto 0;
	width: 1046px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#top .contact .whiteBox {
	margin-top: 58px;
	padding: 79px 46px 87px;
	width: 502px;
	position: relative;
	box-sizing: border-box;
	border: 1px solid #F3F3F3;
	background-color: #fff;
}
#top .contact .whiteBox::before {
	width: calc(100% + 2px);
	height: calc(100% + 2px);
	position: absolute;
	left: -9px;
	top: -9px;
	border: 1px solid #25A45C;
	box-sizing: border-box;
	content: '';
}
#top .contact .whiteBox::after {
	width: 40px;
	height: 40px;
	position: absolute;
	right: -2px;
	bottom: -2px;
	background: url(img/index/contact_bg05.png) no-repeat center center / 100% 100%;
	background-color: #FCF4E8;
	content: '';
}
#top .contact .whiteBox.white01 {
	margin: 58px -6px 0 auto;
	width: 790px;
}
#top .contact .whiteBox .pho {
	width: 281px;
	position: absolute;
	right: 55px;
	top: 28px;
}
#top .contact .whiteBox .pho01 {
	width: 69px;
	position: absolute;
	left: -38px;
	bottom: -16px;
}
#top .contact .whiteBox .pic {
	width: 183px;
	position: absolute;
	right: calc(100% + 79px);
	bottom: 17px;
}
#top .contact .whiteBox .txtList {
	max-width: 375px;
	position: relative;
	z-index: 2;
}
#top .contact .whiteBox .txtList li {
	margin-bottom: 7px;
	padding: 0 7px 2px;
	color: #25A45C;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.75;
	letter-spacing: 0.05em;
	border-bottom: 1px dotted #25A45C;
}
#top .contact .whiteBox .txtList .list01 {
	margin-top: 13px;
	padding-bottom: 3px;
	font-size: 1.6rem;
	font-weight: 400;
}
#top .contact .backBox {
	margin: 58px -6px 0 auto;
	width: 830px;
	position: relative;
}
#top .contact .backBox p {
	margin-right: -20px;
	padding: 75px 0 120px;
	color: #25A45C;
	font-size: 4.6rem;
	font-weight: 500;
}
#top .contact .backBox .pic {
	width: 183px;
	position: absolute;
	right: calc(100% + 79px);
	bottom: 30px;
}
#top .contact .whiteBox.white02 {
	padding: 74px 36px 77px;
}
#top .contact .whiteBox.white02::after, #top .contact .whiteBox.white03::after {
	width: 34px;
	height: 38px;
	background-image: url(img/index/contact_bg06.png);
	background-color: transparent;
}
#top .contact .whiteBox.white03 {
	margin-right: 5px;
	padding: 74px 22px 77px;
}
#top .contact .whiteBox.white02 .pho {
	width: 204px;
	right: auto;
	left: 13px;
	top: 60px;
}
#top .contact .whiteBox.white03 .pho {
	width: 208px;
	right: -32px;
	top: -37px;
}
#top .contact .whiteBox.white02 .pho01 {
	width: 44px;
	bottom: -44px;
	left: -28px;
}
#top .contact .whiteBox.white03 .pho01 {
	width: 66px;
	left: auto;
	right: -17px;
	bottom: -73px;
}
#top .contact .whiteBox.white02 .txtList {
	margin-left: auto;
	max-width: 238px;
}
#top .contact .whiteBox.white03 .txtList {
	max-width: 330px;
}
#top .contact .whiteBox.white03 .txtList li, #top .contact .whiteBox.white02 .txtList li {
	padding: 0 0 5px 7px;
	font-size: 1.8rem;
}
#top .contact .whiteBox.white03 .txtList .list01, #top .contact .whiteBox.white02 .txtList .list01 {
	margin-top: 17px;
	padding-bottom: 3px;
	font-size: 1.4rem;
}
#top {
	overflow: hidden;
}
@media (min-width: 897px) and (max-width: 1340px) {
	#top .special .slideBox .arrowList .next, #top .features .slideBox .arrowList .next {
		left: auto;
		right: 20px;
	}
}
@media all and (min-width: 897px) {
	#top .special .slideBox .photoList a:hover {
		opacity: 0.7;
	}
	#top .special .slideBox .arrowList .arrow:hover {
		opacity: 0.7;
	}
	#top .features .slideBox .photoList .btn a:hover {
		opacity: 0.7;
	}
	#top .features .slideBox .arrowList .arrow:hover {
		opacity: 0.7;
	}
	#top .mainVisual .scroll a:hover {
		color: rgba(255, 255, 255, 0.7);
	}
	#top .sec03 .headLine02 span {
		margin-top: -4px;
	}
	#top .sec03 .headLine02 .headLine02::after {
		bottom: -7px;
	}
	#top .sec03 .serviceList li {
		display: flex;
		align-items: center;
	}
	#top .sec03 .serviceList .textBox {
		flex: 1;
		padding-right: 75px;
		letter-spacing: 0.05em;
	}
	#top .sec03 .termList {
		display: flex;
		justify-content: space-between;
	}
	#top .sec03 .termList > li {
		width: 515px;
	}
	#top .sec03 .timeList .wid01 .time {
		width: 78px;
	}
	#top .sec03 .timeList .wid02 .time {
		width: 84px;
	}
	#top .sec03 .timeList .last .time {
		width: 162px;
	}
	#top .sec03 .timeList .last::after {
		width: 50%;
	}
	#top .sec03 .timeList li:first-child::after {
		left: 50%;
	}
	#top .sec03 .timeList .txt {
		white-space: nowrap;
	}
	#top .mainVisual .banner a:hover {
		opacity: 0.7;
	}
	#top .access .imgBox .mail a:hover {
		text-decoration: underline;
	}
	#top .topLinkBox .link a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	#top .mainVisual {
		background-image: url(img/index/main_bg_sp.jpg);
	}
	#top .mainVisual .inner {
		padding: 52.53vw 0 66.4vw;
		max-width: inherit;
	}
	#top .mainVisual .pho01 {
		width: 43.2%;
		left: 1.86%;
		top: 7.2vw;
	}
	#top .mainVisual .pho01 img {
		width: 100%;
	}
	#top .mainVisual .textImg {
		width: 93.6%;
		left: -3.8%;
		bottom: 4.8vw;
		z-index: 2;
	}
	#top .mainVisual .textImg img {
		width: 100%;
	}
	#top .mainVisual .photo02 {
		width: 45.07%;
		right: -2.32%;
		top: 24.27vw;
	}
	#top .mainVisual .photo02 img {
		width: 100%;
	}
	#top .mainVisual .banner {
		width: 28vw;
		right: -1%;
		bottom: -4px;
	}
	#top .mainVisual .banner img {
		width: 100%;
	}
	#top .mainVisual .banner a::before {
		width: 14.13vw;
		height: 14.13vw;
		background-position: left calc(50% + 1px) center;
		background-size: 2.93vw auto;
	}
	#top .mainVisual .movie {
		width: 92%;
		height: 58.4vw;
		background-color: #108442;
	}
	#top .mainVisual .movie video {
		border-radius: 15px;
	}
	#top .topBox {
		padding-top: 80px;
	}
	#top .topLinkBox {
		padding: 10px;
		margin: 0 15px 90px;
		max-width: inherit;
	}
	#top .topLinkBox::before {
		bottom: -29px;
		left: 0;
		width: 100px;
		height: 100px;
		background-size: 96px;
	}
	#top .topLinkBox::after {
		bottom: -52px;
		right: 0px;
		width: 70px;
		height: 80px;
		background-size: 54px;
	}
	#top .topLinkBox .pho {
		bottom: 0;
		right: 0;
	}
	#top .topLinkBox .subBox {
		padding: 31px 7px 109px;
		display: block;
	}
	#top .topLinkBox .lBox {
		margin: 0 0 4px;
		width: auto;
	}
	#top .topLinkBox .h2Ttl {
		padding: 44px 0 0 9px;
		margin-bottom: 8px;
		text-align: center;
		font-size: 4rem;
		background: url("img/index/link_img01_sp.png") no-repeat top 0 left / 144px;
	}
	#top .topLinkBox .h2Ttl span {
		padding-bottom: 2px;
		border-bottom-width: 4px;
	}
	#top .topLinkBox .h2Ttl span::before {
		top: -22px;
		right: -9px;
		width: 25px;
		height: 27px;
		background: url("img/common/icon12_sp.png") no-repeat top right / 25px;
	}
	#top .topLinkBox .lBox .tel {
		padding-left: 25px;
	}
	#top .topLinkBox .lBox .tel .textImg {
		width: 134px;
		display: block;
	}
	#top .topLinkBox .lBox .tel a {
		margin-left: -2px;
		padding-left: 32px;
		font-size: 3.5rem;
		background-size: 24px;
		background-position: center left;
	}
	#top .topLinkBox .rBox {
		margin-top: -4px;
		width: auto;
	}
	#top .topLinkBox .rBox .bgText {
		padding: 5px 12px 3px;
		font-size: 1.3rem;
	}
	#top .topLinkBox .rBox p {
		font-size: 1.8rem;
	}
	#top .topLinkBox .rBox .sml {
		margin: 5px 0 0 -2px;
		font-size: 1.6rem;
	}
	#top .topLinkBox .rBox .text {
		margin: 0 0 6px 3px;
	}
	#top .topLinkBox .rBox .text01 {
		margin-bottom: 5px;
		padding: 0 0 3px 5px;
		display: block;
		background: url("img/common/icon11.png") repeat-x bottom left / 18px 2px;
	}
	#top .topLinkBox .rBox .text02 {
		margin-left: 3px;
		font-size: 1.5rem;
	}
	#top .sec01 {
		margin-bottom: 15px;
	}
	#top .sec01 .imgBox {
		display: block;
	}
	#top .sec01 .imgBox .lBox {
		margin-left: 0;
		width: auto;
	}
	#top .sec01 .imgBox .lBox img {
		width: 100%;
	}
	#top .sec01 .imgBox .rBox {
		padding-bottom: 3px;
		width: auto;
	}
	#top .sec01 .imgBox .rBox .comTitle {
		right: -5px;
		top: 29px;
		font-size: 7.3rem;
	}
	#top .sec01 .imgBox .headLine02 {
		font-size: 1.8rem;
		margin-bottom: 39px;
	}
	#top .sec01 .imgBox .headLine02 span {
		margin-top: 8px;
		font-size: 4.5rem;
	}
	#top .sec01 .imgBox .rBox h3 {
		margin-bottom: 22px;
		font-size: 2.3rem;
	}
	#top .sec01 .imgBox .rBox p {
		line-height: 2.13;
	}
	#top .sec02 {
		margin-bottom: 40px;
		border-radius: 20px;
		border: 5px solid #fff;
	}
	#top .sec02 .subBox {
		padding: 31px 23px 50px 22px;
		border-radius: 28px 28px 0px 0px;
	}
	#top .sec02 .subBox::before {
		height: 100%;
		border-radius: 15px 15px 0 0;
		background: linear-gradient(#cef0f6 0%, #fefbf6 100%);
	}
	#top .sec02 .textBox {
		margin: 0 0 24px;
		position: relative;
		z-index: 2;
	}
	#top .sec02 .textBox .textList {
		margin-top: 0;
		display: block;
	}
	#top .sec02 .textBox .textList li {
		margin: 0 0 21px;
		padding: 20px 20px 33px;
		width: auto;
	}
	#top .sec02 .textBox .textList li:last-of-type {
		margin-bottom: 0;
	}
	#top .sec02 .textBox .textList .ttl {
		margin-bottom: 0;
		font-size: 1.6rem;
		line-height: 1.63;
		text-align: center;
	}
	#top .sec02 .textBox .textList .list01::before {
		display: none;
	}
	#top .sec02 .textBox .textList .list01 .picture {
		margin-bottom: 14px;
	}
	#top .sec02 .textBox .textList .picture img {
		width: 100%;
	}
	#top .sec02 .textBox .textList .list02 {
		margin-bottom: 16px;
		padding: 24px 20px 20px;
		width: auto;
	}
	#top .sec02 .textBox .textList .list02::after {
		display: none;
	}
	#top .sec02 .textBox .textList .list02 .txtBox {
		margin-bottom: 14px;
	}
	#top .sec02 .textBox .textList .list03 {
		padding: 30px 20px 29px;
		width: auto;
	}
	#top .sec02 .textBox .textList .list03::after {
		display: none;
	}
	#top .sec02 .textBox .textList .list03 .picture {
		margin-bottom: 19px;
	}
	#top .sec02 .textBox .textList .list03 .ttl {
		text-align: center;
	}
	#top .sec02 .textBox .textList .list04 {
		margin-top: 0;
		padding: 25px 19px 29px;
		width: auto;
		display: block;
	}
	#top .sec02 .textBox .textList .list04::after {
		display: none;
	}
	#top .sec02 .textBox .textList .list04 .picture {
		margin-bottom: 13px;
		width: auto;
	}
	#top .sec02 .textBox .textList .list04 .txtBox {
		width: auto;
	}
	#top .sec02 .textBox .textList .list05 {
		padding: 24px 20px 33px;
		width: auto;
	}
	#top .sec02 .textBox .textList .list05::after {
		display: none;
	}
	#top .sec02 .textBox .textList .list05 .picture {
		margin-bottom: 14px;
	}
	#top .sec02 .textBox .pic {
		margin: 31px -4px 0 0;
		width: auto;
		position: relative;
		left: 0;
		bottom: 0;
		transform: translateX(0);
	}
	#top .sec02 .textBox .pic img {
		width: 100%;
	}
	#top .sec02 .subBox .h2Ttl {
		margin: 0 -15px 40px;
		font-size: 2rem;
	}
	#top .sec02 .subBox .h2Ttl::after {
		bottom: -12px;
	}
	#top .sec02 .subBox p {
		margin: 0 -17px 29px -12px;
		max-width: inherit;
	}
	#top .sec02 .subBox .pho01 {
		margin: 0 -16px 0 -15px;
		width: auto;
		text-align: center;
	}
	#top .sec03 {
		padding: 0 15px 52px;
	}
	#top .sec03 .subBox {
		padding: 35px 5px 40px;
		border-radius: 20px;
		border-width: 5px;
	}
	#top .sec03 .headLine02 {
		margin-bottom: 20px;
	}
	#top .sec03 .headLine02 span {
		margin-top: 4px;
	}
	#top .sec03 .subBox .comTitle {
		font-size: 7.36rem;
		letter-spacing: 0.05em;
		top: 118px;
	}
	#top .sec03 .serviceList {
		margin: 0 0 18px;
	}
	#top .sec03 .serviceList li {
		padding: 22px 5px;
	}
	#top .sec03 .serviceList li:first-of-type {
		background-image: none;
	}
	#top .sec03 .serviceList .textBox {
		margin-bottom: 8px;
	}
	#top .sec03 .serviceList .textBox h3 {
		margin: 0 0 15px;
		font-size: 1.8rem;
	}
	#top .sec03 .serviceList .textBox h3 .en {
		margin-bottom: 10px;
		font-size: 1.3rem;
	}
	#top .sec03 .serviceList p {
		letter-spacing: 0.05em;
	}
	#top .sec03 .serviceList .photoBox {
		width: 100%;
		height: auto;
	}
	#top .sec03 .termList {
		margin: 0 5px 55px;
	}
	#top .sec03 .termList > li {
		margin-bottom: 24px;
		padding: 32px 25px;
	}
	#top .sec03 .termList h3 {
		margin: 0 -10px 28px;
	}
	#top .sec03 .termList h3::after {
		margin-top: 10px
	}
	#top .sec03 .txtList li {
		padding: 0 0 7px 18px;
		line-height: 1.73;
	}
	#top .sec03 .txtList li::before {
		width: 13px;
		height: 13px;
		top: 8px;
	}
	#top .sec03 .note {
		margin: 8px -10px 10px 1em;
		font-size: 1.3rem;
	}
	#top .sec03 .flowBox {
		margin: 0 5px;
		padding: 40px 15px 30px;
	}
	#top .sec03 .flowBox .img01 {
		left: auto;
		top: 99px;
		right: 11px;
		width: 28px;
	}
	#top .sec03 .flowBox .img02 {
		left: auto;
		bottom: auto;
		right: 15px;
		top: 218px;
		width: 75px;
	}
	#top .sec03 .flowBox .img03 {
		position: absolute;
		right: 15px;
		bottom: 74px;
		margin-left: 0;
		width: 75px;
	}
	#top .sec03 .flowBox h3 {
		margin: 0 0 30px;
		padding-bottom: 15px;
		font-size: 1.8rem;
	}
	#top .sec03 .timeList {
		margin: 0 0 0;
		display: block;
	}
	#top .sec03 .timeList li {
		padding: 0 0 17px;
		text-align: left;
		display: flex;
		align-items: center;
	}
	#top .sec03 .timeList li::after {
		width: 3px;
		height: 100%;
		top: 5px;
		left: 66px;
	}
	#top .sec03 .timeList li:first-child::after {
		top: 40%;
	}
	#top .sec03 .timeList .time {
		padding: 0 55px 0 0;
		min-width: inherit;
		width: 45px;
		text-align: right;
		box-sizing: content-box;
	}
	#top .sec03 .timeList .time::before {
		margin-left: 0;
		width: 17px;
		height: 17px;
		top: 4px;
		left: 59px;
	}
	#top .sec03 .timeList .txt {
		position: static;
		flex: 1;
		letter-spacing: 0.05em;
		line-height: 1.625;
		text-align: left;
		transform: translateX(0);
	}
	#top .sec03 .timeList li:last-child {
		padding-top: 8px;
	}
	#top .sec03 .timeList li:last-child::after {
		height: 10px;
	}
	#top .sec03 .timeList li:last-child::before {
		width: 18px;
		height: 4px;
		left: 57px;
		top: -10px;
		border: 1px solid transparent;
		border-top: 1px solid #333;
		border-bottom: 1px solid #333;
		background: #fcf4e8;
	}
	#main .facility {
		padding: 109px 0 0;
		background-image: url(img/index/facility_bg01_sp.jpg);
		background-size: 100% auto;
		background-position: center top -161px;
		background-repeat: repeat-y;
	}
	#main .facility::before {
		height: 60px;
		top: -12px;
		background-image: url(img/index/service_bg01_sp.png);
	}
	#main .facility .comTitle {
		top: -44px;
		right: auto;
		left: calc(50% - 86px);
		font-size: 7.3rem;
	}
	#main .facility .photoList {
		margin: -15px 2px 0 3px;
		justify-content: space-between;
	}
	#main .facility .photoList li {
		margin: 15px 0 0;
		width: calc((100% - 10px) / 2);
		height: 53.3vw;
	}
	#main .facility .photoList p {
		padding: 5px 40px 6px 10px;
	}
	#top .features {
		background-image: url(img/index/features_bg01_sp.jpg);
		background-size: 100% auto;
		background-repeat: repeat-y;
		background-position: center top -180px;
	}
	#top .features .pic {
		width: 69px;
		position: absolute;
		right: -11px;
		top: 20px;
	}
	#top .features .comBox {
		padding-top: 65px;
	}
	#top .features .headLine02 {
		margin-bottom: 23px;
	}
	#top .features .headLine02 span {
		margin-top: 12px;
	}
	#top .features .comTitle {
		left: calc(50% - 188px);
		top: 58px;
		font-size: 7.3rem;
	}
	#top .features .slideBox {
		margin-left: auto;
		padding-left: 30px;
		width: auto;
	}
	#top .features .slideBox .photoList li {
		margin-right: 24px;
		padding: 18px 17px 56px 18px;
		width: 315px;
		min-height: 550px;
	}
	#top .features .slideBox .photoList .slick-slide > div {
		margin-right: 13px;
		width: 315px;
	}
	#top .features .slideBox .photoList .pho {
		margin-bottom: 13px;
		height: 180px;
	}
	#top .features .slideBox .photoList .txtBox {
		margin: 0 3px;
	}
	#top .features .slideBox .photoList .title {
		margin-bottom: 1px;
	}
	#top .features .slideBox .photoList .title span {
		margin-left: -1px;
		vertical-align: -3px;
	}
	#top .features .slideBox .photoList .ttl {
		margin-bottom: 8px;
		min-height: 52px;
		font-size: 2rem;
		line-height: 1.3;
	}
	#top .features .slideBox .photoList .btn {
		width: 223px;
		position: absolute;
		right: 0;
		bottom: 0;
	}
	#top .features .slideBox .photoList .btn a {
		padding-bottom: 10px;
		border-radius: 11px 0 11px 0;
	}
	#top .features .slideBox .arrowList .arrow {
		width: 63px;
		left: 8px;
	}
	#top .features .slideBox .arrowList .next {
		left: auto;
		right: 8px;
	}
	#top .greenBox {
		padding: 65px 0 125px;
		background: url(img/index/green_bg02_sp.jpg) repeat-x left bottom / 100% auto, url(img/index/green_bg_sp.jpg) repeat left top -252px / 100% auto;
	}
	#top .special {
		margin-bottom: 46px;
	}
	#top .special .comTitle {
		left: auto;
		right: -15px;
		top: -10px;
		font-size: 6.4rem;
	}
	#top .special .headLine02 {
		margin: 0 -15px 39px 12px;
	}
	#top .special .headLine02 span {
		margin-top: 11px;
		font-size: 3.2rem;
		white-space: nowrap;
	}
	#top .special .slideBox {
		padding-left: 27px;
		width: auto;
	}
	#top .special .slideBox .photoList li {
		margin-right: 15px;
		width: 315px;
	}
	#top .special .slideBox .photoList .slick-slide > div {
		margin-right: 15px;
		width: 315px;
	}
	#top .special .slideBox .photoList a {
		min-height: 502px;
	}
	#top .special .slideBox .photoList .pho {
		height: 220px;
	}
	#top .special .slideBox .photoList .txtBox {
		margin: 16px 10px;
	}
	#top .special .slideBox .photoList .txtBox .tagList {
		display: none;
	}
	#top .special .slideBox .photoList .txtBox .ttl {
		margin-bottom: 9px;
		font-size: 1.7rem;
		line-height: 1.88;
	}
	#top .special .slideBox .photoList .txtBox .txt {
		font-size: 1.5rem;
		line-height: 1.73;
		letter-spacing: 0.05em;
	}
	#top .special .slideBox .photoList .txtBox .time {
		bottom: 10px;
	}
	#top .special .slideBox .photoList .txtBox .time span {
		padding: 1px 0 3px 25px;
	}
	#top .special .slideBox .arrowList .arrow {
		width: 63px;
		left: 4px;
		top: 50%;
	}
	#top .special .slideBox .arrowList .next {
		left: auto;
		right: 11px;
	}
	#top .access .comTitle {
		left: calc(50% - 172px);
		right: auto;
		top: -10px;
		font-size: 7.3rem;
	}
	#top .access .headLine02 {
		margin-bottom: 39px;
	}
	#top .access .headLine02 span {
		margin-top: 12px;
	}
	#top .access .imgBox {
		margin: 0 0 23px;
		display: block;
	}
	#top .access .imgBox .photoBox {
		margin-bottom: 17px;
		width: auto;
		border-radius: 5px;
		overflow: hidden;
	}
	#top .access .imgBox .textBox {
		width: auto;
	}
	#top .access .imgBox .textDl {
		margin-bottom: 16px;
		color: #fff;
	}
	#top .access .imgBox .textDl dt {
		margin-bottom: -1px;
	}
	#top .access .imgBox .textDl dd {
		margin-bottom: 12px;
		line-height: 2.13;
	}
	#top .access .imgBox .textDl dd:last-of-type {
		margin-bottom: 0;
	}
	#top .access .imgBox .textDl dd.ddStyle01 {
		text-indent: 0.24em;
	}
	#top .access .imgBox p {
		color: #fff;
	}
	#top .access .imgBox p a {
		color: #fff;
	}
	#top .access .imgBox .tel {
		margin-bottom: 4px;
		font-size: 3rem;
	}
	#top .access .imgBox .txt01 {
		margin-bottom: 6px;
	}
	#top .access .imgBox .mail {
		margin-bottom: 10px;
		font-size: 1.6rem;
	}
	#top .access .imgBox .txt02 {
		font-size: 1.6rem;
	}
	#top .access .map {
		height: 53.33vw;
	}
	#top .access .map iframe {
		width: 100%;
		height: 100%;
	}
	#top .contact {
		margin-bottom: 72px;
	}
	#top .contact .headLine02 {
		margin-bottom: 24px;
	}
	#top .contact .comBox {
		padding-top: 55px;
	}
	#top .contact::before {
		height: 75px;
		top: -46px;
		background-image: url(img/index/contact_bg01_sp.png);
	}
	#top .contact .btmBox {
		margin: 0 0 0 8px;
		width: auto;
		display: block;
	}
	#top .contact .btmBox .btmPho {
		margin-left: auto;
		width: 23.47vw;
	}
	#top .contact .whiteBox {
		margin: 0 0 29px;
		padding: 48px 15px 55.1vw 7px;
		width: auto;
	}
	#top .contact .whiteBox::after {
		width: 39px;
		height: 50px;
		right: -2px;
		bottom: -2px;
		background-image: url(img/index/contact_bg05_sp.png);
		background-color: transparent;
	}
	#top .contact .whiteBox.white01 {
		margin: 0 0 29px;
		width: auto;
	}
	#top .contact .whiteBox .pho {
		width: 51.73vw;
		position: absolute;
		right: 5.9vw;
		top: auto;
		bottom: 3.9vw;
	}
	#top .contact .whiteBox .pho img {
		width: 100%;
	}
	#top .contact .whiteBox .pho01 {
		width: 17vw;
		left: 3.8vw;
		bottom: 8.6vw;
	}
	#top .contact .whiteBox .pho01 img {
		width: 100%;
	}
	#top .contact .backBox {
		margin: 58px 0 0 auto;
		width: auto;
	}
	#top .contact .backBox p {
		margin-right: 0;
		padding: 75px 0 120px;
		font-size: 2.5rem;
	}
	#top .contact .whiteBox.white01 {
		margin: 0 0 29px;
		width: auto;
	}
	#top .contact .whiteBox .pho {
		width: 51.73vw;
		position: absolute;
		right: 5.9vw;
		top: auto;
		bottom: 3.9vw;
	}
	#top .contact .whiteBox .pho img {
		width: 100%;
	}
	#top .contact .whiteBox .pho01 {
		width: 17vw;
		left: 3.8vw;
		bottom: 8.6vw;
	}
	#top .contact .whiteBox .pho01 img {
		width: 100%;
	}
	#top .contact .whiteBox .pic {
		width: 183px;
		position: absolute;
		right: calc(100% + 79px);
		bottom: 17px;
	}
	#top .contact .whiteBox .txtList {
		max-width: inherit;
	}
	#top .contact .whiteBox .txtList li {
		margin-bottom: 7px;
		padding: 0 0 6px 6px;
		font-size: 1.8rem;
	}
	#top .contact .whiteBox .txtList .list01 {
		font-size: 1.5rem;
	}
	#top .contact .whiteBox.white02 {
		padding: 48px 15px 55vw 6px;
	}
	#top .contact .whiteBox.white02::after, #top .contact .whiteBox.white03::after {
		width: 40px;
		height: 48px;
		background-image: url(img/index/contact_bg05_sp.png);
	}
	#top .contact .whiteBox.white03 {
		margin: 0 0 10px;
		padding: 49px 15px 55vw 6px;
	}
	#top .contact .whiteBox.white02 .pho {
		width: 51.73vw;
		right: 6vw;
		left: auto;
		top: auto;
		bottom: 3.7vw;
	}
	#top .contact .whiteBox.white03 .pho {
		width: 51.73vw;
		right: 6vw;
		top: auto;
		bottom: 4vw;
	}
	#top .contact .whiteBox.white02 .pho01 {
		width: 11.74vw;
		bottom: 6.4vw;
		left: 3.1vw;
	}
	#top .contact .whiteBox.white03 .pho01 {
		width: 16.5vw;
		left: 4.7vw;
		right: auto;
		bottom: 8.6vw;
	}
	#top .contact .whiteBox.white02 .txtList {
		margin-left: auto;
		max-width: inherit;
	}
	#top .contact .whiteBox.white03 .txtList {
		max-width: inherit;
	}
	#top .contact .whiteBox.white03 .txtList li, #top .contact .whiteBox.white02 .txtList li {
		padding: 0 0 5px 7px;
		font-size: 1.8rem;
	}
	#top .contact .whiteBox.white03 .txtList .list01, #top .contact .whiteBox.white02 .txtList .list01 {
		margin-top: 16px;
		font-size: 1.5rem;
	}
}
@media all and (max-width: 360px) {
	#top .topLinkBox .h2Ttl {
		font-size: 10vw;
	}
	#top .topLinkBox .lBox .tel a {
		font-size: 9vw;
	}
}
@media all and (max-width: 374px) {
	#top .contact .whiteBox .txtList li, #top .contact .whiteBox.white03 .txtList li, #top .contact .whiteBox.white02 .txtList li {
		font-size: 1.5rem;
	}
	#top .access .imgBox .tel {
		font-size: 2.8rem;
	}
	#top .features .slideBox .photoList li, #top .special .slideBox .photoList li {
		width: 260px;
	}
	#top .features .slideBox .photoList .slick-slide > div, #top .special .slideBox .photoList .slick-slide > div {
		width: 260px;
	}
	#main .facility .photoList p {
		padding-right: 20px;
	}
	#top .sec03 .timeList .time {
		padding-right: 30px;
	}
	#top .sec03 .timeList .time::before {
		left: 52px;
	}
	#top .sec03 .timeList li::after {
		left: 59px;
	}
	#top .sec03 .timeList li:last-child::before {
		left: 50px;
	}
	#top .sec03 .flowBox h3 {
		font-size: 1.6rem;
	}
	#top .sec03 .termList > li {
		padding: 32px 15px;
	}
	#top .sec03 .termList h3 {
		font-size: 1.8rem;
	}
	#top .sec02 .textBox .textList .ttl {
		font-size: 1.5rem;
	}
	#main .facility .comTitle {
		left: calc(50% - 116px);
	}
	#top .features .comTitle {
		left: calc(50% - 150px);
		font-size: 7.1rem;
	}
	#top .access .comTitle {
		left: calc(50% - 150px);
	}
	#top .contact .comTitle {
		left: calc(50% - 150px);
	}
	#top .special .headLine02 span {
		font-size: 2.6rem;
	}
	#top .special .comTitle {
		font-size: 5.3rem;
	}
}
/*------------------------------------------------------------

	confirm

------------------------------------------------------------*/
#top.confirm {
	padding-top: 120px;
}
@media all and (max-width: 896px) {
	#top.confirm {
		padding-top: 70px;
	}
}
/*------------------------------------------------------------

	thanks

------------------------------------------------------------*/
#thanks {
	padding: 200px 0 120px;
	min-height: calc(100vh - 294px);
	box-sizing: border-box;
}
#thanks p {
	margin-bottom: 60px;
	font-size: 2rem;
	text-align: center;
}
#thanks .btn {
	margin: 0 auto;
	width: 275px;
}
#thanks .btn a {
	padding: 20px 45px;
	display: block;
	color: #25A45C;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 0;
	text-align: center;
	border-radius: 60px;
	border-color: #FBCD4C;
	background: url(img/common/icon09.png) no-repeat top calc(50% + 2px) right 20px / 21px auto;
	background-color: #FBCD4C;
	cursor: pointer;
}
@media all and (min-width: 897px) {
	#thanks .btn a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	#thanks {
		padding: 100px 0 70px;
		min-height: inherit;
	}
	#thanks p {
		margin-bottom: 40px;
		font-size: 1.6rem;
	}
}
/*------------------------------------------------------------

	detail

------------------------------------------------------------*/
#detail .pageTitle {
	margin-bottom: 143px;
}
#detail .comBox {
	width: 1000px;
}
#detail .topBox {
	margin-bottom: 148px;
	padding: 33px 100px 24px;
	position: relative;
	border-radius: 5px;
	overflow: hidden;
	box-shadow: 0px 5px 10px rgba(85, 85, 85, 0.16);
	background-color: #fff;
}
#detail .topBox::before {
	width: 100%;
	height: 120px;
	position: absolute;
	left: 0;
	top: 0;
	background: url(img/column/detail/bg01.png) no-repeat center center / 100% 100%;
	content: '';
	z-index: 2;
}
#detail .topBox::after {
	width: 112px;
	height: 157px;
	position: absolute;
	right: 47px;
	top: 47px;
	background: url(img/column/detail/bg02.png) no-repeat center center / 100% auto;
	content: '';
	z-index: 2;
}
#detail .topBox .photo {
	margin-bottom: 90px;
	position: relative;
}
#detail .topBox .photo .pho img {
	width: 100%;
	border-radius: 5px;
}
#detail .topBox .photo .txtBox {
	width: calc(100% - 100px);
	position: absolute;
	left: 50%;
	bottom: 43px;
	transform: translateX(-50%);
}
#detail .topBox .photo .txtBox h2 {
	color: #fff;
	font-size: 2rem;
	font-weight: 600;
	line-height: 1.6;
	letter-spacing: 0.05em;
}
#detail .topBox .photo .txtBox .time {
	margin-bottom: 5px;
	color: #fff;
	font-size: 1.5rem;
	font-weight: 500;
}
#detail .topBox .photo .txtBox .time span {
	padding: 3px 0 3px 25px;
	display: inline-block;
	letter-spacing: 0.05em;
	background: url(img/common/icon16.png) no-repeat left top calc(50% - 1px) / 20px auto;
	vertical-align: top;
}
#detail .topBox .textBox figure {
	margin: 0 0 26px;
	padding: 0;
	text-align: center;
}
#detail .topBox .textBox p {
	margin-bottom: 79px;
	font-size: 1.5rem;
	line-height: 2;
	letter-spacing: 0.05em;
	word-break: break-all;
}
#detail .topBox .textBox p a {
	display: inline-block;
	vertical-align: top;
}
#detail .topBox .textBox h2 {
	margin-bottom: 20px;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.05em;
}
#detail .topBox .textBox h2 span {
	padding: 0 7px 3px 0;
	display: inline-block;
	border-bottom: 5px solid #FCDE8A;
	vertical-align: top;
}
@media all and (min-width: 897px) {
	#detail .topBox .textBox p a:hover {
		text-decoration: underline;
	}
}
@media all and (max-width: 896px) {
	#detail .pageTitle {
		margin-bottom: 37px;
	}
	#detail .comBox {
		width: auto;
	}
	#detail .topBox {
		margin-bottom: 81px;
		padding: 42px 15px 41px;
	}
	#detail .topBox::before {
		height: 79px;
		background-image: url(img/column/detail/bg01_sp.png);
	}
	#detail .topBox::after {
		width: 50px;
		height: 90px;
		right: 15px;
		top: 19px;
		background-image: url(img/column/detail/bg02_sp.png);
	}
	#detail .topBox .photo {
		margin-bottom: 24px;
	}
	#detail .topBox .photo .txtBox {
		width: calc(100% - 30px);
		bottom: 13px;
	}
	#detail .topBox .photo .txtBox h2 {
		font-size: 1.5rem;
		line-height: 1.53;
	}
	#detail .topBox .photo .txtBox .time {
		margin-bottom: 5px;
		font-size: 1.2rem;
	}
	#detail .topBox .photo .txtBox .time span {
		padding: 3px 0 3px 24px;
		background-size: 16px auto;
		background-position: left 2px top calc(50% - 2px);
	}
	#detail .topBox .textBox figure {
		margin-bottom: 16px;
	}
	#detail .topBox .textBox figure img {
		width: 100%;
	}
	#detail .topBox .textBox p {
		margin-bottom: 32px;
		font-size: 1.5rem;
		line-height: 2;
		letter-spacing: 0.05em;
	}
	#detail .topBox .textBox h2 {
		margin-bottom: 20px;
		font-size: 1.8rem;
		line-height: 1.78;
	}
	#detail .topBox .textBox h2 span {
		padding: 0 7px 3px 0;
		display: inline;
		border-bottom: none;
		background: url(img/column/detail/line01.png) repeat-x left bottom / 15px auto;
	}
}