@charset "UTF-8";

/* -----------------------------------------------------------
	page_ttlbox
----------------------------------------------------------- */
.page_ttlbox {
	background-image: url("../img/bg_page_ttl.jpg");
}

@media screen and (min-width: 768px) and (max-width: 1200px) {

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

}


/* -----------------------------------------------------------
	common
----------------------------------------------------------- */
.fir_text {
	font-size: 18px;
	text-align: center;
	letter-spacing: 0.1em;
	line-height: 2;
}

@media screen and (min-width: 768px) and (max-width: 1200px) {
.fir_text {
	font-size: 16px;
}
}
@media screen and (max-width: 767px) {
.fir_text {
	font-size: 15px;
	line-height: 1.8;
}
.prenotch_wrap .fir_text {
	letter-spacing: 0;
}
}

/* -----------------------------------------------------------
	index
----------------------------------------------------------- */
.strength_catch {
	font-size: 29px;
    text-align: center;
    color: #032138;
    letter-spacing: 0.1em;
    margin-bottom: 70px;
}
.index_box {
	margin-bottom: 70px;
	border: 1px solid #032139;
	background: #032139;
	color: #fff;
}
.index_box_safety {
	margin-bottom: 100px;
}
.index_box_t1 .pic,
.index_box_t2 .text {
	float: left;
}
.index_box_envi {
	background: url("../img/index_bg_01.jpg") no-repeat;
	background-size: contain;
	background-position: left center;
}
.index_box_envi .bg {
	    background: linear-gradient(114deg, rgba(0, 83, 141, 0) 40%, #00538d 40%);
}
.index_box_devel {
	background: url("../img/index_bg_02.jpg") no-repeat;
	background-size: contain;
	background-position: right center;
}
.index_box_devel .bg {
	    background: linear-gradient(114deg, #00538d 60%, rgba(0, 83, 141, 0) 60%);
}
.index_box_safety {
	background: url("../img/index_bg_03.jpg") no-repeat;
	background-size: contain;
	background-position: left center;
}
.index_box_safety .bg {
	    background: linear-gradient(114deg, rgba(0, 83, 141, 0) 40%, #00538d 40%);
}
.index_box_t1 .text,
.index_box_t2 .pic {
	float: right;
}
.index_box .pic {
	max-width: 640px;
	width: 54%;
}
.index_box .text {
	width: 57%;
	padding: 50px;
}
.index_box .text h2 {
	font-size: 26px;
	color: #fff;
	font-weight: normal;
	letter-spacing: 0.1em;
	margin-bottom: 10px;
	border-bottom: 1px solid #fff;
}
.index_box .text h2 span {
	font-size: 80%
}
.index_box .text .btn_link {
	max-width: 300px;
	margin: 50px 0 0;
}
.index_box .text .btn_link a {
	background: #fff;
	color: #00538d;
	font-size: 14px;
    font-family: Arial, Helvetica, sans-serif;
    text-align: left;
    padding: 8px 20px;
    letter-spacing: 0.1em;
    position: relative;
}
.index_box .text .btn_link a::after {
	display: block;
    content: '';
    position: absolute;
    top: 50%;
    right: 16px;
    left: auto;
    width: 8px;
    height: 8px;
    margin-top: -4px;
    border-top: 1px solid #00538d;
    border-right: 1px solid #00538d;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}



@media screen and (min-width: 768px) and (max-width: 1200px) {
.strength_catch {
	font-size: 26px;
    letter-spacing: 0.1em;
}
.index_box {
	margin-bottom: 40px;
}
.index_box_last {
	margin-bottom: 100px;
}
.index_box .text h2 {
	font-size: 22px;
}
.index_box .text {
	padding: 30px;
}
.index_box .text .btn_link {
	margin-top: 30px;
}
}
@media screen and (min-width: 768px) and (max-width: 940px) {
.index_box_envi {
	background-position: -70px center;
}
}

@media screen and (max-width: 767px) {
.strength_catch {
	font-size: 19px;
    letter-spacing: 0.1em;
    margin-bottom: 30px;
}
.index_box {
	margin-bottom: 50px;
}
.index_box_last {
	margin-bottom: 80px;
}
.index_box_t1 .pic,
.index_box_t2 .text,
.index_box_t1 .text,
.index_box_t2 .pic {
	float: none;
	width: 100%;
	padding: 50px 20px;
}
.index_box_t1 .pic,
.index_box_t2 .pic {
	margin-bottom: 10px;
}
.index_box .text h2 {
	font-size: 19px;
	text-align: center;
}
.index_box .text .btn_link {
	max-width: 300px;
	margin: 20px auto 0;
}
.index_box .text .btn_link a {
	text-align: center;
}
.index_box_envi {
	background-position: center;
	background-size: cover;
}
.index_box_devel {
	background-position: center;
	background-size: cover;
}
.index_box_safety {
	background-position: center;
	background-size: cover;
}
.index_box_envi .bg,
.index_box_devel .bg,
.index_box_safety .bg {
	    background:rgba(0, 31, 53, 0.8);
}

}


/* -----------------------------------------------------------
	integrated_wrap
----------------------------------------------------------- */
.integrated_wrap {
	
}
.integrated_wrap .sec_01 {
	padding: 60px 0;
	margin-bottom: 100px;
	background: linear-gradient(to bottom, #fff, #eaf3fa);
}
.integrated_wrap .sec_01 .integrated_01 {
	max-width: 480px;
	margin: 0 auto 0;
}
.integrated_wrap .sec_02 {
	margin-bottom: 100px;
}
.integrated_wrap .sec_03 {
	padding: 110px 0 0;
	background: linear-gradient(to bottom, #eaf3fa, #fff);
}
.integrated_wrap .grid_1 .grid_1_l {
	width: 26%;
	max-width: 300px;
	float: left;
}
.integrated_wrap .grid_1 .grid_1_r {
	width: 70%;
	max-width: 820px;
	float: right;
}
.integrated_wrap .grid_1 .grid_1_r .fig_box {
	width: 96%;
	margin: 0 auto;
}
.integrated_wrap .grid_1 h2 {
	font-size: 23px;
	color: #00538d;
	letter-spacing: 0.1em;
}
.integrated_wrap .grid_1 .text {
	line-height: 2;
	letter-spacing: 0.03em;
	margin-bottom: 50px;
	text-align: justify;
	text-justify: inter-ideograph;
}
.integrated_wrap .grid_1 .btn_link_com {
	margin-top: 70px;
}


@media screen and (min-width: 768px) and (max-width: 1200px) {


.integrated_wrap .grid_1 h2 {
	font-size: 21px;
}
}
@media screen and (max-width: 767px) {
.integrated_wrap .sec_01 {
	padding: 40px 0 60px;
	margin-bottom: 60px;
}
.integrated_wrap .sec_02 {
	margin-bottom: 60px;
}
.integrated_wrap .sec_03 {
	padding: 60px 0 0;
}
.integrated_wrap .grid_1 .grid_1_l {
	width: 100%;
	max-width: 100%;
	float: none;
	margin-bottom: 10px;
}
.integrated_wrap .grid_1 .grid_1_r {
	width: 100%;
	max-width: 100%;
	float: none;
}
.integrated_wrap .grid_1 .grid_1_r .fig_box {
	width: 100%;
}
.integrated_wrap .grid_1 h2 {
	font-size: 21px;
}
.integrated_wrap .grid_1 .text {
	line-height: 1.8;
	margin-bottom: 30px;
}
.integrated_wrap .grid_1 .btn_link_com {
	margin-top: 40px;
}
}

/* -----------------------------------------------------------
	prenotch_wrap
----------------------------------------------------------- */
.prenotch_wrap {
	
}
.prenotch_wrap .sec_01 {
	padding: 85px 0 0;
	position: relative;
}
.prenotch_wrap .sec_01::after {
	display: block;
    content: '';
    width: 100%;
    height: 100px;
    position: absolute;
    bottom: 0;
    left: 0;
    background: #eaf3fa;
    z-index: -1;
}
.prenotch_wrap .sec_01 .mv_box {
	max-width: 720px;
	margin: 0 auto;
}
.prenotch_wrap .sec_02 {
	padding: 100px 0 0;
	background: linear-gradient(to bottom, #eaf3fa, #fff);
}


.prenotch_wrap .sec_02 h2 {
	font-size: 23px;
	color: #00538d;
	letter-spacing: 0.1em;
	text-align: center;
	margin-bottom: 18px;
}
.prenotch_wrap .sec_02 .list li {
	width: 32%;
	float: left;
	margin-left: 2%;
	background: #00538d;
	padding: 25px;
}
.prenotch_wrap .sec_02 .list li:nth-child(1) {
	margin-left: 0;
}
.prenotch_wrap .sec_02 .list li h3 {
	color: #fff;
	text-align: center;
	font-size: 18px;
	line-height: 1.8;
	letter-spacing: 0.1em;
	margin-bottom: 20px;
}
.prenotch_wrap .sec_02 .list li .bg {
	width: 100%;
	height: 180px;
	background-size: cover;
    background-position: center;
	background-repeat: no-repeat;
}
.prenotch_wrap .sec_02 .list li:nth-child(1) .bg {
	background-image: url(../img/prenotch_02.jpg);
}
.prenotch_wrap .sec_02 .list li:nth-child(2) .bg {
	background-image: url(../img/prenotch_03.jpg);
}
.prenotch_wrap .sec_02 .list li:nth-child(3) .bg {
	background-image: url(../img/prenotch_04.jpg);
}


.prenotch_wrap .sec_03 {
	padding: 110px 0 0;
	margin-bottom: 100px;
}
.prenotch_wrap .sec_03 h2 {
	font-size: 23px;
	color: #00538d;
	letter-spacing: 0.1em;
	text-align: center;
	margin-bottom: 10px;
}
.prenotch_wrap .sec_03 .scrollbox {
	padding: 0 0 0;
}
.prenotch_wrap .sec_04 {
	padding: 100px 0;
	background: #eaf3fa;
}
.prenotch_wrap .sec_04 .grid_2 .pic_box {
	width: 64%;
	max-width: 760px;
}
.prenotch_wrap .sec_04 .grid_2 .pic_box picture {
	display: block;
	width: 49.5%;
	margin-left: 1%;
	float: left;
}
.prenotch_wrap .sec_04 .grid_2 .pic_box picture:nth-child(1) {
	margin-left: 0;
}
.prenotch_wrap .sec_04 .grid_2 .text_box {
	width: 35%;
	max-width: 410px;
}
.prenotch_wrap .sec_04 .grid_2 .text_box .subttl {
	margin-bottom: 10px;
}
.prenotch_wrap .sec_04 .grid_2 .text_box .subttl span {
	display: inline-block;
	background: #00538d;
	color: #fff;
	font-size: 17px;
	height: 28px;
	line-height: 28px;
	padding: 0 8px;
}
.prenotch_wrap .sec_04 .grid_2 .text_box h2 {
	font-size: 23px;
	color: #00538d;
	letter-spacing: 0.05em;
	margin-bottom: 15px;
}
.prenotch_wrap .sec_04 .grid_2 .text_box .text {
	letter-spacing: 0.03em;
	line-height: 2;
	text-align: justify;
	text-justify: inter-ideograph;
}
.prenotch_wrap .sec_04 .para_1 {
	margin-bottom: 120px;
}
.prenotch_wrap .sec_04 .para_1.grid_2 .pic_box,
.prenotch_wrap .sec_04 .para_2.grid_2 .text_box {
	float: left;
}
.prenotch_wrap .sec_04 .para_1.grid_2 .text_box,
.prenotch_wrap .sec_04 .para_2.grid_2 .pic_box {
	float: right;
}


.prenotch_wrap .sec_05 {
	padding: 100px 0 0;
}
.prenotch_wrap .sec_05 .para .grid_01 {
	width: 49%;
	max-width: 580px;
	float: left;
}
.prenotch_wrap .sec_05 .para .grid_02 {
	width: 49%;
	max-width: 580px;
	float: right;
}
.prenotch_wrap .sec_05  .para .pic {
	margin-bottom: 15px;
}
.prenotch_wrap .sec_05 .para .text_box {
	letter-spacing: 0.03em;
    line-height: 2;
    text-align: justify;
    text-justify: inter-ideograph;
}

@media screen and (min-width: 768px) and (max-width: 1200px) {

.prenotch_wrap .sec_02 h2 {
	font-size: 21px;
}
.prenotch_wrap .sec_02 .list li {
	padding: 20px 10px;
}
.prenotch_wrap .sec_02 .list li h3 {
	font-size: 16px;
	line-height: 1.5;
}
.prenotch_wrap .sec_02 .list li .bg {
	height: 160px;
}

.prenotch_wrap .sec_03 h2 {
	font-size: 21px;
}
.prenotch_wrap .sec_03 .scrollbox {
	height: 100%;
	overflow-X: scroll;
	margin: 0 0 60px;
	padding-bottom: 5px;
}
.prenotch_wrap .sec_03 .scrollbox picture {
	display: block;
}
.prenotch_wrap .sec_03 .scrollbox  picture img {
	height: 220px;
	width: auto;
    max-width: inherit;
}


.prenotch_wrap .sec_04 .para_1 {
	margin-bottom: 80px;
}
.prenotch_wrap .sec_04 .grid_2 .text_box h2 {
	font-size: 21px;
}


.prenotch_wrap .sec_05 .para .grid_01 {
	width: 48%;
}
.prenotch_wrap .sec_05 .para .grid_02 {
	width: 48%;
}
.prenotch_wrap .sec_05 .cate_ttl {
	font-size: 21px;
}
}
@media screen and (max-width: 767px) {
.prenotch_wrap .sec_01 {
	padding: 40px 0 0;
}

.prenotch_wrap .sec_02 {
	padding: 60px 0 0;
}
.prenotch_wrap .sec_02 h2 {
	font-size: 18px;
}
.prenotch_wrap .sec_02 .list li {
	width: 100%;
	float: none;
	margin-left: 0;
}
.prenotch_wrap .sec_02 .list li:nth-child(1),
.prenotch_wrap .sec_02 .list li:nth-child(2) {
	margin-bottom: 20px;
}
.prenotch_wrap .sec_02 .list li h3 {
	font-size: 16px;
	line-height: 1.5;
	margin-bottom: 10px;
}
.prenotch_wrap .sec_02 .list li .bg {
	width: 90%;
	margin: 0 auto;
}

.prenotch_wrap .sec_03 {
	padding: 60px 0 0;
	margin-bottom: 60px;
}
.prenotch_wrap .sec_03 h2 {
	font-size: 18px;
}
.prenotch_wrap .sec_03 .scrollbox {
	height: 100%;
	overflow-X: scroll;
	margin: 0 0 60px;
	padding-bottom: 16px;
}
.prenotch_wrap .sec_03 .scrollbox picture {
	display: block;
}
.prenotch_wrap .sec_03 .scrollbox  picture img {
	height: 240px;
	width: auto;
    max-width: inherit;
}

.prenotch_wrap .sec_04 {
	padding: 60px 0;
}
.prenotch_wrap .sec_04 .grid_2 .pic_box {
	width: 100%;
	max-width: 100%;
	float: none;
	margin-bottom: 20px;
}
.prenotch_wrap .sec_04 .grid_2 .text_box {
	width: 100%;
	max-width: 100%;
	float: none;
}
.prenotch_wrap .sec_04 .para_1 {
	margin-bottom: 40px;
}
.prenotch_wrap .sec_04 .grid_2 .text_box .subttl {
	margin-bottom: 6px;
}
.prenotch_wrap .sec_04 .grid_2 .text_box .subttl span {
	font-size: 15px;
}
.prenotch_wrap .sec_04 .grid_2 .text_box h2 {
	font-size: 21px;
	margin-bottom: 10px;
}
.prenotch_wrap .sec_04 .grid_2 .text_box .text {
	/*line-height: 1.8;*/
}

.prenotch_wrap .sec_05 {
	padding: 60px 0 0;
}
.prenotch_wrap .sec_05 .para.para_ty_01 {
	margin-bottom: 30px;
}
.prenotch_wrap .sec_05 .para .grid_01 {
	width: 100%;
	margin-bottom: 40px;
}
.prenotch_wrap .sec_05 .para .grid_02 {
	width: 100%;
}
.prenotch_wrap .sec_05 .para.para_ty_02 .grid_01 {
	margin-bottom: 0;
}
}


/* -----------------------------------------------------------
	imgttl
----------------------------------------------------------- */
.imgttl {
	position: relative;
	overflow: hidden;
}
.imgttl h2 {
	position: absolute;
	top: 0;
	left: 0;
	min-width: 210px;
	height: 38px;
	display: inline-block;
    font-size: 18px;
    color: #fff;
	font-weight: normal;
    letter-spacing: 0.05em;
	line-height: 38px;
    background: #00538d;
    padding: 0 47px 0 40px;
	margin-left: -20px;
    transform: skewX(-40deg);
}
.imgttl h2 span {
	display: inline-block;
    transform: skewX(40deg);
}

@media screen and (min-width: 768px) and (max-width: 1200px) {
.imgttl h2 {
	font-size: 17px;
	height: 30px;
	line-height: 30px;
	padding: 0 20px 0 30px;
	min-width: 170px;
}
}
@media screen and (max-width: 767px) {
.imgttl h2 {
	font-size: 17px;
	height: 30px;
	line-height: 30px;
	padding: 0 20px 0 30px;
	min-width: 170px;
}
}


/* -----------------------------------------------------------
	team_wrap
----------------------------------------------------------- */
.team_wrap {
	
}

.team_wrap .sec_01 {
	padding: 15px 0 30px;
	margin-bottom: 100px;
	background: linear-gradient(to bottom, #fff, #eaf3fa);
}
.team_wrap .sec_01 .team_01 {
	max-width: 772px;
	margin: 0 auto 0;
}
.team_wrap .sec_02 {
	margin-bottom: 100px;
}
.team_wrap .sec_03 {
	padding: 110px 0 110px;
	background: #eaf3fa;
}
.team_wrap .sec_04 {
	padding: 110px 0 0;
}
.team_wrap .grid_1 .grid_1_l {
	width: 26%;
	max-width: 300px;
	float: left;
}
.team_wrap .grid_1 .grid_1_r {
	width: 70%;
	max-width: 820px;
	float: right;
}
.team_wrap .grid_1 h2 {
	font-size: 23px;
	color: #00538d;
	letter-spacing: 0.1em;
}
.team_wrap .grid_1 .text {
	line-height: 2;
	letter-spacing: 0.03em;
	margin-bottom: 50px;
	text-align: justify;
	text-justify: inter-ideograph;
}
.team_wrap .grid_1 .btn_link_com {
	margin-top: 70px;
}

.team_wrap .sec_02 .text {
	margin-bottom: 40px;
}
.team_wrap .sec_03 .text {
	margin-bottom: 25px;
}
.team_wrap .sec_03 .fig_box {
	max-width: 715px;
	margin: 0 auto;
}
.team_wrap .sec_04 .text {
	margin-bottom: 40px;
}

@media screen and (min-width: 768px) and (max-width: 1200px) {
.team_wrap .sec_01 .team_01 {
	width: 80%;
}
.team_wrap .grid_1 h2 {
	font-size: 21px;
}
}
@media screen and (max-width: 767px) {
.team_wrap .sec_01 {
	padding: 40px 0 60px;
	margin-bottom: 60px;
}
.team_wrap .sec_02 {
	margin-bottom: 60px;
}
.team_wrap .sec_03 {
	padding: 60px 0;
}
.team_wrap .sec_04 {
	padding: 60px 0 0;
}
.team_wrap .grid_1 .grid_1_l {
	width: 100%;
	max-width: 100%;
	float: none;
	margin-bottom: 10px;
}
.team_wrap .grid_1 .grid_1_r {
	width: 100%;
	max-width: 100%;
	float: none;
}
.team_wrap .grid_1 .grid_1_r .fig_box {
	width: 100%;
}
.team_wrap .grid_1 h2 {
	font-size: 21px;
}
.team_wrap .grid_1 .text {
	line-height: 1.8;
	margin-bottom: 30px;
}
.team_wrap .grid_1 .btn_link_com {
	margin-top: 40px;
}

.team_wrap .sec_02 .text {
	margin-bottom: 20px;
}
.team_wrap .sec_04 .text {
	margin-bottom: 20px;
}
}






