@charset "UTF-8";

/*
Theme Name: child
Theme URI:
Description:
Template: twentytwentyone
Author: makesview
Author URI: https://makes-view.co.jp/
Version: 1.0.0
*/

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
デフォルト設定
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* ----------------------- デフォルトcss ------------------------- */
:root {
	--main-color: #000;
	--sub-color: #fff;
}

/* フォント */
@font-face {
	font-family: 'HiraginoW5';
	src: url("./font/HiraginoKakuGothic-W5.ttf") format("truetype");
	font-weight: 500;
}

@font-face {
	font-family: 'HiraginoW7';
	src: url("./font/HiraginoKakuGothic-W7.ttf") format("truetype");
	font-weight: 700;
}

html,
button,
input,
select,
textarea {
	font-family: 'HiraginoW5', "Hiragino Kaku Gothic", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}

body {
	min-width: 1440px;
	font-size: 16px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.05em;
	font-family: 'HiraginoW5', "Hiragino Kaku Gothic", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	color: #272727;
	background: #fff;
	margin: 0;
}

a[href $='.pdf'] {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	text-decoration: underline;
	color: #000;
	line-height: 1.5;
}

a[href $='.pdf']::before {
	content: "";
	display: block;
	flex-shrink: 0;
	width: 30px;
	height: 38px;
	background-image: url(/wp-content/themes/child/image/icon/icon_pdf.svg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	margin-right: 15px;
}

.wrap {
	width: 1140px;
	margin: 0 auto;
}

.wrap.mid {
	width: 1240px;
}

.wrap.lr {
	width: 1340px;
}

.no_image {
	border: 1px solid #E5E5E5;
}

.no_article {
	margin-top: 20px;
}

/* PC固定ページ 共通設定 */
.common_page_main {
	background: #F5F5F5;
	padding-block: 140px;
	margin-block: 0 1em;
}

.common_page_main .title_box {
	text-align: center;
}

.common_page_main .title_box .title {
	font-size: 40px;
	letter-spacing: .08em;
	font-weight: 700;
	line-height: 1.5;
}

.common_page_wrap {
	padding: 100px 0;
}

.not_found .text {
	text-align: center;
}

.reserve_text {
	text-align: center;
	font-size: 30px;
}

/* ----------------------- サイト 共通設定 ------------------------- */
/* ボタン */
.c_btn {
	width: 100%;
	max-width: 320px;
	margin-inline: auto;
	text-align: center;
}

.c_btn a {
	position: relative;
	display: block;
	font-family: 'HiraginoW7';
	font-size: 16px;
	font-weight: 700;
	line-height: 2;
	letter-spacing: 0.03em;
	color: #fff;
	border-radius: 35px;
	padding: 19px 60px;
	background: -webkit-gradient(linear, left top, right top, from(#004d9a), to(#4acacb));
	background: -webkit-linear-gradient(left, #004d9a, #4acacb);
	background: linear-gradient(to right, #004d9a, #4acacb);
	-webkit-box-shadow: 0 5px 0 #0c2c60;
	box-shadow: 0 5px 0 #0c2c60;
	-webkit-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
	z-index: 1;
}

.c_btn a::before {
	content: "";
	width: 20px;
	height: 20px;
	position: absolute;
	top: 50%;
	right: 30px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	background-image: url("./image/icon-arrow-white.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}

.c_btn--blue a {
	background: #004d9a;
}

.c_btn02 {
	width: 100%;
	max-width: 260px;
	margin-inline: auto;
	text-align: center;
}

.c_btn02 a {
	position: relative;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 10px;
	border-radius: 35px;
	padding: 10px 40px 10px 20px;
	text-decoration: none;
	background: -webkit-gradient(linear, left top, right top, from(#004d9a), to(#4acacb));
	background: -webkit-linear-gradient(left, #004d9a, #4acacb);
	background: linear-gradient(to right, #004d9a, #4acacb);
	-webkit-box-shadow: 0 5px 0 #0c2c60;
	box-shadow: 0 5px 0 #0c2c60;
	-webkit-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
	z-index: 1;
}

.c_btn02 a::before {
	content: "";
	width: 14px;
	height: 14px;
	position: absolute;
	top: 50%;
	right: 20px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	background-image: url("./image/icon-arrow-white.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}

.c_btn02 .btn_icon {
	-ms-flex-negative: 0;
	flex-shrink: 0;
}

.c_btn02 .btn_icon img {
	width: 40px;
	-o-object-fit: contain;
	object-fit: contain;
}

.c_btn02 .btn_text {
	font-family: 'HiraginoW7';
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.03em;
	color: #fff;
}

.c_btn02--bg01 a {
	background: -webkit-gradient(linear, left top, right top, from(#06c755), to(#4acb99));
	background: -webkit-linear-gradient(left, #06c755, #4acb99);
	background: linear-gradient(to right, #06c755, #4acb99);
	-webkit-box-shadow: 0 5px 0 #0c6056;
	box-shadow: 0 5px 0 #0c6056;
}

.c_btn02--bg02 a {
	background: -webkit-gradient(linear, left top, right top, from(#4bb2ca), to(#4acba8));
	background: -webkit-linear-gradient(left, #4bb2ca, #4acba8);
	background: linear-gradient(to right, #4bb2ca, #4acba8);
	-webkit-box-shadow: 0 5px 0 #0c4360;
	box-shadow: 0 5px 0 #0c4360;
}

/* CTA */
.c_cta .body {
	background: #f7f7f7;
	border-radius: 10px;
	padding: 70px 100px 100px;
}

.c_cta .text {
	margin-top: 40px;
	text-align: center;
}

.c_cta .btns {
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	gap: 40px;
	width: 100%;
	max-width: 700px;
	margin-inline: auto;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin-top: 40px;
}

.c_cta .btn {
	max-width: 100%;
}

.c_cta .btn a {
	border-radius: 50px;
	padding: 20px 40px 20px 28px;
}

.c_cta .btn a::before {
	width: 20px;
	height: 20px;
}

.c_cta .btn_text {
	font-size: 20px;
	text-align: left;
}

/* 画像＋テキスト */
.c_media .item {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 60px;
}

.c_media .item:not(:first-child) {
	margin-top: 120px;
}

.c_media .item:nth-child(even) {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}

.c_media .image {
	width: calc(48% - 30px);
}

.c_media .image img {
	width: 100%;
	height: auto;
	-o-object-fit: cover;
	object-fit: cover;
	aspect-ratio: 540/360;
	border-radius: 10px;
}

.c_media .contents {
	width: calc(52% - 30px);
}

.c_media .title {
	display: inline-block;
	font-family: 'HiraginoW7';
	font-size: 28px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.03em;
	border-bottom: 2px solid #272727;
	padding-bottom: 5px;
}

.c_media .text {
	margin-top: 24px;
}

/* モーダル */
.c_modal {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.7);
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	z-index: 1000;
}

.c_modal .content {
	position: relative;
	max-width: 800px;
}

.c_modal img {
	width: 100%;
	aspect-ratio: 1/1;
	-o-object-fit: cover;
	object-fit: cover;
}

.c_modal .close {
	position: absolute;
	top: -80px;
	right: -50px;
	font-size: 30px;
	color: #fff;
	cursor: pointer;
}

/* 商品紹介 */
.c_products {
	padding-top: 130px;
}

.c_products .wrap {
	width: 940px;
}

.c_products .c_title_block .ja {
	margin-top: 0;
}

.c_products .text {
	margin-top: 24px;
}

.c_products .items {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px 20px;
	margin-top: 24px;
}

.c_products .item {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: stretch;
	-ms-flex-pack: stretch;
	justify-content: stretch;
	background: #f7f7f7;
	border-radius: 10px;
	padding: 30px 24px;
}

.c_products .item a {
	-webkit-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

.c_products .image img {
	width: 100%;
	height: auto;
	-o-object-fit: cover;
	object-fit: cover;
	aspect-ratio: 1/1;
}

.c_products .name {
	-webkit-box-flex: 1;
	-ms-flex-positive: 1;
	flex-grow: 1;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	font-family: 'HiraginoW7';
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.03em;
	margin-top: 16px;
	text-align: center;
}

.c_products .name .size {
	font-size: 0.75em;
}

/* セクションタイトル */
.c_title_block .ja {
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 10px;
	margin-top: -45px;
}

.c_title_block .ja_icon img {
	display: block;
	width: 26px;
	-o-object-fit: contain;
	object-fit: contain;
}

.c_title_block .ja_text {
	font-family: 'HiraginoW7';
	font-size: 40px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.03em;
}

.c_title_block .ja_text .size {
	font-size: 0.35em;
	margin-left: 1em;
}

.c_title_block .en {
	font-family: "Funnel Display", sans-serif;
	font-size: 112px;
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: 0.03em;
	color: rgba(39, 39, 39, 0.0509803922);
}

.c_title_block--center {
	text-align: center;
}

.c_title_block--center .ja {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	margin-top: -80px;
}

.c_title_block02 .en {
	font-family: "Funnel Display", sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.03em;
	color: #248cb3;
}

.c_title_block02 .ja {
	font-family: 'HiraginoW7';
	font-size: 40px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.03em;
	margin-top: 12px;
}

/* 下層FV */
.common_fv {
	position: relative;
	border-bottom: 1px solid #e5e5e5;
	padding: 184px 0 134px;
}

.common_fv::before,
.common_fv::after {
	content: "";
	position: absolute;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: -1;
}

.common_fv::before {
	width: 657px;
	height: 636px;
	top: 0;
	left: 0;
	background-image: url("./image/circle-bg01.svg");
}

.common_fv::after {
	width: 657px;
	height: 1360px;
	top: 270px;
	right: 0;
	background-image: url("./image/circle-bg02.png");
}

/* パンくず */
.breadcrumb {
	font-size: 12px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.03em;
	color: #272727;
}

.breadcrumb span:not(:last-of-type) {
	padding-right: 28px;
}

.breadcrumb a {
	position: relative;
	color: #272727;
}

.breadcrumb span a::before {
	content: "";
	position: absolute;
	width: 1px;
	height: 20px;
	position: absolute;
	top: 50%;
	right: -15px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	background: #dbdbdb;
}

.common_fv .c_title_block {
	margin-top: 45px;
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
ヘッダー
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* ----------------------- PCヘッダー ------------------------- */
.pc_header_wrap {
	position: relative;
}

.pc_header {
	position: absolute;
	width: 100%;
	top: 35px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	z-index: 30;
}

.pc_header .body {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: #fff;
	-webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.08);
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.08);
	border-radius: 5px;
	padding: 15.5px 50px;
}

.pc_header .logo {
	width: 100%;
	max-width: 250px;
	margin-left: 0;
}

.pc_header .logo a {
	-webkit-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

.pc_header .nav,
.pc_header .menus,
.pc_header .menu,
.pc_header .menu a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-item-align: stretch;
	align-self: stretch;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.pc_header .menus {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 35px;
}

.pc_header .menu {
	position: relative;
}

.pc_header .menu::before {
	content: "";
	width: 0;
	height: 5px;
	position: absolute;
	bottom: -15px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	background: -webkit-gradient(linear, left top, right top, from(#004d9a), to(#4acacb));
	background: -webkit-linear-gradient(left, #004d9a, #4acacb);
	background: linear-gradient(to right, #004d9a, #4acacb);
	-webkit-transition: width 0.3s ease;
	transition: width 0.3s ease;
}

.pc_header .menu--accent::before {
	background: #06c755;
}

.pc_header .menu--accent a {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 10px;
}

.pc_header .icon img {
	display: block;
}

.pc_header .menu_text {
	font-family: 'HiraginoW7';
	font-size: 16px;
	font-weight: 700;
	line-height: 2;
	letter-spacing: 0.03em;
	color: #272727;
	-webkit-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

.pc_header .accordion {
	position: relative;
}

.pc_header .accordion {
	position: relative;
	padding-right: 25px;
}

.pc_header .accordion::after {
	content: "";
	width: 20px;
	height: 20px;
	position: absolute;
	top: 50%;
	right: 0;
	-webkit-transform: translateY(-50%) rotate(90deg);
	transform: translateY(-50%) rotate(90deg);
	background-image: url(./image/icon-arrow.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	-webkit-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

.pc_header .sub_menus {
	display: grid;
	grid-template-columns: 1fr;
	gap: 25px;
	position: absolute;
	top: 64px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	width: -webkit-max-content;
	width: -moz-max-content;
	width: max-content;
	max-height: 0;
	background: #fff;
	-webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
	padding: 0 47px 0 30px;
	overflow: hidden;
	-webkit-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

.pc_header .sub_menu a {
	font-family: 'HiraginoW7';
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.03em;
	color: #272727;
	padding-right: 0;
	-webkit-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

.pc_header .icon img {
	width: 20px;
	height: 20px;
	-o-object-fit: contain;
	object-fit: contain;
}

.pc_header .btn_wrap {
	text-align: right;
	margin-right: 10px;
}

.pc_header .btns {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	border-radius: 0 0 5px 5px;
	background: -webkit-gradient(linear, left top, right top, from(#004d9a), to(#4acacb));
	background: -webkit-linear-gradient(left, #004d9a, #4acacb);
	background: linear-gradient(to right, #004d9a, #4acacb);
	padding: 10px 37px 10px 32px;
}

.pc_header .btn:not(:first-of-type) {
	border-left: 1px solid #fff;
	padding-left: 28px;
	margin-left: 32px;
}

.pc_header .btn a {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 7px;
	-webkit-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

.pc_header .btn_icon img {
	display: block;
	width: 30px;
	-o-object-fit: contain;
	object-fit: contain;
}

.pc_header .link_text {
	font-family: 'HiraginoW7';
	font-size: 16px;
	font-weight: 700;
	line-height: 2;
	letter-spacing: 0.03em;
	color: #fff;
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
TOPページ
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* FV */
#top_fv {
	position: relative;
	height: 100vh;
}

#top_fv .wrap {
	position: relative;
	height: 100%;
}

#top_fv .title {
	position: relative;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	height: 100%;
	font-family: 'HiraginoW7';
	font-size: 64px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.1em;
	color: #fff;
	padding-top: 6%;
	z-index: 1;
}

#top_fv .swiper-container {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

#top_fv .top-fv-swiper {
	height: 100%;
}

#top_fv .swiper-wrapper {
	height: 100%;
}

#top_fv .swiper-slide {
	position: relative;
	height: 100%;
}

#top_fv .swiper-slide::before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.2)), to(rgba(0, 0, 0, 0.6)));
	background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.6));
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.6));
}

#top_fv .swiper-slide img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

#top_fv .pagination-bullets,
#top_fv .swiper-pagination-bullets.swiper-pagination-horizontal,
#top_fv .swiper-pagination-custom,
.swiper-pagination-fraction {
	bottom: calc(8.3% - 10px);
	left: -5px;
	text-align: left;
}

#top_fv .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
#top_fv .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
	margin: 0 7.5px;
}

#top_fv .swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	background: #8f9296;
	opacity: 1;
}

#top_fv .swiper-pagination-bullet-active {
	background: #004d9a;
}

/* クリーンダクト工業とは */
#top_about {
	position: relative;
	padding: 206px 0 143px;
}

#top_news {
	position: relative;
}

#top_news::before,
#top_about::after {
	content: "";
	position: absolute;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: -1;
}

#top_news::before {
	width: 657px;
	height: 636px;
	top: 0;
	left: 0;
	background-image: url("./image/circle-bg01.svg");
}

#top_about::after {
	width: 657px;
	height: 1360px;
	bottom: -710px;
	right: 0;
	background-image: url("./image/circle-bg02.png");
}

#top_about .c_title_block {
	margin-top: 10px;
}

#top_about .wrap {
	padding-left: 50px;
}

#top_about .body {
	gap: 80px;
}

#top_about .contents {
	width: calc(44.5% - 40px);
}

#top_about .text {
	padding-right: 6px;
	margin-top: 47px;
}

#top_about .text+.text {
	margin-top: 2.5em;
}

#top_about .btn {
	margin-top: 48px;
	margin-left: 0;
}

#top_about .images {
	position: relative;
	width: calc(55.5% - 40px);
}

#top_about .image01 {
	width: 68.8%;
	margin-left: auto;
}

#top_about .image01 img {
	width: 100%;
	height: auto;
	aspect-ratio: 430/580;
	-o-object-fit: cover;
	object-fit: cover;
}

#top_about .image02 {
	position: relative;
	width: 41.6%;
	left: -5px;
	margin-right: auto;
	margin-top: -268px;
}

#top_about .image02 img {
	width: 100%;
	height: auto;
	aspect-ratio: 260/350;
	-o-object-fit: cover;
	object-fit: cover;
}

#top_about .image01 img,
#top_about .image02 img {
	display: block;
}

#top_about .sub_image {
	position: absolute;
	width: 370px;
	height: 337px;
	bottom: -148px;
	right: -100px;
	mix-blend-mode: multiply;
	z-index: 1;
}

/* 事業紹介 */
#top_service {
	position: relative;
	background-image: url("./image/top-service-bg.svg");
	background-position: center;
	background-position: top;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 130px 0 128px;
	margin-top: -80px;
}

#top_service .items {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 56px;
	margin-top: 50px;
}

#top_service .item a {
	display: block;
}

