@charset "utf-8";

.lang {
	position: absolute;
	top: 20px;
	right: 40px;
	z-index: 100;
}

.lang div a {
	letter-spacing: 0;
}

.shippori {
	font-family: 'Shippori Mincho B1', serif;
}

.border_btm_wh {
	border-bottom: 1px solid #fff;
}

.titlebox {
	position: absolute;
	top: 27%;
	left: 40px;
}

.title,
.title2,
.title3 {
	margin: 10px 0;
	font-size: 50px;
	font-weight: bold;
	opacity: 0;
	color: #fff;
	font-family: 'Shippori Mincho B1', serif;
}

.title4 {
	opacity: 0;
}

.gradetion {
	background: #a8ce6d;
}

.midashi {
	display: inline;
}



html,
body {
	width: 100%;
	height: 100%;
}

.txlink {
	color: #153A9D
}

/*マウスオーバー*/
.top a:hover,
.link:hover,
.link2:hover,
.txlink:hover {
	opacity: 0.7;
	transition: 0.2s;
	-webkit-transition: 0.2s linear;
}

.menuscroll:hover {
	opacity: 0.7;
	transition: 0.2s;
}

.back {
	position: relative;
	width: 100%;
	top: 0;
	margin: 0 auto;
}

.wrap {
	position: relative;
	width: 100%;
	margin: 0 auto;
}

.slider {
	position: relative;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	z-index: -1;
}

.slickmv img {
	overflow: hidden;
	background-repeat: no-repeat;
	/*背景画像をリピートしない*/
	background-position: center;
	/*背景画像の位置を中央に*/
	background-size: cover;
}

.link {
	display: block;
}

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

.boxcenter {
	vertical-align: middle;
}

.bold {
	font-weight: bold;
}

.flex {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-content: space-around;
}

.flex2 {
	max-width: 1300px;
}

.flex3 {
	width: 100%;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-content: space-around;
}

.grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: 1fr;
	grid-column-gap: 30px;
	grid-row-gap: 0px;
}

.order1 {
	order: 1;
}

.order2 {
	order: 2;
}

.grid2 {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	grid-template-rows: 1fr;
	grid-column-gap: 15px;
	grid-row-gap: 15px;
}

.grid3 {
	grid-template-columns: repeat(3, 1fr);
	grid-column-gap: 0;
}

.worksbtn {
	position: relative;
	top: 0;
	width: 100vw;
	height: 400px;
	margin: 0 auto;
	overflow: hidden;
	background: rgba(0, 0, 0, 0.4);
}

.worksbtnbg {
	position: absolute;
	background: rgba(0, 0, 0, 0.4);
	width: 100%;
	height: 100%;
	z-index: 1;
	overflow: hidden;
}

.worksbtnimg {
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	height: 400px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	z-index: -2;
}

.worksbtntxt {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	right: 0;
	top: 40%;
	margin: 0 auto;
}

.border {
	padding: 10px 30px;
	border: 1px solid #ccc;
}

.borderT {
	border-top: 1px solid #ccc;
	padding: 25px 0;
}

.borderB {
	border-bottom: 1px solid #ccc;
}

.borderblue {
	border-bottom: 4px solid #153A9D;
	width: 100px;
}

.unline {
	display: inline;
	border-bottom: 6px solid #9bd381;
}

.inline {
	display: inline;
}

.inlineB {
	display: inline-block;
}

.menuscroll {
	border: 1px solid #262626;
	border-radius: 3px;
}

.menuscroll a {
	padding: 10px;
	display: block;
}

.other {
	max-width: 600px;
	width: 90%;
	margin: 0 auto;
}

.next {
	position: absolute;
	right: 0;
	top: 50%;
	padding: 0 10px;
	background: rgba(255, 255, 255, 0.8);
	border: 2px solid #ccc;
	border-radius: 6px;
}

.pre {
	position: absolute;
	left: 0;
	top: 50%;
	padding: 0 10px;
	background: rgba(255, 255, 255, 0.8);
	border: 2px solid #ccc;
	border-radius: 6px;
}

.box {
	width: 90%;
	max-width: 1080px;
	margin: 0 auto;
	padding: 20px;
	background: #fff;
	border-radius: 4px;
}

.form {
	width: 100%;
	height: 135vh;
	margin: 0 auto;
}

.txt14 {
	font-size: 14px;
}

.txt15 {
	font-size: 15px;
}

