@charset "utf-8";


/* scroll_up ｜ 下から上へ出現
---------------------------------*/
.scroll_up {
	transition: 0.8s ease-in-out;
	transform: translateY(30px);
	opacity: 0;
}
.scroll_up.is-inview {
	transform: translateY(0);
	opacity: 1.0;
}
.timing02 {transition-delay: .2s;}
.timing03 {transition-delay: .4s;}
.timing04 {transition-delay: .6s;}
.timing05 {transition-delay: .8s;}
.timing06 {transition-delay: .10s;}
.timing07 {transition-delay: .12s;}
.timing08 {transition-delay: .14s;}
.timing09 {transition-delay: .16s;}
.timing10 {transition-delay: .18s;}


/*	レイアウト
---------------------------------*/
html {
	font-size: 62.5%;
}

body {
	position: relative;
	margin: 0;
	padding: 220px 0 0;
	width: 100%;
	line-height: 1.8;
	color: #363636;
	color: #000000;
	font-family: 'Noto Sans JP', '游ゴシック体', 'Yu Gothic', 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', 'Osaka', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-weight: 400;
}

#wrapper {
	overflow: hidden; /* フォールバック */
	overflow: clip;   /* モダンブラウザ向け */
}

.sponly {
	display: none;
}
.pconly {
	display: inline;
}


@media screen and (min-width: 960px) {
    a[href^="tel:"] {
        display: inline-block;
        pointer-events: none;
        cursor: default;
        text-decoration: none;
    }
}


#ninsyou, #link01, #link02, #link03, #link04, #link05, #link06, #link07, #link08, #link09, #link10, #link11, #link12, #link13, #link14, #link15, #link16, #link17, #link18, #link19, #link20, #link21, #link22, #link23, #link24, #link25, #link26, #link27, #link28, #link29, #link30 {
	position: relative;
	margin-top: -200px;
	padding-top: 200px;
	z-index: -1000;
}

@media screen and (max-width:959px) {
    body {
        padding: 60px 0 0;
    }
    #ninsyou, #link01, #link02, #link03, #link04, #link05, #link06, #link07, #link08, #link09, #link10, #link11, #link12, #link13, #link14, #link15, #link16, #link17, #link18, #link19, #link20, #link21, #link22, #link23, #link24, #link25, #link26, #link27, #link28, #link29, #link30 {
        margin-top: -80px;
        padding-top: 80px;
    }
}

@media screen and (max-width:767px) {
}

@media screen and (max-width:599px) {
    .sponly {
        display: inline;
    }
    .pconly {
        display: none;
    }
}


/*	サイド 問い合わせ
---------------------------------*/
.side-btn {
	position: fixed;
	bottom: 10%;
	right: 0;
	line-height: 1;
	z-index: 1010;
}
.side-btn ul {
	margin: 0;
	font-size: 0;
}
.side-btn ul li {
	width: clamp(100px, 100px + 123 * (100vw - 375px) / 905, 223px);
	display: block;
}
.side-btn ul li a {
}

@media screen and (max-width:1279px) {
}

@media screen and (max-width:959px) {
}

@media screen and (max-width:767px) {
}

@media screen and (max-width:599px) {
}


/*	ヘッダー
---------------------------------*/
header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	line-height: 1;
	background-color: rgba(255,255,255,0.7);
	z-index: 1010;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