#top_service .image {
	position: relative;
}

#top_service .image::before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(39, 39, 39, 0.3);
	-webkit-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
	z-index: 1;
}

#top_service .image img {
	width: 100%;
	height: auto;
	aspect-ratio: 536/268;
	-o-object-fit: cover;
	object-fit: cover;
	border-radius: 5px 5px 0 0;
}

#top_service .icon img {
	position: absolute;
	width: 80px;
	height: 80px;
	top: 26px;
	left: 28px;
	-o-object-fit: contain;
	object-fit: contain;
	z-index: 1;
}

#top_service .contents {
	background: #fff;
	border-radius: 0 0 5px 5px;
	padding: 19px 30px 25px;
}

#top_service .sub_title {
	font-family: "Funnel Display", sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.03em;
	color: #248cb3;
}

#top_service .row {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 10px;
	margin-top: 8px;
}

#top_service .title {
	font-family: 'HiraginoW7';
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.03em;
	color: #272727;
	-webkit-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

#top_service .btn {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 20px;
}

#top_service .link_text {
	font-family: 'HiraginoW7';
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.03em;
	color: #272727;
}

#top_service .link_icon img {
	display: block;
	width: 20px;
	-o-object-fit: contain;
	object-fit: contain;
}

/* 商品紹介 */
#top_product {
	position: relative;
	color: #fff;
	background-image: url("./image/top-product-bg.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 142px 0 95px;
	overflow: hidden;
}

#top_product .wrap {
	position: relative;
	z-index: 1;
}

#top_product .section_title {
	font-family: 'HiraginoW7';
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.03em;
	text-align: center;
}

#top_product .catch {
	margin-top: 12px;
	text-align: center;
}

#top_product .catch span {
	position: relative;
	display: inline-block;
	font-family: 'HiraginoW7';
	font-size: 40px;
	font-weight: 700;
	line-height: 1.8;
	letter-spacing: 0.05em;
}

#top_product .catch span::before {
	content: "";
	width: 100%;
	height: 2px;
	position: absolute;
	bottom: 5px;
	left: 0;
	background: #fff;
}

#top_product .text {
	font-size: 18px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.05em;
	margin-top: 20px;
	text-align: center;
}

#top_product .btn {
	margin-top: 45px;
}

#top_product .en {
	position: absolute;
	bottom: -55px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	font-family: "Funnel Display", sans-serif;
	font-size: 258px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.03em;
	color: rgba(255, 255, 255, 0.1);
}

/* お知らせ */
#top_news {
	padding: 150px 0 0;
}

#top_news .body {
	position: relative;
	background: #f7f7f7;
	border-radius: 10px;
	padding: 90px 100px 110px;
	z-index: 2;
}

#top_news .head {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	gap: 10px;
}

#top_news .btn {
	max-width: 380px;
	margin-top: 10px;
	margin-right: 0;
}

#top_news .btn a {
	padding: 14px 60px;
}

#top_news .btn a::before {
	right: 20px;
}

#top_news .items {
	margin-top: 60px;
}

#top_news .item a {
	position: relative;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	gap: 50px;
	border-bottom: 2px solid #e5e5e5;
	padding: 44px 85px 44px 20px;
}

#top_news .item:first-of-type a {
	padding: 0 85px 44px 20px;
}

#top_news .item a::before {
	content: "";
	width: 20px;
	height: 20px;
	position: absolute;
	top: 50%;
	right: 20px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	background-image: url("./image/icon-arrow.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	-webkit-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

#top_news .item:first-of-type a::before {
	top: calc(50% - 22px);
}

#top_news .date {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	font-family: "Funnel Display", sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.03em;
	color: #fff;
	background: #248cb3;
	border-radius: 24px;
	padding: 6px 42px;
}

#top_news .title {
	font-size: 20px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.03em;
	color: #272727;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	-webkit-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

#top_news .sub_image {
	position: absolute;
	width: 230px;
	height: 337px;
	bottom: -233px;
	left: -100px;
	mix-blend-mode: multiply;
	z-index: 2;
}

/* 採用情報 */
#top_recruit {
	position: relative;
}

#top_recruit::before {
	content: "";
	position: absolute;
	width: 523px;
	height: 507px;
	bottom: 0;
	right: 0;
	background-image: url(./image/circle-bg03.svg);
	background-repeat: no-repeat;
	background-size: cover;
	z-index: -1;
}

