@charset"utf-8";

/*base--------------------------------*/

*{
	font-family: 'Noto Sans JP', sans-serif, 'Meiryo', 'メイリオ', 'ヒラギノ 角ゴPro W3', 'Hiragino Kaku Gothic Pro', 'MS PGothic', 'ＭＳ Ｐゴシック';
	font-size: 100%;
	}
.container figcaption {
	font-size: 0.75em;
}

html, body {
	height: 100%;
	overflow: visible;
}

body{
	width: 100%;
	margin: 0;
	padding: 0;
	overflow-x: hidden;
	overflow-y: scroll;
}

/* よく登場する要素のリセット */

h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, caption, th, td, img, form, div {
	margin: 0;
	padding: 0;
	border: none;
	font-style: normal;
	font-weight: normal;
	font-size: 100%;
	text-align: left;
	list-style-type: none;
	font-family: 'Noto Sans JP', 'Meiryo', 'メイリオ', 'ヒラギノ 角ゴPro W3', 'Hiragino Kaku Gothic Pro', 'MS PGothic', 'ＭＳ Ｐゴシック';
	color: #333;
}

/* テキストエリア内文字サイズのブラウザ間での差異をなくす */
textarea { font-size: 100%; }

/* 画像の下にできる隙間をなくす */
img {
	vertical-align: bottom;
}

.cf:after {
	content: ".";	/* 新しい要素を作る */
	display: block;	/* ブロックレベル要素に */
	clear: both;
	height: 0;
	visibility: hidden;
}

.cf {
	min-height: 1px;
}

* html .cf {
	height: 1px;
	/*\*//*/
	height: auto;
	overflow: hidden;
	/**/
}

ruby rt {
	font-size: 50%;
}
@-moz-document url-prefix() {
	ruby rt {
		font-size: 50%;
	}
}



/*common--------------------------------*/

#wrap {
	overflow: hidden;
}

.top#wrap {
	opacity: 0;
}

.lower#wrap {
	opacity: 1;
}

.serif {
	font-family: 'Noto Serif JP', serif;
}

.plain_txt {
	font-size: 16px;
	line-height: 2em;
	padding-bottom: 1.5em;
}

a:link,
a:visited,
a:active {
	color: #333;
	text-decoration: none;
}

a:focus {
	outline:none;
	text-decoration: none;
}

a.underline {
	text-decoration: underline;
}

.hover {
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}

.hover:hover {
	opacity:0.6;
	filter: alpha(opacity=60);
	-ms-filter: "alpha(opacity=60)";
	-moz-opacity:0.6;
	-khtml-opacity: 0.6;
	zoom:1;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}

.sp {
	display: none;
}

.red {
	color: #cc0000;
}

.fit {
	width: 100%;
}

.zoom {
	transition-duration: 0.3s;
}

.zoom:hover {
	transform: scale(1.1);
	transition-duration: 0.3s;
}

section {
	padding: 80px 0;
	position: relative;
	z-index: 2;
}

.container {
    width: 90vw;
	max-width: 1000px;
	margin: 0 auto;
}

.btn_container {
	padding: 40px 0;
}

.btn_container a {
	display: block;
	width: 400px;
	height: 50px;
	margin: 0 auto;
	border: 1px solid #333;
	font-family: 'Oswald', sans-serif;
	font-size: 18px;
	font-weight: 500;
	text-align: center;
	line-height: 50px;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}

