/* 
Basic Stylesheet
v1.0
Last Updated: 2024-05-24
*/

/*
Breakpoints:
Tablet: 760px+ (Portrait mode)
PC: 960px+
*/

/* Importing Reset CSS */
@import url("reset.css");

/* Importing Fonts */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;600;700&display=swap');

/* Styles
----------------------------- */
*,
*:before,
*:after {
	-webkit-box-sizing: inherit;
	box-sizing: inherit;
}

* {
	box-sizing: border-box;
}

html {
	overflow: auto;
	font-size: 62.5%; /* (16px * 0.625 = 10px = 1rem) */
	/*  	scroll-behavior: smooth; */
	word-wrap : break-word;
	overflow-wrap : break-word;
	-webkit-box-sizing: inherit;
	box-sizing: inherit;
}
html, body {
	width: 100%;
	height: 100%;
}
body {
	position: relative;
	color: #343434;
}
/*
@media ( min-width : 960px ) { /* +960px 
	body {
		max-width: 1920px;
		min-width: 1160px;
		margin: 0 auto;
	}
}
*/

/* Basic
----------------------------- */
/* SP or PC */
.sp {	display: block!important; }
.pc { display: none!important; }
@media ( min-width : 960px ) { /* +960px */
	.sp { display: none!important; }
	.pc { display: block!important; }
}
.rsp {		/* img-responsive */
	width: 100%;
	height: auto;
}
img {
	vertical-align: middle;
}
a:link, a:visited {
	color: inherit;
	text-decoration: none;
	transition: .4s;
}
a:hover {
	opacity: 0.9;
}
.ind {
	text-indent: 1rem;
}
sup {
	font-size: 90%;
	vertical-align: super;
}
sub {
	font-size: 90%;
	vertical-align: sub;
}
.mt0 {
	margin-top: 0!important;
}
.mt80 {
	margin-top: 8rem!important;
}
.mt100 {
	margin-top: 10rem!important;
}

.cap {	/* 画像キャプションなど */
	width: 100%!important;
	font-size: 1.3rem!important;
	text-align: center!important;
	margin-bottom: 2rem!important;
	text-indent: 0!important;
}

/* font-size */
.rem08 { font-size: .8rem!important; }
.rem09 { font-size: .9rem!important; }
.rem10 { font-size: 1rem!important; }
.rem11 { font-size: 1.1rem!important; }
.rem12 { font-size: 1.2rem!important; }
.rem13 { font-size: 1.3rem!important; }
.rem14 { font-size: 1.4rem!important; }

.em08 { font-size: 80%!important; }
.em09 { font-size: 90%!important; }
.em10 { font-size: 100%!important; }
.em11 { font-size: 110%!important; }
.em12 { font-size: 120%!important; }
.em13 { font-size: 130%!important; }
.em14 { font-size: 140%!important; }

/* text */
.right { text-align: right!important; }
.center { text-align: center!important; }
.left { text-align: left!important; }
.ls2 { letter-spacing: 2rem;}
/* Colors */
.red {
	color: #ff2222;
}
.blue {
	color: #236ae6;
}


@media ( min-width : 960px ) { /* +960px */
}


/* Body
----------------------------- */
body {
	font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-size: 1.4rem; /* 14px */
	font-weight: 400;
	/* 	overflow-x: hidden; */
	position: relative;
	background-color: #ffffff;
}

@media ( min-width : 960px ) { /* +960px */
	body {
		font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
		font-size: 1.4rem; /* 14px */
		/* 	overflow-x: hidden; */
		position: relative;
	}
}

/* Header + TOP Visual
----------------------------- */
header {	/* SP */
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 60px;
	z-index: 100;
}
#header_pc {
	display: none;
}
#header_sp {
	background-color: #fff;
}
#header_sp .flex {
	display: flex;
	justify-content: space-between;
	width: 100%;
	height: auto;
}
#header_sp .flex .box:first-child {
	margin-right: auto;
}
#header_sp .logo {
	width: 80px;
	height: auto;
	margin: 10px 0 10px 10px;
}
#header_sp .logo img {
	width: 100%;
	height: auto;
	margin: 0;
}
#header_sp a.contact_sp {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 70px;
	height: 100%;
	background-color: #EC6D34;
	margin-right: auto;
}
#header_sp a.contact_sp img {
	width: 40%;
	height: 40%;
}
#header_sp .flex .box:last-child {	/* humberger */
	display: flex;
	align-items: center;
	justify-content: center;
	width: 70px;
	height: auto;
}
@media ( min-width : 960px ) { /* +960px */
	header {
		width: 100%;
		height: auto;
		background-color: #044381;
	}
	header .inner_r {
		position: relative;
		width: 50%;
		height: 140px;
		background-color: #fff;
		float: right;
		z-index: 1;
	}
	#header_sp {
		display: none;
	}
	#header_pc {
	}
	#header_pc .comment {
		width: 490px;
		height: auto;
		margin-top: auto;
	}
	#header_pc .tel {
		width: 392px;
		height: auto;
		margin-top: auto;
	}
	#header_pc * img {
		width: 100%;
		height: auto;
	}
}



ul.head-nav-1,
ul.head-nav-2 {
	display: none;	/* SP */
}
header #global {
	display: none;	/* SP */
}
header #global .inner {
	width: 96%;
}
header #global .inner .logo {
	display: flex;
	align-items: center;
	width: 190px;
	height: 40px;
	margin: 8px 0 0 10px;
}

#global .inner .logo h1 a {
	width: 240px;
	height: 52px;
}
#global .inner .logo h1 a img {
	width: 100%;
	height: auto;
}