#top_recruit .body {
	overflow: hidden;
}

#top_recruit .contents {
	position: relative;
	width: 100%;
	max-width: 672px;
	margin-left: 0;
	background: #fff;
	padding: 12.3vw 0 12.6vw 100px;
	z-index: 1;
}

#top_recruit .section_title {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 10px;
}

#top_recruit .section_title_icon img {
	display: block;
	width: 20px;
	-o-object-fit: contain;
	object-fit: contain;
}

#top_recruit .section_title_text {
	font-family: 'HiraginoW7';
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.03em;
	color: #898989;
}

#top_recruit .title {
	font-family: 'HiraginoW7';
	font-size: 32px;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.03em;
	margin-top: 28px;
}

#top_recruit .text {
	margin-top: 16px;
}

#top_recruit .btn {
	position: relative;
	margin-top: 48px;
	margin-left: 0;
	z-index: 4;
}

#top_recruit .swiper-container {
	position: absolute;
	width: 100%;
	top: calc(50% - 10px);
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

#top_recruit .swiper-wrapper {
	-webkit-transition-timing-function: linear;
	transition-timing-function: linear;
}

#top_recruit .swiper-slide img {
	width: 100%;
	height: auto;
	aspect-ratio: 1/1;
	-o-object-fit: cover;
	object-fit: cover;
}

#top_recruit .slide_text {
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	position: absolute;
	width: 100vw;
	margin: 0 calc(50% - 50vw);
	top: calc(50% + 12vw);
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	white-space: nowrap;
	z-index: 3;
}

#top_recruit .slide_text span {
	font-family: "Funnel Display", sans-serif;
	color: rgba(39, 39, 39, 0.0509803922);
	font-size: 136px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.03em;
	white-space: nowrap;
}

#top_recruit .slide_text span {
	-webkit-animation: slide-animation 30s linear infinite;
	animation: slide-animation 30s linear infinite;
}

@-webkit-keyframes slide-animation {
	0% {
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}

	100% {
		-webkit-transform: translateX(-100%);
		transform: translateX(-100%);
	}
}

@keyframes slide-animation {
	0% {
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}

	100% {
		-webkit-transform: translateX(-100%);
		transform: translateX(-100%);
	}
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
下層ページ
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* PC固定ページ クリーンダクト工業とは */
#about_philosophy {
	padding: 130px 0;
}

#about_philosophy .section_title {
	font-family: 'HiraginoW7';
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.03em;
	text-align: center;
}

#about_philosophy .catch {
	margin-top: 12px;
	text-align: center;
}

#about_philosophy .catch span {
	position: relative;
	display: inline-block;
	font-family: 'HiraginoW7';
	font-size: 40px;
	font-weight: 700;
	line-height: 1.8;
	letter-spacing: 0.05em;
}

#about_philosophy .catch span::before {
	content: "";
	width: 100%;
	height: 2px;
	position: absolute;
	bottom: 5px;
	left: 0;
	background: #272727;
}

#about_philosophy .text {
	font-size: 22px;
	font-weight: 500;
	line-height: 1.8;
	letter-spacing: 0.05em;
	margin-top: 20px;
	text-align: center;
}

#about_philosophy .row {
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	gap: 15px;
	padding-right: 70px;
	margin-top: 45px;
}

#about_philosophy .sub_title {
	font-size: 16px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.03em;
}

#about_philosophy .title {
	font-family: 'HiraginoW7';
	font-size: 32px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.03em;
}

#about_company {
	padding: 0 0 130px;
}

#about_company .body {
	background: #f7f7f7;
	border-radius: 10px;
	padding: 100px;
}

#about_company .table {
	margin-top: 35px;
}

#about_company .dl {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	border-top: 2px solid #e5e5e5;
}

#about_company .dl:last-child {
	border-bottom: 2px solid #e5e5e5;
}

#about_company .dt,
#about_company .dd {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.03em;
	padding: 24.5px 20px;
}

#about_company .dt {
	width: 39.5%;
	font-family: 'HiraginoW7';
	font-weight: 700;
}

#about_company .dd {
	width: 60.5%;
}

#about_company .list {
	position: relative;
	padding-left: 1em;
}

#about_company .list::before {
	content: "";
	width: 6px;
	height: 6px;
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	background: #898989;
	border-radius: 50%;
}

#about_access {
	position: relative;
	padding: 0 0 160px;
}

#about_access::before {
	content: "";
	position: absolute;
	width: 523px;
	height: 507px;
	bottom: 0;
	left: 0;
	background-image: url(./image/circle-bg05.svg);
	background-repeat: no-repeat;
	background-size: cover;
	z-index: -1;
}

#about_access .body {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

#about_access .text {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.03em;
	margin-top: 35px;
}

#about_access .map {
	position: relative;
	width: 100%;
	max-width: 650px;
	margin-left: auto;
	aspect-ratio: 650/380;
}

#about_access .map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 10px;
}

/* PC固定ページ ダクト施工 */
#construction_container {
	padding: 130px 0;
}

#construction_cta {
	padding: 0 0 160px;
}

/* PC固定ページ ダクト製造 */
#page_manufacturing .common_fv::after {
	top: 800px;
}

#manufacturing_container {
	padding: 130px 0;
}

#manufacturing_case {
	padding: 0 0 130px;
}

#manufacturing_case .lists {
	margin-top: 40px;
}

#manufacturing_case .list {
	position: relative;
	padding-left: 1em;
}

#manufacturing_case .list::before {
	content: "";
	width: 6px;
	height: 6px;
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	background: #898989;
	border-radius: 50%;
}

#manufacturing_cta {
	padding: 0 0 160px;
}

/* PC固定ページ 商品紹介 */
#products_container {
	padding: 130px 0 0;
}

#products_container .title_wrap {
	text-align: center;
}

#products_container .section_title {
	display: inline-block;
	font-family: 'HiraginoW7';
	font-size: 40px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.03em;
	border-bottom: 2px solid #272727;
	padding-bottom: 10px;
	text-align: center;
}

#products_container .tags {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 20px;
	margin-top: 60px;
}

#products_container .tag a {
	position: relative;
	display: inline-block;
	font-family: 'HiraginoW7';
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.03em;
	color: #fff;
	background: #004d9a;
	border: 2px solid #004d9a;
	padding: 20px 20px 32px;
	-webkit-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

#products_container .tag a::before {
	content: "";
	display: inline-block;
	position: absolute;
	bottom: 10px;
	left: 50%;
	-webkit-transform: translateX(-50%) rotate(45deg);
	transform: translateX(-50%) rotate(45deg);
	width: 10px;
	height: 10px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	-webkit-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

#products_container .text {
	margin-top: 40px;
	text-align: center;
}

#products_container table {
	width: 100%;
	max-width: 860px;
	margin-inline: auto;
	background: #fff;
	border-collapse: collapse;
	margin-top: 40px;
}

#products_container table th,
#products_container table td {
	border: 1px solid #d3d3d3;
	padding: 12px 30px;
	text-align: left;
}

#products_container table th {
	font-family: 'HiraginoW7';
	font-size: 20px;
	font-weight: 700;
	line-height: 2;
	letter-spacing: 0.03em;
	background: #f0f0f0;
}

#products_container table th:first-child {
	width: 30%;
}

#products_container table tr:nth-child(n+2) th {
	font-size: 16px;
	font-weight: 700;
	line-height: 2;
	letter-spacing: 0.03em;
	background: #fafafa;
}

#products_category {
	position: relative;
	padding: 0 0 160px;
}

#products_category::before {
	content: "";
	position: absolute;
	width: 523px;
	height: 507px;
	bottom: 0;
	left: 0;
	background-image: url(./image/circle-bg05.svg);
	background-repeat: no-repeat;
	background-size: cover;
	z-index: -1;
}

/* PC固定ページ 発注書フォーマット */
#order_cta {
	padding: 130px 0 100px;
}

#order_cta .body {
	background: transparent;
	padding: 0;
}

#order_cta .btns {
	margin-top: 0;
	align-items: flex-start;
	width: 100%;
	max-width: unset;
}

#order_cta .btn_catch {
	font-size: 15px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.03em;
	margin-top: 20px;
}

#order_delivery {
	padding: 0 0 150px;
}

#order_delivery .lead {
	text-align: center;
}

#order_delivery .items {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 50px;
	margin-top: 24px;
}

#order_delivery .image img {
	width: 100%;
	height: auto;
	-o-object-fit: cover;
	object-fit: cover;
	aspect-ratio: 540 / 300;
	border-radius: 10px;
}

#order_delivery .title {
	font-family: "HiraginoW7";
	font-size: 30px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.03em;
	margin-top: 20px;
	text-align: center;
}

#order_delivery .map {
	position: relative;
	width: 100%;
	aspect-ratio: 600/240;
	margin-top: 80px;
}

#order_delivery .map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 10px;
}

#order_flow {
	padding: 0 0 160px;
}

#order_flow .body {
	background: #f7f7f7;
	border-radius: 10px;
	padding: 50px 50px 80px;
}

#order_flow .items {
	margin-top: 40px;
}

#order_flow .item {
	position: relative;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 60px;
	background: #fff;
	-webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
	border-radius: 5px;
	padding: 30px 60px;
}

#order_flow .item:not(:first-of-type) {
	margin-top: 80px;
}

#order_flow .item::before {
	content: "";
	width: 80px;
	height: 35px;
	position: absolute;
	bottom: -60px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	background: #248cb3;
	-webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
	clip-path: polygon(0 0, 50% 100%, 100% 0);
}

#order_flow .item:last-of-type::before {
	display: none;
}

#order_flow .icon {
	-ms-flex-negative: 0;
	flex-shrink: 0;
}

#order_flow .icon img {
	width: 60px;
	height: 60px;
	-o-object-fit: contain;
	object-fit: contain;
	aspect-ratio: 1/1;
}

#order_flow .contents {
	-webkit-box-flex: 1;
	-ms-flex-positive: 1;
	flex-grow: 1;
}

#order_flow .number {
	font-family: "Funnel Display", sans-serif;
	font-size: 26px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.03em;
	color: #248cb3;
}

#order_flow .text {
	font-size: 18px;
	font-weight: 500;
	line-height: 1.61;
	letter-spacing: 0.05em;
	margin-top: 5px;
}

/* PC固定ページ お問い合わせ */
.page_contact .btn {
	margin-block: 0 5em;
}

.page_contact .btn a {
	font-size: 15px;
	padding: 15px 50px 15px 30px;
}

.page_contact .btn a::before {
	right: 25px;
}

.contact_form_disc {
	color: #272727;
	letter-spacing: .08em;
	font-weight: 400;
	text-align: center;
	margin-block: 0 2em;
}

