@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap');
@import url("https://use.typekit.net/kup6amd.css");
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	font-size: 1em;
}
html {
	font-size: 62.5%;
}
body, table, input, textarea, select, option {
	font-family: 'Noto Sans JP', sans-serif, 'Noto Serif JP', sans-serif;
}
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
	display: block;
}
ol, ul {
	list-style: none;
	box-sizing: border-box;
}
blockquote, q {
	quotes: none;
}
:focus {
	outline: 0;
}
ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}
img {
	vertical-align: top;
	max-width: 100%;
    height: auto;
}
a,
a:link {
	color: #191919;
	text-decoration: none;
}
a:hover {
	opacity: 0.7;
}
a:active {
	color: #191919;
}
/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	margin: 0 auto;
	color: #000;
	font-size: 1.6rem;
	line-height: 2.0;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background-color: #FFF;
}
body.fixed {
	position: fixed;
	top: 0;
	width: 100%;
}
.content {
	max-width: 980px;
	width: 95%;
	margin: 0 auto;
}
#container {
	position: relative;
	text-align: left;
	overflow: hidden;
}
#main {
	display: block;
}
a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}
@media all and (min-width: 897px) {
	.sp {
		display: none !important;
	}
}
@media all and (max-width: 896px) {
	body {
		min-width: inherit;
		font-size: 1.5rem;
	}
	.content {
		width: 90%;
	}
	a:hover,
	a:hover img {
		opacity: 1 !important;
	}
	.pc {
		display: none !important;
	}
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
}

/*------------------------------------------------------------
	共通
------------------------------------------------------------*/
.br-tb {
	display: none;
}
.br-sp {
	display: none;
}

@media screen and (max-width:896px) {
	.br-tb {
		display: block;
	}
	.tb-off {
		display: none;
	}
}
@media screen and (max-width:430px) {
	.br-sp {
		display: block;
	}
	.sp-off {
		display: none;
	}
}

.btn {
	max-width: 200px;
	width: 100%;
	display: grid;
	grid-template-columns: auto auto;
	justify-content: center;
	align-items: center;
	gap: 20px;
	color: #fff !important;
	background-color: #000;
	border-radius: 50vh;
	font-size: 1.5rem;
	padding: 10px 0;
	line-height: 1.5;
}
.btn span {
	width: 15px;
	height: 15px;
	position: relative;
	background-color: #fff;
	border-radius: 50%;
}
.btn span::before {
	content: "";
	position: absolute;
	left: 45%;
	top: 50%;
	transform: translate(-50%, -50%) rotate(45deg);
	width: 7px;
	height: 7px;
	border-right: 2px solid #000;
	border-top: 2px solid #000;
}


/*------------------------------------------------------------
	ローディング
------------------------------------------------------------*/
#splash {
	position: fixed;
	width: 100%;
	height: 100%;
	z-index: 1200;
	background: #fff;
	text-align:center;
}
#splash_logo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
#splash_logo img {
	width: 260px;
}

@keyframes fadeIn{
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

/*------------------------------------------------------------
	アニメーション
------------------------------------------------------------*/
.fadeInup {
	opacity: 0;
	visibility: hidden;
	transform: translate(0, 30px);
	transition: 1s;
}
.fadeInup.active {
	opacity: 1;
	visibility: visible;
	transform: translate(0, 0);
}


/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
.home #header .header_logo, .home #header .header_nav, .home #header .header_btn, .home .zdo_drawer_menu .zdo_drawer_button {
	opacity: 0;
}
#header .header_content {
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 1005;
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	padding: 0 87px 0 35px;
	transition: 0.3s;
}
#header .header_content.headerColorScroll {
	background-color: #fff;
	box-shadow: 0 1px 8px rgba(0,0,0,0.2);
}
#header .header_content.headerColorScroll.sp_menu_on {
	box-shadow: none;
}
#header .header_logo a h1 {
	font-size: 1.1rem;
	font-weight: normal;
	color: #fff;
	transition: 0.3s;
}
#header .header_logo.textColor a h1 {
	color: #333;
}
#header .header_logo a h1 img.bg_wh {
	display: none;
	transition: 0.3s;
}
#header .header_logo.textColor a h1 img.bg_wh {
	display: block;
}
#header .header_logo.textColor a h1 img.bg_bk {
	display: none;
}
#header .header_nav nav ul {
	display: flex;
	justify-content: center;
	gap: 50px;
}
#header .header_nav nav ul li a {
	font-size: 1.5rem;
	color: #fff;
}
#header .header_nav.textColor ul li a {
	color: #333;
}
#header .header_btn {
	display: flex;
}
#header .header_contact a {
	width: 87px;
	height: 87px;
	display: grid;
	align-content: center;
	justify-items: center;
	background-color: #1C99C9;
	color: #fff;
	font-size: 1.1rem;
}

@media screen and (max-width:1100px) {
	#header .header_nav nav ul {
		gap: 30px;
	}
	#header .header_nav nav ul li a {
		font-size: 1.4rem;
	}
}
@media screen and (max-width:1000px) {
	#header .header_content {
		grid-template-columns: auto auto;
		justify-content: space-between;
	}
	#header .header_nav {
		display: none;
	}
}
@media screen and (max-width:896px) {
	#header .header_content {
		padding: 0 63px 0 20px;
	}
	#header .header_logo {
		max-width: 175px;
	}
	#header .header_logo a h1 {
		font-size: 0.8rem;
	}
	#header .header_contact a {
		width: 63px;
		height: 63px;
		font-size: 0.7rem;
	}
	#header .header_contact a img {
		max-width: 35px;
	}
}
@media screen and (max-width:430px) {
	/* #header .header_content.sp_menu_on {
		box-shadow: none !important;
	}
	#header .header_content.sp_menu_on .header_logo a h1 {
		color: #333;
	} */
	/* #header .header_content.sp_menu_on .header_logo a h1 img.bg_wh {
		display: block;
	} */
	/* #header .header_content.sp_menu_on .header_logo a h1 img.bg_bk {
		display: none;
	} */
}

/*------------------------------------------------------------
	メインビジュアル
------------------------------------------------------------*/
#mainvisual .mainvisual_content {
	position: relative;
	background-color: #394448;
}
#mainvisual .mainvisual_slider {
	height: 100svh;
	overflow: hidden;
}
#mainvisual .mainvisual_slider img {
	height: 100%;
	width: 100%;
	object-fit: cover;
}
#mainvisual .mainvisual_slider .slide03 img {
	object-position: top;
	height: 90%;
}
#mainvisual .mainvisual_inner {
	position: absolute;
	left: 50%;
	bottom: 20px;
	transform: translate(-50%);
	z-index: 1;
	width: calc(100% - 40px);
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
#mainvisual .mainvisual_ttl h2 {
	font-size: clamp(1.8rem, 4vw, 2.8rem);
	font-weight: normal;
	color: #fff;
}
#mainvisual .mainvisual_ttl h2 svg {
	margin-top: 20px;
	height: clamp(10rem, 9vw, 15.3rem);
}
#mainvisual .mainvisual_news {
	width: fit-content;
	margin-bottom: 10px;
}
#mainvisual .mainvisual_news ul li a {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 10px;
	align-items: center;
	background-color: #fff;
	border-radius: 50vh;
	box-shadow: inset 3px 7px 5px rgba(0,0,0,.16);
	padding: 0 30px;
}
#mainvisual .mainvisual_news ul li a .inner {
	display: flex;
	gap: 1.8rem;
	padding: 10px 0;
}
#mainvisual .mainvisual_news ul li a .inner p {
	line-height: 1.5;
	font-size: clamp(1.3rem, 2.9vw, 1.5rem);
	white-space: nowrap;
}
#mainvisual .mainvisual_news ul li a span {
	background-color: #000;
	border-radius: 50%;
	width: 16px;
	height: 16px;
	position: relative;
}
#mainvisual .mainvisual_news ul li a span::before {
	content: "";
	width: 7px;
	height: 7px;
	border-right: 2px solid #fff;
	border-top: 2px solid #fff;
	position: absolute;
	left: 45%;
	top: 50%;
	transform: translate(-50%, -50%) rotate(45deg);
}

#mainvisual .mainvisual_slider, #mainvisual .mainvisual_ttl h2 span, #mainvisual .mainvisual_ttl h2 svg path, #mainvisual .mainvisual_ttl h2 svg polygon, #mainvisual .mainvisual_ttl h2 svg rect, #mainvisual .mainvisual_news {
	opacity: 0;
}

@media screen and (max-width:1080px) {
	#mainvisual .mainvisual_slider img {
		object-fit: contain;
	}
	#mainvisual .mainvisual_inner {
		width: 90%;
		gap: 40px;
		align-items: flex-start;
		flex-direction: column;
	}
	#mainvisual .mainvisual_ttl h2 svg {
		margin-top: 10px;
		height: min(14.3rem, 16vw);
	}
	#mainvisual .mainvisual_news {
		margin-bottom: 0;
		width: 100%;
	}
	#mainvisual .mainvisual_news ul li a {
		padding: 0 20px;
	}
}