@media ( min-width : 960px ) { /* +960px */
	header {
		position: inherit;
		height: 140px;
	}
	header #global {
 		position: absolute;
/* 		position: fixed; */
		top: 0;
		display: block;
		width: 100%;
		height: 140px;
		padding: 0;
		z-index: 2;
	}
	header #global .inner {
		width: 1190px;
		height: 140px;
		margin: 0 auto;
		display: flex;
	}
	header #global .inner .logo {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 300px!important;
		height: 140px!important;
/* 		background-color: #DBDCDC; */
		background-color: #fff;
		padding: 0;
		margin: 0;
	}
	header #global .inner .logo h1 a img {
		width: 140px;
		height: 100px;
	}
	header .head-nav-1 {
		display: flex;
	}
}


/*** header menu / PC ***/
@media ( min-width : 960px ) { /* +960px */
	ul.head-nav-1 {
		display: flex;
		flex-flow: row;
		justify-content: flex-end;
		list-style-type: none;
		padding: 0;
		margin: 0 0 2rem;
	}
	ul.head-nav-1 li {
		display: inline-block;
	}
	ul.head-nav-1 li a {
		color: #fff;
		font-weight: 500;
		font-size: 1.2rem;
		padding: .4rem 1rem;
		border: 1px solid #fff;
		margin: 0 .6rem;
	}
	
	.global_menu {
		width: 100%;
		height: 100px;
		background-color: #fff;
/* 		border: 1px solid #f00; */
	}
	ul.head-nav-2 {
		display: flex;
		flex-flow: row;
		justify-content: flex-end;
		list-style-type: none;
		background-color: #fff;
		padding: 0;
		margin: 0 auto;
/* 		border: 1px solid #f00; */
	}
	ul.head-nav-2 li {
		position: relative;
		display: flex;
		align-items: flex-end;
		height: 140px;
		padding: 0 2rem;
		margin: 0;
/* 		border: 1px solid #f00; */
	}
	ul.head-nav-2 li a:link {
		position: relative;
		display: flex;
		align-items: flex-end;
		color: #343434;
		font-weight: 500;
		font-size: 1.6rem;
		padding: 0 0 40px 0;
		width: auto;
		height: 100px;
	}
	ul.head-nav-2 li a:hover,
	ul.head-nav-2 li a.focus {
		color: #777777;
	}
	ul.head-nav-2 li a::after {
		width: 0;
	}
	ul.head-nav-2 li.focus::before {
		position: absolute;
		content: "";
		width: 6px;
		height: 6px;
		top: 0;
		bottom: 0;
		right: 0;
		left: 0;
		margin: auto;
		border-radius: 50%;
		background-color: #249D4D;
	}
	ul.head-nav-2 li.contact {
		background-color: #EC6D34;
	}
	
	ul.head-nav-2 li.contact a {
		position: relative;
		color: #fff;
	}
	ul.head-nav-2 li.contact a::before {
		position: absolute;
/* 		font-family: "Font Awesome 6 Free"; */
		content: url("../img/common/icon_contact.svg");
		color: #ffffff;
		width: 16px;
		height: 12px;
		top: 0;
		bottom: 44px;
		right: 0;
		left: 0;
		margin: auto;
	}
}


#visual {
	position: relative;
	width: 100%;
/* 	height: 90vh; */
	min-height: 780px;
	background-color: #044381;
}

#visual .sp {
	width: 100%;
	height: auto;
	padding-top: 1px;	/* sp header スクロールバグ消滅 */
	margin: 40px 0 0;
/*  	border: 1px solid #f00;  */
}

#visual .sp .visual_catch {
	position: relative;
	width: 84%;
	height: auto;
	margin: 60px auto 0;
	
}

.slider_sp {
	margin-top: 40px;
}
.slider_pc {
	width: 100%;
	height: auto;
	position: absolute;
	top: 0;
	left: 0;
	margin: 60px auto 0;
	text-align: center;
}

#visual .sp .visual_bottom_logo_sp {
	position: absolute;
	width: 100px;
	height: auto;
	bottom: 0;
	right: 30px;
}
.visual_bottom_logo_sp img {
	width: 100%;
	height: auto;
}

.slider_pc img {
	object-fit: cover;
	width: 100%;
	height: auto;
	margin: 0 auto;
	text-align: center;
}
.slider_pc img.coverPosition {
	object-position: 100% 50%;
}

@media ( min-width : 960px ) { /* +960px */
	#visual {
		position: relative;
		width: 100%;
		height: 1040px;
	}
	#visual .inner {
		position: relative;
/*
		width: 80%;
		padding-left: 20%;
*/
		max-width: 1600px;	/* コンテンツ 最大幅 */
		min-width: 1160px;
		height: 1040px;
		margin: 0 auto;
/* 		border: 1px solid #42e576; */
	}
	
	.slider_pc {
		position: absolute;
		left: 100px;
		width: 1150px;
		height: 760px;
		margin: 0 auto;
	}
	.slider_pc img {
		object-fit: cover;
		width: 100%;
		height: auto;
		margin: 0 auto;
	}
/*
	ul.slider {
		width: 100%;
		height: auto;
		margin-top: 0;
	}
*/
}
.visual_catch.pc {
	position: absolute;
	width: 700px;
	height: auto;
	top: 400px;
	left: 100px;
}
.visual_catch img {
	width: 100%;
	height: auto;
}
.visual_scrl {
	position: absolute;
	width: 100%;
	height: 100px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-top: 40px;
/* 	border: 1px solid #f00; */
}
.visual_bottom_logo {
	position: absolute;
	width: 1300px;
	height: 236px;
	bottom: 0;
	left: 10%;
}