header.bgwhite {
}
.hd-inr {
	position: relative;
	margin: 0 auto;
	padding: 0 0px 0px 40px;
	width: 100%;
	height: 220px;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
header.bgwhite .hd-inr {
	height: 180px;
}

.hd-logo {
	margin: -30px 0 0px 0;
	width: 169px;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
.hd-logo img {
	width: 100%;
	height: auto;
}
header.bgwhite .hd-logo {
	margin: -20px 0 0px 0;
}
.hd-logo img {
}

.hd-info {
	width: calc(100% - 169px);
	vertical-align: top;
}
.hd-menu {
	margin: 0;
	padding: 0px 0 0;
}
.hd-contact {
}

.hd-contact .hd-mail {
	position: absolute;
	top: 0px;
	right: 0px;
}
header.bgwhite .hd-contact .hd-mail {
}
.hd-contact .hd-mail a {
	display: block;
	width: 170px;
	height: 100px;
	background: #dc0000;
	text-align: center;
}
.hd-contact .hd-mail a:hover {
	opacity: 0.6;
}
.hd-contact .hd-mail a span {
	display: inline-block;
	margin-top: 40px;
	padding: 0px 0 0px 0px;
	font-size: 15px;
	line-height: 1.6;
	letter-spacing: 1px;
	font-weight: 500;
	color: #ffffff;
}

@media screen and (max-width: 959px) {
	.hd-inr {
		padding: 0px 15px 0px 15px;
		height: 60px;
	}
	header.bgwhite .hd-inr {
		height: 60px;
	}
	.hd-logo {
		margin: 0px 0 0 0;
		width: 210px;
	}
	.hd-logo .sponly {
		display: inline;
	}
	.hd-logo .pconly {
		display: none;
	}
	header.bgwhite .hd-logo {
		margin: 0px 0 0px 0;
	}
	.hd-info {
		width: calc(100% - 210px);
		padding: 0 55px 0 0;
		align-items: center;
	}
	.hd-contact {
		height: 52px;
	}
	.hd-menu {
		margin: 0;
		padding: 0;
	}
	.hd-contact .hd-mail {
		position: relative;
	}
	.hd-contact .hd-mail a {
		display: block;
		width: 40px;
		height: 40px;
		text-align: center;
		background: #dc0000 url("../img/cmn/icon_mail_wh.svg") no-repeat center center;
		background-size: 23px;
	}
	.hd-contact .hd-mail a span {
		display: none;
	}
	header.bgwhite .hd-contact .hd-mail {
	}
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
	.hd-inr {
		padding: 0px 15px 0px 10px;
	}
	.hd-logo {
		width: 190px;
	}
	.hd-info {
		width: calc(100% - 190px);
		padding: 0 45px 0 0;
	}
}

@media screen and (max-width: 320px) {
	.hd-logo {
		width: 190px;
	}
	.hd-info {
		width: calc(100% - 190px);
	}
}


/*	フッター
---------------------------------*/
footer {
}
footer .contents-inr {
}

.ft-left {
	width: 70%;
}
.ft-left .ft-logo {
	width: 156px;
}
.ft-left .ft-logo img {
}
.ft-left .ft-address {
}

.ft-right {
	width: 30%;
}

.ft-nav {
}
.ft-nav > ul {
	margin: 0;
	font-size: 0;
}
.ft-nav > ul > li {
	display: inline-block;
	vertical-align: top;
	margin: 0px 30px 20px 0px;
}
.ft-nav > ul > li:last-of-type {
	margin: 0px 0px 20px 0px;
}

.ft-copyright {
	background: #363636;
	color: #ffffff;
	padding: 10px 5px 10px 5px;
	text-align: center;
}

.btn-pagetop img {
	width: 33px;
	height: auto;
}

@media screen and (max-width:1279px) {
    .ft-nav > ul > li {
        margin: 0px 20px 20px 0px;
    }
    .ft-nav > ul > li:last-of-type {
        margin: 0px 0px 20px 0px;
    }
}

@media screen and (max-width: 959px) {
	.ft-left {
		width: 100%;
	}
	.ft-right {
		display: none;
	}
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
	.btn-pagetop img {
		width: 28px;
		height: auto;
	}
	.ft-left .ft-logo {
		width: 120px;
	}
	footer .contents-inr {
		padding-bottom: 100px;
	}
}


/*	グローバナビ（PC用）
---------------------------------*/
.pc-nav {
	line-height: 1;
}
.pc-nav > ul {
	margin: 100px 40px 0 0px;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
header.bgwhite .pc-nav > ul {
}
.pc-nav > ul > li {
	position: relative;
	margin: 0px 0px 0 38px;
	padding: 0 0px 0px 0px;
	height: 30px;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
.pc-nav > ul > li.first {
	margin: 0;
	padding: 0;
}
.pc-nav > ul > li::before {
	content: "";
	display: block;
	position: absolute;
	top: 22%;
	left: -19px;
	margin: 0;
	width: 1px;
	height: 58%;
	background: #999999;
}
.pc-nav > ul > li.first::before {
	display: none;
}
.pc-nav > ul > li > a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	position: relative;
	padding: 0px 0px 0px 0px;
	width: 100%;
	height: 100%;
	text-align: center;
	font-size: 15px;
	line-height: 1.6;
	letter-spacing: 1px;
	font-weight: 500;
	color: #363636;
	color: #000000;
}
.pc-nav > ul > li.li-recruit > a {
	padding: 0px 20px 0px 0px;
	background: url("../img/cmn/icon01.svg") no-repeat right center;
	background-size: 17px;
}
.pc-nav > ul > li > a span {
	position: relative;
}
.pc-nav > ul > li.current a,
.pc-nav > ul > li a:hover {
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}

.pc-nav > ul > li.parent div {
	position: absolute;
	top: 100%;
	left: calc(50% + 0px);
	transform: translateX(-50%);
	padding: 10px 5px 10px 5px;
	width: 120px;
	max-height: 0;
	background: #000000;
	text-align: center;
	border-radius: 0px;
	z-index: 100;
	opacity: 0;
	overflow: hidden;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
.pc-nav > ul > li.parent div ul {
	display: inline-block;
}
.pc-nav > ul > li.parent div li a {
	display: block;
	padding: 5px 0px 5px 0px;
	text-align: left;
	font-size: 14px;
	letter-spacing: 1px;
	font-weight: 400;
	line-height: 1.6;
	color: #ffffff;
}
.pc-nav > ul > li.parent div li a:hover {
	opacity: 0.8;
}
.pc-nav > ul > li.parent:hover div {
	max-height: 360px;
	opacity: 1;
}

@media screen and (max-width:1100px) {
}

@media screen and (max-width: 959px) {
	.pc-nav {
		display: none;
	}
	.pconly-nav {
		display: none;
	}
}


/*	グローバナビ（スマホ用）
---------------------------------*/
header .navToggle,
header nav.sp-nav {
	display:none;
}
@media screen and (max-width: 959px) {
	header nav.sp-nav {
		display: block;
		position: fixed;
		left: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		padding: 10% 15%;
		width: 100%;
		height: 100%;
		background: #dc0000;
		font-size: 1.8rem;
		font-weight: 500;
		letter-spacing: 1px;
		z-index: 1000;
		visibility: hidden;
		opacity: 0;
		transform: scale(0.8);
		transition: transform 0.2s, opacity 0.2s, visibility 0s 0.2s;
	}
	/* ナビゲーション アニメーション */
	header.open nav.sp-nav {
		visibility: visible;
		opacity: 1;
		transform: scale(1);
		transition: transform 0.4s, opacity 0.4s;
	}
	header nav.sp-nav a {
		color:#fff;
		font-weight: 500;
	}
	header nav.sp-nav a * {
		transition: 0s;
	}
	header nav.sp-nav > ul {
		display: block;
		position :absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%,-50%);
		width: 100%;
	}
	header nav.sp-nav > ul > li {
		margin: 20px 0;
		text-align: center;
		line-height: 1;
		text-transform: uppercase;
	}

	header nav.sp-nav > ul > li.parent {
		margin: 25px 5px 25px 5px;
	}
	header nav.sp-nav > ul > li.parent > a {
		text-decoration: none;
		border: none;
	}
	header nav.sp-nav > ul > li.parent div ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		padding: 5px 0 0;
	}
	header nav.sp-nav > ul > li.parent div li {
		margin: 2px 0 0;
		font-size: 0.8em;
		font-weight: 400;
		line-height: 1.4;
		letter-spacing: 1px;
	}
	header nav.sp-nav > ul > li.parent div li a {
		display: inline-block;
		color: #ffffff;
	}
	header nav.sp-nav > ul > li.parent div li a:hover {
		display: inline-block;
		border-bottom: none;
	}
	header nav.sp-nav > ul > li.parent div li:last-of-type {
		margin: 2px 0 0;
	}
	header nav.sp-nav > ul > li.parent div li::after {
		content: "/";
		display: inline;
		margin: 0 5px;
		color: #ffffff;
	}
	header nav.sp-nav > ul > li.parent div li:last-of-type::after {
		display: none;
	}
	header nav.sp-nav ul li strong,
	header nav.sp-nav ul li br {
		display: none;
	}
	header nav.sp-nav ul li span span,
	header nav.sp-nav ul li br {
		display: none;
	}

	header nav.sp-nav > ul > li.tb-contact {
		margin: -5px 0;
	}
	header nav.sp-nav > ul > li.tb-contact a {
	}

	/*ハンバーガーボタン*/
	header .navToggle {
		display: block;
		position: absolute;
		right: 15px;
		top: 10px;
		margin: auto;
		width: 40px;
		height: 40px;
		background: #dc0000;
		border-radius: 0px;
		cursor: pointer;
		z-index: 1002;
	}
	header .navToggle div {
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		width: 25px;
		height: 16px;
	}
	header .navToggle span {
		display: block;
		position: absolute;
		height:2px;
		width:100%;
		background: #fff;
		left:0;
		-webkit-transition: .35s ease-in-out;
		-moz-transition: .35s ease-in-out;
		transition: .35s ease-in-out;
	}
	header .navToggle span:nth-child(1) {
		top: 0;
	}
	header .navToggle span:nth-child(2) {
		top: 7px;
	}
	header .navToggle span:nth-child(3) {
		top: 14px;
	}
	/* ハンバーガーボタン 切り替えアニメーション */
	header.open .navToggle span {
	}
	header.open .navToggle span:nth-child(1) {
		top: 7px;
		transform: rotate(315deg);
	}
	header.open .navToggle span:nth-child(2) {
		width: 0;
		left: 50%;
	}
	header.open .navToggle span:nth-child(3) {
		top: 7px;
		transform: rotate(-315deg);
	}
}

@media screen and (max-width:599px) {
	header nav.sp-nav {
		font-size: 1.5rem;
	}
	header .navToggle {
		right: 10px;
	}
	header nav.sp-nav > ul > li {
		margin: 20px 0;
	}
	header nav.sp-nav > ul > li.parent {
		margin: 15px 5px 15px 5px;
	}
}


/*	基本レイアウト
---------------------------------*/
.contents-inr {
	position: relative;
	margin: 0 auto;
	padding-left: 30px;
	padding-right: 30px;
	max-width: 1160px;
}

@media screen and (max-width: 959px) {
}

@media screen and (max-width: 599px) {
    .contents-inr {
        padding-left: 15px;
        padding-right: 15px;
    }
}


/*	汎用ボタン
---------------------------------*/
.btn-cmn01 {
}
.btn-cmn01 a {
	display: inline-block;
	width: 100%;
	text-align: center;
	padding-top: 17px;
	padding-bottom: 17px;
	padding-right: 50px;
	background: #ffffff url("../img/cmn/icon04.svg") no-repeat 93% center;
	background-size: 34px;
	border: #000000 1px solid;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
.btn-cmn01 a:hover {
	background: #ffffff url("../img/cmn/icon04.svg") no-repeat 95% center;
	background-size: 34px;
}

.btn-cmn02 {
}
.btn-cmn02 a {
	display: inline-block;
	width: 100%;
	text-align: center;
	padding-top: 14px;
	padding-bottom: 15px;
	padding-right: 20px;
	background: #dc0000 url("../img/cmn/icon03.svg") no-repeat 90% center;
	background-size: 23px;
	border: #dc0000 1px solid;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
.btn-cmn02 a:hover {
	background: #dc0000 url("../img/cmn/icon03.svg") no-repeat 91% center;
	background-size: 23px;
}

.btn-cmn03 {
}
.btn-cmn03 a {
	display: inline-block;
	max-width: 333px;
	width: 100%;
	text-align: center;
	padding-top: 17px;
	padding-bottom: 17px;
	padding-left: 10px;
	background: #dc0000 url("../img/02aboutus/icon02.svg") no-repeat 7% center;
	background-size: 34px;
	border: #dc0000 1px solid;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
.btn-cmn03 a:hover {
	background: #dc0000 url("../img/02aboutus/icon02.svg") no-repeat 5% center;
	background-size: 34px;
}

.btn-cmn04 {
}
.btn-cmn04 a {
	display: inline-block;
	max-width: 333px;
	width: 100%;
	text-align: left;
	padding-top: 20px;
	padding-bottom: 20px;
	padding-left: 30px;
	background: #ffffff url("../img/cmn/icon02.svg") no-repeat 93% center;
	background-size: 34px;
	border: #000000 1px solid;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
.btn-cmn04 a:hover {
	background: #ffffff url("../img/cmn/icon02.svg") no-repeat 95% center;
	background-size: 34px;
}

.btn-cmn05 {
}
.btn-cmn05 a {
	display: inline-block;
	max-width: 333px;
	width: 100%;
	text-align: center;
	padding-top: 17px;
	padding-bottom: 17px;
	background: #dc0000;
	color: #ffffff;
	border: #dc0000 1px solid;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
.btn-cmn05 a:hover {
	background: #dc0000;
}


@media screen and (max-width: 959px) {
}

@media screen and (max-width: 599px) {
	.btn-cmn01 a {
		background-size: 28px;
	}
	.btn-cmn01 a:hover {
		background-size: 28px;
	}
	.btn-cmn02 a {
		background-size: 18px;
	}
	.btn-cmn02 a:hover {
		background-size: 18px;
	}
	.btn-cmn03 a {
		background-size: 28px;
	}
	.btn-cmn03 a:hover {
		background-size: 28px;
	}
	.btn-cmn04 a {
		background-size: 28px;
	}
	.btn-cmn04 a:hover {
		background-size: 28px;
	}
}


/*	共通 - 採用エリア
---------------------------------*/
.cmn-recruit {
	position: relative;
}
.cmn-recruit::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background: url("../img/cmn/bg_recruit.webp") no-repeat center center;
	background-size: cover;
	z-index: -8;
}
.cmn-recruit .contents-inr {
}

.cmn-recruit .cmn-recruit__list {
}
.cmn-recruit .cmn-recruit__list li {
}
.cmn-recruit .cmn-recruit__list li:nth-of-type(1) {
	width: 40%;
	padding-right: clamp(0px, 0px + 60 * (100vw - 375px) / 905, 60px);
}
.cmn-recruit .cmn-recruit__list li:nth-of-type(2) {
	width: 60%;
}
.cmn-recruit .cmn-recruit__list li:nth-of-type(2) img {
	width: 100%;
	height: auto;
}

@media screen and (max-width:1279px) {
}

@media screen and (max-width: 959px) {
	.cmn-recruit .cmn-recruit__list li:nth-of-type(1) {
		width: 57%;
	}
	.cmn-recruit .cmn-recruit__list li:nth-of-type(2) {
		width: 43%;
	}
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
	.cmn-recruit .cmn-recruit__list li:nth-of-type(1) {
		width: 100%;
		padding-right: 0px;
		padding-bottom: 30px;
	}
	.cmn-recruit .cmn-recruit__list li:nth-of-type(2) {
		width: 100%;
	}
}


/*	共通 - お問い合わせエリア
---------------------------------*/
.cmn-contact {
	position: relative;
}
.cmn-contact::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background: #e5e5e5;
	z-index: -8;
}
.cmn-contact .contents-inr {
}

.cmn-contact .cmn-contact__list01 {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}
.cmn-contact .cmn-contact__list01 li {
}
.cmn-contact .cmn-contact__list01 li:nth-of-type(1) {
	width: 60%;
	padding-right: clamp(0px, 0px + 80 * (100vw - 375px) / 905, 80px);
}
.cmn-contact .cmn-contact__list01 li:nth-of-type(2) {
	width: 40%;
	text-align: center;
	background: url("../img/cmn/icon_contact02@3x.png") no-repeat center 20px;
	background-size: 100%;
}
.cmn-contact .cmn-contact__list01 li:nth-of-type(1) h3 span {
	display: inline-block;
	padding-bottom: 10px;
	border-bottom: #dc0000 1px solid;
}
.cmn-contact .cmn-contact__list01 li:nth-of-type(2) img {
	width: 120px;
	height: auto;
}
.cmn-contact .cmn-contact__list01 li:nth-of-type(2) h4 {
	margin-top: -10px;
}

.cmn-contact .cmn-contact__list02 {
	box-shadow: 2px 2px 20px rgba(0,0,0,0.3);
}
.cmn-contact .cmn-contact__list02 h4 {
	width: 100%;
	display: table;
	table-layout: fixed;
	padding-top: clamp(10px, 10px + 10 * (100vw - 375px) / 905, 20px);
	padding-bottom: clamp(10px, 10px + 10 * (100vw - 375px) / 905, 20px);
	padding-left: clamp(10px, 10px + 40 * (100vw - 375px) / 905, 50px);
	padding-right: clamp(10px, 10px + 30 * (100vw - 375px) / 905, 40px);
}
.cmn-contact .cmn-contact__list02 h4 .txtleft {
	width: 50%;
	display: table-cell;
	text-align: left;
}
.cmn-contact .cmn-contact__list02 h4 .txtright {
	width: 50%;
	display: table-cell;
	text-align: right;
}
.cmn-contact .cmn-contact__list02 ul {
	background: #ffffff;
	padding-top: clamp(10px, 10px + 20 * (100vw - 375px) / 905, 30px);
	padding-bottom: clamp(10px, 10px + 20 * (100vw - 375px) / 905, 30px);
}
.cmn-contact .cmn-contact__list02 li {
	position: relative;
	width: 50%;
}
.cmn-contact .cmn-contact__list02 li:nth-of-type(1) {
	border-right: #999999 1px solid;
}
.cmn-contact .cmn-contact__list02 li a {
	margin-left: 9%;
	display: inline-block;
}
.cmn-contact .cmn-contact__list02 li a strong {
	display: inline-block;
	position: relative;
	padding: 0 0 0 90px;
}
.cmn-contact .cmn-contact__list02 li a strong::before {
	transform: translateY(-50%);
	content: "";
	display: block;
	position: absolute;
	top: 30%;
	left: 0;
	margin: 0;
	width: 68px;
	height: 80px;
	background: url("../img/cmn/icon_tel.svg") no-repeat center center;
	background-size: contain;
}
.cmn-contact .cmn-contact__list02 li p {
	padding: 0 0 2px 80px;
	margin-left: 9%;
}

.cmn-contact .cmn-contact__list03 {
	background: #ffffff;
	box-shadow: 2px 2px 20px rgba(0,0,0,0.3);
	padding-top: clamp(10px, 10px + 40 * (100vw - 375px) / 905, 50px);
	padding-bottom: clamp(20px, 20px + 40 * (100vw - 375px) / 905, 60px);
	padding-left: clamp(10px, 10px + 40 * (100vw - 375px) / 905, 50px);
	padding-right: clamp(10px, 10px + 40 * (100vw - 375px) / 905, 50px);
}
.cmn-contact .cmn-contact__list03 li {
}
.cmn-contact .cmn-contact__list03 li:nth-of-type(1) {
	width: 67%;
}
.cmn-contact .cmn-contact__list03 li:nth-of-type(2) {
	width: 33%;
}
.cmn-contact .cmn-contact__list03 li:nth-of-type(1) p {
	text-align: left;
	display: inline-block;
	position: relative;
	padding: 0 0 0 130px;
}
.cmn-contact .cmn-contact__list03 li:nth-of-type(1) p::before {
	transform: translateY(-50%);
	content: "";
	display: block;
	position: absolute;
	top: 56%;
	left: 0;
	margin: 0;
	width: 90px;
	height: 63px;
	background: url("../img/cmn/icon_mail.svg") no-repeat center center;
	background-size: contain;
}
.cmn-contact .cmn-contact__list03 li:nth-of-type(1) p span {
	margin-left: -10px;
}
.cmn-contact .cmn-contact__list03 li:nth-of-type(2) .btn-cmn01 {
}

@media screen and (max-width:1279px) {
}

@media screen and (max-width: 959px) {
	.cmn-contact .cmn-contact__list02 h4 .txtleft {
		width: 100%;
		display: block;
		padding-bottom: 5px;
	}
	.cmn-contact .cmn-contact__list02 h4 .txtright {
		width: 100%;
		display: block;
	}
	.cmn-contact .cmn-contact__list02 li {
		width: 90%;
		margin-left: 5%;
		margin-right: 5%;
	}
	.cmn-contact .cmn-contact__list02 li:nth-of-type(1) {
		border-right: none;
		border-bottom: #999999 1px solid;
		padding-bottom: clamp(10px, 10px + 10 * (100vw - 375px) / 905, 20px);
	}
	.cmn-contact .cmn-contact__list02 li:nth-of-type(2) {
		padding-top: clamp(10px, 10px + 10 * (100vw - 375px) / 905, 20px);
	}
	.cmn-contact .cmn-contact__list02 li a {
		margin-left: 10%;
	}
	.cmn-contact .cmn-contact__list02 li a strong {
		padding: 0 0 0 80px;
	}
	.cmn-contact .cmn-contact__list02 li a strong::before {
		top: 25%;
		width: 50px;
		height: 60px;
	}
	.cmn-contact .cmn-contact__list02 li p {
		padding: 0 0 2px 70px;
		margin-left: 10%;
	}

	.cmn-contact .cmn-contact__list03 li:nth-of-type(1) {
		width: 100%;
		padding-bottom: 10px;
	}
	.cmn-contact .cmn-contact__list03 li:nth-of-type(2) {
		width: 100%;
	}
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
	.cmn-contact .cmn-contact__list01 {
		width: 100%;
	}
	.cmn-contact .cmn-contact__list01 li:nth-of-type(1) {
		width: 100%;
		padding-right: 0px;
	}
	.cmn-contact .cmn-contact__list01 li:nth-of-type(2) {
		margin-top: -20px;
		padding-bottom: 30px;
		width: 100%;
		background-size: 86%;
	}
	.cmn-contact .cmn-contact__list01 li:nth-of-type(1) h3 span {
		padding-bottom: 8px;
	}
	.cmn-contact .cmn-contact__list01 li:nth-of-type(2) img {
		width: 80px;
		height: auto;
	}
	.cmn-contact .cmn-contact__list01 li:nth-of-type(2) h4 {
		margin-top: -10px;
	}

	.cmn-contact .cmn-contact__list02 li a {
		margin-left: 10%;
	}
	.cmn-contact .cmn-contact__list02 li a strong {
		padding: 0 0 0 50px;
	}
	.cmn-contact .cmn-contact__list02 li a strong::before {
		top: 22%;
		width: 30px;
		height: 40px;
	}
	.cmn-contact .cmn-contact__list02 li p {
		padding: 0 0 2px 40px;
		margin-left: 10%;
	}

	.cmn-contact .cmn-contact__list03 li:nth-of-type(1) {
		padding-bottom: 0px;
	}
	.cmn-contact .cmn-contact__list03 li:nth-of-type(1) p {
		padding: 0 0 0 62px;
	}
	.cmn-contact .cmn-contact__list03 li:nth-of-type(1) p::before {
		top: 56%;
		width: 46px;
		height: 40px;
	}
}

@media screen and (max-width: 320px) {
	.cmn-contact .cmn-contact__list02 li a {
		margin-left: 3%;
	}
	.cmn-contact .cmn-contact__list02 li p {
		margin-left: 3%;
	}
}


/*	各ページメイン画像
---------------------------------*/
.page-header-ttl {
	position: relative;
	margin-bottom: 30px;
}
.page-header-ttl::before {
	content: "";
	display: block;
	position: absolute;
	top: 40%;
	left: 0;
	margin: 0;
	width: 100%;
	height: 33%;
	background: linear-gradient(180deg, #e21c17 70%, #ec8a8b 100%);
	z-index: -8;
}
.page-header-ttl h2 {
	display: inline-block;
	vertical-align: middle;
	background: #ffffff;
	padding-left: 50px;
	padding-right: 40px;
}
.page-header-ttl h2 span {
	display: inline-block;
	vertical-align: middle;
}
.page-header-ttl h2 .h2left {
	padding-top: 10px;
}
.page-header-ttl h2 .h2right {
	margin-left: 70px;
	position: relative;
}
.page-header-ttl h2 .h2right::before {
	content: "";
	display: block;
	position: absolute;
	top: 10%;
	left: -36px;
	margin: 0;
	width: 2px;
	height: 90%;
	background: #333333;
}

@media screen and (max-width: 599px) {
	.page-header-ttl {
		margin-top: 10px;
		margin-bottom: 10px;
	}
	.page-header-ttl::before {
		top: 43%;
		height: 30%;
	}
	.page-header-ttl h2 {
		padding-left: 10px;
		padding-right: 10px;
	}
	.page-header-ttl h2 .h2left {
		padding-top: 6px;
	}
	.page-header-ttl h2 .h2right {
		margin-left: 20px;
	}
	.page-header-ttl h2 .h2right::before {
		left: -10px;
		width: 1px;
	}
}


.page-header {
	position: relative;
	width: 100%;
	height: clamp(140px, 140px + 210 * (100vw - 375px) / 905, 350px);
}
.page-header.page-header-contact {
	margin-bottom: clamp(80px, 80px + 120 * (100vw - 375px) / 905, 200px);
}
.page-header.page-header-news {
	margin-bottom: clamp(60px, 60px + 120 * (100vw - 375px) / 905, 180px);
}
.page-header.page-header-works {
	margin-bottom: clamp(50px, 50px + 110 * (100vw - 375px) / 905, 160px);
}
.page-header.page-header-worksdetail {
	margin-bottom: clamp(30px, 30px + 20 * (100vw - 375px) / 905, 50px);
}
.page-header.page-header-aboutus {
	margin-bottom: clamp(50px, 50px + 130 * (100vw - 375px) / 905, 180px);
}
.page-header.page-header-service {
	margin-bottom: clamp(50px, 50px + 130 * (100vw - 375px) / 905, 180px);
}
.page-header.page-header-service01 {
	margin-bottom: clamp(50px, 50px + 130 * (100vw - 375px) / 905, 180px);
}
.page-header.page-header-service02 {
	margin-bottom: clamp(50px, 50px + 130 * (100vw - 375px) / 905, 180px);
}

.page-header::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	z-index: -8;
}
.page-header.page-header-contact::before {
	background: url("../img/07contact/page_header@1.5x.webp") no-repeat center center;
	background-size: cover;
}
.page-header.page-header-news::before {
	background: url("../img/06news/page_header@1.5x.webp") no-repeat center center;
	background-size: cover;
}
.page-header.page-header-works::before {
	background: url("../img/05works/page_header@1.5x.webp?20260520") no-repeat center center;
	background-size: cover;
}
.page-header.page-header-worksdetail::before {
	background: url("../img/05works/page_header@1.5x.webp?20260520") no-repeat center center;
	background-size: cover;
}
.page-header.page-header-aboutus::before {
	background: url("../img/02aboutus/page_header@1.5x.webp") no-repeat center center;
	background-size: cover;
}
.page-header.page-header-service::before {
	background: url("../img/03service/page_header@1.5x.webp") no-repeat center center;
	background-size: cover;
}
.page-header.page-header-service01::before {
	background: url("../img/03service/01/page_header@1.5x.webp") no-repeat center center;
	background-size: cover;
}
.page-header.page-header-service02::before {
	background: url("../img/03service/02/page_header@1.5x.webp") no-repeat center center;
	background-size: cover;
}

.page-header .contents-inr {
	height: clamp(140px, 140px + 210 * (100vw - 375px) / 905, 350px);
	position: relative;
}
.page-header.page-header-contact .contents-inr::before {
	content: "CONTACT";
	display: block;
	position: absolute;
	top: 93%;
	left: 30%;
	margin: 0;
	width: 100%;
	font-family: "Shippori Mincho B1", serif;
	font-size: clamp(40px, 40px + 104 * (100vw - 375px) / 905, 144px);
	line-height: 1;
	letter-spacing: clamp(1.6px, 1.6px + 1.2 * (100vw - 375px) / 905, 2.8px);
	font-weight: 400;
	color: rgba(0,0,0,0.12);
	z-index: -6;
}
.page-header.page-header-news .contents-inr::before {
	content: "NEWS";
	display: block;
	position: absolute;
	top: 93%;
	left: 60%;
	margin: 0;
	width: 100%;
	font-family: "Shippori Mincho B1", serif;
	font-size: clamp(40px, 40px + 104 * (100vw - 375px) / 905, 144px);
	line-height: 1;
	letter-spacing: clamp(1.6px, 1.6px + 1.2 * (100vw - 375px) / 905, 2.8px);
	font-weight: 400;
	color: rgba(0,0,0,0.12);
	z-index: -6;
}
.page-header.page-header-works .contents-inr::before {
	content: "WORKS";
	display: block;
	position: absolute;
	top: 91%;
	left: 23%;
	margin: 0;
	width: 100%;
	font-family: "Shippori Mincho B1", serif;
	font-size: clamp(40px, 40px + 104 * (100vw - 375px) / 905, 144px);
	line-height: 1;
	letter-spacing: clamp(1.6px, 1.6px + 1.2 * (100vw - 375px) / 905, 2.8px);
	font-weight: 400;
	color: rgba(0,0,0,0.12);
	z-index: -6;
}
.page-header.page-header-aboutus .contents-inr::before {
	content: "ABOUT US";
	display: block;
	position: absolute;
	top: 91%;
	left: 36%;
	margin: 0;
	width: 100%;
	font-family: "Shippori Mincho B1", serif;
	font-size: clamp(40px, 40px + 104 * (100vw - 375px) / 905, 144px);
	line-height: 1;
	letter-spacing: clamp(1.6px, 1.6px + 1.2 * (100vw - 375px) / 905, 2.8px);
	font-weight: 400;
	color: rgba(0,0,0,0.12);
	z-index: -6;
}
.page-header.page-header-service .contents-inr::before {
	content: "OUR SERVICES";
	display: block;
	position: absolute;
	top: 100%;
	left: 12%;
	margin: 0;
	width: 150%;
	font-family: "Shippori Mincho B1", serif;
	font-size: clamp(40px, 40px + 104 * (100vw - 375px) / 905, 144px);
	line-height: 1;
	letter-spacing: clamp(1.6px, 1.6px + 1.2 * (100vw - 375px) / 905, 2.8px);
	font-weight: 400;
	color: rgba(0,0,0,0.12);
	z-index: -6;
}
.page-header.page-header-service01 .contents-inr::before {
	content: "INTERIOR ELECTRICAL WORKS";
	display: block;
	position: absolute;
	top: 85%;
	left: -28%;
	margin: 0;
	width: 500%;
	font-family: "Shippori Mincho B1", serif;
	font-size: clamp(40px, 40px + 104 * (100vw - 375px) / 905, 144px);
	line-height: 1;
	letter-spacing: clamp(1.6px, 1.6px + 1.2 * (100vw - 375px) / 905, 2.8px);
	font-weight: 400;
	color: rgba(0,0,0,0.12);
	z-index: -6;
}
.page-header.page-header-service02 .contents-inr::before {
	content: "EXATERIOR POWER LINE WORKS";
	display: block;
	position: absolute;
	top: 85%;
	left: -28%;
	margin: 0;
	width: 500%;
	font-family: "Shippori Mincho B1", serif;
	font-size: clamp(40px, 40px + 104 * (100vw - 375px) / 905, 144px);
	line-height: 1;
	letter-spacing: clamp(1.6px, 1.6px + 1.2 * (100vw - 375px) / 905, 2.8px);
	font-weight: 400;
	color: rgba(0,0,0,0.12);
	z-index: -6;
}

.page-header.page-header-contact .ttl01 {
	position: absolute;
	top: 123%;
	left: 30px;
}
.page-header.page-header-contact .ttl01 span {
	position: relative;
	text-align: left;
	display: inline-block;
}

.page-header.page-header-news .ttl01 {
	position: absolute;
	top: 38%;
	left: 30px;
}
.page-header.page-header-news .ttl01 span {
	position: relative;
	text-align: center;
	display: inline-block;
	padding: 15px 20px 15px 20px;
	background: rgba(255,255,255,0.9);
	box-shadow: 0px 0px 10px rgba(0,0,0,0.1);
}

.page-header.page-header-works .ttl01 {
	position: absolute;
	top: 32%;
	left: 30px;
}
.page-header.page-header-works .ttl01 span {
	position: relative;
	text-align: center;
	display: inline-block;
	padding: 15px 20px 15px 20px;
	background: rgba(255,255,255,0.9);
	box-shadow: 0px 0px 10px rgba(0,0,0,0.1);
}

.page-header.page-header-worksdetail .ttl01 {
	position: absolute;
	top: 32%;
	left: 30px;
}
.page-header.page-header-worksdetail .ttl01 span {
	position: relative;
	text-align: center;
	display: inline-block;
	padding: 15px 20px 15px 20px;
	background: rgba(255,255,255,0.9);
	box-shadow: 0px 0px 10px rgba(0,0,0,0.1);
}

.page-header.page-header-aboutus .ttl01 {
	position: absolute;
	top: 32%;
	left: 30px;
}
.page-header.page-header-aboutus .ttl01 span {
	position: relative;
	text-align: center;
	display: inline-block;
	padding: 15px 20px 15px 20px;
	background: rgba(255,255,255,0.9);
	box-shadow: 0px 0px 10px rgba(0,0,0,0.1);
}

.page-header.page-header-service .ttl01 {
	position: absolute;
	top: 32%;
	left: 30px;
}
.page-header.page-header-service .ttl01 span {
	position: relative;
	text-align: center;
	display: inline-block;
	padding: 15px 20px 15px 20px;
	background: rgba(255,255,255,0.9);
	box-shadow: 0px 0px 10px rgba(0,0,0,0.1);
}

@media screen and (max-width:1279px) {
}

@media screen and (max-width: 959px) {
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
	.page-header.page-header-works .contents-inr::before {
		top: 93%;
		left: 26%;
	}
	.page-header.page-header-aboutus .contents-inr::before {
		top: 93%;
		left: 36%;
	}
	.page-header.page-header-contact .ttl01 {
		top: 123%;
		left: 15px;
	}
	.page-header.page-header-news .ttl01 {
		top: 30%;
		left: 15px;
	}
	.page-header.page-header-news .ttl01 span {
		padding: 10px 15px 10px 17px;
	}
	.page-header.page-header-works .ttl01 {
		top: 25%;
		left: 15px;
	}
	.page-header.page-header-works .ttl01 span {
		padding: 10px 15px 10px 17px;
	}
	.page-header.page-header-worksdetail .ttl01 {
		top: 25%;
		left: 15px;
	}
	.page-header.page-header-worksdetail .ttl01 span {
		padding: 10px 15px 10px 17px;
	}
	.page-header.page-header-aboutus .ttl01 {
		top: 25%;
		left: 15px;
	}
	.page-header.page-header-aboutus .ttl01 span {
		padding: 10px 15px 10px 17px;
	}
	.page-header.page-header-service .ttl01 {
		top: 25%;
		left: 15px;
	}
	.page-header.page-header-service .ttl01 span {
		padding: 10px 15px 10px 17px;
	}
}


/*	トップページ
---------------------------------*/
.top-slide {
}
.top-slider {
}
.top-slider .slider-1 {
    max-width: 100%;
    height: 613px;
    margin-left: auto;
    margin-right: auto;
}
.top-slider .slider-1 .slick-slide {
    width: 1156px;
    height: 613px;
    margin: 0 10px 0 10px;
    position: relative;
    overflow: hidden;
    text-align: center;
}
.top-slider .slider-1 .slick-arrow {
    cursor: pointer;
    border: none;
    outline: none;
    font-size: 0;
}
.top-slider .slider-1 li {
	position: relative;
}
.top-slider .slider-1 li .cover01 {
	position: absolute;
	top: 0;
	left: 0;
	width: 35%;
	height: 100%;
}
.top-slider .slider-1 li .cover02 {
	position: absolute;
	bottom: 10%;
	left: 6%;
	max-width: 525px;
	width: 60%;
	height: auto;
}

.top-news {
	background: #ffffff;
	box-shadow: 5px 5px 5px rgba(0,0,0,0.1);
}
.top-news .contents-inr {
	max-width: 760px;
}
.top-news .news-box {
	width: 100%;
	display: table;
	table-layout: fixed;
}
.top-news .news-box .news-box-left {
	width: 75px;
	display: table-cell;
	vertical-align: top;
	border-right: #666666 1px solid;
}
.top-news .news-box .news-box-center {
	width: 155px;
	display: table-cell;
	vertical-align: top;
	padding-left: 25px;
}
.top-news .news-box .news-box-right {
	width: calc(100% - 230px);
	display: table-cell;
	vertical-align: top;
	padding-top: 1px;
}


.top-contents01 {
	position: relative;
}
.top-contents01::before {
	content: "";
	display: block;
	position: absolute;
	top: 39%;
	left: 0;
	margin: 0;
	width: 100%;
	height: 32%;
	background: url("../img/01top/img01@1.5x.webp") no-repeat center center;
	background-size: contain;
	z-index: -8;
}
.top-contents01 .contents-inr {
	max-width: 1060px;
}
.top-contents01 .contents-inr::before {
	content: "ABOUT US";
	display: block;
	position: absolute;
	top: 68%;
	left: 10%;
	margin: 0;
	width: 100%;
	font-family: "Shippori Mincho B1", serif;
	font-size: clamp(40px, 40px + 120 * (100vw - 375px) / 905, 160px);
	line-height: 1;
	letter-spacing: clamp(3px, 3px + 7 * (100vw - 375px) / 905, 10px);
	font-weight: 400;
	color: rgba(0,0,0,0.06);
	z-index: -6;
}

.top-contents01 h3 span {
	display: inline-block;
	padding-bottom: 10px;
	border-bottom: #dc0000 1px solid;
}
.top-contents01 .page__list {
	margin-bottom: clamp(120px, 120px + 240 * (100vw - 375px) / 905, 360px);
}
.top-contents01 .page__list li {
}
.top-contents01 .page__list li:nth-of-type(1) {
	width: 52%;
}
.top-contents01 .page__list li:nth-of-type(2) {
	width: 48%;
	padding-top: clamp(10px, 10px + 10 * (100vw - 375px) / 905, 20px);
}


.top-contents02 {
	position: relative;
}
.top-contents02::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background: #f2f2f2;
	z-index: -8;
}
.top-contents02 .contents-inr {
	max-width: 1060px;
}
.top-contents02 .contents-inr .img01 {
	position: absolute;
	top: 35%;
	left: 48%;
	width: 60%;
	height: auto;
}
.top-contents02 h3 span {
	display: inline-block;
	padding-bottom: 10px;
	border-bottom: #dc0000 1px solid;
}
.top-contents02 p {
	padding-right: 60%;
}


.top-contents03 {
	position: relative;
}
.top-contents03::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background: #f2f2f2;
	z-index: -8;
}
.top-contents03::after {
	content: "OUR SERVICES";
	display: block;
	position: absolute;
	bottom: -1%;
	left: -20%;
	margin: 0;
	width: 100%;
	font-family: "Shippori Mincho B1", serif;
	font-size: clamp(40px, 40px + 120 * (100vw - 375px) / 905, 160px);
	line-height: 1;
	letter-spacing: clamp(3px, 3px + 7 * (100vw - 375px) / 905, 10px);
	font-weight: 400;
	color: rgba(255,255,255,0.5);
	z-index: -6;
}
.top-contents03 .contents-inr {
	max-width: 1220px;
}

.top-contents03 .page__list li {
	width: calc((100% - 35px) / 2);
	margin-right: 35px;
	margin-bottom: clamp(33px, 33px + 27 * (100vw - 375px) / 905, 60px);
}
.top-contents03 .page__list li:nth-of-type(2n) {
	margin-right: 0px;
}
.top-contents03 .page__list li:last-of-type {
	margin-right: 0px;
}
.top-contents03 .page__list li h3 {
	position: relative;
	margin-left: clamp(35px, 35px + 25 * (100vw - 375px) / 905, 60px);
}
.top-contents03 .page__list li h3::before {
	content: "";
	display: block;
	position: absolute;
	top: 15%;
	right: 102%;
	margin: 0;
	width: clamp(30px, 30px + 20 * (100vw - 375px) / 905, 50px);
	height: 85%;
	background: #000000;
}
.top-contents03 .page__list li .img-box {
	position: relative;
}
.top-contents03 .page__list li .img-box a {
	width: 100%;
	height: 100%;
	display: block;
	opacity: 1;
}
.top-contents03 .page__list li .img-box .icon {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 34px;
	height: auto;
}
.top-contents03 .page__list li .img-box a .hover-box {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	padding-top: 30%;
	background: rgba(0,0,0,0.6);
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
	opacity: 0;
}
.top-contents03 .page__list li .img-box a:hover .hover-box {
	opacity: 1;
}


.top-contents04 {
}
.top-contents04 .contents-inr {
	max-width: 1060px;
}
.top-contents04 h3 span {
	display: inline-block;
	padding-bottom: 10px;
	border-bottom: #dc0000 1px solid;
}
.top-contents04 .page__list {
}
.top-contents04 .page__list li {
}
.top-contents04 .page__list li:nth-of-type(1) {
	width: 60%;
	padding-right: clamp(30px, 30px + 120 * (100vw - 375px) / 905, 150px);
}
.top-contents04 .page__list li:nth-of-type(2) {
	width: 40%;
	padding-top: clamp(30px, 30px + 90 * (100vw - 375px) / 905, 120px);
}


.top-contents05 {
}
.top-contents05 .contents-inr {
	max-width: 1360px;
}
.top-contents05 .contents-inr::before {
	content: "WORKS";
	display: block;
	position: absolute;
	bottom: 23%;
	left: 16%;
	margin: 0;
	width: 100%;
	font-family: "Shippori Mincho B1", serif;
	font-size: clamp(40px, 40px + 120 * (100vw - 375px) / 905, 160px);
	line-height: 1;
	letter-spacing: clamp(3px, 3px + 7 * (100vw - 375px) / 905, 10px);
	font-weight: 400;
	color: rgba(0,0,0,0.07);
	z-index: -6;
}
.top-contents05 .page__list {
}
.top-contents05 .page__list li {
}
.top-contents05 .page__list li {
	width: calc((100% - 70px) / 3);
	margin-right: 35px;
	margin-bottom: clamp(20px, 20px + 10 * (100vw - 375px) / 905, 30px);
}
.top-contents05 .page__list li:nth-of-type(3n) {
	margin-right: 0px;
}
.top-contents05 .page__list li:last-of-type {
	margin-right: 0px;
}
.top-contents05 .page__list li .cate {
}
.top-contents05 .page__list li .cate span {
	border: #000000 1px solid;
	padding: 5px 25px 6px 25px;
	margin-right: 6px;
	margin-bottom: 6px;
	display: inline-block;
}

@media screen and (max-width: 959px) {
	.top-slider .slider-1 {
	    height: 370px;
	}
	.top-slider .slider-1 .slick-slide {
	    width: 700px;
	    height: 370px;
	}
}
@media screen and (max-width: 767px) {
}
@media screen and (max-width: 599px) {
  .top-slider .slider-1 {
      height: auto; 
  }
  .top-slider .slider-1 .slick-slide {
      width: 100vw;
      height: 400px; /* ここを180pxから大きくすると迫力が出ます！ */
      margin: 0 5px;
  }
  .top-slider .slider-1 .slick-slide img:not(.cover01, .cover02) {
      width: 100%;
      height: 100%;
      object-fit: cover;
  }
  .top-slider .slider-1 .js-adjust-img img:not(.cover01, .cover02) {
        object-position: calc(50% - 80px) center !important;
  }
  .top-slider .slider-1 li .cover02 {
      bottom: 10%; /* 少し位置を調整 */
      left: 3%;
      width: 70%;  /* キャッチコピーもSPでは大きめに */
  }
  
	.top-news .news-box .news-box-left {
		width: 55px;
	}
	.top-news .news-box .news-box-center {
		width: 100%;
		padding-left: 15px;
		display:block;
	}
	.top-news .news-box .news-box-right {
		width: 100%;
		padding-left: 15px;
		padding-top: 1px;
		display:block;
	}
	.top-contents01 .contents-inr {
		padding-bottom: clamp(100px, 100px + 20 * (100vw - 375px) / 905, 120px);
	}
	.top-contents01::before {
		top: 62%;
		height: 20%;
		background: url("../img/01top/img01@1.5x.webp") no-repeat center top;
		background-size: 150%;
	}
	.top-contents01 .contents-inr::before {
		top: 83%;
		left: 28%;
	}
	.top-contents01 h3 span {
		padding-bottom: 8px;
	}
	.top-contents01 .page__list li:nth-of-type(1) {
		width: 100%;
	}
	.top-contents01 .page__list li:nth-of-type(2) {
		width: 100%;
		padding-top: 0px;
	}
	.top-contents03 .page__list li .img-box .icon {
		width: 28px;
		height: auto;
	}
	.top-contents02 .contents-inr .img01 {
		position: static;
		width: 100%;
		height: auto;
		margin-bottom: 20px;
	}
	.top-contents02 h3 span {
		padding-bottom: 8px;
	}
	.top-contents02 p {
		padding-right: 0;
	}
	.top-contents03::after {
		left: 10%;
	}
	.top-contents03 .page__list li {
		width: 100%;
		margin-right: 0px;
		margin-bottom: clamp(33px, 33px + 27 * (100vw - 375px) / 905, 60px);
	}
	.top-contents03 .page__list li:nth-of-type(2n) {
		margin-right: 0px;
	}
	.top-contents03 .page__list li:last-of-type {
		margin-right: 0px;
	}
	.top-contents03 .page__list li h3 {
		margin-left: clamp(30px, 30px + 30 * (100vw - 375px) / 905, 60px);
	}
	.top-contents03 .page__list li h3::before {
		top: 5%;
		right: calc(100% + 10px);
		width: clamp(20px, 20px + 30 * (100vw - 375px) / 905, 50px);
		height: 95%;
	}
	.top-contents03 .page__list li h3 span {
		margin-left: 0px;
		display: block;
	}
	.top-contents04 h3 span {
		padding-bottom: 8px;
	}
	.top-contents04 .page__list li:nth-of-type(1) {
		width: 100%;
		padding-right: 0px;
	}
	.top-contents04 .page__list li:nth-of-type(2) {
		width: 100%;
		padding-top: 30px;
	}
	.top-contents05 .contents-inr {
		padding-bottom: clamp(100px, 100px + 20 * (100vw - 375px) / 905, 120px);
	}
	.top-contents05 .contents-inr::before {
		bottom: 70px;
	}
	.top-contents05 .page__list li {
		width: 100%;
		margin-right: 0px;
		margin-bottom: clamp(20px, 20px + 10 * (100vw - 375px) / 905, 30px);
	}
	.top-contents05 .page__list li:nth-of-type(3n) {
		margin-right: 0px;
	}
	.top-contents05 .page__list li:last-of-type {
		margin-right: 0px;
	}
	.top-contents05 .page__list li .cate span {
		padding: 4px 20px 5px 20px;
		margin-right: 5px;
		margin-bottom: 5px;
	}
}

@media screen and (max-width: 320px) {
.top-slider .slider-1 .slick-slide {
        height: 300px; /* 高さを少し削る程度に */
    }
}


/*	施工実績
---------------------------------*/
.works-catch {
}
.works-catch .contents-inr {
}
.works-catch p {
	text-align: center;
}

.works-contents01 {
	position: relative;
	z-index: 1;
}
.works-contents01::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background: #ececec;
	z-index: -8;
}
.works-contents01 .contents-inr {
}

.works-contents01 h3 {
	background: url("../img/02aboutus/icon01.svg") no-repeat left clamp(5px, 5px + 5 * (100vw - 375px) / 905, 10px);
	background-size: clamp(15px, 15px + 10 * (100vw - 375px) / 905, 25px);
	padding-left: clamp(25px, 25px + 15 * (100vw - 375px) / 905, 40px);
}

.works-contents01 .menu-box {
}
.works-contents01 .menu-box span {
	display: inline-block;
	margin-left: 6px;
	margin-right: 4px;
	margin-bottom: 12px;
	width: calc((100% - 75px) / 6);
}
.works-contents01 .menu-box span a {
	width: 100%;
	padding: 10px 10px 12px 10px;
	text-align: center;
	display: inline-block;
	background: rgba(255,255,255,1);
	box-shadow: 2px 2px 5px rgba(0,0,0,0.2);
	border-radius: 30px;
}

.works-contents02 {
}
.works-contents02 .contents-inr {
	max-width: 1000px;
}
.works-contents02 .tbl-box {
}
.works-contents02 .tbl-box table {
	width: 100%;
	border-collapse:separate;
	border-spacing:0px;
	margin: 0 auto 0px auto;
}
.works-contents02 .tbl-box table tr {
	position: relative;
}
.works-contents02 .tbl-box table tr::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: -100%;
	margin: 0;
	width: 300%;
	height: 1px;
	background: #999999;
	z-index: -6;
}
.works-contents02 .tbl-box table tr:first-of-type::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: -100%;
	margin: 0;
	width: 300%;
	height: 100%;
	background: #ececec;
	z-index: -6;
}
.works-contents02 .tbl-box table tr:last-of-type::after {
	display: none;
}
.works-contents02 .tbl-box table th {
	position: relative;
	vertical-align: middle;
	text-align: center;
	font-size: clamp(13px, 13px + 5 * (100vw - 375px) / 905, 18px);
	padding-top: clamp(5px, 5px + 17 * (100vw - 375px) / 905, 22px);
	padding-bottom: clamp(5px, 5px + 17 * (100vw - 375px) / 905, 22px);
}
.works-contents02 .tbl-box table th::before {
	content: "";
	display: block;
	position: absolute;
	top: 15%;
	left: 0;
	margin: 0;
	width: 1px;
	height: 70%;
	background: #bbbbbb;
}
.works-contents02 .tbl-box table th:first-of-type::before {
	display: none;
}
.works-contents02 .tbl-box table th.th01 {
	width: 17%;
}
.works-contents02 .tbl-box table th.th02 {
	width: 53%;
}