/* 2行以上で無限スクロール */
#mainvisual .mainvisual_news ul li a .wrapper {
  overflow: hidden;
  white-space: nowrap;
  position: relative;
}
#mainvisual .mainvisual_news ul li a .wrapper.is-scrolling {
  display: flex !important;
}
#mainvisual .mainvisual_news ul li a .wrapper.is-scrolling .inner {
  padding-right: 50%;
}
#mainvisual .mainvisual_news ul li a .wrapper.is-scrolling .inner {
	flex-shrink: 0;
  animation: infinite-scroll 15s linear infinite;
}

@keyframes infinite-scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}


/*------------------------------------------------------------
	トップー会社案内
------------------------------------------------------------*/
#top_company {
	position: relative;
	overflow: hidden;
	background-color: #394448;
	margin-top: -1px;
}
#top_company .top_company-content {
	display: grid;
	grid-template-columns: auto auto;
	padding: 100px 0;
}
#top_company .top_company-left {
	padding-bottom: 65px;
	color: #fff;
	background-color: #394448;
	height: fit-content;
	position: relative;
}
#top_company .top_company-left::before {
	content: "";
	background-color: #fff;
	width: 100vw;
	height: 150%;
	position: absolute;
	left: 0;
	bottom: 0;
	transform: translate(0, 100%);
}
#top_company .top_company-left .inner {
	width: 80%;
	margin: 0 auto;
}
#top_company .top_company-left h2 {
	font-size: clamp(2.3rem, 5vw, 3.4rem);
	font-weight: normal;
	margin-bottom: 20px;
}
#top_company .top_company-left a {
	margin-top: 30px;
	max-width: 192px;
	padding-left: 15px;
}
#top_company .top_company-right {
	position: relative;
	z-index: 1;
	max-width: 621px;
	overflow: hidden;
}
#top_company .top_company-right .swiper-wrapper {
  transition-timing-function: linear;
}

@media screen and (max-width:896px) {
	#top_company .top_company-content {
		display: flex;
		flex-direction: column-reverse;
		gap: 30px;
		padding: 50px 0 70px;
	}
	#top_company .top_company-left {
		padding-bottom: 0;
	}
	#top_company .top_company-left::before {
		content: none;
	}
	#top_company .top_company-left .inner {
		width: 90%;
	}
	#top_company .top_company-left a {
		margin: 30px auto 0;
	}
	#top_company .top_company-right {
		max-width: 100%;
		margin-left: 5%;
	}
}

/*------------------------------------------------------------
	トップー7つの強み
------------------------------------------------------------*/
#top_strength {
	overflow: hidden;
}
#top_strength .top_strength-ttl {
	max-width: 821px;
	width: 90%;
	margin: 0 auto 50px;
}
#top_strength .top_strength-ttl h2 {
	position: relative;
	line-height: 1.0;
}
#top_strength .top_strength-ttl h2::before, #top_strength .top_strength-ttl h2::after {
	content: "";
	width: 100vw;
	height: 1px;
	background-color: #000;
	position: absolute;
}
#top_strength .top_strength-ttl h2::before {
	left: 0;
	top: 2px;
}
#top_strength .top_strength-ttl h2::after {
	right: 0;
	bottom: 2px;
}
#top_strength .top_strength-ttl p {
	margin-top: 10px;
	line-height: 1.0;
	text-align: right;
	font-size: clamp(1.8rem, 4vw, 2.4rem);
}
#top_strength .top_strength-item {
	margin: 100px 0;
}
#top_strength .top_strength-item .img {
	width: 100%;
}
#top_strength .top_strength-item .txt {
	margin: 0 auto;
}
#top_strength .top_strength-item .txt .ttl {
	margin-bottom: 30px;
}
#top_strength .top_strength-item .txt .ttl01 {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}
#top_strength .top_strength-item .txt .ttl02 {
	display: flex;
	flex-direction: column-reverse;
	align-items: flex-start;
	gap: 25px;
}
#top_strength .top_strength-item .txt .ttl03 {
	display: flex;
	flex-direction: row-reverse;
	justify-content: flex-end;
	align-items: flex-end;
	gap: 35px;
}
#top_strength .top_strength-item .txt .ttl h3 {
	font-size: clamp(2.4rem, 5vw, 3.2rem);
	line-height: 1.3;
	font-weight: 500;
}
#top_strength .top_strength-item .txt .ttl h3 span {
	position: relative;
}
#top_strength .top_strength-item .txt .ttl h3 span::before {
	content: "";
	width: 100%;
	height: 8px;
	position: absolute;
	bottom: 3px;
	z-index: -1;
	background-image: repeating-linear-gradient(-45deg, #43cbff, #43cbff 1px, transparent 1px, transparent 3px);
}

/* STRENGTH 1 */
#top_strength .top_strength-item01 {
	display: grid;
	grid-template-columns: 46% 54%;
	align-items: center;
}
#top_strength .top_strength-item01 .txt {
	width: 80%;
}
/* STRENGTH 2 */
#top_strength .top_strength-item02 {
	display: grid;
	grid-template-columns: 44% 56%;
	align-items: center;
}
#top_strength .top_strength-item02 .txt {
	width: 80%;
}
/* STRENGTH 3 4 */
#top_strength .top_strength-wrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	margin: -100px 0;
}
#top_strength .top_strength-item03 .txt, #top_strength .top_strength-item04 .txt {
	width: 80%;
	margin-top: 40px;
}
#top_strength .top_strength-item03 .txt p , #top_strength .top_strength-item04 .txt p {
	padding-left: 110px;
}
/* STRENGTH 5 */
#top_strength .top_strength-item05 {
	display: grid;
	grid-template-columns: 51% 49%;
	align-items: flex-end;
}
#top_strength .top_strength-item05 .txt {
	width: 80%;
}
/* STRENGTH 6 */
#top_strength .top_strength-item06 {
	display: grid;
	grid-template-columns: 44% 56%;
	align-items: flex-end;
}
#top_strength .top_strength-item06 .txt {
	width: 80%;
}
/* STRENGTH 7 */
#top_strength .top_strength-item07 .txt {
	display: grid;
	grid-template-columns: 1fr 1fr;
	padding: 50px;
}
#top_strength .top_strength-item07 .txt .ttl {
	height: fit-content;
}

@media screen and (max-width:896px) {
	#top_strength .top_strength-content {
		padding: 70px 0;
	}
	#top_strength .top_strength-item {
		margin: 45px 0;
	}
	#top_strength .top_strength-item .txt .ttl01 {
		display: flex;
		align-items: flex-end;
		justify-content: space-between;
	}
	#top_strength .top_strength-item .txt .ttl02 {
		display: flex;
		flex-direction: row;
		align-items: flex-end;
		justify-content: space-between;
		gap: 0;
	}
	#top_strength .top_strength-item .txt .ttl03 {
		display: flex;
		align-items: flex-end;
		justify-content: space-between;
		flex-direction: row;
		gap: 0;
	}
	#top_strength .top_strength-item .txt .ttl img {
		max-height: 60px;
	}
	/* STRENGTH 1 */
	#top_strength .top_strength-item01 {
		display: flex;
		flex-direction: column;
		gap: 35px;
	}
	#top_strength .top_strength-item01 .img {
		width: 95%;
		margin-right: auto;
	}
	#top_strength .top_strength-item01 .txt {
		width: 90%;
	}
	/* STRENGTH 2 */
	#top_strength .top_strength-item02 {
		display: flex;
		flex-direction: column-reverse;
		gap: 35px;
	}
	#top_strength .top_strength-item02 .img {
		width: 95%;
		margin-left: auto;
	}
	#top_strength .top_strength-item02 .txt {
		width: 90%;
	}
	/* STRENGTH 3 4 */
	#top_strength .top_strength-wrap {
		display: block;
		margin: 0;
	}
	#top_strength .top_strength-item03, #top_strength .top_strength-item04 {
		display: flex;
		flex-direction: column;
		gap: 35px;
	}
	#top_strength .top_strength-item03 .txt, #top_strength .top_strength-item04 .txt {
		width: 90%;
		margin-top: 0;
	}
	#top_strength .top_strength-item03 .txt p , #top_strength .top_strength-item04 .txt p {
		padding-left: 0;
	}
	/* STRENGTH 5 */
	#top_strength .top_strength-item05 {
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		gap: 35px;
	}
	#top_strength .top_strength-item05 .img {
		width: 95%;
		margin-right: auto;
	}
	#top_strength .top_strength-item05 .txt {
		width: 90%;
	}
	/* STRENGTH 6 */
	#top_strength .top_strength-item06 {
		display: flex;
		flex-direction: column-reverse;
		gap: 35px;	
	}
	#top_strength .top_strength-item06 .img {
		width: 95%;
		margin-left: auto;
	}
	#top_strength .top_strength-item06 .txt {
		width: 90%;
	}
	/* STRENGTH 7 */
	#top_strength .top_strength-item07 {
		display: flex;
		flex-direction: column;
		gap: 35px;
	}
	#top_strength .top_strength-item07 .txt {
		display: flex;
		flex-direction: column;
		padding: 0;
		width: 90%;
	}
	#top_strength .top_strength-item07 .img img {
		aspect-ratio: 1/0.901;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