/* TOP - Company
----------------------------- */
#t_company {
	width: 100%;
	height: auto;
	margin: 0 auto 100px;
}

#t_company h3 {
	width: 90%;
	height: auto;
	margin: 110px auto 50px;
/* 	border: 1px solid #f00; */
}
#t_company .ph_sp {
	width: 100%;
	height: auto;
	margin: 50px auto;
/* 	border: 1px solid #f00; */
}
#t_company .ph_sp img {
	width: 100%;
	height: auto;
}
#t_company .ph {
	width: 80%;
	height: auto;
	margin: 50px auto;
}
#t_company .ph img {
	width: 100%;
	height: auto;
}
#t_company h2.sp {
	width: 94%;
	height: auto;
	padding: 0 0 10px;
	border-bottom: 1px solid #7690C8;
	margin: 2rem auto;
}
#t_company p {
	width: 90%;
	font-size: 1.6rem;
	line-height: 1.6;
	margin: 0 auto 50px auto;
}
#t_company .btn {
	width: 300px;
	height: auto;
	margin: 50px auto 100px;
}

@media ( min-width : 960px ) { /* +960px */
	#t_company {
		position: relative;
		width: 100%;
		height: 1040px;
		margin: 0 auto 150px;
	}
	#t_company .inner {
		position: relative;

		width: 1170px;

		max-width: 1600px;	/* コンテンツ 最大幅 */
		min-width: 1160px;
		height: 1040px;
		padding: 160px 0 60px 20px;
		margin: 0 auto;
/* 		border: 1px solid #42e576; */
		
		display: flex;
		justify-content: space-between;

	}
	#t_company .box {
		position: relative;
		width: 45%;
		height: auto;
	}
	#t_company .box:last-child {	}
	
	#t_company h3 {
		width: 530px;
		height: auto;
	}
	#t_company .ph {
		width: 420px;
		height: auto;
		margin: 28px 0;
	}
	#t_company h2 {
		width: 420px;
		height: auto;
		margin: 40px 0 28px 0;
	}
	#t_company p {
		width: 420px;
		line-height: 1.6;
		font-size: 2rem;
		margin: 28px 0;
	}
	#t_company .btn {
		width: 400px;
		height: auto;
		margin: 28px 0;
	}
	#t_company .ph1 {
		position: absolute;
		top: 40px;
		right: 0;
		width: 460px;
		height: auto;
	}
	#t_company .ph1 img {
		width: 100%;
		height: auto;
	}
	#t_company .ph2 {
		position: absolute;
		top: 340px;
		right: 200px;
		width: 460px;
		height: auto;
	}

}

/* TOP - Works
----------------------------- */

#t_works {
	background-color: #36A0DA;
	background-image: url('../img/top/works_bg_sp.svg');
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center bottom;
	padding: 100px 0 50px;
}

/*
#t_works {
		position: relative;
		width: 100%;
		height: auto;
		background-image: url('../img/top/works_bg.jpg');
		background-attachment: fixed;
		background-size: cover;
		background-position: center bottom;
		background-repeat: no-repeat;
		margin: 0 auto 160px;
	}
	#t_works .color_box {
		position: absolute;
		width: 100%;
		height: 100%;
		background-color: rgba(54, 160, 217, 0.7);
	}
*/

#t_works .w_logo {
	width: 200px;
	height: auto;
	margin: 0 auto 30px;
/* 	border: 1px solid #f00; */
}
#t_works .sp h2 {
	width: 94%;
	height: auto;
	padding: 0 0 10px;
	border-bottom: 1px solid #fff;
	margin: 2rem auto;
}
#t_works p {
	width: 90%;
	font-size: 1.6rem;
	color: #fff;
	line-height: 1.6;
	margin: 0 auto 50px auto;
}
#t_works .btn {
	width: 300px;
	height: auto;
	margin: 50px auto 100px;
}
#t_works .btn img {
	width: 100%;
	height: auto;
}
#t_works .w_btn {
	width: 80%;
	height: auto;
	margin: 0 auto;
}
#t_works .w_btn a {
	display: block;
	width: 100%;
	height: auto;
	margin: 0 auto 20px;
}

@media ( min-width : 960px ) { /* +960px */
	#t_works {
		position: relative;
		width: 100%;
		height: auto;
		background-image: url('../img/top/works_bg.jpg');
		background-attachment: fixed;
		background-size: cover;
		background-position: center center;
		background-repeat: no-repeat;
		padding: 0;
		margin: 0 auto 160px;
	}
	#t_works .color_box {
		position: absolute;
		width: 60%;
		height: 100%;
		background-color: rgba(54, 160, 217, 0.8);
	}
	#t_works .inner {
		position: relative;
		width: 1170px;
		max-width: 1600px;	/* コンテンツ 最大幅 */
		min-width: 1160px;
		min-height: 1040px;
		padding: 60px 0 60px 20px;
		margin: 0 auto;
/* 		border: 1px solid #42e576; */
		display: flex;
		justify-content: space-between;
	}
	#t_works .box {
		position: relative;
		width: 60%;
		height: auto;
/* 		border: 1px solid #f00; */
	}
	#t_works .box:last-child {
		width: 40%;