.works-contents02 .tbl-box table tr:last-of-type th {
}
.works-contents02 .tbl-box table td {
	vertical-align: middle;
	text-align: center;
	font-size: clamp(12px, 12px + 4 * (100vw - 375px) / 905, 16px);
	padding-top: clamp(5px, 5px + 25 * (100vw - 375px) / 905, 30px);
	padding-bottom: clamp(5px, 5px + 25 * (100vw - 375px) / 905, 30px);
}
.works-contents02 .tbl-box table td.td01 {
	text-align: left;
	padding-left: clamp(10px, 10px + 20 * (100vw - 375px) / 905, 30px);
	padding-right: clamp(5px, 5px + 15 * (100vw - 375px) / 905, 20px);
}
.works-contents02 .tbl-box table td.td02 {
	text-align: left;
	padding-left: clamp(5px, 5px + 15 * (100vw - 375px) / 905, 20px);
}
.works-contents02 .tbl-box table tr:last-of-type td {
}

@media screen and (max-width: 959px) {
	.works-contents01 .menu-box span {
		width: calc((100% - 55px) / 4);
	}
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
	.works-catch p {
		text-align: left;
	}
	.works-contents01 .menu-box span {
		width: calc((100% - 30px) / 2);
	}
	.works-contents02 .contents-inr {
		padding-left: 0px;
		padding-right: 0px;
	}
}


