@charset "utf-8";
/*
Theme Name: Sun Olive
Theme URI: null
Description: Description
Author: 81bridge - LXT
Version: 1.0
*/
.aligncenter {
	display: block;
	margin: 0 auto;
}
.alignright {
	float: right;
}
.alignleft {
	float: left;
}
img[class*="wp-image-"],
img[class*="attachment-"] {
	height: auto;
	max-width: 100%;
}
.wp-block-image figure,
.wp-block-image figcaption {
	display: block;
}
a.nolink,
a.nolink:hover {
	opacity: 1;
	cursor: default;
	pointer-events: none;
}
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
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, figcaption, figure, section, footer, header, main, hgroup, menu, nav, summary {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	font-size: 1em;
	box-sizing: border-box;
}
html {
	font-size: 62.5%;
}
@media all and (max-width: 540px) {
	html {
		font-size: calc(1000vw / 541);
	}
}
body, table, input, textarea, select, option {
	font-family: "Noto Sans JP", sans-serif;
}
article, aside, canvas, details, figcaption, figure, footer, header, main, hgroup, menu, nav, section, summary {
	display: block;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
chrome_annotation {
	border: none !important;
}
:focus {
	outline: 0;
}
ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}
img {
	vertical-align: top;
	max-width: 100%;
    height: auto;
}
address {
	font-style: normal;
}
a,
a:link {
	color: #231815;
	text-decoration: none;
	transition: 0.3s;
}
a:visited {
	color: #231815;
}
a:hover {
	color: #231815;
}
a:active {
	color: #231815;
}
a.text-link {
	color: #009162;
	text-decoration: underline;
}
/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	min-width: 1100px;
	color: #231815;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.5;
	font-feature-settings: "palt";
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background-color: #FFF;
}
.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
}
#container {
	text-align: left;
}
#main {
	margin-bottom: 14.4rem;
}
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.6rem;
	}
	a:hover,
	a:hover img {
		opacity: 1 !important;
	}
	.pc {
		display: none !important;
	}
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
	#container {
		margin-bottom: 8.3rem;
	}
	#main {
		margin-bottom: 9.2rem;
	}
}
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* 81-LYX */
/* 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;}
.flexALC {align-items: center;}
.flexJCC {justify-content: center;}
.flexRR {flex-direction: row-reverse;}
.flexCR {flex-direction: column-reverse;}
.mont {
	font-family: "Montserrat", sans-serif;
}
/*------------------------------------------------------------
	pageTitle
------------------------------------------------------------*/
.pageTitle {
	margin-bottom: 8.5rem;
}
.pageTitle .pageImg {
	position: relative;
}
.pageTitle .pageImg img {
	width: 100%;
}
.pageTitle .pageImg::after {
	position: absolute;
	z-index: 1;
	bottom: -0.2rem;
	left: 0;
	width: 100%;
	height: 10.2rem;
	content: "";
	background: url(img/common/page_bg.png) no-repeat left top / 100% 100%;
}
@media all and (max-width: 896px) {
	.pageTitle {
		margin-bottom: 5.9rem;
	}
	.pageTitle .pageImg::after {
		height: 5rem;
		background-image: url(img/common/page_bg_sp.png);
	}
}
/*------------------------------------------------------------
	content
------------------------------------------------------------*/
.content {
	margin: 0 auto;
	max-width: 96.5rem;
	/* max-width: 106.5rem; */
}
@media all and (max-width: 896px) {
	.content {
		margin: 0 3rem !important;
		max-width: 100% !important;
	}
}
/*------------------------------------------------------------
	headLine01
------------------------------------------------------------*/
.headLine01 {
	position: relative;
	z-index: 2;
	margin: -2.5rem 0 3.4rem;
	font-weight: 700;
}
.headLine01 .en {
	display: block;
	font-family: "Montserrat", sans-serif;
	font-size: 8.3rem;
	font-weight: 600;
	line-height: 1.1;
}
.headLine01 .jp {
	padding-left: 2.3rem;
	position: relative;
	color: #000;
	font-size: 3.1rem;
	letter-spacing: 0.1em;
	line-height: 1.45;
}
.headLine01 .jp::after {
	width: 0.8rem;
	position: absolute;
	z-index: 1;
	content: "";
	top: 1rem;
	bottom: 0.5rem;
	left: 0;
	background-color: #1EBCAE;
}
@media all and (max-width: 896px) {
	.headLine01 {
		margin: 1.2rem 0 3.8rem;
	}
	.headLine01 .en {
		font-size: 7.5rem;
	}
}
/*------------------------------------------------------------
	headLine02
------------------------------------------------------------*/
.headLine02 {
	font-weight: 700;
	font-size: 3.1rem;
	letter-spacing: 0.1em;
	line-height: 1.51;
}
.headLine02 .sml {
	display: block;
	font-size: 2.3rem;
	line-height: 1.4;
}
@media all and (max-width: 896px) {
}
/*------------------------------------------------------------
	headLine03
------------------------------------------------------------*/
.headLine03 {
	font-weight: 700;
}
.headLine03 .en {
	color: #1EBCAE;
	font-weight: 600;
	font-size: 8.3rem;
	display: block;
	line-height: 1.33;
	letter-spacing: 0.1em;
}
.headLine03 .jp {
	font-size: 3rem;
	letter-spacing: 0.12em;
}
/*------------------------------------------------------------
	pagePath
------------------------------------------------------------*/
#pagePath li {
	color: #1EBCAE;
	display: inline-block;
	font-size: 1.3rem;
	letter-spacing: 0.06em;
}
#pagePath li:not(:last-child) {
	margin-right: 0.3rem;
	padding-right: 1.5rem;
	background: url(img/common/icon01.png) no-repeat right center / 0.7rem;
}
#pagePath a {
	color: #231815;
}
#pagePath a:hover {
	opacity: 0.7;
}
@media all and (max-width: 896px) {
	#pagePath li {
		font-size: 1.6rem;
	}
	#pagePath li:not(:last-child) {
		margin-right: 1rem;
		padding-right: 2.3rem;
		background-size: 0.8rem auto;
	}
}
/*------------------------------------------------------------
	comFixedBox
------------------------------------------------------------*/
@media all and (min-width: 897px) {
	.comFixedBox {
		padding: 1.7rem 2rem 1.8rem;
		width: 22.3rem;
		position: fixed;
		z-index: 11;
		bottom: 7.5rem;
		right: 4.2rem;
		background-color: #fff;
		border-radius: 1.3rem;
		box-shadow: 0.8rem 0.8rem 1.5rem 0rem rgba(0, 0, 0, 0.35);
	}
	.comFixedBox .title {
		margin-bottom: 1.2rem;
		font-size: 1.2rem;
		letter-spacing: 0.06em;
	}
}
/*------------------------------------------------------------
	comBtnList
------------------------------------------------------------*/
.comBtnList li {
	/* margin-bottom: 1.5rem; */
	width: 140px;
}
.comBtnList li:last-child {
	margin-bottom: 0;
}
.comBtnList a {
	min-height: 3rem;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 1.2rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	/* background: url(img/common/icon02.png) no-repeat left 1.5rem center / 2rem,url(img/common/icon04.png) no-repeat right 1rem center / 2.2rem,#008F65; */
	background: #008F65;
	border-radius: 2rem;
}
.comBtnList .li01 a {
	/* background: url(img/common/icon03.png) no-repeat left 1.2rem center / 2.2rem,url(img/common/icon04.png) no-repeat right 1rem center / 2.2rem,#008F65; */
	/* background: #1EBCAE; */
}
.comBtnList a:hover {
	opacity: 0.7;
}
@media all and (max-width: 896px) {
	.comBtnList {
		margin: 0 auto 6.3rem;
		width: 30.8rem;
	}
	.comBtnList li {
		margin-bottom: 2.7rem;
	}
	.comBtnList a {
		min-height: 6.7rem;
		font-size: 2rem;
		background: url(img/common/icon04.png) no-repeat right 1.5rem center / 3.8rem,#008F65 !important;
		border-radius: 3.6rem;
	}
}

/* 20251027改修 */
.comBtnList {
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: center;
}

@media all and (max-width: 896px) {
	.comBtnList {
    display: none;
    flex-direction: unset;
    gap: unset;
    align-items: unset;
}

}

