@charset "utf-8";

/*	レイアウト
---------------------------------*/
html {
	font-size: 62.5%;
}
body {
	position: relative;
	margin: 0;
	padding: 110px 0 0;
	width: 100%;
	line-height: 1.8;
	color: #333333;
    font-family: 'Noto Sans JP', '游ゴシック体', 'Yu Gothic', 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', 'Osaka', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
#wrapper {
	overflow: hidden;
}
.sponly {
    display: none;
}
.pconly {
    display: inline;
}
#message {
    position: relative;
    z-index: -1;
    margin-top: -20px;
    padding-top: 20px;
}
#service01, #service02, #service03 {
    position: relative;
    z-index: -1;
    margin-top: -110px;
    padding-top: 110px;
}
#service, #maker, #contact {
    position: relative;
    z-index: -1;
    margin-top: -140px;
    padding-top: 140px;
}
#company {
    position: relative;
    z-index: -1;
    margin-top: -0px;
    padding-top: 0px;
}

@media screen and (max-width:1279px) {
    body {
        padding: 60px 0 0;
    }
    #message {
        margin-top: -0px;
        padding-top: 0px;
    }
    #service01, #service02, #service03 {
        margin-top: -60px;
        padding-top: 60px;
    }
    #service, #maker, #contact {
        margin-top: -80px;
        padding-top: 80px;
    }
    #company {
        margin-top: -20px;
        padding-top: 20px;
    }
}

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

/*	ヘッダー
---------------------------------*/
header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
    background-color: #fff;
	line-height: 1;
	z-index: 1010;
}
.hd-inr {
	position: relative;
	margin: 0 auto;
	padding: 0 3.6% 0px 3.6%;
	width: 100%;
    height: 110px;
}
.hd-logo {
	position: relative;
	margin: 0px 0 0 0;
	width: 187px;
	text-align: left;
}
.hd-logo img {
}
.hd-info {
	width: calc(100% - 187px);
    vertical-align: top;
}
.hd-menu {
	margin: 0;
	padding: 0px 0 0;
}
.hd-contact {
}

.hd-tel {
    margin-bottom: 2px;
    margin-right: 35px;
}
.hd-tel strong {
	display: inline-block;
	position: relative;
	padding: 0 0 0 23px;
	letter-spacing: 0px;
    line-height: 1.2;
	font-size: 30px;
	font-weight: 900;
    font-family: "Roboto", sans-serif;
}
.hd-tel strong::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	margin: 0;
	width: 18px;
	height: 22px;
	background: url("../img/cmn/icon_hd_tel.png") no-repeat center center;
	background-size: contain;
}
.hd-tel p {
    padding-right: 3px;
	letter-spacing: 0px;
    line-height: 1;
	font-size: 14px;
	font-weight: 500;
    text-align: right;
}

.hd-mail {
}
.hd-mail a {
    display: block;
    width: 170px;
    background-color: #009a00;
    text-align: center;
}
.hd-mail a span {
	display: inline-block;
	padding: 12px 0 0 28px;
	height: 50px;
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0px;
	font-weight: 500;
	color: #ffffff;
	background: url("../img/cmn/icon_hd_mail.png") no-repeat left center;
}

@media screen and (max-width: 1279px) {
	.hd-inr {
        padding: 0px 15px 0px 20px;
        height: 60px;
	}
	.hd-logo {
        margin: 0px 0 0 0;
        width: 187px;
	}
    .hd-logo img {
    }
	.hd-info {
		width: calc(100% - 187px);
		padding: 0 55px 0 0;
		align-items: center;
	}
    .hd-contact {
        height: 40px;
    }
	.hd-menu {
		margin: 0;
		padding: 0;
	}

    .hd-tel {
        position: static;
        margin: 0 15px 0 0px;
    }
	.hd-tel a {
		display: block;
		position: relative;
		padding: 0;
		width: 40px;
		height: 40px;
        border: #333333 1px solid;
	}
	.hd-tel a::before {
		content: "";
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		margin: 0;
		width: 18px;
		height: 22px;
		background: url("../img/cmn/icon_hd_tel.png") no-repeat center center;
		background-size: contain;
	}
	.hd-tel a strong,
	.hd-tel a small {
		display: none;
	}
	.hd-tel p {
		display: none;
	}

    .hd-mail {
        position: static;
    }
    .hd-mail a {
        display: block;
        width: 40px;
        height: 40px;
        text-align: center;
        background: #009a00 url("../img/cmn/icon_hd_mail.png") no-repeat center center;
        background-size: auto;
        border-radius: 0px;
    }
    .hd-mail a span {
        display: none;
    }
}

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

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

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

/*	フッター
---------------------------------*/
footer {
	padding-top: 90px;
	padding-bottom: 50px;
    position: relative;
}
footer::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background: #009a00;
    z-index: -1;
}
footer .ft-info {
}
footer .contents-inr.large {
}

footer .ttl-cmn01 {
    margin-bottom: 30px;
}
footer .cmn-contact__txt {
    margin-bottom: 50px;
	font-size: 20px;
    letter-spacing: 1px;
    font-weight: 500;
    line-height: 1.8;
    color: #ffffff;
}