.worksdetail-contents01 {
}
.worksdetail-contents01 .contents-inr {
	max-width: 1060px;
}
.worksdetail-contents01 .page__list li {
	width: calc((100% - 40px) / 2);
	margin-right: 40px;
	margin-bottom: clamp(15px, 15px + 15 * (100vw - 375px) / 905, 30px);
}
.worksdetail-contents01 .page__list li:nth-of-type(2n) {
	margin-right: 0px;
}
.worksdetail-contents01 .page__list li:last-of-type {
	margin-right: 0px;
}
.worksdetail-contents01 .ttl01 {
	color: rgba(0,0,0,0.12);
}

.worksdetail-contents02 {
	position: relative;
}
.worksdetail-contents02::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background: #ececec;
	z-index: -8;
}
.worksdetail-contents02 .contents-inr {
	max-width: 1060px;
}
.worksdetail-contents02 h3 {
	background: url("../img/02aboutus/icon01.svg") no-repeat left clamp(5px, 5px + 1 * (100vw - 375px) / 905, 6px);
	background-size: clamp(13px, 13px + 10 * (100vw - 375px) / 905, 23px);
	padding-left: clamp(23px, 23px + 15 * (100vw - 375px) / 905, 38px);
}

.worksdetail-contents03 {
}
.worksdetail-contents03 .contents-inr {
	max-width: 1360px;
}