/* 		border: 1px solid #42e576; */
	}
	#t_works h2 {
		width: 395px;
		height: auto;
		margin: 200px 0 28px 0;
	}
	#t_works p {
		width: 396px;
		line-height: 1.6;
		font-size: 2rem;
		color: #fff;
		margin: 28px 0;
	}
	#t_works .btn {
		width: 400px;
		height: auto;
		margin: 28px 0;
	}

	.works_menu {
		position: relative;
	}
	
	li.m01, li.m02, li.m03 {
		width: 714px;
		height: 260px;
		background-image: url(../img/top/works_btn_01.svg);
		background-size: 714px auto;
		background-repeat: no-repeat;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		filter: drop-shadow(0px 0px 5px rgba(160, 160, 160, 0.7));
		margin: 0 0 60px 0;
		margin-left: -200px;
	}
	li.m02 {
		background-image: url(../img/top/works_btn_02.svg);
	}
	li.m03 {
		background-image: url(../img/top/works_btn_03.svg);
	}
	li.m01:hover, li.m02:hover, li.m03:hover {
		width: 774px;
		background-image: url(../img/top/works_btn_01_on.svg);
		background-size: 774px auto;
		filter: drop-shadow(0px 0px 5px rgba(160, 160, 160, 0.7));
		margin-left: -260px;
		transition: .4s;
	}
	li.m02:hover {
		background-image: url(../img/top/works_btn_02_on.svg);
	}
	li.m03:hover {
		background-image: url(../img/top/works_btn_03_on.svg);
	}
}

/* TOP - Pick up
----------------------------- */

#t_pickup {
	width: 100%;
	height: auto;
	background-color: rgba(140, 140, 140, 0.2);
	padding: 40px 0;
	margin: 60px auto;
}
#t_pickup .inner {
	width: 90%;
	height: auto;
	margin: 0 auto;
}
#t_pickup .whatsnew {
	width: 100%;
	margin: 50px auto;
}

#t_pickup .btn {
	width: 300px;
	height: auto;
	margin: 50px auto 100px;
}

@media ( min-width : 960px ) { /* +960px */
	#t_pickup {
		position: relative;
		width: 100%;
/* 		height: 50vh; */
		background-color: rgba(140, 140, 140, 0.2);
		margin: 0 auto;
	}
	#t_pickup .inner {
		position: relative;
		width: 1170px;
		max-width: 1600px;	/* コンテンツ 最大幅 */
		min-width: 1160px;
		padding: 60px 0 60px 20px;
		margin: 0 auto;
/* 		border: 1px solid #42e576; */
		display: flex;
		justify-content: space-between;
	}
	#t_pickup .box {
		position: relative;
		width: 45%;
		height: auto;
/* 		border: 1px solid #f00; */
	}
	#t_pickup .box:last-child {
		width: 53%;
/* 		border: 1px solid #42e576; */
	}
	#t_pickup h2 {
		width: 395px;
		height: auto;
		margin: 100px 0 28px 0;
	}
	#t_pickup p {
		width: 396px;
		line-height: 1.6;
		font-size: 2rem;
		color: #fff;
		margin: 28px 0;
	}
	#t_pickup .btn {
		width: 400px;
		height: auto;
		margin: 28px 0;
	}

}


/* whatsnew list / flexbox */
#t_pickup dl {
/*
	display: flex;
	flex-wrap: wrap;
*/
	width: 100%;
	font-size: 1.6rem;
	text-align: left;
/* 	border-top: 1px solid #6B6B6B; */
	margin: 0 auto;
}
/*
#t_pickup dl:last-child {
	border-bottom: 1px solid #6B6B6B;
}
*/
#t_pickup dt {
	width: 90%;
	font-weight: 500;
	color: #A3A3A3;
	line-height: 1rem;
	padding: 2rem 0 .5rem;
	margin-left: 5%;

}
#t_pickup dd {
	width: 90%;
	line-height: 1.8;
	padding: 0 0 2rem 0;
	margin-left: 5%;
}
#t_pickup dd h5 {
	font-size: 1.5rem;
	font-weight: 600;
}
#t_pickup dd p {
	font-size: 1.4rem;
	margin: .5rem 0;
}
#t_pickup dd ul {
	margin-left: 2rem;
}
#t_pickup dd a:link, #news dd a:visited {
	color: #5F9EDE;
	font-weight: 500;
	border-bottom: 1px solid #5F9EDE;
}
#t_pickup dd a:hover {
	border: none;
}


/*
 TOP 施工実績 表彰 Award (250529追加)
-------------------------------- */
#t_award {
    max-width: 860px;
    height: auto;
    margin: 6rem auto;
}

#t_award h2 {
    width: auto;
    font-size: 3rem;
    text-align: center;
    margin: 0 auto 2rem;
}

#t_award p {
    font-size: 1.8rem;
    line-height: 2;
    margin: 1rem auto 2rem;
}

#t_award .award-grid {
    max-width: 1000px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

#t_award .award-row {
  display: grid;
  gap: 16px;
}

/* 上段（3:2比率） */
#t_award .award-row.row-top {
  grid-template-columns: repeat(2, 1fr);
}

#t_award .award-row.row-top img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  display: block;
  padding: .5rem;
  border: 1px solid #e2e2e2;
}

#t_award .award-grid p {
  font-size: 1.3rem !important;
  text-align: center;
  margin: 0.5rem auto 1rem;
}


@media (max-width: 600px) {
    #t_award {
        padding: 1rem;
    }
  #t_award .award-row.row-top {
    grid-template-columns: 1fr; /* 1列にする */
  }
}


#t_award .btn {
    max-width: 300px;
    margin: 2rem auto;
}




/* TOP - Achievement
----------------------------- */