footer .ft-company {
    background: #ffffff;
    text-align: center;
    padding-top: 20px;
    padding-bottom: 20px;
    border-radius: 20px;
    margin-bottom: 70px;
}
footer .ft-company .ft-logo {
    border-right: #009a00 1px solid;
    width: 33.3%;
    padding-top: 10px;
}
footer .ft-company .ft-tel {
    border-right: #009a00 1px solid;
    width: 33.3%;
}
footer .ft-company .ft-tel strong {
	display: inline-block;
	position: relative;
	padding: 0 0 0 33px;
	letter-spacing: 0px;
    line-height: 1.2;
	font-size: 36px;
	font-weight: 900;
    font-family: "Roboto", sans-serif;
}
footer .ft-company .ft-tel strong::before {
	content: "";
	display: block;
	position: absolute;
	top: 54%;
	left: 0;
	transform: translateY(-50%);
	margin: 0;
	width: 18px;
	height: 22px;
	background: url("../img/cmn/icon_ft_tel.png") no-repeat center center;
	background-size: contain;
}
footer .ft-company .ft-time {
    width: 33.3%;
    padding-top: 5px;
}
footer .ft-company .ft-time p {
	letter-spacing: 0px;
    line-height: 1.6;
	font-size: 20px;
	font-weight: 600;
}

.ft-nav {
    margin-bottom: 15px;
}
.ft-nav > ul {
}
.ft-nav > ul > li {
	margin: 0px 30px 0px 0px;
	padding: 0 0px 0px 0px;
    text-align: left;
	font-size: 12px;
    letter-spacing: 0px;
    font-weight: 400;
    line-height: 1.6;
    color: #ffffff;
    position: relative;
}
.ft-nav > ul > li::before {
	content: "";
	display: block;
	position: absolute;
	top: 5px;
	right: -15px;
	margin: 0;
	width: 1px;
	height: 12px;
	background: #ffffff;
}
.ft-nav > ul > li:last-of-type {
	margin: 0px 0% 0px 0px;
}
.ft-nav > ul > li:last-of-type::before {
    display: none;
}

.ft-copyright {
	font-size: 12px;
    line-height: 1.6;
    letter-spacing: 0px;
    font-weight: 400;
    color: #ffffff;
}

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

@media screen and (max-width: 959px) {
    footer .ft-company {
        padding-left: 20px;
        padding-right: 20px;
        padding-bottom: 10px;
    }
    footer .ft-company .ft-logo {
        border-right: none;
        border-bottom: #009a00 1px solid;
        width: 100%;
        padding-top: 0px;
        padding-bottom: 15px;
    }
    footer .ft-company .ft-tel {
        border-right: none;
        border-bottom: #009a00 1px solid;
        width: 100%;
        padding-top: 10px;
        padding-bottom: 10px;
    }
    footer .ft-company .ft-time {
        width: 100%;
        padding-top: 10px;
    }
}

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

@media screen and (max-width: 599px) {
    .btn-pagetop img {
        width: 30px;
        height: auto;
    }
    .ft-nav {
        display: none;
    }
    footer {
        padding-top: 30px;
        padding-bottom: 30px;
    }
    footer .ttl-cmn01 {
        margin-bottom: 20px;
    }
    footer .cmn-contact__txt {
        margin-bottom: 30px;
        font-size: 16px;
        line-height: 1.6;
        color: #ffffff;
    }
    footer .ft-company {
        margin-bottom: 30px;
    }
    footer .ft-company .ft-tel strong {
        padding: 0 0 0 26px;
        font-size: 32px;
    }
    .ft-copyright {
        font-size: 10px;
    }
}

/*	グローバナビ（PC用）
---------------------------------*/
.pc-nav {
	line-height: 1;
}
.pc-nav > ul {
	margin: 15px 60px 0px 0px;
}
.pc-nav > ul > li {
	position: relative;
	margin: 0px 0px 0 30px;
	padding: 0 0px 0px 0px;
	height: 30px;
}
.pc-nav > ul > li.first {
	margin: 0;
	padding: 0;
}
.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: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	font-size: 15px;
    line-height: 1.6;
    letter-spacing: 0px;
	font-weight: 700;
}
.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: 15px 10px 15px 10px;
	width: 230px;
	max-height: 0;
	background: #333333;
	border-radius: 0px 0px 0px 0px;
	text-align: center;
	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: 10px 0px 10px 0px;
	text-align: left;
	font-size: 15px;
    letter-spacing: 0px;
	font-weight: 500;
    line-height: 1.6;
	color: #ffffff;
}
.pc-nav > ul > li.parent div li a:hover {
    opacity: 0.8;
}
.pc-nav > ul > li.parent div li:last-child a {
    border-bottom: none;
}
.pc-nav > ul > li.parent:hover div {
	max-height: 360px;
	opacity: 1;
}

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

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