.txtwh {
	color: #fff;
}

.txred {
	color: #C63F3F;
}

.txr {
	text-align: right;
}

.boxr {
	position: absolute;
	right: 0;
}

.size {
	font-size: 1.5em;
}

.img {
	width: 100%;
	display: block;
}

.w100 {
	width: 100%;
}

.w200 {
	max-width: 200px;
	margin: 0 auto;
}

footer {
	background: #262626;
	padding: 10px;
	width: 100%;
}

#page_top {
	position: fixed;
	width: 40px;
	bottom: 40px;
	right: 20px;
	z-index: 10;
	display: block;
}

#page_top #arr_up {
	cursor: pointer;
	position: relative;
	right: 0;
	margin-left: auto;
	width: 40px;
	display: block;
	font-size: 18px;
	font-weight: bold;
	color: #153A9D;
}

#page_top #arr_up i {
	position: absolute;
	right: -5px;
	bottom: 20px;
}

.page_top {
	margin-left: 3px;
}

.mt10 {
	margin-top: 10px;
}

.pd10 {
	padding: 10px;
}

.pd30 {
	padding: 30px;
}

.pd520 {
	padding: 5px 25px;
}

.pd30TB {
	padding: 30px 0;
}

.mb20 {
	margin-bottom: 20px;
}

.catch {
	width: 90%;
	margin: 0 auto;
	max-width: 800px;
}

.catch h2 {
	word-wrap: break-word;
	font-feature-settings: pkna;
}

.boxcenter {
	margin: 0 auto;
}

.btn {
	text-align: center;
	width: 90%;
	max-width: 200px;
}

.btn a {
	display: block;
	padding: 10px;
	border-radius: 30px;
	background: #153A9D;
}

.btn2 {
	max-width: 400px;
}

.btn2 a {
	padding: 20px;
	border-radius: 50px;
}

.left {
	margin-left: -2px;
}

.btn_on {
	background: #c2e4dd;
}

.w120 {
	width: 120px;
	margin: o auto;
	float: right;
}

.middle {
	vertical-align: middle;
}

.work {
	position: relative;
	width: 100%;
	height: 50vh;
}

.workmv {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 50vh;
	background: url('../images/top/works.jpg') no-repeat center;
	background-size: cover;
	z-index: -2;
}

.workbg {
	position: absolute;
	width: 100vw;
	height: 50vh;
	margin: 0 auto;
	background: rgba(0, 0, 0, 0.3);
	z-index: -1;
}

.worktxt {
	position: absolute;
	top: 30px;
	right: 50px;
	z-index: 3;
}

/* 会社概要 */
.company {
	background: url('../images/company.jpg') no-repeat center;
	background-size: cover;
}

/* 事業案内 */
.service {
	background: url('../images/service/1.jpg') no-repeat center;
	background-size: cover;
}

.service2 {
	background: url('../images/service/2.jpg') no-repeat center;
	background-size: cover;
}

.service3 {
	background: url('../images/service/3.jpg') no-repeat center;
	background-size: cover;
}

/* 施工実績 */
.works {
	background: url('../images/works.jpg') no-repeat center;
	background-size: cover;
}

/* 社員インタビュー */
.recruit {
	background: url('../images/recruit/1.jpg') no-repeat center;
	background-size: cover;
}

.recruit2 {
	background: url('../images/recruit/2.jpg') no-repeat center;
	background-size: cover;
}

.recruit3 {
	background: url('../images/recruit/3.jpg') no-repeat center;
	background-size: cover;
}

.recruit4 {
	background: url('../images/recruit/4.jpg') no-repeat center;
	background-size: cover;
}

/* 採用情報 */
.recruit5 {
	background: url('../images/recruit.jpg') no-repeat center;
	background-size: cover;
}

.mvrec {
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	height: 320px;
	z-index: -1;
	overflow: hidden;
	background: url('../images/recruit/interview.jpg') no-repeat center;
	background-size: cover;
}

/* 社員インタビュー */
.interview {
	background: url('../images/interview/1.jpg') no-repeat center;
	background-size: cover;
}

.interview2 {
	background: url('../images/interview/2.jpg') no-repeat center;
	background-size: cover;
}

.interview3 {
	background: url('../images/interview/3.jpg') no-repeat center;
	background-size: cover;
}

.interview4 {
	background: url('../images/interview/4.jpg') no-repeat center;
	background-size: cover;
}