.worksdetail-contents03 .tbl-box {
}
.worksdetail-contents03 .tbl-box table {
	width: 50%;
	border-collapse:separate;
	border-spacing:0px;
	margin: 0 auto 0px auto;
	border-top: #bbbbbb 1px solid;
}
.worksdetail-contents03 .tbl-box table th {
	width: 28%;
	vertical-align: middle;
	border-bottom: #bbbbbb 1px solid;
	text-align: left;
	padding-top: clamp(10px, 10px + 15 * (100vw - 375px) / 905, 25px);
	padding-bottom: clamp(10px, 10px + 15 * (100vw - 375px) / 905, 25px);
	padding-left: clamp(10px, 10px + 20 * (100vw - 375px) / 905, 30px);
	padding-right: 10px;
}
.worksdetail-contents03 .tbl-box table td {
	vertical-align: middle;
	border-bottom: #bbbbbb 1px solid;
	text-align: left;
	padding-top: clamp(10px, 10px + 15 * (100vw - 375px) / 905, 25px);
	padding-bottom: clamp(10px, 10px + 15 * (100vw - 375px) / 905, 25px);
}

.worksdetail-contents03 .page__list li {
	width: calc((100% - 75px) / 4);
	margin-right: 25px;
	margin-bottom: 25px;
}
.worksdetail-contents03 .page__list li:nth-of-type(4n) {
	margin-right: 0px;
}
.worksdetail-contents03 .page__list li:last-of-type {
	margin-right: 0px;
}

@media screen and (max-width: 959px) {
	.worksdetail-contents03 .tbl-box table {
		width: 70%;
	}
	.worksdetail-contents03 .page__list li {
		width: calc((100% - 20px) / 2);
		margin-right: 20px;
		margin-bottom: 20px;
	}
	.worksdetail-contents03 .page__list li:nth-of-type(4n) {
		margin-right: 20px;
	}
	.worksdetail-contents03 .page__list li:nth-of-type(2n) {
		margin-right: 0px;
	}
	.worksdetail-contents03 .page__list li:last-of-type {
		margin-right: 0px;
	}
}

@media screen and (max-width: 599px) {
	.worksdetail-contents01 .page__list li {
		width: calc((100% - 10px) / 2);
		margin-right: 10px;
		margin-bottom: 10px;
	}
	.worksdetail-contents01 .page__list li:nth-of-type(2n) {
		margin-right: 0px;
	}
	.worksdetail-contents01 .page__list li:last-of-type {
		margin-right: 0px;
	}
	.worksdetail-contents03 .tbl-box table {
		width: 100%;
	}
	.worksdetail-contents03 .tbl-box table th {
		padding-left: 0px;
		padding-right: 5px;
	}
	.worksdetail-contents03 .page__list li {
		width: calc((100% - 10px) / 2);
		margin-right: 10px;
		margin-bottom: 10px;
	}
	.worksdetail-contents03 .page__list li:nth-of-type(4n) {
		margin-right: 10px;
	}
	.worksdetail-contents03 .page__list li:nth-of-type(2n) {
		margin-right: 0px;
	}
	.worksdetail-contents03 .page__list li:last-of-type {
		margin-right: 0px;
	}
}


/*	会社概要
---------------------------------*/
.aboutus-contents01 {
}

.aboutus-contents01 .txt-box-inner-wrap {
  display: flex;
gap:80px;
}
.aboutus-contents01 .img-box-pc {
width: 40%;
/*    親要素の余白分 */
margin-right: -30px;
}
.aboutus-contents01 .img-box-sp {
display: none;
}
.aboutus-contents01 .txt-box-inner{
width: 60%;
}
.aboutus-contents01 .ttl01 {
	background: url("../img/02aboutus/icon01.svg") no-repeat left clamp(5px, 5px + 3 * (100vw - 375px) / 905, 8px);
	background-size: clamp(13px, 13px + 6 * (100vw - 375px) / 905, 19px);
	padding-left: clamp(20px, 20px + 10 * (100vw - 375px) / 905, 30px);
}
.aboutus-contents01 .name {
	text-align: right;
}
.aboutus-contents01 .name .span01 {
	display: inline-block;
	text-align: left;
}
@media screen and (max-width: 1200px) {
  .aboutus-contents01 .txt-box-inner-wrap {
  gap:40px;
  }
}
@media screen and (max-width: 959px) {
  .aboutus-contents01 .txt-box-inner-wrap{
    gap: 0;
  }
  .aboutus-contents01 .txt-box-inner{
    width: 100%;
  }

  .aboutus-contents01 .img-box-sp {
    display: block;
    float: right;
    width: min(50%, 260px);
    margin: 0 -30px 16px 16px;
  }
  .aboutus-contents01 .img-box-sp img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
  }
  .aboutus-contents01 .txt-box-inner-txt::after {
    content: "";
    display: table;
    clear: both;
  }
  .aboutus-contents01 .img-box-pc {
    display: none;
  }

}
@media screen and (max-width: 767px) {

}
@media screen and (max-width: 599px) {
  .aboutus-contents01 .img-box-sp{
    margin: 0 -15px 12px 12px;
  }
}

.aboutus-contents02 {
	position: relative;
}
.aboutus-contents02::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, rgba(0,0,0,0.1) 0%, rgba(255,255,255,1) 50%, rgba(0,0,0,0.1) 100%);
	z-index: -8;
}
.aboutus-contents02 .contents-inr {
	max-width: 1360px;
}
.aboutus-contents02 .txt-box {
	margin-left: auto;
	margin-right: auto;
	max-width: 1100px;
}
.aboutus-contents02 .ttl01 {
	background: url("../img/02aboutus/icon01.svg") no-repeat left clamp(5px, 5px + 3 * (100vw - 375px) / 905, 8px);
	background-size: clamp(13px, 13px + 6 * (100vw - 375px) / 905, 19px);
	padding-left: clamp(20px, 20px + 10 * (100vw - 375px) / 905, 30px);
}
.aboutus-contents02 .img-box {
	margin-left: 46%;
	margin-bottom: clamp(30px, 30px + 40 * (100vw - 375px) / 905, 70px);
	width: clamp(250px, 250px + 201 * (100vw - 375px) / 905, 451px);
}
.aboutus-contents02 .tbl-box {
}
.aboutus-contents02 .tbl-box table {
	width: 100%;
	border-collapse:separate;
	border-spacing:0px;
	margin: 0 auto 0px auto;
}
.aboutus-contents02 .tbl-box table th {
	width: 33%;
	vertical-align: middle;
	padding-right: clamp(0px, 0px + 100 * (100vw - 375px) / 905, 100px);
}
.aboutus-contents02 .tbl-box table th img {
  aspect-ratio: 938 / 590;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.aboutus-contents02 .tbl-box table td {
	vertical-align: middle;
	border-top: #999999 1px solid;
}
.aboutus-contents02 .tbl-box table td.td01 {
	width: 22%;
	padding-top: clamp(20px, 20px + 26 * (100vw - 375px) / 905, 46px);
	padding-bottom: clamp(20px, 20px + 26 * (100vw - 375px) / 905, 46px);
}
.aboutus-contents02 .tbl-box table td.td01 .month {
	font-style: italic;
}
.aboutus-contents02 .tbl-box table td.td02 {
	width: 45%;
}

@media screen and (max-width: 959px) {
}
@media screen and (max-width: 767px) {
}
@media screen and (max-width: 599px) {
	.aboutus-contents02 .img-box {
		margin-left: 13%;
		margin-top: 20px;
		margin-bottom: 20px;
		width: 80%;
	}
	.aboutus-contents02 .tbl-box table th {
		width: 100%;
		display: block;
		padding-right: 0;
		border-top: #999999 1px solid;
	}
	.aboutus-contents02 .tbl-box table td.td01 {
		width: 33%;
		display: inline-block;
		border-top: none;
		padding-top: 15px;
		padding-bottom: 15px;
	}
	.aboutus-contents02 .tbl-box table td.td01 .nen {
		letter-spacing: 5px;
	}
	.aboutus-contents02 .tbl-box table td.td02 {
		width: 67%;
		display: inline-block;
		border-top: none;
		padding-top: 15px;
		padding-bottom: 15px;
	}
}

.aboutus-contents03 {
}
.aboutus-contents03 .contents-inr {
}
.aboutus-contents03 .ttl01 {
	background: url("../img/02aboutus/icon01.svg") no-repeat left clamp(5px, 5px + 3 * (100vw - 375px) / 905, 8px);
	background-size: clamp(13px, 13px + 6 * (100vw - 375px) / 905, 19px);
	padding-left: clamp(20px, 20px + 10 * (100vw - 375px) / 905, 30px);
}
.aboutus-contents03 .img-box {
	margin-left: 25%;
	margin-top: clamp(30px, 30px + 30 * (100vw - 375px) / 905, 60px);
	margin-bottom: clamp(20px, 20px + 10 * (100vw - 375px) / 905, 30px);
	width: 80%;
}
.aboutus-contents03 .tbl-box {
}
.aboutus-contents03 .tbl-box table {
	width: 70%;
	border-collapse:separate;
	border-spacing:0px;
	margin: 0 auto 0px 30%;
}
.aboutus-contents03 .tbl-box table th {
	width: 23%;
	vertical-align: top;
	border-bottom: #999999 1px solid;
	padding-left: clamp(0px, 0px + 15 * (100vw - 375px) / 905, 15px);
	padding-top: clamp(15px, 15px + 15 * (100vw - 375px) / 905, 30px);
	padding-bottom: clamp(15px, 15px + 15 * (100vw - 375px) / 905, 30px);
	text-align: left;
}
.aboutus-contents03 .tbl-box table tr:last-of-type th {
	border-bottom: none;
}
.aboutus-contents03 .tbl-box table td {
	vertical-align: top;
	border-bottom: #999999 1px solid;
	padding-top: clamp(15px, 15px + 15 * (100vw - 375px) / 905, 30px);
	padding-bottom: clamp(15px, 15px + 15 * (100vw - 375px) / 905, 30px);
	text-align: left;
}
.aboutus-contents03 .tbl-box table tr:last-of-type td {
	border-bottom: none;
}

.aboutus-contents03 .tbl-box .name {
	width: 100%;
	display: table;
	table-layout: fixed;
}
.aboutus-contents03 .tbl-box .name .spanleft {
	width: 200px;
	display: table-cell;
}
.aboutus-contents03 .tbl-box .name .spanright {
	width: calc(100% - 200px);
	display: table-cell;
}

@media screen and (max-width: 959px) {
	.aboutus-contents03 .img-box {
		margin-left: 5%;
		width: 100%;
	}
	.aboutus-contents03 .tbl-box table {
		width: 90%;
		margin: 0 auto 0px 10%;
	}
}
@media screen and (max-width: 767px) {
}
@media screen and (max-width: 599px) {
	.aboutus-contents03 .img-box {
		margin-left: 0;
		margin-top: 20px;
		margin-bottom: 20px;
		width: 100%;
	}
	.aboutus-contents03 .tbl-box table {
		width: 100%;
		margin: 0 auto 0px auto;
	}
	.aboutus-contents03 .tbl-box table th {
		width: 100%;
		display: block;
		border-bottom: none;
		padding-left: 0px;
		padding-top: 15px;
		padding-bottom: 10px;
		font-weight: 700;
	}
	.aboutus-contents03 .tbl-box table td {
		width: 100%;
		display: block;
		padding-top: 0px;
		padding-bottom: 15px;
	}
	.aboutus-contents03 .tbl-box .name .spanleft {
		width: 180px;
	}
	.aboutus-contents03 .tbl-box .name .spanright {
		width: calc(100% - 180px);
	}
}

.aboutus-contents04 {
	position: relative;
}
.aboutus-contents04::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background: #f1f1f1;
	z-index: -8;
}
.aboutus-contents04 .contents-inr {
	max-width: 1360px;
}
.aboutus-contents04 .txt-box {
	padding-top: 70px;
	padding-bottom: 100px;
	background: url("../img/02aboutus/img04@1.5x.webp") no-repeat center center;
	background-size: cover;
}
.aboutus-contents04 .txt-box h4 {
	text-align: center;
}
.aboutus-contents04 .txt-box p {
	text-align: left;
	width: 50%;
	margin-left: auto;
	margin-right: auto;
}

@media screen and (max-width: 1280px) {
	.aboutus-contents04 .txt-box p {
		width: 70%;
	}
}

