@charset "utf-8";
/*
Theme Name: Eikodo-shoji
Theme URI: null
Description: Description
Author: shunc - LZJ
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%;
}

a.nolink,
a.nolink:hover {
	opacity: 1;
	cursor: default;
	pointer-events: none;
}
.wp-block-image figure,
.wp-block-image figcaption {
	display: block;
}
.bgimg {
	width:100%;
	display: block;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.bgimg img {
	display: none !important;
}

.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;
}
#gHeader ul.bogo-language-switcher {
	display: 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: 390px) {
	html {
		font-size: calc(1000vw / 390);
	}
}
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: #222;
	text-decoration: none;
	transition: 0.3s;
}
a:visited {
	color: #222;
}
a:hover {
	color: #222;
}
a:active {
	color: #222;
}
/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	min-width: 134rem;
	color: #222;
	font-size: 1.6rem;
	line-height: 2;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background-color: #FFF;
}
.poppins,
.en {
	font-family: "Poppins", sans-serif;
}
.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
}
#container {
	text-align: left;
}
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;
	}
	a:hover,
	a:hover img {
		opacity: 1 !important;
	}
	.pc {
		display: none !important;
	}
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
}
/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#gHeader {
	padding: 0 4rem 0 6rem;
	position: fixed;
	background: #fff;
	left: 0;
	top: 0;
	width: 100%;
	z-index: 997;
}
.top #main {
	padding-top: 0;
}
.top #gHeader {
	background: none;
}
.top #gHeader.wBg {
	background: #fff;
}
#gHeader .hBox {
	height: 10rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#gHeader a {
	display: block;
}
#gHeader h1 {
	display: none;
}
#gHeader .logo {
	width: 6.4rem;
}
#gHeader .btn {
	margin: 0 4rem 0 3rem;
}
#gHeader .btn a {
	width: 17.3rem;
	height: 6rem;
	border: 1px solid #ec1313;
	border-radius: 3rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.4rem;
	letter-spacing: 0.03em;
	text-align: center;
	color: #ec1313;
	font-family: "Poppins", sans-serif;
}
#gHeader .lang {
	position: relative;
}
#gHeader .lang dd {
	display: none;
	position: absolute;
	left: 0;
	top: 100%;
	width: 100%;
	text-align: center;
	background: #fff;
	box-shadow: 0 0 0.5rem rgba(80,80,80,0.2);
}
#gHeader .lang dt {
	padding: 0.2rem 3.1rem 0.2rem 3.3rem;
	position: relative;
	background: url(img/common/icon02.webp) no-repeat center left / 2.6rem;
	cursor: pointer;
}
#gHeader .lang dt::after {
	content: "";
	width: 1.6rem;
	height: 1rem;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	background: url(img/common/arrow_icon01.webp) no-repeat center top / 100%;
}
@media all and (min-width: 897px) {
	#gHeader .lang a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	#gHeader {
		padding: 0 2rem;
	}
	#gHeader .hBox {
		height: 6rem;
		justify-content: flex-end;
		gap: 2rem;
	}
	#gHeader .logo {
		margin-right: auto;
		width: 4rem;
	}
	#gHeader .lang {
		font-size: 1.4rem;
	}
	#gHeader .lang dt {
		padding: 0 1.7rem 0.4rem 2.3rem;
		background-size: 1.64rem;
		line-height: 1;
	}
	#gHeader .lang dt::after {
		width: 1.2rem;
	}
}
/* gNavi */
#gNavi {
	flex: 1;
}
#gNavi ul {
	display: flex;
	align-items: center;
	font-family: "Poppins", sans-serif;
	justify-content: flex-end;
	gap: 2.1rem;
}
#gNavi ul a {
	font-size: 1.3rem;
}
.menu {
	position: relative;
	width: 2.8rem;
	height: 2.8rem;
	z-index: 999;
	cursor: pointer;
}
.menu01 {
	margin: 0 2.6rem 0 3.7rem;
	width: 6.8rem;
	height: 2.9rem;
	text-align: center;
	padding: 0.2rem;
	border-right: 1px solid #222;
	border-left: 1px solid #222;
	z-index: 88;
}
.menu01 img {
	width: 2.5rem;
}
.menu span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
	position: absolute;
	left: 0;
	width: 2.8rem;
	height: 0.2rem;
	background-color: #000;
}
.menu span:nth-of-type(1) {
	top: 0.9rem;
}
.menu span:nth-of-type(2) {
	bottom: 0.7rem;
}
.menu.on span:nth-of-type(1) {
	background-color: #fff;
	transform: translateY(0.4rem) rotate(-45deg);
}
.menu.on span:nth-of-type(2) {
	background-color: #fff;
	transform: translateY(-0.6rem) rotate(45deg);
}
.menuBox {
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	background: linear-gradient(to right,rgba(80,80,80,0.5) 43.5%,#da3d3a 43%);
	z-index: 997;
	height: 100%;
	overflow-y: auto;
	box-sizing: border-box;
}
.menuBox .inner {
	padding: 13.6rem 0;
	margin-left: auto;
	width: 56.5%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	flex-wrap: wrap;
	row-gap: 6.6rem;
}
.menuBox .comNavBox a {
	font-size: 2rem;
	letter-spacing: 0.01em;
}
.menuBox .searchBox {
	width: 100%;
	max-width: 51.7rem;
}
.menuBox .searchBox .search {
	margin-right: auto;
	width: 32.9rem;
	position: relative;
	height: 5rem;
}
.menuBox .searchBox input {
	padding: 0.5rem 6rem 0.5rem 3rem;
	width: 100%;
	height: 100%;
	font-size: 1.3rem;
	letter-spacing: 0.03em;
	background: #fff;
	color: #222;
	border-radius: 3rem;
	border: none;
	box-sizing: border-box;
}
.menuBox .searchBox input::-webkit-input-placeholder {
	color: #a7a7a7;
	opacity:1;
}	
.menuBox .searchBox input::-moz-placeholder {
	color: #a7a7a7;
	opacity:1;
}
.menuBox .searchBox button {
	padding: 1.4rem 2.1rem 1.4rem 0.7rem;
	margin: 0;
	width: 5rem;
	height: 5rem;
	position: absolute;
	right: 0;
	top: 0;
	border: none;
	background: none;
	appearance: none;
	cursor: pointer;
}
.menuBox .comNavBox {
	margin: 1.8rem 2rem;
}
.menuBox .comNavBox a {
	width: fit-content;
}
.menuBox .comNavBox li + li {
	margin-top: 1.4rem;
}
.menuBox .comNavBox .navUl01 {
	margin-bottom: 7.9rem;
}
@media all and (min-width: 897px) {
	#gNavi ul a:hover,
	#gHeader .btn a:hover,
	.menu:hover,
	.menuBox .searchBox button:hover {
		opacity: 0.7;
	}
	.menuBox .comNavBox {
		margin: 0;
		max-width: 51.7rem;
		row-gap: 1.4rem;
		width: 100%;
		justify-content: space-between;
	}
	.menuBox .comNavBox .navUl01 {
		width: 24.7rem;
	}
	.menuBox .comNavBox .navUl02 {
		width: 16rem;
	}
	.menuBox .comNavBox.jp .navUl02 {
		width: 23rem;
	}
}
@media (min-width: 897px) and (max-width: 1310px) {
	#gHeader {
		padding: 0 3.05vw;
	}
	#gHeader .btn {
		margin: 0 3.05vw 0 2.29vw;
	}
	#gHeader .logo {
		width: 4.885vw;
	}
	#gHeader .btn a {
		width: 13.2vw;
		height: 4.58vw;
	}
	#gHeader .lang dt {
		padding: 0.2rem 3vw;
		font-size: 1.221vw;
		background-size: 1.98vw;
	}
	#gNavi ul {
		gap: 1.6vw;
	}
	#gNavi ul a {
		font-size: 1vw;
	}
	.menuBox .inner > div {
		padding: 0 2rem;
	}
	.menuBox .comNavBox.jp a {
		font-size: 1.8rem;
	}
	.menuBox .comNavBox.jp .navUl02,
	.menuBox .comNavBox.jp .navUl01 {
		width: 19.7rem;
	}
	.menu01 {
		margin: 0 1.98vw 0 2.82vw;
		width: 5.19vw;
		height: 2.213vw;
	}
	.menu01 img {
		width: 1.9vw;
	}
}
@media all and (max-width: 896px) {
	#gNavi {
		display: none;
	}
	.menu {
		display: block;
		width: 2rem;
		height: 2rem;
	}
	.menu span {
		width: 2rem;
	}
	.menu span:nth-of-type(1) {
		top: 0.4rem;
	}
	.menu span:nth-of-type(2) {
		bottom: 0.6rem;
	}
	.menu.on span {
		width: 2.8rem;
		height: 1px;
		left: -4px;
	}
	.menu.on span:nth-of-type(1) {
		transform: translateY(0.5rem) rotate(-45deg);
	}
	.menu.on span:nth-of-type(2) {
		transform: translateY(-0.4rem) rotate(45deg);
	}
	.menu01 {
		margin: 0 -0.1rem 0 0;
		padding: 0.2rem 0 0;
		border-left: none;
		height: 2.1rem;
		width: 3.5rem;
		text-align: left;
	}
	.menu01 img {
		width: 1.7rem;
	}
	.menuBox {
		background: #da3d3a;
	}
	.menuBox .inner {
		padding: 6rem 2rem;
		display: block;
		width: 100%;
	}
	.menuBox .comNavBox {
		text-align: left;
	}
	.menuBox .comNavBox a {
		font-size: 1.6rem;
		line-height: 1.562;
	}
	.menuBox .searchBox .search {
		width: 100%;
		max-width: 40rem;
	}
	.menuBox .searchBox input {
		padding: 0.5rem 6rem 0.5rem 3rem;
		width: 100%;
		height: 100%;
		font-size: 1.3rem;
		letter-spacing: 0.03em;
		background: #fff;
		color: #222;
		border-radius: 2.5rem;
		border: none;
		box-sizing: border-box;
	}
	.menuBox .searchBox input::-webkit-input-placeholder {
		color: #a7a7a7;
		opacity:1;
	}	
	.menuBox .searchBox input::-moz-placeholder {
		color: #a7a7a7;
		opacity:1;
	}
	.menuBox .searchBox button {
		padding: 1.4rem 2.1rem 1.4rem 0.7rem;
		margin: 0;
		width: 5rem;
		height: 5rem;
		position: absolute;
		right: 0;
		top: 0;
		border: none;
		background: none;
		appearance: none;
		cursor: pointer;
	}
	.menuBox .comNavBox {
		margin: 1.8rem 2rem;
	}
	.menuBox .comNavBox a {
		width: fit-content;
	}
	.menuBox .comNavBox li + li {
		margin-top: 0.95rem;
	}
	.menuBox .comNavBox .navUl01 {
		margin-bottom: 0.95rem;
	}
	.menuBox .comNavBox.jp {
		margin: 3.6rem 2rem;
	}
	.menuBox .comNavBox.jp li + li {
		margin-top: 1.5rem;
	}
	.menuBox .comNavBox.jp .navUl01 {
		margin-bottom: 1.5rem;
	}
}
/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#gFooter {
	padding: 7.7rem 0 6.8rem;
	color: #fff;
	background: #222;
	border: 1px solid #707070;
}
#gFooter .fBox {
	margin-bottom: 7.9rem;
	display: flex;
	justify-content: space-between;
}
#gFooter .logo a {
	width: 6.5rem;
	display: block;
}
#gFooter .link a {
	margin: -6rem 0 0 auto;
	width: 4.8rem;
	display: block;
}
#gFooter address {
	font-size: 1.3rem;
}
@media all and (min-width: 897px) {
	#gFooter .link a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	#gFooter {
		padding: 6.9rem 0 3.7rem;
	}
	#gFooter .fBox {
		margin-bottom: 5.6rem;
		display: block;
	}
	#gFooter .link a {
		margin-top: -3.8rem;
	}
	#gFooter .logo a {
		margin: 0 auto 2.5rem;
	}
}

