@charset"utf-8";

@media screen and (max-width: 768px) {

	/*common--------------------------------*/

	.sp {
		display: block;
		width: 100%;
		height: auto;
		padding: 0;
		margin: 0;
	}

	.pc {
		display: none;
	}

	.container {
		width: 90%;
		margin: 0 auto;
		position: relative;
		padding: 0;
	}

	.plain_txt {
		font-size: 3.6vw;
		line-height: 1.5em;
	}
	
	.hover:hover {
		opacity: 1;
	}

	section {
		padding: 20% 0;
	}

	.btn_container {
		padding: 10.67vw 0;
	}

	.btn_container a {
		display: block;
		width: 90%;
		height: 13.33vw;
		font-size: 4.8vw;
		line-height: 13.33vw;
	}
	
	section > .btn_container a {
		width: 80%;
	}

	.sec_tit {
		font-family: 'Oswald', sans-serif;
		font-size: 9.6vw;
		padding-bottom: 10.67vw;
	}

	.sub_tit {
		font-size: 5.31vw;
		padding-bottom: 2.67vw;
		margin-bottom: 8vw;
	}

	.sub_tit span {
		font-size: 5.31vw;
	}

	.sub_tit .sp + span {
		padding-left: 0;
	}



	/*--------------------------------------*/

	/*header*/

	/*--------------------------------------*/

	header {
		height: 15vw;
		padding: 2vw;
	}

	header .logo_container {
		width: 55vw;
	}


	/*menu-trigger--------------------------------*/

	.menu-trigger {
		position: absolute;
		top: 2vw;
		right: 3vw;
		width: 11.2vw;
		height: 11.2vw;
		display: block;
		z-index: 99999;
		cursor: pointer;
		-webkit-transition: .2s ease-out;
		-moz-transition: .2s ease-out;
		-ms-transition: .2s ease-out;
		transition: .2s ease-out;
	}

	.menu-trigger,
	.menu-trigger span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}

	.menu-trigger span {
		position: absolute;
		left: 1.33vw;
		width: 9.07vw;
		height: 0.8vw;
		background-color: #0066b2;
		z-index: 4;
	}

	.menu-trigger span:nth-of-type(1) {
		top: 2.13vw;
	}

	.menu-trigger span:nth-of-type(2) {
		top: 5.33vw;
	}

	.menu-trigger span:nth-of-type(3) {
		bottom: 2.13vw;
	}

	.menu-trigger.active span:nth-of-type(1) {
		-webkit-transform: translateY(2.67vw) rotate(-45deg);
		transform: translateY(2.67vw) rotate(-45deg);
	}


	.menu-trigger.active span:nth-of-type(2) {
		left: 50%;
		opacity: 0;
		-webkit-animation: active-menu-bar02 .8s forwards;
		animation: active-menu-bar02 .8s forwards;
	}

	.menu-trigger.active span:nth-of-type(3) {
		-webkit-transform: translateY(-3.57vw) rotate(45deg);
		transform: translateY(-3.57vw) rotate(45deg);
	}

	header .menu-target {
		width: 100%;
        height: 100vh;
        background-color: rgba(0,0,0,.7);
		position: absolute;
		top: 15vw;
		left: 0;
		display: none;
        overflow-y: scroll;
	}

    header .menu-target nav {
		width: 100%;
        height: 120%;
    }

	header .nav_container {
		display: block;
		width: 100%;
		box-sizing: border-box;
		background-color: rgba(255,255,255,.95);
		text-align: center;
		padding: 6vw 5%;
		box-shadow: 0 2px 2px 3px rgba(0,0,0,.1);
	}

	header .nav_container .nav_item {
		display: block;
		height: auto;
		padding: 0;
		border-top: 2px dotted #0066b2;
	}

	header .nav_container .nav_item a {
		display: block;
		font-size: 4.2vw;
		text-align: center;
		line-height: 100%;
		width: 100%;
		padding: 5vw 0;
		box-sizing: border-box;
	}

	header .sub_nav {
		position: static;
		width: 100%;
		padding: 0 3vw;
		box-sizing: border-box;
		background-color: rgba(51,51,51,.1);
		box-shadow: none;
		text-align: left;
		border-top: 2px dotted #0066b2;
		display: block;
	}

	header .sub_nav .sub_nav_item {
		display: block;
		width: 100%;
		padding: 0;
		border-bottom: 1px solid #0066b2;
	}

	header .sub_nav .sub_nav_item:last-child {
		border-bottom: 0;
	}
	header .sub_nav .sub_nav_item a {
		display: flex;
		padding: 2vw;
	}
	header .sub_nav .parent {
		display: none;
	}

	header .sub_nav .sub_nav_item .img_container {
		width: 30%;
		height: 15.94vw;
	}

	header .sub_nav .sub_nav_item .txt_container {
		width: 70%;
		box-sizing: border-box;
		text-align: left;
		padding-left: 2em;
		font-size: 4vw;
		line-height: 15.376vw;
	}

	header .sub_nav > a {
		display: none;
	}


	/*--------------------------------------*/

	/*footer*/

	/*--------------------------------------*/

	footer .pagetop_container a {
		font-size: 3.2vw;
	}

	.footer_container {
		width: 90%;
		margin: 6.67vw auto 5.33vw;
		display: block;
	}

	.footer_container .logo_container {
		width: 100%;
		text-align: center;
	}

	.footer_container .logo_container img {
		width: 60%;
	}

	.footer_container .office_add {
		font-size: 3.6vw;
		text-align: center;
		padding-left: 0;
		text-indent: 0;
	}

	.footer_container .inquiry_list_container {
		width: 100%;
		display: block;
		padding-top: 6.67vw;
	}

	.footer_container .inquiry_list_container .btn_inquiry {
		width: 90%;
		margin: 0 auto;
		height: 10.66vw;
		font-size: 4.2vw;
		line-height: 10.66vw;
	}

	.footer_container .inquiry_list_item:last-child {
		padding: 6.67vw 0 0;
		display: block;
		text-align: center;
	}

	.footer_container .tel {
		font-size: 10vw;
		line-height: 1.5em;
	}

	.footer_container .rec_time {
		font-size: 3.2vw;
		line-height: 1.5em;
		padding-left: 0;
		text-align: center;
	}

	footer nav {
		width: 80%;
		margin: 0 auto;
		padding-bottom: 6.67vw;
	}

	footer nav .nav_container {
		display: block;
	}

	footer nav .nav_container .nav_item {
		width: 100%;
		padding: 0 2em .8em .8em;
	}

	footer nav .nav_container .nav_item:first-child,
	footer nav .nav_container .nav_item:nth-child(2) {
		width: 100%;
		padding-left: 0;
		padding-right: 0;
		display: block;
	}

	footer nav .nav_container .nav_item span {
		display: block;
		width: 100%;
		padding: 0 0 .5em 0;
	}

	footer nav .nav_container .sub_nav {
		display: flex;
		flex-wrap: wrap;
	}

	footer nav .nav_container .sub_nav_item {
		box-sizing: border-box;
		position: relative;
		padding: 0 2em .8em .8em;
	}

	.footer_bnr_container {
		background-color: #f3f4f5;
		padding: 25px 0;
	}

	.footer_bnr_list_container {
		width: 80%;
		display: block;
	}

	.footer_bnr_list_item {
		width: 100%;
	}

	.footer_bnr_list_item a {
		width: 100%;
	}

	address {
		height: 10.67vw;
		font-size: 3.2vw;
		line-height: 10.67vw;
	}


	/*--------------------------------------*/

	/*top*/

	/*--------------------------------------*/


	/*mv_container--------------------------------*/

	.top .mv_container {
		background: #fff url('../img/top/mv_obj.jpg') center center no-repeat;
		background-size: cover;
		height: calc(100vh - 45vw);
	}

	.top header.fixed + .mv_container {
		height: calc(100vh - 45vw);
	}

	/*.top .mv_container .slick_item > div {
		height: calc(100vh - 15vw);
	}

	.top .mv_container .catch {
		font-size: 8vw;
	}*/

	.top .mv_container .catch {
		width: 90vw;
		left: 5vw;
		transform: translateX(0) translateY(-50%);
		-webkit-transform: translateX(0) translateY(-50%);
	}

	.top .mv_container .catch b {
		font-size: 7.73vw;
		line-height: 1.4em;
		text-shadow: 2px 2px 2px rgba(0,0,0,.9);
		padding-bottom: 5.33vw;
	}

	.top .mv_container .catch b.pc {
		display: none;
	}

	.top .mv_container .catch em {
		font-size: 3.86vw;
		color: #fff;
		line-height: 1.85em;
		letter-spacing: .1em;
		text-shadow: 1px 1px 2px rgba(0,0,0,1);
	}

	.top .mv_container .lasteset_news_container {
		position: absolute;
		width: 90%;
		padding: 2.67vw 1.33vw 2.67vw 2.67vw;
	}

	.top .mv_container .lasteset_news_container dl {
		width: 100%;
	}

	.top .mv_container .lasteset_news_container dt {
		font-size: 8vw;
		line-height: 10.08vw;
		width: 23%;
	}

	.top .mv_container .lasteset_news_container dd {
		width: 77%;
	}

	.top .mv_container .lasteset_news_container dd a {
		width: 100%;
		font-size: 3.6vw;
		line-height: 1.4em;
		display: block;
	}

	.top .mv_container .lasteset_news_container dd a + a {
		margin-top: 1.33vw;
	}

	.top .mv_container .lasteset_news_container dd span {
		padding: 0;
		width: 100%;
		display: block;
		font-weight: 500;
		line-height: 1.5em;
	}
	


	/*bnr_wrap--------------------------------*/

	.top .bnr_wrap .bnr_container {
		height: unset;
	}

	.top .bnr_wrap .bnr_container a {
		padding: 9.66vw 2vw;
		box-sizing: border-box;
		display: block;
	}

	.top .bnr_wrap .bnr_container a .left_container {
		width: 100%;
		padding-bottom: 8vw;
	}

	.top .bnr_wrap .bnr_container .flowchart_ttl {
		padding: 0 12.08vw;
		margin-bottom: 5.33vw;
		text-align: center;
	}

	.top .bnr_wrap .bnr_container .flowchart_ttl::before {
		font-size: 29vw;
	}

	.top .bnr_wrap .bnr_container .flowchart_ttl::after {
		font-size: 29vw;
	}

	.top .bnr_wrap .bnr_container .flowchart_ttl span {
		font-size: 4.35vw;
	}

	.top .bnr_wrap .bnr_container .flowchart_ttl strong {
		font-size: 8.7vw;
	}

	.top .bnr_wrap .bnr_container .flowchart_txt {
		font-size: 4.83vw;
	}

	.top .bnr_wrap .bnr_container a .right_container {
		width: 100%;
	}

	.top .bnr_wrap .bnr_container .flowchart_btn_container {
		width: 100%;
		height: 24.15vw;
		border: 4px solid #0e4813;
	}

	.top .bnr_wrap .bnr_container .flowchart_btn_container span {
		font-size: 4.83vw;
		padding: 0 9.66vw 0 19.32vw;
	}

	.top .bnr_wrap .bnr_container .flowchart_btn_container span::before {
		width: 14.49vw;
		height: 14.49vw;
	}

	.top .bnr_wrap .bnr_container .flowchart_btn_container span::after {
		border-top: 1.93vw solid transparent;
		border-bottom: 1.93vw solid transparent;
		border-left: 2.42vw solid #0e4813;
	}
	
	.top .bnr_wrap .bnr_container .flowchart_btn_container:hover span::after {
		border-left: 2.42vw solid #fff;
	}
	


	/*consultation_wrap--------------------------------*/

	.top .consultation_wrap {
		padding: 0;
	}

	.top .consultation_wrap .bnr_container {
		height: unset;
	}

	.top .consultation_wrap .bnr_container .flowchart_wrap {
		padding: 19.32vw 0;
	}

	.top .consultation_wrap .bnr_container a .txt_wrap {
		width: 100%;
		padding-bottom: 8vw;
	}

	.top .consultation_wrap .bnr_container .flowchart_ttl {
		padding: 0 12.08vw;
		margin-bottom: 5.33vw;
		text-align: center;
	}

	.top .consultation_wrap .bnr_container .flowchart_ttl::before {
		font-size: 29vw;
	}

	.top .consultation_wrap .bnr_container .flowchart_ttl::after {
		font-size: 29vw;
	}

	.top .consultation_wrap .bnr_container .flowchart_ttl span {
		font-size: 4.35vw;
	}

	.top .consultation_wrap .bnr_container .flowchart_ttl strong {
		font-size: 8.7vw;
	}

	.top .consultation_wrap .bnr_container .flowchart_txt {
		font-size: 4.83vw;
	}

	.top .consultation_wrap .bnr_container .flowchart_wrap .btn_wrap {
		width: 80vw;
		height: 24.15vw;
		margin: 9.66vw auto 0;
	}

	.top .consultation_wrap .bnr_container .flowchart_btn_container {
		border: 4px solid #0e4813;
	}

	.top .consultation_wrap .bnr_container .flowchart_btn_container span {
		font-size: 4.83vw;
		padding: 0 9.66vw 0 19.32vw;
	}

	.top .consultation_wrap .bnr_container .flowchart_btn_container span::before {
		width: 14.49vw;
		height: 14.49vw;
	}

	.top .consultation_wrap .bnr_container .flowchart_btn_container span::after {
		border-top: 1.93vw solid transparent;
		border-bottom: 1.93vw solid transparent;
		border-left: 2.42vw solid #0e4813;
	}
	
	.top .consultation_wrap .bnr_container .flowchart_btn_container:hover span::after {
		border-left: 2.42vw solid #fff;
	}

	/*sec00--------------------------------*/

	.newly_container {
		padding: 3.62vw 0;
	}

	.newly_container .container {
		width: 90vw;
		max-width: 90vw;
		padding: 14.49vw 0 38.65vw;
	}

	.newly_container .newly_ttl {
		font-size: 6.76vw;
		padding-bottom: 7.25vw;
	}

	.newly_container .newly_txt {
		font-size: 4.35vw;
		text-align: left;
	}

	.newly_list_container {
		width: 90vw;
		height: unset;
		margin: 2.5vw auto 0;
		display: block;
	}
	
	.newly_list_item {
		width: 100%;
		height: 72.46vw;
		padding: 2.5vw 0;
	}
	
	.newly_list_item a .newly_list_ttl {
		font-size: 7.73vw;
		left: 12vw;
	}
	
	.newly_list_item a .newly_list_ttl::after {
		border-top: 1.45vw solid transparent;
		border-bottom: 1.45vw solid transparent;
		border-left: 2.9vw solid #0066b2;
		left: -5.8vw;
	}
	
	.office_modal_wrap .office_list_container {
		width: 100vw;
		padding: 8vh 0 2vh;
	}
	
	.office_modal_wrap .office_list_item {
		max-width: 86vw;
		height: 75vh;
		padding: 4vw;
		margin: 0 12vw;
	}
	
	.office_modal_wrap .office_list_item .office_list_ttl {
		font-size: 5.8vw;
		padding-bottom: 3.62vw;
	}
	
	.office_modal_wrap .office_list_item .plain_txt {
		font-size: 3.86vw;
	}
	
	.office_modal_wrap .office_list_item .img_container {
		max-width: 76vw;
		aspect-ratio:  1 / 1;
	}
	
	.office_modal_wrap .office_list_item .office_cap {
		font-size: 3.38vw;
		padding-top: 2.42vw;
	}
	
	.office_modal_wrap .thumb_list_container {
		max-width: 86vw;
	}
	
	.office_modal_wrap .thumb_list_container .thumb_list_item {
		width: 20%;
		aspect-ratio: 1 / 1;
		margin: 2.42vw 1.21vw;
	}
	
	.office_modal_wrap .slick_prev {
		width: 7.25vw;
		height: 7.25vw;
		left: 3vw;
	}
	
	.office_modal_wrap .slick_next {
		width: 7.25vw;
		height: 7.25vw;
		right: 3vw;
	}
	
	.office_modal_wrap .modal_close {
		font-size: 9.66vw;
		bottom: unset;
		left: unset;
		top: 2vw;
		right: 3vw;
	}



	/*sec01--------------------------------*/

	.top .sec01 {
		padding: 14.49vw 0 24.15vw;
		background-size: 300% auto;
	}

	.top .sec01:before {
		width: 72.27vw;
		height: 57.78vw;
	}

	.top .sec01:after {
		content: '';
		display: block;
		width: 300px;
		height: 194px;
		background: url('../img/top/sec01_obj02.png') center center no-repeat;
		background-size: contain;
		position: absolute;
		bottom: 0;
		right: -1vw;
		transform: translateY(45%) rotate(5deg);
		z-index: -1;
	}

	.top .sec01 .container:before {
		width: 100vw;
		height: 85vw;
		top: 45vw;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
	}
	
	.top .sec01 .txt_container {
		width: 90vw;
		padding-left: 0;
	}

	.top .sec01 .lead_txt {
		font-size: 8.2vw;
		text-align: center;
		padding-bottom: 100vw;
	}

	.top .sec01 .plain_txt {
		font-size: 3.86vw;
		text-align: left;
		white-space: normal;
	}

	.top .sec01 .btn_container {
		padding: 7.25vw 0 0;
	}

    .top article .btn_container a {
        width: 80vw;
		height: 10.66vw;
		line-height: 10.66vw;
    }


	/*sec02--------------------------------*/

	.top .sec02_lead_container {
		width: 100%;
		height: 106.67vw;
		background: url('../img/top/sec02_bg.jpg');
		background-position: 20% center;
		background-size: cover;
		box-sizing: border-box;
		padding: 10vw 4.8vw;
	}

	.top .sec02_lead_list_container {
		width: 100%;
		height: auto;
		padding: 8vw 4vw;
		position: static;
	}

	.top .sec02_lead_list_container dt {
		font-size: 4.8vw;
		padding-bottom: 5.33vw;
		margin-bottom: 5.33vw;
	}

	.top .sec02_lead_list_container dd {
		font-size: 3.4vw;
	}

	.sec02 .sec02_business_list_container {
		width: 90%;
		display: block;
	}

	.sec02 .sec02_business_list_item {
		width: 100%;
		margin-top: -21.33vw;
	}

	.sec02 .sec02_business_list_item:not(:nth-child(1)) {
		margin-top: 5.33vw;
	}

	.sec02 .sec02_business_list_item a {
		display: block;
		width: 100%;
	}

	.sec02 .sec02_business_list_item a .txt_container {
		padding: 5.33vw;
		font-size: 4.8vw;
	}

	.sec02 .sec02_business_list_item a .txt_container:before {
		right: 6.67vw;
	}

	.sec02 .sec02_business_list_item a .txt_container:after {
		width: 26.67vw;
		right: 5.33vw;
	}

	.top .bc_list_item {
		width: 90vw;
		padding: 0 7.25vw;
	}

	.top .bc_list_item .container {
		width: 90vw;
	}
	
	.top .bc_list_item .img_container {
		width: 100%;
	}
	
	.top .bc_list_item .txt_container {
		padding-top: 5.33vw;
	}
	
	.top .bc_list_item .bc_list_ttl {
		font-size: 4.83vw;
		padding-bottom: 4vw;
	}
	
	.top .bc_list_item .bc_list_txt {
		font-size: 3.86vw;
	}
	
	.top .bc_list_item .btn_container {
		padding-top: 8vw;
	}
	
	.top .bc_list_item .btn_container a {
		width: 70vw;
		height: 10.87vw;
		line-height: 10.87vw;
		display: block;
		margin: 0 auto;
	}

	.slick_prev {
		width: 7.25vw;
		height: 7.25vw;
		top: 20%;
		left: 1.1vw;
		transform: translate(0,-50%);
	}
	
	.slick_prev::after {
		width: 2.42vw;
		height: 2.42vw;
	}
	
	.slick_next {
		width: 7.25vw;
		height: 7.25vw;
		top: 20%;
		right: 1.1vw;
		transform: translate(0,-50%);
	}
	
	.slick_next::after {
		width: 2.42vw;
		height: 2.42vw;
	}

	.top .business_list_item .business_container {
		width: calc(100% - 10vw);
		height: calc(100% - 10vw);
	}

	.top .business_list_item .business_container.overlay::before {
		width: calc(100% - 10vw);
		height: calc(100% - 10vw);
		top: 5vw;
		left: 5vw;
	}

	.top .business_list_item:nth-child(2) .business_container {
		background: url('../img/top/renewal_obj.jpg') 60% center no-repeat;
		background-size: cover;
	}

	.top .business_list_item:nth-child(4) .business_container {
		background: url('../img/top/development_obj.jpg') 40% center no-repeat;
		background-size: cover;
	}

	.top .business_list_item:nth-child(2) .business_container .txt_container {
		transform: translate(-50%, -50%);
		top: 50%;
		left: 50%;
	}

	.top .business_list_item:nth-child(3) .business_container .txt_container {
		transform: translate(-50%, -50%);
		top: 50%;
		bottom: unset;
		left: 50%;
		right: unset;
	}

	.top .business_list_item:nth-child(4) .business_container .txt_container {
		transform: translate(-50%, -50%);
		top: 50%;
		left: 50%;
		right: unset;
	}

	.top .business_list_item .business_container .business_ttl {
		padding-bottom: 4.83vw;
	}

	.top .business_list_item .business_container .business_ttl i {
		font-size: 4.83vw;
	}

	.top .business_list_item .business_container .business_ttl strong {
		font-size: 32px;
		white-space: nowrap;
	}

	.top .business_list_item .business_container .business_txt {
		width: 90vw;
	}

	.top .business_list_item .business_container .business_txt strong {
		width: 100vw;
		transform: translateX(-5vw);
		font-size:5.31vw;
	}

	.top .business_list_item .business_container .business_txt span {
		font-size: 3.86vw;
	}

	.top .business_list_item .business_container .btn_container a {
		width: 60vw;
		height: 10vw;
		line-height: 10vw;
	}




	/*sec03--------------------------------*/

	.top .sec03 {
		background-color: #fff;
		padding-top: 14.49vw;
	}

	.top .sec03_recruit_container {
		width: 100%;
		height: 133.33vw;
		background: url('../img/top/sec03_bg.jpg') 70% center no-repeat;
		box-sizing: border-box;
		padding: 20vw 4.8vw;
	}

	.top .sec03_recruit_list_container {
		width: 100%;
		height: auto;
		padding: 8vw 4vw;
		position: static;
	}

	.top .sec03_recruit_list_container dt {
		font-size: 4.8vw;
		padding-bottom: 5.33vw;
		margin-bottom: 5.33vw;
	}

	.top .sec03_recruit_list_container dd {
		font-size: 3.4vw;
	}

	.top .sec03_recruit_list_container dd .btn_container {
		padding: 5.33vw 0 0;
	}

	.top .sec03_recruit_list_container dd .btn_container a {
		width: 90%;
		height: 10.67vw;
		line-height: 10.67vw;
	}

	.top .catalog_list_item {
		width: 90vw;
		margin: 0 auto;
	}

	.top .catalog_list_item {
		padding: 0 7.25vw;
	}
	
	.top .catalog_list_item .btn_container {
		padding-top: 8vw;
	}
	
	.top .catalog_list_item .btn_container a {
		width: 70vw;
		height: 10.87vw;
		line-height: 10.87vw;
		display: block;
		margin: 0 auto;
	}

	.top .sec03 .slick_prev {
		width: 7.25vw;
		height: 7.25vw;
		top: 30%;
		left: 1.1vw;
		transform: translate(0,-50%);
	}
	
	.top .sec03 .slick_prev::after {
		width: 2.42vw;
		height: 2.42vw;
	}
	
	.top .sec03 .slick_next {
		width: 7.25vw;
		height: 7.25vw;
		top: 30%;
		right: 1.1vw;
		transform: translate(0,-50%);
	}
	
	.top .sec03 .slick_next::after {
		width: 2.42vw;
		height: 2.42vw;
	}


	/*sec04--------------------------------*/

	.top .sec04 .news_list_container {
		width: 90%;
		padding: 8vw;
	}

	.top .sec04 .news_list_item {
		padding: 3vw 2vw;
	}

	.top .sec04 .news_list_item a {
		display: block;
	}

	.top .sec04 .news_list_item span {
		display: block;
		width: 100%;
	}

	.top .sec04 .news_list_item b {
		display: block;
		width: 100%;
		line-height: 1.4em;
	}


	/*--------------------------------------*/

	/*lower*/

	/*--------------------------------------*/

	/*common--------------------------------*/

	.lower section:nth-of-type(even) {
		background-color: #f3f4f5;
	}

	/*mv_container--------------------------------*/

	.lower .mv_container {
		width: 100%;
		height: 48vw;
		background: url('../img/common/mv.jpg') left 85% no-repeat;
		background-size: 140% auto;
        padding-top: 15vw;
		margin-bottom: -42vw;
	}

	.lower .mv_container .page_tit {
		width: 100%;
	}

	.lower .mv_container .page_tit span {
		font-size: 6vw;
		left: 50%;
		transform: translateX(-50%) translateY(-50%);
		-webkit-transform: translateX(-50%) translateY(-50%);
		top: 14vw;
	}

	/*section--------------------------------*/

	.lower section:last-of-type {
	background-size: 100% auto;
	}


	/*--------------------------------------*/

	/*company*/

	/*--------------------------------------*/

	/*sec01--------------------------------*/

	.lower section:nth-of-type(even).history_wrap {
		background-color: #f3f4f5;
		padding-bottom: 90vw;
	}

	.history_container {
		width: 90%;
		height: auto;
		padding-bottom: 34.8%;
		background: url('../img/company/company_obj01.jpg') center center no-repeat;
		box-shadow: 0 0 1.8vw rgba(0,0,0,.4);
		background-size: cover;
		margin: 0 auto;
		position: relative;
	}

	.history_container .history_tit {
		font-size: 8vw;
		white-space: nowrap;
		left: 50%;
		transform: translateX(-50%) translateY(-50%);
		-webkit-transform: translateX(-50%) translateY(-50%);
	}

	.history_list_container {
		width: 100%;
		box-sizing: border-box;
		padding: 8vw 4vw;
		position: absolute;
		top: 105%;
		right: 0;
	}

	.history_list_container dt {
		font-size: 4.8vw;
		padding-bottom: 5.33vw;
		margin-bottom: 5.33vw;
	}

	.history_list_container dd {
		font-size: 3.4vw;
	}

	.history_list_container dd .btn_container {
		padding: 5.33vw 0 0;
	}

	.history_list_container dd .btn_container a {
		width: 90%;
		height: 10.67vw;
		line-height: 10.67vw;
	}



	/*sec02--------------------------------*/

    #tab_trigger {
        padding-top: 17vw;
        margin-top: -17vw;
    }

	.profile_wrap {
		padding-top: 57.97vw;
	}

	.message_wrap {
		padding-bottom: 14.49vw;
	}

	.message_container {
		min-height: unset;
		background: url('../img/company/president_obj.jpg') center 14vw no-repeat;
		background-size: 100% auto;
		padding: 0 5vw 9.66vw;
	}

	.message_container:before {
		display: none;
	}

	.message_container:after {
		display: none;
	}

	.message_container .txt_container {
		width: 100%;
		max-width: 100%;
	}

	.message_container .message_ttl {
		width: 100%;
		font-size: 5.8vw;
		color: #333;
		text-shadow: unset;
		padding-bottom: 80vw;
	}

	.message_container .message_txt {
		width: 100%;
		font-size: 3.86vw;
		color: #333;
		text-shadow: unset;
	}

	.message_container .president_ttl {
		width: 100%;
	}

	.message_container .president_ttl span {
		font-size: 3.14vw;
		color: #333;
		text-shadow: unset;
	}
	.message_container .president_ttl strong {
		font-size: 4.83vw;
		color: #333;
		text-shadow: unset;
	}

	.policy_wrap {
		padding: 19.32vw 0 7.25vw;
	}
	
	.lower .policy_wrap .lead_txt {
		line-height: 1.64em;
	}
	
	.policy_wrap .overview_list_container {
		width: 100%;
	}

	.history_wrap {
		padding-top: 20%;
	}

    .toagroup_history .history_wrap {
        padding: 20% 0 90vw;
    }

	.profile_list_container {
		width: 90%;
		margin: 0 auto 7.7vw;
		display: block;
	}

	.profile_list_container:nth-of-type(2) {
		margin: 7.7vw auto 0;
	}

	.profile_list_item {
		width: 100%;
		height: 12.82vw;
		padding: 0;
	}

    .profile_list_item a {
		height: 12.82vw;
        margin: 0 auto;
        box-sizing: border-box;
    }

    .profile_list_item a h3 {
        font-size: 3.6vw;
    }

    .profile_list_item a h3:after {
        width: 1.54vw;
        height: 1.54vw;
        right: 5.13vw;
    }

	.profile_target_container {
		width: 100%;
		padding: 16vw 0;
		margin: 0 auto;
		border: none;
	}

	.profile_inner {
        width: 90%;
		padding-bottom: 16vw;
	}

	.lower .lead_txt {
		font-size: 5.6vw;
		text-align: left;
		padding-bottom: 5.33vw;
	}

	.lower .lead_txt span.sp {
		display: inline;
	}

	.business_list_container {
		width: 100%;
		margin: 0 auto;
	}

	.business_list_item {
		width: 100%;
		display: block;
		padding: 5.33vw;
		margin-bottom: 8vw;
	}

	.business_list_item a {
		display: block;
		width:  100%;
	}

	.business_list_item a .txt_container {
		padding: 5.33vw;
		font-size: 4.8vw;
	}

	.business_list_item a .txt_container:before {
		right: 6.67vw;
	}

	.business_list_item a .txt_container:after {
		width: 26.67vw;
		right: 5.33vw;
	}

	.business_summary_list_wrap {
		width:  100%;
	}

	.business_summary_list_container {
		padding: 5.33vw 1.67vw 0;
	}

	.business_summary_list_wrap .note {
		padding: 5.33vw 1.67vw 0 5.05vw;
		font-size: 3.38vw;
		text-indent: -3.38vw;
	}
	
	.business_summary_list_item {
		font-size: 3.6vw;
		padding-left: 1em;
		text-indent: -1em;
	}

	.business_summary_list_wrap .btn_container {
		padding: 5.33vw 0 0;
	}

	.quality_policy_list_container {
		padding: 5.33vw 0;
	}

	.quality_policy_list_item {
		font-size: 4.59vw;
	}

    /*.quality_policy_list_item:not(:first-child) {
        padding-left: 1.5em;
    }*/

	.poilcy_sign {
		font-size: 4.3vw;
		padding-right: 0;
	}

    .overview_list_container dt {
        font-size: 4.1vw;
        padding-left: 6.41vw;
        padding-bottom: 2.56vw;
    }

    .overview_list_container dt:before {
        content: '';
        display: block;
        width: 4.1vw;
        height: 4.1vw;
        background-color: #0066b2;
        position: absolute;
        top: 1.28vw;
        left: 0;
    }

    .overview_list_container dd {
        font-size: 3.59vw;
        padding: 0 0 7.7vw 0;
    }

    .overview_list_container dd ul li .note {
        display: block;
        padding-left: 0;
        text-indent: 0;
    }

    .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: 6em;
        font-size: 3.86vw;
        padding-bottom: 1.33vw;
    }

    .overview_list_container dd .dev_list_container dd {
        font-size: 3.86vw;
        padding-bottom: 1.33vw;
    }

    .overview_list_container dd .toa_modal_list_container dt {
        font-size: 3.86vw;
        padding-bottom: 1.33vw;
    }

    .overview_list_container dd .toa_modal_list_container dd {
        font-size: 3.86vw;
        padding-bottom: 1.33vw;
    }

	.toa_modal_sign {
        font-size: 3.86vw;
		padding-right: 1em;
	}

	.plain_table {
		width: 100%;
		border-collapse: collapse;
		border-spacing: 0;
	}

	.plain_table tr:nth-child(odd) {
		background-color: #eee;
	}

	.plain_table th {
		display: block;
		width: 100%;
		padding: 5.33vw 5.33vw 0 5.33vw;
		font-size: 3.6vw;
		font-weight: 700;
	}

	.plain_table td {
		display: block;
		width: 100%;
		padding: 5.33vw;
		font-size: 3.6vw;
	}

	.plain_table td ul li {
		padding-left: 1em;
		text-indent: -1em;
		line-height: 1.4em;
		padding-bottom: .5em;
	}

	.seal_obj {
		display: block;
		width: 90px;
		margin: 1em 1em 1em 0;
	}

	.plain_table td ul li .note {
		display: block;
		padding-left: 0;
		text-indent: 0;
	}

	.plain_table td ul li.indent_03 {
		padding-left: 4.5em;
	}

	.group_list_container {
		width: 100%;
		display: block;
	}

	.group_list_item {
		width: 100%;
		padding: 0 0 5.33vw 5.33vw;
		margin-bottom: 5.33vw;
	}


	/*--------------------------------------*/
	
	/*office*/
	
	/*--------------------------------------*/
	
	/*sec01--------------------------------*/
	
	.office .message_container {
		min-height: unset;
		background: url('../img/company/office/mv_obj.jpg') 95% bottom no-repeat;
		background-size: cover;
		padding: 19.32vw 5vw 48.31vw;
		box-sizing: border-box;
		position: relative;
	}

	.office .message_container:before {
		display: block;
	}

	.office .message_container:after {
		display: block;
	}

	.office .message_container .message_ttl {
		width: 100%;
		color: #fff;
		padding-bottom: 4.83vw;
	}

	.office .message_container .message_txt {
		width: 100%;
	}
	
	.photogallery_btn_container {
		width: calc(96vw - 2.42vw);
		margin: 0 auto 2.42vw;
	}
	
	.photogallery_btn_container .photogallery_btn_txt {
		font-size: 5.85vw;
		white-space: nowrap;
	}
	
	.office .photogallery_wrap {
		padding: 9.66vw 0 19.32vw;
	}
	
	.office .photogallery_list_container {
		width: 96vw;
	}
	
	.office .photogallery_list_item {
		width: 33%;
		padding: 1.21vw;
	}
	
	.office .office_modal_list_container {
		height: 90vh;
		margin-top: unset;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}

	.office .slick-track {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	.office .office_modal_list_item  {
		padding: 0 10vw;
	}

	.office .office_modal_list_obj {
		width: 90vw;
		height: unset;
		margin: 0 auto;
	}
	
	.office .office_modal_list_item .office_cap {
		font-size: 3.86vw;
		padding-top: 2.42vw;
	}


    /*--------------------------------------*/

    /*toagroup_history*/

    /*--------------------------------------*/

    /*sec01--------------------------------*/

    .toagroup_history .history_container {
        background: url('../img/history/history_obj01.jpg') center center no-repeat;
		background-size: cover;
    }


    /*sec02--------------------------------*/

    .chronology_wrap {
        width: 94%;
		padding: 16vw 5.13vw 5.13vw;
        display: block;
    }

    .chronology_wrap .sub_tit {
        width: 100%;
        margin-right: 0;
    }

    .chronology_wrap .btn_container {
        position: static;
    }

    .chronology_wrap .phase_tit {
        font-size: 5.13vw;
        margin-bottom: 7.69vw;
        padding-bottom: 3.85vw;
    }

    .chronology_wrap .phase_tit b {
        font-size: 12.82vw;
    }

    .chronology_wrap .phase_tit span {
        font-size: 4.62vw;
        padding-left: .5em;
    }

    .chronology_wrap .phase_tit:before {
        width: 5.13vw;
        height: 2px;

    }

    .chronology_wrap .left_container {
        width: 100%;
        padding-bottom: 7.69vw;
        margin-bottom: 0;
        border-bottom: none;
    }

    .chronology_wrap .right_container {
        width: 100%;
        padding-bottom: 7.69vw;
        margin-bottom: 7.69vw;
    }

    .chronology_wrap .right_container .topics_item {
        margin-left: 0;
    }

    .chronology_wrap .right_container .topics_item:after {
        font-size: 3.59vw;
    }

    .chronology_wrap .right_container .cap {
        font-size: 3.08vw;
        text-align: center;
        padding: 1.28vw 0;
    }
    
    .chronology_wrap .plain_table th {
        width: 100%;
    }

    .chronology_wrap .plain_table td {
        width: 100%;
		padding: 5.33vw;
    }


    /*history_modal--------------------------------*/

    .modal_list_item {
        width: 90%;
        padding: 5.13vw;
    }

    .modal_list_item .txt_container {
        padding-bottom: 7.69vw;
    }

    .modal_list_item .img_container {
        width: 90%;
        margin: 0 auto;
        text-align: center;
    }

    .modal_list_item .modal_list_tit {
        font-size: 5.64vw;
        padding-bottom: 5.13vw;
    }

    .modal_list_item .img_container .modal_list_obj {
        max-width: 100%;
    }

    .modal_list_item .img_list_container .img_list_item {
        width: 50%;
        box-sizing: border-box;
        padding: 0 .77vw 0 0;
    }
    .modal_list_item .img_list_container .img_list_item:nth-child(even) {
        padding: 0 0 0 .77vw;
    }

    .modal_list_item .cap {
        font-size: 10px;
        padding: 1.28vw 0 2.56vw;
    }

    .modal_list_container .modal_prev {
        width: 5.13vw;
        height: 5.13vw;
        border-left: 1.03vw solid #ccc;
        border-bottom: 1.03vw solid #ccc;
        left: -2.56vw;
    }

    .modal_list_container .modal_next {
        width: 5.13vw;
        height: 5.13vw;
        border-right: 1.03vw solid #ccc;
        border-bottom: 1.03vw solid #ccc;
        right: -2.56vw;
    }

    .modal_wrap .modal_close {
        font-size: 10.26vw;
        top: 0;
        right: 2.56vw;
        cursor: pointer;
        z-index: 9999;
    }


    /*--------------------------------------*/

    /*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 {
		width: 93vw;
		top: 40%;
		left: 3vw;
		transform: translateY(0);
		-webkit-transform: translateY(0);
	}

	.lower.management .mv_container .management_ttl b {
		font-size: 6.85vw;
		line-height: 1.4em;
		text-shadow: 2px 2px 2px rgba(0,0,0,.9);
		padding-bottom: 5.33vw;
		white-space: wrap;
	}

	.lower.management .mv_container .management_ttl em {
		font-size: 3.86vw;
		color: #fff;
		line-height: 1.85em;
		letter-spacing: .1em;
		text-shadow: 1px 1px 2px rgba(0,0,0,1);
	}

	.lower.management .management_list_wrap {
		width: 90vw;
		padding-bottom: 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 {
		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 .leaf_obj.disabled {
		cursor: default;
	}

	.lower.management .management_list_container .leaf_obj.disabled:hover {
		opacity: 1;
	}

	.lower.management .management_list_wrap + .note {
		display: block;
		width: 90vw;
		margin: -9.72vw auto 0;
		font-size: 3.86vw;
		text-align: left;
		padding: 0 0 14.49vw 1em;
		text-indent: -1em;
		display: flex;
		justify-content: center;
	}

	.lower.management .management_lead_container {
		width: 90vw;
		padding: 7.25vw 9.66vw;
	}

	.lower.management .management_lead {
		font-size: 7.25vw;
		padding-bottom: 4.83vw;
		margin: 0 auto 9.72vw;
	}

	.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: 90%;
		height: auto;
		background: none;
		box-shadow: none;
	}

    .business_lead_container .img_container {
		box-shadow: 0 0 1.8vw rgba(0,0,0,.4);
    }

	.business_lead_container .business_lead_tit {
		font-size: 8vw;
		white-space: nowrap;
        top: 9.66vw;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
	}

	.business_lead_list_container {
		width: 100%;
        background: none;
		box-sizing: border-box;
		padding: 8vw 4vw;
		position: static;
		top: 105%;
		right: 0;
	}

	.business_lead_list_container dt {
		font-size: 4.8vw;
		padding-bottom: 5.33vw;
		margin-bottom: 5.33vw;
	}

	.business_lead_list_container dd {
		font-size: 3.4vw;
	}

	.business_lead_list_container dd .btn_container {
		padding: 5.33vw 0 0;
	}

	.business_lead_list_container dd .btn_container a {
		width: 90%;
		height: 10.67vw;
		line-height: 10.67vw;
	}

    .business_item_container {
        width: 90%;
        margin:  0 auto;
    }

    .business_item {
        font-size: 3.62vw;
        color: #fff;
        background-color: #0066b2;
        margin: 0 2.42vw 2.42vw 0;
        padding: 1.21vw 1.21vw;
    }

    /*sec02--------------------------------*/

    .choice_wrap {
        padding: 7.7vw 0;
    }

    .choice_wrap .select_container {
        width: 90vw;
    }

    .choice_wrap select {
        width: 100%;
        height: 12.82vw;
        padding-left: 2.56vw;
    }

    .choice_wrap .select_container:after {
        content: "";
        width: 0;
        border-left: 1.54vw solid transparent;
        border-right: 1.54vw solid transparent;
        border-top: 2.05vw solid #0066b2;
        position: absolute;
        right: 2.56vw;
        top: 50%;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
    }

    .choice_wrap .select_container.disabled:after {
        border-top: 2.05vw solid #999;
    }

    .achievement_wrap {
        min-height: 138.65vw;
    }

    .achievement_list_container {
        width: 90vw;
        padding: 5.13vw 0 20.51vw;
    }

    .achievement_list_container .achievement_list_item {
        width: 100%;
        padding-bottom: 5.13vw;
    }

    .achievement_list_container .achievement_list_inner {
        width: 100%;
    }

    .achievement_list_container .img_container {
        width: 100%;
        height: auto;
        padding-top: 75%;
    }

    .achievement_list_container .txt_container {
        width: 100%;
        background-color: #fff;
        box-sizing: border-box;
        padding: 2.56vw 3.85vw 3.85vw;
        position: relative;
    }

    .achievement_list_container .achivement_tit {
        font-size: 4.1vw;
    }

    .achievement_list_container .achivement_cat {
        display: inline-block;
        font-size: 3.08vw;
        padding: 0 2.05vw;
        margin: 1.28vw 0 2.56vw;
        line-height: 5.64vw;
    }

    .achievement_list_container .achivement_detail_list dt {
        font-size: 3.6vw;
        line-height: 1.7em;
    }

    .achievement_list_container .achivement_detail_list dd {
        font-size: 3.6vw;
    }

    .others_list_container {
        width: 90%;
        margin:  0 auto;
        padding-bottom: 25.64vw;
    }

    .others_list_item {
        margin: 0 2.42vw 4.33vw 0;
    }

    .others_list_item span {
        font-size: 3.62vw;
        color: #fff;
        background-color: #0066b2;
        padding: 1.21vw 1.21vw;
    }

	.lower .sec02_business_list_item {
		margin-top: 0;
        padding-bottom: 7.7vw;
	}




	/*--------------------------------------*/

	/*management*/

	/*--------------------------------------*/

	/*mv--------------------------------*/

	.lower.management .mv_container {
		padding-top: 100vh;
	}

	.lower.management .mv_container .management_ttl {
		top: 40%;
		left: 3vw;
		transform: translateY(0);
		-webkit-transform: translateY(0);
	}

	.lower.management .mv_container .management_ttl b {
		font-size: 7.73vw;
		line-height: 1.4em;
		text-shadow: 2px 2px 2px rgba(0,0,0,.9);
		padding-bottom: 5.33vw;
	}

	.lower.management .mv_container .management_ttl em {
		font-size: 3.86vw;
		color: #fff;
		line-height: 1.85em;
		letter-spacing: .1em;
		text-shadow: 1px 1px 2px rgba(0,0,0,1);
	}

	.lower.management .management_list_wrap {
		display: block;
		padding-bottom: 14.49vw;
	}

	.lower.management .management_list_container .leaf_obj,
	.lower.management .management_list_container:nth-of-type(2) .leaf_obj {
		width: 80vw;
		margin: 0 auto;
	}

	.lower.management .management_lead_container {
		padding: 4.83vw 4.83vw 3vw;
	}

	.lower.management .management_lead {
		font-size: 7.25vw;
		padding-bottom: 4.83vw;
		margin: 0 auto 4.83vw;
	}

	.lower.management .management_lead + .plain_txt {
		text-align: left;
	}



	/*--------------------------------------*/

	/*construction*/

	/*--------------------------------------*/

	/*mv--------------------------------*/

	.lower.construction .mv_container {
		height: calc(100vh - 15vw);
	}

	.lower.construction .mv_container::after {
		height: 40vh;
	}

	.lower.construction .mv_container .construction_ttl {
		top: 40%;
		left: 3vw;
		transform: translateY(0);
		-webkit-transform: translateY(0);
	}

	.lower.construction .mv_container .construction_ttl b {
		font-size: 7.73vw;
		line-height: 1.4em;
		text-shadow: 2px 2px 2px rgba(0,0,0,.9);
		padding-bottom: 5.33vw;
	}

	.lower.construction .mv_container .construction_ttl em {
		font-size: 3.86vw;
		color: #fff;
		line-height: 1.85em;
		letter-spacing: .1em;
		text-shadow: 1px 1px 2px rgba(0,0,0,1);
	}


	/*sec01--------------------------------*/

    /*.construction .business_lead_container {
        width: 90%;
        height: auto;
        background: none;
		box-shadow: none;
    }*/

	.lower.construction .sec01:before {
		content: '';
		display: block;
		width: 100%;
		height: 36.23vw;
		background: linear-gradient(rgba(255,255,255,0),rgba(255,255,255,1));
		position: absolute;
		top: 7.25vw;
		left: 0;
		z-index: 0;
	}

	.lower.construction .problem_list_container {
		padding-bottom: 7.25vw;
		display: block;
	}

	.lower.construction .problem_list_item {
		width: 58vw;
		height: 38.65vw;
		border-radius: 29vw / 19.33vw;
	}

	.lower.construction .problem_list_item + .problem_list_item {
		margin-top: -4.83vw;
	}

	.lower.construction .problem_list_item:nth-child(2) {
		margin-left: 38vw;
	}

	.lower.construction .balloon_txt {
		font-size: 4.11vw;
		line-height: 1.5em;
	}

	.lower.construction .problem_list_item::after {
		border-right: 4.83vw solid transparent;
		border-top: 8.45vw solid #33892c;
		border-left: 4.83vw solid transparent;
		bottom: -4.83vw;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
	}

	.lower.construction .problem_list_item::before {
		border-right: 4.83vw solid transparent;
		border-top: 8.45vw solid #333;
		border-left: 4.83vw solid transparent;
		bottom: -6.04vw;
		left: 50%;
		transform: translateX(-37.5%);
		-webkit-transform: translateX(-37.5%);
		z-index: -1;
	}

	.lower.construction .problem_list_item:first-child:after,
	.lower.construction .problem_list_item:last-child:after {
		bottom: -1.93vw;
		left: 60%;
		transform: translateX(0) rotate(-30deg);
		-webkit-transform: translateX(0) rotate(-30deg);
	}

	.lower.construction .problem_list_item:first-child::before,
	.lower.construction .problem_list_item:last-child::before {
		bottom: -2.9vw;
		left: 60%;
		transform: translateX(12.5%) rotate(-30deg);
		-webkit-transform: translateX(12.5%) rotate(-30deg);
	}

	.lower.construction .problem_list_item:nth-child(2):after {
		bottom: -2.42vw;
		left: 20%;
		transform: translateX(0) rotate(30deg);
		-webkit-transform: translateX(0) rotate(30deg);
	}

	.lower.construction .problem_list_item:nth-child(2)::before {
		bottom: -3.62vw;
		left: 20%;
		transform: translateX(12.5%) rotate(30deg);
		-webkit-transform: translateX(12.5%) rotate(30deg);
	}

	.lower.construction .construction_lead {
		font-size: 7.25vw;
		padding-bottom: 4.83vw;
		margin: 0 auto 9.66vw;
	}

	/*.lower.construction .construction_lead::after {
		width: 19.32vw;
		height: 1.93vw;
		bottom: -.97vw;
	}*/



	/*solution_bnr_wrap--------------------------------*/

	.top .solution_ttl,
	.lower.construction .solution_ttl {
		font-size: 6.28vw;
		padding-bottom: 2.42vw;
	}

	.top .solution_bnr_wrap .solution_txt,
	.lower.construction .solution_bnr_wrap .solution_txt {
		font-size: 3.86vw;
		padding-bottom: 7.25vw;
	}

	.solution_bnr_wrap .solution_bnr_container {
		height: 48.31vw;
	}

	.solution_bnr_wrap .solution_bnr_ttl {
		font-size: 7.73vw;
		line-height: 1.4em;
	}

	.solution_bnr_wrap .solution_bnr_ttl .tab {
		display: block;
	}

	.solution_bnr_wrap .solution_bnr_ttl em {
		font-size: 11.59vw;
	}

	.solution_bnr_wrap .solution_bnr_ttl strong {
		font-size: 14.01vw;
	}

	.solution_bnr_wrap .solution_bnr_ttl strong em {
		font-size: 13.53vw;
	}

	.solution_bnr_wrap .solution_bnr_txt {
		font-size: 4.83vw;
	}

	.solution_bnr_wrap .solution_bnr_txt span {
		font-size: 6.76vw;
	}

	.solution_bnr_wrap .solution_bnr_container a::after {
		border-left: 4.35vw solid #2e9834;
		border-top: 4.35vw solid transparent;
		border-bottom: 4.35vw solid transparent;
		right: 2.42vw;
	}

	.top .solution_bnr_wrap .solution_bnr_container a::after {
		border-left: 4.35vw solid #fff;
	}




	/*sec02--------------------------------*/
	
	.lower.construction .summary_list_container {
		padding-bottom: 2.42vw;
		display: block;
	}

	.lower.construction .lastest_container {
		padding-bottom: 19.32vw;
	}
	
	.lower.construction .summary_list_item {
		width: 100%;
		padding-bottom: 30px;
	}
	
	.lower.construction .summary_list_item .txt_container,
	.lower.construction .lastest_container .txt_container {
		padding: 2.42vw 1.21vw 4.83vw;
	}
	
	.lower.construction .summary_list_item .summary_ttl,
	.lower.construction .lastest_container .summary_ttl {
		font-size: 4.83vw;
	}
	
	.lower.construction .summary_list_item .txt_container::before,
	.lower.construction .lastest_container .txt_container::before {
		width: 19.32vw;
		bottom: 6.04vw;
	}
	
	.lower.construction .summary_list_item .txt_container::after,
	.lower.construction .lastest_container .txt_container::after {
		width: 4.83vw;
		bottom: 7.25vw;
	}

	.lower.construction .lastest_container .txt_container::before {
		right: 0;
		left: unset;
	}
	
	.lower.construction .lastest_container .txt_container::after {
		right: 0;
		left: unset;
	}

    .bussiness_note {
        font-size: 3.14vw;
        padding-bottom: 22vw;
    }



	/*construction_modal--------------------------------*/
	
	.modal_wrap .category_container {
		margin: 7.25vw auto;
		padding: 0 4.83vw;
		height: 88vh;
	}
	
	.modal_wrap .category_container .category_ttl {
		font-size: 4.35vw;
		line-height: 7.25vw;
		height: 7.25vw;
		margin-bottom: 4.83vw;
		border-left: 2.42vw solid #fff;
	}
	
	.modal_wrap .category_list_container {
		display: block;
	}
	
	.modal_wrap .category_list_item {
		width: 100%;
		margin-bottom: 4.83vw;
	}
	
	.modal_wrap .category_list_item .txt_container {
		padding: 2.42vw 2.42vw 12.08vw;
	}
	
	.modal_wrap .category_list_item .category_list_ttl {
		font-size: 3.86vw;
	}
	
	.modal_wrap .category_list_item .txt_container::before {
		width: 19.32vw;
		bottom: 4.83vw;
		right: 3.62vw;
	}
	
	.modal_wrap .category_list_item .txt_container::after {
		width: 4.83vw;
		bottom: 6.04vw;
		right: 3.62vw;
	}
	
	.modal_wrap .detail_list_item {
		padding: 4.83vw 3.62vw;
		margin: 7.25vw auto;
	}
	
	.modal_wrap .detail_list_item .detail_ttl {
		font-size: 4.35vw;
		line-height: 7.25vw;
		height: 7.25vw;
		margin-bottom: 4.83vw;
		border-left: 2.42vw solid #2ea7e0;
		padding-left: .5em;
	}
	
	.modal_wrap .detail_list_item .detail_lead {
		font-size: 5.8vw;
		padding-bottom: 4.83vw;
	}
	
	.modal_wrap .detail_list_item .detail_box {
		display: flex;
		flex-direction: column;
		padding-bottom: 7.25vw;
	}
	
	.modal_wrap .detail_list_item .detail_box .left_container {
		width: 100%;
		order: 2;
	}
	
	.modal_wrap .detail_list_item .detail_box .right_container {
		width: 100%;
		padding-bottom: 4.83vw;
		order: 1;
	}

	.modal_wrap .detail_list_item .detail_box .img_container.row .img_inner {
		width: 100%;
	}

	.modal_wrap .detail_list_item .detail_box .img_container.row .img_inner + .img_inner {
		padding-top: 1.21vw;
	}
	
	.modal_wrap .detail_list_item .before_txt {
		font-size: 4.35vw;
		padding-top: 1.21vw;
	}
	
	.modal_wrap .detail_list_item .before_txt::after,
	.modal_wrap .detail_list_item .after_txt.arrow::after {
		display: none;
	}

	.modal_wrap .detail_list_item .before_txt span {
		font-size: 3.38vw;
	}

	.modal_wrap .detail_list_item .before_txt.half {
		width: 100%;
	}
	
	.modal_wrap .detail_list_item .before_txt span,
	.modal_wrap .detail_list_item .after_txt span {
		font-size: 3.38vw;
	}
	
	.modal_wrap .detail_list_item .img_container + .txt_container .detail_note {
		padding-top: 4.83vw;
	}

	.modal_wrap .detail_list_item .detail_box .img_container + .img_container {
		padding-top: 4.83vw;
	}
	
	.modal_wrap .detail_list_item .detail_note li {
		font-size: 3.38vw;
		padding-top: 4.83vw;
		display: none;
	}
	
	.modal_wrap .detail_list_item .spec_list_container {
		display: flex;
		flex-wrap: wrap;
		padding-top: 4.83vw;
	}
	
	.modal_wrap .detail_list_item .spec_list_container dt {
		font-size: 3.38vw;
	}
	
	.modal_wrap .detail_list_item .spec_list_container dd {
		font-size: 3.38vw;
	}
	
	.modal_wrap .detail_list_item .after_txt {
		font-size: 5.8vw;
		padding-top: 0;
	}

	.modal_wrap .detail_list_item .detail_box .left_container .plain_txt,
	.modal_wrap .detail_list_item .detail_box .right_container .plain_txt {
		font-size: 3.38vw;
		padding-top: 10px;
	}
	.modal_wrap .detail_list_item .detail_box .left_container .plain_txt .sp,
	.modal_wrap .detail_list_item .detail_box .right_container .plain_txt .sp {
		display: inline;
	}
	
	.modal_wrap .detail_list_item .detail_sub_ttl {
		font-size: 4.35vw;
		padding: 0 0 2.42vw;
		margin-bottom: 4.83vw;
	}
	
	.modal_wrap .detail_list_item .btn_container {
		padding-bottom: 12.08vw;
	}

	.modal_wrap .detail_list_item .flex_container {
		display: block;
	}
	
	.modal_wrap .detail_list_item .flex_container .plain_txt {
		width: 100%;
	}
	
	.modal_wrap .detail_list_item .flex_container .spec_list_container {
		width: 100%;
		padding: 1.24vw 0 9.66vw;
	}

	.modal_wrap .detail_list_item .flex_container .flex_item {
		width: 100%;
	}
	




    /*--------------------------------------*/

    /*service*/

    /*--------------------------------------*/

	/*mv--------------------------------*/

	/*.lower.service .mv_container {
		height: calc(100vh - 15vw);
	}

	.lower.service .mv_container::after {
		height: 40vh;
	}

	.lower.service .mv_container .service_ttl {
		top: 40%;
		left: 3vw;
		transform: translateY(0);
		-webkit-transform: translateY(0);
	}

	.lower.service .mv_container .service_ttl b {
		font-size: 7.73vw;
		line-height: 1.4em;
		text-shadow: 2px 2px 2px rgba(0,0,0,.9);
		padding-bottom: 5.33vw;
	}

	.lower.service .mv_container .service_ttl em {
		font-size: 3.86vw;
		color: #fff;
		line-height: 1.85em;
		letter-spacing: .1em;
		text-shadow: 1px 1px 2px rgba(0,0,0,1);
	}*/
	
	.lower.service .mv_container {
		height: calc(100vh - 15vw);
		background: url('../img/service/mv.jpg') 38% 35% no-repeat;
		background-size: cover;
	}

	.lower.service .mv_container .service_ttl {
		width: 93vw;
		top: 40%;
		left: 3vw;
		transform: translateY(0);
		-webkit-transform: translateY(0);
	}

	.lower.service .mv_container .service_ttl b {
		font-size: 6.85vw;
		line-height: 1.4em;
		text-shadow: 2px 2px 2px rgba(0,0,0,.9);
		padding-bottom: 5.33vw;
	}

	.lower.service .mv_container .service_ttl em {
		font-size: 3.86vw;
		color: #fff;
		line-height: 1.85em;
		letter-spacing: .1em;
		text-shadow: 1px 1px 2px rgba(0,0,0,1);
	}

    /*sec01--------------------------------*/

    /*.service .business_lead_container {
        width: 90%;
        height: auto;
        background: none;
		box-shadow: none;
    }*/



    /*sec02--------------------------------*/

    .service_container {
        width: 90%;
        margin: 0 auto 14.49vw;
        display: block;
    }

    .service_container.office {
        display: block;
        padding-bottom: 25.64vw;
    }

    .service_container .txt_container {
        width: 100%;
        box-sizing: border-box;
        background: none;
        padding: 0 0 4.83vw;
    }

    .service_container .txt_container .service_list_item {
        padding: 0 2.42vw 2.42vw;
    }

    .service_container .txt_container .service_list_tit {
        font-size: 4.83vw;
    }

    .service_container .txt_container .service_list_txt {
        font-size: 3.38vw;
    }

    .service_container .img_container {
        width: 100%;
    }

    .service_container.office .service_list_container {
        display: block;
    }

    .service_container.office .service_list_item {
        width: 100%;
        padding-bottom: 4.83vw;
    }

    .service_container.office .service_list_item .img_container {
        width: 100%;
    }

    .service_container.office .service_list_item .txt_container {
        width: 100%;
        padding: 2.42vw 0;
    }

    .service_container.office .service_list_item .txt_container .service_list_tit {
        text-align: center;
    }



	/*----------------------------------------*/

	/*inquiry*/

	/*----------------------------------------*/

	.inquiry_container {
		width: 90%;
		height: auto;
        padding: 12.5vw 3.13vw;
		box-shadow: 0 0 1.8vw rgba(0,0,0,.4);
		background-size: cover;
		margin: 0 auto;
		position: relative;
	}

	.inquiry .inquiry_list_container {
		width: 100%;
		margin-bottom: 9.38vw;
	}

    .inquiry_list_container dt {
        font-size: 4.1vw;
        padding-left: 6.41vw;
        padding-bottom: 2.56vw;
    }

    .inquiry_list_container dt:before {
        content: '';
        display: block;
        width: 4.1vw;
        height: 4.1vw;
        background-color: #0066b2;
        position: absolute;
        top: 1.28vw;
        left: 0;
    }

	input[type="text"] {
		width: 100%;
		height: 40px;
		font-size: 4vw;
	}

	input:focus,
	textarea:focus {
		outline: 4px solid rgba(0,102,178,.4);
	}

	textarea {
		font-size: 4vw;
	}

	.req {
		font-size: 12px;
	}

	input[type="submit"] {
		width: 90%;
		height: 13.33vw;
		font-size: 4.8vw;
		line-height: 13.33vw;
	}

	input[type="checkbox"]:focus,
	input[type="submit"]:focus {
		outline: none;
	}

	input[type="submit"].back {
		background-color: #eee;
		color: #666;
	}

	.btn_container.back {
		padding-top: 25vw;
	}

	.inquiry.confirm .plain_txt,
	.inquiry.finish .plain_txt {
		font-size: 3.6vw;
	}

	.inquiry .center {
		text-align: left;
	}

	.inquiry .center.mail {
		text-align: center;
	}

	.inquiry_txt {
		font-size: 3.6vw;
		line-height: 1.6em;
		padding-bottom: 1.6em;
		text-align: left;
	}



	/*----------------------------------------*/

	/*news*/

	/*----------------------------------------*/

	.news_post_container {
		width: 90%;
		height: auto;
        padding: 12.5vw 3.13vw;
		box-shadow: 0 0 1.8vw rgba(0,0,0,.4);
		background-size: cover;
		margin: 0 auto;
		position: relative;
	}

	.news_tit {
		font-size: 5.31vw;
        line-height: 1.2em;
		padding-bottom: 5.13vw;
	}

    .news_date {
        font-size: 3.08vw;
		padding-bottom: 5.13vw;
    }

	.post_content p {
		font-size: 4vw;
	}
	.post_content h1 {
		font-size: 10vw;
	}
	.post_content h2 {
		font-size: 9vw;
	}
	.post_content h3 {
		font-size: 8vw;
	}
	.post_content h4 {
		font-size: 7vw;
	}
	.post_content h5 {
		font-size: 6vw;
	}
	.post_content h6 {
		font-size: 5vw;
	}
	.post_content blockquote {
		padding: 0 10px;
	}
	.post_content blockquote:before {
		font-size: 13vw;
		padding-top: 0;
	}
	.post_content blockquote:after {
		content: '”';
		font-size: 13vw;
	}



    /*--------------------------------------*/

    /*service*/

    /*--------------------------------------*/

    /*sec01--------------------------------*/

    .recruit .business_lead_container {
        width: 90%;
        height: auto;
        background: none;
		box-shadow: none;
    }



    /*sec02--------------------------------*/

    .recruit_table {
        width: 100%;
        border-collapse: collapse;
        border-spacing: 0;
        margin-bottom: 80px;
        border-top: 1px solid #bbb;
    }

    .recruit_table th {
        display: block;
        width: 100%;
        padding: 5.13vw;
    }

    .recruit_table td {
        display: block;
        width: 100%;
        padding: 5.13vw;
    }

    .recruit_table td p,
    .recruit_table td ul li {
        font-size: 3.59vw;
        line-height: 1.8em;
    }



	/*--------------------------------------*/
	
	/*hotline*/
	
	/*--------------------------------------*/
	
	.hotline_table_container {
		padding-top: 2.42vw;
	}
	
	.hotline_table_container th {
		width: 3.5em;
		padding: 1.21vw;
		box-sizing: border-box;
		font-size: 3.38vw;
		letter-spacing: .05em;
	}
	
	.hotline_table_container td {
		width: calc(100% - 3.5em);
		padding: 1.21vw;
		box-sizing: border-box;
		font-size: 3.38vw;
	}




	
	
/*-------------------------------------*/
}