@media screen and (max-width: 959px) {
	.aboutus-contents04 .txt-box p {
		width: 80%;
	}
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
	.aboutus-contents04 .txt-box {
		padding-top: 40px;
		padding-bottom: 60px;
	}
	.aboutus-contents04 .txt-box p {
		width: 90%;
	}
}

.aboutus-contents05 {
	position: relative;
}
.aboutus-contents05::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background: #f1f1f1;
	z-index: -8;
}
.aboutus-contents05 .contents-inr {
	max-width: 1060px;
}
.aboutus-contents05 h3 {
	border-bottom: #999999 1px solid;
}
.aboutus-contents05 h3 span {
	background: url("../img/02aboutus/icon01.svg") no-repeat left clamp(6px, 6px + 3 * (100vw - 375px) / 905, 9px);
	background-size: clamp(14px, 14px + 5 * (100vw - 375px) / 905, 19px);
	padding-left: clamp(20px, 20px + 10 * (100vw - 375px) / 905, 30px);
}
.aboutus-contents05 .page__list {
}
.aboutus-contents05 .page__list li {
	width: calc((100% - 60px) / 2);
	margin-right: 60px;
	margin-bottom: clamp(33px, 33px + 27 * (100vw - 375px) / 905, 60px);
}
.aboutus-contents05 .page__list li:nth-of-type(2n) {
	margin-right: 0px;
}
.aboutus-contents05 .page__list li:last-of-type {
	margin-right: 0px;
}
.aboutus-contents05 .img-box {
	width: 100%;
	display: table;
	table-layout: fixed;
}
.aboutus-contents05 .img-box .img-box-left {
	width: 40%;
	display: table-cell;
	vertical-align: middle;
	padding-right:30px;
}
.aboutus-contents05 .img-box .img-box-left img {
	mix-blend-mode: multiply;
}
.aboutus-contents05 .page__list li:nth-of-type(2) .img-box .img-box-left {
	padding-left: 30px;
	padding-right: 30px;
}
.aboutus-contents05 .img-box .img-box-right {
	width: 60%;
	display: table-cell;
	vertical-align: middle;
}
.aboutus-contents05 .img-box .img-box-right h4 {
	padding-bottom: 10px;
	border-bottom: #999999 1px solid;
}

@media screen and (max-width: 959px) {
}

@media screen and (max-width: 767px) {
	.aboutus-contents05 .img-box .img-box-left {
		padding-right:20px;
	}
	.aboutus-contents05 .page__list li:nth-of-type(2) .img-box .img-box-left {
		padding-left: 20px;
		padding-right: 20px;
	}
}

@media screen and (max-width: 599px) {
	.aboutus-contents05 .page__list {
		padding-bottom: 20px;
	}
	.aboutus-contents05 .page__list li {
		width: 100%;
		margin-right: 0px;
		margin-bottom: 20px;
	}
	.aboutus-contents05 .page__list li:nth-of-type(2n) {
		margin-right: 0px;
	}
	.aboutus-contents05 .page__list li:last-of-type {
		margin-right: 0px;
	}
	.aboutus-contents05 .img-box .img-box-left {
		padding-right:20px;
	}
	.aboutus-contents05 .page__list li:nth-of-type(2) .img-box .img-box-left {
		padding-left: 5px;
		padding-right: 25px;
	}
}

.aboutus-contents06 {
}
.aboutus-contents06 .contents-inr {
	max-width: 1060px;
}
.aboutus-contents06 h3 {
	border-bottom: #999999 1px solid;
}
.aboutus-contents06 h3 span {
	background: url("../img/02aboutus/icon01.svg") no-repeat left clamp(6px, 6px + 3 * (100vw - 375px) / 905, 9px);
	background-size: clamp(14px, 14px + 5 * (100vw - 375px) / 905, 19px);
	padding-left: clamp(20px, 20px + 10 * (100vw - 375px) / 905, 30px);
}
.aboutus-contents06 .page__list {
}
.aboutus-contents06 .page__list li {
	width: calc((100% - 60px) / 2);
	margin-right: 60px;
	margin-bottom: clamp(33px, 33px + 27 * (100vw - 375px) / 905, 60px);
}
.aboutus-contents06 .page__list li:nth-of-type(2n) {
	margin-right: 0px;
}
.aboutus-contents06 .page__list li:nth-of-type(2) {
	padding-top: 35px;
}
.aboutus-contents06 .page__list li:last-of-type {
	margin-right: 0px;
}
.aboutus-contents06 .img-box {
	width: 100%;
	display: table;
	table-layout: fixed;
}
.aboutus-contents06 .img-box .img-box-left {
	width: 40%;
	display: table-cell;
	vertical-align: middle;
	padding-right:30px;
}
.aboutus-contents06 .img-box .img-box-left img {
	mix-blend-mode: multiply;
}
.aboutus-contents06 .page__list li:nth-of-type(2) .img-box .img-box-left {
}
.aboutus-contents06 .img-box .img-box-right {
	width: 60%;
	display: table-cell;
	vertical-align: middle;
}
.aboutus-contents06 .img-box .img-box-right h4 {
	padding-bottom: 10px;
	border-bottom: #999999 1px solid;
}

@media screen and (max-width: 959px) {
}

@media screen and (max-width: 767px) {
	.aboutus-contents06 .img-box .img-box-left {
		padding-right:20px;
	}
	.aboutus-contents06 .page__list li:nth-of-type(2) .img-box .img-box-left {
	}
}

@media screen and (max-width: 599px) {
	.aboutus-contents06 .page__list {
		margin-bottom: 20px;
	}
	.aboutus-contents06 .page__list li {
		width: 100%;
		margin-right: 0px;
		margin-bottom: 20px;
	}
	.aboutus-contents06 .page__list li:nth-of-type(2n) {
		margin-right: 0px;
	}
	.aboutus-contents06 .page__list li:nth-of-type(2) {
		padding-top: 0px;
	}
	.aboutus-contents06 .page__list li:last-of-type {
		margin-right: 0px;
	}
	.aboutus-contents06 .img-box .img-box-left {
		padding-right:20px;
	}
	.aboutus-contents06 .page__list li:nth-of-type(2) .img-box .img-box-left {
	}
}


.aboutus-contents07 {
	position: relative;
}
.aboutus-contents07::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background: #f1f1f1;
	z-index: -8;
}
.aboutus-contents07 .contents-inr {
	max-width: 1260px;
}
.aboutus-contents07 .txt-box {
	margin-left: 50%;
	margin-right: 10%;
}
.aboutus-contents07 .ttl01 {
	background: url("../img/02aboutus/icon01.svg") no-repeat left clamp(5px, 5px + 3 * (100vw - 375px) / 905, 8px);
	background-size: clamp(13px, 13px + 6 * (100vw - 375px) / 905, 19px);
	padding-left: clamp(20px, 20px + 10 * (100vw - 375px) / 905, 30px);
}
.aboutus-contents07 .img-box {
	position: absolute;
	top: 170px;
	left: 10%;
	width: 36%;
}
.aboutus-contents07 .img-box02 {
	border-bottom: #999999 1px solid;
	padding-bottom: 30px;
	margin-bottom: 30px;
}

.aboutus-contents07 .page__list {
	margin-top: clamp(40px, 40px + 60 * (100vw - 375px) / 905, 100px);
}
.aboutus-contents07 .page__list li {
	width: calc((100% - 30px) / 2);
	margin-right: 30px;
	margin-bottom: 30px;
	background: #ffffff;
	box-shadow: 5px 5px 5px rgba(0,0,0,0.1);
}
.aboutus-contents07 .page__list li:nth-of-type(2n) {
	margin-right: 0px;
}
.aboutus-contents07 .page__list li:last-of-type {
	margin-right: 0px;
}
.aboutus-contents07 .page__list li h4 {
	background: url("../img/03service/bg_mission02.png") no-repeat center center;
	background-size: 100% 100%;
}
.aboutus-contents07 .page__list li .ptel {
	background: url("../img/02aboutus/icon_tel.svg") no-repeat left center;
	background-size: 23px;
	padding-left: 30px;
	display: inline-block;
}
.aboutus-contents07 .page__list li .pfax {
	background: url("../img/02aboutus/icon_fax.svg") no-repeat left center;
	background-size: 23px;
	padding-left: 30px;
	display: inline-block;
}
.aboutus-contents07 .page__list li .img-box03 {
	width: 100.1%;
}
.aboutus-contents07 .page__list li iframe {
	width: 100%;
	height: 200px;
}

@media screen and (max-width: 959px) {
}

@media screen and (max-width: 767px) {
	.aboutus-contents07 .txt-box {
		margin-left: 0%;
		margin-right: 0%;
	}
	.aboutus-contents07 .img-box {
		position: static;
		width: 60%;
		margin-left: auto;
		margin-right: auto;
		margin-top: 30px;
	}
	.aboutus-contents07 .img-box02 {
		width: 60%;
		margin-left: auto;
		margin-right: auto;
	}
	.aboutus-contents07 .page__list li {
		width: 100%;
		margin-right: 0px;
		margin-bottom: 20px;
	}
	.aboutus-contents07 .page__list li:nth-of-type(2n) {
		margin-right: 0px;
	}
	.aboutus-contents07 .page__list li:last-of-type {
		margin-right: 0px;
	}
}

@media screen and (max-width: 599px) {
	.aboutus-contents07 .img-box {
		width: 70%;
	}
	.aboutus-contents07 .img-box02 {
		width: 100%;
	}
	.aboutus-contents07 .page__list li .ptel {
		background-size: 18px;
		padding-left: 23px;
		margin-right: 10px;
	}
	.aboutus-contents07 .page__list li .pfax {
		background-size: 18px;
		padding-left: 23px;
	}
}


/*	事業内容
---------------------------------*/
.service-contents01 {
	position: relative;
}
.service-contents01::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background: #ededed;
	z-index: -8;
}
.service-contents01::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background: url("../img/03service/bg_mission01.webp") no-repeat right top;
	background-size: auto;
	mix-blend-mode: multiply;
	z-index: -8;
}
.service-contents01 .contents-inr {
	max-width: 1020px;
}

.service-contents01 .ttl01 {
	background: url("../img/02aboutus/icon01.svg") no-repeat left clamp(6px, 6px + 3 * (100vw - 375px) / 905, 9px);
	background-size: clamp(13px, 13px + 7 * (100vw - 375px) / 905, 20px);
	padding-left: clamp(23px, 23px + 12 * (100vw - 375px) / 905, 35px);
}

@media screen and (max-width: 959px) {
}

@media screen and (max-width: 767px) {
	.service-contents01::after {
		background-size: 80%;
	}
}

@media screen and (max-width: 599px) {
}

.service-contents02 {
	position: relative;
}
.service-contents02::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background: #ededed;
	z-index: -8;
}
.service-contents02 .contents-inr {
}
.service-contents02 .contents-inr::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 150%;
	height: 100%;
	background: url("../img/03service/bg_mission02.png") no-repeat center center;
	background-size: 100% 100%;
	z-index: -6;
}
.service-contents02 .txt-box {
	padding-left: 8%;
}
.service-contents02 .img-box {
	position: absolute;
	top: 30px;
	left: 55%;
	width: 50%;
}

@media screen and (max-width: 959px) {
	.service-contents02 .contents-inr::before {
		left: 2%;
		width: 110%;
	}
	.service-contents02 .txt-box {
		padding-left: 2%;
		padding-right: 47%;
	}
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
	.service-contents02 .txt-box {
		padding-left: 2%;
		padding-right: 0%;
	}
	.service-contents02 .img-box {
		margin-top: 20px;
		position: static;
		width: 100%;
	}
}

.service-contents03 {
	border-bottom: #000000 clamp(10px, 10px + 5 * (100vw - 375px) / 905, 15px) solid;
}
.service-contents03 .contents-inr {
}
.service-contents03 .ttl01 {
	background: url("../img/02aboutus/icon01.svg") no-repeat left clamp(6px, 6px + 3 * (100vw - 375px) / 905, 9px);
	background-size: clamp(13px, 13px + 7 * (100vw - 375px) / 905, 20px);
	padding-left: clamp(23px, 23px + 12 * (100vw - 375px) / 905, 35px);
}
.service-contents03 .page__list {
	text-align: center;
}
.service-contents03 .page__list li {
	width: calc((100% - 200px) / 3);
	margin-right: 100px;
	margin-bottom: 30px;
	padding-bottom: 30px;
	position: relative;
}
.service-contents03 .page__list li::before {
	content: "";
	display: block;
	position: absolute;
	top: 15%;
	right: -50px;
	margin: 0;
	width: 1px;
	height: 85%;
	background: #999999;
	z-index: -6;
}
.service-contents03 .page__list li:nth-of-type(3n)::before {
	display: none;
}
.service-contents03 .page__list li:nth-of-type(3n) {
	margin-right: 0px;
}
.service-contents03 .page__list li:last-of-type {
	margin-right: 0px;
}
.service-contents03 .page__list li .no span {
	position: relative;
}
.service-contents03 .page__list li .no span::before {
	content: "";
	display: block;
	position: absolute;
	top: 10%;
	left: -16%;
	margin: 0;
	width: 132%;
	height: 86%;
	border: #000000 3px solid;
}
.service-contents03 .page__list li:nth-of-type(1) .no span::before {
	border: #dc0000 3px solid;
	left: -23%;
	width: 146%;
}
.service-contents03 .page__list li:nth-of-type(3) .no span::before {
	border: #dc0000 3px solid;
	left: -16%;
	width: 132%;
}
.service-contents03 .page__list li .img-box {
	margin-top: 10px;
	margin-bottom: 5px;
}