/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* 81-jyj */
/* 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;}
/*------------------------------------------------------------
	common
------------------------------------------------------------*/
#main {
	padding-top: 10rem;
}

.comNavBox {
	margin-right: -0.5rem;
	width: 40.8rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 4rem;
}
.comNavBox li + li {
	margin-top: 0.95rem;
}
.comNavBox a {
	color: #fff;
}
.comNavBox a[href^="#"] {
	cursor: default;
	pointer-events: none;
}
@media all and (min-width: 897px) {
	.comNavBox a:hover {
		opacity: 0.7;
	}
	.comNavBox .navUl01 {
		width: 19.4rem;
	}
	.comNavBox .navUl02 {
		width: 16.5rem;
	}
}
@media all and (max-width: 896px) {
	.comNavBox {
		width: auto;
		display: block;
		text-align: center;
	}
	.comNavBox .navUl01 {
		margin-bottom: 1.25rem;
	}
	.comNavBox li + li {
		margin-top: 1.25rem;
	}
}
/* comMainVisual */
.comMainVisual {
	margin: 3rem 0 2.6rem;
	position: relative;
}
.comMainVisual img {
	width: 100%;
}
.comMainVisual .pageTtl {
	padding: 3.9rem 2rem 3.4rem 8.1rem;
	width: fit-content;
	min-width: 49.7rem;
	min-height: 19.7rem;
	background: #fff;
	display: flex;
	align-items: center;
	border-top-left-radius: 4rem;
	font-weight: 600;
	font-size: 5rem;
	line-height: 1.24;
	color: #da3e3b;
	position: absolute;
	right: 0;
	bottom: 0;
}
.comMainVisual .pageTtl::before {
	content: "";
	position: absolute;
	left: 4rem;
	top: 3.9rem;
	bottom: 3.4rem;
	width: 1px;
	background: #da3e3b;
}
@media all and (max-width: 896px) {
	#main {
		padding-top: 5.9rem;
	}
	.comMainVisual {
		margin: 0 0 1.4rem;
	}
	.comMainVisual .pageTtl {
		padding: 1.3rem 0 0.5rem 3.7rem;
		min-width: 20.2rem;
		min-height: 8.4rem;
		font-size: 2.5rem;
		line-height: 1.12;
		border-top-left-radius: 2rem;
	}
	.comMainVisual .mainImg {
		aspect-ratio: 350/220;
	}
	.comMainVisual img {
		height: 100%;
		object-fit: cover;
	}
	.comMainVisual .pageTtl::before {
		left: 2.3rem;
		top: 2.2rem;
		bottom: 1.3rem;
	}
}
.content {
	margin: 0 auto;
	max-width: 111rem;
}
#pagePath {
	margin-bottom: 20rem;
}
#pagePath li {
	margin-right: 2.3rem;
	display: inline-block;
	font-weight: 500;
	color: #1a1a1a;
}
#pagePath li a {
	margin-right: 1.3rem;
	display: inline-block;
	color: #a3a3a3;
}
@media all and (min-width: 897px) {
	.content.lar {
		max-width: 126.6rem;
	}
	#pagePath li a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.content {
		margin: 0 2rem;
		max-width: inherit;
	}
	p {
		line-height: 1.875;
	}
	#pagePath {
		margin-bottom: 4rem;
	}
	#pagePath li {
		margin-right: 1.2rem;
		font-size: 1.4rem;
	}
}
/* headLine01 */
.headLine01 {
	color: #d93d3a;
}
.headLine01 .en {
	font-size: 4rem;
	font-weight: 600;
	line-height: 1.125;
}
.headLine01 .jp {
	display: block;
	font-size: 2rem;
	font-weight: 500;
}
@media all and (max-width: 896px) {
	.headLine01 {
		margin-bottom: 0.6rem;
	}
	.headLine01 .jp {
		margin-top: 0.4rem;
		letter-spacing: 0.08em;
	}
}
/* comFlexBox */
.comFlexBox {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.comFlexBox .subBox01 {
	flex: 1;
}
.comFlexBox .subBox02 {
	width: 83.8rem;
}
@media all and (max-width: 896px) {
	.comFlexBox {
		display: block;
	}
	.comFlexBox .subBox02 {
		width: auto;
	}
}
/* comBg */
.comBg {
	position: relative;
}
.comBg .content {
	position: relative;
	z-index: 2;
}
.comBg::after {
	content: "";
	width: 100%;
	height: 111.2rem;
	position: absolute;
	left: 0;
	bottom: 0;
	background: linear-gradient(to top,#e8fbfd 0%, rgba(255, 255, 255, 0) 100%);
}
@media all and (max-width: 896px) {
}
/* comCategory */
.comCategory {
	padding: 6.5rem 6.3rem;
	background: #da3d3a url(img/common/gold_bg.webp) no-repeat center top / cover;
}
.comCategory .head {
	margin-bottom: 5.6rem;
	font-weight: 600;
	font-size: 7rem;
	line-height: 1;
	letter-spacing: 0.03em;
	text-align: center;
	color: #fff;
}
.comCategory .list {
	display: flex;
	flex-wrap: wrap;
	gap: 3rem;
}
.comCategory .list li {
	width: calc((100% - 9rem) / 4);
	font-size: 1.4rem;
	line-height: 1.5;
	text-align: center;
	background: #fff;
}
.comCategory .list li a {
	padding: 0.9rem 0.5rem 2.3rem;
	display: block;
}
.comCategory .list img {
	margin: 0 auto;
	width: 12.7rem;
}
@media all and (min-width: 897px) {
	.comCategory .list li a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.comCategory {
		padding: 3.5rem 2.1rem 2.1rem;
		background-image: url(img/common/gold_bg_sp.webp);
	}
	.comCategory .head {
		margin-bottom: 2.8rem;
		font-size: 4rem;
		letter-spacing: 0.01em;
	}
	.comCategory .list {
		gap: 1rem;
	}
	.comCategory .list li {
		width: calc(50% - 0.5rem);
	}
	.comCategory .list li a {
		padding: 0 0.5rem 0.5rem;
		min-height: 16.1rem;
	}
	.comCategory .list p {
		margin-top: 0.1rem;
		line-height: 1.5;
	}
	.comCategory .list .wid img {
		width: 11.3rem;
	}
}
/* headLine02 */
.headLine02 {
	font-size: 3rem;
	letter-spacing: 0.08em;
	font-weight: 500;
	color: #d93d3a;
	line-height: 1.6;
}
@media all and (max-width: 896px) {
	.headLine02 {
		margin-bottom: 1.5rem;
		font-size: 2.5rem;
		letter-spacing: 0.03em;
	}
}
/* headLine03 */
.headLine03 {
	margin-bottom: 4.2rem;
	font-weight: 500;
	font-size: 2rem;
	letter-spacing: 0.03em;
	color: #242526;
	line-height: 1.5;
	border-bottom: 1px solid #b2b2b2;
}
.headLine03 span {
	margin-bottom: -1px;
	padding: 0 1.8rem 2rem 1.5rem;
	display: block;
	width: fit-content;
	border-bottom: 1px solid #da3e3b;
}
@media all and (max-width: 896px) {
	.headLine03 {
		margin-bottom: 1.1rem;
	}
	.headLine03 span {
		padding: 0.2rem 1rem 2rem 0;
	}
}

/*------------------------------------------------------------
	corporate
------------------------------------------------------------*/
#corporate {
	padding-bottom: 15.8rem;
}
#corporate .textBox .text {
	margin-top: 3.9rem;
	line-height: 1.687;
}
#corporate .textBox .name {
	margin: 1.1rem 0 0 -0.5rem;
	width: 27rem;
}
#corporate .purpose {
	margin: 10.5rem 0 0;
	position: relative;
	overflow: hidden;
}
#corporate .purpose::after {
	content: "";
	position: absolute;
	width: 171.4rem;
	height: 77rem;
	left: 50%;
	transform: translateX(-52.4%);
	top: 5.8rem;
	background: url(img/corporate_philosophy/bg.webp) no-repeat center top / 100%;
	z-index: 1;
	mix-blend-mode: multiply;
}
#corporate .purpose .item {
	padding-top: 2.8rem;
	margin:  0 auto 6.6rem;
	width: 39.8rem;
	height: 39.8rem;
}
#corporate .purpose .headLine01 .jp {
	letter-spacing: 0.08em;
}
#corporate .purpose li,
#corporate .purpose .item {
	background: #fff;
	border: 0.2rem solid #d93d3a;
	border-radius: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
}
#corporate .purpose .list {
	display: flex;
	flex-wrap: wrap;
	gap: 4rem;
}
#corporate .purpose li {
	padding-top: 2.1rem;
	width: calc((100% - 8rem) / 3);
	height: 34.3rem;
	position: relative;
}
#corporate .purpose li::before {
	width: 0.2rem;
	height: 6rem;
	content: "";
	position: absolute;
	top: -3.3rem;
	left: 50%;
	transform: translateX(-50%);
	background: #d93d3a;;
}
@media all and (min-width: 897px) {
	#corporate .purpose .headLine01 {
		margin-bottom: 2rem;
	}
	#corporate .purpose .item .headLine01 {
		margin-bottom: 2.2rem;
	}
	#corporate .purpose .item .headLine01 .en {
		font-size: 5rem;
	}
	#corporate .purpose .right::before {
		left: 58%;
		transform: translate(-50%,7%) rotate(30deg);
	}
	#corporate .purpose .left::before {
		left: 45.6%;
		transform: translate(-50%,7%) rotate(-30deg);
	}
}
@media all and (max-width: 896px) {
	#corporate .purpose {
		margin: 5.9rem 0 0;
	}
	#corporate .textBox .text {
		margin-top: 3.1rem;
		font-weight: 500;
	}
	#corporate .textBox .name {
		margin: 1rem 0 0 -0.1rem;
		width: 24rem;
	}
	#corporate .purpose li,
	#corporate .purpose .item {
		margin: 0 auto 3rem;
		padding-top: 0.7rem;
		width: 25.6rem;
		height: 25.6rem;
	}
	#corporate .purpose .headLine01 .en {
		font-size: 3rem;
	}
	#corporate .purpose .headLine01 {
		margin-bottom: 1.4rem;
		font-size: 2rem;
	}
	#corporate .purpose .headLine01 .jp {
		margin-top: 0;
		line-height: 1.3;
	}
	#corporate .purpose p {
		font-size: 1.4rem;
		line-height: 1.785;
	}
	#corporate .purpose .list {
		display: block;
	}
	#corporate .purpose li::before {
		height: 3.2rem;
		top: -1.6rem;
	}
	#corporate {
		padding-bottom: 3.8rem;
	}
	#corporate .purpose::after {
		width: 107rem;
		top: 12.4rem;
	}
}
/*------------------------------------------------------------
	service
------------------------------------------------------------*/
#service {
	padding-bottom: 13rem;
}
#service::after {
	height: 54.2rem;
	background: linear-gradient(to bottom,#dff8fa 0%, rgba(255, 255, 255, 0) 100%);
}
#service #pagePath {
	margin-bottom: 8.2rem;
}
#service .imgList {
	margin-bottom: 13rem;
}
#service .imgList li + li {
	margin-top: 5rem;
}
#service .imgList li {
	padding: 4.9rem 4.9rem 4.9rem 4.9rem;
	border: 1px solid #da3d3a;
	background: #FFF;
}
#service .imgList .innerBox {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 8rem;
}
#service .imgList li:nth-child(2n) .innerBox {
	flex-direction: row-reverse;
}
#service .imgList li:nth-child(2n) {
	padding-left: 7.8rem;
	background: #da3d3a;
	color: #fff;
}
#service .imgList li:nth-child(2n) .heading {
	color: #fff;
}
#service .imgList .photo {
	width: 66.5rem;
}
#service .imgList img {
	width: 100%;
}
#service .imgList .textBox {
	flex: 1;
}
#service .heading {
	margin-bottom: 4.4rem;
	font-size: 3rem;
	font-weight: 300;
	color: #da3d3a;
}
#service .heading .jp {
	font-weight: 500;
	letter-spacing: 0.08em;
	display: block;
}
#service .heading .num {
	margin-left: 1.5rem;
	font-size: 11rem;
	letter-spacing: 0.05em;
	line-height: 0.67;
	font-weight: 100;
}
#service .textBox .title {
	margin: 0 -2rem 0.9rem 0;
	font-size: 3rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 1.566;
}
@media all and (min-width: 897px) {
	#service .textBox p {
		max-width: 39.3rem;
	}
	#service .imgList li:nth-child(2n-1) .textBox {
		padding-top: 6.8rem;
	}
}
@media all and (max-width: 896px) {
	#service {
		padding-bottom: 6rem;
	}
	#service #pagePath {
		margin-bottom: 3.5rem;
	}
	#service .imgList li {
		padding: 1.9rem 1.9rem 3rem;
	}
	#service .imgList li .innerBox {
		display: block;
	}
	#service .imgList .photo {
		margin-bottom: 2.7rem;
		width: 100%;
		aspect-ratio: 310/195;
	}
	#service .imgList .photo img {
		height: 100%;
		object-fit: cover;
	}
	#service .heading {
		margin-bottom: 1.2rem;
		font-size: 2rem;
		font-weight: 300;
	}
	#service .heading .jp {
		font-size: 2rem;
		display: inline-block;
		font-weight: 500;
	}
	#service .heading .num {
		margin-left: 0.8rem;
		font-weight: 300;
		font-size: 5rem;
	}
	#service .textBox .title {
		margin: 0 0 0.6rem;
		font-size: 2rem;
		line-height: 1.6;
		letter-spacing: 0.03em;
	}
	#service .imgList li:nth-child(2n) {
		padding-left: 1.9rem;
	}
	#service .imgList li + li {
		margin-top: 2rem;
	}
	#service .imgList {
		margin-bottom: 6.1rem;
	}
}
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#index {
	overflow: hidden;
}
#index .mainVisual {
	padding: 10rem 0 19.7rem;
	position: relative;
}
#index .mainVisual::after {
	content: "";
	width: 100%;
	height: 129.1rem;
	position: absolute;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
	background: url(img/index/main_bg.webp) no-repeat center bottom / cover;
	pointer-events: none;
}
#index .mainVisual .inner {
	margin: -1.7rem auto 0;
	width: 127.5rem;
	position: relative;
	z-index: 1;
}
#index .mainVisual img {
	width: 100%;
}
#index .mainVisual .mainImg {
	margin: 0 auto -6.1rem;
	width: 124.1rem;
	transform: translateX(-1.66%);
}
#index .mainVisual .pageTitle {
	font-weight: 600;
	font-size: 5.5rem;
	letter-spacing: 0.03em;
	line-height: 1.2;
	color: #da3e3b;
	position: relative;
	z-index: 1;
}
#index .whoBox {
	margin-bottom: 13rem;
	position: relative;
}
#index .whoBox .imgBox {
	margin-bottom: 7rem;
	display: flex;
	justify-content: space-between;
	gap: 9.2rem;
	align-items: center;
}
#index .whoBox .imgBox:last-of-type {
	margin-bottom: 0;
}
#index .whoBox .imgBox.right {
	flex-direction: row-reverse;
}
#index .whoBox .imgBox .slideBox {
	width: 62.5rem;
	position: relative;
}
#index .whoBox .imgBox .slideBox div {
	display: block !important;
}
#index .whoBox .imgBox .dotList {
	position: absolute;
	right: 1.5rem;
	bottom: 1.5rem;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 1rem;
}
#index .whoBox .imgBox .dotList li {
	width: 1.1rem;
	height: 1.1rem;
	border-radius: 100%;
	opacity: 0.5;
	background: #fff;
	cursor: pointer;
}
#index .whoBox .imgBox .dotList li.slick-active {
	opacity: 1;
}
#index .whoBox .imgBox .dotList button {
	display: none;
}
#index .whoBox .imgBox .textBox {
	flex: 1;
}
#index .whoBox .imgBox .textBox p {
	margin-bottom: 3.1rem;
}
#index .whoBox .imgBox .heading {
	margin-bottom: 0.9rem;
	font-size: 3rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	color: #da3d3a;
}
#index .whoBox .headLine01 {
	margin: 0 -1rem 2rem -0.9rem;
}
#index .whoBox .headLine01 .en {
	font-size: 6rem;
}
#index .headLine01 {
	margin-bottom: 3.7rem;
}
#index .headLine01 .en {
	font-size: 7rem;
	letter-spacing: 0.03em;
}
#index .viewLink a {
	margin-left: auto;
	padding: 0.7rem 7.4rem 0.7rem 0;
	display: block;
	width: fit-content;
	letter-spacing: 0.03em;
	background: url(img/common/arrow_icon02.webp) no-repeat center right / 4.5rem;
}
#index .service {
	margin-bottom: 12.5rem;
}
#index .service .list {
	gap: 3rem;
	align-items: flex-start;
}
#index .service .content {
	position: relative;
}
#index .service .list li {
	width: calc((100% - 6rem) / 3);
}
#index .service .list a {
	height: 100%;
	display: block;
	font-size: 1.4rem;
}
#index .service .list .img {
	margin-bottom: 1.5rem;
	position: relative;
	overflow: hidden;
}
#index .service .list .hoverTxt {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	font-size: 2.6rem;
	color: #fff;
	text-align: center;
	font-weight: 500;
	display: flex;
	align-items: center;
	justify-content: center;
	backdrop-filter: blur(0.4rem);
	background-color: rgba(98, 198, 242, 0.6);
	transition: 0.3s;
	transform: translateY(-100%);
}
#index .service .list .hoverTxt span {
	padding-bottom: 0.4rem;
	width: fit-content;
	border-bottom: 1px solid #fff;
}
#index .service .list span {
	display: block;
}
#index .service .list img {
	width: 100%;
}
#index .pickUp {
	padding-bottom: 11rem;
	position: relative;
}
#index .ttlBox {
	display: flex;
	align-items: center;
	gap: 3.8rem;
}
#index .ttlBox .headLine01 {
	margin: 0;
}
#index .ttlBox .viewLink {
	margin-left: auto;
}
#index .pickUp .arrowList {
	display: flex;
	gap: 3.4rem;
}
#index .pickUp .arrowList li {
	width: 1.9rem;
	cursor: pointer;
}
#index .pickUp .arrowList .slick-disabled {
	opacity: 0.7;
}
#index .pickUp .slideBox {
	margin: 4.8rem 0 0 calc((100% - 111rem) / 2);
}
#index .pickUp .slideBox a {
	display: block;
	height: 100%;
}
#index .pickUp .slideBox a span {
	display: block;
}
#index .pickUp .slick-slide {
	margin-right: 4rem;
	width: 49rem;
}
#index .pickUp .slick-slide .img {
	margin-bottom: 2.2rem;
	aspect-ratio: 490/330;
}
#index .pickUp .slick-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#index .pickUp .slick-slide .small {
	margin-top: 1.9rem;
	font-size: 1.4rem;
	font-weight: 400;
}
#index .pickUp .textBox {
	padding-left: 2rem;
	font-weight: 500;
	line-height: 1.75;
	position: relative;
	font-feature-settings: "palt";
	display: flex;
	flex-direction: column;
	justify-content: center;
}
#index .pickUp .textBox::before {
	content: "";
	left: 0;
	top: 1.2rem;
	bottom: 0.3rem;
	position: absolute;
	width: 0.2rem;
	background: #da3d3a;
}
#index .itemBox {
	padding: 10.7rem 0 9.4rem;
	background: linear-gradient(#e8fbfd 0%, rgba(255, 255, 255, 0) 100%);
}
#index .itemBox .newUl {
	margin-top: 6.7rem;
	gap: 3rem;
}
#index .itemBox .newUl li {
	margin: 0 1.5rem;
	width: 19.8rem;
}
#index .itemBox .newUl a {
	display: block;
	font-size: 1.4rem;
	line-height: 1.857;
	text-align: center;
	font-feature-settings: "palt";
}
#index .itemBox .newUl .img {
	margin-bottom: 3.2rem;
	aspect-ratio: 198/170;
}
#index .itemBox .newUl .img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
#index .itemBox .newUl span {
	display: block;
}
#index .comCategory {
	margin-top: -8rem;
  	position: relative;
}
#index .bg {
	background: linear-gradient(#dff8fa 0%, rgba(255, 255, 255, 0) 100%);
}
#index .logoImg {
	padding: 5.9rem 0 10.4rem;
	position: relative;
}
#index .logoImg .linkBox {
	margin: 0 auto;
	width: 116.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
}
#index .logoImg .linkBox a {
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
#index .logoImg .linkBox img {
	width: auto;
	height: 7rem;
}
#index .logoImg .list01 {
	margin-bottom: 0.5rem;
	gap: 4.2rem;
}
#index .logoImg .list01 img {
	height: 14.5rem;
}
#index .logoImg .list02 {
	margin-bottom: 4rem;
	gap: 2.4rem;
}
#index .logoImg .list02 img {
	height: 7rem;
}
#index .logoImg .list03 {
	margin-bottom: 3.6rem;
	gap: 2.7rem;
}
#index .logoImg .list03 img {
	height: 9.7rem;
}
#index .logoImg .list04 {
	gap: 2.7rem;
}
#index .logoImg .list04 img {
	height: 10.3rem;
}
#index .logoImg .posTxt {
	width: 9.6rem;
	height: 51rem;
	font-size: 14rem;
	letter-spacing: 0.03em;
	line-height: 0.692;
	font-weight: 600;
	position: absolute;
	right: 0;
	top: 7.6rem;
}
#index .logoImg .posTxt span {
	transform: rotate(90deg);
	display: block;
	color: rgba(218, 62, 59, 0.1);
}
#index .flowBox {
	padding: 12rem 0 13rem;
}
#index .flowBox .flowUl {
	gap: 3rem;
}
#index .flowBox .flowUl li {
	padding: 2.9rem 3.5rem;
	width: calc((100% - 6rem) / 3);
	font-size: 1.4rem;
	background: #fff;
	border: 1px solid #da3d3a;
	position: relative;
}
#index .flowBox .flowUl li::after {
	width: 1.8rem;
	height: 3rem;
	position: absolute;
	right: -1.2rem;
	top: 50%;
	transform: translateY(-50%);
	content: "";
	background: url(img/common/arrow_icon03.webp) no-repeat center top / 100%;
}
#index .flowBox .flowUl li:last-of-type::after {
	display: none;
}
#index .flowBox .flowUl .num {
	width: 13.7rem;
	position: absolute;
	right: 0;
	bottom: 0;
	font-weight: 600;
	font-size: 12rem;
	letter-spacing: 0.03em;
	line-height: 1;
	color: #da3d3a;
	opacity: 0.04;
	font-family: "Poppins", sans-serif;
	overflow: hidden;
	height: 9.8rem;
}
#index .flowBox li .img {
	margin: 0 auto 1.6rem;
	width: 14.2rem;
}
#index .flowBox li .ttl {
	margin-bottom: 0.4rem;
	font-size: 2rem;
	font-weight: 500;
	text-align: center;
	line-height: 1.5;
	letter-spacing: 0.03em;
}
#index .flowBox .headLine01 {
	margin-bottom: 4rem;
	text-align: center;
}
#index .contactBox {
	margin-bottom: 15.1rem;
}
#index .contactBox .headLine01 {
	margin-bottom: 1rem;
	font-size: 1.4rem;
	text-align: center;
	position: relative;
}
#index .contactBox a {
	display: block;
}
#index .contactBox a span {
	display: block;
}
#index .contactBox .headLine01 .jp {
	margin-top: 1.2rem;
	font-size: 1.4rem;
	font-weight: 400;
}
#index .contactBox .headLine01 .en {
	margin: 0 auto;
	font-size: 5rem;
}
#index .contactBox .headLine01.spec .jp {
	margin-top: 2.4rem;
	color: #222;
}
#index .contactBox .redBg {
	padding: 4.1rem 2rem 4.6rem;
	color: #fff;
	background: #da3d3a;
}
#index .contactBox .list > li {
	padding: 4.9rem 5rem 2rem;
	width: calc(50% - 0.5rem);
	border: 1px solid #d93d3a;
	position: relative;
}
#index .contactBox .newsUl {
	margin-top: 1.5rem;
}
#index .contactBox .newsUl a {
	padding: 2.1rem 0.8rem 1.8rem;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	border-bottom: 1px solid #b2b2b2;
	gap: 0.5rem 2rem;
}
#index .contactBox .newsUl span {
	display: block;
}
#index .contactBox .newsUl .time {
	display: block;
}
#index .contactBox .newsUl .mold {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	flex: 1;
	font-size: 1.2rem;
	line-height: 1;
	font-weight: 500;
}
#index .contactBox .newsUl .txt {
	width: 100%;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