/* 商品 */
.product {
	background: url('../images/product.jpg') no-repeat center;
	background-size: cover;
}

/* お問い合わせ */
.contact {
	background: url('../images/contact.jpg') no-repeat center;
	background-size: cover;
}

/* 個人情報保護方針 */
.privacy {
	background: url('../images/privacy.jpg') no-repeat center;
	background-size: cover;
}

/* 施工実績 年度 */
.worksR3 {
	background: url('../images/works2.jpg') no-repeat center;
	background-size: cover;
}

/* 会社行事の様子 */
.event {
	background: url('../images/event.jpg') no-repeat center;
	background-size: cover;
}

/* 受賞一覧 */
.award {
	background: url('../images/award.jpg') no-repeat center;
	background-size: cover;
}

/* 沿革 */
.history {
	background: url('../images/history.jpg') no-repeat center;
	background-size: cover;
}

/* 経営方針・信条 */
.manage {
	background: url('../images/manage.jpg') no-repeat center;
	background-size: cover;
}

/* お知らせ */
.news {
	background: url('../images/news.jpg') no-repeat center;
	background-size: cover;
}

/* サイトマップ */
.sitemap {
	background: url('../images/sitemap.jpg') no-repeat center;
	background-size: cover;
}

/* サイトポリシー */
.sitepolicy {
	background: url('../images/sitepolicy.jpg') no-repeat center;
	background-size: cover;
}

/* 404 */
.bg404 {
	background: url('../images/404.jpg') no-repeat center;
	background-size: cover;
}

.formbtn a {
	background: #262626;
	padding: 20px;
	display: block;
}

.bgwh {
	background: #fff;
}

.bggray {
	background: #EDEDED;
}

.txwh {
	color: #fff;
}

.pd20 {
	padding: 20px;
}

.infobox .infolist {
	border-bottom: 1px solid #ccc;
	padding: 20px 0;
}


.subbg3 {
	position: relative;
	top: 0;
	width: 100vw;
	margin: 0 auto;
	overflow: hidden;
}

.posiab {
	position: absolute;
	bottom: 20px;
}

.bgbk {
	background: rgba(0, 0, 0, 0.4);
}

.bgblue {
	background: #153A9D;
}

.Tclamp {
	font-size: clamp(34px, 5vw, 70px);
}