/*	グローバナビ（スマホ用）
---------------------------------*/
header .navToggle,
header nav.sp-nav {
	display:none;
}
@media screen and (max-width:1279px) {
	header nav.sp-nav {
		display: block;
		position: fixed;
		left: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		padding: 10% 15%;
		width: 100%;
		height: 100%;
		background: rgba(0,0,0,0.8);
		font-size: 2rem;
		font-weight: 400;
		z-index: 1000;
		visibility: hidden;
		opacity: 0;
		transform: scale(0.9);
		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;
	}
	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: 30px 0;
		overflow: hidden;
		text-align: center;
		line-height: 1;
		text-transform: uppercase;
	}

	header nav.sp-nav > ul > li.parent {
		margin: 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: 10px 0 0;
		font-size: 0.8em;
	}
	header nav.sp-nav > ul > li.parent div li a {
		display: inline-block;
		color: #ccc;
	}
	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: 10px 0 0;
	}
	header nav.sp-nav > ul > li.parent div li::after {
		content: "/";
		display: inline;
		margin: 0 5px;
		color: #999;
	}
	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 .navToggle {
		display: block;
		position: absolute;
		right: 15px;
		top: 10px;
		margin: auto;
		width: 40px;
		height: 40px;
		background: #1c1c1c;
		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.8rem;
	}
	header .navToggle {
		right: 10px;
	}
}

/*	メインイメージ
---------------------------------*/
.main-img-otr {
	position: relative;
	padding: 0;
	width: 100%;
}
.main-img-inr {
	position: relative;
	margin: 0 0 0 0;
	width: 100%;
}
.main-img {
	position: relative;
	width: 100%;
	height: calc(100vh - 110px);
}
.main-img .img01 {
    position: absolute;
    top: 0;
    left: 17%;
    width: 58%;
    height: 60%;
	background: no-repeat center center / cover;
	background-image: url("../img/top/img_main01.webp");
}
.main-img .img02 {
    position: absolute;
    top: 8.2%;
    left: 75.8%;
    width: 25%;
    height: 63%;
	background: no-repeat center center / cover;
	background-image: url("../img/top/img_main02.jpg");
}