/*------------------------------------------------------------
	トップー事業紹介
------------------------------------------------------------*/
#top_business .top_business-content {
	width: 95%;
	margin: 0 auto 100px;
}
#top_business .top_business-ttl {
	margin-bottom: 30px;
}
#top_business .top_business-ttl h2 {
	display: flex;
	align-items: flex-end;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.3;
	gap: 10px;
}
#top_business .top_business-ttl h2 svg {
	height: clamp(42px, 10vw, 55px);
}
#top_business .top_business-list ul {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 13px;
}
#top_business .top_business-list ul li a {
	position: relative;
	display: block;
}
#top_business .top_business-list ul li a .inner {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	color: #fff;
	text-align: center;
	width: 100%;
}
#top_business .top_business-list ul li a .inner h3 {
	font-size: 2.4rem;
}
#top_business .top_business-list ul li a .inner .btn {
	background-color: #384448;
	width: 177px;
	margin: 0 auto;
	padding-left: 20px;
}
#top_business .top_business-txt {
	margin-top: 50px;
	display: grid;
	grid-template-columns: 1fr 1fr;
}
#top_business .top_business-txt .left h3 {
	font-size: clamp(2.4rem, 5vw, 3.2rem);
	font-weight: 500;
	line-height: 1.3;
}
#top_business .top_business-txt a {
	background-color: #384448;
	margin-top: 25px;
	max-width: 177px;
	gap: 10px;
	padding-left: 10px;
}


@media screen and (max-width:896px) {
	#top_business .top_business-content {
		width: 100%;
		margin: 0 auto 100px;
	}
	#top_business .top_business-ttl {
		width: 90%;
		margin: 0 auto 30px;
	}
	#top_business .top_business-ttl h2 {
		flex-direction: column;
		align-items: flex-start;
	}
	#top_business .top_business-list ul {
		grid-template-columns: 1fr;
		gap: 6px;
	}
	#top_business .top_business-list ul li a img {
		aspect-ratio: 1/0.96;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	#top_business .top_business-txt {
		width: 90%;
		margin: 40px auto 0;
		grid-template-columns: 1fr;
		gap: 25px;
	}
	#top_business .top_business-txt a {
		margin: 25px auto 0;
	}
}

/*------------------------------------------------------------
	トップー品質保証
------------------------------------------------------------*/
#top_quality {
	background-color: #384448;
}
#top_quality .top_quality-content {
	position: relative;
	padding: 160px 0;
}
#top_quality .top_quality-ttl {
	position: absolute;
	left: 25px;
	bottom: 35px;
}
#top_quality .top_quality-ttl h2 {
	display: flex;
	flex-direction: column;
	gap: 20px;
	font-size: clamp(2.4rem, 4vw, 3.2rem);
	font-weight: 500;
	color: #fff;
	letter-spacing: 2px;
	line-height: 1.0;
}
#top_quality .top_quality-ttl h2 svg {
	height: 14.2rem;
}
#top_quality .top_quality-ttl h2 span {
	writing-mode: vertical-lr;
}
#top_quality .top_quality-txt {
	max-width: 575px;
	margin: 0 auto;
	text-align: center;
	color: #fff;
}
#top_quality .top_quality-txt h3 {
	font-size: clamp(2.6rem, 5vw, 3.2rem);
	font-weight: 500;
	margin-bottom: 20px;
}
#top_quality .top_quality-txt p {
	text-align: left;
}
#top_quality .top_quality-txt .btn {
	margin: 30px auto 0;
	max-width: 177px;
	gap: 10px;
	padding-left: 7px;
}
#top_quality .top_quality-img {
	position: absolute;
	right: 45px;
	top: 45px;
	max-width: 206px;
}
#top_quality .top_quality-img.sp_img {
	display: none;
}

@media screen and (max-width:1075px) {
	#top_quality .top_quality-content {
		padding: 25px 0 50px;
	}
	#top_quality .top_quality-ttl {
		position: relative;
		left: 0;
		bottom: 0;
		width: 95%;
		margin: 0 auto;
	}
	#top_quality .top_quality-ttl h2 {
		flex-direction: column-reverse;
		align-items: flex-start;
	}
	#top_quality .top_quality-ttl h2 svg {
		height: clamp(7.8rem, 20vw, 17rem);
	}
	#top_quality .top_quality-txt {
		max-width: 95%;
		margin-top: 50px;
	}
	#top_quality .top_quality-img {
		right: 0;
		top: auto;
		bottom: -20px;
		max-width: 110px;
		margin-right: calc(50% - 50vw);
	}
	#top_quality .top_quality-img.sp_img {
		display: block;
	}
	#top_quality .top_quality-img.pc_img {
		display: none;
	}
}
@media screen and (max-width:896px) {
	#top_quality .top_quality-ttl {
		width: 90%;
	}
	#top_quality .top_quality-txt {
		max-width: 90%;
	}
}

/*------------------------------------------------------------
	トップーリンク
------------------------------------------------------------*/
#top_link .top_link-content {
	padding: 75px 0 95px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 50px;
}
#top_link .top_link-item h2 {
	font-size: clamp(2.0rem, 4vw, 2.4rem);
	font-weight: 500;
	margin-top: 10px;
}
#top_link .top_link-item .btn {
	max-width: 177px;
	gap: 10px;
	padding-left: 5px;
	margin-top: 20px;
}

@media screen and (max-width:896px) {
	#top_link .top_link-content {
		padding: 50px 0 100px;
		grid-template-columns: 1fr;
		gap: 40px;
	}
	#top_link .top_link-item h2 {
		text-align: center;
	}
	#top_link .top_link-item .btn {
		margin: 20px auto 0;
	}
}

/*------------------------------------------------------------
	共通ー採用について
------------------------------------------------------------*/
#recruit_info {
	background-color: #1B99C9;
}
#recruit_info .recruit_info-content {
	padding: 100px 0;
}
#recruit_info .recruit_info-ttl {
	text-align: center;
	color: #fff;
	margin-bottom: 30px;
}
#recruit_info .recruit_info-ttl h2 {
	font-size: 2.4rem;
	font-weight: 500;
}
#recruit_info .recruit_info-ttl svg {
	margin-bottom: 5px;
	height: clamp(42px, 10vw, 68px);
}
#recruit_info .recruit_info-txt {
	color: #fff;
	text-align: center;
	margin-bottom: 30px;
}
#recruit_info .recruit_info-txt h3 {
	font-size: clamp(2.4rem, 5vw, 3.2rem);
	font-weight: normal;
}
#recruit_info .recruit_info-list ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
}
#recruit_info .recruit_info-list ul li {
	width: calc(100% / 3 - 14px);
}
#recruit_info .recruit_info-list ul li a {
	background-color: #161B1D;
	display: block;
	color: #fff;
	display: grid;
	grid-template-columns: auto 1fr;
	justify-content: center;
	gap: 30px;
	align-items: center;
	padding: 20px 25px;
	font-size: clamp(1.8rem, 4vw, 2rem);
	line-height: 1.3;
}
#recruit_info .recruit_info-list ul li a img {
	max-width: 89px;
}
#recruit_info .recruit_info-btn {
	margin-top: 30px;
}
#recruit_info .recruit_info-btn .btn {
	background-color: #DD4400;
	max-width: 265px;
	font-size: 1.8rem;
	margin: 0 auto;
	padding: 17px 0;
	font-weight: bold;
	justify-content: right;
	padding-right: 20px;
}
#recruit_info .recruit_info-btn .btn span {
	width: 21px;
	height: 21px;
}
#recruit_info .recruit_info-btn .btn span::before {
	border-color: #DD4400;
	width: 8px;
	height: 8px;
}

@media screen and (max-width:896px) {
	#recruit_info .recruit_info-content {
		padding: 60px 0;
	}
	#recruit_info .recruit_info-txt h3 {
		line-height: 1.3;
		margin-bottom: 20px;
	}
	#recruit_info .recruit_info-list ul {
		gap: 10px;
	}
	#recruit_info .recruit_info-list ul li {
		width: calc(100% / 2 - 5px);
	}
}
@media screen and (max-width:720px) {
	#recruit_info .recruit_info-list ul li {
		width: 100%;
		max-width: 400px;
	}
	#recruit_info .recruit_info-list ul li a {
		text-align: center;
	}
}

/*------------------------------------------------------------
	共通ーお問い合わせ
------------------------------------------------------------*/
#contact_info {
	background-color: #161B1D;
	color: #fff;
}
#contact_info .contact_info-content {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 100px;
	align-items: center;
	padding: 65px 0 100px;
}
#contact_info .contact_info-ttl h2 {
	font-size: clamp(1.8rem, 4vw, 2.4rem);
	font-weight: 500;
}
#contact_info .contact_info-ttl h2 svg {
	margin-bottom: 5px;
	height: clamp(42px, 10vw, 60px);
}
#contact_info .contact_info-txt h3 {
	font-size: clamp(1.6rem, 4vw, 2rem);
	font-weight: 500;
	margin-bottom: 20px;
}
#contact_info .contact_info-link h4 {
	font-weight: 500;
}
#contact_info .contact_info-link a img {
	margin: 10px 0;
}
#contact_info .contact_info-btn {
	margin-top: 30px;
}
#contact_info .contact_info-btn .btn {
	background-color: #DD4400;
	max-width: 265px;
	font-size: 1.8rem;
	padding: 17px 0;
	font-weight: bold;
	margin-top: 10px;
	padding-left: 15px;
}
#contact_info .contact_info-btn .btn span {
	background-color: transparent;
	width: 35px;
	height: 23px;
}
#contact_info .contact_info-btn .btn span::before {
	content: none;
}