/*------------------------------------------------------------
	comTextBox
------------------------------------------------------------*/
.comTextBox {
	margin-bottom: 11.3rem;
}
.comTextBox .headLine02 {
	width: 42.5rem;
}
.comTextBox .text {
	flex: 1;
	letter-spacing: 0.06em;
	line-height: 2.18;
}
@media all and (max-width: 896px) {
	.comTextBox {
		margin-bottom: 4.7rem;
		display: block !important;
	}
	.comTextBox .headLine02 {
		margin-bottom: 3.4rem;
		width: auto !important;
	}
	.comTextBox .text {
		text-align: justify;
		letter-spacing: 0.06em;
		line-height: 2.18;
	}
}
/*------------------------------------------------------------
	comContactBox
------------------------------------------------------------*/
.comContactBox .hTitle {
	margin-bottom: 4.5rem;
	text-align: center;
	font-weight: 700;
	font-size: 3rem;
	letter-spacing: 0.2em;
}
.comContactBox > .text {
	padding-bottom: 3.2rem;
	margin: 0 auto 3.9rem;
	max-width: 89.7rem;
	text-align: center;
	letter-spacing: 0.1em;
	line-height: 2.18;
	border-bottom: 1px solid #231815;
}
.comContactBox > .text a {
	text-decoration: underline;
	font-weight: 700;
}
.comContactBox > .text a:hover {
	opacity: 0.7;
}
.comContactBox .mailForm .tableBox {
	margin: 0 auto;
	max-width: 74.8rem;
}
.comContactBox .mailForm .topCenterText {
	margin-bottom: 8.7rem;
	text-align: center;
	letter-spacing: 0.1em;
}
.comContactBox .mailForm table {
	width: 100%;
	border-collapse: collapse;
}
.comContactBox .mailForm table th,
.comContactBox .mailForm table td {
	padding-bottom: 4.6rem;
	width: 100%;
	display: block;
	text-align: left;
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	color: #000;
	word-break: break-all;
}
.comContactBox .mailForm table th {
	padding-bottom: 1.5rem;
	font-weight: 700;
}
.comContactBox .mailForm .any,
.comContactBox .mailForm .must {
	margin-right: 1.2rem;
	padding: 0.2rem 0 0.3rem;
	width: 4.3rem;
	text-align: center;
	color: #fff;
	font-size: 1.2rem;
	text-indent: 0.1em;
	font-weight: 400;
	display: inline-block;
	background-color: #000;
	vertical-align: 0.2rem;
}
.comContactBox .mailForm .must {
	background-color: #1EBCAE;
}
.comContactBox .mailForm table input[type="text"],
.comContactBox .mailForm table input[type="email"], 
.comContactBox .mailForm table input[type="tel"],
.comContactBox .mailForm table select, 
.comContactBox .mailForm table textarea {
	padding: 1rem 2.3rem;
	width: 100%;
	display: block;
	height: 5.1rem;
	color: #000;
	font-size: 1.6rem;
	letter-spacing: 0.1em;
	border-radius: 0.9rem;
	border: 1px solid rgba(35, 24, 21, 1);
	box-sizing: border-box;
	box-shadow: none;
	background-color: #fff;
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
}
.comContactBox .mailForm table textarea {
	height: 25.5rem;
	resize: vertical;
}
.comContactBox .mailForm input::placeholder,
.comContactBox .mailForm textarea::placeholder {
	color: #B2B2B3;
}
.comContactBox .mailForm input::-webkit-input-placeholder,
.comContactBox .mailForm textarea::-webkit-input-placeholder { 
	color: #B2B2B3;
	opacity: 1;
}
.comContactBox .mailForm input:-moz-placeholder,
.comContactBox .mailForm textarea:-moz-placeholder {
	color: #B2B2B3;
	opacity: 1;
}
.comContactBox .mailForm input::-moz-placeholder,
.comContactBox .mailForm textarea::-moz-placeholder {
	color: #B2B2B3;
	opacity: 1;
}
.comContactBox .mailForm input:-ms-input-placeholder,
.comContactBox .mailForm textarea:-ms-input-placeholder {
	color: #B2B2B3;
	opacity: 1;
}
.comContactBox .mailForm .notes {
	margin-bottom: 2.7rem;
	letter-spacing: 0.1em;
}
.comContactBox label {
	cursor: pointer;
}
.comContactBox input[type="radio"] {
	display: none;
}
.comContactBox input[type="radio"] ~ span {
	padding: 0 0 0.2rem 3.6rem;
	display: inline-block;
	background: url(img/common/radio_img.png) no-repeat left center / 2.4rem;
}
.comContactBox input[type="radio"]:checked ~ span {
	background-image: url(img/common/radio_img_on.png);
}
.comContactBox .mailForm .wpcf7-form-control-wrap[data-name="fapply"] {
	/* margin: -1.5rem 0 2.8rem; */
	margin: 0rem 0 2.8rem;
	display: block;
}
.comContactBox .mailForm .wpcf7-list-item {
	margin: 0;
}
.comContactBox .mailForm .radioList {
	letter-spacing: 0.1em;
	color: #231815;
}
.comContactBox .mailForm .radioList .wpcf7-list-item {
	margin: 0 0 1.7rem;
	display: block;
}
.comContactBox .mailForm .radioList .wpcf7-list-item:last-child {
	margin-bottom: 0;
}
.comContactBox .mailForm table .text {
	margin-bottom: 2.7rem;
	letter-spacing: 0.1em;
}
.comContactBox .fileUl {
	margin-top: 3rem;
}
.comContactBox .fileUl li {
	padding: 4.5rem 0.3rem;
	display: flex;
	align-items: flex-start;
	border-bottom: 1px solid rgba(35, 24, 21, 1);
}
.comContactBox .fileUl li:last-child {
	border-bottom: 0;
}
.comContactBox .fileUl .lText {
	padding-left: 2rem;
	margin-right: 1rem;
	position: relative;
	flex: none;
}
.comContactBox .fileUl .lText::after {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	width: 1rem;
	height: 1rem;
	border-radius: 50%;
	background-color: #1EBCAE;
	content: "";
	z-index: 1;
}
.comContactBox .fileUl .memory {
	font-size: 1.2rem;
	letter-spacing: 0.08em;
}
.comContactBox .a-upload {
	position: relative;
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
}
.comContactBox .a-upload .fileerrorTip {
	padding: 0.2rem 1rem 0.3rem;
    margin-right: 1.7rem;
	width: fit-content;
	text-align: center;
    color: #000;
    font-size: 1.4rem;
	letter-spacing: 0.1em;
	border: 1px solid rgba(35, 24, 21, 1);
    background-color: #fff;
}
.comContactBox .a-upload input {
	height: 100%;
	width: 100%;
	font-size: 0;
	position: absolute;
	left: 0;
	top: 0;
	opacity: 0;
	cursor: pointer;
}
.comContactBox .a-upload .wpcf7-form-control-wrap {
	width: 100%;
	position: static;
}
.comContactBox .privacyBox {
	margin-bottom: 8rem;
	font-size: 1.55rem;
	letter-spacing: 0.1em;
	line-height: 2.25;
	color: #231815;
}
.comContactBox .privacyBox .text {
	margin-bottom: 2rem;
}
.comContactBox .privacyBox dl {
	margin-bottom: 3.5rem;
}
.comContactBox .privacyBox dt {
	width: 23rem;
	float: left;
}
.comContactBox .privacyBox dd {
	padding: 0 0 0 23.2rem;
}
.comContactBox .privacyBox .title {
	padding: 0.5rem 0.5rem;
	margin: 3rem 0 2.3rem;
	text-align: center;
	border: 1px solid rgba(35, 24, 21, 1);
}
.comContactBox .privacyBox .centerText {
	text-align: center;
	font-size: 1.55rem;
	letter-spacing: 0.1em;
	line-height: 2.25;
}
.comContactBox .privacyBox .centerText a:hover {
	opacity: 0.7;
}
.comContactBox .agreeText {
	margin: 0 auto 7rem;
	width: fit-content;
	font-weight: 700;
	font-size: 1.9rem;
	letter-spacing: 0.18em;
}
.comContactBox input[type="checkbox"] {
	display: none;
}
.comContactBox input[type="checkbox"] ~ span {
	margin-left: -5rem;
	padding: 0.5rem 0 0.5rem 5.3rem;
	display: inline-block;
	background: url(img/common/check_img.png) no-repeat left center / 3.8rem;
}
.comContactBox input[type="checkbox"]:checked ~ span {
	background-image: url(img/common/check_img_on.png);
}
.comContactBox .submit {
	gap: 2rem;
}
.comContactBox .submit input {
    width: 27rem;
    padding: 1.3rem 0 1.8rem;
    text-align: center;
	color: #fff;
    font-size: 2.3rem;
    font-weight: 400;
	letter-spacing: 0.1em;
	text-indent: 0.1em;
    background-color: #1EBCAE;
	border-radius: 0;
	box-shadow: none;
	box-sizing: border-box;
    border: 0;
	cursor: pointer;
	appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
	transition: .3s;
}
.comContactBox .submit input li {
	margin: 0 1.5rem;
}
.comContactBox .mailForm.confirm table input[type="text"],
.comContactBox .mailForm.confirm table input[type="email"], 
.comContactBox .mailForm.confirm table input[type="tel"],
.comContactBox .mailForm.confirm table select, 
.comContactBox .mailForm.confirm table textarea {
	color: #000 !important;
	background: #ccc !important;
}
.comContactBox .mailForm.confirm input[type="text"]:-internal-autofill-selected,
.comContactBox .mailForm.confirm input[type="email"]:-internal-autofill-selected,
.comContactBox .mailForm.confirm input[type="tel"]:-internal-autofill-selected,
.comContactBox .mailForm.confirm textarea:-internal-autofill-selected {
    box-shadow: inset 0 0 0 1000px #ccc !important;
}
.comContactBox .mailForm.confirm input[type="radio"] ~ span,
.comContactBox .mailForm.confirm .fileUl,
.comContactBox .mailForm.confirm .agreeText {
	opacity: 0.7;
	cursor: default;
	pointer-events: none;
}
.comContactBox .wpcf7-spinner {
	margin: 1rem auto 0 !important;
    display: block !important;
}
@media all and (min-width: 897px) {
	.comContactBox .submit input:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.comContactBox .headLine03 {
		margin-bottom: 4.5rem;
		text-align: center;
	}
	.comContactBox > .text {
		margin-bottom: 3.3rem;
		max-width: 100%;
		letter-spacing: 0.07em;
	}
	.comContactBox .mailForm .tableBox {
		margin-bottom: 0.8rem;
		max-width: 100%;
	}
	.comContactBox .mailForm .topCenterText {
		margin-bottom: 3.3rem;
		line-height: 2.25;
		font-size: 1.55rem;
	}
	.comContactBox .mailForm .notes {
		margin: -0.3rem 0 2.2rem;
		line-height: 2.25;
	}
	.comContactBox .mailForm table .text {
		margin-bottom: 0;
	}
	.comContactBox .fileUl {
		margin: 0.5rem 0 1rem;
	}
	.comContactBox .a-upload .fileerrorTip {
		padding: 0.2rem 0.3rem 0.3rem 0.8rem;
	}
	.comContactBox .privacyBox {
		margin-bottom: 4rem;
		font-size: 1.55rem;
		letter-spacing: 0.1em;
		line-height: 1.875;
		color: #231815;
	}
	.comContactBox .privacyBox .text {
		margin-bottom: 0;
	}
	.comContactBox .privacyBox dl {
		margin-bottom: 3.2rem;
	}
	.comContactBox .privacyBox dt {
		width: auto;
		float: none;
		font-weight: 700;
	}
	.comContactBox .privacyBox dd {
		padding: 0 0 0.3rem;
	}
	.comContactBox .privacyBox .title {
		padding: 0.75rem 0.5rem;
		margin: 3rem 0 2.3rem;
		border: 1px solid rgba(35, 24, 21, 1);
	}
	.comContactBox .privacyBox .centerText {
		font-size: 1.6rem;
		letter-spacing: 0.06em;
		line-height: 1.875;
	}
	.comContactBox .privacyBox .centerText span {
		margin-top: 3rem;
		display: block;
	}
	.comContactBox .agreeText {
		margin: 0 auto 4.2rem;
		width: 38.1rem;
		font-size: 1.9rem;
		letter-spacing: 0.07em;
	}
	.comContactBox input[type="checkbox"] ~ span {
		margin-left: 1rem;
		padding: 0.5rem 0 0.5rem 6.8rem;
	}
	.comContactBox .submit {
		display: block;
	}
	.comContactBox .submit li {
		margin: 0 auto 1.5rem;
		width: fit-content;
	}
	.comContactBox .submit li:last-child {
		margin-bottom: 0;
	}
	.comContactBox .submit input {
		width: fit-content;
		min-width: 25.1rem;
		padding: 1.3rem 0.95rem 1.8rem;
	}
}
/*------------------------------------------------------------
	comNewsList
------------------------------------------------------------*/
.comNewsList li {
	margin-bottom: 3.6rem;
}
.comNewsList li:last-child {
	margin-bottom: 0 !important;
}
.comNewsList a {
	padding: 3.7rem 9rem 3.7rem 4.4rem;
	display: block;
	background: #fff url(img/common/icon05.png) no-repeat right 4.5rem center / 3.6rem;
	border: 1px solid rgba(0, 0, 0, 1);
	border-radius: 1.7rem;
	overflow: hidden;
}
.comNewsList .subBox {
	margin-bottom: 1rem;
	display: flex;
	flex-wrap: wrap;
} 
.comNewsList .subBox time {
	width: 12.3rem;
	display: inline-block;
	font-weight: 700;
	letter-spacing: 0.18em;
	color: #1EBCAE;
}
.comNewsList .subBox .cat {
	margin-top: -0.2rem;
	display: flex;
	align-items: flex-start;
}
.comNewsList .subBox .cat span {
	margin: 0.5rem 0.5rem 0 0;
	padding: 0 0.7rem 0.2rem;
	border-radius: 1rem;
	font-size: 1.2rem;
	letter-spacing: 0.1em;
	color: #fff;
	display: inline-block;
	background-color: #1EBCAE;
}
.comNewsList p {
	letter-spacing: 0.1em;
}
.comNewsList a:hover {
	opacity: 0.7;
}
@media all and (max-width: 896px) {
	.comNewsList a {
		padding: 2.7rem 9rem 3.4rem 3.5rem;
	}
	.comNewsList .subBox time {
		width: 11rem;
		letter-spacing: 0.1em;
	}
	.comNewsList p {
		line-height: 1.678;
	}
}
/*------------------------------------------------------------
	comBg
------------------------------------------------------------*/
.comBg {
	position: relative;
	background-color: #A9E09A;
}
.comBg::before,
.comBg::after {
	position: absolute;
	content: "";
	z-index: 1;
	pointer-events: none;
	left: 0;
	width: 100%;
	height: 7.5rem;
	background: url(img/common/bg01.png) no-repeat left bottom / 100% 100%;
}
.comBg::before {
	bottom: 99.9%;
}
.comBg::after {
	top: 99.9%;
	background-image: url(img/common/bg02.png);
	background-position: left top;
}
@media all and (max-width: 896px) {
	.comBg::before,
	.comBg::after {
		height: 5rem;
		background-image: url(img/common/bg01_sp.png);
	}
	.comBg::after {
		background-image: url(img/common/bg02_sp.png);
	}
}
/*------------------------------------------------------------
	comLink01
------------------------------------------------------------*/
.comLink01 {
	width: fit-content;
}
.comLink01 a {
	padding: 0.6rem 5rem 0.6rem 0;
	font-weight: 700;
	letter-spacing: 0.18em;
	background: url(img/common/icon07.png) no-repeat right center / 3.6rem;
	display: block;
}
.comLink01 a:hover {
	opacity: 0.7;
}
@media all and (max-width: 896px) {
}
/*------------------------------------------------------------
	comLinkList
------------------------------------------------------------*/
.comLinkList {
	margin: 0 auto;
	width: fit-content;
}
.comLinkList li {
	margin-bottom: 3rem;
	min-width: 36.2rem;
}
.comLinkList li:last-child {
	margin-bottom: 0;
}
.comLinkList a {
	padding: 0.5rem;
	display: block;
	text-align: center;
	font-size: 2rem;
	font-weight: 500;
	color: #fff;
	letter-spacing: 0.08em;
	background-color: #1EBCAE;
	border-radius: 2rem;
	overflow: hidden;
}
.comLinkList span {
	padding: 0.2rem 3rem 0.2rem 0;
	background: url(img/common/icon08.png) no-repeat right center / 2.1rem auto;
}
.comLinkList a:hover {
	opacity: 0.7;
}
@media all and (max-width: 896px) {
}
/*------------------------------------------------------------
	comInnerBox
------------------------------------------------------------*/
.comInnerBox .imgBox {
	margin-bottom: 11.2rem;
	padding: 5.5rem 0;
	width: calc(50% + 52.8rem);
	position: relative;
	align-items: center;
}
.comInnerBox .imgBox:last-child {
	margin-bottom: 0 !important;
}
.comInnerBox .imgBox::before {
	width: 76.1%;
	position: absolute;
	z-index: 1;
	top: 0;
	bottom: 0;
	left: 0;
	content: "";
	background-color: #fff;
	border-radius: 0 4rem 4rem 0;
}
.comInnerBox .imgBox .textBox {
	position: relative;
	z-index: 2;
	margin-right: 6.2rem;
	flex: 1;
}
.comInnerBox .imgBox .textBox .title {
	margin-bottom: 2rem;
	padding-bottom: 2rem;
	font-weight: 700;
	font-size: 2.3rem;
	letter-spacing: 0.1em;
	line-height: 2.3;
	border-bottom: 1px solid #000;
}
.comInnerBox .imgBox .textBox .text {
	text-align: justify;
	letter-spacing: 0.06em;
	line-height: 2.18;
}
.comInnerBox .imgBox .textBox .sub {
	margin-left: auto;
	width: 48.8rem;
}
.comInnerBox .imgBox .photoBox {
	position: relative;
	z-index: 2;
	width: 50.5rem;
	border-radius: 1.3rem;
	overflow: hidden;
}
.comInnerBox .imgBox:nth-child(2n) {
	margin: 0 0 11.2rem auto;
	flex-direction: row-reverse;
}
.comInnerBox .imgBox:nth-child(2n)::before {
	left: auto;
	right: 0;
	border-radius: 4rem 0 0 4rem;
}
.comInnerBox .imgBox:nth-child(2n) .textBox {
	margin: 0 0 0 6.2rem;
}
.comInnerBox .imgBox:nth-child(2n) .textBox .sub {
	margin-left: 0;
}
.comInnerBox .imgBox .comLinkList {
	margin: 3rem 0 0;
	position: relative;
	z-index: 2;
}
@media all and (max-width: 896px) {
	.comInnerBox .imgBox {
		margin: 0 3rem 6.8rem 0;
		padding: 5rem 0 6.5rem 3rem;
		width: auto;
		display: block;
	}
	.comInnerBox .imgBox::before {
		width: 100%;
	}
	.comInnerBox .imgBox .textBox {
		margin: 0 3rem 2rem 0;
	}
	.comInnerBox .imgBox .textBox .title {
		margin-bottom: 2rem;
		padding-bottom: 2rem;
		font-weight: 700;
		font-size: 2.3rem;
		letter-spacing: 0.1em;
		line-height: 2.3;
		border-bottom: 1px solid #000;
	}
	.comInnerBox .imgBox .textBox .text {
		text-align: justify;
		letter-spacing: 0.06em;
		line-height: 2.18;
	}
	.comInnerBox .imgBox .textBox .sub {
		margin-left: 0;
		width: auto;
	}
	.comInnerBox .imgBox .photoBox {
		width: auto;
		border-radius: 1.3rem 0 0 1.3rem;
	}
	.comInnerBox .imgBox .photoBox img {
		width: 100%;
	}
	.comInnerBox .imgBox:nth-child(2n) {
		margin: 0 0 6.8rem 3rem;
		padding: 5rem 3rem 6.5rem 0;
	}
	.comInnerBox .imgBox:nth-child(2n) .textBox {
		margin: 0 0 2rem 3rem;
	}
	.comInnerBox .imgBox:nth-child(2n) .photoBox {
		border-radius: 0 1.3rem 1.3rem 0;
	}
	.comInnerBox .imgBox .comLinkList {
		margin: 5rem auto 0;
	}
	.comInnerBox .imgBox .comLinkList li {
		margin-right: 3rem;
	}
}
/*------------------------------------------------------------
	comLinkBox
------------------------------------------------------------*/
.comLinkBox {
	margin: 8rem auto;
	width: 59.1rem;
	border: 1px solid #000;
	border-radius: 1.7rem;
	overflow: hidden;
}
.comLinkBox img {
	width: 100%;
}
.comLinkBox a {
	display: block;
}
.comLinkBox a:hover {
	opacity: 0.7;
}
.comLinkBox .btn {
	padding: 1.75rem 0.5rem;
	text-align: center;
	color: #fff;
	display: block;
	font-size: 1.7rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	background-color: #1EBCAE;
}
.comLinkBox .btn span {
	padding: 0.2rem 3.5rem 0.2rem 0;
	background: url(img/common/icon08.png) no-repeat right center / 2.4rem;
}
@media all and (max-width: 896px) {
	.comLinkBox {
		margin: 7.3rem 3rem;
		width: auto;
	}
	.comLinkBox .btn {
		padding: 1.5rem 0.5rem;
		font-size: 2rem;
	}
}
/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#gHeader {
	/* position: relative; */
	position: sticky;
	top: 0;
	background: #fff;
	z-index: 11;
}
#gHeader .logo {
	width: 49.5rem;
	display: flex;
	align-items: center;
	position: relative;
	z-index: 11;
}
#gHeader .logo a {
	display: inline-block;
	width: 23.2rem;
}
#gHeader .logo .text {
	margin-left: 2.4rem;
	flex: 1;
	font-size: 1.3rem;
	font-weight: 400;
	line-height: 1.615;
	letter-spacing: 0.07em;
}
#gHeader .hBox {
	padding: 1.7rem 2.4rem 2.1rem;
	align-items: center;
}
#gNavi .naviUl > li {
	position: relative;
}
#gNavi .naviUl > li:not(:first-child) {
	margin-left: 3.4rem;
}
#gNavi .naviUl > li > a,
#gNavi .naviUl > li > p {
	/* padding-bottom: 0.3rem; */
	font-size: 1.6rem;
	display: block;
	letter-spacing: 0.08em;
	border-bottom: 0.3rem solid transparent;
}
@media all and (min-width: 897px) {
	.menuBox {
		margin-top: 0.6rem;
		display: block !important;
	}
	#gNavi .naviUl > li > a:hover,
	#gNavi .naviUl > li > p:hover,
	#gNavi .naviUl > li.on > a,
	#gNavi .naviUl > li.on > p {
		border-color: #008F65;
	}
	#gNavi .sub {
		padding-top: 1.2rem;
		display: none;
		position: absolute;
		min-width: 12.5rem;
		top: 100%;
		left: 0;
	}
	#gNavi .sub01 {
		width: 20rem;
	}
	#gNavi .sub02 {
		left: auto;
		right: 0;
	}
	#gNavi .subNavi {
		padding: 0.6rem 0.5rem 1rem 1.3rem;
		background-color: #FFF;
		border-radius: 0.6rem;
		box-shadow: 0 0 0.5rem 0.25rem rgba(0, 0, 0, 0.2);
	}
	#gNavi .subNavi a {
		font-size: 1.6rem;
		letter-spacing: 0.06em;
		display: block;
	}
	#gNavi .subNavi li {
		margin-bottom: 1rem;
	}
	#gNavi .subNavi li:last-child {
		margin-bottom: 0;
	}
	#gNavi .subNavi a:hover {
		opacity: 0.7;
	}
}
@media (min-width: 897px) and (max-width: 1200px) {
	#gHeader .hBox {
		/* justify-content: center; */
	}
	/* .menuBox {
        margin: 1.6rem auto 0;
    } */
	 #gHeader .logo {
		width: 28.5rem;
		flex-direction: column;
	}
	#gHeader .logo a {
		margin-bottom: 1rem;
	}
	#gHeader .logo .text span {
		display: block;
	}

}
@media all and (max-width: 896px) {
	#gHeader .logo {
		width: 38rem;
	}
	#gHeader .logo a {
		width: 18.5rem;
	}
	#gHeader .logo .text {
		margin-left: 2.4rem;
		line-height: 1.615;
	}
	#gHeader .hBox {
		padding: 2.9rem 9rem 2.9rem 3.3rem;
		display: block;
	}
	#gNavi {
		margin-bottom: 6.7rem;
	}
	#gNavi .naviUl {
		display: block;
	}
	#gNavi .naviUl > li:not(:first-child) {
		margin-left: 0;
	}
	#gNavi .naviUl > li > a,
	#gNavi .naviUl > li > p {
		padding: 2.4rem 5rem;
		font-size: 2.5rem;
		display: block;
		letter-spacing: 0.1em;
		border-bottom: 1px solid rgba(34, 23, 20, 1);
		background: url(img/common/icon05.png) no-repeat right 4rem center / 3.6rem;
	}
	#gNavi .naviUl > li:first-child > a,
	#gNavi .naviUl > li:first-child > p {
		border-top: 1px solid rgba(34, 23, 20, 1);
	}
	#gNavi .naviUl .liStyle > a,
	#gNavi .naviUl .liStyle > p {
		background-image: url(img/common/icon11.png);
		background-size: 2.5rem auto;
		background-position: right 4.5rem center;
	}
	#gNavi .naviUl .liStyle.on > a,
	#gNavi .naviUl .liStyle.on > p {
		background-image: url(img/common/icon12.png);
	}
	#gNavi .naviUl .sub {
		margin-top: -0.2rem;
		padding: 1rem 0 2rem 7.9rem;
		border-bottom: 1px solid #221714;
		display: none;
		background-color: #fff;
	}
	#gNavi .naviUl .sub .h_title {
		margin-bottom: 1.6rem;
	}
	#gNavi .naviUl .sub a {
		font-size: 2.5rem;
		display: block;
		letter-spacing: 0.1em;
		background: url(img/common/icon05.png) no-repeat right 4rem center / 3.6rem;
	}
	#gNavi .naviUl .sub ul a {
		padding: 1.85rem 0 1.85rem 3.4rem;
		position: relative;
	}
	#gNavi .naviUl .sub ul a::after {
		position: absolute;
		top: 3.8rem;
		left: 0;
		z-index: 1;
		content: "";
		background-color: #59B9AE;
		width: 2rem;
		height: 0.2rem;
	}
	.menu {
		width: 5.7rem;
		height: 3rem;
		position: absolute;
		z-index: 13;
		top: 3.8rem;
		right: 2.9rem;
	}
	.menu span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
		position: absolute;
		left: 0;
		width: 5.8rem;
		height: 0.3rem;
		background-color: #040000;
	}
	.menu span:nth-of-type(1) {
		top: 0;
	}
	.menu span:nth-of-type(2) {
		top: 1.1rem;
	}
	.menu span:nth-of-type(3) {
		top: 2.2rem;
	}
	.menu.on span:nth-of-type(1) {
		transform: translateY(1rem) rotate(-45deg);
	}
	.menu.on span:nth-of-type(2) {
		opacity: 0;
	}
	.menu.on span:nth-of-type(3) {
		transform: translateY(-1.1rem) rotate(45deg);
	}
	.menuBox { 
		padding: 4.5rem 0 4rem;
		display: none;
		position: fixed;
		left: 0;
		top: 9.9rem;
		width: 100%;
		background: rgba(255, 255, 255, 1);
		z-index: 12;
		height: calc(100% - 9.9rem);
		overflow-y: auto;
		box-sizing: border-box;
	}
	.menuBox .subBox .add {
		margin-bottom: 2.3rem;
		text-align: center;
		font-size: 1.9rem;
		letter-spacing: 0.07em;
		line-height: 1.47;
	}
	.menuBox .subBox .add span {
		margin-top: 0.2rem;
		display: block;
		font-size: 1.3rem;
	}
	.menuBox .subBox .copyText {
		text-align: center;
		font-size: 1.3rem;
		letter-spacing: 0.07em;
	}
}