.main-img-cap {
	position: absolute;
    bottom: 10%;
    left: 3.6%;
    width: 90%;
    text-align: left;
	z-index: 1001;
}
.main-img-cap h2 {
	font-size: 26px;
    letter-spacing: 1px;
    font-weight: 500;
    line-height: 1.6;
    color: #009a00;
}
.main-img-cap h2 span {
    margin-bottom: 25px;
	font-size: 70px;
    letter-spacing: -3px;
    font-weight: 900;
    line-height: 1;
    color: #009a00;
    display: block;
}
.main-img-cap h2 img {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

.main-img-scroll {
	position: absolute;
    bottom: 30px;
    right: 3.6%;
    text-align: right;
	z-index: 1001;
}
.main-img-scroll img {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

.main-img-otr .bx-controls {
	display: none!important;
}
.bx-pager-item {
	display: inline-block;
	margin: 0 10px;
}
.bx-pager-item a {
	display: block;
	width: 10px;
	height: 10px;
	background: #82c4f0;
	border-radius: 50%;
	text-indent: -9999px;
	text-align: left;
}
.bx-pager-item a.active {
	background: #ffffff;
}

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

@media screen and (max-width:1279px) {
    .main-img {
        height: calc(100vh - 60px);
    }
    .main-img-cap h2 {
        font-size: 22px;
    }
    .main-img-cap h2 span {
        margin-bottom: 20px;
        font-size: 52px;
        line-height: 1.2;
    }
}

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

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

@media screen and (max-width: 599px) {
    .main-img .img01 {
        left: 10%;
        width: 59%;
        height: 52%;
    }
    .main-img .img02 {
        top: 15%;
        left: 70%;
        width: 30%;
        height: 50%;
    }
    .main-img-cap {
        bottom: 16%;
        width: 96%;
    }
    .main-img-cap h2 {
        font-size: 14px;
    }
    .main-img-cap h2 span {
        margin-bottom: 10px;
        font-size: 33px;
        line-height: 1.2;
    }
    .main-img-scroll {
        width: 20%;
    }
}

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

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

/*	汎用タイトル
---------------------------------*/
.ttl-cmn01 {
	font-size: 18px;
	line-height: 1.6;
	letter-spacing: 1px;
	font-weight: 500;
    color: #ffffff;
}
.ttl-cmn01 span {
    display: inline-block;
	font-size: 36px;
	line-height: 1.6;
	letter-spacing: 1px;
	font-weight: 500;
    font-family: "Roboto", sans-serif;
    margin-right: 20px;
    color: #ffffff;
}

.ttl-cmn02 {
    margin-bottom: 25px;
    padding-left: 28px;
	font-size: 20px;
    line-height: 1.6;
	letter-spacing: 0px;
    font-weight: 700;
    color: #009a00;
    position: relative;
}
.ttl-cmn02::before {
	content: "";
	display: block;
	position: absolute;
	top: 12px;
	left: 0;
	margin: 0;
	width: 15px;
	height: 10px;
	background: #009a00;
}

.ttl-cmn03 {
    margin-bottom: 25px;
    padding-left: 28px;
	font-size: 24px;
    line-height: 1.6;
	letter-spacing: 0px;
    font-weight: 700;
    color: #009a00;
    position: relative;
}
.ttl-cmn03::before {
	content: "";
	display: block;
	position: absolute;
	top: 15px;
	left: 0;
	margin: 0;
	width: 15px;
	height: 10px;
	background: #009a00;
}

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

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

@media screen and (max-width: 599px) {
    .ttl-cmn01 {
        font-size: 14px;
    }
    .ttl-cmn01 span {
        font-size: 30px;
        margin-right: 10px;
    }
    .ttl-cmn02 {
        margin-bottom: 15px;
        padding-left: 22px;
        font-size: 18px;
    }
    .ttl-cmn02::before {
        width: 12px;
        height: 8px;
    }
    .ttl-cmn03 {
        margin-bottom: 20px;
        padding-left: 22px;
        font-size: 20px;
    }
    .ttl-cmn03::before {
        top: 13px;
        width: 12px;
        height: 8px;
    }
}

/*	汎用ボタン
---------------------------------*/
.btn-cmn01 {
    position: relative;
    text-align: left;
    z-index: 1001;
}
.btn-cmn01 a {
    display: inline-block;
	padding: 15px 30px 15px 30px;
	background: #ffffff;
}
.btn-cmn01 a span {
	padding: 0px 0px 2px 30px;
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0px;
    font-weight: 600;
    color: #009a00;
	background: url("../img/cmn/icon_ft_mail.png") no-repeat left center;
	background-size: auto;
}

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

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

@media screen and (max-width: 599px) {
    .btn-cmn01 a {
        padding: 12px 15px 12px 15px;
    }
    .btn-cmn01 a span {
        padding: 0px 0px 0px 30px;
        display: inline-block;
        font-size: 15px;
        line-height: 1.4;
    }
}

/*	トップページ
---------------------------------*/
/* 製造業の第一線へ「一番よいもの」をお届けするそれが私たちの使命です */
.top-message01 {
    margin-top: 100px;
    padding-bottom: 160px;
    position: relative;
}
.top-message01::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 40%;
	height: 82%;
	background: url("../img/top/img_message.webp") no-repeat right center;
	background-size: auto 100%;
    z-index: -1;
}
.top-message01 .contents-inr.large {
}
.top-message01 .txt-box {
    margin-left: 45%;
}
.top-message01 .txt-box h3 {
    margin-bottom: 40px;
	font-size: 36px;
    line-height: 1.6;
	letter-spacing: 0px;
    font-weight: 700;
}
.top-message01 .txt-box h3 span {
	font-size: 46px;
    line-height: 1.4;
	letter-spacing: 0px;
    font-weight: 900;
    color: #009a00;
    font-family: "Noto Serif JP", serif;
}
.top-message01 .txt-box p {
	font-size: 18px;
    line-height: 2;
    font-weight: 500;
	letter-spacing: 1px;
}
.top-message01 .txt-box p span {
	font-size: 18px;
	letter-spacing: 1px;
    line-height: 1.8;
    font-weight: 900;
}

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

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

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

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

@media screen and (max-width: 599px) {
    .top-message01 {
        margin-top: 30px;
        padding-top: 220px;
        padding-bottom: 40px;
    }
    .top-message01::before {
        top: 0;
        left: 0;
        width: 60%;
        height: 200px;
    }
    .top-message01 .txt-box {
        margin-left: 5%;
    }
    .top-message01 .txt-box h3 {
        margin-bottom: 25px;
        font-size: 20px;
    }
    .top-message01 .txt-box h3 span {
        font-size: 24px;
    }
    .top-message01 .txt-box p {
        font-size: 16px;
        line-height: 1.6;
    }
    .top-message01 .txt-box p span {
        font-size: 16px;
        line-height: 1.6;
    }
}

/* 01～03 */
.top-message02 {
    padding-bottom: 150px;
}
.top-message02 .contents-inr.large {
}
.top-message02 .top-message02__list {
    border-top: #333333 1px solid;
}
.top-message02 .top-message02__list ul {
    border-bottom: #333333 1px solid;
}
.top-message02 .top-message02__list li {
    width: 450px;
    padding: 36px 10px 40px 20px;
}
.top-message02 .top-message02__list li:last-of-type {
    width: calc(100% - 450px);
    padding: 40px 0px 40px 0px;
}
.top-message02 .top-message02__list li h3 {
	font-size: 30px;
    line-height: 1.4;
	letter-spacing: 0px;
    font-weight: 700;
    color: #009a00;
}
.top-message02 .top-message02__list li h3 span {
    display: inline-block;
    vertical-align: top;
	font-size: 24px;
    line-height: 1;
	letter-spacing: 0px;
    font-weight: 700;
    color: #009a00;
    margin-top: 10px;
    margin-right: 20px;
}
.top-message02 .top-message02__list li p {
	font-size: 18px;
	letter-spacing: 1px;
    line-height: 1.8;
    font-weight: 500;
}

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

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

@media screen and (max-width: 959px) {
    .top-message02 .top-message02__list li {
        width: 100%;
        padding: 20px 15px 15px 15px;
    }
    .top-message02 .top-message02__list li:last-of-type {
        width: 100%;
        padding: 0px 15px 20px 15px;
    }
}

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

@media screen and (max-width: 599px) {
    .top-message02 {
        padding-bottom: 60px;
    }
    .top-message02 .top-message02__list li h3 {
        font-size: 22px;
    }
    .top-message02 .top-message02__list li h3 span {
        font-size: 16px;
        margin-top: 8px;
        margin-right: 10px;
    }
    .top-message02 .top-message02__list li p {
        font-size: 16px;
        line-height: 1.6;
    }
}

/* 事業内容 */
.top-service-menu {
    background: #009a00;
    padding-top: 90px;
    padding-bottom: 90px;
    margin-bottom: 140px;
}
.top-service-menu .contents-inr.large {
}
.top-service-menu .ttl-cmn01 {
    margin-bottom: 50px;
}
.top-service-menu .top-service__list {
}
.top-service-menu .top-service__list li {
    width: calc((100% - 80px) / 3);
    margin: 0 40px 40px 0;
    background: #ffffff;
}
.top-service-menu .top-service__list li:last-of-type {
    margin: 0 0px 40px 0;
}
.top-service-menu .top-service__list li a {
    display: block;
    width: 100%;
    height: 100%;
}
.top-service-menu .top-service__list li img {
    width: 100%;
    height: auto;
}
.top-service-menu .top-service__list li h4 {
    padding: 20px 15px 15px 20px;
	font-size: 22px;
    line-height: 1.6;
	letter-spacing: 1px;
    font-weight: 700;
}
.top-service-menu .top-service__list li p {
	font-size: 16px;
	letter-spacing: 1px;
    line-height: 1.8;
    font-weight: 500;
    padding: 0px 15px 30px 20px;
}

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

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

@media screen and (max-width: 959px) {
    .top-service-menu .top-service__list li {
        width: calc((100% - 30px) / 3);
        margin: 0 15px 40px 0;
    }
    .top-service-menu .top-service__list li:last-of-type {
        margin: 0 0px 40px 0;
    }
}

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

@media screen and (max-width: 599px) {
    .top-service-menu {
        padding-top: 40px;
        padding-bottom: 60px;
        margin-bottom: 60px;
    }
    .top-service-menu .ttl-cmn01 {
        margin-bottom: 20px;
    }
    .top-service-menu .top-service__list li {
        width: 100%;
        margin: 0 0px 20px 0;
    }
    .top-service-menu .top-service__list li:last-of-type {
        margin: 0 0px 0px 0;
    }
    .top-service-menu .top-service__list li h4 {
        padding: 15px 10px 10px 15px;
        font-size: 20px;
    }
    .top-service-menu .top-service__list li p {
        font-size: 14px;
        line-height: 1.6;
        padding: 0px 10px 20px 15px;
    }
}

/* サービス */
.top-service {
    padding-top: 400px;
    padding-bottom: 150px;
    position: relative;
}
.top-service::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 82%;
	height: 600px;
	background: url("../img/top/bg_service01.webp") no-repeat center center;
	background-size: cover;
    z-index: -1;
}
.top-service.top-service02::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: auto;
	right: 0;
	margin: 0;
	width: 82%;
	height: 600px;
	background: url("../img/top/bg_service02.webp") no-repeat center center;
	background-size: cover;
    z-index: -1;
}
.top-service.top-service03::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 82%;
	height: 600px;
	background: url("../img/top/bg_service03.jpg") no-repeat center center;
	background-size: cover;
    z-index: -1;
}
.top-service .contents-inr {
}
.top-service .txt-box {
    position: relative;
    padding: 50px 0 0 40px;
}
.top-service.top-service02 .txt-box {
    padding: 50px 40px 0 0px;
}
.top-service .txt-box::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 200%;
	height: 100%;
	background: #ffffff;
    z-index: -1;
}
.top-service.top-service02 .txt-box::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: auto;
	right: 0;
	margin: 0;
	width: 200%;
	height: 100%;
	background: #ffffff;
    z-index: -1;
}
.top-service .txt-box .no {
	font-size: 24px;
    line-height: 1;
	letter-spacing: 1px;
    font-weight: 500;
    color: #009a00;
    font-family: "Roboto", sans-serif;
    margin-bottom: 10px;
}
.top-service .txt-box h3 {
    margin-bottom: 30px;
	font-size: 36px;
    line-height: 1.4;
	letter-spacing: 1px;
    font-weight: 700;
}
.top-service .txt-box p {
    margin-bottom: 50px;
	font-size: 18px;
	letter-spacing: 1px;
    line-height: 1.8;
    font-weight: 500;
}
.top-service .txt-box .catch-box {
    border-bottom: #333333 1px solid;
    padding: 30px 0px 35px 0px;
}
.top-service .txt-box .catch-box.catch-box-top {
    border-top: #333333 1px solid;
}
.top-service .txt-box .catch-box h4 {
	font-size: 26px;
    line-height: 1.4;
	letter-spacing: 0px;
    font-weight: 700;
    color: #009a00;
    margin-bottom: 10px;
}
.top-service .txt-box .catch-box p {
    margin-bottom: 0px;
	font-size: 16px;
	letter-spacing: 1px;
    line-height: 1.8;
    font-weight: 500;
}
.top-service .txt-box .hinmoku-box {
    margin-top: 80px;
    padding: 30px 40px 40px 40px;
    background: #e9ebe8;
}
.top-service .txt-box .hinmoku-box li {
    width: calc((100% - 60px) / 4);
    margin: 0 20px 20px 0;
    padding: 10px 0 10px 0;
    background: #ffffff;
	font-size: 16px;
    line-height: 1.6;
	letter-spacing: 0px;
    font-weight: 600;
    color: #009a00;
    text-align: center;
    border-radius: 30px;
}
.top-service .txt-box .hinmoku-box li:nth-of-type(4n) {
    margin: 0 0px 20px 0;
}
.top-service .txt-box .osusume-box {
    padding: 40px 40px 40px 40px;
    position: relative;
}
.top-service .txt-box .osusume-box::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
    background: #e9ebe8;
    z-index: -1;
}
.top-service .txt-box .osusume-box h4 {
    margin-bottom: 30px;
    position: relative;
}
.top-service .txt-box .osusume-box h4::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 2%;
	margin: 0;
	width: 98%;
	height: 2px;
	background: #009a00;
    z-index: -1;
}
.top-service .txt-box .osusume-box h4 span {
    padding: 0 20px 0 0;
	font-size: 24px;
    line-height: 1.4;
	letter-spacing: 0px;
    font-weight: 900;
    color: #009a00;
    position: relative;
}
.top-service .txt-box .osusume-box h4 span::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
    background: #e9ebe8;
    z-index: -1;
}
.top-service .txt-box .osusume-box p.check {
    margin-bottom: 10px;
	font-size: 20px;
	letter-spacing: 0px;
    padding: 0 0 0 40px;
    line-height: 1.6;
    font-weight: 500;
    color: #009a00;
	background: url("../img/cmn/icon_arw01.png") no-repeat left 0px;
	background-size: auto;
}
.top-service .txt-box .osusume-box .btn-cmn01 {
    margin-top: 30px;
}

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

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