#t_achievement {
	width: 100%;
	height: auto;
	background-image: url('../img/top/achievement_bg.jpg');
	background-attachment: fixed;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	padding: 85px 0 40px;
	margin: 60px auto 100px;
}
#t_achievement .inner {
	width: 90%;
	margin: 0 auto;
}
#t_achievement h2.sp {
	width: 100%;
	height: auto;
	padding: 0 0 10px;
	border-bottom: 1px solid #6B6B6B;
	margin: 2rem auto;
}
#t_achievement p {
	width: 100%;
	font-size: 1.6rem;
	line-height: 1.6;
	margin: 0 auto 50px auto;
}
#t_achievement .flex_3 h3 {
	width: 70%;
	height: auto;
	margin: 0 auto 30px;
}
#t_achievement .scp {
	width: 80%;
	height: auto;
	margin: 0 auto 50px;
}

#t_achievement .btn {
	width: 300px;
	height: auto;
	margin: 50px auto 100px;
}

@media ( min-width : 960px ) { /* +960px */
	#t_achievement {
		position: relative;
		width: 100%;
		height: 1100px;
		background-image: url('../img/top/achievement_bg.jpg');
		background-attachment: fixed;
		background-size: cover;
		background-position: center center;
		background-repeat: no-repeat;
		padding: 0 0 150px 0;
		margin: 0 auto 160px;
	}
	#t_achievement .color_box {
		position: absolute;
		width: 60%;
		height: 100%;
		background-color: rgba(54, 160, 217, 0.7);
	}
	#t_achievement .inner {
		position: relative;
		width: 1170px;
		max-width: 1600px;	/* コンテンツ 最大幅 */
		min-width: 1160px;
		min-height: 1040px;
		padding: 0 0 60px 20px;
		margin: 0 auto;
/* 		border: 1px solid #42e576; */
		display: block;
	}
	#t_achievement .flex_2 {
		display: flex;
		justify-content: space-between;
	}
	#t_achievement .flex_2 .box {
		position: relative;
		width: 60%;
		height: 350px;
/* 		border: 1px solid #f00; */
	}
	#t_achievement .flex_2 .box:last-child {
		width: 40%;
/* 		border: 1px solid #42e576; */
	}
	#t_achievement .flex_3 {
		display: flex;
		justify-content: space-between;
		width: 80%;
		padding: 0 2%;
		margin: 0 auto;
	}
	#t_achievement .flex_3 .box {
		position: relative;
		width: 40%;
/* 		border: 1px solid #f00; */
		margin: 60px auto 20px;
	}
	
	#t_achievement h2 {
		width: 395px;
		height: auto;
		margin: 120px 0 28px 0;
	}
	#t_achievement p {
		width: 412px;
		line-height: 1.6;
		font-size: 2rem;
		color: #5f5f5f;
		margin: 120px 0 0 0;
	}
	#t_achievement .btn {
		width: 400px;
		height: auto;
		margin: 28px 0;
	}
	
	#t_achievement .flex_3 h3 {
		width: 260px;
		height: auto;
		margin: 0 auto 36px;
	}
	#t_achievement .flex_3 .scp:hover {
		transform: scale(0.9,0.9);
		transition: .3s;
	}
	
	#t_achievement .btn {
		width: 400px;
		height: auto;
		margin: 50px auto 20px;
	}
}



/* TOP - Recruit
----------------------------- */
#t_recruit {
	width: 100%;
	height: auto;
	background-image: url('../img/top/recruit_bg.jpg');
	background-attachment: fixed;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	padding: 85px 0 40px;
	margin: 200px auto 100px;
}
#t_recruit .inner {
	width: 90%;
	margin: 0 auto;
}
#t_recruit .title_box {
	width: 70%;
	background-color: #fff;
	padding: 2rem 3rem 3rem;
	margin: -200px 0 0;
	box-shadow: 6px 6px 6px 0px rgba(0, 0, 0, 0.2);
}
#t_recruit h2.sp {
	width: 100%;
	height: auto;
	padding: 0 0 10px;
	border-bottom: 1px solid #249D4D;
	margin: 2rem auto;
}
#t_recruit p {
	width: 100%;
	font-size: 1.6rem;
	line-height: 1.6;
	margin: 0 auto;
}
#t_recruit h3.sp {
	width: 100%;
	height: auto;
	font-size: 2rem;
	font-weight: 700;
	line-height: 2;
	text-align: center;
	margin: 5rem auto;
}
#t_recruit .flex_3 {
	display: flex;
	flex-flow: column;
	justify-content: space-between;
	width: 90%;
	padding: 0 5%;
}
#t_recruit .flex_3 .box {
	position: relative;
	width: 100%;
	/* 		border: 1px solid #f00; */
	margin: 0 auto 50px;
}
#t_recruit .flex_3 .box img {
	width: 100%;
	height: auto;
	z-index: 1;
}
#t_recruit .flex_3 .scp {
	overflow: hidden;
}
#t_recruit .flex_3 .scp img:hover {
	width: 100%;
	margin: 0 auto;
	transform: scale(1.05,1.05);
	transition: .4s;
}
.rec_title {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 200px;
	height: 200px;
	background-color: rgba(255, 255, 255, 0.85);
	border-bottom: 6px solid #249D4D;
	margin: 0 auto;
	z-index: 2;
	display: flex;
	justify-content: center;
	align-items: center;
}
.rec_title h3 {
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.4;
	color: #6B6B6B;
	text-align: center;
}
#t_recruit .btn {
	width: 90%;
	height: auto;
	margin: 50px auto 100px;
}
@media ( min-width : 960px ) { /* +960px */
	#t_recruit {
		position: relative;
		width: 100%;
		height: 1250px;
		background-image: url('../img/top/recruit_bg.jpg');
		background-attachment: fixed;
		background-size: cover;
		background-position: center center;
		background-repeat: no-repeat;
		padding: 0 0 150px 0;
		margin: 0 auto 360px;
	}
	#t_recruit .color_box {
		position: absolute;
		width: 60%;
		height: 100%;
		background-color: rgba(54, 160, 217, 0.7);
	}
	#t_recruit .inner {
		position: relative;
		width: 1170px;
		max-width: 1600px;	/* コンテンツ 最大幅 */
		min-width: 1160px;
		min-height: 1040px;
		padding: 0 0 60px 20px;
		margin: 0 auto;
 		border: 1px solid rgba(67, 230, 119, 0); /* 崩れ対策 */
		display: block;
	}
	#t_recruit .title_box {
		width: 704px;
		min-height: 320px;
		background-color: #fff;
		padding: 100px 20px 50px 70px;
		margin: -118px 0 0 -50px;
		box-shadow: 6px 6px 6px 0px rgba(0, 0, 0, 0.2);
	}
	#t_recruit h3.catch {
		width: 460px;
		height: auto;
		margin: 120px auto 120px 60px;
	}
	#t_recruit .flex_2 .box:last-child {
		width: 40%;