.btn_container a:hover {
	background-color: #0066b2;
	border: 1px solid #0066b2;
	color: #fff;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}

.btn_container a:hover i {
	margin-right: -.2em;
	padding-left: .2em;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}

.sec_tit {
	font-family: 'Oswald', sans-serif;
	font-size: 36px;
	color: #0066b2;
	text-align: center;
	padding-bottom: 40px;
}

.sub_tit {
	font-size: 26px;
	font-weight: 700;
    color: #333;
	padding-bottom: 10px;
	margin-bottom: 30px;
	border-bottom: 2px solid #0066b2;
}

.sub_tit span {
	font-family: 'Oswald', sans-serif;
	font-weight: 500;
	font-size: 22px;
	color: rgba(0,102,178,.4);
	opacity: .4;
	padding-left: 20px;
}

.anchor {
	margin-top: -80px;
	padding-top: 80px;
}

.fade_up{
    animation-name:fadeUpAnime;
    animation-duration:1.5s;
    animation-fill-mode:forwards;
    opacity:0;
}
@keyframes fadeUpAnime{
    0% {
      opacity: 0;
      transform: translateY(40px);
    }
    50% {
      opacity: 0;
      transform: translateY(40px);
    }
    100% {
      opacity: 1;
      transform: translateY(0);
    }
}



/*----------------------------------------*/

/*preparation_container*/

/*----------------------------------------*/

.preparation_container {
	padding: 80px 0;
}

.preparation_txt {
	font-size: 18px;
	font-weight: 500;
	letter-spacing: .05em;
	line-height: 1.64em;
	text-align: center;
}

/*----------------------------------------*/

/*loading*/

/*----------------------------------------*/

.loading {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	text-align: center;
}

.load-spinner {
	display: inline-block;
	width: 50px;
	height: 50px;
	border: 2px solid rgba(0,102,178,0.4);
	border-top-color: rgba(0,102,178,0.9);
	border-radius: 50%;
	position: fixed;
	top: 50%;
	left: 50%;
	margin: -25px 0 0 -25px;
	animation: spin 1.2s linear 0s infinite;}
	@keyframes spin { 0% {transform: rotate(0deg);}100% {transform: rotate(360deg);}
}

.loading_tab {
	position: relative;
	width: 100%;
	text-align: center;
	display: none;
}

.loading_tab .load-spinner {
	position: static;
	margin: 100px auto 800px;
}

.loading_sort {
	width: 100%;
	text-align: center;
	position: absolute;
    top: 0;
    left: 0;
	display: none;
}

.loading_sort .load-spinner {
	position: static;
	margin: 100px auto;
}

.lower + .loading {
	display: none;
}



/*--------------------------------------*/

/*header*/

/*--------------------------------------*/

header {
	width: 100%;
	height: 80px;
	padding: 20px;
	box-sizing: border-box;
	background-color: #fff;
	display: flex;
	position: relative;
	z-index: 999;
	box-shadow: 0 2px 2px 3px rgba(0,0,0,.1);
    transition: .5s ease-out;
}

header.fixed {
    position: fixed;
    animation-name: pulldown;
    animation-duration: .5s;
    transition: .5s ease-out;
}
@keyframes pulldown {
  0% {
    top: -100px;
  }
  100% {
    top: 0;
  }
}

header .logo_container {
	width: 210px;
}

header .logo_container img {
	width: 100%;
}
	

/*menu-trigger--------------------------------*/

.menu-trigger {
	display: none;
}

header .menu-target {
	width: calc(100% - 210px);
}

header .nav_container {
	text-align: right;
}

header .nav_container .nav_item {
	display: inline-block;
	height: 38px;
	padding: 0 1.5em;
}

header .nav_container .nav_item a {
	font-size: 16px;
	font-weight: 500;
	line-height: 38px;
}

header .sub_nav {
	position: absolute;
	top: 80px;
	left: 0;
	width: 100%;
	padding: 20px 10px 15px;
	box-sizing: border-box;
	background-color: rgba(255,255,255,.8);
	box-shadow: 0 2px 2px 3px rgba(0,0,0,.1);
	text-align: center;
	display: none;
}

header .sub_nav .sub_nav_item {
	display: inline-block;
	width: 260px;
	padding: 0 20px;
	box-sizing: border-box;
	text-align: center;
}

header .sub_nav .sub_nav_item .img_container {
	width: 220px;
	height: 146px;
	overflow: hidden;
}

header .sub_nav .sub_nav_item .txt_container {
	text-align: center;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5em;
}


/*--------------------------------------*/

/*footer*/

/*--------------------------------------*/

footer {
	position: relative;
	z-index: 2;
	background-color: #fff;
}

footer .pagetop_container {
	background-color: #0066b2;
}

footer .pagetop_container a {
	display: block;
	width: 100%;
	height: 100%;
	text-align: center;
	font-size: 14px;
	color: #fff;
	line-height: 40px;
}

.footer_container {
    width: 90vw;
	max-width: 1000px;
	margin: 50px auto 40px;
	display: flex;
}

.footer_container .logo_container {
	width: 310px;
}

.footer_container .logo_container img {
	width: 210px;
}

.footer_container .office_add {
	font-size: 14px;
	padding-left: 5.4em;
	text-indent: -5.4em;
}

.footer_container .inquiry_list_container {
	width: 690px;
	display: flex;
	padding-top: 18px;
}

.footer_container .inquiry_list_container .btn_inquiry {
	display: block;
	width: 300px;
	height: 40px;
	border: 1px solid #333;
	font-size: 16px;
	text-align: center;
	line-height: 40px;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}

.footer_container .inquiry_list_container .btn_inquiry:hover {
	background-color: #0066b2;
	border: 1px solid #0066b2;
	color: #fff;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}

.footer_container .inquiry_list_item:last-child {
	padding-left: 20px;
	display: flex;
}

.footer_container .tel {
	font-size: 24px;
	color: #333;
	font-weight: 900;
	line-height: 40px;
}

.footer_container .rec_time {
	font-size: 13px;
	line-height: 40px;
	padding-left: 1em;
}

footer nav {
    width: 90vw;
	max-width: 1000px;
	margin: 0 auto;
	padding-bottom: 50px;
}

footer nav .nav_container {
	display: flex;
	flex-wrap: wrap;
}

footer nav .nav_container .nav_item {
	box-sizing: border-box;
	padding: 0 2em 1em .8em;
	white-space: nowrap;
	position: relative;
}

footer nav .nav_container .nav_item:first-child ,
footer nav .nav_container .nav_item:nth-child(2) {
	width: 100%;
	display: flex;
	padding-left: 0;
}

footer nav .nav_container .nav_item span {
	font-weight: bold;
	padding-right: 2.8em;
}

footer nav .nav_container .nav_item:before,
footer nav .nav_container .sub_nav_item:before {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-left: 6px solid #0066b2;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	position: absolute;
	top: 8px;
	left: 0;
}

footer nav .nav_container .nav_item:first-child:before,
footer nav .nav_container .nav_item:nth-child(2):before {
	display: none;
}

footer nav .nav_container .sub_nav {
	display: flex;
}

footer nav .nav_container .sub_nav_item {
	box-sizing: border-box;
	position: relative;
	padding: 0 2em 0 .8em;
}

.footer_bnr_container {
	background-color: #f3f4f5;
	padding: 25px 0;
}

.footer_bnr_list_container {
    width: 90vw;
	max-width: 1000px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
}

.footer_bnr_list_item {
	width: calc(100% / 3);
	text-align: center;
}

.footer_bnr_list_item a {
	display: block;
	width: 320px;
}

address {
	width: 100%;
	height: 40px;
	background-color: #333;
	font-size: 12px;
	color: #fff;
	text-align: center;
	line-height: 40px;
}


/*--------------------------------------*/

/*top*/

/*--------------------------------------*/

/*mv_container--------------------------------*/

.top .mv_container {
	background: #fff url('../img/top/mv_obj.jpg') center center no-repeat;
	background-size: cover;
	height: calc(100vh - 80px);
	box-sizing: border-box;
	overflow: hidden;
	position: relative;
	z-index: 1;
}

.top header.fixed + .mv_container {
	height: 100vh;
}
/*
.top .mv_container .slick_item > div {
	width: 100%;
	height: calc(100vh - 80px);
	position: relative;
}

.top header.fixed + .mv_container,
.top header.fixed + .mv_container .slick_item > div {
    height: 100vh;
}

.top .mv_container .mv_bg01 {
	background: url('../img/top/mv01.jpg') center center no-repeat;
	background-size: cover;
}

.top .mv_container .mv_bg02 {
	background: url('../img/top/mv02.jpg') center center no-repeat;
	background-size: cover;
}

.top .mv_container .mv_bg03 {
	background: url('../img/top/mv03.jpg') center center no-repeat;
	background-size: cover;
}

.top .mv_container .slick_item > div:after {
	content: '';
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,.3);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}*/

.top .mv_container .catch {
	position: absolute;
	top: 55%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	z-index: 999;
}

.top .mv_container .catch b {
	font-family: 'Noto Serif JP', serif;
	font-size: 52px;
	font-weight: 900;
	color: #fff;
	line-height: 1.64em;
	letter-spacing: .1em;
	text-align: center;
	text-shadow: 2px 2px 3px rgba(0,0,0,.9);
	white-space: nowrap;
	padding-bottom: 1.39vw;
}

.top .mv_container .catch b.pc {
	display: block;
	text-align: center;
}

.top .mv_container .catch em {
	font-family: 'Noto Serif JP', serif;
	font-style: normal;
	font-size: 20px;
	font-weight: 700;
	color: #fff;
	line-height: 1.85em;
	letter-spacing: .1em;
	text-shadow: 2px 2px 1px rgba(0,0,0,1);
}

.top .mv_container .lasteset_news_container {
	position: absolute;
	bottom: 10%;
	left: 50%;
	width: 90vw;
	max-width: 1000px;
	min-height: 50px;
	padding: 10px 20px;
	box-sizing: border-box;
	background-color: rgba(255,255,255,.8);
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
}

.top .mv_container .lasteset_news_container dl {
	width: 96%;
	display: flex;
}

.top .mv_container .lasteset_news_container dt {
	font-family: 'Oswald', sans-serif;
	font-size: 30px;
	font-weight: 500;
	color: #0066b2;
	line-height: 1em;
	width: 18%;
}

.top .mv_container .lasteset_news_container dd {
	width: 82%;
	box-sizing: border-box;
}

.top .mv_container .lasteset_news_container dd a {
	display: flex;
	font-size: 16px;
	line-height: 30px;
}

.top .mv_container .lasteset_news_container dd a.disabled {
    pointer-events: none;
}

.top .mv_container .lasteset_news_container dd span {
	padding-right: 70px;
}

.top .mv_container .lasteset_news_container dd strong {
	font-weight: 400;
}


/*bnr_wrap--------------------------------*/

.top .bnr_wrap {
	padding-bottom: 0;
}

.top .bnr_wrap .bnr_container {
	width: 90vw;
	max-width: 1200px;
	height: 300px;
	margin: 0 auto;
}

.top .bnr_wrap .bnr_container a {
	width: 100%;
	height: 100%;
	background: url('../img/construction/flowchart/bnr_obj.jpg') center center no-repeat;
	background-size: cover;
	display: flex;
	position: relative;
}

.top .bnr_wrap .bnr_container a::before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(20deg, rgba(124,139,44,.4) 0%, rgba(77,92,25,.4) 60%, rgba(54,69,16,.4) 80%, rgba(0,0,0,.4) 100%);
	position: absolute;
	top: 0;
	left: 0;
}

.top .bnr_wrap .bnr_container a .left_container {
	width: 50%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.top .bnr_wrap .bnr_container .flowchart_ttl {
	position: relative;
	padding: 0 50px;
	margin-bottom: 30px;
}

.top .bnr_wrap .bnr_container .flowchart_ttl::before {
	content: '[';
	display: block;
	font-size: 120px;
	font-weight: 500;
	color: #033e09;
	position: absolute;
	top: 40%;
	left: 0;
	transform: translateY(-50%);
}

.top .bnr_wrap .bnr_container .flowchart_ttl::after {
	content: ']';
	display: block;
	font-size: 120px;
	font-weight: 500;
	color: #033e09;
	position: absolute;
	top: 40%;
	right: 0;
	transform: translateY(-50%);
}

.top .bnr_wrap .bnr_container .flowchart_ttl span {
	display: block;
	font-size: 24px;
	font-weight: 700;
	color: #fff;
	text-align: center;
	line-height: 1em;
	letter-spacing: .05em;
	text-shadow: 2px 2px 2px rgba(0,0,0,.9);
}

.top .bnr_wrap .bnr_container .flowchart_ttl strong {
	font-size: 48px;
	font-weight: 900;
	color: #fff;
	text-align: center;
	letter-spacing: .1em;
	text-shadow: 3px 3px 3px rgba(0,0,0,.9);
}

.top .bnr_wrap .bnr_container .flowchart_ttl em {
	font-style: normal;
	color: #e5000c;
}

.top .bnr_wrap .bnr_container .flowchart_txt {
	font-size: 22px;
	font-weight: 700;
	color: #fff;
	text-align: center;
	letter-spacing: .05em;
	text-shadow: 2px 2px 2px rgba(0,0,0,.9);
	position: relative;
	z-index: 2;
}

.top .bnr_wrap .bnr_container a .right_container {
	width: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.top .bnr_wrap .bnr_container .flowchart_btn_container {
	width: 80%;
	height: 45.33%;
	box-sizing: border-box;
	background-color: #fff;
	border: 6px solid #0e4813;
	border-radius: 100vh;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 2;
}

.top .bnr_wrap .bnr_container .flowchart_btn_container span {
	font-size: 28px;
	font-weight: 900;
	color: #0e4813;
	line-height: 1.4em;
	letter-spacing: .05em;
	padding: 0 60px 0 100px;
	position: relative;
}

.top .bnr_wrap .bnr_container .flowchart_btn_container span::before {
	content: '';
	display: block;
	width: 80px;
	height: 80px;
	background: url('../img/construction/flowchart/ico_building_off.png') center center no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

.top .bnr_wrap .bnr_container .flowchart_btn_container span::after {
	content: '';
	display: block;
	border-top: 12px solid transparent;
	border-bottom: 12px solid transparent;
	border-left: 20px solid #0e4813;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}


/*consultation_wrap--------------------------------*/

.top .consultation_wrap {
	padding-bottom: 0;
}

.top .consultation_wrap .bnr_container {
	width: 100%;
	background: url('../img/construction/flowchart/bnr_obj.jpg') center center no-repeat;
	background-size: cover;
}

.top .consultation_wrap .bnr_container .flowchart_wrap {
	width: 100%;
	padding: 160px 0;
	display: block;
	position: relative;
}

.top .consultation_wrap .bnr_container .flowchart_wrap::before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(20deg, rgba(124,139,44,.4) 0%, rgba(77,92,25,.4) 60%, rgba(54,69,16,.4) 80%, rgba(0,0,0,.4) 100%);
	position: absolute;
	top: 0;
	left: 0;
}

.top .consultation_wrap .bnr_container .flowchart_wrap .txt_wrap {
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.top .consultation_wrap .bnr_container .flowchart_ttl {
	position: relative;
	padding: 0 90px;
	margin-bottom: 30px;
}

.top .consultation_wrap .bnr_container .flowchart_ttl::before {
	content: '[';
	display: block;
	font-size: 180px;
	font-weight: 500;
	color: #033e09;
	position: absolute;
	top: 40%;
	left: 0;
	transform: translateY(-50%);
}

.top .consultation_wrap .bnr_container .flowchart_ttl::after {
	content: ']';
	display: block;
	font-size: 180px;
	font-weight: 500;
	color: #033e09;
	position: absolute;
	top: 40%;
	right: 0;
	transform: translateY(-50%);
}

.top .consultation_wrap .bnr_container .flowchart_ttl span {
	display: block;
	font-size: 50px;
	font-weight: 700;
	color: #fff;
	text-align: center;
	line-height: 1em;
	letter-spacing: .05em;
	text-shadow: 2px 2px 2px rgba(0,0,0,.9);
}

.top .consultation_wrap .bnr_container .flowchart_ttl strong {
	font-size: 80px;
	font-weight: 900;
	color: #fff;
	text-align: center;
	letter-spacing: .1em;
	text-shadow: 3px 3px 3px rgba(0,0,0,.9);
}

.top .consultation_wrap .bnr_container .flowchart_ttl em {
	font-style: normal;
	color: #e5000c;
}

.top .consultation_wrap .bnr_container .flowchart_txt {
	font-size: 42px;
	font-weight: 700;
	color: #fff;
	text-align: center;
	letter-spacing: .05em;
	text-shadow: 2px 2px 2px rgba(0,0,0,.9);
	position: relative;
	z-index: 2;
}

.top .consultation_wrap .bnr_container .flowchart_wrap .btn_wrap {
	width: 540px;
	height: 136px;
	border-radius: 100vh;
	background-color: #0e4813;
	margin: 80px auto 0;
}

.top .consultation_wrap .bnr_container .flowchart_btn_container {
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	background-color: #fff;
	border: 6px solid #0e4813;
	border-radius: 100vh;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 2;
}

.top .consultation_wrap .bnr_container .flowchart_btn_container span {
	font-size: 28px;
	font-weight: 900;
	color: #0e4813;
	line-height: 1.4em;
	letter-spacing: .05em;
	padding: 0 60px 0 100px;
	position: relative;
}

.top .consultation_wrap .bnr_container .flowchart_btn_container span::before {
	content: '';
	display: block;
	width: 80px;
	height: 80px;
	background: url('../img/construction/flowchart/ico_building_off.png') center center no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

.top .consultation_wrap .bnr_container .flowchart_btn_container span::after {
	content: '';
	display: block;
	border-top: 12px solid transparent;
	border-bottom: 12px solid transparent;
	border-left: 20px solid #0e4813;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}

/*sec00--------------------------------*/

.newly_container {
	width: 100%;
	/*min-height: 100vh;*/
	padding: 15px 0;
	box-sizing: border-box;
	position: relative;
}

.newly_container .container {
	display: block;
	width: 96vw;
	max-width: 96vw;
	padding: 120px 0 200px;
	border-radius: 10px;
	box-sizing: border-box;
	background: url('../img/top/newly_obj.jpg') right bottom no-repeat;
	background-size: cover;
}

/*.newly_container::before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,.6);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}*/

.newly_container .txt_container {
	width: 90%;
	margin: 0 auto;
}

.newly_container .newly_ttl {
	font-family: 'Noto Serif JP', serif;
	font-size: 48px;
	font-weight: 900;
	color: #0066b2;
	line-height: 1.5em;
	letter-spacing: .1em;
	text-align: center;
	text-shadow: 1px 1px 2px rgba(255,255,255,1);
	padding-bottom: 60px;
	position: relative;
	z-index: 1;
}

.newly_container .newly_txt {
	font-family: 'Noto Serif JP', serif;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.64em;
	letter-spacing: .05em;
	text-align: center;
	text-shadow: 1px 1px 2px rgba(255,255,255,1);
	padding-bottom: 1em;
	position: relative;
	z-index: 1;
}

.newly_list_container {
	width: 96vw;
	height: 450px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	position: relative;
	z-index: 2;
}

.newly_list_item {
	width: 49%;
	height: 100%;
	padding: 15px 0;
	box-sizing: border-box;
}

.newly_list_item a {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 10px;
	overflow: hidden;
	position: relative;
}

.newly_list_item a .newly_list_obj {
	display: block;
	width: 100%;
	height: 100%;
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transition: .3s ease-out;
}

.newly_list_item:nth-child(2) a .newly_list_obj {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.newly_list_item a:hover .newly_list_obj {
	display: block;
	width: 110%;
	height: 110%;
	transition: .3s ease-out;
}

.newly_list_item a .newly_list_ttl {
	font-family: 'Oswald', sans-serif;
	font-size: 42px;
	font-weight: 400;
	color: #0066b2;
	text-align: center;
	letter-spacing: .1em;
	text-shadow: 1px 1px 1px rgba(255,255,255,1);
	position: absolute;
	top: 50%;
	left: 5vw;
	transform: translateY(-50%);
}

.newly_list_item a .newly_list_ttl::after {
	content: '';
	display: block;
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
	border-left: 14px solid #0066b2;
	position: absolute;
	top: 50%;
	left: -30px;
	transform: translateY(-45%);
}

.office_modal_wrap {
    width: 100%;
    height: 100vh;
    background-color: rgba(0,0,0,.8);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
    overflow-y: auto;
	display: none;
}

.office_modal_wrap .office_list_container {
	width: 100vw;
	padding: 2vh 0;
}

.office_modal_wrap .office_list_item {
	width: 1000px;
	max-width: 90vw;
	height: 80vh;
	background-color: #fff;
	border-radius: 20px;
	padding: 2vw;
	margin: 0 2vw;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.office_modal_wrap .office_list_item .office_list_ttl {
	font-size: 32px;
	font-weight: 500;
	color: #0066b2;
	letter-spacing: .1em;
	line-height: 1.3em;
	padding-bottom: 20px;
}

.office_modal_wrap .office_list_item .img_container {
	width: 920px;
	max-width: 81vw;
	aspect-ratio:  16 / 9;
	margin: 0 auto;
	position: relative;
	overflow: hidden;
}

.office_modal_wrap .office_list_item .office_list_obj {
	display: block;
	width: 100%;
	height: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.office_modal_wrap .office_list_item .office_cap {
	display: block;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: .05em;
	line-height: 1.2em;
	text-align: center;
	padding-top: 10px;
}

.office_modal_wrap .thumb_list_container {
	width: 1000px;
	max-width: 90vw;
	aspect-ratio: 4 / 1;
	overflow: hidden;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: stretch;
}

.office_modal_wrap .thumb_list_container .thumb_list_item {
	width: 20%;
	aspect-ratio: 1 / 1;
	margin: 10px 5px;
	overflow: hidden;
	position: relative;
	cursor: pointer;
}

.office_modal_wrap .thumb_list_item .office_list_obj {
	display: block;
	width: 100%;
	height: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transition: .3s ease-out;
}

.office_modal_wrap .thumb_list_item:hover .office_list_obj {
	display: block;
	width: 110%;
	height: 110%;
	transition: .3s ease-out;
}

.office_modal_wrap .slick_prev {
	display: block;
	width: 50px;
	height: 50px;
	background-color: unset;
	border: unset;
    border-left: 4px solid #ccc;
    border-bottom: 4px solid #ccc;
	border-radius: unset;
	position: absolute;
	top: 50%;
	left: 5vw;
	z-index: 99;
	cursor: pointer;
	transform: translate(0,-50%) rotate(45deg);
}

.office_modal_wrap .slick_next {
	display: block;
	width: 50px;
	height: 50px;
	background-color: unset;
	border: unset;
    border-right: 4px solid #ccc;
    border-bottom: 4px solid #ccc;
	border-radius: unset;
	position: absolute;
	top: 50%;
	right: 5vw;
	z-index: 99;
	cursor: pointer;
	transform: translate(0,-50%) rotate(-45deg);
}

.office_modal_wrap .slick_prev:hover,
.office_modal_wrap .slick_next:hover {
	background: unset;
}

.office_modal_wrap .slick_prev:after,
.office_modal_wrap .slick_next:after {
	display: none;
}

.office_modal_wrap .modal_close {
    display: block;
    font-size: 60px;
    color: #ccc;
    position: absolute;
    bottom: 0;
    left: 50%;
	transform: translateX(-50%);
    cursor: pointer;
}


/*sec01--------------------------------*/

.top .sec01 {
	width: 100%;
	padding: 140px 0;
	background: url('../img/top/sec01_bg.png') center bottom repeat-y;
	background-size: 100% auto;
	position: relative;
}

/*.top .sec01:before {
	content: '';
	display: block;
	width: 374px;
	height: 299px;
	background: url('../img/top/sec01_bg02.png') right top no-repeat;
	background-size: contain;
	position: absolute;
	top: 0;
	right: 0;
	z-index: -1;
}*/

.top .sec01 {
	z-index: 2;
}

.top .sec01 .container {
	position: relative;
}

.top .sec01:after {
	content: '';
	display: block;
	width: 500px;
	height: 323px;
	background: url('../img/top/sec01_obj02.png') center center no-repeat;
	background-size: contain;
	position: absolute;
	bottom: 0;
	right: 0;
	transform: translateY(30%) rotate(5deg);
	z-index: -1;
}

.top .sec01 .container:before {
	content: '';
	display: block;
	max-width: 570px;
	max-height: 524px;
	width: 50.89vw;
	height: 46.79vw;
	background: url('../img/top/sec01_obj01.png') center center no-repeat;
	background-size: contain;
	position: absolute;
	top: 0;
	left: 0;
	transform: translate(-10%, 10%);
	z-index: -1;
}

.top .sec01 .txt_container {
    width: 90vw;
	max-width: 1000px;
	margin: 0 auto;
	padding-left: 56%;
	box-sizing: border-box;
	position: relative;
}

.top .sec01 .lead_txt {
	font-family: 'Noto Serif JP', serif;
	font-size: 42px;
	font-weight: 900;
	color: #fff;
	line-height: 1.46em;
	text-shadow: 2px 2px 2px rgba(0,0,0,.8);
	padding-bottom: 20px;
}

.top .sec01 .plain_txt {
	width: 100%;
	color: #fff;
	line-height: 1.8em;
	text-shadow: 1px 1px 1px rgba(0,0,0,.8);
}

.top .sec01 .plain_txt span {
	color: #bb0045;
}

.top .sec01 .btn_container {
	padding: 30px 0 0;
}

.top article .btn_container a {
	color: #0066b2;
	border: 1px solid #0066b2;
	background-color: #fff;
	text-shadow: 0 0 5px rgba(255,255,255,1);
}

.top article .btn_container a:hover {
	color: #fff;
	text-shadow: none;
	background-color: #0066b2;
}

@media screen and (max-width: 1100px) {
    .top .sec01 .lead_txt {
        font-size: 3.82vw;
    }

    .top .sec01 .plain_txt {
        font-size: 1.45vw;
    }
}

@media screen and (max-width: 960px) {
    .top .sec01 .txt_container:before {
        width: 57.29vw;
        height: 44.27vw;
    }

    .top article .btn_container a {
        width: 41.67vw;
    }
}



/*sec02--------------------------------*/

.top .sec02 {
	background-color: #fff;
	padding-bottom: 0;
	z-index: 1;
}

.top .bc_list_item {
	padding: 0 40px;
}

.top .bc_list_item .txt_container {
	padding-top: 40px;
}

.top .bc_list_item .bc_list_ttl {
	font-family: 'Noto Serif JP', serif;
	font-size: 30px;
	font-weight: 900;
	line-height: 1.4em;
	text-align: center;
	padding-bottom: 20px;
}

.top .bc_list_item .bc_list_txt {
	font-size: 18px;
	line-height: 1.4em;
	text-align: center;
}

.top .bc_list_item .btn_container {
	padding-top: 40px;
	text-align: center;
}

.top .bc_list_item .btn_container a {
	margin: 0;
	display: inline-block;
}

.slick_prev {
	display: block;
	width: 60px;
	height: 60px;
	background-color: #fff;
	border: 2px solid #0066b2;
	border-radius: 100vh;
	position: absolute;
	top: 40%;
	left: 50%;
	z-index: 99;
	cursor: pointer;
	transform: translate(-612px,-50%);
}

.slick_prev::after {
	content: '';
	display: block;
	width: 20px;
	height: 20px;
	border-top: 2px solid #0066b2;
	border-left: 2px solid #0066b2;
	position: absolute;
	top: 50%;
	left: 57%;
	transform: translate(-50%,-50%) rotate(-45deg);
	z-index: 99;
	cursor: pointer;
	transition: .3s ease-out;
}

.slick_next {
	display: block;
	width: 60px;
	height: 60px;
	background-color: #fff;
	border: 2px solid #0066b2;
	border-radius: 100vh;
	position: absolute;
	top: 40%;
	right: 50%;
	z-index: 99;
	cursor: pointer;
	transform: translate(612px,-50%);
}

.slick_next::after {
	content: '';
	display: block;
	width: 20px;
	height: 20px;
	border-top: 2px solid #0066b2;
	border-right: 2px solid #0066b2;
	position: absolute;
	top: 50%;
	left: 43%;
	transform: translate(-50%,-50%) rotate(45deg);
	z-index: 99;
	cursor: pointer;
	transition: .3s ease-out;
}

.slick_prev:hover,
.slick_next:hover {
	background-color: #0066b2;
	opacity: 1;
}

.slick_prev:hover::after {
	border-top: 2px solid #fff;
	border-left: 2px solid #fff;
	opacity: 1;
	transition: .3s ease-out;
}

.slick_next:hover::after {
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	opacity: 1;
	transition: .3s ease-out;
}

.slick-dots {
	position: absolute;
	bottom: -30px;
	left: 50%;
	height: 14px;
	display: flex;
	justify-content: center;
	align-items: center;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
}

.slick-dots li {
	padding: 0 14px;
}

.slick-dots button {
	width: 14px;
	height: 14px;
	background-color: #77addc;
	border-radius: 7px;
	border: none;
	text-indent: -9999px;
	box-sizing: border-box;
	position: relative;
	cursor: pointer;
}

.slick-dots .slick-active button {
	background-color: #1e73be;
}

.slick-dots button:focus {
	outline: none;
}

.slick-dots button:hover {
	opacity:0.6;
	filter: alpha(opacity=60);
	-ms-filter: "alpha(opacity=60)";
	-moz-opacity:0.6;
	-khtml-opacity: 0.6;
	zoom:1;
}

.lower .sec02_business_list_container {
	width: 96vw;
	max-width: 1000px;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: start;
	position: relative;
	z-index: 2;
}

.lower .sec02_business_list_item {
	width: calc(100% / 3);
	margin-top: -80px;
}

.lower .sec02_business_list_item a {
	display: block;
	width: 320px;
	margin: 0 auto;
	background-color: #fff;
	box-shadow: 0 0 5px 5px rgba(0,0,0,.1);
}

.lower .sec02_business_list_item a.disabled {
	pointer-events: none;
	cursor: default;
}

.lower .sec02_business_list_item a .img_container {
	width: 100%;
	padding-bottom: 65%;
	position: relative;
	overflow: hidden;
}

.lower .sec02_business_list_item a .img_container .fit {
	width: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	-webkit-transform: translateX(-50%) translateY(-50%);
}

.lower .sec02_business_list_item a .txt_container {
	padding: 20px;
	font-size: 18px;
	font-weight: 700;
	position: relative;
}

.lower .sec02_business_list_item a .txt_container:before {
	content: '';
	display: block;
	width: 10px;
	height: 20px;
	border-right: 2px solid #0066b2;
	position: absolute;
	top: 50%;
	right: 25px;
	transform: rotate(-60deg);
	-webkit-transform: rotate(-60deg);
}

.lower .sec02_business_list_item a .txt_container:after {
	content: '';
	display: block;
	width: 100px;
	height: 20px;
	border-bottom: 2px solid #0066b2;
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}
/*
.top .bc_list_item {
	width: 100%;
	height: 400px;
	margin-bottom: 40px;
	position: relative;
}

.top .bc_list_item:last-child {
	padding-bottom: 0;
}

.top .bc_list_item .img_container {
	width: 55%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
}

.top .bc_list_item:nth-child(even) .img_container {
	width: 55%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.top .bc_list_item:nth-child(odd) .img_container::after {
	content: '';
	display: block;
	width: 200px;
	height: 400px;
    background-image: linear-gradient(-90deg, transparent 0 30%, #FFF 100%);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}

.top .bc_list_item:nth-child(even) .img_container::after {
	content: '';
	display: block;
	width: 200px;
	height: 400px;
    background-image: linear-gradient(90deg, transparent 0 30%, #FFF 100%);
	position: absolute;
	top: 0;
	right: 0;
	z-index: 2;
}

.top .bc_list_item .bc_list_obj {
	display: block;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.top .bc_list_item:first-child .bc_list_obj {
	background-position: center 25%;
}

.top .bc_list_item:nth-child(2) .bc_list_obj {
	background-position: center 70%;
}

.top .bc_list_item .txt_container {
	padding-top: 30px;
}

.top .bc_list_item .bc_list_ttl {
	font-family: 'Noto Serif JP', serif;
	font-size: 30px;
	font-weight: 900;
	line-height: 1.4em;
	padding-bottom: 20px;
}

.top .bc_list_item .bc_list_txt {
	font-size: 18px;
	line-height: 1.4em;
}

.top .bc_list_item .btn_container {
	padding-top: 60px;
}

.top .bc_list_item .btn_container a {
	width: 250px;
	margin: 0;
	display: inline-block;
}

.top .bc_list_item:nth-child(even) .bc_list_ttl,
.top .bc_list_item:nth-child(even) .bc_list_txt,
.top .bc_list_item:nth-child(even) .btn_container {
	text-align: right;
}
*/

.top .business_list_item {
	width: 100%;
	height: 100vh;
	padding: 0;
	margin: 0;
	position: relative;
}

.top .business_list_item .business_wrap {
	width: 100%;
	height: 100vh;
	display: flex;
	justify-content: center;
	align-items: center;
}

.top .business_list_item .business_container {
	width: calc(100% - 60px);
	height: calc(100% - 60px);
	transition: .5s ease-out;
}

.top .business_list_item .business_container.fixed {
	width: 100%;
	height: 100%;
	transition: .5s ease-out;
}

.top .business_list_item .business_container.overlay::before {
	content: '';
	display: block;
	width: calc(100% - 60px);
	height: calc(100% - 60px);
	background-color: rgba(0,0,0,.4);
	position: absolute;
	top: 30px;
	left: 30px;
	z-index: 0;
	transition: .5s ease-out;
}

.top .business_list_item .business_container.fixed.overlay::before {
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	transition: .5s ease-out;
}

.top .business_list_item:first-child .business_container {
	background: url('../img/top/realestate_obj.webp') center center no-repeat;
	background-size: cover;
}

.top .business_list_item:nth-child(2) .business_container {
	background: url('../img/top/renewal_obj.jpg') center center no-repeat;
	background-size: cover;
}

.top .business_list_item:nth-child(3) .business_container {
	background: url('../img/management/mv.jpg') center center no-repeat;
	background-size: cover;
}

.top .business_list_item:nth-child(4) .business_container {
	background: url('../img/top/development_obj.jpg') center center no-repeat;
	background-size: cover;
}

.top .business_list_item .business_container .txt_container {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1;
}

.top .business_list_item:first-child .business_container .txt_container {
	transform: translate(-50%, -50%);
}

.top .business_list_item:nth-child(2) .business_container .txt_container {
	top: 10%;
	left: 5vw;
}

.top .business_list_item:nth-child(3) .business_container .txt_container {
	top: unset;
	bottom: 5%;
	left: unset;
	right: 5vw;
}

.top .business_list_item:nth-child(4) .business_container .txt_container {
	top: 7%;
	left: 16vw
}

.top .business_list_item .business_container .business_ttl {
	padding-bottom: 20px;
}

.top .business_list_item .business_container .business_ttl i {
	display: block;
	font-family: 'Oswald', sans-serif;
	font-style: normal;
	font-size: 24px;
	font-weight: 400;
	color: #fff;
	text-align: center;
}

.top .business_list_item .business_container .business_ttl strong {
	display: block;
	font-size: 42px;
	font-weight: 700;
	color: #fff;
	letter-spacing: .1em;
	text-align: center;
	text-shadow: 2px 2px 2px rgba(0,0,0,.8);
}

.top .business_list_item .business_container .business_txt {
	width: 30em;
}

.top .business_list_item .business_container .business_txt strong {
	display: block;
	font-size: 28px;
	font-weight: 500;
	color: #fff;
	letter-spacing: .1em;
	text-align: center;
	white-space: nowrap;
	text-shadow: 2px 2px 2px rgba(0,0,0,.8);
	padding-bottom: 1em;
}

.top .business_list_item .business_container .business_txt span {
	font-size: 18px;
	font-weight: 500;
	color: #fff;
	line-height: 1.8em;
	letter-spacing: .05em;
	text-shadow: 2px 2px 2px rgba(0,0,0,.8);
}

.top .business_list_item .business_container .btn_container a {
	background-color: #cc0000;
	border: 2px solid #cc0000;
	border-radius: 100vh;
	color: #fff;
	text-shadow: unset;
	letter-spacing: .1em;
}
.top .business_list_item .business_container .btn_container a:hover {
	background-color: #fff;
	color: #cc0000;
}

	

/*sec03--------------------------------*/

.top .sec03 {
	background-color: #fff;
}

.top .sec03_recruit_container {
	width: 1000px;
	height: 500px;
	background: url('../img/top/sec03_bg.jpg') center center no-repeat;
	margin: 0 auto;
	position: relative;
}

.top .sec03_recruit_list_container {
	width: 400px;
	box-sizing: border-box;
	padding: 30px 15px;
	background-color: rgba(255,255,255,.9);
	position: absolute;
	top: 40px;
	left: 40px;
}

.top .sec03_recruit_list_container dt {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.33em;
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 2px solid #0066b2;
}

.top .sec03_recruit_list_container dd {
	font-size: 14px;
	line-height: 1.7em;
}

.top .sec03_recruit_list_container dd .btn_container {
	padding: 20px 0 0;
}

.top .sec03_recruit_list_container dd .btn_container a {
	width: 300px;
	height: 40px;
	line-height: 40px;
}

.top .catalog_list_item {
	width: 90vw;
	max-width: 975px;
	padding: 0 40px;
 /*   width: 90vw;
	max-width: 768px;
	margin: 0 auto;*/
}

.top .catalog_list_item .btn_container {
	padding-top: 40px;
}

.top .catalog_list_item .btn_container a.pdf i {
	color: #cc0000;
	margin-left: 1em;
}

/*.btn_container a:hover i {
	margin-left: 1em;
	margin-right: 0;
	padding-left: 0;
}*/

.top .sec03 .slick_prev {
	transform: translate(-602px,-50%);
}

.top .sec03 .slick_next {
	transform: translate(602px,-50%);
}
	

/*sec04--------------------------------*/

.top .sec04 {
	background-color: #f3f4f5;
}

.top .sec04 .news_list_container {
    width: 90vw;
	max-width: 900px;
	box-sizing: border-box;
	padding: 30px 5.55% 50px;
	background-color: #fff;
	margin: 0 auto;
}

.top .sec04 .news_list_item {
	padding: 20px 30px;
	border-bottom: 1px solid #ccc;
}

.top .sec04 .news_list_item a {
	display: flex;
}

.top .sec04 .news_list_item a.disabled {
    pointer-events: none;
}

.top .sec04 .news_list_item span {
	font-weight: 700;
	color: #0066b2;
	width: 20%;
}

.top .sec04 .news_list_item b {
	font-weight: normal;
	font-style: normal;
	width: 80%;
}


/*--------------------------------------*/

/*lower*/

/*--------------------------------------*/

/*common--------------------------------*/

.lower section:nth-of-type(even) {
	background-color: #f3f4f5;
}

/*mv_container--------------------------------*/

.lower .mv_container {
	width: 100%;
	height: 350px;
	background: url('../img/common/mv.jpg') center 62% no-repeat;
	background-size: cover;
	position: relative;
    padding-top: 80px;
	margin-bottom: -220px;
}

.lower .mv_container:after {
	content: '';
	display: block;
	width: 100%;
	height: 50px;
	background: linear-gradient(rgba(255,255,255,0),rgba(255,255,255,1));
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 1;
}

.lower .mv_container .page_tit {
	width: 1000px;
	height: 100%;
	margin: 0 auto;
	position: relative;
}

.lower .mv_container .page_tit span {
	font-size: 36px;
	font-weight: 700;
	color: #fff;
	letter-spacing: .1em;
	text-shadow: 3px 3px 2px rgba(0,0,0,.8);
	position: absolute;
	top: 80px;
	left: 20px;
}

/*section--------------------------------*/

.lower section:last-of-type::before {
	content: '';
	display: block;
	width: 100%;
	height: 60.5vw;
	/*background-image: url('../img/common/footer.png');
	background-position: center bottom;
	background-repeat: no-repeat;*/
	background: linear-gradient(to bottom, #fff, #009ce9);
	background-size: 100% auto;
	position: absolute;
	bottom: 0;
	left: 0;
	opacity: .3;
	z-index: -1;
}


/*--------------------------------------*/

/*company*/

/*--------------------------------------*/

/*sec01--------------------------------*/

.lower section:nth-of-type(even).history_wrap {
	background-color: #fff;
	padding-bottom: 180px;
}

.history_container {
    width: 90vw;
	max-width: 1000px;
	height: 348px;
	background: url('../img/company/company_obj01.jpg') center center no-repeat;
	box-shadow: 0 0 10px rgba(0,0,0,.6);
	margin: 0 auto;
	position: relative;
}

.history_container .history_tit {
	font-family: 'Noto Serif JP', serif;
	font-size: 36px;
	font-weight: 700;
	color: #fff;
	text-shadow: 2px 2px 2px rgba(0,0,0,.8);
	position: absolute;
	top: 50%;
	left: 30px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

.history_list_container {
	width: 400px;
	box-sizing: border-box;
	padding: 30px 15px;
	background-color: rgba(255,255,255,.9);
	position: absolute;
	top: 40px;
	right: 40px;
}

.history_list_container dt {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.33em;
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 2px solid #0066b2;
}

.history_list_container dd {
	font-size: 14px;
	line-height: 1.7em;
}

.history_list_container dd .btn_container {
	padding: 20px 0 0;
}

.history_list_container dd .btn_container a {
	width: 300px;
	height: 40px;
	line-height: 40px;
}



/*sec02--------------------------------*/

#tab_trigger {
    padding-top: 80px;
    margin-top: -80px;
}

.profile_wrap {
	padding-top: 320px;
	position: relative;
	z-index: 2;
}

.message_wrap {
	padding-bottom: 80px;
}

.message_container {
	width: 100%;
	min-height: 900px;
	background: url('../img/company/president_obj.jpg') 80% top no-repeat;
	background-size: cover;
	padding: 80px 5vw 160px;
	box-sizing: border-box;
	position: relative;
}

.message_container:before {
    content: '';
    display: block;
    width: 100%;
    height: 50px;
    background: linear-gradient(rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.message_container:after {
    content: '';
    display: block;
    width: 100%;
    height: 50px;
    background: linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
}

.message_container .txt_container {
	width: 90vw;
	max-width: 1200px;
	margin: 0 auto;
}

.message_container .message_ttl {
	width: 45%;
    font-family: 'Noto Serif JP', serif;
    font-size: 32px;
    font-weight: 900;
    /*color: #0066b2;*/
	color: #fff;
    line-height: 1.43em;
    letter-spacing: .1em;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 1);
    /*text-shadow: 2px 2px 3px rgba(255, 255, 255, .9);*/
    display: block;
    padding-bottom: 1.39vw;
}

.message_container .message_txt {
	width: 45%;
    font-style: normal;
    font-size: 18px;
    font-weight: 500;
    color: #fff;
    line-height: 2em;
    letter-spacing: .05em;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 1);
}

.message_container .president_ttl {
	width: 45%;
	text-align: right;
	padding-top: 1em;
}

.message_container .president_ttl span {
    font-style: normal;
    font-size: 13px;
    font-weight: 500;
    color: #fff;
    line-height: 1.67em;
    letter-spacing: .1em;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 1);
	padding-right: .5em;
}
.message_container .president_ttl strong {
    font-family: 'Noto Serif JP', serif;
    font-style: normal;
    font-size: 22px;
    font-weight: 700;
    color: #fff;
    line-height: 1.67em;
    letter-spacing: .1em;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 1);
	padding-right: .5em;
}

.policy_wrap {
	padding: 80px 0;
}

.lower .policy_wrap .lead_txt {
	line-height: 2em;
	padding-bottom: 2em;
}

.policy_wrap .overview_list_container {
	width: 90%;
	margin: 0 auto;
}

.history_wrap {
	padding-top: 0;
	position: relative;
	z-index: 1;
}

.toagroup_history .history_wrap {
	padding-top: 80px;
}

.profile_list_container {
    width: 90vw;
	max-width: 1000px;
	margin: 0 auto;
	display: flex;
}

.profile_list_item {
	width: 25%;
	padding: 10px;
	box-sizing: border-box;
}

.profile_list_item a {
	display: block;
    width: 100%;
    height: 60px;
    margin: 40px auto;
    background-color: #fff;
    border: 1px solid #ccc;
	-webkit-transition: .3s ease-out;
	-moz-transition: .3s ease-out;
	-ms-transition: .3s ease-out;
	transition: .3s ease-out;
}

.profile_list_item.active a,
.profile_list_item a:hover {
    border: 1px solid #0066b2;
	-webkit-transition: .3s ease-out;
	-moz-transition: .3s ease-out;
	-ms-transition: .3s ease-out;
	transition: .3s ease-out;
}

.profile_list_item a h3 {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
    font-size: 16px;
    color: #999;
    text-align: center;
	line-height: 1.3em;
    position: relative;
	-webkit-transition: .3s ease-out;
	-moz-transition: .3s ease-out;
	-ms-transition: .3s ease-out;
	transition: .3s ease-out;
}

.profile_list_item.active a h3,
.profile_list_item a:hover h3 {
    color: #0066b2;
	-webkit-transition: .3s ease-out;
	-moz-transition: .3s ease-out;
	-ms-transition: .3s ease-out;
	transition: .3s ease-out;
}

.profile_list_item a h3:after {
    content: '';
    display: block;
    width: 6px;
    height: 6px;
    border-right: 1px solid #999;
    border-bottom: 1px solid #999;
    position: absolute;
    top: 50%;
    right: 20px;
	transform: rotate(45deg) translateY(-50%);
	-webkit-transform: rotate(45deg) translateY(-50%);
}

.profile_list_item.active a h3:after,
.profile_list_item a:hover h3:after {
    border-right: 1px solid #0066b2;
    border-bottom: 1px solid #0066b2;
	-webkit-transition: .3s ease-out;
	-moz-transition: .3s ease-out;
	-ms-transition: .3s ease-out;
	transition: .3s ease-out;
}

.profile_target_container {
    width: 100%;
	max-width: 1200px;
	padding: 60px 0;
	margin: 0 auto;
	box-sizing: border-box;
	background-color: #f2f5f7;
}

.profile_target {
	display: none;
}

.profile_target.active {
	display: block;
}

.profile_inner {
    width: 90vw;
    max-width: 1000px;
    margin: 0 auto;
	padding-bottom: 100px;
}

.profile_inner:last-of-type {
	padding-bottom: 0;
}

.lower .lead_txt {
	font-family: 'Noto Serif JP', serif;
	font-size: 24px;
	font-weight: 700;
	text-align: center;
	line-height: 1.5em;
	padding-bottom: 20px;
}

.business_list_container {
	width: 100%;
	margin: 0 auto;
}

.business_list_item {
	width: 100%;
	display: flex;
	background-color: #fff;
	box-sizing: border-box;
	padding: 20px;
	margin-bottom: 30px;
}

.business_list_item a {
	display: block;
	width: 320px;
	background-color: #fff;
	border: 1px solid #ccc;
}

.business_list_item a .txt_container {
	padding: 20px;
	font-size: 18px;
	font-weight: 700;
	position: relative;
}

.business_list_item a .txt_container:before {
	content: '';
	display: block;
	width: 10px;
	height: 20px;
	border-right: 2px solid #0066b2;
	position: absolute;
	top: 50%;
	right: 25px;
	transform: rotate(-60deg);
	-webkit-transform: rotate(-60deg);
}

.business_list_item a .txt_container:after {
	content: '';
	display: block;
	width: 100px;
	height: 20px;
	border-bottom: 2px solid #0066b2;
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

.business_summary_list_wrap {
	width: calc(100% - 320px);
}

.business_summary_list_container {
	padding: 10px 20px 0;
}

.business_summary_list_wrap .note {
	padding: 10px 20px 0 34px;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: .05em;
	line-height: 1.36em;
	text-indent: -14px;
}

.business_summary_list_wrap .btn_container {
	padding-bottom: 0;
}

.quality_policy_list_container {
    width: 100%;
	padding: 20px 0 50px;
}

.quality_policy_list_item {
	font-family: 'Noto Serif JP', serif;
	font-size: 21px;
	font-weight: 700;
	line-height: 1.64em;
	letter-spacing: .05em;
	padding-bottom: 1.5em;
    /*padding-left: 1em;
    text-indent: -1em;*/
}

/*.quality_policy_list_item:not(:first-child) {
    padding-left: 2em;
}*/

.poilcy_sign {
	font-family: 'Noto Serif JP', serif;
	font-size: 18px;
	font-weight: 700;
	text-align: right;
	padding-right: 50px;
}

.poilcy_sign span {
	font-size: 14px;
	font-weight: 500;
}

.poilcy_sign strong {
	font-family: 'Noto Serif JP', serif;
	font-size: 26px;
	font-weight: 700;
}

.overview_list_container dt {
    font-size: 18px;
    font-weight: 700;
    color: #0066b2;
    position: relative;
    padding-left: 30px;
    padding-bottom: 10px;
}

.overview_list_container dt:before {
    content: '';
    display: block;
    width: 18px;
    height: 18px;
    background-color: #0066b2;
    position: absolute;
    top: 5px;
    left: 0;
}

.overview_list_container dd {
    padding: 0 0 30px 30px;
}

.overview_list_container dd ul li {
    padding-left: 1em;
    text-indent: -1em;
}

.overview_list_container dd ul li .note {
	display: block;
	padding-left: 1em;
}

.overview_list_container dd ul li.indent_03 {
	padding-left: 3em;
}

.overview_list_container dd .dev_list_container {
    display: flex;
    flex-wrap: wrap;
}

.overview_list_container dd .dev_list_container dt {
    width: 7em;
    font-size: 16px;
    font-weight: 400;
    color: #333;
    position: relative;
    padding-left: 0;
    padding-bottom: 5px;
}

.overview_list_container dd .dev_list_container dt:before {
    display: none;
}

.overview_list_container dd .dev_list_container dd {
    width: calc(100% - 7em);
    font-size: 16px;
    font-weight: 400;
    color: #333;
    position: relative;
    padding-left: 0;
    padding-bottom: 5px;
}

.overview_list_container dd .toa_modal_list_container {
    display: block;
}

.overview_list_container dd .toa_modal_list_container dt {
    width: 100%;
    font-size: 16px;
    font-weight: 700;
    color: #333;
	text-indent: -2em;
    padding: .6em 0 5px 2em;
	box-sizing: border-box;
}

.overview_list_container dd .toa_modal_list_container dt:before {
    display: none;
}

.overview_list_container dd .toa_modal_list_container dd {
    width: 100%;
    font-size: 16px;
    font-weight: 400;
    color: #333;
    position: relative;
    padding-left: 2em;
    padding-bottom: 5px;
	box-sizing: border-box;
}

.toa_modal_sign {
	font-size: 16px;
	font-weight: 400;
	text-align: right;
	padding-right: 20px;
}

.plain_table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
}

.plain_table tr:nth-child(odd) {
	background-color: #eee;
}

.plain_table tr:nth-child(even) {
	background-color: #fff;
}

.plain_table th {
	width: 25%;
	box-sizing: border-box;
	padding: 20px 30px;
	vertical-align: top;
}

.plain_table td {
	width: 75%;
	box-sizing: border-box;
	padding: 20px 30px;
	vertical-align: top;
}

.seal_obj {
	display: block;
	width: 180px;
	margin: 15px;
}

.plain_table td ul li .note {
	display: block;
	padding-left: 1em;
}

.plain_table td ul li.indent_03 {
	padding-left: 3em;
}

.map_container {
	width: 100%;
	height: 350px;
	overflow: hidden;
}

.map_container iframe {
	margin-top: -150px; 
}

.map_container + .btn_container {
	padding-bottom: 0;
}

.group_list_container {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}

.group_list_item {
	width: 50%;
	padding: 0 0 20px 10%;
	margin-bottom: 20px;
	border-bottom: 2px solid #eee;
	box-sizing: border-box;
}

.group_list_item a {
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}

.group_list_item a:hover {
	color: #0066b2;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}

.group_list_item a:hover i {
	padding-left: .2em;
	-webkit-transition: .2s ease-out;
	-moz-transition: .2s ease-out;
	-ms-transition: .2s ease-out;
	transition: .2s ease-out;
}


/*--------------------------------------*/

/*office*/

/*--------------------------------------*/

/*sec01--------------------------------*/

.office .message_container {
	width: 100%;
	min-height: 800px;
	background: url('../img/company/office/mv_obj.jpg') right bottom no-repeat;
	background-size: cover;
	padding: 160px 5vw;
	box-sizing: border-box;
	position: relative;
}

.office .message_container .message_ttl {
	width: 58%;
	text-shadow: unset;
}

.office .message_container .message_txt {
	width: 58%;
    /*color: #222;*/
	color: #fff;
    /*text-shadow: 1px 1px 1px rgba(255, 255, 255, 1);*/
	text-shadow: unset;
}

.office .movie_container{
	width: 90vw;
	max-width: 1000px;
	margin: 0 auto;
}

.office .movie_container video {
	width: 100%;
}

.photogallery_btn_container {
	width: calc(96vw - 20px);
	margin: 0 auto 20px;
	background-color: #000;
	position: relative;
	cursor: pointer;
	transition: .3s ease-out;
}

.photogallery_btn_container .photogallery_btn_txt {
	font-size: 42px;
	font-weight: 700;
	color: #fff;
	letter-spacing: .1em;
	line-height: 1.3em;
	text-align: center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
    text-shadow: 0 0 4px rgba(0, 0, 0, 1);
	transition: .3s ease-out;
}

.photogallery_btn_container .photogallery_obj {
	opacity: .7;
	transition: .3s ease-out;
}

.photogallery_btn_container:hover {
	background-color: #fff;
	transition: .3s ease-out;
}

.photogallery_btn_container:hover .photogallery_btn_txt {
	color: #0066b2;
    text-shadow: 0 0 4px rgba(255, 255, 255, 1);
	transition: .3s ease-out;
}

.office .photogallery_wrap {
	padding: 80px 0 160px;
}

.office .photogallery_list_container {
	width: 96vw;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}

.office .photogallery_list_item {
	width: 20%;
	padding: 10px;
	box-sizing: border-box;
}

.office .photogallery_list_item .modal_trigger {
	width: 100%;
	aspect-ratio: 4 / 3;
	cursor: pointer;
}

.office .photogallery_list_item .photogallery_list_obj {
	display: block;
	width: 100%;
	height: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.office .office_modal_list_container {
	height: 80vh;
	margin-top: 5vh;
}

.office .office_modal_list_item  {
	padding: 0 30px;
}

.office .office_modal_list_obj {
	display: block;
	height: 80vh;
	margin: 0 auto;
}

.office .office_modal_list_item .office_cap {
	display: block;
	font-size: 18px;
	font-weight: 500;
	color: #fff;
	text-align: center;
	padding-top: 10px;
}


/*--------------------------------------*/

/*toagroup_history*/

/*--------------------------------------*/

/*sec01--------------------------------*/

.toagroup_history .history_container {
	background: url('../img/history/history_obj01.jpg') center center no-repeat;
}


/*sec02--------------------------------*/

.chronology_wrap {
    width: 100%;
    max-width: 1200px;
	padding: 60px 6.67% 30px 8.33%;
	margin: 0 auto;
	box-sizing: border-box;
	background-color: #fff;
    display: flex;
    flex-wrap: wrap;
    position: relative;
}

.chronology_wrap .sub_tit {
    width: 100%;
}

.chronology_wrap .btn_container {
    width: 33.3333%;
    max-width: 400px;
    position: absolute;
    top: 130px;
    right: 8.33%;
    z-index: 99;
}

.chronology_wrap .btn_container a {
    width: 100%;
}

.chronology_wrap .phase_tit {
    width: 100%;
	font-family: 'Oswald', sans-serif;
    font-size: 22px;
    font-weight: bold;
    margin-bottom: 40px;
    padding-bottom: 15px;
    box-sizing: border-box;
    position: relative;
}

.chronology_wrap .phase_tit b {
	font-family: 'Oswald', sans-serif;
    font-size: 60px;
    font-weight: normal;
    color: #0066b2;
}

.chronology_wrap .phase_tit span {
    font-size: 18px;
    color: #999;
    font-weight: normal;
    padding-left: 1em;
}

.chronology_wrap .phase_tit:before {
    content: '';
    display: block;
    width: 30px;
    height: 2px;
    background-color: #0066b2;
    position: absolute;
    bottom: 0;
    left: 0;
    
}

.chronology_wrap .left_container {
    width: 65%;
    padding-bottom: 30px;
    margin-bottom: 15px;
    box-sizing: border-box;
    border-bottom: 2px solid #eee;
}

.chronology_wrap .right_container {
    width: 35%;
    padding-bottom: 30px;
    margin-bottom: 15px;
    box-sizing: border-box;
    border-bottom: 2px solid #eee;
}

.chronology_wrap .left_container:nth-last-child(2),
.chronology_wrap .right_container:last-of-type {
    border-bottom: none;
}

.chronology_wrap .right_container .topics_item {
    margin-left: 20px;
    text-align: center;
    position: relative;
    cursor: pointer;
}

.chronology_wrap .right_container .topics_item:after {
    content: 'DETAIL';
    width: 8em;
    height: 1.4em;
    border: 1px solid #fff;
    background-color: rgba(0,0,0,.4);
	font-family: 'Oswald', sans-serif;
    font-size: 14px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    line-height: 1.4em;
    letter-spacing: .2em;
    position: absolute;
    top: 45%;
    left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
}

.chronology_wrap .right_container .topics_item_obj {
    width: 65%;
}

.chronology_wrap .right_container .topics_item_obj.modal_trigger01 {
    width: 55%;
}

.chronology_wrap .right_container .topics_item_obj.modal_trigger02 {
    width: 100%;
}

.chronology_wrap .right_container .cap {
    font-size: 12px;
    text-align: center;
    padding: 5px 0;
}

/*.plain_table.reverse tr:nth-child(odd) {
	background-color: #fff;
}

.plain_table.reverse tr:nth-child(even) {
	background-color: #eee;
}*/

.chronology_wrap .plain_table th {
    width: 28%;
    padding-right: 0;
    font-weight: bold;
    color: #0066b2;
}

.chronology_wrap .plain_table td {
    width: 72%;
	padding: 20px 10px;
}


/*history_modal--------------------------------*/

.modal_wrap {
    width: 100%;
    height: 100vh;
    background-color: rgba(0,0,0,.7);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
    overflow-y: auto;
	display: none;
}

.modal_list_item {
    width: 80vw;
    max-width: 700px;
    padding: 40px;
    background-color: #fff;
    box-shadow: 0 0 10px rgba(0,0,0,.7);
    box-sizing: border-box;
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 9999;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
    display: none;
}

.modal_list_item.flex {
    display: flex;
}

.modal_list_item .txt_container {
    padding-bottom: 20px;
}

.modal_list_item.flex .txt_container {
    width: 70%;
    padding: 0 20px 0 0;
}

.modal_list_item .img_container {
    width: 80%;
    margin: 0 auto;
    text-align: center;
}

.modal_list_item.flex .img_container {
    width: 30%;
}

.modal_list_item .modal_list_tit {
    font-size: 28px;
    color: #0066b2;
    padding-bottom: 15px;
}

.modal_list_item .modal_list_txt {
    line-height: 1.6em;
}

.modal_list_item .img_container .modal_list_obj {
    max-width: 100%;
}

.modal_list_item .img_list_container {
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
}

.modal_list_item .img_list_container .img_list_item {
    width: 50%;
    box-sizing: border-box;
    padding: 0 5px 0 0;
}
.modal_list_item .img_list_container .img_list_item:nth-child(even) {
    padding: 0 0 0 5px;
}

.modal_list_item .img_container .img_list_item .modal_list_obj {
    max-width: 100%;
    width: 100%;
}

.modal_list_item .cap {
    font-size: 12px;
    text-align: center;
    padding: 5px 0 10px;
}

.modal_list_container .modal_prev {
    display: block;
    width: 50px;
    height: 50px;
    border-left: 4px solid #ccc;
    border-bottom: 4px solid #ccc;
    position: absolute;
    top: 50%;
    left: -70px;
	transform: translateY(-50%) rotate(45deg);
	-webkit-transform: translateY(-50%) rotate(45deg);
    cursor: pointer;
}

.modal_list_container .modal_next {
    display: block;
    width: 50px;
    height: 50px;
    border-right: 4px solid #ccc;
    border-bottom: 4px solid #ccc;
    position: absolute;
    top: 50%;
    right: -70px;
	transform: translateY(-50%) rotate(-45deg);
	-webkit-transform: translateY(-50%) rotate(-45deg);
    cursor: pointer;
}

.modal_list_container .modal_list_item:first-child .modal_prev,
.modal_list_container .modal_list_item:last-child .modal_next {
    display: none;
}

.modal_wrap .modal_close {
    display: block;
    font-size: 60px;
    color: #ccc;
    position: absolute;
    top: 0;
    right: 3vw;
    cursor: pointer;
}




/*--------------------------------------*/

/*management*/

/*--------------------------------------*/

/*mv--------------------------------*/

.lower.management .mv_container {
	width: 100%;
	height: auto;
	background: url('../img/management/mv.jpg') 60% top no-repeat;
	background-size: cover;
	background-attachment: fixed;
	margin-bottom: 0;
	padding: 75vh 0 80px;
	box-sizing: border-box;
	z-index: 1;
}

.lower.management .mv_container::after {
	display: none;
}

.lower.management .mv_container .management_ttl {
	position: absolute;
	top: 45vh;
	left: 10vw;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	opacity: 0;
}

.lower.management .mv_container .management_ttl b {
	font-family: 'Noto Serif JP', serif;
	font-size: 42px;
	font-weight: 900;
	color: #fff;
	line-height: 1.43em;
	letter-spacing: .1em;
	text-shadow: 2px 2px 3px rgba(0,0,0,.9);
	white-space: nowrap;
	display: block;
	padding-bottom: 1.39vw;
}

.lower.management .mv_container .management_ttl em {
	font-family: 'Noto Serif JP', serif;
	font-style: normal;
	font-size: 18px;
	font-weight: 700;
	color: #fff;
	line-height: 1.67em;
	letter-spacing: .1em;
	text-shadow: 2px 2px 1px rgba(0,0,0,1);
}

.lower.management .management_list_wrap {
	width: 90vw;
	max-width: 1080px;
	margin: 0 auto;
	padding-bottom: 20px;
	display: flex;
	opacity: 0;
	position: relative;
	z-index: 2;
}

.lower.management .management_list_wrap + .note {
	font-size: 18px;
	font-weight: 500;
	color: #fff;
	text-align: center;
	padding-bottom: 40px;
	position: relative;
	z-index: 2;
	opacity: 0;
}

.lower.management .management_list_container {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}

.lower.management .management_list_container .leaf_obj {
	width: 324px;
	cursor: pointer;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}

.lower.management .management_list_container .leaf_obj:hover {
	opacity:0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha(opacity=80)";
	-moz-opacity:0.8;
	-khtml-opacity: 0.8;
	zoom:1;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}

.lower.management .management_list_container:nth-of-type(2) .leaf_obj {
	width: 411px;
}

.lower.management .management_list_container .leaf_obj.disabled {
	cursor: default;
}

.lower.management .management_list_container .leaf_obj.disabled:hover {
	opacity: 1;
}

.lower.management .management_lead_container {
	width: 90vw;
	max-width: 1080px;
	margin: 0 auto;
	padding: 30px 40px;
	box-sizing: border-box;
	background-color: rgba(255,255,255,.7);
	opacity: 0;
	position: relative;
	z-index: 2;
}

.lower.management .management_lead {
	display: block;
	width: 100%;
	font-family: 'Noto Serif JP', serif;
	font-size: 36px;
	font-weight: 700;
	text-align: center;
	padding-bottom: 20px;
	margin: 0 auto 40px;
	border-bottom: 2px solid #0066b2;
}

.lower.management .management_lead + .plain_txt {
	text-align: center;
}

.lower.management article {
	background-color: #fff;
	position: relative;
	z-index: 3;
}



/*sec01--------------------------------*/

.business_lead_container {
    width: 90vw;
	max-width: 1000px;
	height: 348px;
	background: url('../img/management/management_obj01.jpg') center center no-repeat;
	box-shadow: 0 0 10px rgba(0,0,0,.6);
	margin: 0 auto;
	position: relative;
}

.business_lead_container .business_lead_tit {
	font-family: 'Noto Serif JP', serif;
	font-size: 36px;
	font-weight: 700;
	color: #fff;
	text-shadow: 2px 2px 2px rgba(0,0,0,.8);
	position: absolute;
	top: 50%;
	left: 30px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

.business_lead_list_container {
	width: 400px;
	box-sizing: border-box;
	padding: 30px 15px;
	background-color: rgba(255,255,255,.9);
	position: absolute;
	top: 40px;
	right: 40px;
}

.business_lead_list_container dt {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.33em;
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 2px solid #0066b2;
}

.business_lead_list_container dd {
	font-size: 14px;
	line-height: 1.7em;
}

.business_lead_container dd .btn_container {
	padding: 20px 0 0;
}

.business_lead_container dd .btn_container a {
	width: 300px;
	height: 40px;
	line-height: 40px;
}

.business_item_container {
    width: 90vw;
    max-width: 1000px;
    margin: 30px auto 0;
    display: flex;
    flex-wrap: wrap;
}

.business_item {
    font-size: 18px;
    color: #fff;
    background-color: #0066b2;
    margin: 0 10px 10px 0;
    padding: 5px 10px;
}


/*sec02--------------------------------*/

.lower.management .sec02 .sec_tit.serif {
	font-family: 'Noto Serif JP', serif;
	font-weight: 700;
	letter-spacing: .2em;
}

.choice_wrap {
    width: 100%;
    padding: 30px 0;
    background-color: #d6dfe9;
}

.choice_wrap .select_container {
    width: 500px;
    margin: 0 auto;
    position: relative;
}

.choice_wrap select {
    width: 500px;
    height: 50px;
    box-sizing: border-box;
    padding-left: 10px;
    background-color: #fff;
    border: 2px solid #fff;
    position: relative;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
	-webkit-transition: .2s ease-out;
	-moz-transition: .2s ease-out;
	-ms-transition: .2s ease-out;
	transition: .2s ease-out;
}

.choice_wrap select:focus {
    outline: none;
    border: 2px solid #0066b2;
	-webkit-transition: .2s ease-out;
	-moz-transition: .2s ease-out;
	-ms-transition: .2s ease-out;
	transition: .2s ease-out;
}

.choice_wrap select::-ms-expand {
    display: none;
}

.choice_wrap .select_container:after {
    content: "";
    width: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 8px solid #0066b2;
    position: absolute;
    right: 10px;
    top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-webkit-transition: .2s ease-out;
	-moz-transition: .2s ease-out;
	-ms-transition: .2s ease-out;
	transition: .2s ease-out;
}

.choice_wrap .select_container.disabled select {
    pointer-events: none;
    color: #999;
    background-color: #eee;
    border: 2px solid #eee;
	-webkit-transition: .2s ease-out;
	-moz-transition: .2s ease-out;
	-ms-transition: .2s ease-out;
	transition: .2s ease-out;
}

.choice_wrap .select_container.disabled select:focus {
    outline: none;
    border: 2px solid #eee;
	-webkit-transition: .2s ease-out;
	-moz-transition: .2s ease-out;
	-ms-transition: .2s ease-out;
	transition: .2s ease-out;
}

.choice_wrap .select_container.disabled:after {
    border-top: 8px solid #999;
	-webkit-transition: .2s ease-out;
	-moz-transition: .2s ease-out;
	-ms-transition: .2s ease-out;
	transition: .2s ease-out;
}

.achievement_wrap {
    position: relative;
    min-height: 580px;
}

.achievement_list_container {
    width: 90vw;
    max-width: 1000px;
    margin: 0 auto;
    padding: 20px 0 80px;
    display: flex;
    flex-wrap: wrap;
}

.achievement_list_container .achievement_list_item {
    width: calc(100% / 3);
    padding-bottom: 15px;
}

.achievement_list_container .achievement_list_inner {
    width: 96%;
    height: 100%;
    margin: 0 auto;
    background-color: #fff;
}

.achievement_list_container .img_container {
    width: 100%;
    height: 240px;
    position: relative;
    overflow: hidden;
}

.achievement_list_container .img_container .achivement_img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
}

.achievement_list_container .txt_container {
    width: 100%;
    box-sizing: border-box;
    padding: 10px 15px 15px;
    position: relative;
}

.achievement_list_container .achivement_tit {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.5em;
}

.achievement_list_container .achivement_cat {
    display: inline-block;
    font-size: 12px;
    font-weight: normal;
    color: #fff;
    padding: 0 8px;
    margin: 5px 0 10px;
    line-height: 22px;
}

.achievement_list_container .cat01 .achivement_cat {
    background-color: #4fac6e;
}

.achievement_list_container .cat02 .achivement_cat {
    background-color: #ecb93e;
}

.achievement_list_container .cat03 .achivement_cat {
    background-color: #d04343;
}

.achievement_list_container .cat04 .achivement_cat {
    background-color: #456fdb;
}

.achievement_list_container .cat05 .achivement_cat {
    background-color: #985fc4;
}

.achievement_list_container .cat06 .achivement_cat {
    background-color: #ee78b3;
}

.achievement_list_container .cat07 .achivement_cat {
    background-color: #afc040;
}

.achievement_list_container .achivement_detail_list {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}

.achievement_list_container .achivement_detail_list dt {
    width: 5.5em;
    font-size: 14px;
    line-height: 1.7em;
    display: block;
    text-align-last: justify;
    text-justify: inter-ideograph;
}

.achievement_list_container .achivement_detail_list dd {
    width: calc(100% - 5.5em);
    font-size: 14px;
    line-height: 1.4em;
    padding-bottom: .3em
}

/*.achievement_list_container .txt_container:before {
	content: '';
	display: block;
	width: 10px;
	height: 20px;
	border-right: 2px solid #0066b2;
	position: absolute;
	bottom: 12px;
	right: 25px;
	transform: rotate(-60deg);
	-webkit-transform: rotate(-60deg);
}

.achievement_list_container .txt_container:after {
	content: '';
	display: block;
	width: 100px;
	height: 20px;
	border-bottom: 2px solid #0066b2;
	position: absolute;
	bottom: 20px;
	right: 20px;
}*/

.others_list_container {
    width: 1000px;
    margin: 30px auto 160px;
    display: flex;
    flex-wrap: wrap;
}

.others_list_item  {
    margin: 0 10px 20px 0;
}

.others_list_item span {
    font-size: 18px;
    color: #fff;
    background-color: #0066b2;
    padding: 5px 10px;
}

.others_list_item span.cat01 {
    background-color: #4fac6e;
}

.others_list_item span.cat02 {
    background-color: #ecb93e;
}

.others_list_item span.cat03 {
    background-color: #d04343;
}

.others_list_item span.cat04 {
    background-color: #456fdb;
}

.others_list_item span.cat05 {
    background-color: #985fc4;
}

.others_list_item span.cat06 {
    background-color: #ee78b3;
}

.others_list_item span.cat07 {
    background-color: #afc040;
}

.lower .sec02_business_list_item {
	margin-top: 0;
    padding-bottom: 160px;
}

.lower .sec02_business_list_item .img_container {
	width: 100%;
	overflow: hidden;
}



/*--------------------------------------*/

/*construction*/

/*--------------------------------------*/

/*mv--------------------------------*/

.lower.construction .mv_container {
	width: 100%;
	height: calc(100vh - 80px);
	background: url('../img/construction/mv.jpg') 60% top no-repeat;
	background-size: cover;
}

.lower.construction .mv_container::after {
	display: none;
}

.lower.construction .mv_container .construction_ttl {
	position: absolute;
	top: 45vh;
	left: 10vw;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

.lower.construction .mv_container .construction_ttl b {
	font-family: 'Noto Serif JP', serif;
	font-size: 42px;
	font-weight: 900;
	color: #fff;
	line-height: 1.43em;
	letter-spacing: .1em;
	text-shadow: 2px 2px 3px rgba(0,0,0,.9);
	white-space: nowrap;
	display: block;
	padding-bottom: 1.39vw;
}

.lower.construction .mv_container .construction_ttl em {
	font-family: 'Noto Serif JP', serif;
	font-style: normal;
	font-size: 18px;
	font-weight: 700;
	color: #fff;
	line-height: 1.67em;
	letter-spacing: .1em;
	text-shadow: 2px 2px 1px rgba(0,0,0,1);
}



/*sec01--------------------------------*/

/*.construction .business_lead_container {
	width: 1000px;
	height: 378px;
	background: url('../img/construction/construction_obj01.jpg') center center no-repeat;
}*/

.lower.construction .sec01_wrap {
	opacity: 0;
	margin-top: 40px;
}

.lower.construction .sec01:before {
	content: '';
	display: block;
	width: 100%;
	height: 150px;
	background: linear-gradient(rgba(255,255,255,0),rgba(255,255,255,1));
	position: absolute;
	top: 70px;
	left: 0;
	z-index: 0;
}

.lower.construction .problem_list_container {
	width: 96vw;
	max-width: 1000px;
	margin: 0 auto;
	padding-bottom: 50px;
	display: flex;
	justify-content: space-between;
}

.lower.construction .problem_list_item {
	width: 32%;
	height: 220px;
	background-color: #33892c;
	border-radius: 160px / 110px;
	position: relative;
	box-shadow: 5px 5px 0 #333;
	display: flex;
	align-items: center;
	justify-content: center;
}

.lower.construction .balloon_txt {
	font-size: 22px;
	font-weight: 700;
	color: #fff;
	text-align: center;
	line-height: 1.64em;
}

.lower.construction .problem_list_item::after {
	content: '';
	display: block;
	border-right: 20px solid transparent;
	border-top: 35px solid #33892c;
	border-left: 20px solid transparent;
	position: absolute;
	bottom: -20px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
}

.lower.construction .problem_list_item::before {
	content: '';
	display: block;
	border-right: 20px solid transparent;
	border-top: 35px solid #333;
	border-left: 20px solid transparent;
	position: absolute;
	bottom: -25px;
	left: 50%;
	transform: translateX(-37.5%);
	-webkit-transform: translateX(-37.5%);
	z-index: -1;
}

.lower.construction .problem_list_item:first-child:after {
	bottom: -15px;
	left: 70%;
	transform: translateX(0) rotate(-30deg);
	-webkit-transform: translateX(0) rotate(-30deg);
}

.lower.construction .problem_list_item:first-child::before {
	bottom: -20px;
	left: 70%;
	transform: translateX(12.5%) rotate(-30deg);
	-webkit-transform: translateX(12.5%) rotate(-30deg);
}

.lower.construction .problem_list_item:last-child:after {
	bottom: -15px;
	left: 18%;
	transform: translateX(0) rotate(30deg);
	-webkit-transform: translateX(0) rotate(30deg);
}

.lower.construction .problem_list_item:last-child::before {
	bottom: -20px;
	left: 18%;
	transform: translateX(12.5%) rotate(30deg);
	-webkit-transform: translateX(12.5%) rotate(30deg);
}

.lower.construction .construction_lead {
	display: block;
	width: 90vw;
	max-width: 1000px;
	font-family: 'Noto Serif JP', serif;
	font-size: 36px;
	font-weight: 700;
	text-align: center;
	padding-bottom: 20px;
	margin: 0 auto 40px;
	border-bottom: 2px solid #0066b2;
	position: relative;
}

/*.lower.construction .construction_lead::after {
	content: '';
	display: block;
	width: 100px;
	height: 10px;
	background-color: #0066b2;
	position: absolute;
	bottom: -5px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
}*/

.lower.construction .construction_lead + .plain_txt {
	width: 90vw;
	margin: 0 auto;
	text-align: center;
}




/*solution_bnr_wrap--------------------------------*/

.top .solution_ttl,
.lower.construction .solution_ttl {
	font-size: 42px;
	font-weight: 900;
	color: #2e9834;
	text-align: center;
	padding-bottom: 10px;
}

.top .solution_bnr_wrap .solution_txt,
.lower.construction .solution_bnr_wrap .solution_txt {
	font-size: 24px;
	font-weight: 500;
	text-align: center;
	padding-bottom: 30px;
}

.solution_bnr_wrap .solution_bnr_container {
	width: 90vw;
	max-width: 1200px;
	height: 300px;
	margin: 0 auto;
}

.solution_bnr_wrap .solution_bnr_container a {
	width: 100%;
	height: 100%;
	background: url('../img/construction/flowchart/bnr_obj.jpg') center center no-repeat;
	background-size: cover;
	border-radius: 10px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: relative;
}

.lower.construction .solution_bnr_wrap .solution_bnr_container a {
	background: url('../img/construction/solution_bnr_obj.jpg') center center no-repeat;
	background-size: 120% auto;
}

.solution_bnr_wrap .solution_bnr_ttl {
	font-size: 72px;
	font-weight: 900;
	color: #111;
	line-height: 1.2em;
	letter-spacing: .05em;
	text-shadow: 2px 2px 2px rgba(255,255,255,1);
	position: relative;
	z-index: 1;
}

.solution_bnr_wrap .solution_bnr_ttl .tab {
	display: none;
}

.solution_bnr_wrap .solution_bnr_ttl em {
	font-style: normal;
	font-size: 100px;
	transform: translateY(-.15em);
}

.solution_bnr_wrap .solution_bnr_ttl strong {
	font-family: 'Oswald', sans-serif;
	font-size: 100px;
	transform: translateY(-.2em);
}

.solution_bnr_wrap .solution_bnr_ttl strong em {
	font-family: 'Oswald', sans-serif;
	font-size: 120px;
}

.solution_bnr_wrap .solution_bnr_ttl strong span {
	font-family: 'Oswald', sans-serif;
	color: #e60012;
}

.solution_bnr_wrap .solution_bnr_txt {
	font-size: 32px;
	font-weight: 700;
	color: #666;
	letter-spacing: .1em;
	text-shadow: 2px 2px 2px rgba(255,255,255,1);
	position: relative;
	z-index: 1;
}

.top .solution_bnr_wrap .solution_bnr_txt {
	color: #fff;
	text-shadow: 2px 2px 2px rgba(0,0,0,1);
}

.solution_bnr_wrap .solution_bnr_txt span {
	font-family: 'Oswald', sans-serif;
	font-size: 42px;
}

.top .solution_bnr_wrap .solution_bnr_container a::before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(20deg, rgba(124,139,44,.4) 0%, rgba(77,92,25,.4) 60%, rgba(54,69,16,.4) 80%, rgba(0,0,0,.4) 100%);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}

.solution_bnr_wrap .solution_bnr_container a::after {
	content: '';
	display: block;
	border-left: 30px solid #2e9834;
	border-top: 30px solid transparent;
	border-bottom: 30px solid transparent;
	position: absolute;
	top: 50%;
	right: 30px;
	transform: translateY(-50%);
	z-index: 1;
}

.top .solution_bnr_wrap .solution_bnr_container a::after {
	border-left: 30px solid #fff;
}




/*sec02--------------------------------*/

.lower.construction .summary_list_container {
	width: 90vw;
	max-width: 1000px;
	margin: 0 auto;
	padding-bottom: 20px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.lower.construction .lastest_container {
	width: 90vw;
	max-width: 1000px;
	margin: 0 auto;
	padding-bottom: 80px;
}

.lower.construction .summary_list_item {
	width: 48%;
	padding-bottom: 30px;
}

.lower.construction .summary_list_item .img_container,
.lower.construction .lastest_container .img_container {
	width: 100%;
	padding-bottom: 54.67%;
	position: relative;
	overflow: hidden;
}

.lower.construction .lastest_container .img_container {
	padding-bottom: 50%;
}

.lower.construction .summary_list_item .img_container .summry_obj,
.lower.construction .lastest_container .img_container .summry_obj {
	width: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	-webkit-transform: translateX(-50%) translateY(-50%);
}

.lower.construction .summary_list_item .txt_container,
.lower.construction .lastest_container .txt_container {
	padding: 10px 15px 20px;
	position: relative;
}

.lower.construction .summary_list_item .summary_ttl,
.lower.construction .lastest_container .summary_ttl {
	font-size: 24px;
	font-weight: 400;
}

.lower.construction .summary_list_item .txt_container::before,
.lower.construction .lastest_container .txt_container::before {
	content: '';
	display: block;
	width: 80px;
	height: 2px;
	background-color: #0066b2;
	position: absolute;
	bottom: 25px;
	right: 0;
}

.lower.construction .summary_list_item .txt_container::after,
.lower.construction .lastest_container .txt_container::after {
	content: '';
	display: block;
	width: 20px;
	height: 2px;
	background-color: #0066b2;
	position: absolute;
	bottom: 30px;
	right: 0;
	transform: rotate(30deg);
	-webkit-transform: rotate(30deg);
}

.lower.construction .lastest_container .txt_container::before {
	right: unset;
	left: 15em;
}

.lower.construction .lastest_container .txt_container::after {
	right: unset;
	left: calc(15em + 60px);
}

.modal_trigger_cat,
.modal_trigger_detail {
	cursor: pointer;
}

.bussiness_note {
    width: 90vw;
    max-width: 1000px;
    margin: 0 auto;
    font-size: 14px;
    text-align: right;
	padding-bottom: 140px;
}



/*construction_modal--------------------------------*/

.modal_wrap .category_container {
	width: 90vw;
	max-width: 1000px;
	height: 97vh;
	padding: 0 20px;
	position: fixed;
	top: 3vh;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	overflow-y: auto;
	display: none;
}

.modal_wrap .category_container::-webkit-scrollbar {
	opacity: 0;
}

.modal_wrap .category_container .category_ttl {
	font-size: 18px;
	font-weight: 700;
	color: #fff;
	line-height: 40px;
	height: 40px;
	margin-bottom: 30px;
	padding-left: 1em;
	border-left: 10px solid #fff;
}

.modal_wrap .category_list_container {
	display: flex;
	flex-wrap: wrap;
	align-items:stretch;
	justify-content: space-between;
}

.modal_wrap .category_list_item {
	width: 48%;
	margin-bottom: 30px;
	background-color: #fff;
	position: relative;
}

.modal_wrap .category_list_item .img_container {
	width: 100%;
	padding-bottom: 65%;
	position: relative;
	overflow: hidden;
}

.modal_wrap .category_list_item .img_container .category_obj {
	width: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	-webkit-transform: translateX(-50%) translateY(-50%);
}

.modal_wrap .category_list_item .txt_container {
	padding: 20px 15px 50px;
}

.modal_wrap .category_list_item .category_list_ttl {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.33em;
}

.modal_wrap .category_list_item .txt_container::before {
	content: '';
	display: block;
	width: 80px;
	height: 2px;
	background-color: #0066b2;
	position: absolute;
	bottom: 20px;
	right: 15px;
}

.modal_wrap .category_list_item .txt_container::after {
	content: '';
	display: block;
	width: 20px;
	height: 2px;
	background-color: #0066b2;
	position: absolute;
	bottom: 25px;
	right: 15px;
	transform: rotate(30deg);
	-webkit-transform: rotate(30deg);
}

.modal_wrap .detail_list_item {
	width: 90vw;
	max-width: 1000px;
	height: 94vh;
	background-color: #fff;
	box-sizing: border-box;
	padding: 20px 30px;
	position: fixed;
	top: 3vh;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	overflow-y: auto;
	display: none;
}

.modal_wrap .detail_list_item .detail_ttl {
	font-size: 18px;
	font-weight: 700;
	line-height: 40px;
	height: 40px;
	margin-bottom: 30px;
	padding-left: 1em;
	border-left: 10px solid #2ea7e0;
}

.modal_wrap .lastest_cases .detail_list_item .detail_ttl {
	color: #0066b2;
	border-color: #0066b2;
}

.modal_wrap .facade .detail_list_item .detail_ttl {
	color: #2ea7e0;
	border-color: #2ea7e0;
}

.modal_wrap .conversion .detail_list_item .detail_ttl {
	color: #f39800;
	border-color: #f39800;
}

.modal_wrap .reinforcement .detail_list_item .detail_ttl {
	color: #5976ba;
	border-color: #5976ba;
}

.modal_wrap .mechanical .detail_list_item .detail_ttl {
	color: #ed7980;
	border-color: #ed7980;
}

.modal_wrap .commerce .detail_list_item .detail_ttl {
	color: #8bbe1d;
	border-color: #8bbe1d;
}

.modal_wrap .other .detail_list_item .detail_ttl,
.modal_wrap .other .detail_list_item .detail_ttl {
	color: #7c509d;
	border-color: #7c509d;
}

.modal_wrap .outerwall .detail_list_item .detail_ttl,
.modal_wrap .outerwall .detail_list_item .detail_ttl {
	color: #fdd703;
	border-color: #fdd703;
}

.modal_wrap .detail_list_item .detail_lead {
	font-size: 30px;
	font-weight: 700;
	padding-bottom: 30px;
}

.modal_wrap .detail_list_item .detail_box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding-bottom: 40px;
}

.modal_wrap .detail_list_item .detail_box .left_container {
	width: 32%;
}

.modal_wrap .detail_list_item .detail_box .right_container {
	width: 64%;
}

.modal_wrap .detail_list_item .detail_box.column {
	flex-direction: column;
}

.modal_wrap .detail_list_item .detail_box.column .left_container {
	width: 100%;
}

.modal_wrap .detail_list_item .detail_box.column .right_container {
	width: 100%;
}

.modal_wrap .detail_list_item .detail_box .img_container.row {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.modal_wrap .detail_list_item .detail_box .img_container.row .img_inner {
	width: 49%;
}

.modal_wrap .detail_list_item .detail_box .img_container {
	width: 100%;
}

.modal_wrap .detail_list_item .detail_box .img_container + .img_container {
	padding-top: 20px;
}

.modal_wrap .detail_list_item .before_txt {
	display: block;
	width: 100%;
	font-family: 'Oswald', sans-serif;
	font-size: 18px;
	font-weight: 400;
	color: #999;
	padding-top: 5px;
	position: relative;
}

.modal_wrap .detail_list_item .before_txt::after,
.modal_wrap .detail_list_item .after_txt.arrow::after {
	content: '';
	display: block;
	border-top: 7px solid #0066b2;
	border-right: 60px solid transparent;
	border-bottom: 7px solid transparent;
	border-left: 60px solid #0066b2;
	position: absolute;
	top: 10px;
	right: 0;
}

.modal_wrap .lastest_cases .detail_list_item .before_txt::after,
.modal_wrap .lastest_cases .detail_list_item .after_txt.arrow::after {
	border-top-color: #0066b2;
	border-left-color: #0066b2;
}

.modal_wrap .facade .detail_list_item .before_txt::after,
.modal_wrap .facade .detail_list_item .after_txt.arrow::after {
	border-top-color: #2ea7e0;
	border-left-color: #2ea7e0;
}

.modal_wrap .conversion .detail_list_item .before_txt::after,
.modal_wrap .conversion .detail_list_item .after_txt.arrow::after {
	border-top-color: #f39800;
	border-left-color: #f39800;
}

.modal_wrap .reinforcement .detail_list_item .before_txt::after,
.modal_wrap .reinforcement .detail_list_item .after_txt.arrow::after {
	border-top-color: #5976ba;
	border-left-color: #5976ba;
}

.modal_wrap .mechanical .detail_list_item .before_txt::after,
.modal_wrap .mechanical .detail_list_item .after_txt.arrow::after {
	border-top-color: #ed7980;
	border-left-color: #ed7980;
}

.modal_wrap .commerce .detail_list_item .before_txt::after,
.modal_wrap .commerce .detail_list_item .after_txt.arrow::after {
	border-top-color: #8bbe1d;
	border-left-color: #8bbe1d;
}

.modal_wrap .other .detail_list_item .before_txt::after,
.modal_wrap .other .detail_list_item .after_txt.arrow::after {
	border-top-color: #7c509d;
	border-left-color: #7c509d;
}

.modal_wrap .outerwall .detail_list_item .before_txt::after,
.modal_wrap .outerwall .detail_list_item .after_txt.arrow::after {
	border-top-color: #fdd703;
	border-left-color: #fdd703;
}

.modal_wrap .detail_list_item .img_inner .before_txt::after {
	display: none;
}

.modal_wrap .detail_list_item .before_txt span,
.modal_wrap .detail_list_item .after_txt span {
	font-size: 14px;
	font-weight: 400;
	color: #333;
	padding-left: 1em;
}

.modal_wrap .detail_list_item .img_container + .txt_container .detail_note {
	padding-top: 30px;
}

.modal_wrap .detail_list_item .detail_note li {
	font-size: 14px;
	font-weight: 400;
	line-height: 1.29em;
	text-indent: -2em;
	padding-left: 2em;
}

.modal_wrap .detail_list_item .spec_list_container {
	display: flex;
	flex-wrap: wrap;
	padding-top: 30px;
}

.modal_wrap .detail_list_item .spec_list_container dt {
	font-size: 14px;
	font-weight: 400;
	line-height: 1.29em;
	width: 3em;
}

.modal_wrap .detail_list_item .spec_list_container dd {
	font-size: 14px;
	font-weight: 400;
	line-height: 1.29em;
	width: calc(100% - 3em);
}

.management .modal_wrap .detail_list_item .spec_list_container dt {
	width: 5em;
}

.management .modal_wrap .detail_list_item .spec_list_container dd {
	width: calc(100% - 5em);
}

.modal_wrap .detail_list_item .after_txt {
	display: block;
	width: 100%;
	font-family: 'Oswald', sans-serif;
	font-size: 24px;
	font-weight: 400;
	color: #0066b2;
	padding-top: 5px;
	position: relative;
}

.modal_wrap .detail_list_item .flex_container {
	display: flex;
	justify-content: space-between;
	align-items: start;
}

.modal_wrap .detail_list_item .flex_container .plain_txt {
	width: 58%;
}

.modal_wrap .detail_list_item .flex_container .spec_list_container {
	width: 38%;
	padding-top: 0;
}

.modal_wrap .detail_list_item .flex_container .flex_item {
	width: 32%;
}

.modal_wrap .detail_list_item .flex_container .flex_item .before_txt {
	padding-bottom: 10px;
}

.modal_wrap .detail_list_item .flex_container .flex_item .plain_txt {
	width: 100%;
}

.modal_wrap .lastest_cases .detail_list_item .after_txt {
	color: #0066b2;
}

.modal_wrap .facade .detail_list_item .after_txt {
	color: #2ea7e0;
}

.modal_wrap .conversion .detail_list_item .after_txt {
	color: #f39800;
}

.modal_wrap .reinforcement .detail_list_item .after_txt {
	color: #5976ba;
}

.modal_wrap .mechanical .detail_list_item .after_txt {
	color: #ed7980;
}

.modal_wrap .commerce .detail_list_item .after_txt {
	color: #8bbe1d;
}

.modal_wrap .other .detail_list_item .after_txt,
.modal_wrap .other .detail_list_item .after_txt {
	color: #7c509d;
}

.modal_wrap .outerwall .detail_list_item .after_txt,
.modal_wrap .outerwall .detail_list_item .after_txt {
	color: #fdd703;
}

.modal_wrap .detail_list_item .detail_box .left_container .plain_txt,
.modal_wrap .detail_list_item .detail_box .right_container .plain_txt {
	font-size: 14px;
	font-weight: 400;
	line-height: 1.6em;
	padding-top: 10px;
}

.modal_wrap .detail_list_item .detail_sub_ttl {
	display: block;
	width: 100%;
	font-size: 24px;
	font-weight: 700;
	color: #2ea7e0;
	padding: 30px 0 10px;
	margin-bottom: 15px;
	border-bottom: 2px solid #2ea7e0;
}

.modal_wrap .lastest_cases .detail_list_item .detail_sub_ttl {
	color: #0066b2;
	border-color: #0066b2;
}

.modal_wrap .facade .detail_list_item .detail_sub_ttl {
	color: #2ea7e0;
	border-color: #2ea7e0;
}

.modal_wrap .conversion .detail_list_item .detail_sub_ttl {
	color: #f39800;
	border-color: #f39800;
}

.modal_wrap .reinforcement .detail_list_item .detail_sub_ttl {
	color: #5976ba;
	border-color: #5976ba;
}

.modal_wrap .mechanical .detail_list_item .detail_sub_ttl {
	color: #ed7980;
	border-color: #ed7980;
}

.modal_wrap .commerce .detail_list_item .detail_sub_ttl {
	color: #8bbe1d;
	border-color: #8bbe1d;
}

.modal_wrap .other .detail_list_item .detail_sub_ttl,
.modal_wrap .other .detail_list_item .detail_sub_ttl {
	color: #7c509d;
	border-color: #7c509d;
}

.modal_wrap .outerwall .detail_list_item .detail_sub_ttl,
.modal_wrap .outerwall .detail_list_item .detail_sub_ttl {
	color: #fdd703;
	border-color: #fdd703;
}

.modal_wrap .detail_list_item .detail_box sup {
	font-size: 12px;
}

.modal_wrap .detail_list_item .detail_box .note_list_item {
	font-size: 14px;
	padding-left: 1.8em;
	text-indent: -1.8em;
}

.modal_wrap .detail_list_item .btn_container {
	padding-bottom: 80px;
}

.modal_wrap .detail_list_item .btn_container a {
	border-color: #0066b2;
	color: #0066b2;
}

.modal_wrap .detail_list_item .btn_container a:hover {
	color: #fff;
}


/*--------------------------------------*/

/*service*/

/*--------------------------------------*/

/*sec01--------------------------------*/

/*.service .business_lead_container {
    width: 90vw;
	max-width: 1000px;
	background: url('../img/service/service_obj01.jpg') center center no-repeat;
}*/


/*mv--------------------------------*/

.lower.service .mv_container {
	width: 100%;
	height: calc(100vh - 80px);
	background: url('../img/service/mv.jpg') left 35% no-repeat;
	background-size: 115%;
	margin-bottom: 0;
}

.lower.service .mv_container::after {
	display: none;
}

.lower.service .mv_container .service_ttl {
	position: absolute;
	top: 45vh;
	left: 10vw;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

.lower.service .mv_container .service_ttl b {
	font-family: 'Noto Serif JP', serif;
	font-size: 42px;
	font-weight: 900;
	color: #fff;
	line-height: 1.43em;
	letter-spacing: .1em;
	text-shadow: 2px 2px 3px rgba(0,0,0,.9);
	white-space: nowrap;
	display: block;
	padding-bottom: 1.39vw;
}

.lower.service .mv_container .service_ttl em {
	font-family: 'Noto Serif JP', serif;
	font-style: normal;
	font-size: 18px;
	font-weight: 700;
	color: #fff;
	line-height: 1.67em;
	letter-spacing: .1em;
	text-shadow: 2px 2px 1px rgba(0,0,0,1);
}

.mv_container .overlay {
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,.4);
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
}



/*sec02--------------------------------*/

.service_container {
    width: 90vw;
	max-width: 1000px;
    margin: 0 auto 60px;
    display: flex;
}

.service_container.operation {
    flex-direction: row-reverse;
}

.service_container.office {
    display: block;
    padding-bottom: 160px;
}

.service_container .txt_container {
    width: 50%;
    box-sizing: border-box;
    background-color: #fff;
    padding: 30px 20px;
}

.service_container .txt_container .service_list_item {
    padding: 0 10px 10px;
}

.service_container .txt_container .service_list_tit {
    font-size: 20px;
    font-weight: bold;
    color: #0066b2;
}

.service_container .txt_container .service_list_txt {
    font-size: 14px;
}

.service_container .img_container {
    width: 50%;
}

.service_container.office .service_list_container {
    display: flex;
}

.service_container.office .service_list_item {
    width: calc(100% / 3);
}

.service_container.office .service_list_item .img_container {
    width: 96%;
    margin: 0 auto;
}

.service_container.office .service_list_item .txt_container {
    width: 96%;
    margin: 0 auto;
    padding: 20px 0;
}

.service_container.office .service_list_item .txt_container .service_list_tit {
    text-align: center;
}


/*--------------------------------------*/

/*inquiry*/

/*--------------------------------------*/

/*sec01--------------------------------*/

.inquiry_container {
    width: 90vw;
	max-width: 1000px;
	min-height: 800px;
	background-color: #fff;
	box-shadow: 0 0 10px rgba(0,0,0,.6);
    box-sizing: border-box;
    padding: 80px 60px;
	margin: 0 auto;
	position: relative;
}

.inquiry .inquiry_list_container {
	padding-bottom: 40px;
}

.inquiry .inquiry_list_container dt {
    font-size: 18px;
    font-weight: 700;
    color: #333;
    position: relative;
    padding-left: 30px;
    padding-bottom: 10px;
}

.inquiry .inquiry_list_container dt:before {
    content: '';
    display: block;
    width: 18px;
    height: 18px;
    background-color: #0066b2;
    position: absolute;
    top: 5px;
    left: 0;
}

.inquiry .inquiry_list_container dd + dt {
    margin-top: 30px;
}

.inquiry.confirm .inquiry_list_container dd {
    padding: 20px;
    background-color: rgba(0,102,178,.1);
}

input[type="text"] {
	width: 100%;
	height: 50px;
	font-size: 16px;
	background-color: #eee;
	border: none;
	box-sizing: border-box;
	padding: 5px;
}

input:focus,
textarea:focus {
	outline: 5px solid rgba(0,102,178,.4);
}

textarea {
	width: 100%;
	height: 10em;
	font-size: 16px;
	background-color: #eee;
	border: none;
	box-sizing: border-box;
	padding: 5px;
}

.formErrorContent {
	color: #cc0000;
	padding-top: 5px;
}

.req {
	background-color: #cc0000;
    border-radius: 5px;
	color: #fff;
	font-size: 12px;
	letter-spacing: .2em;
	padding: 0 5px 2px;
	margin-left: 10px;
}

.submit_container {
	text-align: center;
	padding-top: 5px;
}

input[type="submit"] {
	display: block;
	margin: 0 auto;
	width: 400px;
	height: 50px;
	font-size: 18px;
	font-weight: 500;
	text-align: center;
	line-height: 50px;
    background-color: #fff;
	border: 1px solid #333;
	font-family: 'Oswald', sans-serif;
	box-sizing: border-box;
	position: relative;
	cursor: pointer;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
	position: relative;
}

input[type="submit"]:hover {
	background-color: #0066b2;
	border: 1px solid #0066b2;
	color: #fff;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}

input[type="submit"].back {
	background-color: #eee;
	border: 1px solid #999;
	color: #666;
}

input[type="submit"].back:hover {
	background-color: #999;
	border: 1px solid #999;
	color: #fff;
}

input[type="checkbox"]:focus,
input[type="submit"]:focus,
input[type="submit"].back:focus{
	outline: none;
}


.btn_container.back {
	padding-top: 80px;
}

.error {
	color: #cc0000;
	font-size: 14px;
}

.inquiry .center {
	text-align: center;
}

.inquiry .center.mail {
	padding: 40px 0 80px;
}

.inquiry .plain_txt,
.section ul {
	padding-bottom: 20px;
}

.inquiry.confirm .plain_txt,
.inquiry.finish .plain_txt {
	color: #333;
	font-size: 16px;
	line-height: 1.5em;
}

.inquiry_txt {
	font-size: 16px;
	line-height: 2em;
	padding-bottom: 2em;
	text-align: center;
}


/*--------------------------------------*/

/*news*/

/*--------------------------------------*/

/*sec01--------------------------------*/

.news_post_container {
	width: 1000px;
	min-height: 800px;
	background-color: #fff;
	box-shadow: 0 0 10px rgba(0,0,0,.6);
    box-sizing: border-box;
    padding: 80px 60px;
	margin: 0 auto;
	position: relative;
}

.news_tit {
	font-size: 32px;
	color: #0066b2;
	text-align: left;
	padding-bottom: 20px;
	margin-bottom: 20px;
    border-bottom: 2px solid #0066b2;
}

.news_date {
	font-size: 14px;
	color: #999;
	text-align: right;
	padding-bottom: 20px;
}

.post_content {
	margin-bottom: 60px;
}

.post_content p {
	font-size: 18px;
	line-height: 2em;
	padding-bottom: 2em;
}
.post_content img {
	max-width: 100%!important;
	height: auto;
	margin-bottom: 1.5em;
}
.post_content figure {
	margin: 0;
}
.post_content a {
	color: #007fff;
	text-decoration: underline;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}
.post_content a:hover {
	opacity: .6;
	-webkit-transition: .5s ease-out;
	-moz-transition: .5s ease-out;
	-ms-transition: .5s ease-out;
	transition: .5s ease-out;
}
.post_content h1 {
	font-size: 40px;
	line-height: 1.5em;
	font-weight: bold;
	padding-bottom: .5em;
}
.post_content h2 {
	font-size: 35px;
	line-height: 1.5em;
	font-weight: bold;
	padding-bottom: .5em;
}
.post_content h3 {
	font-size: 30px;
	line-height: 1.5em;
	font-weight: bold;
	padding-bottom: .5em;
}
.post_content h4 {
	font-size: 25px;
	line-height: 1.5em;
	font-weight: bold;
	padding-bottom: .5em;
}
.post_content h5 {
	font-size: 22px;
	line-height: 1.5em;
	font-weight: bold;
	padding-bottom: .5em;
}
.post_content h6 {
	font-size: 20px;
	line-height: 1.5em;
	font-weight: bold;
	padding-bottom: .5em;
}
.post_content strong {
	font-weight: bold;
	padding-bottom: .5em;
}
.post_content em {
	font-style: italic!important;
	padding-bottom: 1.5em;
}
.post_content ul {
	padding-left: 2em;
	padding-bottom: 1.5em;
}
.post_content ul li {
	list-style-type: disc;
	padding-bottom: 0;
	border: 0;
	line-height: 1em;
}
.post_content ol {
	padding-left: 2em;
	padding-bottom: 1.5em;
}
.post_content ol li {
	list-style-type: decimal;
	padding-bottom: 0;
	border: 0;
	line-height: 1.2em;
}
.post_content blockquote {
	margin: 10px;
	padding: 0 20px;
	background-color: rgba(0,0,0,.04);
}
.post_content blockquote:before {
	content: '“';
	font-size: 50px;
	line-height: 1em;
	height: 30px;
	display: block;
	padding-top: 10px;
	color: #0066b2;
}
.post_content blockquote:after {
	content: '”';
	font-size: 50px;
	line-height: 1em;
	height: 20px;
	color: #0066b2;
	display: block;
	padding-bottom: 10px;
	width: 100%;
	text-align: right;
}



/*--------------------------------------*/

/*hotline*/

/*--------------------------------------*/

.hotline_table_container {
	padding-top: 10px;
}

.hotline_table_container th {
	padding: 10px 30px;
	background-color: #0066b2;
	font-size: 16px;
	font-weight: 500;
	color: #fff;
	letter-spacing: .5em;
	text-align: center;
	vertical-align: top;
}

.hotline_table_container td {
	padding: 10px 20px;
	background-color: #eee;
	font-size: 16px;
	font-weight: 500;
	color: #333;
	letter-spacing: .05em;
	vertical-align: top;
}


/*--------------------------------------*/

/*recruit*/

/*--------------------------------------*/

/*sec01--------------------------------*/

.recruit .business_lead_container {
	width: 1000px;
	background: url('../img/top/sec03_bg.jpg') center top no-repeat;
}

.recruit .business_lead_list_container {
    right: auto;
    left: 40px
}



/*sec02--------------------------------*/

.recruit_table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    margin-bottom: 80px;
    border-top: 1px solid #bbb;
}

.recruit_table th {
    width: 20%;
    box-sizing: border-box;
    padding: 20px;
    vertical-align: top;
    background-color: #e5f2fc;
    border-bottom: 1px solid #bbb;
}

.recruit_table th p {
    font-weight: 700;
}

.recruit_table td {
    box-sizing: border-box;
    padding: 20px;
    vertical-align: top;
    background-color: #fff;
    border-bottom: 1px solid #bbb;
}




/*--------------------------------------*/

/*tablet*/

/*--------------------------------------*/




@media screen and (min-width: 768px) and  (max-width: 1280px) {
	
	/*bnr_wrap--------------------------------*/

	.top .bnr_wrap .bnr_container {
		height: unset;
	}

	.top .bnr_wrap .bnr_container a {
		padding: 60px 5vw;
		box-sizing: border-box;
		display: block;
	}

	.top .bnr_wrap .bnr_container a .left_container {
		width: 100%;
		padding-bottom: 60px;
	}

	.top .bnr_wrap .bnr_container a .right_container {
		width: 100%;
	}

	.top .bnr_wrap .bnr_container .flowchart_btn_container {
		width: 600px;
		height: 120px;
	}

	/*solution_bnr_wrap--------------------------------*/
	
	.solution_bnr_wrap .solution_bnr_ttl .tab {
		display: block;
	}
	
	.solution_bnr_wrap .solution_bnr_ttl {
		line-height: 1.4em;
	}

	.solution_bnr_wrap .solution_bnr_txt {
		line-height: 1em;
	}

	/*slick--------------------------------*/

	.slick_prev {
		left: 1.5vw;
		transform: translate(0,-50%);
	}
	
	.slick_next {
		right: 1.5vw;
		transform: translate(0,-50%);
	}

	.top .sec03 .slick_prev {
		left: 1.5vw;
		transform: translate(0,-50%);
	}
	
	.top .sec03 .slick_next {
		right: 1.5vw;
		transform: translate(0,-50%);
	}
	

}

@media screen and (min-width: 768px) and  (max-width: 1100px) {

    /*--------------------------------------*/

    /*footer*/

    /*--------------------------------------*/

    .footer_container {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    .footer_container .logo_container {
        text-align: center;
    }

    .footer_container .office_add {
        padding-left: 0;
        text-indent: 0;
        text-align: center;
    }

	.sec02 .sec02_business_list_item a {
		width: 29.09vw;
	}

	.sec02 .sec02_business_list_item a .txt_container {
		padding: 1.82vw;
	}

	.sec02 .sec02_business_list_item a .txt_container:after {
		width: 9.09vw;
	}

	.lower .sec02_business_list_item {
		padding-bottom: 14.55vw;
	}


    /*--------------------------------------*/

    /*top*/

    /*--------------------------------------*/
	

	.top .consultation_wrap .bnr_container .flowchart_ttl::before {
		font-size: 16.36vw;
	}

	.top .consultation_wrap .bnr_container .flowchart_ttl::after {
		font-size: 16.36vw;
	}

	.top .consultation_wrap .bnr_container .flowchart_ttl span {
		font-size: 4.55vw;
	}

	.top .consultation_wrap .bnr_container .flowchart_ttl strong {
		font-size: 7.27vw;
	}

	.top .consultation_wrap .bnr_container .flowchart_txt {
		font-size: 3.82vw;
	}


    /*--------------------------------------*/

    /*service*/

    /*--------------------------------------*/

    /*sec02--------------------------------*/

    .service_container .txt_container {
        padding: 2.73vw 1.82vw;
    }

    .service_container .txt_container .sub_tit {
        font-size: 2.36vw;
        margin-bottom: 2.73vw;
    }

    .service_container .txt_container .service_list_item {
        padding: 0 .91vw .91vw;
    }

    .service_container .txt_container .service_list_tit {
        font-size: 1.82vw;
    }
}

@media screen and (min-width: 768px) and  (max-width: 980px) {

    
	/*--------------------------------------*/

	/*company*/

	/*--------------------------------------*/

    .history_container .history_tit {
        font-size: 3.67vw;
    }

    .history_list_container {
        width: 45.35%;
        padding: 3.06vw 1.7%;
        right: 4.54%;
    }
    
    .history_list_container dt {
        padding-bottom: 2.04vw;
        margin-bottom: 2.04vw;
    }

    .history_list_container dd .btn_container a {
        width: 75%;
    }
    
    /*--------------------------------------*/

    /*management*/

    /*--------------------------------------*/

    /*sec01--------------------------------*/

    .business_lead_container .business_lead_tit {
        font-size: 3.67vw;
    }

    .business_lead_list_container {
        right: 4.54%;
    }

    .business_lead_container dd .btn_container a {
        width: 75%;
    }

    .business_item {
        font-size: 1.84vw;
        margin: 0 10px 1.02vw 0;
        padding: 5px 1.05vw;
    }

    /*sec02--------------------------------*/

    .achievement_list_container .achievement_list_item {
        width: 50%;
    }

    .achievement_list_container .achievement_list_inner {
        width: 96%;
    }


    /*--------------------------------------*/

    /*service*/

    /*--------------------------------------*/

    /*sec02--------------------------------*/

    .service_container .txt_container .service_list_txt {
        font-size: 1.43vw;
    }

    
	/*--------------------------------------*/

	/*construction*/

	/*--------------------------------------*/


	/*sec01--------------------------------*/

	.lower.construction .balloon_txt {
		font-size: 2.24vw;
	}
	
	.lower.construction .construction_lead {
		display: block;
		font-size: 3.67vw;
		font-weight: 700;
		text-align: center;
		padding-bottom: 20px;
		margin: 0 auto 40px;
		border-bottom: 1px solid #0066b2;
		position: relative;
	}
	
	.lower.construction .construction_lead::after {
		content: '';
		display: block;
		width: 100px;
		height: 10px;
		background-color: #0066b2;
		position: absolute;
		bottom: -5px;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
	}
	
	.lower.construction .construction_lead + .plain_txt {
		font-size: 1.63vw;
	}

	/*solution_bnr_wrap--------------------------------*/
	
	.top .solution_ttl,
	.lower.construction .solution_ttl {
		font-size: 4.29vw;
	}
	
	.top .solution_bnr_wrap .solution_txt,
	.lower.construction .solution_bnr_wrap .solution_txt {
		font-size: 2.45vw;
	}
	
	
	
	/*sec02--------------------------------*/
	
	.lower.construction .summary_list_item .txt_container {
		padding: 10px 1.53vw 20px;
	}
	
	.lower.construction .summary_list_item .summary_ttl {
		font-size: 2.45vw;
	}
	
	.lower.construction .summary_list_item .txt_container::before {
		width: 8.16vw;
	}
}