@media screen and (max-width: 959px) {
    .top-service .txt-box .hinmoku-box li {
        width: calc((100% - 30px) / 3);
        margin: 0 15px 20px 0;
        font-size: 14px;
    }
    .top-service .txt-box .hinmoku-box li:nth-of-type(4n) {
        margin: 0 15px 20px 0;
    }
    .top-service .txt-box .hinmoku-box li:nth-of-type(3n) {
        margin: 0 0px 20px 0;
    }
}

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

@media screen and (max-width: 599px) {
    .top-service {
        padding-top: 200px;
        padding-bottom: 60px;
    }
    .top-service::before {
        height: 300px;
    }
    .top-service.top-service02::before {
        height: 300px;
    }
    .top-service.top-service03::before {
        height: 300px;
    }
    .top-service .txt-box {
        padding: 30px 0 0 20px;
    }
    .top-service.top-service02 .txt-box {
        padding: 30px 20px 0 0px;
    }
    .top-service .txt-box .no {
        font-size: 18px;
        margin-bottom: 5px;
    }
    .top-service .txt-box h3 {
        margin-bottom: 20px;
        font-size: 24px;
    }
    .top-service .txt-box p {
        margin-bottom: 40px;
        font-size: 16px;
        line-height: 1.6;
    }
    .top-service .txt-box .catch-box {
        padding: 20px 0px 20px 0px;
    }
    .top-service .txt-box .catch-box h4 {
        font-size: 20px;
        margin-bottom: 10px;
    }
    .top-service .txt-box .catch-box p {
        font-size: 14px;
        line-height: 1.6;
    }
    .top-service .txt-box .hinmoku-box {
        margin-top: 40px;
        padding: 15px 15px 15px 15px;
    }
    .top-service .txt-box .hinmoku-box li {
        width: calc((100% - 10px) / 2);
        margin: 0 10px 10px 0;
        padding: 6px 0 6px 0;
        font-size: 14px;
        line-height: 1.6;
        letter-spacing: 0px;
        font-weight: 600;
        color: #009a00;
        text-align: center;
        border-radius: 30px;
    }
    .top-service .txt-box .hinmoku-box li:last-of-type {
        font-size: 12px;
        letter-spacing: -1px;
        padding: 8px 0 8px 0;
    }
    .top-service .txt-box .hinmoku-box li:nth-of-type(4n) {
        margin: 0 10px 10px 0;
    }
    .top-service .txt-box .hinmoku-box li:nth-of-type(3n) {
        margin: 0 10px 10px 0;
    }
    .top-service .txt-box .hinmoku-box li:nth-of-type(2n) {
        margin: 0 0px 10px 0;
    }
    .top-service .txt-box .osusume-box {
        padding: 20px 20px 20px 20px;
    }
    .top-service .txt-box .osusume-box h4 {
        margin-bottom: 20px;
    }
    .top-service .txt-box .osusume-box h4::before {
        display: none;
    }
    .top-service .txt-box .osusume-box h4 span {
        padding: 0 0px 0 0;
        font-size: 18px;
    }
    .top-service .txt-box .osusume-box p.check {
        margin-bottom: 10px;
        font-size: 16px;
        padding: 0 0 0 28px;
        line-height: 1.4;
        background-size: 20px;
    }
    .top-service .txt-box .osusume-box .btn-cmn01 {
        margin-top: 20px;
    }
}