@media screen and (max-width:896px) {
	#contact_info .contact_info-content {
		grid-template-columns: 1fr;
		gap: 45px;
		padding: 65px 0;
		text-align: center;
	}
	#contact_info .contact_info-btn .btn {
		margin: 10px auto 0;
	}
}

/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/

#footer .footer_content {
	display: flex;
	justify-content: space-between;
	padding: 50px 40px 150px 70px;
}
#footer .footer_left {
	display: flex;
	gap: 140px;
}
#footer .footer_nav ul {
	display: grid;
	grid-template-rows: 1fr 1fr 1fr;
	grid-auto-flow: column;
	width: fit-content;
	gap: .5rem 3em;
	font-size: 1.4rem;
}
#footer .footer_logo{
	text-align: right;
}
#footer .footer_logo a h1 {
	font-size: 1.1rem;
	font-weight: normal;
}
#footer .footer_link {
	text-align: right;
	font-size: 1.4rem;
	margin: 25px 0;
}
#footer .footer_copy {
	text-align: right;
	font-size: 1.4rem;
}

@media screen and (max-width:896px) {	
	#footer .footer_content {
		width: 90%;
		margin: 0 auto;
		padding: 50px 0 135px;
		flex-direction: column;
		gap: 75px;
	}
	#footer .footer_left {
		flex-direction: column;
		gap: 50px;
		margin: 0 auto;
	}
	#footer .footer_nav ul {
    width: 100%;
    justify-content: space-between;
	}
	#footer .footer_logo {
		text-align: center;
	}
	#footer .footer_link {
		text-align: center;
	}
	#footer .footer_copy {
		text-align: center;
	}
}



/*------------------------------------------------------------
	下層ー共通
------------------------------------------------------------*/
#sec_top .sec_top-ttl {
	padding: 240px 40px 40px;
	background: linear-gradient(to right, #394448 50%, #283033 50%);
	color: #fff;
}
#sec_top .sec_top-ttl h1 {
	font-size: clamp(1.8rem, 4vw, 2.0rem);
	font-weight: normal;
}
#sec_top .sec_top-ttl h1 svg {
	margin-top: 10px;
	height: clamp(48px, 10vw, 91px);
}
.anime_ttl svg path, .anime_ttl svg polygon, .anime_ttl svg rect {
	opacity: 0;
}
#sec_top .sec_top-pankuzu {
	width: 95%;
	margin: 20px auto 50px;
}
#sec_top .sec_top-pankuzu ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	font-size: 1.2rem;
}

#sec_middle .sec_middle-wrapper h2 {
	font-size: clamp(2.0rem, 6vw, 4.0rem);
	line-height: 1.3;
}
#sec_middle .sec_middle-inner {
	display: flex;
	align-items: flex-end;
	gap: min(190px, 15vw);
}
#sec_middle .sec_middle-item {
	width: calc(100% - 80px);
}
#sec_middle .sec_middle-item.txt p {
	margin-bottom: 30px;
}
#sec_middle .sec_middle-item.txt p:last-child {
	margin-bottom: 0;
}
.sec_ttl h2 {
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.0;
	display: flex;
	align-items: flex-end;
	gap: 10px;
}
.sec_ttl h2 img {
	height: clamp(42px, 10vw, 53px);
}

@media screen and (max-width:896px) {
	#sec_top .sec_top-ttl {
		padding: 120px 5% 20px;
	}
	#sec_middle .sec_middle-wrapper h2 {
		margin-bottom: 10px;
	}
	#sec_middle .sec_middle-inner {
		gap: 10px;
		flex-wrap: wrap;
	}
	#sec_middle .sec_middle-item {
		width: 100%;
	}
	.sec_ttl h2 {
		flex-direction: column;
		align-items: flex-start;
	}
	#sec_middle .sec_middle-item.txt p{
		margin-bottom: 20px;
	}
}

/*------------------------------------------------------------
	下層ー会社案内
------------------------------------------------------------*/
#company .sec_middle-item.img > img {
	max-width: 553px;
	width: 100%;
	margin-bottom: 15px;
}
#company .sec_middle-item .name {
	display: flex;
	flex-wrap: wrap;
	align-items: center; 
	font-size: 20px;
}
#company .sec_middle-item .name.sp_txt {
	display: none;
}
#company .sec_middle-item .name span {
	margin-right: 30px;
	font-size: 14px;
}
#company .company_content {
	max-width: 95%;
	margin: 0 auto;
}
#company .company_item {
	margin: 150px 0;
}

#company #philosophy .philosophy_item {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-top: 80px;
	gap: 30px;
}
#company #philosophy .philosophy_ttl {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: flex-end;
	gap: 50px;
}
#company #philosophy .philosophy_ttl .border {
	aspect-ratio: 1/1;
	width: min(280px, 20vw);
	height: min(280px, 20vw);
	display: block;
	position: relative;
	background-image: linear-gradient(to left top, transparent 50%, #333 50%, #333 calc(50% + 1px), transparent calc(50% + 1px))
}
#company #philosophy .philosophy_ttl h3 {
	font-size: clamp(1.8rem, 4vw, 2.6rem);
	font-weight: 500;
	line-height: 1.0;
	display: flex;
	align-items: flex-end;
}
#company #philosophy .philosophy_ttl h3 span {
	writing-mode: vertical-rl;
	font-size: clamp(5rem, 10vw, 11rem);
	margin: 0 20px 0 0;
	white-space: nowrap;
}
#company #philosophy .philosophy_txt {
	width: calc(50% - 80px);
}

#company #number .number_list {
	margin-top: 50px;
}
#company #number .number_list ul {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
}
#company #number .number_list ul li {
	color: #fff;
	text-align: center;
	aspect-ratio: 1/0.862;
	width: 100%;
	height: 100%;
	display: grid;
	align-content: center;
	justify-content: center;
}
#company #number .number_list ul li:nth-child(odd) {
	background-color: #384448;
}
#company #number .number_list ul li:nth-child(even) {
	background-color: #283033;
}
#company #number .number_list ul li p {
	font-size: clamp(1.4rem, 3vw, 2.0rem);
	min-height: clamp(4rem, 11vw, 8rem);
	line-height: 1.5;
}
#company #number .number_list ul li h3 {
	font-size: clamp(1.8rem, 4vw, 4.0rem);
	line-height: 1.0;
}
#company #number .number_list ul li h3 span {
	font-size: clamp(4rem, 15vw, 10rem);
	font-family: "le-havre", sans-serif;
	font-weight: normal;
}

#company #overview .overview_table {
	max-width: 1000px;
	margin-left: auto;
	margin-top: 35px;
}
#company #overview .overview_table table {
	width: 100%;
	border-spacing: 0;
}
#company #overview .overview_table table th, #company #overview .overview_table table td {
	padding: 20px 0;
}
#company #overview .overview_table table th {
	width: clamp(110px, 25vw, 240px);
	border-top: 1px solid #707070;
	font-weight: normal;
	vertical-align: text-top;
	line-height: 1.5;
}
#company #overview .overview_table table td {
	border-top: 1px solid #C1C1C1;
	padding-left: 40px;
}
#company #overview .overview_table table td p {
	margin-bottom: 30px;
}

/* ボタンの配置（中央寄せなど） */
.calendar_btn_area {
    margin: 10px 0;
}

/* ボタン本体のデザイン */
.calendar_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #DD4400; /* 指定のオレンジ色 */
    color: #fff !important;    /* 文字色を白に強制 */
    font-weight: bold;
    text-decoration: none;
    padding: 15px 40px;        /* ボタンの大きさ（上下 左右） */
    border-radius: 50px;       /* 丸みをつける */
    transition: all 0.3s ease;
    line-height: 1.2;
}

/* PDFアイコン（CSSで描画） */
.calendar_btn::before {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-right: 10px; /* アイコンと文字の隙間 */
    /* 白いドキュメントアイコンのSVGデータ */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'%3E%3C/path%3E%3Cpolyline points='14 2 14 8 20 8'%3E%3C/polyline%3E%3Cline x1='16' y1='13' x2='8' y2='13'%3E%3C/line%3E%3Cline x1='16' y1='17' x2='8' y2='17'%3E%3C/line%3E%3Cpolyline points='10 9 9 9 8 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

/* ホバー時の動き */
.calendar_btn:hover {
    background-color: #b33600; /* ホバー時に少し暗くする */
    opacity: 1;
}


@media screen and (max-width:896px) {
	#company .company_content {
		max-width: 90%;
		margin: 0 auto;
	}
	#company .company_item {
    margin: 75px 0;
	}
	#company .sec_middle-item.img > img {
		max-width: 100%;
	}
	#company .sec_middle-item .name.pc_txt {
		display: none;
	}	
	#company .sec_middle-item .name.sp_txt {
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		gap: 0;
	}
	#company .sec_middle-item .name span {
		margin-right: 0;
	}

	#company #philosophy .philosophy_item {
		flex-direction: column;
		margin-top: 50px;
		gap: 30px;
	}
	#company #philosophy .philosophy_ttl {
		width: 100%;
		gap: 20px;
	}
	#company #philosophy .philosophy_ttl h3 span {
		margin-right: 15px;
	}
	#company #philosophy .philosophy_ttl .border {
		width: max(50px, 15vw);
		height: max(50px, 15vw);
	}
	#company #philosophy .philosophy_txt {
		width: 100%;
	}
	#company #number .number_list ul {
		grid-template-columns: 1fr 1fr;
		display: block;
	}
	#company #number .number_list ul li:nth-child(1), #company #number .number_list ul li:nth-child(3), #company #number .number_list ul li:nth-child(5) {
		background-color: #384448;
	}
	#company #number .number_list ul li:nth-child(2), #company #number .number_list ul li:nth-child(4), #company #number .number_list ul li:nth-child(6) {
		background-color: #283033;
	}

	#company #overview .overview_table table th, #company #overview .overview_table table td {
		padding: 15px 0;
	}
	#company #overview .overview_table table td {
		padding-left: 15px;
	}
}