/* 20251027改修 */

#gNavi {
    display: flex;
    flex-direction: row;
    gap: 3.4rem;
    align-items: center;
}

@media all and (max-width: 896px) {
#gNavi {
    display: block;
    flex-direction: unset;
    gap: unset;
    align-items: unset;
}

}

/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#gFooter {
	position: relative;
	z-index: 10;
}
#gFooter .pageTop {
	width: 3.7rem;
	position: fixed;
	bottom: 3rem;
	right: 8.2rem;
	z-index: 10;
}
#gFooter .pageTop a {
	display: block;
}
#gFooter .pageTop a:hover {
	opacity: 0.7;
}
#gFooter .fLogo {
	margin: 0 auto 1rem;
	width: 23rem;
}
#gFooter .fLogo a {
	display: block;
}
#gFooter .text {
	text-align: center;
	font-size: 1.3rem;
	letter-spacing: 0.2em;
}
#gFooter .fBox {
	margin-top: 4rem;
	padding: 3.4rem 0 5.5rem;
	background-color: #A9E09A;
}
#gFooter .fBox .content {
	max-width: 89.5rem;
	display: flex;
	justify-content: space-between;
}
#gFooter .fBox .lText {
	margin-top: 0.7rem;
	width: 32rem;
}
#gFooter .fBox .add {
	font-size: 1.9rem;
	letter-spacing: 0.1em;
}
#gFooter .fBox .add span {
	margin-top: 0.3rem;
	display: block;
	font-size: 1.3rem;
	letter-spacing: 0.08em;
}
#gFooter .fBox .fNavi {
	margin-bottom: 5.5rem;
}
#gFooter .fBox .fNavi li:not(:first-child) {
	margin-left: 5.3rem;
}
#gFooter .fBox .fNavi a {
	font-size: 1.2rem;
	display: inline-block;
	letter-spacing: 0.08em;
}
#gFooter .fBox address {
	text-align: right;
	font-size: 1.3rem;
	letter-spacing: 0.07em;
}
#gFooter .fBox .fNavi a:hover {
	opacity: 0.7;
}
@media all and (max-width: 896px) {
	#gFooter .fixedUl {
		width: 100%;
		position: fixed;
		z-index: 8;
		left: 0;
		bottom: 0;
	}
	#gFooter .fixedUl li {
		width: 50%;
	}
	#gFooter .fixedUl a {
		min-height: 8.3rem;
		text-align: center;
		color: #fff;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 2rem;
		font-weight: 700;
		letter-spacing: 0.06em;
		background-color: #009162;
	}
	#gFooter .fixedUl span {
		padding: 0.5rem 0 0.5rem 4.3rem;
		background: url(img/common/icon02.png) no-repeat left center / 3.3rem;
	}
	#gFooter .fixedUl .li01 {
		border-left: 1px solid #fff;
	}
	#gFooter .fixedUl .li01 span {
		padding-left: 5.5rem;
		background-image: url(img/common/icon03.png);
		background-size: 3.7rem auto;
	}
	#gFooter .pageTop {
		bottom: 11.2rem;
		right: 2.7rem;
	}
	#gFooter .fBox {
		margin-top: 4rem;
		padding: 5.6rem 0 3.6rem;
	}
	#gFooter .fLogo {
		margin-bottom: 1.3rem;
	}
	#gFooter .fBox .content {
		max-width: 100%;
		display: block;
	}
	#gFooter .fBox .add {
		margin-bottom: 2.1rem;
		text-align: center;
	}
	#gFooter .fBox .add span {
		margin-top: 0.2rem;
	}
	#gFooter .fBox .fNavi {
		margin-bottom: 5.4rem;
		justify-content: center;
	}
	#gFooter .fBox .fNavi li:not(:first-child) {
		margin-left: 0;
	}
	#gFooter .fBox .fNavi li {
		margin: 0 2.1rem;
	}
	#gFooter .fBox .fNavi a {
		font-size: 1.6rem;
	}
	#gFooter .fBox address {
		text-align: center;
	}
}
/*------------------------------------------------------------
	thanks
------------------------------------------------------------*/
#thanks {
	margin-top: 13.7rem;
}
#thanks .content {
	margin: 0 auto;
	max-width: 72.5rem;
}
#thanks .headLine03 {
	margin-bottom: 5rem;
	text-align: center;
}
#thanks .headLine03 .en {
	line-height: 1.2;
	letter-spacing: 0.06em;
}
#thanks .info {
	padding: 4.3rem 0 5rem;
	text-align: center;
	line-height: 2.375;
	letter-spacing: 0.06em;
	border-top: 1px solid rgba(0, 0, 0, 1);
}
#thanks .info:last-of-type {
	padding-bottom: 0;
}
@media all and (max-width: 896px) {
	#thanks {
		margin-top: 7.5rem;
	}
	#thanks .headLine03 {
		margin-bottom: 7rem;
	}
	#thanks .headLine03 .en {
		line-height: 1;
		font-size: 6rem;
	}
	#thanks .headLine03 .jp {
		font-size: 2.2rem;
	}
	#thanks .info {
		padding: 4.3rem 0 4rem;
		border-top-color: rgba(34, 23, 20, 1);
	}
}
/*------------------------------------------------------------
	news
------------------------------------------------------------*/
#news section {
	padding: 2rem 0 0.7rem;
}
#news #sideBar {
	margin-right: 9rem;
	width: 13.1rem;
}
#news #sideBar .sTitle {
	margin-bottom: 2rem;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.18em;
}
#news #sideBar .sList {
	margin-bottom: 4.5rem;
}
#news #sideBar .sList li {
	margin-bottom: 1rem;
}
#news #sideBar .sList li:last-child {
	margin-bottom: 0;
}
#news #sideBar .sList a {
	padding: 1rem 0 1rem 3.2rem;
	display: block;
	letter-spacing: 0.1em;
	background: transparent url(img/common/icon01.png) no-repeat left 1.5rem center / 0.8rem;
}
#news #sideBar .sList li a[aria-current],
#news #sideBar .sList li.on a,
#news #sideBar .sList li.current-cat a {
	background-color: #CCE7CB;
}
#news #conts {
	margin-top: 0.9rem;
	flex: 1;
}
#news .detailBox {
	margin-bottom: 9.9rem;
	padding: 3.7rem 7rem 3.2rem 4.5rem;
	border: 1px solid #000;
	border-radius: 1.7rem;
	overflow: hidden;
	background-color: #fff;
	word-break: break-all;
}
#news .detailBox .subBox {
	margin-bottom: 1rem;
	display: flex;
	flex-wrap: wrap;
} 
#news .detailBox .subBox time {
	width: 12.3rem;
	display: inline-block;
	font-weight: 700;
	letter-spacing: 0.18em;
	color: #1EBCAE;
}
#news .detailBox .subBox .cat {
	margin-top: -0.2rem;
	display: flex;
	align-items: flex-start;
}
#news .detailBox .subBox .cat span {
	margin: 0.5rem 0.5rem 0 0;
	padding: 0 0.7rem 0.2rem;
	border-radius: 1rem;
	font-size: 1.2rem;
	letter-spacing: 0.1em;
	color: #fff;
	display: inline-block;
	background-color: #1EBCAE;
}
#news .detailBox .h_title {
	margin-bottom: 1.7rem;
	font-weight: 700;
	font-size: 2.3rem;
	letter-spacing: 0.1em;
	line-height: 1.52;
}
#news .detailBox p {
	letter-spacing: 0.1em;
	line-height: 2.17;
	word-break: break-all;
}
#news .detailBox p a {
	text-decoration: underline;
}
#news .back {
	margin: 0 auto;
	width: fit-content;
} 
#news .back a {
	padding: 0.7rem 5.3rem 1.2rem 0;
	letter-spacing: 0.1em;
	background: url(img/common/icon10.png) no-repeat right center / 3.7rem;
	display: block;
}
#news .back a:hover {
	opacity: 0.7;
}
#news .detailBox p a:hover {
	opacity: 0.7;
}
#news .moreBtn {
	margin: 7.7rem auto 0; 
	width: fit-content;
}
#news .moreBtn a {
	padding: 0.9rem 5rem 0.9rem 0;
	font-weight: 600;
	background: url(img/common/icon06.png) no-repeat right center / 3.7rem;
}
#news .moreBtn a:hover {
	opacity: 0.7;
}
@media all and (min-width: 897px) {
	#news #sideBar .sList a:hover {
		background-color: #CCE7CB;
	}
}
@media all and (max-width: 896px) {
	#news .content {
		display: block;
	}
	#news section {
		padding: 1rem 0;
	}
	#news #sideBar {
		margin-right: 0;
		width: auto;
	}
	#news #sideBar .sTitle {
		padding: 0.7rem 1.2rem 0.8rem;
		margin-bottom: 2rem;
		color: #221714;
		background-color: #DBDCDC;
	}
	#news #sideBar .sList {
		margin: -1rem 0 2rem;
		display: flex;
		flex-wrap: wrap;
	}
	#news #sideBar .sList li {
		margin: 1rem 1.3rem 0 0;
	}
	#news #sideBar .sList a {
		padding: 0.8rem 0 0.8rem 3.6rem;
		letter-spacing: 0.1em;
		background: url(img/common/radio_img.png) no-repeat left center / 2.4rem;
	}
	#news #sideBar .sList li a[aria-current],
	#news #sideBar .sList li.on a,
	#news #sideBar .sList li.current-cat a {
		background-color: transparent;
		background-image: url(img/common/radio_img_on.png);
	}
	#news #conts {
		margin-top: 5rem;
	}
	#news .detailBox {
		margin-bottom: 5rem;
		padding: 3rem;
	}
	#news .detailBox .subBox time {
		width: 11rem;
		letter-spacing: 0.1em;
	}
	#news .detailBox .h_title {
		font-size: 2rem;
	}
	#news .moreBtn {
		margin-top: 4rem;
	}
	#news .moreBtn a {
		padding: 0.9rem 5rem 0.9rem 0;
		font-weight: 600;
		background: url(img/common/icon06.png) no-repeat right center / 3.7rem;
	}
}
/*------------------------------------------------------------
	top
------------------------------------------------------------*/
#top .mainVisual {
	margin-bottom: 13rem;
	position: relative;
	z-index: 1;
	overflow: hidden;
}
#top .mainVisual .innerBox .content {
	position: relative;
	z-index: 2;
}
#top .mainVisual .innerBox h1 {
	width: fit-content;
	height: 40rem;
	position: absolute;
	z-index: 2;
	top: 5rem;
	left: 0.7rem;
	font-weight: 700;
	line-height: 1.83;
	letter-spacing: 0.18em;
	font-size: 3.6rem;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;
}
#top .mainVisual .innerBox .photo img {
	width: 100%;
}
#top .mainVisual .innerBox .photoBox {
	position: relative;
	z-index: 1;
}
#top .mainVisual .innerBox .image {
	position: absolute;
	z-index: 1;
    animation: topIllustCloud01 3s ease-in-out infinite;
}
#top .mainVisual .innerBox .LImage {
	animation-name: topIllustCloud02;
}
@keyframes topIllustCloud01 {
    0% {
        transform: translateX(0)
    }
    50% {
        transform: translateX(15px)
    }
    100% {
        transform: translateX(0)
    }
}
@keyframes topIllustCloud02 {
    0% {
        transform: translateX(0)
    }
    50% {
        transform: translateX(-15px)
    }
    100% {
        transform: translateX(0)
    }
}
#top .mainVisual .innerBox .image01 {
	width: 9.7rem;
	top: 39.3rem;
	left: 6.4rem;
}
#top .mainVisual .innerBox .image02 {
	width: 7.8rem;
	top: 18rem;
	left: 1.3rem;
}
#top .mainVisual .innerBox .image03 {
	width: 7.2rem;
	top: 14.2rem;
	left: 28.8rem;
}
#top .mainVisual .innerBox .image04 {
	width: 9.7rem;
	top: 9.2rem;
	left: 38.8rem;
}
#top .mainVisual .innerBox .image05 {
	width: 7.3rem;
	top: 16rem;
	left: 43.2rem;
}
#top .mainVisual .innerBox .image06 {
	width: 7.7rem;
	top: 9.3rem;
	left: 53.2rem;
}
#top .mainVisual .innerBox .image07 {
	width: 9.8rem;
	top: 3.6rem;
	left: 59.6rem;
}
@media all and (min-width: 897px) {
	#top .mainVisual .innerBox .image01 {
		width: 5.578vw;
		top: 22vw;
		left: 17vw;
	}
	#top .mainVisual .innerBox .image02 {
		width: 5.094vw;
		top: 10.063vw;
		left: 13.016vw;
	}
	#top .mainVisual .innerBox .image03 {
		width: 4.625vw;
		top: 8.094vw;
		left: 27.5vw;
	}
	#top .mainVisual .innerBox .image04 {
		width: 6vw;
		top: 5.187vw;
		left: 35.312vw;
	}
	#top .mainVisual .innerBox .image05 {
		width: 4.703vw;
		top: 9vw;
		left: 38.5vw;
	}
	#top .mainVisual .innerBox .image06 {
		width: 5.016vw;
		top: 5.266vw;
		left: 41.563vw;
	}
	#top .mainVisual .innerBox .image07 {
		width: 6vw;
		top: 2vw;
		left: 47.563vw;
	}
	#top .mainVisual .innerBox .image08 {
		width: 6vw;
		top: 17vw;
		left: 6vw;
	}
}
#top .mainVisual .photo {
  	position: relative;
	display: flex;
	animation: fadeSteps 3s steps(4) infinite;
}
#top .mainVisual .photo > div {
	flex: none;
	width: 100%;
}
@keyframes fadeSteps {
	100% { transform: translateX(-400%); }
}
#top .topBox {
	position: relative;
	z-index: 2;
}
#top .topBox .image {
	position: absolute;
	z-index: 1;
	pointer-events: none;
	top: -9.3rem;
}
#top .topBox .lImage {
	width: 46rem;
	left: 0;
}
#top .topBox .rImage {
	width: 61.9rem;
	top: -8rem;
	right: -5rem;
}
#top .topBox .title {
	margin-bottom: 3.8rem;
	text-align: center;
	font-weight: 700;
	font-size: 3.1rem;
	letter-spacing: 0.18em;
}
#top .topBox .text {
	margin-bottom: 7rem;
	text-align: center;
	letter-spacing: 0.13em;
	line-height: 2.25;
}
#top .slider {
	position: relative;
	z-index: 1;
	overflow:hidden;
}
#top .infiniteslide {
	display:flex;
	align-items: center;
}
#top .slider li {
	margin: 0 1rem;
	border-radius: 2rem;
	overflow: hidden;
}
#top .slider .li01 {
	margin-bottom: 5.2rem;
}
#top .slider .li03 {
	margin-top: 6.4rem;
}
#top .slider .li04 {
	margin-top: 7rem;
}
#top .slider .li05 {
	margin-bottom: 5.8rem;
}
#top .about {
	position: relative;
	z-index: 2;
	padding: 9.5rem 0 3.3rem;
	background-color: #A9E09A;
}
#top .about .content {
	overflow-x: clip;
	max-width: 96rem;
	/* max-width: 106rem; */
}
#top .about .content .headLine03 {
    margin-bottom: 6.5rem;
    text-align: center;
}
#top .about .content .text {
	/* padding-bottom: 3.2rem; */
    margin: 0 auto 3.9rem;
    max-width: 89.7rem;
    text-align: center;
    letter-spacing: 0.1em;
    line-height: 2.18;
}
#top .about::after,
#top .about::before {
	position: absolute;
	z-index: -1;
	width: 100%;
	content: "";
	left: 0;
}
#top .about::before {
	bottom: 99.9%;
	height: 20rem;
	background: url(img/index/about_bg01.png) no-repeat left bottom / 100% 100%;
}
#top .about::after {
	top: 99.9%;
	height: 22.5rem;
	background: url(img/index/about_bg02.png) no-repeat left top / 100% 100%;
}
#top .about .innerBox {
	margin-bottom: 9.3rem;
	align-items: flex-start;
}
#top .about .innerBox .textBox {
	/* width: calc(100% - 56rem); */
	width: calc(100% - 51rem);

}
#top .about .innerBox .textBox .headLine02 {
	margin-bottom: 2.2rem;
	font-size: 3.3rem;
	letter-spacing: 0.2em;
}
#top .about .innerBox .en {
	/* width: 50rem; */
	width: 45rem;
	font-weight: 600;
	color: #fff;
	font-size: 11.7rem;
	letter-spacing: 0.05em;
	line-height: 1;
}
#top .about .textBox .text {
	letter-spacing: 0.1em;
	line-height: 2.25;
	text-align: justify;
}
#top .about .imgBox {
	margin-bottom: 8.7rem;
	position: relative;
}
#top .about .imgBox01 {
	/* margin-bottom: 14.5rem; */
}
#top .about .imgBox:last-of-type {
	margin-bottom: 0;
}
#top .about .imgBox .photoBox {
	/* width: 48.4rem; */
	width: 44.4rem;
}
#top .about .imgBox .textBox {
	margin-top: -1.3rem;
	/* width: calc(100% - 57rem); */
	width: calc(100% - 51rem);
}
#top .about .imgBox .title {
	margin-bottom: 2.7rem;
	font-weight: 700;
	font-size: 2.5rem;
	letter-spacing: 0.18em;
	line-height: 1.8;
}
#top .about .imgBox .textBox .text {
	margin-bottom: 1.9rem;
}
#top .about .imgBox:nth-child(odd) {
	flex-direction: row-reverse;
}
#top .about .imgBox .image {
	width: 20rem;
	position: absolute;
	bottom: -14.5rem;
	z-index: 2;
	right: 0;
}
#top .about .imgBox .image01 {
	width: 39.5rem;
	bottom: -16rem;
} 
#top .sdgs {
	padding: 29.5rem 0 21rem;
}
#top .sdgs .innerBox {
	margin-bottom: 6.3rem;
	align-items: flex-start;
}
#top .sdgs .innerBox .textBox {
	width: calc(100% - 52rem);
}
#top .sdgs .innerBox .headLine02 {
	margin-bottom: 2.5rem;
	font-size: 3rem;
	letter-spacing: 0.2em;
}
#top .sdgs .innerBox .text {
	line-height: 2.25;
	letter-spacing: 0.05em;
}
#top .sdgs .innerBox .en {
	margin-top: -2rem;
	width: 50rem;
	color: #1EBCAE;
	font-size: 17.5rem;
	font-weight: 600;
	line-height: 1;
}
#top .sdgs .photoList {
	margin: -1rem 0 9rem;
}
#top .sdgs .photoList li {
	/* margin: 1rem 1.8rem 0 0;
	width: 11.7rem; */
	margin: 1rem 1.2rem 0 0;
    width: 11.0rem;
}
#top .sdgs .photoList li:nth-child(8n) {
	margin-right: 0;
}
#top .sdgs .sdgsUl {
	/* margin: -5rem 5.5rem 0; */
	margin: -5rem 0 0;
}
#top .sdgs .sdgsUl li {
	margin-top: 5rem;
	width: 45.4rem;
}
#top .sdgs .sdgsUl .h_title {
	margin-bottom: 1rem;
	padding: 0 1rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