/* お問い合わせ */
.top-cta {
    position: relative;
    margin-bottom: 140px;
}
.top-cta.top-cta01 {
    margin-top: -70px;
}
.top-cta.top-cta02 {
}
.top-cta::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	margin: 0;
	width: 50%;
	height: 100%;
	background: #009a00;
    z-index: -1;
}
.top-cta .contents-inr {
    padding-top: 30px;
    padding-bottom: 30px;
}
.top-cta .contents-inr::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background: #009a00;
	clip-path: polygon(0% 100%, 60px 0%, 100% 0%, calc(100% - 60px) 100%);
	-webkit-clip-path: polygon(0% 100%, 60px 0%, 100% 0%, calc(100% - 60px) 100%);
    z-index: -1;
}
.top-cta h3 {
    padding-left: 80px;
	font-size: 20px;
    line-height: 1.8;
	letter-spacing: 1px;
    font-weight: 700;
    color: #ffffff;
}
.top-cta .btn-cmn01 {
    margin-top: 20px;
    margin-left: 80px;
}

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

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

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

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

@media screen and (max-width: 599px) {
    .top-cta {
        margin-bottom: 60px;
    }
    .top-cta.top-cta01 {
        margin-top: -20px;
    }
    .top-cta .contents-inr::before {
        left: 10px;
        clip-path: polygon(0% 100%, 40px 0%, 100% 0%, calc(100% - 40px) 100%);
        -webkit-clip-path: polygon(0% 100%, 40px 0%, 100% 0%, calc(100% - 40px) 100%);
    }
    .top-cta h3 {
        padding-left: 60px;
        font-size: 16px;
        line-height: 1.6;
        letter-spacing: 1px;
        font-weight: 700;
        color: #ffffff;
    }
    .top-cta .btn-cmn01 {
        margin-top: 20px;
        margin-left: 60px;
    }
}