/*パソコン版*/
@media print,
screen and (min-width : 801px) {

	.wrap {
		position: relative;
		top: 0;
		width: 100%;
	}

	.wrap .bg {
		position: relative;
		width: 100vw;
		height: 100vh;
		margin: 0 auto;
		overflow: hidden;
		background: rgba(0, 0, 0, 0.4);
	}

	.subbg {
		position: relative;
		top: 0;
		width: 100vw;
		height: 280px;
		margin: 0 auto;
		overflow: hidden;
		background: rgba(0, 0, 0, 0.4);
	}

	.bgbtn {
		position: relative;
		top: 0;
		width: 100%;
		height: 320px;
		margin: 0 auto;
		overflow: hidden;
		background: rgba(0, 0, 0, 0.4);
	}

	.mv {
		position: relative;
		top: 0;
		left: 0;
		width: 100vw;
		height: 280px;
		z-index: -1;
		overflow: hidden;
	}

	.subtitle {
		position: absolute;
		top: 80px;
		left: 0;
		right: 0;
		margin: 0 auto;
	}

	.subbg2 {
		height: 380px;
	}

	.mv2 {
		height: 380px;
	}

	.subbg3 {
		position: relative;
		top: 0;
		width: 100vw;
		margin: 0 auto;
		overflow: hidden;
		height: 80vh;
	}

	.mv3 {
		height: 80vh;
	}

	.subtitle2 {
		position: absolute;
		left: 0;
		right: 0;
		top: 40px;
	}

	.subtitle3 {
		top: 120px;
	}

	.infocontents {
		position: relative;
		margin: 0 auto;
		max-width: 800px;
	}

	.infobox {
		height: 200px;
	}

	.infolist dt {
		float: left;
		margin-right: 15px;
	}


	.map {
		width: 100%;
		max-width: 900px;
		margin: 0 auto;
	}

	.map iframe {
		width: 100%;
		height: 400px;
	}

	.w90 {
		width: 90%;
	}

	.w90r {
		width: 90%;
		margin-left: 10%;
	}

	.w33 {
		width: 33.33333%;
	}

	.w60 {
		width: 60%;
	}

	.w50 {
		width: 49%;
	}

	.w80 {
		width: 80%;
	}

	.w20 {
		width: 20%;
	}

	.w10 {
		width: 10%;
	}

	.w500 {
		width: 500px;
		margin: 0 auto;
	}

	.w600 {
		width: 600px;
		margin: 0 auto;
	}

	.w1000 {
		width: 1000px;
		margin: 0 auto;
	}

	.mt5 {
		margin-top: 5px;
	}

	.mt20 {
		margin-top: 20px;
	}

	.mt30 {
		margin-top: 30px;
	}

	.mt40 {
		margin-top: 40px;
	}

	.mt60 {
		margin-top: 60px;
	}

	.mt80 {
		margin-top: 80px;
	}

	.mt100 {
		margin-top: 100px;
	}

	.mt150 {
		margin-top: 150px;
	}

	.mt200 {
		margin-top: 200px;
	}

	.pt15 {
		padding-top: 15px;
	}

	.pt20 {
		padding-top: 20px;
	}

	.pt30 {
		padding-top: 20px;
	}

	.pt40 {
		padding-top: 40px;
	}

	.pt60 {
		padding-top: 60px;
	}

	.pb20 {
		padding-bottom: 20px;
	}

	.pb40 {
		padding-bottom: 40px;
	}

	.pb60 {
		padding-bottom: 60px;
	}

	.mb36 {
		margin-bottom: 46px;
	}

	.mb20 {
		margin-bottom: 20px;
	}

	.mb40 {
		margin-bottom: 40px;
	}

	.mb60 {
		margin-bottom: 60px;
	}

	.line {
		line-height: 1;
	}

	.line2 {
		line-height: 1.3;
	}

	.txt18 {
		font-size: 18px;
	}

	.txt20 {
		font-size: 20px;
	}

	.txt24 {
		font-size: 24px;
	}

	.txt28 {
		font-size: 28px;
	}

	.txt32 {
		font-size: 32px;
	}

	.txt36 {
		font-size: 36px;
	}

	.txt40 {
		font-size: 40px;
	}

	.txt50 {
		font-size: 50px;
	}

	.sp {
		display: none;
	}
}

/*パソコン版*/
@media print,
screen and (min-width : 701px) {
	.w75 {
		width: 75%;
	}

	.w70 {
		width: 70%;
	}

	.w40 {
		width: 40%;
	}

	.w30 {
		width: 30%;
	}

	.w27 {
		width: 27%;
	}

	.w25 {
		width: 25%;
	}

	.w32 {
		width: 32%;
	}

}