/*------------------------------------------------------------
	下層ー拠点紹介
------------------------------------------------------------*/
#base .base_content {
	max-width: 95%;
	margin: 0 auto;
}
#base .base_item {
	margin: 50px 0 150px;
}
#base .base_item:last-child {
	margin: 120px 0 150px;
}
#base .base_inner {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: flex-end;
	gap: 75px;
}
#base .base_inner .img  {
	margin-left: -6%;
}
#base .base_inner .img img {
	aspect-ratio: 1/0.741;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#base .base_inner .txt h3 {
	font-size: 2.0rem;
	font-weight: normal;
	line-height: 1.5;
}
#base .base_inner .txt h4 {
	font-size: 2.4rem;
	line-height: 1.5;
	margin: 20px 0;
}
#base .base_inner .txt a {
	margin-top: 20px;
	background-color: #384448;
	padding-left: 10px;
}
#base .base_table {
	max-width: 1000px;
	margin: 50px auto 0;
}
#base .base_table table {
	width: 100%;
	border-collapse: collapse;
}
#base .base_table table th, #base .base_table table td {
	line-height: 1.3;
	padding: 20px 10px;
	text-align: center;
}
#base .base_table table th {
	color: #fff;
	font-weight: normal;
	border: 1px solid #4C5A60;
	background-color: #283033;	
}
#base .base_table table td {
	border: 1px solid #EBEBEB;
	min-width: 100px;
}
#base .base_table table tr:nth-child(1) th {
	border: none;
}
#base .base_table table tr:nth-child(1) th:last-child {
	background-color: #384448;
}
#base .base_table table tr:nth-child(even) td {
	background-color: #EBEBEB;
}
#base .base_table table tr:nth-child(odd) td {
	background-color: #fff;
}


@media screen and (max-width:896px) {
	#base .base_content {
		max-width: 90%;
	}
	#base .base_inner {
    grid-template-columns: 1fr;
    gap: 30px;
	}
	#base .base_inner .img {
    margin-left: calc(50% - 50vw);
	}
}

/*------------------------------------------------------------
	下層ー事業案内
------------------------------------------------------------*/
#business #sec_top .sec_top-ttl {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
#business .page_menu.sp_menu {
	display: none;
}
#business .page_menu ul {
	display: flex;
	justify-content: space-between;
	gap: 10px;
}
#business .page_menu ul li a {
	width: 172px;
	background-color: #6A6A6A;
	font-size: 1.3rem;
	padding-left: 16px;
}
#business .page_menu ul li a span {
	background-color: #384448;
}
#business .page_menu ul li a span::before {
	border-color: #6A6A6A;
	left: 50%;
	top: 45%;
	width: 6px;
	height: 6px;
	transform: translate(-50%, -50%) rotate(135deg);
}

#business #sec_middle .sec_middle-item {
	width: calc(50% - 80px);
	margin-left: auto;
}
#business .business_content {
	max-width: 95%;
	margin: 0 auto;
}
#business #stator.business_item {
	margin-top: 50px;
}
#business .business_item {
	margin-bottom: 150px;
}
#business .business_ttl {
	position: relative;
	margin: 0 calc(50% - 50vw);
}
#business .business_ttl-inner {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	color: #fff;
	width: 100%;
}
#business .business_ttl-inner h2 {
	font-size: clamp(1.6rem, 4vw, 2.0rem);
	font-weight: normal;
}
#business .business_ttl-inner h2 img {
	margin-top: 10px;
}
#business .business_txt {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
	margin: 50px 0;
}
#business .business_txt .ttl h3 {
	font-size: clamp(2.2rem, 5vw, 2.6rem);
	font-weight: 500;
	line-height: 1.5;
}
#business .business_img {
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin: 70px 0;
}
#business #coil .business_img {
	gap: 40px;
}
#business .business_product {
	border: 8px solid #E8E8E8;
	padding: 50px;
}
#business .business_product h4 {
	text-align: center;
	font-size: clamp(2.0rem, 4vw, 2.2rem);
	margin-bottom: 30px;
}
#business .business_product ul {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	justify-content: center;
	gap: 30px;
}
#business .business_product ul li {
	text-align: center;
}
#business .business_product ul li img {
	max-width: 234px;
	width: 100%;
	margin-bottom: 20px;
}
#business .business_product ul li p {
	font-size: 1.4rem;
	line-height: 1.8;
}
#business .business_feature {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 100px;
	margin: 100px 0;
}
#business .business_feature-item {
	margin-bottom: 50px;
}
#business .business_feature-item:last-child {
	margin-bottom: 0;
}
#business .business_feature-item h3 {
	font-size: clamp(2.2rem, 5vw, 2.6rem);
	font-weight: 500;
	line-height: 1.8;
	margin-bottom: 20px;
}
#business .business_feature-item h4 {
	font-size: clamp(1.8rem, 4vw, 2rem);
	font-weight: 500;
	width: fit-content;
	border-bottom: 4px solid #000;
	margin-bottom: 17px;
}
#business .business_feature-item img {
	margin-top: 30px;
}
#business .business_feature-item ul li {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: baseline;
	gap: 15px;
}
#business .business_feature-item ul li span {
	background-color: #000;
	width: 17px;
	height: 17px;
	border-radius: 50%;
	display: block;
	position: relative;
	transform: translate(0, 3px);
}
#business .business_feature-item ul li span::before {
	content: "!";
	color: #fff;
	font-size: 0.9rem;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}
#business .business_feature .right {
	margin-right: calc(100% - 50vw + 50px);
}

@media screen and (max-width:1175px) {
	#business .page_menu.pc_menu {
		display: none;
	}
	#business .page_menu.sp_menu {
		display: block;
	}
	#business .page_menu {
		margin-bottom: 75px;
	}
	#business .page_menu ul {
		justify-content: center;
		gap: 30px;
		flex-wrap: wrap;
	}
}
@media screen and (max-width:896px) {
	#business #sec_middle .sec_middle-item {
		width: 100%;
	}
	#business .business_content {
		max-width: 90%;
		margin: 0 auto;
	}
	#business .business_item {
		margin-bottom: 75px;
	}
	#business .business_ttl-inner img {
		height: clamp(40px, 10vw, 65px);
	}
	#business .business_txt {
    grid-template-columns: 1fr;
	}
	#business .business_img {
		margin: 50px 0;
	}
	#business .business_feature {
		display: flex;
		flex-direction: column-reverse;
		gap: 30px;
		margin: 50px 0;
	}
	#business .business_feature .right {
    margin-right: calc(50% - 50vw);
	}
	#business .business_product {
		padding: 50px 25px;
	}
	#business .business_product ul {
		grid-template-columns: 1fr;
		gap: 50px;
	}
	#business .business_product ul li img {
		margin-bottom: 10px;
	}
}
@media screen and (max-width:430px) {
	#business .page_menu ul {
		flex-direction: column;
		gap: 10px;
	}
	#business .page_menu ul li a {
		width: 100%;
		margin: 0 auto;
	}
}

/*------------------------------------------------------------
	下層ーCSR
------------------------------------------------------------*/
#csr .csr_content {
	max-width: 95%;
	margin: 0 auto;
}
#csr #sec_middle .sec_middle-item {
	width: calc(50% - 80px);
	margin-left: auto;
}
#csr .sdgs_img {
	max-width: 1000px;
	margin: 100px auto;
}
#csr .csr_item {
	margin: 100px 0;
}
#csr #policy .policy_txt {
	width: 52%;
	margin-top: 50px;
	margin-bottom: 20px;
}
#csr #policy .policy_list {
	max-width: 840px;
	margin-left: auto;
}
#csr #policy .policy_list ul li {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 20px;
	padding: 50px 0;
	border-bottom: 1px solid #C3C3C3;
}
#csr #policy .policy_list ul li:last-child {
	display: block;
	border-bottom: 0;
}
#csr #policy .policy_list ul li .number {
	width: 53px;
}
#csr #policy .policy_list ul li .grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
	margin-top: 30px;
}
#csr #policy .policy_list ul li .grid h3 {
	font-weight: normal;
	font-size: 2.0rem;
	margin-bottom: 5px;
}
#csr #activities .activities_txt {
	margin: 50px 0 30px;
}
#csr #activities .activities_img {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}
#csr #partner .partner_txt p {
	margin: 50px 0 35px;
}
#csr #partner .partner_txt > img {
	max-width: 285px;
	margin-bottom: 30px;
}
#csr #partner .partner_txt a {
	background-color: #384448;
	padding-left: 15px;
}
#csr #partner .partner_txt a img {
	width: 19px;
}