.contact_form_disc .text {
	font-size: 16px;
	margin-block: 0 1em;
}

.contact_form_disc .caution {
	font-size: 14px;
}

.common_contact_form .form_box {
	margin-block: 0 50px;
}

.common_contact_form .form_box dl {
	display: grid;
	grid-template-columns: 26.5% 1fr;
	align-items: center;
	gap: 80px;
	margin-block: 1.6em 0;
}

.common_contact_form .form_box dl.start {
	align-items: flex-start;
}

.common_contact_form .form_box dl+dl {
	margin-block: 1.6em 0;
}

.common_contact_form .form_box dl dt {
	display: flex;
	align-items: center;
	gap: 1.3em;
	font-family: 'HiraginoW7';
	font-size: 16px;
	letter-spacing: .08em;
	font-weight: 700;
	padding-inline: 0 0.5em;
	position: relative;
}

.common_contact_form .form_box dl dt .label {
	flex-shrink: 0;
	color: #272727;
	font-family: 'HiraginoW7';
	font-size: 12px;
	letter-spacing: .2em;
	font-weight: 700;
	border-radius: 100vmax;
	padding: 0.2em 0.9em;
}

.common_contact_form .form_box dl dt .label.hissu {
	background: #C70000;
	color: #fff;
}

.common_contact_form .form_box dl dt .label.ninni {
	background: #E0E0E0;
}

.common_contact_form .form_box dl dt::after {
	content: "";
	width: 1px;
	height: 30px;
	background: #AAA;
	position: absolute;
	top: 0;
	right: 0;
}

.common_contact_form input[type="text"],
.common_contact_form input[type="email"],
.common_contact_form #zip {
	width: 100%;
	background: #F8F8F8;
	border: 1px solid #E6E6E6;
	border-radius: 4px;
	font-size: 14px;
	letter-spacing: .08em;
	font-weight: 400;
	padding: 0.8em 1em;
}

.common_contact_form textarea {
	width: 100%;
	height: 180px;
	background: #F8F8F8;
	border: 1px solid #E6E6E6;
	border-radius: 4px;
	padding: 1em;
	font-size: 14px;
	letter-spacing: .08em;
	font-weight: 400;
}

.common_contact_form input::placeholder,
.common_contact_form textarea::placeholder {
	color: #C7C4C4;
}

.common_contact_form select {
	width: 47.5%;
	background: #F8F8F8;
	border: 1px solid #E6E6E6;
	border-radius: 4px;
	font-size: 14px;
	letter-spacing: .08em;
	padding: 1.1em 1em;
}

.common_contact_form select.empty {
	color: #C7C4C4;
}

.page_contact #btn_wrap {
	justify-content: center;
	text-align: right;
	width: 74%;
	margin: auto;
}

.page_contact #btn_wrap button {
	background-color: var(--main-color);
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
	color: #fff;
	display: block;
	width: 310px;
	line-height: 60px;
	font-family: 'HiraginoW7';
	font-size: 18px;
	font-weight: 900;
	transition: .3s;
	text-align: center;
	letter-spacing: .08em;
	margin: auto;
}

.page_contact #btn_wrap button[name="submitBack"] {
	background: #333;
	margin-top: 20px;
}

.privacy_term_outer .privacy_term_inner {
	height: 138px;
	margin: auto;
	overflow: auto;
}

.privacy_term_outer .privacy_term_inner .privacy_index {
	font-size: 14px;
}

.privacy_term_outer .privacy_term_inner .main_text {
	font-size: 13px;
	margin-bottom: 25px;
}

.privacy_term_outer .privacy_term_inner dl dt {
	font-family: 'HiraginoW7';
	font-size: 13px;
	border-left: solid 3px #ccc;
	padding-left: 1em;
	margin-bottom: 5px;
}

.privacy_term_outer .privacy_term_inner dl dd {
	font-size: 13px;
}

.privacy_term_outer .privacy_term_inner dl+dl {
	margin-top: 30px;
}

.privacy_term_outer .privacy_term_inner::-webkit-scrollbar {
	width: 8px;
}

.privacy_term_outer .privacy_term_inner::-webkit-scrollbar-track {
	background: transparent;
}

.privacy_term_outer .privacy_term_inner::-webkit-scrollbar-thumb {
	background-color: #333;
	border-radius: 10px;
}

.privacy_term_outer {
	border-top: solid 1px #e3e3e3;
	padding: 30px 0;
	border-bottom: solid 1px #e3e3e3;
	width: 60%;
	margin: 0 auto 50px;
}

.privacy_check_list .mwform-checkbox-field-text {
	padding-right: 0;
}

.privacy_check_list .error {
	font-size: 12px;
}

.privacy_term_detail {
	text-align: center;
	font-family: 'HiraginoW7';
	font-size: 13px;
	margin: 20px 0;
	position: relative;
	font-weight: 600;
}

.privacy_term_detail::after {
	content: "";
	margin: 5px auto 0;
	border: solid #333;
	border-width: 2px 2px 0 0;
	width: 10px;
	aspect-ratio: 1 / 1;
	min-width: 0;
	rotate: 135deg;
	display: block;
}

.mw_wp_form_confirm .privacy_check_list,
.mw_wp_form_confirm .privacy_term_detail {
	display: none;
}

/* ラジオボタン デザイン */
.radio_btns,
.checkboxes {
	display: flex;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 0.5em 1.5em;
}

/* ラジオボタンを隠す */
.radio_btns input[type=radio].radio_btns__item {
	display: none;
}

.radio_btns label {
	display: inline-block;
	cursor: pointer;
}

/* spanの左側にボタンを配置するスペースを作る */
.radio_btns .radio_btns__item+span {
	color: #272727;
	font-family: 'HiraginoW7';
	font-size: 15px;
	letter-spacing: .08em;
	font-weight: 600;
	padding-left: 2em;
	display: inline-block;
	position: relative;
}

.radio_note {
	font-size: 13px;
	line-height: 1.5;
}

/* 各パーツを作成 */
.radio_btns .radio_btns__item+span::before,
.radio_btns .radio_btns__item+span::after {
	content: '';
	display: block;
	position: absolute;
	border: 1px solid #E6E6E6;
	background: #F8F8F8;
	border-radius: 50%;
	width: 20px;
	aspect-ratio: 1;
	min-width: 0;
	top: 0;
	left: 0;
	bottom: 0;
	margin: auto;
}

/* after上書き */
.radio_btns .radio_btns__item+span::after {
	width: 10px;
	aspect-ratio: 1;
	min-width: 0;
	top: 0px;
	left: 5px;
	border: none;
	background: #004d9a;
	-webkit-transform: scale(0);
	-ms-transform: scale(0);
	transform: scale(0);
	transition: all .3s;
}

/*
  checked状態
  文字のcolorとボタンのopacityを変更
*/
.radio_btns .radio_btns__item:checked+span::after {
	-webkit-transform: scale(1);
	-ms-transform: scale(1);
	transform: scale(1);
}

/* チェックボックス デザイン */
.page_contact input[type="checkbox"] {
	/* デフォルトcheckボックス非表示*/
	display: none;
}

.mwform-checkbox-field label {
	cursor: pointer;
}

.mwform-checkbox-field-text {
	color: #3E3E3E;
	font-size: 15px;
	letter-spacing: .08em;
	font-weight: 600;
	display: inline-block;
	position: relative;
	padding: 0 0 0 30px;
}

.mwform-checkbox-field-text::before,
.mwform-checkbox-field-text::after {
	content: "";
	position: absolute;
	display: block;
}

.mwform-checkbox-field-text::before {
	background: #F8F8F8;
	border: 1px solid #E6E6E6;
	border-radius: 2px;
	width: 20px;
	aspect-ratio: 1 / 1;
	min-width: 0;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

.mwform-checkbox-field-text::after {
	border-width: 3px;
	border-color: transparent transparent #333 #333;
	border-style: solid;
	width: 20px;
	aspect-ratio: 2/1;
	min-width: 0;
	margin-top: -0.2em;
	top: 50%;
	left: 0;
	transform: translateY(-50%) rotate(-45deg);
	opacity: 0;
}

input[type="checkbox"]:checked+.mwform-checkbox-field-text::after {
	opacity: 1;
}

.mw_wp_form .horizontal-item {
	display: inline-block;
}

.mw_wp_form .horizontal-item+.horizontal-item {
	margin-left: 0 !important;
}

/* サンクスページ */

.page_contact .thanks_textArea .name {
	font-size: 16px;
	line-height: 2;
	text-align: center;
	margin-bottom: 20px;
}

.page_contact .thanks_textArea .contact_text {
	margin: 0 auto 50px;
	width: 62%;
}

.page_contact .thanks_textArea .ichiran_link {
	background-color: var(--main-color);
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
	color: #fff;
	display: block;
	width: 300px;
	line-height: 50px;
	border-radius: 4px;
	font-size: 16px;
	transition: .3s;
	margin: 0 auto;
	text-decoration: none;
	font-weight: 600;
	letter-spacing: .08em;
	text-align: center;
}

.page_contact .thanks_textArea .contact_text .space {
	display: block;
}

.page_contact .thanks_textArea .contact_text .space {
	display: block;
	margin-top: 10px;
}

/* ステップバー デザイン */
.page_contact .progressbar {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5.6em;
	margin-block: 0 3em;
}

.page_contact .progressbar .item {
	color: #272727;
	font-size: 14px;
	letter-spacing: .08em;
	font-weight: 400;
	text-align: center;
	line-height: 1.5;
	position: relative;
}

.page_contact .progressbar .item+.item::before {
	content: "";
	width: 50px;
	height: 1px;
	background: #E6E6E6;
	position: absolute;
	top: 64%;
	left: -5em;
}

.page_contact .progressbar .item .mark {
	width: 36px;
	aspect-ratio: 1;
	background: #fff;
	border: 1px solid #AFAFAF;
	border-radius: 50%;
	display: block;
	margin: 0 auto 0.5em;
	position: relative;
}

.page_contact .progressbar .item .mark::before {
	content: "";
	width: 41%;
	aspect-ratio: 1;
	background: #004d9a;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 50%;
	translate: -50% -50%;
	opacity: 0;
}

.page_contact .progressbar .item.active .mark::before {
	opacity: 1;
}

.page_contact .progressbar .item .en {
	display: block;
	color: #248cb3;
	letter-spacing: 0;
	font-family: 'Helvetica', 'Arial', sans-serif;
}

.privacy_check_list {
	justify-content: center;
	align-items: center;
	margin-bottom: 25px;
}

.privacy_check_list .hissu {
	background: #c70200;
	color: #fff;
	padding: 2px 15px;
	font-size: 10px;
	letter-spacing: .08em;
	border-radius: 30px;
	font-weight: 600;
}

.mw_wp_form .privacy_check_list .horizontal-item {
	margin: 0;
}

/* PC固定ページ 404ページ */
#page_404 {
	text-align: center;
}