@media screen and (max-width: 959px) {
	.service-contents03 .page__list li {
		width: calc((100% - 60px) / 3);
		margin-right: 30px;
	}
	.service-contents03 .page__list li::before {
		right: -15px;
	}
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
	.service-contents03 .page__list li {
		width: 100%;
		margin-right: 0px;
	}
	.service-contents03 .page__list li:nth-of-type(3n) {
		margin-right: 0px;
	}
	.service-contents03 .page__list li:last-of-type {
		margin-right: 0px;
	}
	.service-contents03 .page__list li::before {
		display: none;
	}
	.service-contents03 .page__list li .img-box {
		width: 60%;
		margin-left: auto;
		margin-right: auto;
	}
}

.service-contents04 {
	position: relative;
}
.service-contents04::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background: #f3f5f5;
	z-index: -8;
}
.service-contents04 .contents-inr {
	max-width: 1260px;
}
.service-contents04 h3 {
}
.service-contents04 h3 span {
	display: inline-block;
	vertical-align: middle;
	margin-top: -8px;
	margin-left: 28px;
	padding-left: 28px;
	padding-top: 2px;
	padding-bottom: 8px;
	border-left: #000000 1px solid;
}
.service-contents04 .page__list {
}
.service-contents04 .page__list li {
	width: 50%;
	border-right: rgba(255,255,255,1) 8px solid;
	padding-bottom: 20px;
}
.service-contents04 .page__list li:nth-of-type(1) {
	padding-right: 5%;
}
.service-contents04 .page__list li:nth-of-type(2) {
	padding-left: 5%;
}
.service-contents04 .page__list li:nth-of-type(2n) {
	border-right: none;
}
.service-contents04 .page__list li .img-box {
	position: relative;
}
.service-contents04 .page__list li .img-box a {
	position: absolute;
	right: 0;
	bottom: -60px;
	width: 170px;
	height: 170px;
	background: #000000;
	border-radius: 50%;
	text-align: center;
	padding-top: 50px;
}
.service-contents04 .page__list li:nth-of-type(1) .img-box a {
	background: #dc0000;
}
.service-contents04 .page__list li .ttl01 {
	position: relative;
	padding-left: 50px;
}
.service-contents04 .page__list li .ttl01::before {
	content: "";
	display: block;
	position: absolute;
	top: 10%;
	left: 0;
	margin: 0;
	width: 20px;
	height: 90%;
	background: #dc0000;
}
.service-contents04 .page__list li .check {
	padding-top: 5px;
	padding-bottom: 5px;
	background: url("../img/03service/icon_check.svg") no-repeat left clamp(6px, 6px + 3 * (100vw - 375px) / 905, 9px);
	background-size: clamp(13px, 13px + 7 * (100vw - 375px) / 905, 20px);
	padding-left: clamp(20px, 20px + 10 * (100vw - 375px) / 905, 30px);
}

@media screen and (max-width: 959px) {
}

@media screen and (max-width: 767px) {
	.service-contents04 .page__list li {
		width: 100%;
		border-right: none;
		padding-bottom: 20px;
	}
	.service-contents04 .page__list li:nth-of-type(1) {
		padding-right: 0;
		margin-bottom: 30px;
	}
	.service-contents04 .page__list li:nth-of-type(2) {
		padding-left: 0;
	}
	.service-contents04 .page__list li:nth-of-type(2n) {
		border-right: none;
	}
}

@media screen and (max-width: 599px) {
	.service-contents04 .page__list li .img-box a {
		right: -10px;
		bottom: -15px;
		width: 100px;
		height: 100px;
		padding-top: 28px;
	}
}


/*	事業内容（内線工事）
---------------------------------*/
.service01-contents01 {
}
.service01-contents01 .contents-inr {
}
.service01-contents01 .img-box {
	position: absolute;
	top: 0px;
	left: 50%;
	width: 52%;
}
.service01-contents01 .txt-box {
	padding-right: 56%;
}

@media screen and (max-width: 959px) {
	.service01-contents01 .img-box {
		top: 60px;
		left: 64%;
		width: 36%;
	}
	.service01-contents01 .txt-box {
		padding-right: 40%;
	}
}
@media screen and (max-width: 767px) {
}
@media screen and (max-width: 599px) {
	.service01-contents01 .img-box {
		position: static;
		width: 80%;
		margin-top: 20px;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 0px;
	}
	.service01-contents01 .txt-box {
		padding-right: 0;
	}
}

.service01-contents02 {
	position: relative;
}
.service01-contents02::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background: #f3f5f5;
	z-index: -8;
}
.service01-contents02::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background: url("../img/03service/01/bg_interior.webp") no-repeat right top;
	background-size: auto;
	mix-blend-mode: multiply;
	z-index: -8;
}
.service01-contents02.service02-contents02::after {
	display: none;
}
.service01-contents02 .contents-inr {
}
.service01-contents02 .txt-box {
	max-width: 960px;
	margin-left: auto;
	margin-right: auto;
}
.service01-contents02 .kodawari-box {
	width: 100%;
	display: table;
	table-layout: fixed;
}
.service01-contents02 .kodawari-box h3 {
	width: 200px;
	display: table-cell;
	vertical-align: top;
	padding-top: 45px;
}
.service01-contents02 .kodawari-box h3 span {
	display: inline-block;
	width: 160px;
	height: 160px;
	text-align: center;
	padding-top: 35px;
	border-radius: 50%;
}
.service01-contents02 .kodawari-box p {
	width: calc(100% - 200px);
	display: table-cell;
	vertical-align: top;
	letter-spacing: -5px;
	font-style: italic;
	position: relative;
}
.service01-contents02 .kodawari-box p::before {
	content: "";
	display: block;
	position: absolute;
	top: 93%;
	left: 0;
	margin: 0;
	width: 100%;
	height: 15px;
	background: linear-gradient(180deg, #e21c17 70%, #ec8a8b 100%);
	z-index: -8;
}
.service01-contents02 .kodawari-box p span {
	letter-spacing: 2px;
}

.service01-contents02 .slide-area {
	padding-top: 60px;
	padding-bottom: 60px;
}

.service01-contents02 .slide-box {
	position: relative;
	margin-bottom: 100px;
	padding: 30px 38% 20px 7%;
	min-height: 500px;
}
.service01-contents02 .slide-box.slide-box01 {
	position: sticky;
	top: 28%;
}
.service01-contents02 .slide-box.slide-box02 {
	position: sticky;
	top: 29%;
	margin-left: 25px;
}
.service01-contents02 .slide-box.slide-box03 {
	position: sticky;
	top: 30%;
	margin-left: 50px;
}
.service01-contents02 .slide-box::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 130%;
	height: 100%;
	background: #ffffff;
	border-left: #dc0000 12px solid;
	box-shadow: 2px 2px 20px rgba(0,0,0,0.3);
	z-index: -6;
}
.service01-contents02 .slide-box::after {
	content: "";
	display: block;
	position: absolute;
	top: 30px;
	left: 52%;
	margin: 0;
	width: calc(78% - 30px);
	height: calc(100% - 60px);
	clip-path: polygon(220px 100%, 0% 0%, 100% 0%, 100% 100%);
	-webkit-clip-path: polygon(220px 100%, 0% 0%, 100% 0%, 100% 100%);
	z-index: -6;
}

.service01-contents02 .slide-box.slide-box01::after {
	background: url("../img/03service/01/img_slide01@2x.webp") no-repeat center center;
	background-size: cover;
}
.service01-contents02 .slide-box.slide-box02::after {
	background: url("../img/03service/01/img_slide02@2x.webp") no-repeat center center;
	background-size: cover;
}
.service01-contents02 .slide-box.slide-box03::after {
	background: url("../img/03service/01/img_slide03@2x.webp") no-repeat center center;
	background-size: cover;
}

.service01-contents02.service02-contents02 .slide-box.slide-box01::after {
	background: url("../img/03service/02/img_slide01@2x.webp") no-repeat center center;
	background-size: cover;
}
.service01-contents02.service02-contents02 .slide-box.slide-box02::after {
	background: url("../img/03service/02/img_slide02@2x.webp") no-repeat center center;
	background-size: cover;
}
.service01-contents02.service02-contents02 .slide-box.slide-box03::after {
	background: url("../img/03service/02/img_slide03@2x.webp") no-repeat center center;
	background-size: cover;
}

.service01-contents02 .slide-box .no {
	position: relative;
	background: linear-gradient(90deg, #e21c17 0%, #ec8a8b 30%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	padding-bottom: 5px;
}
.service01-contents02 .slide-box .no img {
	position: absolute;
	top: 15px;
	left: 280px;
	width: 127px;
	height: auto;
}

@media screen and (max-width: 959px) {
	.service01-contents02 .kodawari-box h3 {
		width: 150px;
		padding-top: 30px;
	}
	.service01-contents02 .kodawari-box h3 span {
		width: 120px;
		height: 120px;
		padding-top: 25px;
	}
	.service01-contents02 .kodawari-box p {
		width: calc(100% - 150px);
	}
	.service01-contents02 .slide-box .no img {
		top: 10px;
		left: 200px;
		width: 80px;
		height: auto;
	}
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
	.service01-contents02 .kodawari-box h3 {
		width: 100px;
		padding-top: 30px;
	}
	.service01-contents02 .kodawari-box h3 span {
		width: 90px;
		height: 90px;
		padding-top: 20px;
		padding-right: 5px;
	}
	.service01-contents02 .kodawari-box p {
		width: calc(100% - 100px);
	}

	.service01-contents02 .slide-box .no img {
		top: 5px;
		left: 150px;
		width: 60px;
		height: auto;
	}
	.service01-contents02 .slide-box {
		padding: 20px 5px 230px 30px;
		margin-bottom: 60px;
	}
	.service01-contents02 .slide-box.slide-box01 {
		top: 15%;
	}
	.service01-contents02 .slide-box.slide-box02 {
		top: 16%;
		margin-left: 15px;
	}
	.service01-contents02 .slide-box.slide-box03 {
		top: 17%;
		margin-left: 30px;
	}
	.service01-contents02 .slide-box::before {
		border-left: #dc0000 8px solid;
	}
	.service01-contents02 .slide-box::after {
		content: "";
		display: block;
		position: absolute;
		top: auto;
		bottom: 10px;
		left: 20px;
		margin: 0;
		width: 100%;
		height: 200px;
		clip-path: polygon(0% 100%, 0% 0%, 100% 20px, 100% 100%);
		-webkit-clip-path: polygon(0% 100%, 0% 0%, 100% 20px, 100% 100%);
	}
}

.service01-contents03 {
	position: relative;
}
.service01-contents03::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background: #f3f5f5;
	z-index: -8;
}
.service01-contents03 .contents-inr {
	max-width: 1060px;
}
.service01-contents03 .tbl-box {
}
.service01-contents03 .tbl-box table {
	width: 100%;
	border-collapse:separate;
	border-spacing:0px;
	margin: 0 auto 0px auto;
}
.service01-contents03 .tbl-box table td {
	vertical-align: middle;
}
.service01-contents03 .tbl-box table td.td01 {
	width: 18%;
	padding-top: clamp(15px, 15px + 20 * (100vw - 375px) / 905, 35px);
	padding-bottom: clamp(15px, 15px + 20 * (100vw - 375px) / 905, 35px);
	border-bottom: #999999 1px solid;
}
.service01-contents03 .tbl-box table td.td02 {
	width: 37%;
	padding-top: clamp(15px, 15px + 20 * (100vw - 375px) / 905, 35px);
	padding-bottom: clamp(15px, 15px + 20 * (100vw - 375px) / 905, 35px);
	border-bottom: #999999 1px solid;
}
.service01-contents03 .tbl-box table td.td03 {
	width: 45%;
	padding-left: 5%;
}
.service01-contents03 .tbl-box table tr:first-of-type td.td01 {
	border-top: #999999 1px solid;
}
.service01-contents03 .tbl-box table tr:first-of-type td.td02 {
	border-top: #999999 1px solid;
}
.service01-contents03 .tbl-box table .no {
}
.service01-contents03 .tbl-box table .no span {
	display: inline-block;
	font-style: italic;
	margin-right: 20px;
	padding: 1px 20px 17px 0px;
	color: #f3f5f5;
	background: url("../img/03service/icon_marured.svg") no-repeat right center;
	background-size: contain;
}

@media screen and (max-width: 959px) {
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
	.service01-contents03 .tbl-box table td.td01 {
		width: 28.3%;
		border: none;
		display: inline-block;
	}
	.service01-contents03 .tbl-box table td.td02 {
		width: 71.7%;
		border: none;
		display: inline-block;
	}
	.service01-contents03 .tbl-box table td.td03 {
		width: 100%;
		padding-left: 0;
		display: inline-block;
	}
	.service01-contents03 .tbl-box table tr:first-of-type td.td01 {
		border-top: none;
	}
	.service01-contents03 .tbl-box table tr:first-of-type td.td02 {
		border-top: none;
	}
}

@media screen and (max-width: 320px) {
	.service01-contents03 .tbl-box table td.td01 {
		width: 30%;
	}
	.service01-contents03 .tbl-box table td.td02 {
		width: 70%;
	}
}

.service01-contents04 {
}
.service01-contents04 .contents-inr {
	max-width: 1220px;
}
.service01-contents04 .ttl01 {
	background: url("../img/02aboutus/icon01.svg") no-repeat left clamp(6px, 6px + 3 * (100vw - 375px) / 905, 9px);
	background-size: clamp(13px, 13px + 7 * (100vw - 375px) / 905, 20px);
	padding-left: clamp(23px, 23px + 12 * (100vw - 375px) / 905, 35px);
}
.service01-contents04 .page__list {
}
.service01-contents04 .page__list li {
	width: calc((100% - 30px) / 2);
	margin-right: 30px;
	margin-bottom: 80px;
}
.service01-contents04 .page__list li:nth-of-type(2n) {
	margin-right: 0px;
}
.service01-contents04 .page__list li:last-of-type {
	margin-right: 0px;
}
.service01-contents04 .page__list h4 {
	padding-left: clamp(20px, 20px + 23 * (100vw - 375px) / 905, 43px);
	position: relative;
}
.service01-contents04 .page__list h4::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: clamp(10px, 10px + 10 * (100vw - 375px) / 905, 20px);
	height: 100%;
	background: #dc0000;
}