@media screen and (max-width:896px) {
	#csr .csr_content {
		max-width: 90%;
	}

	#csr #sec_middle .sec_middle-item {
		width: 100%;
	}
	#csr .sdgs_img {
		margin: 50px auto;
	}
	#csr .csr_item {
		margin: 75px 0;
	}
	#csr #policy .policy_list ul li .grid {
		grid-template-columns: 1fr;
		gap: 15px;
	}
	#csr #policy .policy_txt {
		width: 100%;
	}
}

/*------------------------------------------------------------
	下層ー品質管理
------------------------------------------------------------*/
#quality .quality_content {
	max-width: 95%;
	margin: 0 auto;
}
#quality #sec_middle .sec_middle-item {
	width: calc(50% - 80px);
	margin-left: auto;
}
#quality .quality_item {
	margin: 100px 0;
}
#quality #check .check_txt {
	width: 52%;
	margin: 45px 0;
}
#quality #check .check_list {
	max-width: 840px;
	margin-left: auto;
	margin-bottom: 85px;
}
#quality #check .check_list ul li {
	padding: 30px 0;
	border-bottom: 1px solid #C3C3C3;
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 30px;
}
#quality #check .check_list ul li .number {
	width: 60px;
}
#quality #check .check_img {
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin: 0 calc(50% - 50vw);
}

#quality #pdca .pdca_txt {
	width: 52%;
	margin: 45px 0;
}
#quality #pdca .pdca_list {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 50px;
}
#quality #pdca .pdca_list img {
	max-width: min(650px, 50vw);
	width: 100%;
}

#specification .specification_txt {
	margin-left: auto;
	margin-top: 75px;
	width: 50%;
}
#specification .specification_txt img {
	max-width: 430px;
	width: 100%;
	margin-bottom: 30px;
}

@media screen and (max-width:896px) {
	#quality .quality_content {
		max-width: 90%;
	}
	#quality #sec_middle .sec_middle-item {
		width: 100%;
	}
	#quality .quality_item {
		margin: 75px 0;
	}
	#quality #check .check_txt {
		width: 100%;
		margin-bottom: 20px;
	}
	#quality #check .check_list {
		margin-bottom: 50px;
	}
	#quality #pdca .pdca_txt {
		width: 100%;
	}
	#quality #pdca .pdca_list {
		grid-template-columns: 1fr;
		justify-items: center;
		gap: 30px;
	}
	#quality #pdca .pdca_list img {
    max-width: 650px;
	}
	#specification .specification_txt {
		width: 100%;
		margin-top: 25px;
	}
	#quality #check .check_img {
	display: block;
}
#quality #pdca .pdca_txt {
	margin: 12px 0;
}
}

/*------------------------------------------------------------
	下層ー採用情報
------------------------------------------------------------*/
#recruit .recruit_content {
	max-width: 95%;
	margin: 0 auto;
}
#recruit #sec_middle .sec_middle-item {
	width: calc(50% - 80px);
	margin-left: auto;
}
#recruit .recruit_list {
	margin: 50px 0 80px;
}
#recruit .recruit_list ul.grid01 {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 20px;
	margin-bottom: 20px;
}
#recruit .recruit_list ul.grid02 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}
#recruit .recruit_list ul li a {
	background-color: #283033;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 15px;
	padding: 45px;
}
#recruit .recruit_list ul.grid02 li a {
	display: grid;
	grid-template-columns: auto 1fr;	
}
#recruit .recruit_list ul li a img {
	width: 100%;
	border-radius: 39px;
}
#recruit .recruit_list ul.grid01 li a img {
	max-width: 275px;
}
#recruit .recruit_list ul.grid02 li a img {
	max-width: 147px;
}
#recruit .recruit_list ul li a h3 {
	color: #fff;
	font-size: clamp(22px, 4vw, 26px);
	font-weight: 500;
}
#recruit .recruit_list ul li a .btn {
	background-color: #1B99C9;
	border: 0;
	max-width: 234px;
	position: relative;
	text-align: center;
	display: block;
}
#recruit .recruit_list ul li a .btn span {
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translate(-50%, -50%);
}
#recruit .recruit_list ul li a .btn span::before {
	border-color: #1B99C9;
}
#recruit .recruit_list ul li a .inner {
	text-align: center;
	width: 100%;
}
#recruit .recruit_list ul li a .inner .btn {
	margin: 15px auto 0;
}

@media screen and (max-width:896px) {
	#recruit .recruit_content {
		max-width: 90%;
	}
	#recruit #sec_middle .sec_middle-item {
		width: 100%;
	}
	#recruit .recruit_list ul li a {
    padding: 45px 25px;
	}
	#recruit .recruit_list ul.grid01 {
		grid-template-columns: 1fr;
	}
	#recruit .recruit_list ul.grid02 {
		grid-template-columns: 1fr;
	}
	#recruit .recruit_list ul.grid02 li a img {
		max-width: 275px;
	}
	#recruit .recruit_list ul.grid02 li a {
    display: flex;
	}

}


#entry_btn {
	text-align: center;
}
#entry_btn a.btn {
	margin: 40px auto 100px;
	background-color: #DD4400;
	font-size: 2.2rem;
	max-width: 341px;
	padding: 22px 0 22px 40px;
	font-weight: 500;
}
#entry_btn a.btn span {
	width: 27px;
	height: 27px;
}
#entry_btn a.btn span:before {
	border-color: #DD4400;
	border-width: 3px;
	width: 11px;
	height: 11px;
}

@media screen and (max-width:430px) {
	#entry_btn a.btn {
    font-size: 2rem;
    max-width: 300px;
    padding: 15px 0 15px 30px;
	}
}

/*------------------------------------------------------------
	下層ー数字で見る山市電機
------------------------------------------------------------*/
#recruit #number .number_list {
	width: 100%;
	margin: 80px 0;
}
#recruit #number .number_list ul {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 0;
}
#recruit #number .number_list ul li {
	border: 6px solid #384448;
	padding: 40px 30px 20px;
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	margin-right: 20px;
}
#recruit #number .number_list ul li.w01 {
	width: calc(100% / 3 - 20px);
}
#recruit #number .number_list ul li.w02 {
	width: calc(100% / 3 * 2 - 20px);
}
#recruit #number .number_list ul li.w03 {
	width: 100%;
}
#recruit #number .number_list ul li:last-child p {
	text-align: left;
	font-size: 20px;
}
#recruit #number .number_list ul li .liketext{
	font-size: 20px;
}
#recruit #number .number_list ul li h4 {
	background-color: #384448;
	color: #fff;
	font-size: 20px;
	max-width: 208px;
	width: 100%;
	margin: 0 auto 30px;
	padding: 5px 0;
}
#recruit #number .number_list ul li img {
	margin: 0 auto;
	width: 100%;
}
#recruit #number .number_list ul li .number_item h3 {
	font-size: clamp(2rem, 2vw, 2.8rem);
}
#recruit #number .number_list ul li .number_item .number {
	font-size: clamp(5rem, 7vw, 9rem);
	line-height: 1.2;
	font-family: "le-havre", sans-serif;
}
#recruit #number .number_list ul li .number_item .number.fs50 {
	font-size: clamp(3rem, 4vw, 5rem);
}
#recruit #number .number_list ul li .number_item .number.fs60 {
	font-size: clamp(4rem, 5vw, 6rem);
}
#recruit #number .number_list ul li .number_item .number.fs70 {
	font-size: clamp(5rem, 6vw, 7rem);
}


#recruit #number .number_list ul li .number_grid01 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}
#recruit #number .number_list ul li .number_grid02 {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 20px;
}

#recruit #number .number_list ul li .line_graph {
	display: flex;
	align-items: center;
	gap: 30px;
	height: 50px;
}
#recruit #number .number_list ul li .line_graph p {
	width: 130px;
	text-align: right;
	font-size: 16px;
	font-weight: 500;
}
#recruit #number .number_list ul li .line_graph .line {
	background-color: #384448;
	height: 25px;
	width: 100%;
}
#recruit #number .number_list ul li .line_graph .line.on {
	animation-name: lineAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}

@keyframes lineAnime {
  0% {
    transform-origin: left;
    transform: scaleX(0);
  }
  100% {
		transform-origin: left;
    transform: scaleX(1);
  }
}
.number_list ul li .line_graph01 p {
	font-size: clamp(1.8rem, 4vw, 2rem);
	line-height: 1.3;
}
#recruit #number .number_list ul li .line_graph01 h3 {
	font-size: clamp(1.8rem, 4vw, 2.8rem);
}
#recruit #number .number_list ul li .line_graph01 .number {
	font-size: clamp(3rem, 8vw, 5rem);
}
#recruit #number .number_list ul li .line_graph02 h3 {
	font-size: 1.9rem;
}
#recruit #number .number_list ul li .line_graph02 .number {
	font-size: 3.4rem;
}