/*スマホ版*/
@media screen and (max-width : 800px) {

	.wrap .bg {
		background: rgba(0, 0, 0, 0.3);
	}

	.back {
		top: 40px;
	}

	.flex {
		display: block;
	}


	.slider {
		position: relative;
		top: 0;
		left: 0;
		width: 100vw;
		z-index: -1;
	}

	.slider,
	.slickmv img {
		height: 55vh;
	}

	.mv {
		position: relative;
		top: 0;
		left: 0;
		width: 100vw;
		height: 200px;
		z-index: -1;
		overflow: hidden;
	}

	.company {
		background: url('../images/company.jpg') no-repeat center;
		background-size: cover;
	}

	.subbg {
		position: relative;
		top: 0;
		width: 100vw;
		height: 200px;
		margin: 0 auto;
		overflow: hidden;
		background: rgba(0, 0, 0, 0.4);
	}

	.subtitle {
		position: absolute;
		top: 90px;
		left: 0;
		right: 0;
		margin: 0 auto;
	}

	.subbg2 {
		height: 440px;
	}

	.mv2 {
		height: 440px;
	}

	.subtitle2 {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 70px;
		margin: 0 auto;
	}

	.subbg3 {
		height: 80vh;
	}

	.mv3 {
		height: 80vh;
	}

	.bgbtn {
		position: relative;
		top: 0;
		width: 100%;
		height: 220px;
		margin: 0 auto;
		overflow: hidden;
		background: rgba(0, 0, 0, 0.4);
	}

	.mvrec {
		height: 220px;
	}


	.interview {
		background: url('../images/interview/1_s.jpg') no-repeat center;
		background-size: cover;
	}

	.interview2 {
		background: url('../images/interview/2_s.jpg') no-repeat center;
		background-size: cover;
	}

	.interview3 {
		background: url('../images/interview/3_s.jpg') no-repeat center;
		background-size: cover;
	}

	.interview4 {
		background: url('../images/interview/4_s.jpg') no-repeat center;
		background-size: cover;
	}

	.posiab {
		bottom: 0;
		width: 95%;
	}

	.map iframe {
		width: 100%;
		height: 340px;
	}

	.bg_s {
		position: relative;
		top: 0;
	}

	.worksbtn,
	.worksbtnimg {
		height: 200px;
	}

	.titlebox {
		top: 10vh;
		left: 15px;
	}

	.title,
	.title2,
	.title3 {
		font-size: 32px;
	}

	.title4 {
		text-align: right;
	}

	.info {
		padding: 20px;
		width: 90%;
		border: 1px solid #ccc;
		border-radius: 4px;
		margin: 0 auto;
	}

	.infobox {
		height: 160px;
		overflow: scroll;
	}

	.btn {
		margin: 0 auto;
	}

	.grid,
	.grid2 {
		display: block;
	}

	.youtube {
		height: 400px;
	}

	.worktxt {
		left: 0;
		right: 0;
		margin: 0 auto;
	}

	.formbtn {
		margin: 0 auto;
	}

	.formbtn a {
		padding: 20px 30px;
	}

	.centers {
		text-align: center;
	}

	.line2 {
		line-height: 1.3;
	}

	.recruit {
		background: url('../images/recruit/1_s.jpg') no-repeat center;
		background-size: cover;
	}

	.recruit2 {
		background: url('../images/recruit/2_s.jpg') no-repeat center;
		background-size: cover;
	}

	.recruit3 {
		background: url('../images/recruit/3_s.jpg') no-repeat center;
		background-size: cover;
	}

	.recruit4 {
		background: url('../images/recruit/4_s.jpg') no-repeat center;
		background-size: cover;
	}

	.form {
		min-height: 1300px;
	}

	.w95s {
		width: 95%;
		margin: 0 auto;
	}

	.w90s {
		width: 90%;
		margin: 0 auto;
	}

	.w80s {
		width: 80%;
		margin: 0 auto;
	}

	.w100s {
		width: 100%;
	}

	.s_mt10 {
		margin-top: 10px;
	}

	.s_mt20 {
		margin-top: 20px;
	}

	.s_mt30 {
		margin-top: 30px;
	}

	.s_mt40 {
		margin-top: 40px;
	}

	.s_mt60 {
		margin-top: 60px;
	}

	.s_mt80 {
		margin-top: 80px;
	}

	.s_mt100 {
		margin-top: 100px;
	}

	.s_mt140 {
		margin-top: 140px;
	}

	.s_pt20 {
		padding-top: 20px;
	}

	.s_pt30 {
		padding-top: 30px;
	}

	.s_pt40 {
		padding-top: 40px;
	}

	.s_pb20 {
		padding-bottom: 20px;
	}

	.s_pb30 {
		padding-bottom: 30px;
	}

	.s_pb40 {
		padding-bottom: 40px;
	}

	.s_pb60 {
		padding-bottom: 60px;
	}

	.s_mb20 {
		margin-bottom: 20px;
	}

	.s_mb40 {
		margin-bottom: 40px;
	}

	.s_mb60 {
		margin-bottom: 60px;
	}

	.s_pd1020 {
		padding: 10px 20px;
	}

	.s_pd10 {
		padding: 10px;
	}

	.txt32_s {
		font-size: 32px;
	}

	.txt28_s {
		font-size: 28px;
	}

	.txt24_s {
		font-size: 24px;
	}

	.txt20_s {
		font-size: 20px;
	}

	.txt18_s {
		font-size: 18px;
	}

	.txt14_s {
		font-size: 14px;
	}

	.txt12_s {
		font-size: 12px;
	}

	.line {
		line-height: 1;
	}

	.flogo {
		max-width: 280px;
		margin: 0 auto;
	}

	.last {
		padding-bottom: 100px !important;
	}

	#page_top #arr_up {
		bottom: 20px;
	}

	#page_top #arr_up i {
		position: absolute;
		bottom: 20px;
	}

	#page_down {
		bottom: 10px;
	}
}

/* 2023.08 */
.fsns {
	font-size: 12px;
}

.fsns a {
	display: inline-block;
	padding: 6px 1px 6px 40px;
	background-image: url("../images/f_Instagram.svg");
	background-position: left center;
	background-size: 30px auto;
}