/* 		border: 1px solid #42e576; */
	}
	#t_recruit .flex_3 {
		display: flex;
		flex-flow: row;
		justify-content: space-between;
		width: 90%;
		padding: 0 5%;
	}
	#t_recruit .flex_3 .box {
		position: relative;
		width: 33.33%;
/* 		border: 1px solid #f00; */
		margin: 0;
	}
	#t_recruit .flex_3 .box img {
		width: 100%;
		height: auto;
		z-index: 1;
	}
	#t_recruit .flex_3 .scp {
		overflow: hidden;
		margin-right: -1px;
	}
	#t_recruit .flex_3 .scp img:hover {
		width: 100%;
		margin: 0 auto;
		transform: scale(1.05,1.05);
		transition: .4s;
	}
	.rec_title {
		position: absolute;
		top: 300px;
		right: 0;
		left: 0;
		bottom: 0;
		width: 200px;
		height: 200px;
		background-color: rgba(255, 255, 255, 0.85);
		margin: 0 auto;
		z-index: 2;
		display: flex;
		justify-content: center;
		align-items: center;
		border: none;
	}
	#t_recruit .flex_3 .scp img:hover ~ .rec_title {
		border-bottom: 6px solid #249D4D;
		transition: .2s;
	}
	.rec_title h3 {
		font-size: 2.4rem;
		font-weight: 700;
		line-height: 1.6;
		color: #6B6B6B;
		text-align: center;
	}
	
	
	#t_recruit h2 {
		width: 395px;
		height: auto;
		margin: 0 0 28px 0;
	}
	#t_recruit p {
		width: 412px;
		line-height: 1.6;
		font-size: 2rem;
		color: #5f5f5f;
		margin: 0;
	}
	#t_recruit .btn {
		width: 400px;
		height: auto;
		margin: 60px auto;
	}
}


/* TOP - Access
----------------------------- */
#t_access {
	position: relative;
	width: 100%;
	height: 314px;
	color: #044381;
	background-color: rgba(4, 67, 130, 0.3);
	margin: 0 auto;
}
#t_access .inner {
	position: relative;
	width: 100%;
/* 	background-color: #044381; */
	padding: 70px 0;
	margin: 0 auto;
	/* 		border: 1px solid #42e576; */
}
#t_access .f_box {
	display: block;
/* 	justify-content: flex-start; */
}
#t_access .box {
	position: relative;
	width: 90%;
	height: auto;
	margin: 0 auto;
	/* 		border: 1px solid #f00; */
}
#t_access .box:last-child {
	width: 86%;
	/* 		border: 1px solid #42e576; */
	overflow: visible;
	z-index: 2;
}
#t_access h2.sp {
	width: 100%;
	height: auto;
	padding: 0 0 10px;
	border-bottom: 1px solid #7690C8;
}
#t_access address {
	width: 80%;
	line-height: 1.6;
	font-size: 1.6rem;
	font-weight: 500;
	font-style: normal;
	margin: 28px 0;
}
#t_access .btn {
	width: 400px;
	height: auto;
	margin: 28px 0;
}
#t_access .page-top {
	position: absolute;
	top: 60px;
	right: 0;
	width: 17px;
}
.gmap {
	height: 0;
	overflow: hidden;
/*	padding-bottom: 56.25%;	/* 16:9 */
	padding-bottom: 100%;	/* 1:1 */
	position: relative;
}
.gmap iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}
@media ( min-width : 960px ) { /* +960px */
	#t_access {
		position: relative;
		width: 100%;
		height: 314px;
		color: #044381;
		background-color: rgba(4, 67, 130, 0.3);
		margin: 0 auto;
	}
	#t_access .inner {
		position: relative;
		width: 1170px;
		max-width: 1600px;	/* コンテンツ 最大幅 */
		min-width: 1160px;
		padding: 60px 0 60px 20px;
		margin: 0 auto;
/* 		border: 1px solid #42e576; */
	}
	#t_access .f_box {
		display: flex;
		justify-content: flex-start;
	}
	#t_access .box {
		position: relative;
		width: 45%;
		height: auto;
		margin-left: 60px;
/* 		border: 1px solid #f00; */
	}
	#t_access .box:last-child {
		width: 404px;
		height: 404px;
/* 		border: 1px solid #42e576; */
		margin-left: 100px;
		overflow: visible;
		z-index: 2;
	}
	#t_access h2 {
		width: 395px;
		height: auto;
		margin: 40px 0 28px 0;
	}
	#t_access address {
		width: 396px;
		line-height: 1.6;
		font-size: 2rem;
		font-weight: 600;
		font-style: normal;
		margin: 28px 0;
	}
	#t_access .btn {
		width: 400px;
		height: auto;
		margin: 28px 0;
	}
	#t_access .page-top {
		position: absolute;
		top: 60px;
		right: 0;
		width: 17px;
	}