#recruit #number .number_list ul li:nth-child(5) {
	justify-content: flex-start;
}
#recruit #number .number_list ul li:nth-child(9) .graph_grid {
	display: grid;
	grid-template-columns: auto auto auto;
	justify-items: center;
	align-items: center;
}
#recruit #number .number_list ul li:nth-child(9) .graph_grid h3 {
	font-size: 2rem;
}
#recruit #number .number_list ul li:nth-child(9) p {
	font-size: 1.4rem;
}
#recruit #number .number_list ul li:nth-child(11) .number_item {
	display: flex;
	justify-content: center;
	gap: 5px;
}
#recruit #number .number_list ul li:nth-child(11) p {
	font-size: 1.4rem;
}
#recruit #number .number_list ul li:nth-child(13) .number_item {
	margin: auto 0;
}
#recruit #number .number_list ul li:nth-child(14) {
	padding: 40px 0 90px;
}
#recruit #number .number_list ul li:nth-child(14) .inner {
	max-width: 80%;
	width: 100%;
	margin: 0 auto;
}
#recruit #number .number_list ul li:nth-child(14) p {
	font-weight: bold;
	font-size: 19px;
}

@media screen and (max-width:896px) {
	#recruit #number .number_list ul li {
		margin-right: 0;
	}
	#recruit #number .number_list ul li.w01, #recruit #number .number_list ul li.w02, #recruit #number .number_list ul li.w03 {
		width: 100%;
	}
	#recruit #number .number_list ul li .number_grid02 {
    grid-template-columns: 1fr 1fr;
	}

	#recruit #number .number_list ul li .line_graph {
		gap: 10px;
	}
	#recruit #number .number_list ul li .line_graph p {
		width: 85px;
		text-align: left;
	}
}
@media screen and (max-width:430px) {
	#recruit #number .number_list ul li .line_graph p {
		width: 65px;
	}
	#recruit #number .number_list {
	margin: 40px 0;
}
}

/*------------------------------------------------------------
	下層ー仕事内容
------------------------------------------------------------*/
#recruit #work .work_list ul li {
	margin: 80px 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 75px;
	align-items: center;
}
#recruit #work .work_list ul li .img {
	margin-left: calc(100% - 50vw + (75px / 2));
}
#recruit #work .work_list ul li .inner h3 {
	font-size: clamp(22px, 4vw, 30px);
	font-weight: 500;
	margin-bottom: 30px;
	line-height: 1.5;
}
#recruit #work .work_list ul li .inner h4 {
	font-size: clamp(18px, 4vw, 20px);
	font-weight: 500;
	margin-bottom: 35px;
	line-height: 1.5;
}
#recruit #work .work_list ul li .inner p {
	margin-bottom: 45px;
}
#recruit #work .work_list ul li .inner p:last-child {
	margin-bottom: 0;
}

@media screen and (max-width:896px) {
	#recruit #work .work_list ul li {
		margin: 80px 0;
		grid-template-columns: 1fr;
		gap: 30px;
	}
	#recruit #work .work_list ul li .img {
		margin-left: calc(50% - 50vw);
	}
}

@media screen and (max-width:600px) {
#recruit #work .work_list ul li .inner h3 {
	margin-bottom: 10px;
}
#recruit #work .work_list ul li .inner h4 {
	margin-bottom: 15px;
}
}

/*------------------------------------------------------------
	下層ー社員の声
------------------------------------------------------------*/
#recruit #voice .voice_list {
	margin-bottom: 100px;
}
#recruit #voice .voice_list ul li {
	display: grid;
	grid-template-columns: calc(50% - 75px) 50%;
	gap: 75px;
	align-items: center;
	padding: 100px 0;
	border-bottom: 1px solid #C3C3C3;
}
#recruit #voice .voice_list ul li:last-child {
	border-bottom: 0;
}
#recruit #voice .voice_list ul li .voice_slider {
	overflow: hidden;
	position: relative;
}
#recruit #voice .voice_list ul li .voice_slider .swiper-pagination {
	position: static;
}
#recruit #voice .voice_list ul li .voice_slider .swiper-pagination-bullet-active {
	background: #1C99C9;
}
#recruit #voice .voice_list ul li .voice_slider .swiper-button-prev  {
	width: 50%;
	height: 100%;
	left: 0;
	top: 50%;
	transform: translate(0, -50%);
}
#recruit #voice .voice_list ul li .voice_slider .swiper-button-next {
	width: 50%;
	height: 100%;
	right: 0;
	top: 50%;
	transform: translate(0, -50%);
}
#recruit #voice .voice_list ul li .voice_slider .swiper-button-prev::after, #recruit #voice .voice_list ul li .voice_slider .swiper-button-next::after {
	content: none;
}

#recruit #voice .voice_list ul li h2{
	font-size: 16px;
}
#recruit #voice .voice_list ul li h2 span{
	font-size: clamp(2rem, 4vw, 2.8rem);
}
#recruit #voice .voice_list ul li h3{
	margin-top: 18px;
}
@media screen and (max-width:896px) {
	#recruit #voice .voice_list {
		margin-bottom: 50px;
	}
	#recruit #voice .voice_list ul li {
		grid-template-columns: 1fr;
		gap: 30px;
		padding: 50px 0;
	}
}

/*------------------------------------------------------------
	下層ー募集要項
------------------------------------------------------------*/
#recruit #require .require_table {
	max-width: 1000px;
	margin: 100px auto;
}
#recruit #require .require_table table {
	width: 100%;
	border-spacing: 0;
}
#recruit #require .require_table table th, #recruit #require .require_table table td {
	padding: 20px 0;
	font-weight: normal;
}
#recruit #require .require_table table th {
	width: 240px;
	border-top: 1px solid #707070;
	vertical-align: baseline;
}
#recruit #require .require_table table td {
	border-top: 1px solid #C1C1C1;
	padding-left: 20px;
}
#recruit #require .require_table table td p {
	margin-bottom: 35px;
}
#recruit #require .require_table table td p:last-child {
	margin-bottom: 0;
}
#recruit #require .require_table table tr:last-child th {
	border-bottom: 1px solid #707070;	
}
#recruit #require .require_table table tr:last-child td {
	border-bottom: 1px solid #C1C1C1;	
}

@media screen and (max-width:600px) {
	#recruit #require .require_table table th {
		width: 100px;
	}
	#recruit #require .require_table {
	margin: 40px auto;
}
}


/*------------------------------------------------------------
	下層ーよくあるご質問
------------------------------------------------------------*/
#recruit #faq .faq_list {
	margin: 100px 0;
}
#recruit #faq .faq_list ul li {
	padding: 30px 0;
	border-bottom: 1px solid #C4C4C4;
}
#recruit #faq .faq_list ul li:last-child {
	border-bottom: 0;
}
#recruit #faq .faq_list ul li .question, #recruit #faq .faq_list ul li .answer {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 25px;
}
#recruit #faq .faq_list ul li .question {
	margin-bottom: 25px;
}
#recruit #faq .faq_list ul li .question h3 {
	font-size: clamp(20px, 4vw, 24px);
}
@media screen and (max-width:896px) {
	#recruit #faq .faq_list {
		margin: 50px 0;
	}
	#recruit #faq .faq_list ul li .question .icon, #recruit #faq .faq_list ul li .answer .icon {
		width: clamp(40px, 8vw, 67px);
	}
}
@media screen and (max-width:430px) {
	#recruit #faq .faq_list ul li .question, #recruit #faq .faq_list ul li .answer {
		gap: 15px;
	}
	#recruit #faq .faq_list ul li .question h3 {
		line-height: 1.6;
	}
	#recruit #faq .faq_list ul li .question {
	margin-bottom: 15px;
}
}


/*------------------------------------------------------------
	下層ーお知らせ一覧
------------------------------------------------------------*/
#news .news_list-wrapper {
  max-width: 1000px;
  margin: 0 auto 100px;
}
#news .news_list {
  border-top: 1px solid #ddd;
}
#news .news_item {
  border-bottom: 1px solid #ddd;
}
#news .news_item a {
  display: flex;
  align-items: center;
  padding: 25px 10px;
  text-decoration: none;
  color: #333;
  transition: background-color 0.3s;
}
#news .news_item a:hover {
  background-color: #f9f9f9;
}
#news .news_item .date {
  font-size: 16px;
  color: #888;
  width: 120px;
  flex-shrink: 0;
}
#news .news_item .category {
  font-size: 12px;
  background: #333;
  color: #fff;
  padding: 2px 10px;
  margin-right: 30px;
  min-width: 80px;
  text-align: center;
  flex-shrink: 0;
}
#news .news_item .title {
  font-size: 18px;
  font-weight: 500;
  flex-grow: 1;
}
#news .news_item .arrow {
  width: 10px;
  height: 10px;
  border-top: 2px solid #ccc;
  border-right: 2px solid #ccc;
  transform: rotate(45deg);
  margin-left: 20px;
}
/* Pagination */
#news .pagination {
  text-align: center;
  margin-top: 50px;
}
#news .pagination .page-numbers {
  display: inline-block;
  margin: 0 5px;
  padding: 8px 16px;
  background: #f4f4f4;
  text-decoration: none;
  color: #333;
}
#news .pagination .page-numbers.current {
  background: #333;
  color: #fff;
}

@media screen and (max-width: 768px) {
  #news .news_item a {
    flex-wrap: wrap;
    padding: 20px 5px;
  }
  #news .news_item .date {
    width: auto;
    margin-right: 15px;
    margin-bottom: 10px;
  }
  #news .news_item .category {
    margin-bottom: 10px;
  }
  #news .news_item .title {
    width: 100%;
    white-space: normal;
    font-size: 16px;
  }
  #news .news_item .arrow {
    display: none;
  }
}