#page_404 .num {
	font-size: 100px;
	font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

#page_404 .text {
	margin-bottom: 1em;
	font-size: 16px;
}

/* PC固定ページ アーカイブページ */
/* 投稿リスト表示 */
.archive_page_list>article {
	padding-bottom: 15px;
	padding-top: 15px;
	border-bottom: 1px dashed #eee;
	padding-right: 30px;
}

.archive_page_list>article:after {
	content: "";
	position: absolute;
	width: 10px;
	height: 10px;
	top: 0;
	right: 5px;
	bottom: 0;
	margin: auto;
	border: solid #ccc;
	border-width: 2px 2px 0 0;
	transform: rotate(45deg);
}

.archive_page_list>article .date {
	font-weight: bold;
	font-size: 80%;
	width: 100px;
}

.archive_page_list>article .content_area {
	width: calc(100% - 100px);
}

.archive_page_list>article .content_area .ttl {
	font-weight: bold;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
}

.archive_page_list>article .content_area .content {
	font-size: 80%;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

/* wp-pagenavi base */
.wp-pagenavi {
	text-align: center;
	margin-top: 50px;
}

.wp-pagenavi a,
.wp-pagenavi span {
	display: inline-block;
	color: #999;
	background-color: #FFF;
	border: solid 1px #e0e0d2;
	padding: 8px 15px;
	margin: 0 2px;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
	text-align: center;
	text-decoration: none;
}

.wp-pagenavi .current {
	color: #FFF;
	background-color: var(--main-color);
	border-color: var(--main-color);
	font-weight: bold;
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
フッター
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* PC追従ボタン */
.fix_contents {
	position: fixed;
	bottom: 50px;
	right: 0;
	background: transparent;
	z-index: 9;
}

.fix_btns {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	gap: 10px;
}

.fix_btn a {
	display: block;
	width: 150px;
	background: #06c755;
	border-radius: 5px 0 0 5px;
	padding: 19px 10px 20px;
	text-align: center;
	-webkit-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

.fix_btn_icon img {
	display: block;
	width: 40px;
	-o-object-fit: contain;
	object-fit: contain;
	margin-inline: auto;
}

.fix_btn_text {
	font-family: 'HiraginoW7';
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.03em;
	color: #fff;
	margin-top: 10px;
}

.fix_btn--blue a {
	background: #004d9a;
}

.fix_btn--lb a {
	background: #4acacb;
}

/* フッター */
.site_footer {
	position: relative;
	background: #f0f0f0;
	padding: 96px 0 82px;
	z-index: 10;
}

.site_footer .head {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	border-bottom: 2px solid #e5e5e5;
	padding-bottom: 16px;
}

.site_footer .logo {
	width: 100%;
	max-width: 300px;
	margin-left: 0;
}

.site_footer .logo a {
	-webkit-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

.site_footer .logo img {
	width: 100%;
}

.site_footer .page_top {
	margin-top: 15px;
}

.site_footer .page_top a {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 10px;
	-webkit-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

.site_footer .link_text {
	font-family: "Funnel Display", sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.03em;
	color: #272727;
}

.site_footer .link_icon {
	-webkit-transform: rotate(-90deg);
	transform: rotate(-90deg);
}

.site_footer .link_icon img {
	display: block;
	width: 20px;
	-o-object-fit: contain;
	object-fit: contain;
}

.site_footer .body {
	gap: 80px;
	margin-top: 68px;
}

.site_footer .company {
	width: calc(44% - 50px);
}

.site_footer .title {
	font-family: 'HiraginoW7';
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.03em;
}

.site_footer .tel {
	font-size: 16px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.03em;
	margin-top: 20px;
}

.site_footer .address {
	font-size: 16px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.03em;
	margin-top: 12px;
}

.site_footer .map {
	position: relative;
	width: 100%;
	aspect-ratio: 500/235;
	margin-top: 30px;
}

.site_footer .map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 0 0 5px 5px;
}

.site_footer .contents {
	width: calc(56% - 50px);
	margin-top: 3px;
}

.site_footer .sub_title {
	font-family: "Funnel Display", sans-serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.03em;
	color: #898989;
}

.site_footer .row {
	gap: 52px;
	margin-top: 25px;
}

.site_footer .nav {
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	gap: 20px;
	/* width: calc(55% - 26px); */
}

.site_footer .menu:not(:first-of-type) {
	margin-top: 14.5px;
}

.site_footer .menu.menu--small {
	margin-top: 10px;
}

.site_footer .menu a {
	font-size: 15px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.03em;
	color: #272727;
	-webkit-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

.site_footer .menu--small a {
	font-size: 12px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.03em;
}

.site_footer .accordion a {
	position: relative;
	padding-right: 20px;
}

.site_footer .accordion a::before,
.site_footer .accordion a::after {
	content: "";
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	background: #272727;
	-webkit-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}

.site_footer .accordion a::before {
	width: 1px;
	height: 13px;
	right: 1px;
}

.site_footer .accordion.open a::before {
	-webkit-transform: translateY(-50%) rotate(90deg);
	transform: translateY(-50%) rotate(90deg);
}

.site_footer .accordion a::after {
	width: 13px;
	height: 1px;
	right: -5px;
}

.site_footer .sub_menus {
	display: grid;
	grid-template-columns: 1fr;
	overflow: hidden;
	max-height: 0;
	margin-top: -5px;
	-webkit-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

.site_footer .sub_menu {
	line-height: 1.8;
}

.site_footer .sub_menus a {
	position: relative;
	font-size: 12px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.03em;
	padding-right: 0;
	padding-left: 5px;
}

.site_footer .sub_menus a::before,
.site_footer .sub_menus a::after {
	display: none;
}

.site_footer .btns {
	width: calc(45% - 26px);
	display: grid;
	grid-template-columns: 1fr;
	gap: 22.5px;
}

.site_footer .copyright {
	display: block;
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.03em;
	margin-top: 105px;
	text-align: right;
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
hover 〜 style
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* デフォルトcss */
a[href $='.pdf']:hover {
	text-decoration: none;
}

/* ボタン */
.c_btn a:hover {
	-webkit-box-shadow: none;
	box-shadow: none;
	-webkit-transform: translateY(5px);
	transform: translateY(5px);
}

.c_btn02 a:hover {
	-webkit-box-shadow: none;
	box-shadow: none;
	-webkit-transform: translateY(5px);
	transform: translateY(5px);
}

/* 商品紹介 */
.c_products .item a:hover {
	opacity: 0.8;
}

/* ヘッダー */
.pc_header .logo a:hover {
	opacity: 0.8;
}

.pc_header .menu:hover::before {
	width: 100%;
}

.pc_header .menu:hover .menu_text {
	color: #248cb3;
}

.pc_header .menu--accent:hover .menu_text {
	color: #06c755;
}

.pc_header .accordion:hover::after {
	background-image: url(./image/icon-arrow-accent.svg);
	-webkit-transform: translateY(-50%) rotate(-90deg);
	transform: translateY(-50%) rotate(-90deg);
}

.pc_header .sub_menu:hover a {
	color: #248cb3;
}

.pc_header .btn a:hover {
	opacity: 0.7;
}

/* TOPページ */
#top_service .item a:hover .image::before {
	opacity: 0;
}

#top_service .item a:hover .title {
	color: #248cb3;
}

#top_news .item a:hover::before {
	right: 15px;
}

#top_news .item a:hover .title {
	color: #248cb3;
}

/* 下層ページ */
#products_container .tag a:hover {
	color: #004d9a;
	background: #fff;
}

#products_container .tag a:hover::before {
	border-right: 2px solid #004d9a;
	border-bottom: 2px solid #004d9a;
}

.page_contact #btn_wrap button:hover {
	opacity: .8;
}

.page_contact .thanks_textArea .ichiran_link:hover {
	opacity: .8;
}

.wp-pagenavi a:hover {
	color: #FFF;
	background-color: var(--main-color);
	border-color: var(--main-color);
}

/* フッター */
.fix_btn:hover a {
	width: 170px;
}

.site_footer .logo a:hover {
	opacity: 0.8;
}

.site_footer .page_top a:hover {
	opacity: 0.8;
}

.site_footer .menu a:hover {
	opacity: 0.7;
}

#manufacturing_case .btn {
	margin-top: 48px;
	margin-left: 0;
}

#page_case .page_case_cont {
	padding: 100px 0;
}

.page_case_cont .page_case_list li {
	font-size: 16px;
	border-bottom: 1px solid #248cb3;
	line-height: 1.5;
	padding-bottom: .8em;
	display: flex;
	align-items: flex-start;
}

.page_case_cont .page_case_list li::before {
	content: "・";
	color: #248cb3;
}