#index .contactBox .newsUl .mold span {
	padding: 0.7rem 3.4rem;
	border: 1px solid #b2b2b2;
	border-radius: 4rem;
}
#index .contactBox .list .img {
	margin: 2.3rem auto 0;
	text-align: center;
}
#index .contactBox .list .img iframe {
	display: block;
	width: 100% !important;
	height: 100%;
	object-fit: cover;
}
#index .contactBox .ico {
	position: absolute;
	display: block;
	width: 3.1rem;
	height: 3.1rem;
	right: 2rem;
	bottom: 2rem;
	background: #fff;
	clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}
#index .contactBox li .ico {
	background: #d93d3a;
	z-index: 2;
}
#index .faqBox {
	padding: 13.1rem 0;
	background: linear-gradient(#dcf6f8 0%, rgba(255, 255, 255, 0) 100%);
}
#index .faqBox .headLine01 {
	margin-bottom: 5rem;
	text-align: center;
}
#index .faqBox .faqDl dl {
	padding-bottom: 1.2rem;
}
#index .faqBox .faqDl dl:last-child {
	border-bottom: 1px solid #b2b2b2;
}
#index .faqBox .faqDl dt,
#index .faqBox .faqDl dd {
	font-weight: 400;
	position: relative;
}
#index .faqBox .faqDl dt {
	padding: 2rem 4.8rem;
	border-top:  1px solid #b2b2b2;
	cursor: pointer;
}
#index .faqBox .faqDl dt::before {
	content: "";
	position: absolute;
	right: 3.2rem;
	top: 50%;
	transform: translateY(-43%) rotate(-135deg);
	width: 1.5rem;
	height: 1.5rem;
	border-left: 0.2rem solid #da3d3a;
	border-top: 0.2rem solid #da3d3a;
	transition: 0.3s;
}
#index .faqBox .faqDl dt.on::before {
	transform: translateY(-13%) rotate(45deg);
}
#index .faqBox .faqDl dd {
	padding: 0.4rem 4.8rem 1.9rem;
	display: none;
}
#index .faqBox .faqDl .en {
	position: absolute;
	display: block;
	left: 0.3rem;
	top: 1rem;
	font-size: 3rem;
	font-weight: 500;
	color: #da3e3b;
}
#index .faqBox .faqDl dd .en {
	top: 0;
	line-height: 1.65;
	color: #222;
}
@media all and (min-width: 897px) {
	#index .itemBox .newUl a:hover,
	#index .contactBox a:hover,
	#index .viewLink a:hover,
	#index .pickUp .slideBox a:hover,
	#index .pickUp .arrowList li:hover,
	#index .logoImg .linkBox a:hover {
		opacity: 0.7;
	}
	#index .whoBox .imgBox .dotList li:hover {
		opacity: 1;
	}
	#index .service .list li:nth-child(2n) {
		margin-top: 4.3rem;
	}
	#index .service .list li:nth-child(3n) {
		margin-top: 9.1rem;
	}
	#index .posLink {
		position: absolute;
		right: 0;
		top: 9.8rem;
	}	
	#index .service .list a:hover .hoverTxt {
		transform: translateY(0);
	}
}
@media all and (max-width: 896px) {
	#index .mainVisual {
		padding: 11.8rem 0 6.5rem;
	}
	#index .mainVisual::after {
		height: 95.7rem;
		background-image: url(img/index/main_bg_sp.webp);
	}
	#index .mainVisual .inner {
		width: 100%;
	}
	#index .mainVisual .mainImg {
		margin-bottom: 1.2rem;
		width: 100%;
		transform: none;
	}
	#index .mainVisual .pageTitle {
		margin: 0 2rem;
		font-size: 3.5rem;
		line-height: 1.2;
		letter-spacing: 0.01em;
	}
	#index .whoBox {
		margin-bottom: 6.5rem;
	}
	#index .whoBox .imgBox {
		margin-bottom: 6rem;
		display: block;
	}
	#index .whoBox .imgBox .slideBox {
		margin-bottom: 1.4rem;
		width: 100%;
	}
	#index .whoBox .imgBox .dotList {
		right: 1.3rem;
		bottom: 1.3rem;
		gap: 0.7rem;
	}
	#index .whoBox .imgBox .dotList li {
		width: 0.8rem;
		height: 0.8rem;
	}
	#index .whoBox .headLine01 {
		margin: 2.6rem 0 0.3rem;
	}
	#index .whoBox .headLine01 .en {
		font-size: 4rem;
		letter-spacing: 0.01em;
	}
	#index .whoBox .imgBox .heading {
		margin-bottom: 0.8rem;
		font-size: 2rem;
	}
	#index .whoBox .imgBox .textBox p {
		margin-bottom: 2rem;
	}
	#index .headLine01 {
		margin-bottom: 3.5rem;
	}
	#index .headLine01 .en {
		font-size: 4rem;
		letter-spacing: 0.01em;
	}
	#index .service {
		margin-bottom: 6.4rem;
	}
	#index .service .list {
		display: block;
	}
	#index .service .list li {
		width: 100%;
	}
	#index .service .list li + li {
		margin-top: 3.2rem;
	}
	#index .service .list .ttl {
		font-weight: 500;
		font-size: 2rem;
		letter-spacing: 0.08em;
		color: #da3d3a;
	}
	#index .service .list .txt {
		font-size: 1.6rem;
		line-height: 1.857;
	}
	#index .service .viewLink a {
		margin: 2.3rem 0 0 auto;
	}
	#index .pickUp {
		margin: 0 2rem;
		padding-bottom: 4.9rem;
	}
	#index .pickUp .content {
		margin: 0;
	}
	#index .ttlBox {
		justify-content: space-between;
	}
	#index .viewLink a {
		margin-left: auto;
	}
	#index .pickUp .arrowList {
		align-items: center;
		gap: 2.6rem;
	}
	#index .pickUp .arrowList li {
		width: 1.5rem;
		height: 2.7rem;
	}
	#index .pickUp .arrowList img {
		width: 100%;
	}
	#index .pickUp .slick-slide {
		margin-right: 2rem;
		width: 33rem;
	}
	#index .pickUp .slideBox {
		margin: 3.8rem 0 0;
	}
	#index .pickUp p {
		line-height: 1.75;
	}
	#index .pickUp .slick-slide .small {
		margin-top: 0.8rem;
		line-height: 1.714;
	}
	#index .pickUp .slick-slide .img {
		margin-bottom: 1.7rem;
	}
	#index .pickUp .textBox::before {
		top: 0.4rem;
		bottom: 0.2rem;
	}
	#index .pickUp .viewLink a {
		margin: 1.9rem 0 0 auto;
	}
	#index .itemBox {
  		padding: 6.4rem 0 5.9rem;
	}
	#index .itemBox .newUl {
		margin-top: 3.5rem;
		gap: 3rem 2rem;
		display: flex;
		flex-wrap: wrap;
	}
	#index .itemBox .newUl li {
		margin: 0;
		width: calc(50% - 1rem);
	}
	#index .itemBox .newUl .img {
		margin-bottom: 0.4rem;
	}
	#index .itemBox .newUl a {
		line-height: 1.642;
	}
	#index .itemBox .viewLink a {
		margin: 4.3rem 0 0 auto;
	}
	#index .bigImg {
		aspect-ratio: 390/197;
	}
	#index .bigImg img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	#index .comCategory {
		margin-top: -3rem;
	}
	#index .logoImg {
		padding: 4.6rem 0 6rem;
	}
	#index .logoImg .linkBox {
		margin: 0 auto;
		width: 39rem;
	}
	#index .logoImg .linkBox a {
		margin: 0 auto;
		width: fit-content;
	}
	#index .logoImg .list01 img {
		height: 4.6rem;
	}
	#index .logoImg .list01 {
		margin-bottom: 1.7rem;
		display: block;
	}
	#index .logoImg .linkBox .mar01 {
		margin: 2.2rem 0 1.1rem;
	}
	#index .logoImg .list02 {
		margin-bottom: 0.7rem;
		gap: 0.85rem 1.5rem;
	}
	#index .logoImg .list02 img {
		height: 4.75rem;
	}
	#index .logoImg .list03 .sp img {
		height: 4.75rem;
	}
	#index .logoImg .list03 {
		margin-bottom: 1rem;
		gap: 1rem 1.7rem;
	}
	#index .logoImg .list03 li {
		height: 4.8rem;
		overflow: hidden;
	}
	#index .logoImg .list03 img {
		height: 6.5rem;
	}
	#index .logoImg .list04 {
		gap: 1.5rem;
	}
	#index .logoImg .list04 img {
		height: 5.6rem;
	}
	#index .flowBox {
		padding: 6.6rem 0 6rem;
	}
	#index .flowBox .headLine01 {
		margin-bottom: 3.5rem;
	}
	#index .flowBox .flowUl {
		display: block;
	}
	#index .flowBox .flowUl li {
		padding: 2.1rem 3.5rem 3rem;
		width: 100%;
	}
	#index .flowBox .flowUl li + li {
		margin-top: 2rem;
	}
	#index .flowBox .flowUl .num {
		width: 14.5rem;
		height: 10rem;
	}
	#index .flowBox li .img {
		margin-bottom: 0.7rem;
		width: 12.4rem;
	}
	#index .flowBox li .ttl {
		margin-bottom: 0.5rem;
	}
	#index .flowBox li p {
		line-height: 2;
	}
	#index .flowBox .flowUl li::after {
		right: 50%;
		top: auto;
		bottom: -1.8rem;
		transform: translateX(50%) rotate(90deg);
	}
	#index .contactBox {
		margin-bottom: 7.1rem;
	}
	#index .contactBox .list > li {
		padding: 2.6rem 2rem 3.9rem;
		width: 100%;
	}
	#index .contactBox .list > li + li {
		margin-top: 1rem;
	}
	#index .contactBox .redBg {
		padding: 3.1rem 2rem 3.4rem;
	}
	#index .contactBox .headLine01 .en {
		font-size: 4rem;
	}
	#index .contactBox .headLine01 .jp {
		line-height: 1.785;
		letter-spacing: 0;
		margin-top: 1rem;
	}
	#index .contactBox .newsUl {
		margin-top: -0.7rem;
	}
	#index .contactBox .headLine01.spec .jp {
		margin-top: 0.7rem;
		text-align: left;
		line-height: 2;
	}
	#index .contactBox .list .img {
		margin: -0.5rem auto 0;
		width: auto;
		max-width: 34rem;
		min-height: 33.1rem;
	}
	#index .contactBox .ico {
		width: 2.3rem;
		height: 2.3rem;
		right: 1rem;
		bottom: 1rem;
	}
	#index .faqBox {
		padding: 6.5rem 0 6rem;
	}
	#index .faqBox .headLine01 {
		margin-bottom: 2.4rem;
	}
	#index .faqBox .faqDl .en {
		font-size: 2rem;
		left: 0.7rem;
		top: 1.7rem;
	}
	#index .faqBox .faqDl dt {
		padding: 1.4rem 2rem 1.2rem 3.3rem;
	}
	#index .faqBox .faqDl dd {
		padding: 0 1.3rem 1rem 3.3rem;
	}
	#index .faqBox .faqDl dt, #index .faqBox .faqDl dd {
		line-height: 1.875;
	}
	#index .faqBox .faqDl dl {
		padding-bottom: 1rem;
	}
	#index .faqBox .faqDl dd .en {
		top: 0.4rem;
	}
	#index .faqBox .faqDl dt::before {
		width: 1rem;
  		height: 1rem;
		right: 0.2rem;
		transform: translateY(-18%) rotate(-135deg);
	}
	#index .faqBox .faqDl dt.on::before {
		transform: translateY(40%) rotate(45deg);
	}
}
/*------------------------------------------------------------
    company
------------------------------------------------------------*/
#company #pagePath {
	margin-bottom: 10.1rem;
}
#company .bgBox {
    padding: 13rem 0 0;
    background: linear-gradient(45deg,#f2feff 0%, #fff 100%);
}
#company .linkUl {
	margin-bottom: 13rem;
	display: flex;
	flex-wrap: wrap;
	gap: 1.6rem 5rem;
}
#company .linkUl li {
	width: calc((100% - 10rem) / 3);
}
#company .linkUl a {
	padding: 2.1rem 3rem 2.1rem 1.9rem;
	display: block;
	font-weight: 500;
	letter-spacing: 0.03em;
	background: url(img/common/arrow_icon04.webp) no-repeat center right 1.3rem / 2.7rem;
	border-bottom: 1px solid #b2b2b2;
}
#company .tabBox table {
	width: 100%;
	border-collapse: collapse;
}
#company .tabBox th,
#company .tabBox td {
	padding: 1.7rem 1.5rem;
	text-align: left;
	letter-spacing: 0.03em;
	vertical-align: middle;
	color: #242526;
	border-bottom: 1px solid #b2b2b2;
}
#company .tabBox td {
	padding: 1.7rem 5rem;
}
#company .tabBox tr:first-of-type th,
#company .tabBox tr:first-of-type td {
	padding-top: 0;
}
#company .tabBox th {
	width: 18.97%;
	font-weight: 500;
	border-color: #da3e3b !important;
}
#company .mapBox {
	margin: 13rem 0 0;
	padding-bottom: 13rem;
	line-height: 1.875;
	letter-spacing: 0.03em;
}
#company .mapBox .map {
	aspect-ratio: 838/281;
	background: #ccc;
}
#company .mapBox .map iframe {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#company .mapBox .title {
	margin: 2.4rem 0 1.4rem;
	font-size: 2.5rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 1.5;
}
#company .history {
	margin-bottom: 21.4rem;
	background: linear-gradient(45deg,#fff 0%, #f2feff 100%);
}
#company .history .tabBox tr:first-of-type th,
#company .history .tabBox tr:first-of-type td {
	padding-top: 4.6rem;
	border-top: 1px solid #b2b2b2;
}
#company .history .tabBox tr:last-of-type th,
#company .history .tabBox tr:last-of-type td {
	border-bottom: none;
}
#company .history .tabBox th {
	padding: 4.6rem 0 4.6rem 1.5rem;
	font-size: 2.5rem;
	letter-spacing: 0.03em;
	font-weight: 600;
	color: #da3e3b;
	vertical-align: top;
	line-height: 0.96;
	font-family: "Poppins", sans-serif;
}
#company .history td {
	padding: 4.6rem 0rem 4.4rem 5rem;
}
#company .history td .image {
	width: 40.9rem;
}
#company .history td img {
	width: 100%;
}
#company .history .title {
	margin: 2.4rem 0 0.6rem;
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	color: #222;
}
#company .history p {
	line-height: 1.875;
}
#company .chartBox {
	padding: 12.8rem 0;
}
#company .chartBox .headLine02 {
	margin-bottom: 4.7rem;
}
#company .csrBox {
	padding: 13rem 0;
	background: linear-gradient(45deg,#fff 0%, #f2feff 100%);
}
#company .sdgsBox {
	margin-bottom: 22.6rem;
}
#company .sdgsBox .title {
	margin-bottom: 2.2rem;
	font-size: 2.5rem;
	font-weight: 500;
	letter-spacing: 0.08em;
}
#company .sdgsBox .list01 {
	margin-bottom: 6.3rem;
	gap: 2rem;
}
#company .sdgsBox .list01 li {
	width: calc((100% - 8rem) / 5);
}
#company .sdgsBox .list02 > li {
	padding-left: 4rem;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 5rem;
	position: relative;
}
#company .sdgsBox .list02 > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 1px;
	background: #da3e3b;
}
#company .sdgsBox .list02 > li + li {
	margin-top: 4.4rem;
}
#company .sdgsBox .list02 .txtBox {
	flex: 1;
	padding-bottom: 1rem;
}
#company .sdgsBox .list02 .pho {
	width: 12.6rem;
	aspect-ratio: 1/1;
}
#company .sdgsBox .list02 .pho img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#company .sdgsBox .ttl {
	margin-bottom: 1.2rem;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	display: flex;
	align-items: center;
}
#company .sdgsBox .ttl .col {
	font-size: 2.5rem;
	letter-spacing: 0;
	color: #d93d3a;
	font-weight: 500;
	line-height: 1;
}
#company .sdgsBox .ttl .num {
	margin: 0 2.4rem 0 0.7rem;
	font-size: 3.5rem;
	font-weight: 400;
	color: #d93d3a;
	line-height: 1;
	font-family: "Poppins", sans-serif;
}
#company .sdgsBox .subUl li {
	padding-left: 2.5rem;
	letter-spacing: 0.03em;
	line-height: 1.875;
	position: relative;
}
#company .sdgsBox .subUl li::before {
	width: 0.25rem;
	height: 0.25rem;
	position: absolute;
	left: 0.2rem;
	top: 0.6rem;
	content: "・";
	font-size: 1.3rem;
	line-height: 1.55;
}
#company .csrBox .photo {
	margin: 5.2rem 0 2.7rem;
	width: 40.9rem;
}
#company .csrBox p {
	line-height: 1.875;
	letter-spacing: 0.03em;
}
#company .csrBox .sub {
	margin-bottom: 7.7rem;
}
#company .csrBox .sub:last-of-type {
	margin-bottom: 0;
}
#company .csrBox .photoList {
	margin: 4.2rem 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
}
#company .csrBox .photoList li {
	width: 19.7rem;
}
#company .csrBox img {
	width: 100%;
}
#company .csrBox .photo02 {
	margin: 5rem 0 2.2rem;
	width: 45.3rem;
}
@media all and (min-width: 897px) {
	#company .linkUl a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	#company .linkUl {
		margin-bottom: 5.8rem;
		display: block;
	}
	#company .linkUl li {
		width: 100%;
	}
	#company .bgBox {
		padding: 5.8rem 0;
	}
	#company #pagePath {
		margin-bottom: 1.3rem;
	}
	#company .linkUl a {
		padding: 1.85rem 3rem 1.85rem 1.9rem;
	}
	#company .tabBox th,
	#company .tabBox td {
		padding: 0;
		display: block;
		width: 100%;
		line-height: 1.875;
		letter-spacing: 0.03em;
	}
	#company .tabBox th {
		padding-top: 2.1rem;
		border-bottom: none;
	}
	#company .tabBox tr:first-of-type td,
	#company .tabBox td {
		padding: 0.5rem 0 2.1rem;
	}
	#company .mapBox {
		margin: 6rem 0 0;
		background: linear-gradient(30deg,#f2feff 0%, #fff 100%);
	}
	#company .mapBox .map {
		width: 100%;
		aspect-ratio: 350/210;
	}
	#company .mapBox .title {
		margin: 2.2rem 0 0.7rem;
		font-size: 2rem;
	}
	#company .chartBox {
		padding: 5.7rem 0;
	}
	#company .chartBox .scroll {
		margin-right: -2rem;
		padding-bottom: 3.2rem;
		overflow: scroll;
	}
	#company .chartBox .image {
		width: 77.5rem;
	}
	#company .chartBox .image img {
		width: 100%;
	}
	#company .chartBox .headLine02 {
		margin-bottom: 2.3rem;
	}
	.simplebar-track.simplebar-horizontal .simplebar-scrollbar {
		top: 0;
		height: 100%;
	}
	.simplebar-track.simplebar-horizontal {
		right: 2rem;
		height: 3px;
		background: #d5d5d5;;
	}
	.simplebar-track.simplebar-horizontal .simplebar-scrollbar::before {
		left: 0;
		right: 0;
		background: #da3d3a;
		opacity: 1;
		border-radius: 0;
	}
	#company .history {
		margin-bottom: 5.9rem;
		padding-bottom: 3rem;
	}
	#company .history .headLine02 {
		margin-bottom: 2.4rem;
	}
	#company .history .tabBox tr:first-of-type th {
		padding-top: 2.3rem;
	}
	#company .history .tabBox tr:first-of-type td {
		padding-top: 0;
		border: none;
	}
	#company .history .tabBox th {
		padding: 2.3rem 0 2.4rem;
		font-size: 2rem;
		letter-spacing: 0.03em;
		position: relative;
		border-top: 1px solid #b2b2b2 !important;
	}
	#company .history .tabBox th::before {
		width: 10.6rem;
		height: 1px;
		content: "";
		position: absolute;
		left: 0;
		top: -1px;
		background: #da3e3b;
	}
	 #company .history .tabBox td {
		padding: 0 0 3.1rem !important;
		border: none;
	}
	#company .history td .image {
		width: 100%;
	}
	#company .history .title {
		margin: 1.6rem -0.6rem 0.1rem 0;
		letter-spacing: 0.03em;
	}
	#company .sdgsBox {
		margin-bottom: 6.2rem;
	}
	#company .sdgsBox .title {
		margin: 1.8rem 0 1.7rem;
		font-size: 2rem;
		line-height: 1.6;
	}
	#company .sdgsBox .list01 {
		margin-bottom: 4.3rem;
		gap: 0.8rem;
	}
	#company .sdgsBox .list01 li {
		width: calc((100% - 3.2rem) / 5);
	}
	#company .sdgsBox .list02 > li {
		padding-left: 2rem;
		display: block;
		position: relative;
	}
	#company .sdgsBox .ttl {
		margin: 0 7rem 0 0;
		flex-wrap: wrap;
	}
	#company .sdgsBox .ttl .col {
		font-size: 2rem;
	}
	#company .sdgsBox .ttl .num {
		font-size: 2.8rem;
	}
	#company .sdgsBox .ttl .txt {
		margin-top: 0.5rem;
		width: 100%;
		line-height: 1.6;
	}
	#company .sdgsBox .subUl li {
		padding-left: 2.2rem;
	}
	#company .sdgsBox .subUl li::before {
		width: auto;
		height: auto;
		top: 1.4rem;
		bottom: -0.2rem;
		line-height: 1;
	}
	#company .sdgsBox .list02 > li::before {
		top: -0.9rem;
	}
	#company .sdgsBox .list02 .pho {
		width: 6.3rem;
		position: absolute;
		right: 0;
		top: -5px;
	}
	#company .sdgsBox .list02 .txtBox {
		padding: 0;
	}
	#company .sdgsBox .list02 > li + li {
		margin-top: 3rem;
	}
	#company .csrBox {
  		padding: 5.7rem 0 6.2rem;
	}
	#company .csrBox .photo {
		margin: 1.9rem 0 1.1rem;
		width: 100%;
	}
	#company .csrBox .photo02 {
		width: 31rem;
    	margin: 2rem auto 1.1rem;
	}
	#company .csrBox .sub {
		margin-bottom: 3.9rem;
	}
	#company .csrBox .colum2 {
		margin: 2.2rem 1.8rem 0;
		justify-content: center;
		gap: 1.2rem;
	}
	#company .csrBox .colum2 li {
		width: calc(50% - 0.6rem) !important;
	}
	#company .csrBox .photoList {
		margin-top: 2.3rem;
		gap: 0.8rem;
	}
	#company .csrBox .photoList li {
		width: calc((100% - 1.6rem) / 3);
	}
}
/* pageTop */
.pageTop {
	display: none;
	position: fixed;
	right: 6rem;
	bottom: 9rem;
	z-index: 1000;
}
.pageTop a {
	width: 6rem;
	height: 6rem;
	border-radius: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #d8d3cc;
	box-sizing: border-box;
	background: #fff;
}
.pageTop a::after {
	width: 100%;
	height: 100%;
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	opacity: 0;
	transition: 0.3s;
	background: url(img/common/page_top_bg.webp) no-repeat center center / 100%;
}
.pageTop a img {
	width: 1.7rem;
	position: relative;
	z-index: 1;
	display: block;
	transform: rotate(180deg);
}
@media all and (min-width: 897px) {
	.pageTop a:hover::after {
		opacity: 1;
	}
}
@media all and (max-width: 896px) {
	.pageTop {
		right: 2.2rem;
	}
	.pageTop a {
		width: 5rem;
		height: 5rem;
	}
	.pageTop a img {
		width: 1.7rem;
	}
}