/* 取扱メーカー */
.top-maker {
    position: relative;
    padding-top: 90px;
    padding-bottom: 110px;
    margin-bottom: 140px;
}
.top-maker::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background: url("../img/top/bg_maker.webp") no-repeat center center;
	background-size: cover;
    z-index: -1;
}
.top-maker .contents-inr.large {
}
.top-maker .ttl-cmn01 {
    margin-bottom: 40px;
}
.top-maker .top-maker__tbl {
}
.top-maker .top-maker__tbl table {
    width:100%;
    border-collapse:separate;
    border-spacing:0px;
}
.top-maker .top-maker__tbl table th {
    width: 235px;
    vertical-align:top;
    padding:30px 15px 30px 0px;
    font-size:20px;
    line-height:1.8;
    letter-spacing: 1px;
    font-weight: 500;
    color: #ffffff;
    border-bottom: rgba(255,255,255,0.5) 1px solid;
    text-align: left;
}
.top-maker .top-maker__tbl table td {
    vertical-align:top;
    padding:33px 0px 30px 0px;
    font-size:16px;
    line-height:1.8;
    letter-spacing: 1px;
    font-weight: 400;
    color: #ffffff;
    border-bottom: rgba(255,255,255,0.5) 1px solid;
    text-align: left;
}

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

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

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

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

@media screen and (max-width: 599px) {
    .top-maker {
        padding-top: 40px;
        padding-bottom: 60px;
        margin-bottom: 60px;
    }
    .top-maker .ttl-cmn01 {
        margin-bottom: 0px;
    }
    .top-maker .top-maker__tbl table th {
        width: 100%;
        display: block;
        padding:20px 0px 15px 0px;
        font-size:18px;
        line-height:1.6;
        border-bottom: none;
    }
    .top-maker .top-maker__tbl table td {
        width: 100%;
        display: block;
        padding:0px 0px 20px 0px;
        font-size:14px;
        line-height:1.6;
    }
}

/* 空調・集塵システムについて */
.top-system {
    position: relative;
    margin-top: -70px;
}
.top-system::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	margin: 0;
	width: 50%;
	height: 100%;
	background: #e5f5e5;
    z-index: -1;
}
.top-system .contents-inr {
    padding-top: 50px;
    padding-bottom: 80px;
}
.top-system .contents-inr::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: -70px;
	margin: 0;
	width: 100%;
	height: calc(100% + 100px);
	background: #e5f5e5;
    border-radius: 100px 0 0 0;
    z-index: -1;
}
.top-system .top-system__list {
}
.top-system .top-system__list li {
    width: calc((100% - 50px) / 3);
    margin: 0 25px 25px 0;
}
.top-system .top-system__list li:nth-of-type(3n) {
    margin: 0 0px 25px 0;
}
.top-system .top-system__list li img {
    width: 100%;
    height: auto;
}
.top-system .top-system__list li h5 {
    padding: 20px 0px 15px 0px;
	font-size: 20px;
    line-height: 1.6;
	letter-spacing: 1px;
    font-weight: 700;
}
.top-system .top-system__list li p {
	font-size: 16px;
	letter-spacing: 1px;
    line-height: 1.8;
    font-weight: 500;
}

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

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

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

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

@media screen and (max-width: 599px) {
    .top-system {
        margin-top: 0px;
    }
    .top-system .contents-inr {
        padding-top: 40px;
        padding-left: 40px;
        padding-bottom: 60px;
    }
    .top-system .contents-inr::before {
        left: 10px;
        border-radius: 50px 0 0 0;
    }
    .top-system .top-system__list li {
        width: 100%;
        margin: 0 0px 30px 0;
    }
    .top-system .top-system__list li:nth-of-type(3n) {
        margin: 0 0px 30px 0;
    }
    .top-system .top-system__list li:last-of-type {
        margin: 0 0px 0px 0;
    }
    .top-system .top-system__list li h5 {
        padding: 15px 0px 10px 0px;
        font-size: 18px;
    }
    .top-system .top-system__list li p {
        font-size: 14px;
        line-height: 1.6;
    }
}