.page_case_cont .page_case_list li+li {
	margin-top: .8em;
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
750px 〜 style
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* ----------------------- デフォルトcss ------------------------- */
@media (max-width: 750px) {
	body {
		min-width: 100%;
		font-size: 4.1vw;
		line-height: 2;
	}

	a[href $='.pdf']::before {
		width: 7vw;
		height: 8vw;
		margin-right: 2.5vw;
	}

	a[href $='.pdf']:hover {
		text-decoration: underline;
	}

	.wrap.mid,
	.wrap.lr,
	.wrap {
		width: 94.87%;
	}

	.no_image {
		border: 0.26vw solid #E5E5E5;
	}

	.no_article {
		margin-top: 5.13vw;
	}

	/* ----------------------- サイト共通パーツ ------------------------- */
	.common_page_main {
		padding-block: 20vw;
	}

	.common_page_main .title_box .title {
		font-size: 5.6vw;
	}

	.common_page_wrap {
		padding: 20vw 0;
	}

	.common_page_wrap .wrap {
		width: 89.7%;
	}

	.reserve_text {
		font-size: 6vw;
	}

	/* ボタン */
	.c_btn {
		max-width: 82.05vw;
	}

	.c_btn a {
		font-size: 4.1vw;
		border-radius: 8.97vw;
		padding: 4.87vw 15.38vw;
		-webkit-box-shadow: 0 1.28vw 0 #0c2c60;
		box-shadow: 0 1.28vw 0 #0c2c60;
	}

	.c_btn a:hover {
		-webkit-box-shadow: 0 1.28vw 0 #0c2c60;
		box-shadow: 0 1.28vw 0 #0c2c60;
		-webkit-transform: none;
		transform: none;
	}

	.c_btn a::before {
		width: 5.13vw;
		height: 5.13vw;
		right: 7.69vw;
	}

	.c_btn02 {
		max-width: 66.67vw;
	}

	.c_btn02 a {
		gap: 2.56vw;
		border-radius: 8.97vw;
		padding: 2.56vw 10.26vw 2.56vw 5.13vw;
		-webkit-box-shadow: 0 1.28vw 0 #0c2c60;
		box-shadow: 0 1.28vw 0 #0c2c60;
	}

	.c_btn02 a:hover {
		-webkit-box-shadow: 0 1.28vw 0 #0c2c60;
		box-shadow: 0 1.28vw 0 #0c2c60;
		-webkit-transform: none;
		transform: none;
	}

	.c_btn02--bg01 a:hover {
		-webkit-box-shadow: 0 1.28vw 0 #0c6056;
		box-shadow: 0 1.28vw 0 #0c6056;
	}

	.c_btn02--bg02 a:hover {
		-webkit-box-shadow: 0 1.28vw 0 #0c4360;
		box-shadow: 0 1.28vw 0 #0c4360;
	}

	.c_btn02 a::before {
		width: 3.59vw;
		height: 3.59vw;
		right: 5.13vw;
	}

	.c_btn02 .btn_icon img {
		width: 10.26vw;
	}

	.c_btn02 .btn_text {
		font-size: 4.1vw;
	}

	.c_btn02--bg01 a {
		-webkit-box-shadow: 0 1.28vw 0 #0c6056;
		box-shadow: 0 1.28vw 0 #0c6056;
	}

	.c_btn02--bg02 a {
		-webkit-box-shadow: 0 1.28vw 0 #0c4360;
		box-shadow: 0 1.28vw 0 #0c4360;
	}

	/* CTA */
	.c_cta .body {
		border-radius: 0;
		padding: 12.82vw 5.13vw;
	}

	.c_cta .c_title_block .en {
		font-size: 15.38vw;
	}

	.c_cta .c_title_block .ja {
		gap: 1.28vw;
		margin-top: -10.26vw;
	}

	.c_cta .text {
		margin-top: 6.15vw;
		text-align: left;
	}

	.c_cta .btns {
		max-width: 100%;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		gap: 5.13vw;
		margin-top: 7.69vw;
	}

	.c_cta .btn a {
		border-radius: 12.82vw;
		padding: 4.1vw 10.26vw 4.1vw 7.18vw;
	}

	.c_cta .btn a::before {
		width: 5.13vw;
		height: 5.13vw;
	}

	.c_cta .btn_text {
		font-size: 4.62vw;
	}

	/* 画像＋テキスト */
	.c_media .item {
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		-ms-flex-direction: column-reverse;
		flex-direction: column-reverse;
	}

	.c_media .item:not(:first-child) {
		margin-top: 15.38vw;
	}

	.c_media .image {
		width: 100%;
		margin-top: 5.13vw;
	}

	.c_media .image img {
		border-radius: 2.56vw;
	}

	.c_media .contents {
		width: 100%;
	}

	.c_media .title {
		font-size: 4.62vw;
		border-bottom: 0.51vw solid #272727;
		padding-bottom: 2.56vw;
	}

	.c_media .text {
		margin-top: 6.15vw;
	}

	/* モーダル */
	.c_modal .content {
		max-width: 85vw;
	}

	.c_modal .close {
		top: -15vw;
		right: 0;
		font-size: 7.69vw;
	}

	/* 商品紹介 */
	.c_products {
		padding-top: 15.38vw;
	}

	.c_products .wrap {
		width: 89.7%;
	}

	.c_products .text {
		line-height: 1.6;
		margin-top: 5.13vw;
	}

	.c_products .items {
		grid-template-columns: repeat(2, 1fr);
		gap: 5.13vw;
		margin-top: 5.13vw;
	}

	.c_products .item {
		border-radius: 2.56vw;
		padding: 5.13vw 4.1vw;
	}

	.c_products .item a:hover {
		opacity: 1;
	}

	.c_products .name {
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
		font-size: 3.59vw;
		margin-top: 2.56vw;
	}

	/* セクションタイトル */
	.c_title_block .ja {
		gap: 2.56vw;
		margin-top: -11.54vw;
	}

	.c_title_block .ja_icon img {
		width: 4.62vw;
	}

	.c_title_block .ja_text {
		font-size: 7.18vw;
	}

	.c_title_block .en {
		font-size: 20.51vw;
	}

	.c_title_block--center .ja {
		margin-top: -14.1vw;
	}

	.c_title_block02 .en {
		font-size: 4.1vw;
	}

	.c_title_block02 .ja {
		font-size: 7.18vw;
		margin-top: 2.56vw;
	}

	/* 下層FV */
	.common_fv {
		border-bottom: 0.26vw solid #e5e5e5;
		padding: 112px 0 21.79vw;
	}

	.common_fv::before {
		width: 82.05vw;
		height: 79.49vw;
	}

	.common_fv::after {
		width: 82.05vw;
		height: 170vw;
		top: 116.15vw;
	}

	.common_fv .wrap {
		width: 89.7%;
	}

	.common_fv .c_title_block {
		margin-top: 11.54vw;
	}

	.common_fv .c_title_block .en {
		font-size: 22.56vw;
	}

	.common_fv .c_title_block .ja {
		margin-top: -7.69vw;
	}

	/* 下層FV タイトル調整 */
	#page_recruit .common_fv .c_title_block .en,
	#page_contact .common_fv .c_title_block .en,
	#page_confirm .common_fv .c_title_block .en,
	#page_thanks .common_fv .c_title_block .en,
	#page_privacy .common_fv .c_title_block .en,
	#page_sitemap .common_fv .c_title_block .en {
		font-size: 17.95vw;
	}

	#page_recruit .common_fv .c_title_block .ja,
	#page_contact .common_fv .c_title_block .ja,
	#page_confirm .common_fv .c_title_block .ja,
	#page_thanks .common_fv .c_title_block .ja,
	#page_privacy .common_fv .c_title_block .ja,
	#page_sitemap .common_fv .c_title_block .ja {
		margin-top: -6.15vw;
	}

	#page_purchaseorder .common_fv .c_title_block .en {
		font-size: 9.7vw;
	}

	#page_purchaseorder .common_fv .c_title_block .ja {
		margin-top: -3.08vw;
	}

	/* パンくず */
	.breadcrumb {
		font-size: 3.08vw;
	}

	.breadcrumb span:not(:last-of-type) {
		padding-right: 7.18vw;
	}

	.breadcrumb span a::before {
		width: 0.26vw;
		height: 5.13vw;
		right: -3.85vw;
	}

	/* ----------------------- SPヘッダー ------------------------- */
	.sp_header_wrap {
		position: relative;
	}

	#sp_header {
		position: absolute;
		width: 94.8%;
		height: 80px;
		top: 20px;
		left: 50%;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
		background: #fff;
		-webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.08);
		box-shadow: 0 0 10px rgba(0, 0, 0, 0.08);
		border-radius: 5px;
		padding: 20px 10px;
		z-index: 1000;
	}

	#sp_header.fixed {
		position: fixed;
	}

	#sp_header .body {
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}

	#sp_header .logo {
		width: 100%;
		max-width: 200px;
		margin-left: 0;
	}

	#sp_header .logo img {
		display: block;
	}

	/* ----------------------- TOPページ ------------------------- */
	/* FV */
	#top_fv {
		height: 100svh;
		height: calc(100svh - 17.95vw);
	}

	#top_fv .wrap {
		position: relative;
		height: 100%;
	}

	#top_fv .title {
		font-size: 11.9vw;
		line-height: 1.4;
		padding: 0 0 1.28vw 2.56vw;
	}

	#top_fv .pagination-bullets,
	#top_fv .swiper-pagination-bullets.swiper-pagination-horizontal,
	#top_fv .swiper-pagination-custom,
	.swiper-pagination-fraction {
		bottom: 5.13vw;
		left: 1.28vw;
	}

	#top_fv .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
	#top_fv .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
		margin: 0 1.92vw;
	}

	#top_fv .swiper-pagination-bullet {
		width: 2.56vw;
		height: 2.56vw;
	}

	/* クリーンダクト工業とは */
	#top_about {
		padding: 15.38vw 0 25.64vw;
		overflow: hidden;
	}

	#top_news::before {
		width: 85.38vw;
		height: 82.56vw;
	}

	#top_about::after {
		width: 85.38vw;
		height: 82.56vw;
		bottom: 0;
		right: 0;
		background-image: url("./image/circle-bg04.png");
	}

	#top_about .wrap {
		width: 89.7%;
		padding-left: 0;
	}

	#top_about .body {
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		-ms-flex-direction: column-reverse;
		flex-direction: column-reverse;
		gap: 4.36vw;
	}

	#top_about .images {
		position: relative;
		width: 100%;
	}

	#top_about .image01 {
		width: 61.54vw;
	}

	#top_about .image01 img {
		aspect-ratio: 240/320;
	}

	#top_about .image02 {
		width: 37.18vw;
		left: 0;
		margin-right: auto;
		margin-top: -37.18vw;
	}

	#top_about .image02 img {
		aspect-ratio: 145/200;
	}

	#top_about .sub_image {
		width: 45.38vw;
		height: 40.26vw;
		bottom: -17.95vw;
		right: -5.13vw;
	}

	#top_about .contents {
		position: relative;
		width: 100%;
		z-index: 2;
	}

	#top_about .text {
		line-height: 1.6;
		padding-right: 1.28vw;
		margin-top: 5.13vw;
	}

	#top_about .btn {
		margin-top: 7.69vw;
	}

	/* 事業紹介 */
	#top_service {
		background-image: url("./image/top-service-bg-sp.svg");
		padding: 10.26vw 0 15.38vw;
		margin-top: -3.85vw;
	}

	#top_service .wrap {
		width: 89.7%;
	}

	#top_service .items {
		grid-template-columns: 1fr;
		gap: 3.08vw;
		margin-top: 6.92vw;
	}

	#top_service .item a:hover .image::before {
		opacity: 1;
	}

	#top_service .image img {
		aspect-ratio: 346/208;
		border-radius: 1.28vw 1.28vw 0 0;
	}

	#top_service .icon img {
		width: 15.38vw;
		height: 15.38vw;
		top: 4.62vw;
		left: 4.62vw;
	}

	#top_service .contents {
		border-radius: 0 0 1.28vw 1.28vw;
		padding: 3.59vw 5.13vw 3.59vw 5.64vw;
	}

	#top_service .sub_title {
		font-size: 3.59vw;
		color: #004D9A;
	}

	#top_service .row {
		gap: 2.56vw;
		margin-top: 1.28vw;
	}

	#top_service .title {
		font-size: 5.13vw;
	}

	#top_service .item a:hover .title {
		color: #272727;
	}

	#top_service .btn {
		gap: 5.13vw;
	}

	#top_service .link_text {
		font-size: 4.1vw;
	}

	#top_service .link_icon img {
		width: 5.13vw;
	}

	/* 商品紹介 */
	#top_product {
		background-image: url("./image/top-product-bg-sp.png");
		padding: 15.38vw 0 16.41vw;
	}

	#top_product .section_title {
		font-size: 5.13vw;
	}

	#top_product .catch {
		margin-top: 6.92vw;
	}

	#top_product .catch span {
		font-size: 6.15vw;
	}

	#top_product .catch span::before {
		height: 0.51vw;
		bottom: 0.77vw;
	}

	#top_product .text {
		font-size: 4.1vw;
		line-height: 1.6;
		margin-top: 5.64vw;
	}

	#top_product .btn {
		margin-top: 5.13vw;
	}

	#top_product .en {
		position: absolute;
		bottom: -3.85vw;
		font-size: 17.95vw;
	}

	/* お知らせ */
	#top_news {
		padding: 15.38vw 0 0;
	}

	#top_news .body {
		border-radius: 0;
		padding: 13.85vw 5.13vw 14.1vw;
		z-index: 1;
	}

	#top_news .items {
		margin-top: 6.41vw;
	}

	#top_news .item a {
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		gap: 1.79vw;
		border-bottom: 0.51vw solid #e5e5e5;
		padding: 5.38vw 6.41vw 5.38vw 2.56vw;
	}

	#top_news .item:first-of-type a {
		padding: 0 6.41vw 5.38vw 2.56vw;
	}

	#top_news .item a::before {
		width: 5.13vw;
		height: 5.13vw;
		top: calc(50% - -4.36vw);
		right: 0;
	}

	#top_news .item:first-of-type a::before {
		top: calc(50% - -1.54vw);
	}

	#top_news .item a:hover::before {
		right: 0;
	}

	#top_news .date {
		font-size: 4.1vw;
		border-radius: 6.15vw;
		padding: 1.79vw 10.77vw;
	}

	#top_news .title {
		font-size: 4.1vw;
		line-height: 1.6;
		-webkit-line-clamp: 2;
	}

	#top_news .item a:hover .title {
		color: #272727;
	}

	#top_news .btn {
		max-width: 90vw;
		margin-inline: auto;
		margin-top: 6.15vw;
	}

	#top_news .btn a {
		padding: 4.87vw 5vw;
	}

	#top_news .btn a::before {
		right: 4vw;
	}

	#top_news .sub_image {
		width: 29.74vw;
		height: 40.26vw;
		bottom: -21.79vw;
		left: -2.56vw;
	}

	/* 採用情報 */
	#top_recruit {
		position: relative;
		padding: 15.38vw 0 13.59vw;
		z-index: 1;
	}

	#top_recruit::before {
		width: 85.38vw;
		height: 82.82vw;
	}

	#top_recruit .body {
		padding: 0 5.13vw;
	}

	#top_recruit .wrap {
		width: 100%;
	}

	#top_recruit .contents {
		max-width: 100%;
		margin-inline: auto;
		background: transparent;
		padding: 0;
	}

	#top_recruit .section_title {
		gap: 2.56vw;
	}

	#top_recruit .section_title_icon img {
		width: 4.62vw;
	}

	#top_recruit .section_title_text {
		font-size: 4.1vw;
	}

	#top_recruit .title {
		font-size: 6.15vw;
		margin-top: 4.1vw;
	}

	#top_recruit .text {
		margin-top: 3.08vw;
	}

	#top_recruit .btn {
		margin-top: 4.1vw;
	}

	#top_recruit .swiper-container {
		position: relative;
		width: 100vw;
		margin: 0 calc(50% - 50vw);
		top: 0;
		left: 0;
		-webkit-transform: none;
		transform: none;
	}

	#top_recruit .swiper-wrapper {
		margin-top: 8.97vw;
	}

	#top_recruit .slide_text {
		top: calc(50% + 13vw);
		top: calc(50% - 14.87vw);
	}

	#top_recruit .slide_text span {
		font-size: 14.36vw;
	}

	/* ----------------------- 下層ページ ------------------------- */
	/* SP固定ページ クリーンダクト工業とは */
	#about_philosophy {
		padding: 15.38vw 0;
	}

	#about_philosophy .wrap {
		width: 89.7%;
	}

	#about_philosophy .section_title {
		font-size: 5.13vw;
	}

	#about_philosophy .catch {
		margin-top: 6.41vw;
	}

	#about_philosophy .catch span {
		font-size: 6.15vw;
	}

	#about_philosophy .catch span::before {
		height: 0.51vw;
		bottom: 1.28vw;
	}

	#about_philosophy .text {
		font-size: 4.1vw;
		line-height: 1.6;
		margin-top: 5.64vw;
		text-align: left;
	}

	#about_philosophy .row {
		gap: 2.56vw;
		padding-right: 0;
		margin-top: 10.26vw;
	}

	#about_philosophy .sub_title {
		font-size: 3.59vw;
	}

	#about_philosophy .title {
		font-size: 7.69vw;
	}

	#about_company {
		padding: 0 0 15.38vw 0;
	}

	#about_company .body {
		border-radius: 0;
		padding: 12.82vw 5.13vw;
	}

	#about_company .table {
		margin-top: 6.41vw;
	}

	#about_company .dl {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		gap: 2.56vw;
		border-top: 0.51vw solid #e5e5e5;
		padding: 6.15vw 0;
	}

	#about_company .dl:last-child {
		border-bottom: 0.51vw solid #e5e5e5;
	}

	#about_company .dt,
	#about_company .dd {
		font-size: 4.1vw;
		padding: 0 2.56vw;
	}

	#about_company .dt {
		width: 100%;
	}

	#about_company .dd {
		width: 100%;
	}

	#about_company .list {
		padding-left: 1em;
	}

	#about_company .list::before {
		width: 1.54vw;
		height: 1.54vw;
	}

	#about_access {
		padding: 0 0 15.38vw;
	}

	#about_access::before {
		width: 85.38vw;
		height: 82.56vw;
	}

	#about_access .wrap {
		width: 89.7%;
	}

	#about_access .text {
		font-size: 4.1vw;
		margin-top: 5.13vw;
	}

	#about_access .map {
		width: 100%;
		max-width: 100%;
		margin-inline: auto;
		margin-top: 7.69vw;
	}

	#about_access .map iframe {
		border-radius: 2.56vw;
	}

	/* SP固定ページ ダクト施工 */
	#construction_container {
		padding: 15.38vw 0;
	}

	#construction_container .wrap {
		width: 89.7%;
	}

	#page_construction .common_fv .c_title_block .en {
		font-size: 10.77vw;
	}

	#page_construction .common_fv .c_title_block .ja {
		margin-top: -4.1vw;
	}

	#construction_cta {
		padding: 0 0 15.38vw;
	}

	/* SP固定ページ ダクト製造 */
	#manufacturing_container {
		padding: 15.38vw 0;
	}

	#manufacturing_container .wrap {
		width: 89.7%;
	}

	#page_manufacturing .common_fv .c_title_block .en {
		font-size: 9.74vw;
	}

	#page_manufacturing .common_fv .c_title_block .ja {
		margin-top: -3.08vw;
	}

	#manufacturing_case {
		padding: 0 0 15.38vw;
	}

	#manufacturing_case .wrap {
		width: 89.7%;
	}

	#manufacturing_case .lists {
		font-size: 3.85vw;
		margin-top: 5.13vw;
	}

	#manufacturing_case .list::before {
		width: 1.54vw;
		height: 1.54vw;
	}

	#manufacturing_cta {
		padding: 0 0 15.38vw;
	}

	/* SP固定ページ 商品紹介 */
	#products_container {
		padding: 15.38vw 0 0;
	}

	#products_container .wrap {
		width: 89.7%;
	}

	#page_products .common_fv .c_title_block .en {
		font-size: 15.38vw;
	}

	#page_products .common_fv .c_title_block .ja {
		margin-top: -5.13vw;
	}

	#products_container .section_title {
		font-size: 5.9vw;
		border-bottom: 0.51vw solid #272727;
		padding-bottom: 2.05vw;
	}

	#products_container .tags {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		gap: 2.56vw;
		margin-top: 8.21vw;
	}

	#products_container .tag {
		width: 100%;
	}

	#products_container .tag a {
		display: block;
		font-size: 4.1vw;
		border: 0.51vw solid #004d9a;
		padding: 3.08vw 10.26vw 3.08vw 5.13vw;
	}

	#products_container .tag a:hover {
		color: #fff;
		background: #004d9a;
	}

	#products_container .tag a::before {
		top: calc(50% - 0.26vw);
		left: auto;
		right: 5.13vw;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%) rotate(45deg);
		transform: translateY(-50%) rotate(45deg);
		width: 2.56vw;
		height: 2.56vw;
		border-right: 0.51vw solid #fff;
		border-bottom: 0.51vw solid #fff;
	}

	#products_container .tag a:hover::before {
		border-right: 0.51vw solid #fff;
		border-bottom: 0.51vw solid #fff;
	}

	#products_container .text {
		margin-top: 8.21vw;
		text-align: left;
	}

	#products_container .table_wrap {
		overflow-x: scroll;
	}

	#products_container table {
		white-space: nowrap;
		max-width: 100%;
		margin-top: 8.21vw;
	}

	#products_container table th,
	#products_container table td {
		border: 0.26vw solid #d3d3d3;
		padding: 3.08vw 7.69vw;
	}

	#products_container table th {
		font-size: 5.13vw;
	}

	#products_container table tr:nth-child(n+2) th {
		font-size: 4.1vw;
	}

	#products_category {
		padding: 5.13vw 0 15.38vw;
	}

	#products_category::before {
		width: 85.38vw;
		height: 82.56vw;
	}

	/* SP固定ページ 発注書フォーマット */
	#order_cta {
		padding: 15.38vw 0 20.51vw;
	}

	#order_cta .wrap {
		width: 89.7%;
	}

	#order_cta .body {
		background: transparent;
		padding: 0;
	}

	#order_cta .btns {
		gap: 7.69vw;
	}

	#order_cta .btn_catch {
		font-size: 3.85vw;
		margin-top: 5.13vw;
	}

	#order_delivery {
		padding: 0 0 20.51vw;
	}

	#order_delivery .wrap {
		width: 89.7%;
	}

	#order_delivery .lead {
		text-align: left;
	}

	#order_delivery .items {
		grid-template-columns: 1fr;
		gap: 10.26vw;
		margin-top: 8.21vw;
	}

	#order_delivery .image img {
		aspect-ratio: 540 / 240;
		border-radius: 2.56vw;
	}

	#order_delivery .title {
		font-size: 5.64vw;
		margin-top: 3.08vw;
	}

	#order_delivery .map {
		aspect-ratio: 650 / 380;
		margin-top: 10.26vw;
	}

	#order_delivery .map iframe {
		border-radius: 2.56vw;
	}

	#order_flow {
		padding: 0 0 15.38vw;
	}

	#order_flow .wrap {
		width: 89.7%;
	}

	#order_flow .body {
		border-radius: 0;
		padding: 7.69vw 5.13vw 10.26vw;
	}

	#order_flow .c_title_block .ja {
		margin-top: -8.97vw;
	}

	#order_flow .items {
		margin-top: 8.21vw;
	}

	#order_flow .item {
		gap: 5.13vw;
		border-radius: 1.28vw;
		padding: 5.13vw;
	}

	#order_flow .item:not(:first-of-type) {
		margin-top: 15.38vw;
	}

	#order_flow .item::before {
		width: 15.38vw;
		height: 6.41vw;
		bottom: -11.54vw;
	}

	#order_flow .icon img {
		width: 10.26vw;
		height: 10.26vw;
	}

	#order_flow .number {
		font-size: 5.13vw;
	}

	#order_flow .text {
		font-size: 3.85vw;
		margin-top: 0.77vw;
	}

	/* SP固定ページ お問い合わせ */
	.page_contact .btn {
		width: 74.36vw;
	}

	.page_contact .btn a {
		font-size: 3.72vw;
		padding: 3.85vw 12.82vw 3.85vw 7.69vw;
	}

	.page_contact .btn a::before {
		right: 5.13vw;
	}

	.contact_form_disc .text {
		font-size: 3.6vw;
		margin-block: 0 0.8em;
	}

	.contact_form_disc .caution {
		font-size: 3.1vw;
		letter-spacing: .06em;
	}

	.common_contact_form .form_box {
		margin-block: 0 10vw;
	}

	.common_contact_form .form_box dl {
		grid-template-columns: 1fr;
		gap: 0.6em;
	}

	.common_contact_form .form_box dl+dl {
		margin-block: 1.3em 0;
	}

	.common_contact_form .form_box dl dt {
		flex-direction: row-reverse;
		justify-content: space-between;
		font-size: 4.1vw;
		padding-inline: 0;
	}

	.common_contact_form .form_box dl dt .label {
		font-size: 3.1vw;
	}

	.common_contact_form .form_box dl dt::after {
		content: none;
	}

	.common_contact_form input[type="text"],
	.common_contact_form input[type="email"],
	.common_contact_form #zip {
		font-size: 3.6vw;
	}

	.common_contact_form input[type="file"] {
		font-size: 3.4vw;
	}

	.common_contact_form select {
		width: 100%;
		font-size: 3.6vw;
	}

	.common_contact_form textarea {
		height: 33vw;
		font-size: 3.6vw;
	}

	.radio_btns,
	.checkboxes {
		gap: 0.5em 2.5em;
	}

	.page_contact #btn_wrap button {
		width: 83%;
		line-height: 15.5vw;
		font-size: 4.6vw;
	}

	.page_contact #btn_wrap button[name="submitBack"] {
		margin-top: 4vw;
	}

	.mwform-checkbox-field.horizontal-item {
		display: block;
	}

	.page_contact #btn_wrap {
		width: 100%;
		text-align: center;
	}

	.privacy_check_list .mwform-checkbox-field-text {
		font-size: 3.8vw;
		padding-left: 11vw;
	}

	.mw_wp_form .privacy_check_list .horizontal-item {
		margin-right: 4vw;
	}

	.privacy_check_list .hissu {
		padding: 0.3vw 4vw;
	}

	.privacy_check_list {
		margin-bottom: 6vw;
	}

	.privacy_term_detail {
		font-size: 3.4vw;
		margin: 5vw 0;
	}

	.privacy_term_outer {
		width: 96%;
		padding: 5vw 0;
	}

	.privacy_term_outer .privacy_term_inner .main_text {
		font-size: 3.4vw;
		line-height: 1.6;
		margin-bottom: 5vw;
	}

	.privacy_term_outer .privacy_term_inner dl dt {
		font-size: 3.5vw;
		margin-bottom: 1.5vw;
	}

	.privacy_term_outer .privacy_term_inner dl dd {
		font-size: 3.5vw;
		line-height: 1.6;
	}

	.privacy_term_outer .privacy_term_inner dl+dl {
		margin-top: 7vw;
	}

	.privacy_term_detail::after {
		width: 2.5vw;
		margin: 1.5vw auto 0;
	}

	.radio_note {
		font-size: 3.08vw;
	}

	.radio_btns .radio_btns__item+span {
		font-size: 3.59vw;
		padding-left: 7vw;
	}

	.radio_btns .radio_btns__item+span::before,
	.radio_btns .radio_btns__item+span::after {
		width: 5.13vw;
	}

	.radio_btns .radio_btns__item+span::after {
		width: 2.56vw;
		left: 1.28vw;
	}

	/* サンクスページ */
	.page_contact .thanks_textArea .name {
		font-size: 4vw;
		margin-bottom: 3vw;
	}

	.page_contact .thanks_textArea .contact_text {
		font-size: 3.5vw;
		margin-bottom: 2em;
		width: 100%;
	}

	.page_contact .thanks_textArea .ichiran_link {
		width: 80%;
		line-height: 12vw;
		font-size: 4vw;
	}

	/* ステップバー デザイン */
	.page_contact .progressbar {
		gap: 4.5em;
		margin-block: 0 2.5em;
	}

	.page_contact .progressbar .item {
		font-size: 3.1vw;
	}

	.page_contact .progressbar .item+.item::before {
		width: 5.7vw;
		top: 63%;
		left: -3.3em;
	}

	.page_contact .progressbar .item .mark {
		width: 7.7vw;
		margin: 0 auto 0.4em;
	}

	/* SP固定ページ 404ページ */
	#page_404 .num {
		font-size: 20vw;
		line-height: 1.5;
	}

	#page_404 .text {
		font-size: 3.5vw;
	}

	/* SP投稿ページ アーカイブページ */
	.archive_page_list>article {
		padding-right: 20px;
	}

	.archive_page_list>article .date {
		width: 80px;
	}

	.archive_page_list>article .content_area {
		width: calc(100% - 80px);
	}

	.archive_page_list>article:after {
		width: 7px;
		height: 7px;
	}

	/* SP固定ページ サイトマップ */
	ul#sitemap_list li {
		margin: 0;
	}

	body #sitemap_list li a {
		font-size: 4vw;
		padding: 1vw 2vw;
		line-height: 9vw;
		margin-bottom: 1vw;
	}

	body #sitemap_list li.home-item {
		margin-bottom: 4vw;
	}

	body #sitemap_list {
		padding: 0;
	}

	/* ----------------------- フッター ------------------------- */
	/* フッター追従ボタン */
	.footer_follow {
		position: fixed;
		width: 100%;
		bottom: 0;
		left: 0;
		z-index: 11;
	}

	.footer_follow .follow_btns {
		display: grid;
		grid-template-columns: 57.18vw 1fr 1fr;
	}

	.footer_follow .follow_btn a {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		gap: 2.56vw;
		padding: 3.85vw 3.59vw;
		background: #004d9a;
		border-right: 0.26vw solid #fff;
	}

	.footer_follow .follow_btn:nth-of-type(1) a {
		padding: 3.85vw 3.59vw 3.85vw 0;
		border-radius: 1.28vw 0 0 0;
	}

	.footer_follow .follow_btn:nth-of-type(3) a {
		border-radius: 0 1.28vw 0 0;
	}

	.footer_follow .follow_btn:last-of-type a {
		border-right: none;
	}

	.footer_follow .follow_btn--bg01 a {
		background: #03c755;
	}

	.footer_follow .follow_btn--bg02 a {
		background: #4acacb;
	}

	.footer_follow .follow_btn_icon img {
		width: 10.26vw;
		-o-object-fit: contain;
		object-fit: contain;
	}

	.footer_follow .follow_btn_text {
		font-size: 14px;
		font-weight: 700;
		line-height: 1;
		letter-spacing: 0.03em;
		font-size: 3.59vw;
		color: #fff;
	}

	/* フッター */
	.site_footer {
		padding: 11.54vw 0 23.08vw;
	}

	.site_footer .wrap {
		width: 89.7%;
	}

	.site_footer .head {
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		-ms-flex-direction: column-reverse;
		flex-direction: column-reverse;
		border-bottom: 0.51vw solid #e5e5e5;
		padding-bottom: 6.15vw;
	}

	.site_footer .logo {
		max-width: 71.79vw;
		margin-inline: auto;
		margin-top: 6.15vw;
	}

	.site_footer .logo a:hover {
		opacity: 1;
	}

	.site_footer .page_top a {
		gap: 2.31vw;
	}

	.site_footer .page_top a:hover {
		opacity: 1;
	}

	.site_footer .link_text {
		font-size: 4.1vw;
	}

	.site_footer .link_icon img {
		width: 5.13vw;
	}

	.site_footer .body {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		gap: 5.64vw;
		margin-top: 8.97vw;
	}

	.site_footer .company {
		width: 100%;
		text-align: center;
	}

	.site_footer .title {
		font-size: 4.62vw;
	}

	.site_footer .tel {
		font-size: 3.59vw;
		margin-top: 3.85vw;
	}

	.site_footer .address {
		font-size: 3.59vw;
		line-height: 1.57;
		margin-top: 2.56vw;
	}

	.site_footer .map {
		aspect-ratio: 350/166;
		margin-top: 6.41vw;
	}

	.site_footer .map iframe {
		border-radius: 0 0 3px 3px;
		border-radius: 0 0 1.28vw 1.28vw;
	}

	.site_footer .contents {
		width: 100%;
	}

	.site_footer .sub_title {
		font-family: "Funnel Display", sans-serif;
		font-size: 20px;
		font-weight: 700;
		line-height: 1;
		letter-spacing: 0.03em;
		color: #898989;
	}

	.site_footer .row {
		margin-top: 0;
	}

	.site_footer .sub_title,
	.site_footer .nav {
		display: none;
	}

	.site_footer .btns {
		width: 100%;
		gap: 5.13vw;
	}

	.site_footer .lists {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		gap: 5.13vw;
		margin-top: 10.26vw;
	}

	.site_footer .list {
		text-align: center;
	}

	.site_footer .list a {
		font-size: 14px;
		font-weight: 500;
		line-height: 1;
		letter-spacing: 0.03em;
		font-size: 3.59vw;
		color: #272727;
	}

	.site_footer .copyright {
		font-size: 3.59vw;
		margin-top: 1.28vw;
		text-align: center;
	}

	#manufacturing_case .btn {
		margin-top: 7.69vw;
	}

	#page_case .page_case_cont {
		padding: 20vw 0;
	}

	.page_case_cont .page_case_list li {
		font-size: 3.6vw;
	}

	.c_title_block .ja_text .size {
	margin-left: 0;
	display: block;
}
}