.service01-contents04 .page__list li .img01{
  aspect-ratio: 1132 / 614;
}
.service01-contents04 .page__list li .img01 img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 959px) {
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
	.service01-contents04 .page__list li {
		width: 100%;
		margin-right: 0px;
		margin-bottom: 30px;
	}
	.service01-contents04 .page__list li:nth-of-type(2n) {
		margin-right: 0px;
	}
	.service01-contents04 .page__list li:last-of-type {
		margin-right: 0px;
	}
}

.service01-contents05 {
	position: relative;
	border-bottom: #000000 clamp(10px, 10px + 5 * (100vw - 375px) / 905, 15px) solid;
}
.service01-contents05::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, #e21c17 0%, #ec8a8b 100%);
	z-index: -8;
}
.service01-contents05 .contents-inr {
	max-width: 1300px;
}
.service01-contents05 .txt-box {
	max-width: 1020px;
	margin-left: auto;
	margin-right: auto;
}
.service01-contents05 .ttl01 {
	background: url("../img/03service/icon_maruwhite.svg") no-repeat left clamp(7px, 7px + 3 * (100vw - 375px) / 905, 10px);
	background-size: clamp(13px, 13px + 7 * (100vw - 375px) / 905, 20px);
	padding-left: clamp(23px, 23px + 12 * (100vw - 375px) / 905, 35px);
}

.service01-contents05 .tbl-box {
}
.service01-contents05 .tbl-box table {
	width: 100%;
	border-collapse:separate;
	border-spacing:0px;
	margin: 0 auto 0px auto;
	background: #ffffff;
}
.service01-contents05 .tbl-box table th {
	width: 20%;
	vertical-align: middle;
	border-bottom: #999999 1px solid;
	text-align: center;
	padding-top: clamp(20px, 20px + 50 * (100vw - 375px) / 905, 70px);
	padding-bottom: clamp(20px, 20px + 50 * (100vw - 375px) / 905, 70px);
	padding-left: clamp(10px, 10px + 40 * (100vw - 375px) / 905, 50px);
	padding-right: clamp(5px, 5px + 15 * (100vw - 375px) / 905, 20px);
}
.service01-contents05 .tbl-box table tr:last-of-type th {
	border-bottom: none;
}
.service01-contents05 .tbl-box table td {
	vertical-align: middle;
	border-bottom: #999999 1px solid;
	padding-top: clamp(20px, 20px + 50 * (100vw - 375px) / 905, 70px);
	padding-bottom: clamp(20px, 20px + 50 * (100vw - 375px) / 905, 70px);
	padding-left: clamp(5px, 5px + 15 * (100vw - 375px) / 905, 20px);
	padding-right: clamp(5px, 5px + 15 * (100vw - 375px) / 905, 20px);
}
.service01-contents05 .tbl-box table tr:last-of-type td {
	border-bottom: none;
}
.service01-contents05 .tbl-box table td.td01 {
	width: 33%;
	text-align: left;
}
.service01-contents05 .tbl-box table td.td02 {
	width: 17%;
	text-align: center;
	position: relative;
}
.service01-contents05 .tbl-box table td.td02::before {
	content: "";
	display: block;
	position: absolute;
	bottom: -25px;
	left: 50%;
	margin: 0;
	width: 1px;
	height: 50px;
	background: #999999;
}
.service01-contents05 .tbl-box table tr:last-of-type td.td02::before {
	display: none;
}
.service01-contents05 .tbl-box table td.td03 {
	width: 30%;
	text-align: left;
	padding-left: 0px;
	padding-right: clamp(10px, 10px + 40 * (100vw - 375px) / 905, 50px);
}
.service01-contents05 .tbl-box table td.td03 h5 {
	color: #505050;
	background: url("../img/03service/icon_check.svg") no-repeat left clamp(5px, 5px + 0 * (100vw - 375px) / 905, 5px);
	background-size: clamp(12px, 12px + 9 * (100vw - 375px) / 905, 21px);
	padding-left: clamp(16px, 16px + 12 * (100vw - 375px) / 905, 28px);
}
.service01-contents05 .tbl-box table td.td03 p {
	color: #505050;
}
.service01-contents05 .tbl-box table .bg01 {
	background: #efefef;
}

@media screen and (max-width: 959px) {
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
	.service01-contents05 .tbl-box table td.td03 h5 {
		background: url("../img/03service/icon_check.svg") no-repeat left 6px;
		background-size: clamp(12px, 12px + 9 * (100vw - 375px) / 905, 21px);
		padding-left: clamp(16px, 16px + 12 * (100vw - 375px) / 905, 28px);
	}
}


/*	サスティナビリティ
---------------------------------*/
.sustainability-contents01 {
}
.sustainability-contents01 .contents-inr {
	max-width: 960px;
}
.sustainability-contents01 .img01 {
	max-width: 926px;
	margin-left: auto;
	margin-right: auto;
}
.sustainability-contents01 .img02 {
	position: absolute;
	top: clamp(100px, 100px + 140 * (100vw - 375px) / 905, 240px);
	left: 98%;
	width: 134px;
	height: auto;
}

.sustainability-slide {
}
.sustainability-slider {
}
.sustainability-slider .slider-2 {
    max-width: 100%;
    height: 660px;
    margin-left: auto;
    margin-right: auto;
}
.sustainability-slider .slider-2 .slick-slide {
    width: 1073px;
    height: 660px;
    margin: 0 18px 0 18px;
    position: relative;
    overflow: hidden;
    text-align: center;
}
.sustainability-slider .slider-2 .slick-arrow {
    cursor: pointer;
    border: none;
    outline: none;
    font-size: 0;
}

.sustainability-contents02 {
}
.sustainability-contents02 .contents-inr {
}

.sustainability-contents03 {
	position: relative;
}
.sustainability-contents03::before {
	content: "";
	display: block;
	position: absolute;
	top: 57%;
	left: 0px;
	margin: 0;
	width: 100%;
	height: 43%;
	z-index: -8;
}
.sustainability-contents03.sustainability-contents03-01::before {
	background: #cfecff;
}
.sustainability-contents03.sustainability-contents03-02::before {
	background: #cfece6;
}
.sustainability-contents03.sustainability-contents03-03::before {
	background: #e7e5ff;
}
.sustainability-contents03.sustainability-contents03-04::before {
	background: #e9e8e1;
}
.sustainability-contents03 .contents-inr {
	max-width: 1060px;
}
.sustainability-contents03 .no {
	text-align: center;
}
.sustainability-contents03 .no span {
	display: inline-block;
	font-style: italic;
	margin-right: 20px;
	padding: 1px 20px 17px 0px;
}
.sustainability-contents03.sustainability-contents03-01 .no span {
	background: url("../img/04sustainability/bg_blue@2x.png") no-repeat right center;
	background-size: contain;
}
.sustainability-contents03.sustainability-contents03-02 .no span {
	background: url("../img/04sustainability/bg_green@2x.png") no-repeat right center;
	background-size: contain;
}
.sustainability-contents03.sustainability-contents03-03 .no span {
	background: url("../img/04sustainability/bg_purple@2x.png") no-repeat right center;
	background-size: contain;
}
.sustainability-contents03.sustainability-contents03-04 .no span {
	background: url("../img/04sustainability/bg_brown@2x.png") no-repeat right center;
	background-size: contain;
}

.sustainability-contents03 .page__list {
}
.sustainability-contents03 .page__list li {
	width: calc((100% - 60px) / 3);
	margin-right: 30px;
	margin-bottom: 30px;
	text-align: center;
}
.sustainability-contents03 .page__list li:nth-of-type(3n) {
	margin-right: 0px;
}
.sustainability-contents03 .page__list li:last-of-type {
	margin-right: 0px;
}

.sustainability-contents04 {
	position: relative;
}
.sustainability-contents04::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background: url("../img/04sustainability/bg_ninsyou.webp") no-repeat center center;
	background-size: cover;
	z-index: -8;
}
.sustainability-contents04 .contents-inr {
	max-width: 1020px;
}

.sustainability-contents04 .page__list {
	background: rgba(255,255,255,0.85);
}
.sustainability-contents04 .page__list h4 {
}
.sustainability-contents04 .page__list h4 .span01 {
	position: relative;
}
.sustainability-contents04 .page__list h4 .span01 .span02 {
	position: absolute;
	bottom: 88%;
	left: 0;
	width: 100%;
	display: inline-block;
	text-align: center;
}
.sustainability-contents04 .page__list ul {
	width: 70%;
	margin-left: auto;
	margin-right: auto;
}
.sustainability-contents04 .page__list li {
	width: calc((100% - 30px) / 4);
	margin-right: 10px;
	margin-bottom: 10px;
	text-align: center;
}
.sustainability-contents04 .page__list li:nth-of-type(4n) {
	margin-right: 0px;
}
.sustainability-contents04 .page__list li:last-of-type {
	margin-right: 0px;
}
.sustainability-contents04 .page__list li img {
	mix-blend-mode: multiply;
}
.sustainability-contents04 .page__list .btn a {
	display: block;
	width: 100%;
	text-align: center;
	padding-top: 23px;
	padding-bottom: 23px;
	background: #000000;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
.sustainability-contents04 .page__list .btn a:hover {
}

@media screen and (max-width: 959px) {
	.sustainability-slider .slider-2 {
	    height: 400px;
	}
	.sustainability-slider .slider-2 .slick-slide {
	    width: 660px;
	    height: 400px;
	    margin: 0 15px 0 15px;
	}
	.sustainability-contents03 .no span {
		margin-right: 10px;
		padding: 2px 12px 16px 0px;
	}
	.sustainability-contents04 .page__list h4 .span01 .span02 {
		font-size: 10px;
	}
}
@media screen and (max-width: 767px) {
}
@media screen and (max-width: 599px) {
	.sustainability-slider .slider-2 {
	    height: 200px;
	}
	.sustainability-slider .slider-2 .slick-slide {
	    width: 320px;
	    height: 200px;
	    margin: 0 5px 0 5px;
	}
	.sustainability-contents03 .no span {
		display: inline-block;
		font-style: italic;
		margin-right: 5px;
		padding: 2px 10px 10px 0px;
	}
	.sustainability-contents04 .page__list h4 .span01 .span02 {
		font-size: 6px;
		bottom: 83%;
	}
	.sustainability-contents04 .page__list ul {
		width: 95%;
	}
	.sustainability-contents03 .page__list li {
		width: calc((100% - 20px) / 3);
		margin-right: 10px;
		margin-bottom: 10px;
	}
	.sustainability-contents03 .page__list li:nth-of-type(3n) {
		margin-right: 0px;
	}
	.sustainability-contents03 .page__list li:last-of-type {
		margin-right: 0px;
	}
}


/*	お知らせ
---------------------------------*/
.news-contents01 {
}
.news-contents01 .contents-inr {
}

.news-contents01 .menu-box {
}
.news-contents01 .menu-box span {
	display: inline-block;
	margin-bottom: 10px;
	margin-right: 20px;
}
.news-contents01 .menu-box span a {
	padding: 5px 20px 7px 25px;
	display: inline-block;
}
.news-contents01 .menu-box span.linkon a {
	border: #000000 1px solid;
}

.news-contents02 {
}
.news-contents02 .contents-inr {
	max-width: 1060px;
}

.news-contents02 .page__list {
}
.news-contents02 .page__list li {
	position: relative;
}
.news-contents02 .page__list li::before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: -15%;
	margin: 0;
	width: 130%;
	height: 1px;
	background: #999999;
	z-index: -6;
}
.news-contents02 .page__list li:last-of-type::before {
	display: none;
}
.news-contents02 .page__list li a {
	width: 100%;
	height: 100%;
	display: block;
	padding-right: 100px;
	padding-top: clamp(20px, 20px + 30 * (100vw - 375px) / 905, 50px);
	padding-bottom: clamp(20px, 20px + 30 * (100vw - 375px) / 905, 50px);
	background: url("../img/cmn/icon02.svg") no-repeat 98% center;
	background-size: 34px;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
.news-contents02 .page__list li a:hover {
	background: url("../img/cmn/icon02.svg") no-repeat 100% center;
	background-size: 34px;
}

.news-contents02 .page__list li .date {
	display: inline-block;
	vertical-align: top;
}
.news-contents02 .page__list li .cate {
	display: inline-block;
	vertical-align: top;
	background: #dc0000;
	border-radius: 5px;
	padding: 2px 5px 4px 10px;
	margin-top: clamp(1px, 1px + 1 * (100vw - 375px) / 905, 2px);
	margin-left: clamp(20px, 20px + 10 * (100vw - 375px) / 905, 30px);
}

.newsdetail-contents01 {
}
.newsdetail-contents01 .contents-inr {
	max-width: 1060px;
}

@media screen and (max-width: 959px) {
}
@media screen and (max-width: 767px) {
}
@media screen and (max-width: 599px) {
	.news-contents01 .menu-box span {
		margin-bottom: 5px;
		margin-right: 10px;
	}
	.news-contents01 .menu-box span a {
		padding: 2px 10px 3px 12px;
	}
	.news-contents02 .page__list li a {
		padding-right: 35px;
		background-size: 20px;
	}
	.news-contents02 .page__list li a:hover {
		background-size: 20px;
	}
	.news-contents02 .page__list li .cate {
		padding: 2px 5px 3px 8px;
		margin-top: -1px;
		margin-left: clamp(15px, 15px + 15 * (100vw - 375px) / 905, 30px);
	}
}


/*	お問い合わせ
---------------------------------*/
.contact-contents01 {
}
.contact-contents01 .contents-inr {
	max-width: 1060px;
}

.contact-contents02 {
}
.contact-contents02 .contents-inr {
	max-width: 1060px;
}

@media screen and (max-width: 959px) {
}
@media screen and (max-width: 767px) {
}
@media screen and (max-width: 599px) {
}