/* 当社の強み */
.top-strong {
    position: relative;
    padding-top: 90px;
    padding-bottom: 110px;
}
.top-strong::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background: #e9ebe8;
    z-index: -1;
}
.top-strong .contents-inr.large {
}
.top-strong .ttl-cmn01 {
    margin-bottom: 35px;
    color: #009a00;
}
.top-strong .ttl-cmn01 span {
    color: #009a00;
}
.top-strong p {
	font-size: 18px;
	letter-spacing: 1px;
    line-height: 1.8;
    font-weight: 500;
    margin-bottom: 50px;
}
.top-strong .top-strong__list {
}
.top-strong .top-strong__list ul {
    margin-bottom: 30px;
    background: #ffffff;
    border-radius: 20px;
}
.top-strong .top-strong__list ul li {
    width: 170px;
    padding: 28px 0 28px 0;
    text-align: center;
}
.top-strong .top-strong__list ul li:last-of-type {
    width: calc(100% - 170px);
    padding: 30px 20px 30px 0;
    text-align: left;
}
.top-strong .top-strong__list ul li img {
}
.top-strong .top-strong__list ul li h4 {
    margin-bottom: 10px;
	font-size: 22px;
    line-height: 1.6;
	letter-spacing: 1px;
    font-weight: 700;
}
.top-strong .top-strong__list ul li h4 span {
	font-size: 22px;
    line-height: 1.6;
	letter-spacing: 1px;
    font-weight: 700;
    color: #009a00;
}
.top-strong .top-strong__list ul li p {
	font-size: 16px;
	letter-spacing: 1px;
    line-height: 1.8;
    font-weight: 500;
    margin-bottom: 0px;
}

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

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

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

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

@media screen and (max-width: 599px) {
    .top-strong {
        padding-top: 40px;
        padding-bottom: 40px;
    }
    .top-strong .ttl-cmn01 {
        margin-bottom: 20px;
    }
    .top-strong p {
        font-size: 16px;
        line-height: 1.6;
        margin-bottom: 40px;
    }
    .top-strong .top-strong__list ul {
        margin-bottom: 20px;
        border-radius: 20px;
    }
    .top-strong .top-strong__list ul li {
        width: 100%;
        padding: 15px 0 10px 0;
    }
    .top-strong .top-strong__list ul li:last-of-type {
        width: 100%;
        padding: 0px 15px 20px 15px;
    }
    .top-strong .top-strong__list ul li h4 {
        margin-bottom: 10px;
        font-size: 18px;
        line-height: 1.4;
    }
    .top-strong .top-strong__list ul li h4 span {
        font-size: 18px;
        line-height: 1.4;
    }
    .top-strong .top-strong__list ul li p {
        font-size: 14px;
        line-height: 1.6;
    }
}

/* 会社概要 */
.top-company {
    padding-top: 100px;
    padding-bottom: 200px;
}
.top-company .contents-inr.large {
}
.top-company .contents-inr.large::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 76%;
	margin: 0;
	width: 100%;
	height: 56%;
	background: url("../img/top/img_company.jpg") no-repeat right center;
	background-size: contain;
    z-index: -1;
}
.top-company .ttl-cmn01 {
    position: absolute;
    top: 0px;
    left: 30px;
    color: #009a00;
}
.top-company .ttl-cmn01 span {
    color: #009a00;
    margin-bottom: -5px;
    margin-right: 0px;
    display: block;
}
.top-company .top-company__tbl {
    margin-left: 35%;
}
.top-company .top-company__tbl table {
    width:100%;
    border-collapse:separate;
    border-spacing:0px;
    border-top: #333333 1px solid;
}
.top-company .top-company__tbl table th {
    width: 170px;
    vertical-align:top;
    padding:30px 10px 15px 0px;
    border-bottom: #333333 1px solid;
    text-align: left;
}
.top-company .top-company__tbl table td {
    vertical-align:top;
    padding:30px 0px 15px 0px;
    border-bottom: #333333 1px solid;
    text-align: left;
}
.top-company .top-company__tbl table p {
    font-size:16px;
    line-height:1.8;
    letter-spacing: 1px;
    font-weight: 500;
    margin-bottom: 15px;
}

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

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

@media screen and (max-width: 959px) {
    .top-company .top-company__tbl table th {
        width: 100%;
        display: block;
        padding:30px 0px 10px 0px;
        border-bottom: none;
    }
    .top-company .top-company__tbl table td {
        width: 100%;
        display: block;
        padding:0px 0px 15px 0px;
    }
}

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

@media screen and (max-width: 599px) {
    .top-company {
        padding-top: 40px;
        padding-bottom: 220px;
    }
    .top-company .contents-inr.large::before {
        top: calc(100% + 40px);
        right: 40%;
        height: 120px;
        background-size: cover;
    }
    .top-company .ttl-cmn01 {
        position: static;
        margin-bottom: 30px;
    }
    .top-company .ttl-cmn01 span {
        margin-bottom: 0px;
        margin-right: 10px;
        display: inline;
    }
    .top-company .top-company__tbl {
        margin-left: 0%;
    }
    .top-company .top-company__tbl table th {
        padding:15px 0px 0px 0px;
    }
    .top-company .top-company__tbl table td {
        padding:0px 0px 5px 0px;
    }
    .top-company .top-company__tbl table p {
        font-size:14px;
        line-height:1.6;
        margin-bottom: 10px;
    }
}