.gmap {
	height: 0;
	overflow: hidden;
/*	padding-bottom: 56.25%;	/* 16:9 */
	padding-bottom: 100%;	/* 1:1 */
	position: relative;
}
.gmap iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}

}



.notes {
	text-align: left;
}
.notes p {
	font-size: 1.4rem!important;
}
ul.kome {
	margin-left: 2rem;
}
ul.kome li {
	list-style: none;
	text-indent: -1.5rem;
	line-height: 1.6;
}
ul.kome li:before {
	content: "※";
	padding-right: .3rem;
}

#paper-towel .red {
	color: #A7071B;
}

#ptvb {
	position: relative;
	width: 100%;
	height: auto;
	background-image: url(../img/common/bg_towel_pattern_400.jpg);
	background-size: 400px auto;
	background-position: left top;
	background-repeat: repeat;
	background-attachment: fixed;
	margin: 0 auto;
}
#ptvb .veil {
	position: relative;
	width: 100%;
	background-color: rgba(243, 250, 255, 0.4);
}
#ptvb .inner {
	width: 90%;
	height: auto;
	text-align: center;
	padding: 5rem 1rem;
	margin: 0 auto;
}
#ptvb .inner img {
	width: 66%;
	height: auto;
	margin: 0 auto;
}
#ptvb .inner h3 {
	color: #272182;
	margin-top: 2rem;
}
#ptvb .inner p {
}

@media ( min-width : 960px ) { /* +960px */
	#ptvb .inner {
		width: 620px;
	}
	#ptvb .inner img {
		width: 620px;
		height: auto;
		margin: 0 auto;
	}
	#ptvb .inner h3 {
		color: #272182;
		margin-top: 2rem;
	}
}




/*	footer
----------------------------- */
footer {
	position: relative;
	width: 100%;
	height: auto;
	background-color: #044381;
	margin: 0;
	z-index: 1;
}
footer .inner {
	position: relative;
	width: 100%;
	padding: 300px 0 0;
	margin: 0 auto;
}
ul.foot-nav {
	width: 80%;
	height: auto;
	margin: 2rem auto;
}
ul.foot-nav li {
	display: block;
	text-align: center;
	padding: 1.2rem 0;
	list-style: none;
	color: #fff;
	font-weight: 500;
}
footer .foot_logo {
	width: 40%;
	height: auto;
	margin: 30px auto;
}


footer hr {
	width: 90%;
	border-top: 1px solid #fff;
	margin: 2rem auto 0;
}
ul.foot-nav.sub {
	display: flex;
	flex-direction: row; 
	margin: 1rem auto 0;
}
ul.foot-nav.sub li {
	width: 50%;
	text-align: center;
}

@media ( min-width : 960px ) { /* +960px */
	footer {
		position: relative;
		width: 100%;
		height: auto;
		background-color: #044381;
		margin: 0;
		z-index: 1;
	}
	footer .inner {
		position: relative;
		width: 1170px;
		max-width: 1600px;	/* コンテンツ 最大幅 */
		min-width: 1160px;
		padding: 120px 0 60px 30px;
		margin: 0 auto;
/* 		border: 1px solid #42e576; */
	}
	footer .f_box {
		display: flex;
		justify-content: flex-start;
	}
	footer .foot_logo {
		width: 255px;
		height: auto;
		margin: 0;
	}
	footer .box {
		position: relative;
		width: 45%;
/* 		height: 180px; */
/* 		border: 1px solid #f00; */
		margin-left: 60px;
	}
	footer hr {
		width: 90%;
		border-top: 1px solid #fff;
		margin: 2rem auto 0;
	}
		ul.foot-nav {
		display: flex;
		flex-wrap: wrap;
		width: 420px;
		height: 4rem;
		margin: 7rem auto;
	}
	
	ul.foot-nav li {
		width: 33%;
		height: 2rem;
		padding: 1.2rem 0;
		list-style: none;
		color: #fff;
		font-weight: 500;
	}
	
	ul.foot-nav.sub {
		margin: 1rem auto 0 0;
	}
	
}


.copyright {
	position: relative; 
	width: 100%;
	height: 60px;
	color: #fff;
	text-align: center;
	background-color: #044381;
	margin-bottom: 60px;
}
.copyright .inner {
	position: relative; 
	width: 80%;
	height: 60px;
	padding: 0;
	margin: 0 auto;
}
.copyright p {
	position:absolute;
	width:100%;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: .1rem;
	/* 	text-transform: uppercase; */
	vertical-align: middle;
}



/*** Global navi Scroll ***/
#global {
	transition: .3s;
}
.is-fixed {	/* jQuery */
	position: fixed;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
}
.is-hide {	/* jQuery */
	transform: translateY(-100%);
}




/* Menu
----------------------------- */
/*menu*/
.menu {
	height: 20px;
	position: absolute;
	right: 20px;
	top: 24px;
	width: 28px;
	z-index: 99;
}
.menu__line {
	background: #343434;
	display: block;
	height: 3px;
	position: absolute;
	transition:transform .3s;
	width: 100%;
}
.menu__line--center {
	top: 9px;
/* 	width: 22px; */
}
.menu__line--bottom {
	bottom: 0;
}
.menu__line--top.active {
	top: 8px;
	transform: rotate(45deg);
	background: #343434;
}
.menu__line--center.active {
	transform:scaleX(0);
	background: #343434;
}
.menu__line--bottom.active {
	bottom: 10px;
	transform: rotate(135deg);
	background: #343434;
}