/*------------------------------------------------------------
	下層ーお知らせ詳細
------------------------------------------------------------*/
#news .post_container {
  margin: 0 0 100px;
}
#news .post_header {
  margin-bottom: 40px;
  border-bottom: 2px solid #333;
  padding-bottom: 20px;
}
#news .post_header .date {
  font-size: 16px;
  color: #888;
  margin-right: 20px;
}
#news .post_header .category {
  font-size: 12px;
  background: #333;
  color: #fff;
  padding: 3px 12px;
}
#news .post_header .post_title {
  font-size: 28px;
  font-weight: bold;
  margin-top: 15px;
  line-height: 1.4;
}
/* 本文内の基本装飾 */
#news .post_content {
  line-height: 1.8;
  font-size: 16px;
  color: #444;
}
#news .post_content h3 {
  font-size: 22px;
  border-left: 5px solid #333;
  padding-left: 15px;
  margin: 40px 0 20px;
}
#news .post_content p {
  margin-bottom: 1.5em;
}
#news .post_content img {
  max-width: 100%;
  height: auto;
  margin: 20px 0;
}
/* 前後のナビゲーション */
#news .post_nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 80px;
  padding-top: 40px;
  border-top: 1px solid #ddd;
}
#news .post_nav a {
  text-decoration: none;
  color: #333;
  font-weight: 500;
  transition: opacity 0.3s;
}
#news .post_nav a:hover {
  opacity: 0.6;
}
#news .post_nav .back .btn {
  background: #1C99C9;
	padding: 13px 30px;
	display: block;
	font-size: 1.6rem;
	width: 200px;
	text-align: center;
}

@media screen and (max-width: 768px) {
  #news .post_header .post_title {
    font-size: 22px;
  }
  #news .post_nav {
    flex-direction: column;
    gap: 20px;
  }
  #news .post_nav .back {
    order: 3;
    width: 100%;
  }
  #news .post_nav .back .btn {
    display: block;
    width: 100%;
    text-align: center;
		margin: 0 auto;
  }
}


/*------------------------------------------------------------
	下層ーお問い合わせ
------------------------------------------------------------*/
#contact .contact_content {
	width: 95%;
	margin: 0 auto 100px;
	max-width: 1000px;
}
#contact .contact_table table {
	width: 100%;
	border-spacing: 0 20px;
}

#contact .contact_table table tr th {
	width: 200px;
	vertical-align: baseline;
	padding-top: 10px;
	font-weight: normal;
}
#contact .contact_table table tr th .required {
	color: red;
}
#contact .contact_table table tr td input[type="text"], #contact .contact_table table tr td input[type="tel"], #contact .contact_table table tr td input[type="email"], #contact .contact_table table tr td textarea {
	width: 100%;
	padding: 15px;
}
#contact .contact_recaptcha {
	text-align: center;
}
#contact .contact_recaptcha p {
	font-size: 1.4rem;
}
#contact .contact_recaptcha a {
	text-decoration: underline;
}
#contact .contact_btn {
	margin: 50px auto 0;
	max-width: 300px;
	position: relative;
}
#contact .contact_btn:hover {
	opacity: 0.7;
	transition: 0.3s;
}
#contact .contact_btn span.btn_icon {
	position: absolute;
	right: 30px;
	top: 50%;
	transform: translate(0, -50%);
	background-color: #fff;
	width: 20px;
	height: 20px;
	border-radius: 50%;
}
#contact .contact_btn span.btn_icon::after {
	content: "";
	border-top: 2px solid #1C99C9;
	border-right: 2px solid #1C99C9;
	width: 8px;
	height: 8px;
	position: absolute;
	left: 45%;
	top: 50%;
	transform: translate(-50%, -50%) rotate(45deg);
}
#contact .contact_btn input {
	margin: 0 auto;
	width: 100%;
	padding: 17.5px 10px;
	font-size: 1.8rem;
	background-color: #1C99C9;
	color: #fff;
	border: 0;
	border-radius: 50vh;
}
#contact .contact_text h2{
	font-size: 20px;
}
#contact .contact_text{
	margin: 10px 0 40px 0;
}

@media screen and (max-width:783px) {
	#contact .contact_recaptcha {
		text-align: left;
	}	
}
@media screen and (max-width:896px) {
	#contact .contact_content {
		width: 90%;
	}
	#contact .contact_table table tr th, #contact .contact_table table tr td {
		width: 100%;
		display: block;
	}
}

.grecaptcha-badge {
	visibility: hidden;
}
/* Contact Form 7 調整用 */
.wpcf7-form-control-wrap {
  display: block;
}
.contact_table input[type="text"], .contact_table input[type="tel"], .contact_table input[type="email"],
.contact_table textarea {
  width: 100%;
  box-sizing: border-box;
}
/* 送信ボタンの周りのspanを消す場合や調整 */
.contact_btn .wpcf7-spinner {
  position: absolute;
  bottom: -30px;
  left: 50%;
  transform: translateX(-50%);
	margin: 0;
}
.wpcf7-response-output {
  margin: 20px 0 0 !important;
  text-align: center;
  border-radius: 5px;
}

#contact .thanks_txt h3 {
	font-size: clamp(1.8rem, 4vw, 2.0rem);
	margin-bottom: 20px;
}
#contact .thanks_txt .inner {
	border: 5px solid #efefef;
	padding: 30px min(50px, 5vw);
}
#contact .thanks_txt .inner p {
	font-size: clamp(1.4rem, 3vw, 1.6rem);
}


/*------------------------------------------------------------
	下層ーエントリー
------------------------------------------------------------*/
.entry_lead {
  text-align: center;
  margin-bottom: 40px;
  line-height: 1.8;
}
/* ラジオボタン（性別）の横並び設定 */
.entry_table .wpcf7-list-item {
  display: inline-block;
  margin: 0 20px 0 0;
}
.entry_table .wpcf7-list-item-label {
  margin-left: 5px;
  cursor: pointer;
}
/* セレクトボックスの装飾 */
.entry_table select {
  width: 100%;
  padding: 10px;
  border: 1px solid #ddd;
  background: #fff;
}
/* 郵便番号の幅調整（お好みで） */
input[name="entry-zip"] {
  max-width: 200px;
}

@media screen and (max-width: 768px) {
  .entry_table th p {
    font-size: 14px;
  }
}

/*------------------------------------------------------------
	下層ープライバシーポリシー
------------------------------------------------------------*/
#privacy .privacy_content {
	max-width: 95%;
	margin: 0 auto 100px;
	max-width: 1000px;
}
#privacy .privacy_item {
	margin-bottom: 30px;
}
#privacy .privacy_item:last-child {
	margin-bottom: 0;
}
#privacy .privacy_item h3 {
	font-size: 1.8rem;
	margin-bottom: 10px;
}
#privacy .privacy_item ul {
	list-style: disc;
	padding-left: 1.25em;
}

@media screen and (max-width:896px) {
	#privacy #sec_top .sec_top-ttl h1 svg {
		height: clamp(91px, 20vw, 165px);
	}
	#privacy .privacy_content {
		max-width: 90%;
	}
}

/*------------------------------------------------------------
	下層ー404
------------------------------------------------------------*/
#notfound .error_btn-area {
  text-align: center;
  margin-top: 50px;
}
#notfound .error_btn-area .btn {
  max-width: 300px;
  width: 100%;
}
#notfound .error_nav {
  max-width: 800px;
  margin: 80px auto 0;
  padding: 40px;
  background: #f9f9f9;
  border-radius: 8px;
}
#notfound .error_nav h3 {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 20px;
  text-align: center;
}
#notfound .error_nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}
#notfound .error_nav ul li a {
  color: #333;
  text-decoration: underline;
  transition: opacity 0.3s;
}
#notfound .error_nav ul li a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 768px) {
  #notfound .error_nav ul {
    flex-direction: column;
    align-items: center;
    gap: 15px;
  }
}

/* 本社移転のご案内 */
    
#news .post_content .flImgContents {
	display: flex;
	flex-direction: row-reverse;
}
#news .post_content .flImgContents-img.is-fr {
	margin: 0 0 20px 5%;
}
#news .post_content .flImgContents-img.is-fr img {
	margin: 0;
}
#news .post_content .gridPhoto {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0 20px;
	margin: 50px 0;
}
#news .post_content .gridPhoto img {
	width: 100%;
}
#news .post_content .section-02 .accessInfo {
	display: flex;
	justify-content: space-between;
	gap: 30px;
	margin-bottom: 50px;
}
#news .post_content .section-02 .accessInfo-img {
	max-width: 40%;
}
#news .post_content .section-02 .accessInfo-img img {
	width: 100%;
	margin: 0;
}
#news .post_content .section-02 .gmap {
	margin-bottom: 50px;
}
#news .post_content .section-02 iframe {
	width: 100%;
	aspect-ratio: 16/9;
}

@media screen and (max-width:896px) {
	#news .post_content .flImgContents {
		flex-direction: column;
		gap: 30px;
	}
	#news .post_content .flImgContents-img.is-fr {
		margin: 0 0 0;
	}
	#news .post_content .gridPhoto {
		grid-template-columns: repeat(2, 1fr);
	}
	#news .post_content .section-02 .accessInfo {
		flex-direction: column;
	}
	#news .post_content .section-02 .accessInfo-img {
		max-width: 100%;
	}
}