#top .sdgs .sdgsUl .h_title .num {
	min-width: 8rem;
	width: 8rem;
	display: inline-block;
	font-weight: 700;
	color: #717071;
	font-size: 7.7rem;
	font-family: "Montserrat", sans-serif;
	letter-spacing: 0.1em;
	line-height: 1;
}
#top .sdgs .sdgsUl .h_title .num01 {
	width: 12rem;
}
#top .sdgs .sdgsUl .h_title .num .sml {
	margin-right: 1rem;
	display: inline-block;
	font-size: 1.1rem;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	letter-spacing: 0.15em;
	font-family: "Noto Sans JP", sans-serif;
	vertical-align: -0.7rem;
}
#top .sdgs .sdgsUl .h_title .text {
	margin-left: 1.3rem;
	flex: 1;
	font-size: 2.3rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	line-height: 1.52;
}
#top .sdgs .sdgsUl .imgBox {
	padding: 2.5rem 3.5rem 0;
	background-color: #CCE7CB;
	border-radius: 4.3rem;
	overflow: hidden;
}
#top .sdgs .sdgsUl .imgBox .title {
	margin-bottom: 1rem;
	min-height: 6.66rem;
	display: flex;
	align-items: center;
	font-weight: 700;
	font-size: 1.8rem;
	letter-spacing: 0.2em;
	line-height: 1.85;
}
#top .sdgs .sdgsUl .imgBox .text {
	margin-bottom: 2.2rem;
	text-align: justify;
	font-size: 1.44rem;
	letter-spacing: 0.06em;
	line-height: 2.08;
}
#top .sdgs .sdgsUl .imgBox .image {
	margin: 0 auto;
	width: fit-content;
}
#top .sdgs .sdgsUl .imgBox .image img {
	height: 17.9rem;
}
#top .company {
	padding-bottom: 23.5rem;
}
#top .company .photo {
	margin-bottom: 13.7rem;
}
#top .company .photo img {
	width: 100%;
}
#top .company .headLine03 {
	margin-bottom: 6.5rem;
	text-align: center;
}
#top .company .headLine03 .en {
	letter-spacing: 0;
}
#top .company .imgBox {
	align-items: flex-start;
}
#top .company .photoList {
	width: 45.4rem;
}
#top .company .photoList li {
	margin-bottom: 3.2rem;
	border-radius: 3rem;
	overflow: hidden;
}
#top .company .photoList li:last-child {
	margin-bottom: 0;
}
#top .company .tableBox {
	margin: -0.5rem 0 0 7rem;
	flex: 1;
}
#top .company table {
	width: 100%;
	border-collapse: collapse;
}
#top .company table th,
#top .company table td {
	padding: 1.8rem 0;
	text-align: left;
	font-size: 1.55rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	line-height: 1.87;
	border-bottom: 1px dashed #231815;
	vertical-align: top;
	word-break: break-all;
}
#top .company table th {
	padding: 2.1rem 0 !important;
	font-size: 1.8rem;
	font-weight: 500;
	width: 21.8%;
	line-height: 1.55;
}
#top .company tr:first-child th,
#top .company tr:first-child td {
	padding-top: 0 !important;
}
#top .company .tr01 td {
	padding-top: 1.2rem;
	line-height: 3.03;
}
#top .company tr:last-child th,
#top .company tr:last-child td {
	border-bottom: 0;
}
#top .news {
	padding: 3.5rem 0 7.4rem;
}
#top .news .headLine03 {
	width: 27rem;
}
#top .news .headLine03 .en {
	margin-bottom: 1.7rem;
	color: #fff;
	letter-spacing: 0;
}
#top .news .headLine03 .jp {
	letter-spacing: 0.2em;
}
#top .news .rBox {
	margin-right: 0.7rem;
	width: calc(100% - 38.5rem);
}
#top .news .rBox .comNewsList {
	margin: 0.8rem 0 8.5rem;
}
#top .news .rBox .comNewsList li {
	margin-bottom: 5rem;
}
#top .news .rBox .comNewsList a {
	padding: 3.8rem 4rem 3.8rem 5.5rem;
	border: 0;
	background-image: none;
}
#top .contact {
	padding-top: 16.3rem;
}
#top .contact .headLine03 {
	text-align: center;
}
#top .contact .headLine03 {
	margin-bottom: 4.5rem;
}
#top .contact .comContactBox .privacyBox dt {
	font-weight: 700;
}
@media all and (max-width: 896px) {
	#top .mainVisual {
		margin-bottom: 11.6rem;
	}
	#top .mainVisual .innerBox h1 {
		height: 40rem;
		top: 0.5rem;
		left: 0;
		line-height: 1.9;
		font-size: 2rem;
	}
	#top .mainVisual .innerBox .image01 {
		width: 7.948vw;
		top: 32.717vw;
		left: 3.142vw;
	}
	#top .mainVisual .innerBox .image02 {
		width: 6.1vw;
		top: 16.081vw;
		left: 0;
	}
	#top .mainVisual .innerBox .image03 {
		width: 5.73vw;
		top: 12.569vw;
		left: 21.627vw;
	}
	#top .mainVisual .innerBox .image04 {
		width: 7.948vw;
		top: 8.688vw;
		left: 29.205vw;
	}
	#top .mainVisual .innerBox .image05 {
		width: 6.1vw;
		top: 14.048vw;
		left: 32.717vw;
	}
	#top .mainVisual .innerBox .image06 {
		width: 6.285vw;
		top: 8.872vw;
		left: 40.665vw;
	}
	#top .mainVisual .innerBox .image07 {
		width: 7.763vw;
		top: 4.067vw;
		left: 46.211vw;
	}
	#top .topBox .image {
		top: -5.3rem;
	}
	#top .topBox .lImage {
		width: 19rem;
		left: 0;
	}
	#top .topBox .rImage {
		width: 15rem;
		top: 9.5rem;
		right: 0;
	}
	#top .topBox .title {
		margin-bottom: 1.5rem;
		letter-spacing: 0.06em;
	}
	#top .topBox .text {
		margin-bottom: 0;
		letter-spacing: 0.1em;
		line-height: 1.95;
	}
	#top .slider li {
		margin: 0 0.7rem;
		border-radius: 2rem;
	}
	#top .slider img {
		width: 100%;
	}
	#top .slider .li02 {
		width: 18rem;
	}
	#top .slider .li03 {
		margin-top: 5rem;
		width: 27.9rem;
	}
	#top .slider .li04 {
		width: 19rem;
	}
	#top .about {
		padding: 4.6rem 0 4.3rem;
	}
	#top .about::before {
		height: 5rem;
		background-image: url(img/common/bg01_sp.png);
	}
	#top .about::after {
		height: 5rem;
		background-image: url(img/common/bg02_sp.png);
	}
	#top .about .innerBox {
		margin-bottom: 6.5rem;
		overflow: hidden;
	}
	#top .about .innerBox .textBox {
		width: calc(100% - 10rem);
	}
	#top .about .innerBox .textBox .headLine02 {
		margin-bottom: 4.1rem;
		line-height: 1.82;
	}
	#top .about .innerBox .en {
		margin: 1rem -1rem 0 0;
		width: 9.8rem;
		font-size: 10rem;
		letter-spacing: 0;
		-ms-writing-mode: tb-rl;
		-webkit-writing-mode: vertical-rl;
		writing-mode: vertical-rl;
	}
	#top .about .imgBox {
		margin-bottom: 5.8rem;
		display: block;
	}
	#top .about .imgBox01 {
		margin-bottom: 5.8rem;
	}
	#top .about .imgBox .photoBox {
		margin-bottom: 1.5rem;
		width: auto;
	}
	#top .about .imgBox .photoBox img {
		width: 100%;
	}
	#top .about .imgBox .textBox {
		margin-top: 0;
		width: auto;
	}
	#top .about .imgBox .title {
		margin-bottom: 2.2rem;
	}
	#top .about .imgBox .textBox .text {
		/* margin-bottom:  3.5rem; */
	}
	#top .about .imgBox .image {
		bottom: -10rem;
		right: -3rem;
	}
	#top .about .imgBox .image01 {
		bottom: -15.5rem;
		right: -6.5rem;
	} 
	#top .sdgs {
		padding: 19rem 0 7rem;
	}
	#top .sdgs .innerBox {
		margin-bottom: -3.5rem;
	}
	#top .sdgs .innerBox .textBox {
		margin-top: 5.2rem;
		width: calc(100% - 10rem);
	}
	#top .sdgs .innerBox .headLine02 {
		margin-bottom: 1rem;
		letter-spacing: 0.1em;
	}
	#top .sdgs .innerBox .text {
		line-height: 1.875;
		letter-spacing: 0.06em;
	}
	#top .sdgs .innerBox .en {
		margin: 0 -1rem 0 0;
		width: 10rem;
		font-size: 9.5rem;
		-ms-writing-mode: tb-rl;
		-webkit-writing-mode: vertical-rl;
		writing-mode: vertical-rl;
	}
	#top .sdgs .photoList {
		margin: -1.2rem 0 4rem 0;
		width: calc(100% - 10rem);
	}
	#top .sdgs .photoList li {
		margin: 1.2rem calc(9.68% / 3) 0 0 !important;
		width: 22.58%;
	}
	#top .sdgs .photoList li:nth-child(4n) {
		margin-right: 0 !important;
	}
	#top .sdgs .photoList img {
		width: 100%;
	}
	#top .sdgs .sdgsUl {
		margin: 0;
		display: block;
	}
	#top .sdgs .sdgsUl li {
		margin: 0 0 6.5rem;
		width: auto;
	}
	#top .sdgs .sdgsUl li:last-child {
		margin-bottom: 0;
	}
	#top .sdgs .sdgsUl .h_title {
		margin-bottom: 1rem;
		padding: 0;
	}
	#top .sdgs .sdgsUl .imgBox {
		padding: 2.7rem 3.5rem 0;
	}
	#top .sdgs .sdgsUl .imgBox .title {
		margin-bottom: 1.8rem;
		min-height: fit-content;
		letter-spacing: 0.1em;
		line-height: 1.61;
	}
	#top .sdgs .sdgsUl .imgBox .text {
		margin-bottom: 2.7rem;
		font-size: 1.6rem;
		line-height: 1.875;
	}
	#top .sdgs .sdgsUl .imgBox .image02 img {
		height: 13.7rem;
	}
	#top .sdgs .sdgsUl .imgBox .image03 img {
		height: 14.5rem;
	}
	#top .sdgs .sdgsUl .imgBox .image04 img {
		height: 20rem;
	}
	#top .company {
		padding-bottom: 23.5rem;
	}
	#top .company .photo {
		margin-bottom: 8.5rem;
	}
	#top .company .headLine03 {
		margin-bottom: 3.7rem;
	}
	#top .company .imgBox {
		display: block;
	}
	#top .company .photoList {
		margin-bottom: 5.5rem;
		width: auto;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		align-items: flex-start;
	}
	#top .company .photoList li {
		margin-bottom: 0;
		width: 55.6%;
		border-radius: 1.5rem;
	}
	#top .company .photoList li:last-child {
		margin: -22.5% 0 0 auto;
	}
	#top .company .tableBox {
		margin: 0 0 2rem;
	}
	#top .company table {
		margin-bottom: 1.6rem;
	}
	#top .company table th,
	#top .company table td {
		padding: 2rem 0;
	}
	#top .company table th {
		font-size: 1.6rem;
	}
	#top .company .tr01 td {
		padding-top: 2rem;
		line-height: 1.94;
	}
	#top .news {
		padding: 0.3rem 0 3.6rem;
	}
	#top .content {
		display: block;
	}
	#top .news .headLine03 {
		margin-bottom: 5rem;
		width: auto;
	}
	#top .news .headLine03 .en {
		margin-bottom: 2rem;
	}
	#top .news .rBox {
		margin-right: 0;
		width: auto;
	}
	#top .news .rBox .comNewsList {
		margin: 0.8rem 0 6.5rem;
	}
	#top .news .rBox .comNewsList li {
		margin-bottom: 5rem;
	}
	#top .news .rBox .comNewsList .subBox {
		margin-bottom: 0.7rem;
	}
	#top .news .rBox .comNewsList .subBox time {
		letter-spacing: 0.05em;
	}
	#top .news .rBox .comNewsList p {
		letter-spacing: 0.06em;
		line-height: 1.875;
	}
	#top .news .comLink01 {
		margin: 0 auto;
	}
	#top .news .comLink01 a {
		padding-right: 6rem;
	}
	#top .contact {
		padding-top: 8rem;
	}
	#top .contact .headLine03 {
		text-align: center;
	}
	#top .contact .headLine03 {
		margin-bottom: 4.5rem;
	}
	#top .contact .comContactBox .privacyBox dt {
		font-weight: 700;
	}
}
/*------------------------------------------------------------
	service
------------------------------------------------------------*/
#service .comTextBox {
	margin-bottom: 12.5rem;
}
#service .comTextBox .headLine02 {
	width: 45.2rem;
}
#service .comTextBox .text {
	text-align: justify;
}
#service .item {
	padding-bottom: 20rem;
}
#service .item .photo {
	margin: 0 auto 7rem;
	max-width: 63.2rem;
}
#service .item .innerBox {
	margin: 0 auto 5rem;
	max-width: 91.2rem;
	border-radius: 2.5rem;
	overflow: hidden;
	border: 1px solid #A9E09A;
}
#service .item .innerBox .lText {
	padding: 0.5rem 1rem;
	width: 26.6rem;
	min-height: 11.3rem;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 2.3rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	background-color: #A9E09A;
}
#service .item .innerBox .rText {
	padding: 2.3rem 3.5rem;
	line-height: 2.18;
	letter-spacing: 0.06em;
}
#service .item .innerBox .rText span {
	color: #A9E09A;
}
#service .item .notes {
	text-align: center;
	letter-spacing: 0.06em;
}
#service .item .bold {
	margin: 6rem 0 2.7rem;
	font-weight: 700;
	font-size: 1.7rem;
	letter-spacing: 0.06em;
	text-align: center;
}
#service .feature {
	padding: 13rem 0 14.2rem;
}
#service .feature .headLine02 {
	margin-bottom: 5.8rem;
}
#service .comBg::before {
	background-image: url(img/common/bg03.png);
}
#service .comBg::after {
	background-image: url(img/common/bg04.png);
}
#service .flow {
	padding-top: 21rem;
}
#service .flow .headLine02 {
	margin-bottom: 2rem;
}
#service .flow .bg {
	padding: 4.5rem 0 6.6rem;
	background-color: #DDF3D7;
}
#service .flow .flowUl {
	margin-bottom: 2rem;
}
#service .flow .flowUl:last-of-type {
	margin-bottom: 0;
}
#service .flow .flowUl li {
	margin: 0 -0.7rem;
	/* width: 26.3rem; */
	width: 24rem;
	position: relative;
}
#service .flow .flowUl .h_title {
	margin-bottom: 1.2rem;
	font-family: "Montserrat", sans-serif;
	font-weight: 600;
	font-size: 2.5rem;
}
#service .flow .flowUl .h_title .num {
	padding-left: 0.5rem;
	font-size: 3.5rem;
	color: #009262;
}
#service .flow .flowUl .imgBox {
	padding: 2rem 1rem 2rem 7rem;
	position: relative;
	background-color: #fff;
	clip-path: polygon(88.1% 0%, 100% 50%, 88.1% 100%, 0% 100%, 0 50%, 0% 0%);
}
#service .flow .flowUl .imgBox::after {
	width: 5rem;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	content: "";
	z-index: -1;
	background: url(img/service/flow_bg01.png) no-repeat left top / 100% 100%;
}
#service .flow .flowUl .li01 {
	z-index: 6;
}
#service .flow .flowUl .li02 {
	z-index: 5;
}
#service .flow .flowUl .li03 {
	z-index: 4;
}
#service .flow .flowUl .li04 {
	z-index: 3;
}
#service .flow .flowUl .li05 {
	z-index: 2;
}
#service .flow .flowUl .li06 {
	z-index: 1;
}
#service .flow .flowUl .imgBox .title {
	margin-bottom: 0.9rem;
	font-weight: 700;
	font-size: 1.7rem;
	letter-spacing: 0.06em;
	line-height: 1.29;
}
#service .flow .flowUl .imgBox .text {
	margin-bottom: 1.5rem;
	min-height: 10rem;
	line-height: 1.56;
	letter-spacing: 0.06em;
}
#service .flow .flowUl .imgBox .image {
	margin-right: 6rem;
	text-align: center;
}
#service .flow .flowUl .imgBox .image img {
	height: 8.4rem;
}
#service .flow .flowUl .blue .h_title .num {
	color: #00B29C;
}
#service .flow .flowUl .blue .imgBox::after {
	background-image: url(img/service/flow_bg02.png);
}
#service .area {
	padding: 5.5rem 0 13.1rem;
	background: url(img/service/area_photo01.jpg) no-repeat center bottom / cover;
}
#service .area .content {
	max-width: 105.5rem;
}
#service .area .imgBox {
	align-items: flex-start;
}
#service .area .imgBox .photoBox {
	margin: -3rem -2.3rem 0 0;
	width: 36.1rem;
}
#service .area .imgBox .textBox {
	flex: 1;
}
#service .area .headLine02 {
	margin-bottom: 2rem;
	color: #fff;
}
#service .area .headLine02 .sml {
	display: inline-block;
}
#service .area .textUl li {
	margin-right: 2.5rem;
	padding: 1.3rem 2rem 1.5rem 2.5rem;
	background-color: #fff;
	width: 31.9rem;
	border-radius: 1.1rem;
}
#service .area .textUl .title {
	font-weight: 700;
	font-size: 2.3rem;
	letter-spacing: 0.1em;
}
#service .area .textUl .text {
	line-height: 1.81;
	letter-spacing: 0.06em;
}
#service .area .subText {
	color: #fff;
	margin-top: 2rem;
	letter-spacing: 0.06em;
}
#service .faq {
	padding-top: 12.6rem;
}
#service .faq .headLine02 {
	margin-bottom: 1rem;
}
#service .faq .faqUl > li {
	padding: 4rem 0 3.6rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.81;
	border-bottom: 1px dashed #231815;
}
#service .faq .faqUl > li:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}
#service .faq .faqUl .title {
	margin-bottom: 0.5rem;
	padding: 0 0 0.5rem 4.5rem;
	background: url(img/service/faq_img01.png) no-repeat left top / 3.1rem;
	font-weight: 400;
}
#service .faq .faqUl .text {
	padding: 0 0 0.5rem 4.5rem;
	background: url(img/service/faq_img02.png) no-repeat left top / 3.1rem;
	font-weight: 400;
}
@media all and (max-width: 896px) {
	#service #pagePath li {
		font-size: 1.3rem;
	}
	#service .comTextBox {
		margin-bottom: 4.9rem;
	}
	#service .comTextBox .headLine02 {
		margin-bottom: 2rem;
	}
	#service .item {
		padding-bottom: 14.5rem;
	}
	#service .item .headLine02 {
		margin-bottom: 0.7rem;
	}
	#service .item .photo {
		margin-bottom: 4.6rem;
		max-width: 47.4rem;
	}
	#service .item .innerBox {
		margin: 0 5.8rem 3.4rem;
		max-width: 100%;
		display: block;
		border-color: #A4D195;
	}
	#service .item .innerBox .lText {
		padding: 1.15rem 1rem;
		width: auto;
		min-height: fit-content;
		display: block;
	}
	#service .item .innerBox .rText {
		padding: 1.5rem 1rem 1.8rem 2.7rem;
	}
	#service .item .notes {
		line-height: 1.94;
	}
	#service .item .bold {
		margin: 2.2rem 0 2.3rem;
		line-height: 1.53;
	}
	#service .feature {
		padding: 8.6rem 0 6.8rem;
	}
	#service .feature .headLine02 {
		margin-bottom: 4.7rem;
	}
	#service .comBg::before {
		background-image: url(img/common/bg03_sp.png);
	}
	#service .comBg::after {
		background-image: url(img/common/bg04_sp.png);
	}
	#service .flow {
		padding-top: 12.3rem;
	}
	#service .flow .headLine02 {
		margin-bottom: 2.2rem;
	}
	#service .flow .bg {
		padding: 5.5rem 0 7.3rem;
	}
	#service .flow .flowUl {
		margin: 0 5rem -0.5rem;
		display: block;
	}
	#service .flow .flowUl:last-of-type {
		margin-bottom: 0;
	}
	#service .flow .flowUl li {
		margin: 0 0 -1rem;
		width: auto !important;
	}
	#service .flow .flowUl li:last-child {
		margin-bottom: 0;
	}
	#service .flow .flowUl .h_title {
		margin-bottom: 0.2rem;
	}
	#service .flow .flowUl .imgBox {
		padding: 8.2rem 2.8rem 5.2rem !important;
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		clip-path: polygon(50% 0%, 100% 0, 100% 82%, 50% 100%, 0% 82%, 0 0) !important;
	}
	#service .flow .flowUl .imgBox::after {
		width: 100%;
		height: 6.5rem;
		bottom: auto;
		background-image: url(img/service/flow_bg01_sp.png);
	}
	#service .flow .flowUl .imgBox .textBox {
		margin-right: 3rem;
		width: calc(100% - 12rem);
	}
	#service .flow .flowUl .imgBox .title {
		margin-bottom: 0.3rem;
	}
	#service .flow .flowUl .imgBox .text {
		margin: 0 -1rem 1.5rem 0;
		min-height: fit-content;
		text-align: justify;
	}
	#service .flow .flowUl .imgBox .image {
		margin: 0 auto;
		flex: 1;
	}
	#service .flow .flowUl .blue .imgBox::after {
		background-image: url(img/service/flow_bg02_sp.png);
	}
	#service .area {
		padding: 2.7rem 0 5.8rem;
		background-image: none;
		background-color: #79ABE9;
	}
	#service .area .imgBox {
		display: block;
	}
	#service .area .imgBox .photoBox {
		margin: 0 auto;
		width: 36.7rem;
	}
	#service .area .imgBox .textBox {
		margin-bottom: 4rem;
	}
	#service .area .headLine02 {
		margin-bottom: 2.2rem;
	}
	#service .area .headLine02 .sml {
		vertical-align: 0.2rem;
	}
	#service .area .textUl {
		display: block;
	}
	#service .area .textUl li {
		margin: 0 0 2.7rem;
		padding: 1.5rem 2rem 1.5rem 2.5rem;
		width: auto;
		border-radius: 1.1rem;
	}
	#service .area .textUl li:last-child {
		margin-bottom: 0;
	}
	#service .faq {
		padding-top: 8.5rem;
	}
	#service .faq .headLine02 {
		margin-bottom: 1rem;
	}
	#service .faq .faqUl > li {
		padding: 3.5rem 0 2.4rem;
	}
	#service .faq .faqUl > li:last-child {
		padding-bottom: 0;
		border-bottom: 0;
	}
	#service .faq .faqUl .title {
		margin-bottom: 0.2rem;
		padding: 0.3rem 0 0.5rem 4.5rem;
	}
	#service .faq .faqUl .text {
		padding: 0.3rem 0 0.5rem 4.5rem;
	}
}
/* service02 */
#service.service02 .comTextBox {
	margin-bottom: 8.9rem;
}
#service.service02 .item {
	padding-bottom: 17.5rem;
}
#service.service02 .item .headLine02 {
	margin-bottom: 3.8rem;
}
#service.service02 .item .photo {
	margin-bottom: 7.5rem;
}
#service.service02 .flow .bg {
	padding-bottom: 6rem;
}
#service.service02 .flow .flowUl .li06 {
	width: 44.2rem;
}
#service.service02 .flow .flowUl .li06 .imgBox {
	clip-path: polygon(92.8% 0%, 100% 50%, 92.8% 100%, 0% 100%, 0 50%, 0% 0%)
}
#service.service02 .flow .link {
	margin-top: 4.8rem;
	text-align: center;
	font-weight: 500;
	letter-spacing: 0.06em;
}
#service.service02 .flow .link a {
	margin-left: 3rem;
	border-bottom: 1px solid #000;
	padding-right: 1.5rem;
	display: inline-block;
	background: url(img/common/icon09.png) no-repeat right top calc(50% + 0.2rem) / 0.7rem;
}
#service.service02 .flow .link a:hover {
	opacity: 0.7;
}
#service.service02 .area {
	padding: 7rem 0 13.1rem;
}
#service.service02 .area .textUl li {
	padding: 2rem 2rem 2rem 2.5rem;
	width: 17.6rem;
}
#service.service02 .area .imgBox .photoBox {
	margin: -1.5rem 0 0;
	width: 44.1rem;
}
#service.service02 .faq {
	padding-top: 13rem;
}
@media all and (max-width: 896px) {
	#service.service02 .comTextBox {
		margin-bottom: 5.5rem;
	}
	#service.service02 .item {
		padding-bottom: 10.1rem;
	}
	#service.service02 .item .headLine02 {
		margin-bottom: 12.5rem;
	}
	#service.service02 .item .photo {
		margin-bottom: 2.9rem;
	}
	#service.service02 .feature {
		padding-bottom: 6.7rem;
	}
	#service.service02 .flow .bg {
		padding-bottom: 6rem;
	}
	#service.service02 .flow .flowUl .li06 .imgBox {
		clip-path: polygon(92.8% 0%, 100% 50%, 92.8% 100%, 0% 100%, 0 50%, 0% 0%)
	}
	#service.service02 .flow .link {
		margin-top: 4.8rem;
		text-align: center;
		font-weight: 500;
		letter-spacing: 0.06em;
	}
	#service.service02 .flow .link a {
		margin-left: 3rem;
		border-bottom: 1px solid #000;
		padding-right: 1.5rem;
		display: inline-block;
		background: url(img/common/icon09.png) no-repeat right top calc(50% + 0.2rem) / 0.7rem;
	}
	#service.service02 .area {
		padding: 2.5rem 0 22.7rem;
	}
	#service.service02 .area .textUl {
		display: flex;
		justify-content: center;
		gap: 3.5rem;
	}
	#service.service02 .area .textUl li {
		padding: 1rem;
		width: 13.5rem;
		height: 13.5rem;
		text-align: center;
		line-height: 1.24;
		display: flex;
		align-items: center;
		justify-content: center;
		overflow: hidden;
		border-radius: 50%;
	}
	#service.service02 .area .imgBox .photoBox {
		padding-left: 3rem;
		margin: -0.8rem auto 0;
		width: 38.5rem;
	}
	#service.service02 .faq {
		padding-top: 5.5rem;
	}
}
/* service03 */
#service.service03 .comTextBox {
	margin-bottom: 15.8rem;
}
#service.service03 .flow .flowUl .li02 .imgBox {
	padding-bottom: 0.8rem;
}
#service.service03 .flow .flowUl .li02 .imgBox .text {
	margin-bottom: 0.5rem;
}
#service.service03 .flow .link {
	margin-top: 4.8rem;
	text-align: center;
	font-weight: 500;
	letter-spacing: 0.06em;
}
#service.service03 .flow .link a {
	margin-left: 3rem;
	border-bottom: 1px solid #000;
	padding-right: 1.5rem;
	display: inline-block;
	background: url(img/common/icon09.png) no-repeat right top calc(50% + 0.2rem) / 0.7rem;
}
#service.service03 .flow .link a:hover {
	opacity: 0.7;
}
@media all and (max-width: 896px) {
	#service.service03 .comTextBox {
		margin-bottom: 9rem;
	}
	#service.service03 .feature {
		padding-bottom: 10rem;
	}
	#service.service03 .flow .flowUl .li02 .imgBox {
		padding-bottom: 0.8rem;
	}
	#service.service03 .flow .flowUl .li02 .imgBox .text {
		margin-bottom: 0.5rem;
	}
	#service.service03 .faq {
		padding-top: 7rem;
	}
}
/* service04 */
#service.service04 .comTextBox {
	margin-bottom: 15.8rem;
}
#service.service04 .flow .bg {
	padding-bottom: 8.6rem;
}
#service.service04 .flow .flowUl .li05 .imgBox {
	padding-bottom: 0.5rem;
}
#service.service04 .flow .flowUl .li05 .imgBox .text {
	margin-bottom: 0.5rem;
}
#service.service04 .flow .subText {
	margin: 5.8rem 0 2.5rem;
	text-align: center;
	font-weight: 700;
	font-size: 2.3rem;
	letter-spacing: 0.1em;
}
#service.service04 .flow .comLinkList01 li {
	min-width: 23.6rem;
}
#service.service04 .flow .notes {
	margin: 4.3rem 0 2.7rem;
	text-align: center;
	font-size: 1.7rem;
	font-weight: 700;
	letter-spacing: 0.06em;
}
#service.service04 .faq .comLinkList {
	margin: 2.5rem 0 0;
}
#service.service04 .faq .comLinkList a {
	padding: 0.2rem 0.5rem 0.2rem;
}
@media all and (max-width: 896px) {
	#service.service04 .comTextBox {
		margin-bottom: 9rem;
	}
	#service.service04 .feature {
		padding-bottom: 9rem;
	}
	#service.service04 .flow .bg {
		padding-bottom: 8.6rem;
	}
	#service.service04 .flow .subText {
		margin: 3.8rem 0 2rem;
		line-height: 1.78;
	}
	#service.service04 .flow .comLinkList01 li {
		min-width: 23.6rem;
	}
	#service.service04 .flow .notes {
		margin: 3rem 0 1.5rem;
	}
	#service.service04 .faq .comLinkList {
		margin: 1.5rem auto 3rem;
	}
	#service.service04 .faq .comLinkList a {
		padding: 0.2rem 0.5rem 0.2rem;
	}
}
/*------------------------------------------------------------
	privacy
------------------------------------------------------------*/
#privacy .pageTitle {
	margin-bottom: 5.8rem;
	padding: 11.5rem 0 7.6rem;
	background: url(img/privacy/page_bg.png) no-repeat left bottom /100%;
}
#privacy .content {
	/* max-width: 106rem; */
	max-width: 96rem;
}
#privacy .innerBox {
	margin-bottom: 3.3rem;
	border-bottom: 1px dashed #231815;
}
#privacy h2 {
	margin-bottom: 3.5rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 2.125;
}
#privacy h2.hTitle {
	margin-bottom: 0 !important;
}
#privacy h3 {
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 2.125;
}
#privacy .text {
	margin-bottom: 3.4rem;
	letter-spacing: 0.06em;
	line-height: 2.125;
}
#privacy .text01 {
	margin-bottom: 0;
}
#privacy .text a:hover {
	opacity: 0.7;
}
@media all and (max-width: 896px) {
	#privacy .pageTitle {
		margin-bottom: 5.8rem;
		padding: 2.5rem 0 6.7rem;
		background-image: url(img/privacy/page_bg_sp.png);
	}
	#privacy .headLine01 .en {
		margin-bottom: 1.5rem;
		line-height: 0.9;
	}
	#privacy #pagePath li {
		font-size: 1.3rem;
	}
	#privacy .innerBox {
		margin-bottom: 7rem;
		border-bottom: 0;
	}
	#privacy h2 {
		margin-bottom: 1.1rem;
	}
	#privacy h3 {
		font-weight: 700;
		letter-spacing: 0.06em;
		line-height: 2.125;
	}
}
/*------------------------------------------------------------
	company
------------------------------------------------------------*/
#company .greenBg {
	padding: 8rem 0 5.5rem;
	margin-top: -8.3rem;
	background: #BEE7B3 url(img/company/company_bg.png) no-repeat left top / 100%;
}
#company .future {
	padding-bottom: 8rem;
}
#company .future .title {
	margin-bottom: 6.7rem;
	font-weight: 700;
	font-size: 6rem;
	letter-spacing: 0.18em;
	line-height: 1.3;
}
#company .future .headLine02 {
	margin-bottom: 1.5rem;
}
#company .future .innerBox {
	align-items: flex-end;
}
#company .future .innerBox .lText {
	margin-right: 7.6rem;
	flex: 1;
	text-align: justify;
	letter-spacing: 0.03em;
	line-height: 2.18;
}
#company .future .innerBox .rText {
	width: 21rem;
	letter-spacing: 0.1em;
	line-height: 1.56;
}
#company .future .innerBox .rText .name {
	display: block;
	font-size: 2rem;
}
#company .whiteBg {
	padding: 4.8rem 6rem 5.7rem;
	background-color: #fff;
	border-radius: 4.3rem;
}
#company .whiteBg .comRBox {
	margin-left: auto;
	width: 70.6rem;
}
#company .profile {
	padding-bottom: 9.8rem;
}
#company .profile .headLine02 {
	margin-bottom: 1.5rem;
}
#company .profile .profileUl {
	margin-right: 2.5rem;
	width: 25.5rem;
}
#company .profile .profileUl01 {
	flex: 1;
}
#company .profile .profileUl:last-of-type {
	margin-right: 0;
}
#company .profile .profileUl li {
	padding: 2.8rem 0;
	letter-spacing: 0.02em;
	line-height: 1.81;
	border-bottom: 1px solid #000;
}
#company .profile .profileUl li:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}
#company .profile .profileUl .lText {
	display: block;
	font-weight: 700;
}
#company .profile .profileUl .dot {
	font-size: 1.1rem;
	vertical-align: 0.2rem;
}
#company .profile .group_desc {
    width: 100%;
    /* border: 1px solid; */
    text-align: center;
    padding: 20px;
    margin-top: 30px;
	display: flex;
    flex-direction: column;
}
#company .profile .group_desc a {
	color: #008F65;
	text-decoration: underline;
	text-underline-offset: 0.3em;
}
#company .profile .group_desc a:first-child {
	margin-bottom: 20px;
}
#company .access {
	margin-bottom: 13rem;
}
#company .access .headLine02 {
	margin-bottom: 4.3rem;
}
#company .access .add {
	margin-bottom: 3.6rem;
	line-height: 1.8;
}
#company .access .textUl {
	margin-bottom: 3rem;
}
#company .access .textUl li {
	margin-right: 5.5rem;
	width: fit-content;
}
#company .access .textUl li:last-child {
	margin-right: 0;
}
#company .access .textUl .title {
	margin-bottom: 0.2rem;
	font-weight: 700;
	letter-spacing: 0.02em;
}
#company .access .textUl .text {
	line-height: 1.8;
}
#company .access .textUl .text .dot {
	font-size: 1.1rem;
	vertical-align: 0.2rem;
}
#company .access .textUl .text .notes {
	display: block;
	padding-left: 1.5rem;
	text-indent: -1.5rem;
}
#company .access .mapBox {
	position: relative;
	padding-bottom: 39.8%;
}
#company .access .mapBox iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
}
#company .history {
	margin-bottom: 13.2rem;
}
#company .history .headLine02 {
	margin-bottom: 3rem;
}
#company .history .imgBox {
	position: relative;
	border-radius: 1.5rem;
	overflow: hidden;
}
#company .history .imgBox .photoBox img {
	width: 100%;
}
#company .history .imgBox .textBox {
	padding: 4rem 1rem 4rem 3.5rem;
	position: absolute;
	z-index: 1;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 40.4rem;
	background-color: #fff;
	border-radius: 0 4rem 4rem 0;
}
#company .history .imgBox .historyUl li {
	padding-bottom: 3.1rem;
	display: flex;
	flex-wrap: wrap;
	position: relative;
}
#company .history .imgBox .historyUl li::after {
	position: absolute;
	top: 1rem;
	left: 7.5rem;
	bottom: -1rem;
	width: 1px;
	content: "";
	z-index: 1;
	background-color: #000;
}
#company .history .imgBox .historyUl li::before {
	position: absolute;
	top: 1rem;
	left: 7.3rem;
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 50%;
	overflow: hidden;
	content: "";
	z-index: 2;
	background-color: #000;
}
#company .history .imgBox .historyUl li:last-child {
	padding-bottom: 0;
}
#company .history .imgBox .historyUl li:last-child::after {
	display: none;
}
#company .history .imgBox .historyUl .time {
	width: 7rem;
	font-weight: 700;
	color: #1EBCAE;
	letter-spacing: 0.06em;
}
#company .history .imgBox .historyUl .text {
	padding-left: 2.2rem;
	letter-spacing: 0.06em;
}
#company .overview {
	margin-bottom: 13rem;
	padding-top: 130px;
    margin-top: -130px;
}
#company .overview .headLine02 {
	margin-bottom: 3.5rem;
}
#company .overview .overviewUl {
	margin-top: -3.6rem;
}
#company .overview .overviewUl li {
	margin: 3.6rem 2.8rem 0 0;
	min-height: 11.5rem;
	background-color: #fff;
	width: 18.7rem;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-weight: 300;
	line-height: 1.56;
	letter-spacing: 0.06em;
	border-right: 0.3rem solid #009262;
	border-bottom: 0.3rem solid #009262;
	border-radius: 0 0 2rem;
}
#company .overview .overviewUl li:nth-child(4n) {
	margin-right: 0;
}
#company .overview .overviewUl li.blue {
	border-color: #1EBCAE;
}
#company .overview .overviewUl li a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-weight: 300;
    line-height: 1.56;
    letter-spacing: 0.06em;
}
#company .overview .overviewUl li a:hover {
	opacity: 0.6;
}
#company .recruit {
	margin-bottom: 13rem;
}
#company .recruit .headLine02 {
	margin-bottom: 4.2rem;
}
#company .recruit .comLinkBox {
	margin: 0 auto;
	border: 0;
}
#company .recruit .comLinkBox .photo {
	position: relative;
}
#company .recruit .comLinkBox .photo .text {
	width: 100%;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	text-align: center;
	z-index: 1;
	color: #fff;
	font-size: 3.1rem;
	font-weight: 700;
	letter-spacing: 0.1em;
}
#company .sdgs .text {
	margin-bottom: 3.7rem;
	letter-spacing: 0.06em;
	line-height: 1.81;
}
#company .sdgs .title {
	margin-bottom: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.81;
}
#company .sdgs .imgBox {
	margin-bottom: 3rem;
}
#company .sdgs .imgBox:last-child {
	margin-bottom: 0;
}
#company .sdgs .imgBox .photoBox {
	margin-right: 2.5rem;
	width: 10.2rem;
}
#company .sdgs .imgBox {
	align-items: center;
}
#company .sdgs .imgBox .textBox {
	flex: 1;
}
#company .sdgs .imgBox .textBox h3 {
	color: #00963A;
	letter-spacing: 0.06em;
	line-height: 1.625;
}
#company .sdgs .imgBox .textBox .info {
	letter-spacing: 0.06em;
	line-height: 1.625;
}
#company .sdgs .imgBox.red .textBox h3 {
	color: #970931;
}
#company .sdgs .imgBox.orange .textBox h3 {
	color: #F4A100;
}
#company .sdgs .imgBox.brown .textBox h3 {
	color: #DE8D00;
}
#company .sdgs .imgBox.green01 .textBox h3 {
	color: #297B28;
}
#company .sdgs .imgBox.green02 .textBox h3 {
	color: #28A738;
}
#company .sdgs .imgBox.blue01 .textBox h3 {
	color: #0074B9;
}
#company .sdgs .imgBox.blue02 .textBox h3 {
	color: #00306B;
}
@media all and (max-width: 896px) {
	#company .greenBg {
		padding: 1.7rem 0 3rem;
		margin-top: 10rem;
		background-image: url(img/company/company_bg_sp.png);
	}
	#company .future {
		padding-bottom: 6.2rem;
	}
	#company .future .title {
		margin-bottom: 6.7rem;
		font-size: 4rem;
		line-height: 1.25;
	}
	#company .future .headLine02 {
		margin-bottom: 1.9rem;
	}
	#company .future .innerBox {
		display: block;
	}
	#company .future .innerBox .lText {
		margin: 0 0 3rem;
	}
	#company .future .innerBox .rText {
		width: auto;
	}
	#company .future .innerBox .rText .name {
		margin-left: 2rem;
		display: inline-block;
		font-size: 2rem;
	}
	#company .whiteBg {
		padding: 3.2rem 4rem 3rem;
		border-radius: 4rem;
	}
	#company .whiteBg .comRBox {
		width: auto;
	}
	#company .profile {
		padding-bottom: 2rem;
	}
	#company .profile .comRBox {
		display: block;
	}
	#company .profile .headLine02 {
		margin-bottom: 1.7rem;
	}
	#company .profile .profileUl {
		margin-right: 0;
		width: auto;
	}
	#company .profile .profileUl li {
		padding: 1.4rem 0 !important;
		letter-spacing: 0.02em;
		line-height: 1.81;
		border-bottom: 1px solid #000 !important;
	}
	#company .profile .profileUl01 li:last-child {
		border-bottom: 0 !important;
	}
	#company .profile .profileUl .lText {
		margin-right: 1.7rem;
		display: inline-block;
	}
	#company .profile .profileUl .dot {
		font-size: 1.1rem;
	}
	#company .profile .group_desc {
		margin: 10px auto 20px;
	}
	#company .access {
		margin-bottom: 6rem;
	}
	#company .access .headLine02 {
		margin-bottom: 2rem;
	}
	#company .access .add {
		margin-bottom: 2.9rem;
	}
	#company .access .textUl {
		margin-bottom: 2.5rem;
		display: block;
	}
	#company .access .textUl li {
		margin: 0 0 2.5rem;
		width: auto;
	}
	#company .access .textUl li:last-child {
		margin: 0;
	}
	#company .history {
		margin-bottom: 6rem;
	}
	#company .history .headLine02 {
		margin-bottom: 4rem;
	}
	#company .history .imgBox {
		margin: 0 -4rem;
		border-radius: 0;
	}
	#company .history .imgBox .textBox {
		padding: 5rem 1rem 4.6rem 4rem;
		top: 6.7%;
		transform: translateY(0);
		width: 91.7%;
	}
	#company .overview {
		margin-bottom: 5.7rem;
	}
	#company .overview .headLine02 {
		margin-bottom: 3.5rem;
	}
	#company .overview .overviewUl {
		margin-top: -2rem;
		justify-content: space-between;
	}
	#company .overview .overviewUl li {
		margin: 2rem 0 0 0;
		width: 47%;
	}
	#company .overview .overviewUl li.blue {
		border-color: #009262;
	}
	#company .overview .overviewUl li:nth-child(2n) {
		border-color: #1EBCAE;
	}
	#company .recruit {
		margin-bottom: 5.3rem;
	}
	#company .recruit .headLine02 {
		margin-bottom: 0.9rem;
	}
	#company .sdgs .text {
		margin-bottom: 2.7rem;
	}
	#company .sdgs .title {
		margin-bottom: 1.5rem;
		font-weight: 700;
		letter-spacing: 0.06em;
		line-height: 1.81;
	}
	#company .sdgs .imgBox {
		margin-bottom: 3.3rem;
	}
	#company .sdgs .imgBox {
		align-items: flex-start;
	}
	#company .sdgs .imgBox .textBox {
		margin-top: -0.7rem;
	}
	#company .sdgs .imgBox .textBox h3 {
		margin-right: -1rem;
	}
	#company .sdgs .imgBox .textBox .info {
		text-align: justify;
	}
}
/*------------------------------------------------------------
	fadeInUp
------------------------------------------------------------*/
.fadeInUp {
	opacity: 0;
	-webkit-transform: translateY(40px);
	transform: translateY(40px);
	transition: all .5s ease;
}
.fadeInUp.on {
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0); 
}