/* SP gnav */
.gnav {
	width: 100%;
	height: 100%;
	background: #fff;
	display: none;
	position: fixed;
	overflow: scroll;
	opacity: 1;
	z-index: 9999;
	padding-top: 30px;
/* 	margin-top: 10px; */
}
.gnav__wrap {
	width: 100%;
	height: 100%;
	text-align: left;
	
	display: flex;
	align-items: flex-start;
/* 	justify-content: center; */
	flex-direction: column;
	position: absolute;
		z-index: 9999!important;
}
ul.gnav__menu {
	width: 100%;
	margin: 0 auto;
}
ul.gnav__menu li {
	padding: 2rem 10%;
	border-bottom: 1px solid #E2E8E6;
}
ul.gnav__menu li i {
	color: #5F9EDE;
	margin-left: 2rem
}
.gnav__menu__item a {
	display: block;
	width: 100%;
	color: #000;
	font-size: 1.6rem;
	font-weight: 500;
	padding: 0;
	text-decoration: none;
	transition: .5s;
}
.gnav__menu__item a:hover{
	color: #666;
}
ul.gnav__menu-2 {
	width: 80%;
	margin: 40px auto 0;
}
ul.gnav__menu-2 li {
	padding: 1rem 0;
}
ul.gnav__menu-2 li a {
	display: block;
	color: #000;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 2;
	text-decoration: none;
	transition: .5s;
}

.gnav .tel {
	width: 100%;
	padding: 0;
	margin: 0 auto;
}
.gnav .tel .inner {
	width: 90%;
	margin: 0 auto;
}
.gnav .tel .btn_contact {
	width: 66%;
	height: auto;
	margin: 3rem auto;
}


/* Web Form
-------------------------- */
.contact_box {
	width: 90%;
	margin: 5rem auto;
}
.form_box {
	width: 100%;
	margin: 5rem auto;
}
.error {
	color: #ff0000;
}
form {
	font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-size: 1.6rem;
}
/* テキスト */
.m-form-text, .m-form-text-2, .m-form-text-3 {
	width: 80%;
	height: 2.4em;
	font-size: 1.6rem;
	padding: 0 16px;
	border-radius: 4px;
	border: none;
	box-shadow: 0 0 0 1px #ccc inset;
	margin: 0 1rem;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}
.m-form-text-2 {
	width: calc(30% - 3rem);
}
.m-form-text-3 {
	width: calc(25% - 3rem);
	margin: 0 .4rem;
}
.m-form-text:focus {
	outline: 0;
	box-shadow: 0 0 0 2px rgb(33, 150, 243) inset;
}

/* テキストエリア */
.m-form-item-textarea textarea {
	height: 300px;
}

.m-form-textarea {
	font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	display: block;
	width: 80%;
	height: 16rem;
	font-size: 1.6rem;
	padding: 4px 16px;
	border-radius: 4px;
	border: none;
	box-shadow: 0 0 0 1px #ccc inset;
	margin: 0 1rem;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	resize: vertical;
}

.m-form-textarea:focus {
	outline: 0;
	box-shadow: 0 0 0 2px rgb(33, 150, 243) inset;
}

@media ( min-width : 960px ) { /* +960px */
	.contact_box {
		width: 80%;
	}
	.m-form-text, .m-form-text-2, .m-form-text-3 {
		width: calc(100% - 4rem);
		margin: 0 1rem;
	}
	.m-form-textarea {
		width: calc(100% - 4rem);
		height: 10rem;
		margin: 0 1rem;
	}
	.m-form-text-2 {
		width: calc(30% - 3rem);
	}
	.m-form-text-3 {
		width: calc(25% - 3rem);
	}
}

/* セレクトボックス */
.m-form-select {
	position: relative;
}

.m-form-select:before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 12px;
	width: 8px;
	height: 8px;
	border-top: 2px solid #333;
	border-right: 2px solid #333;
	transform: rotate(135deg);
	pointer-events: none;
}

.m-form-select {
	width: 15rem;
	height: 3rem;
	font-size: 1.6rem;
	padding: 0 8px;
	border-radius: 4px;
	border: none;
	box-shadow: 0 0 0 1px #ccc inset;
	margin: 0 1rem;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	cursor: pointer;
}

.m-form-select::-ms-expand {
	display: none;
}

.m-form-select:focus {
	outline: 0;
	box-shadow: 0 0 0 2px rgb(33, 150, 243) inset;
}

/* 送信ボタン */
#input_btn {
	width: 200px;
	height: auto;
	margin: 2rem auto;
}

.m-form-submit-button {
	display: inline-block;
	width: 100%;
	border: none;
	border-radius: 10px;
	background-color: #5F9FDF;
	color: #fff;
	font-weight: bold;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	cursor: pointer;
	border: 2px solid transparent;
	transition: .4s;
}

.m-form-submit-button:hover {
	opacity: .8;
	transition: .4s;
}

.m-form-submit-button:focus {
	outline: 0;
	background-color: #000;
	border: 2px solid rgb(33, 150, 243);
}

.btn_confirm {
	display: flex;
	justify-content: center;
	list-style: none;
	width: 80%;
	margin: 5rem auto;
}
.btn_confirm input {
	width: calc(180px - 2rem);
	height: auto;
	margin-right: 2rem;
}
.btn_confirm input:last-child {
	margin-right: 0;
}

@media ( min-width : 960px ) { /* +960px */
	.btn_confirm {
		justify-content: center;
	}
}