/*------------------------------------------------------------
	recruit
------------------------------------------------------------*/

#recruit .recruit_category_title h3,
#recruit .recruit_category_title p {
	width: 100%;
}
#recruit .recruit_category_title h3 {
    font-size: 2.0rem;
    letter-spacing: 0.2em;
}
#recruit .recruit_category_title p {
    letter-spacing: 0.2em;
}
#recruit .recruit_category {
    gap: 30px;
}
#recruit .recruit_category h4 {
    font-size: 2.8rem;
    letter-spacing: 0.2em;
    border: 3px solid #008F65;
    border-radius: 10px;
    padding: 0.6rem;
    width: 200px;
    text-align: center;
}
#recruit .recruit_category h4:nth-child(2) {
	border: 3px solid #1EBCAE;
}
.recruit_attention {
	width: 100%;
	margin-top: 50px;
    text-align: center;
}
.recruit_attention p {
	display: inline-block;
    border-bottom: 1px solid;
    font-weight: bold;
    font-size: 2.2rem;
    letter-spacing: 0.2em;
}
@media all and (max-width: 896px) {
	.recruit_category_title {
		margin-bottom: 40px;
        text-align: center;
	}
	#recruit .recruit_category_title h3 {
		margin-bottom: 4px;
	}
	.recruit_attention p {
		padding-bottom: 10px;
        border: none;
        line-height: 2.2;
        text-decoration: underline;
        text-underline-offset: 0.4em;
		text-decoration-thickness: 0.02em;
	}
	#recruit .recruit_category {
		gap: 20px;
	}
	#recruit .recruit_category h4 {
		width: calc((90% - 20px)/2);
	}
}