/*
Theme Name: souwa layout
Theme URI:
Description:
Version:
Author: fs
Author URI:
*/

/* ヘッダー・ナビゲーション */

.header,
.header_middle {
	padding: 0rem;
}

.header_middle_inner {
	display: flex;
	position: fixed;
	width: 100%;
	margin: 0;
	padding: 2rem 0 1.5rem 4rem;
	z-index: 999;
}

.header_middle_inner .header_logo {

}

.header_middle_inner .header_logo a {
	display: inline-block;
	width: 30%;
}

.header_middle_inner .header_logo a img {
	width: 100%;
	height: auto;
}

#g-nav {
	position:fixed;
	z-index: -1;
	opacity: 0;
	top: 0;
	width: 100%;
	height: 100vh;
	background: rgba(249,250,250,0.95);
	transition: all 0.3s;
	padding: 0;
}

#g-nav.panelactive {
	opacity: 1;
	z-index: 999;
}

#g-nav.panelactive #g-nav-list {
	position: fixed;
	z-index: 998; 
	width: 100%;
	height: 100vh;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/

#g-nav .nav_list_inner {
	display: none;
	position: absolute;
	z-index: 999;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

#g-nav .site_logo {
	width: 15vw;
	margin: 4rem 4rem 4rem;
}

#g-nav .site_logo img {
	width: 100%;
	height: auto;
}

#g-nav.panelactive .nav_list_inner {
	display: block;
	width: 100%;
	margin: 1rem 0;
	vertical-align: top;
}

/*リストレイアウト*/

#g-nav .nav_list_inner .list_item {
	width: 100%;
	margin: 2rem 0 4rem;
	padding: 0;
}

#g-nav .nav_list_inner .list_item a .en_menu {
	display: block;
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	letter-spacing: 0.4em;
	margin: 1rem 0 1rem;
	padding: 0;
}

#g-nav .nav_list_inner .list_item a .ja_menu {
	display: block;
	font-size: 2.0rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.2em;
	text-align: center;
	margin: 0;
	padding: 0;
}

.site_policy {
	position: absolute;
	left: 4rem;
	bottom: 4rem;
	z-index: 999;
}

.site_policy a {
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: 0.1em;
}

/* ボタン */

.openbtn1 {
	position: fixed;
	z-index: 9999;
	top: 1rem;
	right: 0;
	cursor: pointer;
	width: 8vw;
	min-width: 100px;
	height: 5vw;
	min-height: 60px;
}
  
.openbtn1 span {
	display: inline-block;
	transition: all .4s;
	position: absolute;
	left: 10%;
	height: 3px;
	background: #197cce;
	width: 60%;
}

.home .openbtn1 span {
	background: #197cce;
}

.openbtn1 span:nth-of-type(1) {
	top: 20px;
	left: 15%;
	width: 50%;
}

.openbtn1 span:nth-of-type(2) {
	top: 35px;
}

.openbtn1 span:nth-of-type(3) {
	top: 50px;
	left: 15%;
	width: 50%;
}

.openbtn1.active span:nth-of-type(1) {
	top: 19px;
	left: 30px;
	transform: translateY(11px) rotate(-45deg);
	background: #197cce;
	width: 60%;
}

.openbtn1.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn1.active span:nth-of-type(3) {
	top: 42px;
	left: 30px;
	transform: translateY(-11px) rotate(45deg);
	background: #197cce;
	width: 60%;
}

.nav_list {
	width: 100%;
	text-align: center;
	margin: 0;
}

.nav_list .list_item {
	display: inline-block;
	text-align: center;
	margin: 0 2rem 0;
}

.nav_list .list_item a {
	display: block;
	padding: 6rem 0 0;
}

.nav_list .list_item .ja_menu {
	font-size: 1.6rem;
	margin: 0;
	padding: 0;
}

.nav_list .list_item .en_menu {
	display: block;
	font-size: 0.8rem;
	font-weight: 500;
	color: #c0d9b5;
	margin: 1rem 0 0;
	padding: 0;
}

/* ページトップ */

.pagetop_button a {
	position: fixed;
	z-index: 9998;
	bottom: 20px;
	right: 2vw;
	cursor: pointer;
	background: #0074c1;
	width: 50px;
	height: 50px;
	border-radius: 50%;
}

.pagetop_button a .name {
	display: block;
	width: 25px;
	font-size: 1.0rem;
	font-weight: 500;
	color: #ffffff;
	text-align: center;
	margin: 0 auto;
	padding: 1rem 0 0;
}

.pagetop_button a .marker {
	position: relative;
	top: 14px;
	right: -5px;
	display: inline-block;
	width: 20px;
	height: 20px;
	margin-left: 1rem;
	border-top: 3px solid #ffffff;
	border-right: 3px solid #ffffff;
	transform: rotate(-45deg);
}

.pagetop_button a:hover .name {
	border-bottom: 1px solid #ffffff;
}

.pagetop_button a:hover .marker {
	top: 10px;
}

.pagetop_button a::before,
.pagetop_button a::after,
.pagetop_button a span::before,
.pagetop_button a span::after {
	z-index: -1;
	content: '';
}

.pagetop_button a,
.pagetop_button a::before,
.pagetop_button a::after,
.pagetop_button a span,
.pagetop_button a span::before,
.pagetop_button a span::after {
	-webkit-transition: all .3s;
	transition: all .3s;
}

/* パンくず */

.breadcrumbs {
	background: #ffffff;
}

.breadcrumb {
	width: 100%;
	margin: 0;
	padding: 0;
}

.breadcrumb_list {
	margin: 0;
	padding: 0;
}

.breadcrumb_list li {
	display: inline-block;
	font-size: 1.2rem;
	line-height:1.4;
	padding: 0 1rem 0 0;
}

.breadcrumb_list li span {
	font-size: 1.2rem;
}

.breadcrumb_list li a {
	font-size: 1.2rem;
	padding: 0;
}

/* ページネーション */

.pagination {
	width: 100%;
	margin: 1rem 0 2rem;
	padding: 0;
	text-align: center;
}

.pagination_inner {
	margin: 0 auto;
	padding: 1rem 0 1rem;
}

.pagination_inner li {
	display: inline-block;

}

.pagination_inner li span,
.pagination_inner li a {
	background: #efefef;
	font-size: 2rem;
	text-decoration: none;
	vertical-align: middle;
	border: none;
	margin: 0.5rem 0.5rem;
	padding: 1rem 1.5rem 1rem;
}

.pagination_inner li .dots,
.pagination_inner li .prev,
.pagination_inner li .next {
	background: none;
	font-size: 2rem;
	vertical-align: middle;
}

.pagination_inner li a:hover {

}

.pagination_inner li .current {
	background: #dcdcdc;
}

/* コンテンツトップ・スライドイメージ */

.index_top {
	display: flex;
	justify-content: center;
	align-items: center;
	background: #f3f8fd url("http://www.i-const.net/testsite1/wordpress/wp-content/themes/souwalayout/images/index_top_back.svg") no-repeat center center;
	background-size: contain;
	background-attachment: fixed;
	height: 100vh;
	padding: 0 0;
	overflow: hidden;
}

.index_top_inner {
	width: 50vw;
	height: 32vw;
	padding: 0;
}

.slider_inner {
	display: flex;
	justify-content: space-between;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.slider_item_l {
	width: 49%;
	height: 100%;
}

.slider_item_r {
	width: 49%;
	height: 100%;
}

.slider_item_inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	height: 100%;
}

.slider_item_r1 {
	width: 100%;
	margin: 0 0 1vw;
}

.slider_item_r2 {
	width: 28%;
}

.slider_item_r3 {
	width: 68%;
}

.bx-wrapper {
	left: 0;
	box-shadow: none;
	border: none;
}

#slider {
	width: 100%;
	height: 32vw;
	border-radius: 12vw 10px 10px 10px;
	background: #1a1a1a;
	overflow: hidden;
}

#slider2 {
	width: 100%;
	height: 15.5vw;
	border-radius: 10px 10px 10px 10px;
	background: #1a1a1a;
	overflow: hidden;
}

#slider3 {
	position: relative;
	width: 100%;
	height: 15.5vw;
	border-radius: 10px 10px 10px 10px;
	background: #1a1a1a;
	overflow: hidden;
}

#slider4 {
	position: relative;
	width: 100%;
	height: 15.5vw;
	border-radius: 10px 10px 12vw 10px;
	background: #1a1a1a;
	overflow: hidden;
}

#slider li,
#slider2 li,
#slider3 li,
#slider4 li {
	width: 25vw;
	height: 100%;
	background: center / cover no-repeat;
	margin: 0;
}

/* スクロール */

.page_scroll {
	margin-top: -80px; /* 固定ナビのネガティブマージン */ 
	padding-top: 80px; /* 打ち消し用のパディング */ 
}

/* フェード */

.fade-in0 {
	opacity: 0;
	transition-duration: 0.9s;
	transition-property: opacity, transform;
	transform: translate(0, 20px)
	z-index: 997;
}

.fade-in150 {
	opacity: 0;
	transition-duration: 0.9s;
	transition-property: opacity, transform;
	transform: translate(0, 20px)
}

.delay1 {
	transition-delay: 0.3s;
}

.delay2 {
	transition-delay: 0.6s;
}

.delay3 {
	transition-delay: 0.9s;
}

.delay4 {
	transition-delay: 1.2s;
}

.delay5 {
	transition-delay: 1.5s;
}

.delay8 {
	transition-delay: 2.1s;
}

.scroll-in {
	opacity: 1;
	transform: translate(0, 0);
}

/* コンテンツ */

.content_h1_title {
	margin: 16rem 0 6rem;
}

.content_h1_title .en_title {
	display: block;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.0;
	letter-spacing: 0.4em;
	margin: 1rem 0 3rem;
	padding: 0;
}

.content_h1_title .jp_title {
	display: block;
	font-size: 3.0rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.2em;
	margin: 0;
	padding: 0;
}

.content_h2_title {
	width: 100%;
	margin: 2rem 0 6rem;
	padding: 0;
}

.content_h2_title .en_title {
	display: block;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.4em;
	margin: 0;
	padding: 0;
}

.content_h2_title .jp_title {
	display: block;
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.2em;
	margin: 1rem 0 1rem;
	padding: 0;
}

.content_h2_copy {
	font-size: 3.6rem;
	line-height: 1.6;
	font-weight: 500;
	letter-spacing: 0.4em;
	margin: 2rem 0 2rem;
	padding: 0 2rem;
}

.content_h3_title {
	width: 100%;
	margin: 2rem 0 6rem;
	padding: 0;
}

.content_h3_title .jp_title {
	display: block;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.4em;
	margin: 0;
	padding: 0;
}

.content_h3_title .en_title {
	display: block;
	font-size: 1.4rem;
	font-weight: 700;
	color: #a3a3a3;
	line-height: 1.3;
	letter-spacing: 0.4em;
	margin: 1rem 0 1rem;
	padding: 0;
}

.content_h3_copy {
	width: 100%;
	font-size: 3.6rem;
	line-height: 1.6;
	letter-spacing: 0.4em;
	margin: 0 0 4rem;
	padding: 0;
}

main p {
	line-height: 1.8;
	margin: 0;
	padding: 0;
}

.text-progress {
	display: block;
    position: relative;
    width: 300px;
    height: 100px;
    line-height: 100px;
    margin: 0 auto;
    font-size: 20px;
    text-align: center;
    color: #ccc;
}

.text-progress::after {
    content: attr(data-txt);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100px;
    line-height: 100px;
    color: #1a1e24;
    clip: rect(0,0,100px,0);
    transition: clip 0.4s linear;
}

.text-progress:hover::after {
    clip: rect(0,300px,100px,0);
}

.transition_button_1 {
	display: block;
	position: relative;
	width: 170px;
	height: 70px;
	line-height: 64px;
	font-size: 1.8rem;
	font-weight: 700;
	text-align: center;
	margin: 2rem 0 2rem auto;
	border: #e8e8e8 3px solid;
	border-radius: 35px;
}

.transition_button_1::after {
	content: attr(data-txt);
	position: absolute;
	top: -3px;
	left: -3px;
	width: 100%;
	height: 64px;
	line-height: 64px;
	color: #1a1a1a;
	clip: rect(0,0,170px,0);
	transition: clip 0.2s linear;
	border: #1a1a1a 3px solid;
	border-radius: 35px;
}

.transition_button_1:hover::after {
	clip: rect(0,170px,70px,0);
}

.transition_button_2 {
	width: 100%;
}

.transition_button_2 a {
	display: block;
	width: 200px;
	background: #ffffff;
	text-align: center;
	text-decoration: none;
	font-size: 1.6rem;
	font-weight: 700;
	color: #242424;
	margin: 2rem 0 2rem auto;
	padding: 2.5rem 2rem 2.5rem;
}

.transition_button_2 a .marker {
	font-size: 1.2rem;
	font-weight: 700;
	color: #242424;
	margin-left: 0.5rem;
}

.transition_button_2 a:hover {
	background: #1e1e1e;
	color: #ffffff;
}

.transition_button_2 a:hover span {
	color: #ffffff;
}

.transition_button_2 a::before,
.transition_button_2 a::after,
.transition_button_2 a span::before,
.transition_button_2 a span::after {
	z-index: -1;
	content: '';
}

.transition_button_2 a,
.transition_button_2 a::before,
.transition_button_2 a::after,
.transition_button_2 a span,
.transition_button_2 a span::before,
.transition_button_2 a span::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.transition_image a img {
	-webkit-transition: opacity .3s ease-out;
	-moz-transition: opacity .3s ease-out;
	-ms-transition: opacity .3s ease-out;
	transition: opacity .3s ease-out;
}

.transition_image a:hover img {
	opacity: .5;
	-webkit-opacity: .5;
	-moz-opacity: .5;
	filter: alpha(opacity=50);
	-ms-filter: "alpha(opacity=50)";
}

.link_button_list {
	width: 100%;
	margin: 2rem 0 2rem;
	padding: 0;
}

/* メインインデックス */

.index_top .index_top_txt01 {
	position: absolute;
	right: 4rem;
	bottom: 5vw;
	margin: 0;
	padding: 0;
	z-index: 998;
}

.index_top .index_top_txt01 .txt_item,
.index_top .index_top_txt01 .name,
.index_top .index_top_txt01 .sub_name {
	font-size: 1.2vw;
	font-weight: 700;
	color: #1a1a1a;
	line-height: 1.4;
	letter-spacing: 0.1em;
	display: block;
	margin: 0 0 0.4vw;
	padding: 0;
}

.index_top .index_top_txt01 .name {
	font-size: 1.4vw;
	text-align: right;
	margin: 0 0;
}

.index_top .index_top_txt01 .sub_name {
	font-size: 0.8vw;
	text-align: right;
	color: #197cce;
	letter-spacing: 0.15em;
	margin: 1.6vw 0 0;
}

.index_top_txt02 {
	position: absolute;
	left: 0;
	bottom: -0.5rem;
	display: flex;
	width: 100%;
	margin: 0;
	padding: 0;
	z-index: 998;
	overflow: hidden;
}

.index_top_txt02 .text {
	flex: 0 0 auto;
	white-space: nowrap;
	font-size: 6vw;
	font-weight: 700;
	color: rgba(255,255,255,1);
	line-height: 0.8;
	letter-spacing: 0.2em;
	padding: 0 20px;
}

.index_top_txt02 .text_b {
	color: rgba(25,124,206,1);
}

.index_top_txt02 .text:nth-child(odd) {
	animation: scroll1 60s linear -30s infinite;
}

.index_top_txt02 .text:nth-child(even) {
	animation: scroll2 60s linear infinite;
}

@keyframes scroll1 {
	0% {
		transform: translateX(100%);
	}

	to {
		transform: translateX(-100%);
	}
}

@keyframes scroll2 {
	0% {
		transform: translateX(0);
	}

	to {
		transform: translateX(-200%);
	}
}

.index_h2_title {
	width: 100%;
	margin: 6rem 0 8rem;
	padding: 0;
}

.index_h2_title .en_title {
	display: block;
	font-size: 6.2rem;
	font-weight: 700;
	color: #1a1a1a;
	line-height: 1.4;
	letter-spacing: 0.05em;
	margin: 0 0 2rem;
	padding: 0;
}

.index_h2_title .jp_title {
	display: block;
	font-size: 2.0rem;
	font-weight: 700;
	color: #1a1a1a;
	line-height: 1.4;
	letter-spacing: 0.2em;
	margin: 0;
	padding: 0;
}


.index_h3_title {
	width: 100%;
	margin: 2rem 0 6rem;
	padding: 0;
}

.index_h3_title .en_title {
	display: block;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.0;
	letter-spacing: 0.4em;
	margin: 1rem 0 3rem;
	padding: 0;
}

.index_h3_title .jp_title {
	display: block;
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.2em;
	margin: 0;
	padding: 0;
}

.index_h3_copy {
	font-size: 4.2rem;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.4em;
	margin: 2rem 0 2rem;
	padding: 0;
}

.index_h4_title {
	font-size: 2.0rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.2em;
	margin: 2rem 0 4rem;
	padding: 0;
}

.index_h4_copy {
	font-size: 3.0rem;
	letter-spacing: 0.4em;
	line-height: 1.6;
	margin: 2rem 0 4rem;
	padding: 0 2rem;
}

.index_middle_inner {
	padding: 0 4rem;
}

/* 総和興業について */

.index_about .index_h2_title .en_title {
	color: #ffffff;
}

.index_about .index_h2_title .jp_title {
	color: #ffffff;
}

.index_about {
	background: url("http://www.i-const.net/testsite1/wordpress/wp-content/themes/souwalayout/images/about_back.jpg") no-repeat top center;
	background-size: cover;
	padding: 0;
}

.index_about_inner {
	background: url("http://www.i-const.net/testsite1/wordpress/wp-content/themes/souwalayout/images/about_back.svg") no-repeat center center;
	background-size: contain;
	background-attachment: fixed;
	width: 100%;
	padding: 4rem 0 4rem;
}

.index_about_inner .index_h2_title {
	width: 90%;
	margin: 2rem auto 2rem ;
	padding: 0 4rem;
}

.index_about_inner .index_h3_copy {
	width: 90%;
	color: #ffffff;
	margin: 8rem auto 2rem ;
	padding: 0 4rem;
}

.index_about_inner .about_text {
	width: 90%;
	font-size: 1.6rem;
	color: #ffffff;
	line-height: 2.2;
	letter-spacing: 0.2em;
	margin: 2rem auto 12rem;
	padding: 0 4rem;
}

/* 事業案内 */

.index_business {
	background: #f3f8fd url("http://www.i-const.net/testsite1/wordpress/wp-content/themes/souwalayout/images/index_top_back.svg") no-repeat center center;
	background-size: contain;
	background-attachment: fixed;
}

/* 会社案内 */

.index_company {
	background: #f3f8fd url("http://www.i-const.net/testsite1/wordpress/wp-content/themes/souwalayout/images/company_back.svg") no-repeat center center;
	background-size: contain;
	background-attachment: fixed;
}

.index_company_inner .profile {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin: 4rem 0 12rem;
	padding: 0;
}

.index_company_inner .profile .name {
	width: 20%;
	font-size: 1.6rem;
	font-weight: 500;
	vertical-align: top;
	line-height:1.8;
	margin: 0;
	padding: 1.5rem 1rem;
	border-bottom: 3px solid #c5c5c5;
}

.index_company_inner .profile .text {
	width: 80%;
	font-size: 1.6rem;
	line-height:1.8;
	margin: 0;
	padding: 1.5rem 1rem;
	border-bottom: 1px solid #c5c5c5;
}

.index_company_inner .profile ul li {
	line-height:1.4;
	margin: 0 0 0.5rem;
}

.index_company_inner .profile ul .license .license_name {
	display: inline-block;
	width: 48%;
	line-height:1.4;
}

.index_company_inner .profile ul .license .perm {
	display: inline-block;
	width: 25%;
	line-height:1.4;
}

.index_company_inner .profile ul .license .no1 {
	display: inline-block;
	width: 10%;
	line-height:1.4;
}

.index_company_inner .profile ul .license .no2 {
	display: inline-block;
	width: 15%;
	line-height:1.4;
}

.index_company_inner .profile ul li a .link {
	font-size: 1.3rem;
	color: #35a558;
	line-height:1.2;
	padding-left: 1rem;
}

.index_company_inner .base_list {
	width: 100%;
	margin: 2rem 0 2rem;
}

.index_company_inner .base_list .name,
.index_company_inner .base_list .text {
	font-size: 1.6rem;
	line-height:1.4;
	margin: 0 0 1rem;
	padding: 0;
}

.index_company_inner .base_list .name {
	font-weight: 500;
	margin: 0 0 2rem;
}

/* アクセス */

.index_access {
	background: #f3f8fd url("http://www.i-const.net/testsite1/wordpress/wp-content/themes/souwalayout/images/access_back.svg") no-repeat center center;
	background-size: contain;
	background-attachment: fixed;
	padding: 4rem 0 4rem;
}

.index_access .index_access_inner {
	background: #ffffff;
	padding: 4rem 4rem 4rem;
}

.index_access_inner .map_list {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}

.index_access_inner .map_list .list_item {
	position: relative;
	width: 100%;
	height: 40vw;
	border-radius: 10px;
	overflow: hidden;
}

.index_access_inner .map_list .list_item iframe {
	width: 100%;
	height: 58vw;
	margin-top: -9vw;
}

.index_access_inner .map_list .list_item label {
	width: auto;
	display: inline;
}

.index_access_inner .map_list .list_item img {
	max-width: none;
}

.index_access_inner .map_list .list_item .address_list {
	background: #f9fafa;
	width: 45%;
	padding: 1.5rem 2rem 1rem;
}

.address_list .name {
	font-size: 1.4rem;
	line-height: 1.4;
	margin: 0 0 1rem;
	padding: 0;
}

.address_list .text {
	font-size: 1.2rem;
	line-height: 1.4;
	margin: 0 0 0.5rem;
	padding: 0;
}

.index_access_inner .map_list .list_item .list_br {
	position: absolute;
	right: 0;
	bottom: 0;
}

.index_access_inner .map_list .list_item .list_bl {
	position: absolute;
	bottom: 0;
	left: 0;
}

.index_access_inner .map_list .list_item .list_tr {
	position: absolute;
	top: 0;
	right: 0;
}

.index_access_inner .map_list .list_item .list_tl {
	position: absolute;
	top: 0;
	left: 0;
}

/* 採用情報 */

.index_recruit {
	background: #f3f8fd url("http://www.i-const.net/testsite1/wordpress/wp-content/themes/souwalayout/images/company_back.svg") no-repeat center center;
	background-size: contain;
	background-attachment: fixed;
}

.index_recruit_inner {
	width: 100%;
	padding: 0;
}

.recruit_inner {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin: 0;
	padding: 0;
}

.recruit_inner .index_middle_blank {
	width: 5%;
}

.recruit_inner .index_middle_left {
	width: 55%;
	padding: 0 4rem;
}

.recruit_inner .index_middle_right {
	background: url("https://www.machizukuri.co.jp/machizukuri_wp/wp-content/themes/uedlayout/images/recruit_img01.webp") no-repeat top left;
	background-size: cover;
	width: 40%;
	padding-top: 350px;
	border-radius: 175px 0 0 175px;
}

.index_recruit_inner .index_h2_title {
	width: 90%;
	margin: 2rem auto 2rem ;
	padding: 0 4rem;
}

.index_recruit_inner .index_recruit_text {
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 2.0;
	letter-spacing: 0.1em;
	margin: 0 0 1rem;
	padding: 0;
}

.index_recruit_inner .transition_button_1 {
	margin: 4rem auto 4rem 0;
}

/* お問い合わせ */

.index_contact {
	background: #f3f8fd url("http://www.i-const.net/testsite1/wordpress/wp-content/themes/souwalayout/images/index_top_back.svg") no-repeat center center;
	background-size: contain;
	background-attachment: fixed;
	padding: 4rem 0 4rem;
}

.index_contact .index_contact_inner {
	display: flex;
	flex-wrap: wrap;
	background: #ffffff;
	padding: 2rem 4rem 2rem;
}

.index_contact .index_contact_inner .index_h2_title {
	width: 25%;
	margin: 3rem 0 10rem;
}

.contact_list {
	width: 75%;
	margin: 3rem 0 1rem;
	padding: 0;
}

.contact_list .title {
	font-size: 2.0rem;
	font-weight: 700;
	line-height:1.6;
	margin: 0 0 1rem;
	padding: 0;
}

.contact_list .text {
	font-size: 1.6rem;
	font-weight: 700;
	line-height:1.4;
	margin: 4rem 0 0.5rem;
	padding: 0;
}

.contact_list .tel {
	line-height:1.4;
	margin: 0 0;
	padding: 0;
}

.contact_list .tel .name {
	position: relative;
	top: -3px;
	font-size: 2.2rem;
	font-weight: 700;
	margin: 0 0;
	padding: 0;
}

.contact_list .tel .no {
	font-size: 4.0rem;
	font-weight: 700;
	color: #35a558;
	margin-left: 1rem;
	padding: 0;
}

.index_contact .link_button_list {
	width: 75%;
	margin: 0 0 2rem auto;
}

.index_contact .transition_button_1 {
	width: 510px;
	font-size: 2.2rem;
	margin: 2rem auto 2rem;
}

.index_contact .transition_button_1::after {
	clip: rect(0,0,510px,0);
}

.index_contact .transition_button_1:hover::after {
	clip: rect(0,510px,70px,0);
}

/* メインインデックス　インフォメーション */

.index_infomation {
	padding: 4rem 0 4rem;
}

.index_infomation_inner {
	display: flex;
	background: #ffffff;
	padding: 0 4rem 2rem;
}

.index_infomation .index_middle_left {
	width: 20%;
	padding: 0;
}

.index_infomation .index_middle_right {
	width: 80%;
	padding: 0;
}

.index_infomation .infomation_list {
	width: 100%;
	margin: 4rem 0 0;
	padding: 0 0 0.5rem;
}

.index_infomation .infomation_list .infomation_item {
	margin: 0;
	padding: 1rem 0;
	border-top: 1px solid #e2e2e2;
}

.index_infomation .infomation_list .infomation_item:first-child {
	border: none;
}

.index_infomation .infomation_list .infomation_item dl {
	width: 100%;
	line-height: 1.2;
}

.index_infomation .infomation_list .infomation_item_date {
	display: inline-block;
	width: 20%;
	font-size: 1.4rem;
	font-weight: 700;
	line-height:1.4;
	vertical-align: top;
	letter-spacing: 0.2em;
	margin: 0;
	padding: 0.5rem 1rem 0.5rem 0;
}

.index_infomation .infomation_list .infomation_item_title {
	display: block;
	position: relative;
	width: 100%;
	vertical-align: top;
	margin: 0;
	padding: 0.75rem 1rem 0 0;
}

.index_infomation .infomation_list .infomation_item_title a {

	line-height:1.4;
}

.index_infomation .infomation_list .infomation_item_cat {
	display: inline-block;
}

.index_infomation .infomation_list .infomation_item_cat span {
	display: inline-block;
	margin: 0 0.25rem 0.5rem;
	padding: 0;
}

.index_infomation .infomation_list .infomation_item_cat span a {
	display: inline-block;
	background: #f2f9f4;
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.0;
	color: #81c796;
	text-align: center;
	vertical-align: middle;
	letter-spacing: 0.2em;
	margin: 0;
	padding: 0.75rem 1.25rem 1rem;
}

.index_infomation .infomation_list dt:first-child,
.index_infomation .infomation_list dt:first-child + dd,
.index_infomation .infomation_list dt:first-child + dd + dd,
.index_infomation .infomation_list dt:first-child,
.index_infomation .infomation_list dt:first-child + dd,
.index_infomation .infomation_list dt:first-child + dd + dd {
	border: none;
}

/* アーカイブ */

.archive .archive_top_inner {
	padding: 10rem 4rem 2rem;
}

.archive .archive_middle_inner {
	padding: 0 4rem;
}

/* アーカイブ　インフォメーション */

.post-type-archive-infomation .archive_infomation_inner,
.tax-infomation_cat .archive_infomation_inner {
	background: #ffffff;
	padding: 4rem 4rem;
}

.post-type-archive-infomation .infomation_list,
.tax-infomation_cat .infomation_list {
	width: 100%;
	margin: 0 0 10rem;
	padding: 1rem 0;
}

.post-type-archive-infomation .infomation_list .infomation_item,
.tax-infomation_cat .infomation_list .infomation_item {
	margin: 0;
	padding: 3rem 0.5rem;
	border-bottom: 1px solid #f5f5f5;
}

.post-type-archive-infomation .infomation_list .infomation_item dl,
.tax-infomation_cat .infomation_list .infomation_item dl {
	display: block;
	letter-spacing: -0.20em;
	width: 100%;
	line-height: 1.2;
}

.post-type-archive-infomation .infomation_list .infomation_item_date,
.tax-infomation_cat .infomation_list .infomation_item_date {
	display: inline-block;
	width: 15%;
	font-size: 1.6rem;
	font-weight: 700;
	line-height:1.4;
	vertical-align: top;
	letter-spacing: 0.2em;
	margin: 0;
	padding: 0 1rem 0 0;
}

.post-type-archive-infomation .infomation_list .infomation_item_title,
.tax-infomation_cat .infomation_list .infomation_item_title {
	display: inline-block;
	letter-spacing: normal;
	width: 70%;
	vertical-align: top;
	margin: 0 2rem 0 0;
	padding: 0;
}

.post-type-archive-infomation .infomation_list .infomation_item_title a,
.tax-infomation_cat .infomation_list .infomation_item_title a {
	font-size: 1.8rem;
	line-height:1.4;
}

.post-type-archive-infomation .infomation_list .infomation_item_cat,
.tax-infomation_cat .infomation_list .infomation_item_cat {
	display: inline-block;
	width: 10%;
}

.post-type-archive-infomation .infomation_list .infomation_item_cat span,
.tax-infomation_cat .infomation_list .infomation_item_cat span {
	display: inline-block;
	margin: 0 0.25rem 0;
	padding: 0;
}

.post-type-archive-infomation .infomation_list .infomation_item_cat span a,
.tax-infomation_cat .infomation_list .infomation_item_cat span a {
	display: inline-block;
	background: #f2f9f4;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.0;
	color: #81c796;
	text-align: center;
	vertical-align: middle;
	letter-spacing: 0.2em;
	margin: 0 0.5rem 0.5rem;
	padding: 0.75rem 1.25rem 1rem;
}

.post-type-archive-infomation .infomation_list dt:first-child,
.post-type-archive-infomation .infomation_list dt:first-child + dd,
.post-type-archive-infomation .infomation_list dt:first-child + dd + dd,
.tax-infomation_cat .infomation_list dt:first-child,
.tax-infomation_cat .infomation_list dt:first-child + dd,
.tax-infomation_cat .infomation_list dt:first-child + dd + dd {
	border: none;
}

/* アーカイブ　施工実績 */

.works_category {
	background: #35a558;
	width: 100%;
	margin: 0 0;
	padding: 0;
}

.works_category_inner {
	position: relative;
	width: 90%;
	margin: 0 auto;
	padding: 4rem 4rem 4rem;
}

.category_title {
	display: inline-block;
	width: 10%;
	font-size: 1.4rem;
	font-weight: 500;
	color: #ffffff;
	line-height: 1.2;
	letter-spacing: 0.1em;
	vertical-align: middle;
	margin: 0;
	padding: 0;
}

.category_title::after {
	content: "：";
	font-size: 1.4rem;
	font-weight: 500;
	color: #ffffff;
}

.category_list {
	display: inline-block;
	position: relative;
	width: 88%;
	vertical-align: middle;
	margin: 1.5rem 0 1.5rem;
	padding: 0;
}

.category_list .cat-item {
	display: inline-block;
	margin: 0.5rem 0.25rem 0.5rem;
	padding: 0.5rem 0;
}

.category_list .cat-item .children {
	display: inline-block;
	margin: 0;
	padding: 0;
}

.category_list .cat-item .children li {
	display: inline-block;
	margin: 0;
	padding: 0;
}

.category_list .cat-item a {
	text-decoration: none;
	font-size: 1.3rem;
	font-weight: 500;
	color: #ffffff;
	letter-spacing: 0.1em;
	margin: 2rem 0 2rem;
	padding: 0.25rem 1.25rem 0.5rem;
	border: 2px solid #cde9d5;
}

.category_list .cat-item a::before {
	content: "#";
	font-size: 1.3rem;
	font-weight: 500;
	color: #ffffff;
}

.category_list .cat-item a:hover {
	background: #81c796;
}

.category_list .cat-item a:hover::before {
	content: "#";
	font-size: 1.3rem;
	font-weight: 500;
}

.category_list .cat-item a,
.category_list .cat-item a::before,
.category_list .cat-item a::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.works_inner {
	position: relative;
	display: flex;
	flex-wrap: wrap;
}

.works_inner .works_item {
	width: 50%;
	margin: 1rem 0 6rem;
	padding: 0 0.5rem;
	vertical-align: top;
}

.works_inner .works_item dl {
	position: relative;
	width: 100%;
	margin: 0;
	padding: 0;
}

.works_inner .works_item .works_img {
	position: relative;
	width: 100%;
	margin: 0 auto;
}

.works_inner .works_item .works_img .img {
	width: 100%;
	height: 25vw;
	margin: 0;
	object-fit: cover;
}

.works_inner .works_item .works_text {
	background: #ffffff;
	position: relative;
	width: 100%;
	margin: 2rem 0 2rem;
	padding: 2rem 2rem;
}

.works_item .works_text a {
	position: relative;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.2em;
}

/* アーカイブ　採用情報 */

.recruit_outline_title {
	font-size: 2.2rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	margin: 2rem 0 4rem;
	padding: 0;
}

.recruit_outline {
	width: 100%;
	letter-spacing: -0.2em;
	margin: 1rem 0 2rem;
}

.recruit_outline dt {
	display: inline-block;
	width: 20%;
	line-height:1.8;
	vertical-align: top;
	letter-spacing: 0.15em;
	margin: 0;
	padding: 1.5rem 1rem;
	border-top: 1px solid #e2e2e2;
}

.recruit_outline dd {
	display: inline-block;
	width: 78%;
	line-height:1.8;
	letter-spacing: 0.15em;
	margin: 0;
	padding: 1.5rem 1rem;
	border-top: 1px solid #e2e2e2;
}

.recruit_outline dd .recruit_dd_list {
	margin: 0 0 1rem;
	padding: 0;
}

.recruit_outline dd .recruit_dd_list .name {
	display: block;
	width: 100%;
	font-size: 1.6rem;
	line-height:1.4;
	padding: 1rem 0 1.5rem;
	border-top: none;
}

.recruit_outline dd .recruit_dd_list .text {
	display: block;
	line-height:1.4;
	padding: 0 0 1rem;
	border-top: none;
}

.tax-recruit_cat .recluitment_list {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	line-height: 1.2;
	margin: 1rem auto 8rem;
}

.tax-recruit_cat .recluitment_list dt {
	background: #ffffff;
	width: 20%;
	font-size: 1.6rem;
	font-weight: 500;
	line-height:1.2;
	vertical-align: top;
	margin: 0;
	padding: 2.5rem 3.5rem 2rem;
	border-right: 10px solid #f9fafa;
}

.tax-recruit_cat .recluitment_list dd {
	background: #ffffff;
	width: 80%;
	line-height:1.6;
	margin: 0;
	padding: 2.5rem 3.5rem 2rem;
}

/* 固定ページ */

.page .page_top_inner {
	padding: 10rem 4rem 2rem;
}

.page .page_middle_inner {
	padding: 0 4rem;
}

/* 固定ページ　プライバシーポリシー */

.policy_text {
	line-height: 2.0;
	margin: 0 0 4rem;
	padding: 0;
}

.policy_outline {
	margin: 2rem 0 4rem;
	padding: 0;
}

.policy_outline .neme {
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.2em;
	margin: 0 0 2rem;
	padding: 0;
}

.policy_outline .neme .no {
	display: inline-block;
	font-size: 2.2rem;
	font-weight: 500;
	margin: 0 1rem 0 0;
	padding: 0;
}

.policy_outline .text {
	line-height: 1.6;
	margin: 0 0 6rem;
	padding: 0;
}

.policy_outline .text .policy_list {
	margin: 1rem 0 2rem 2rem;
	padding: 0;
}

.policy_list .list_item {
	line-height: 1.6;
	list-style: square;
	margin: 0 0 0.5rem;
	padding: 0;
}

.policy_outline .text .contact .name {
	font-size: 1.6rem;
	line-height:1.4;
	margin: 4rem 0 0.5rem;
	padding: 0;
}

.policy_outline .text .contact .text {
	line-height:1.4;
	margin: 0 0 4rem;
	padding: 0;
}

/* 単一記事 */

.single .single_top_inner {
	padding: 10rem 4rem 2rem;
}

.single .single_middle_inner {
	background: #ffffff;
	padding: 4rem 4rem;
}

.single .outline_title {
	width: 95%;
	font-size: 3rem;
	font-weight: 500;
	text-align: center;
	line-height: 1.2;
	margin: 30px auto 55px;
	padding: 0;
}

.single .outline_title span {
	display: block;
	font-size: 1.8rem;
	font-weight: 700;
	color: #e2e2e2;
	line-height: 1.2;
	margin: 0;
}

.single .outline_text {
	background: #ffffff;
	text-align: center;
	width: 80%;
	line-height: 2.5;
	margin: 5px auto 15px;
	padding: 0;
}

.single .outline_text_item {
	text-align: left;
	vertical-align: top;
	display: table-cell;
	width: 50%;
	margin: 0;
	padding: 10px 15px;
}

.single .outline_image_item {
	display: table-cell;
	width: auto;
	margin: 0;
	padding: 0;
}

.single .outline_image_item img {
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
}

.single .outline {
	background: #fbfbfb;
	width: 95%;
	line-height: 1.2;
	margin: 1rem auto 2rem;
}

.single .outline dt {
	display: inline-block;
	width: 20%;
	font-weight: 500;
	line-height:1.2;
	vertical-align: top;
	margin: 0;
	padding: 1.5rem 1.5rem;
}

.single .outline dd {
	display: inline-block;
	width: 75%;
	line-height:1.6;
	margin: 0;
	padding: 1.5rem 1.5rem;
}

.single .outline ul li {
	margin: 0;
	line-height:1.6;
	padding: 0 0.5rem 0.5rem 0;
}

/* シングル　インフォメーション */

.single-infomation .single_top {
	background: url("") no-repeat top center;
	background-size: cover;
}

.single .infomation_header {
	margin: 1rem 0 4rem;
	padding: 0;
}

.single .infomation_header .date {
	display: block;
	font-size: 2.0rem;
	font-weight: 700;
	line-height:1.4;
	letter-spacing: 0.2em;
	margin: 0;
	padding: 1rem 0 1rem;
}

.single .infomation_header .cat {
	display: block;
	margin: 0.5rem 0 0;
	padding: 0;
}

.single .infomation_header .cat span {
	display: inline-block;
	margin: 0 0.25rem 0;
	padding: 0;
}

.single .infomation_header .cat span a {
	display: block;
	background: #f2f9f4;
	font-size: 1.4rem;
	font-weight: 700;
	color: #81c796;
	vertical-align: middle;
	letter-spacing: 0.2em;
	margin: 0;
	padding: 0.75rem 1.25rem 1rem;
}

.single .infomation_header .cat span a::before {
	content: "#";
	font-size: 1.6rem;
	color: #81c796;
}

.single .content_h2_title {
	width: 100%;
	margin: 6rem 0 10rem;
	padding: 0;
}

.single .content_h2_title .jp_title {
	font-size: 2.4rem;
	font-weight: 500;
}

/* 単一記事　実績紹介 */

.single-works .single_middle_inner {
	background: #f9fafa;
	width: 100%;
	margin: 0;
	padding: 0 0 4rem;
}

.single_works_inner .main_img {
	position: relative;
	width: 100%;
	margin: 0;
	padding: 0;
}

.single_works_inner .featured_image {
	width: 100%;
	height: 45vw;
	margin: 0;
	padding: 0;
	overflow: hidden;
}

.single_works_inner .featured_image img {
	width: 100%;
	height: auto;
}

.single_works_inner .works_info {
	position: absolute;
	right: 4rem;
	bottom: 4rem;
	background: #ffffff;
	width: 36%;
	min-width: 300px;
	z-index: 997;
	padding: 2rem 2rem 2rem;
}

.single_works_inner .works_info .title {
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.2;
	word-break: keep-all;
	overflow-wrap: break-word;
	letter-spacing: 0.2em;
	margin: 0 0 2rem;
	padding: 0;
}

.single_works_inner .works_info .cat {
	font-weight: 500;
	margin: 0 0 1rem;
	padding: 0;
}

.single_works_inner .works_info .cat::before {
	content: "－";
	font-size: 1.2rem;
	font-weight: 500;
}

.single_works_inner .works_info .cat span {
	font-size: 1.2rem;
	line-height: 1.2;
	letter-spacing: 0.2em;
	margin-left: 0.5rem;
	padding: 0;
}

.single_works_inner .works_info .content {
	margin: 0;
	padding: 0;
}

.single_works .works_info .content span,.single_works .works_info .content h1,.single_works .works_info .content h2,.single_works .works_info .content h3,.single_works .works_info .content h4,.single_works .works_info .content h5.single_works .works_info .content ,h6,.single_works .works_info .content p,.single_works .works_info .content dt,.single_works .works_info .content dd,.single_works .works_info .content li,.single_works .works_info .content th,.single_works .works_info .content td {
	font-size: 1.3rem;
	line-height: 1.8;
	letter-spacing: 0.2em;
}
.single_works_inner .single_works_map {
	width: 100%;
}

.single_works_inner .single_works_map iframe {
	width: 100%;
	height: 45vw;
}

.single_works_inner .works_single_thumbnail {
	display: flex;
	flex-wrap: wrap;
	width: 90%;
	margin: 6rem auto 0;
	padding: 4rem 4rem;
}

.single_works_inner .thumbnail_item {
	width: 50%;
	margin: 0;
	padding: 0.5rem 0.5rem;
}

.single_works_inner .thumbnail_item img {
	width: 100%;
	height: auto;
}

.single_works_inner .other_works {
	width: 100%;
	margin: 0 0 10rem;
	padding: 0;
}

.single_works_inner .content_h2_title {
	padding-left: 4rem;
}

.single_works_inner .bx-wrapper {
	left: 0;
	box-shadow: none;
	border: none;
	background: none;
}

/* メールフォーム */

.page-contact .page_top,
.page-contact_check .page_top,
.page-contact_thanks .page_top {
}

.page .h2_title .jp_title {
	font-size: 4rem;
	font-weight: 500;
}

.mailform {
	width: 100%;
	margin: 0 auto 2rem;
	padding: 0;
}

.mailform dt {
	width: 25%;
	display: inline-block;
	font-weight: 500;
	vertical-align: top;
	margin: 0;
	padding: 1rem 0 1rem;
}

.mailform dt .must {
	display: inline-block;
	background: #f2f9f4;
	font-size: 1.2rem;
	font-weight: 700;
	color: #81c796;
	line-height :1;
	letter-spacing: 0.2em;
	margin: 0 0.5rem;
	padding: 0.75rem 1.25rem 1rem;
}

.mailform dd {
	width: 74%;
	display: inline-block;
	margin: 0;
	padding: 1rem 0 1rem;
}

.page input,
.page textarea,
.page select {
	border: 0;
	padding: 1rem;
	margin: 0 auto 2rem;
}

.page .w15 input,
.page .w15 textarea,
.page .w15 select {
	width: 15%;
}

.page .w30 input,
.page .w30 textarea,
.page .w30 select {
	width: 30%;
}

.page .w60 input,
.page .w60 textarea,
.page .w60 select {
	width: 60%;
}

.page .w100 input,
.page .w100 textarea,
.page .w100 select {
	width: 100%;
}

.mailform dd .mwform-radio-field-text {
	margin-right: 1rem;
}

.mailform .anno_text {
	display: block;
	font-size: 1.4rem;
	line-height:1.6;
	margin: 0;
	padding: 0;
}

.terms {
	height: 20rem;
	width: 85%;
	border: 1px solid #242424;
	overflow: auto;
	margin: 0 auto 5rem;
	clear: both;
	text-align:left;
}

.terms_title {
	font-size: 2.6rem;
	font-weight: 500;
	text-align: center;
	line-height:1.6;
	margin: 5rem auto 1rem;
	padding: 0;
}

.terms .terms_subhead {
	font-size: 1.8rem;
	font-weight: 500;
	line-height:1.6;
	margin: 1.5rem 0 0;
	padding: 0;
}

.terms p {
	margin: 0.5rem 1rem 1.5rem;
	padding: 0;
	line-height: 1.6;
}

.terms ul {
	margin: 0.5rem 1rem 1.5rem;
}

.terms li {
	margin: 0 0 0.5rem 2rem;
	line-height: 1.6;
	list-style-type: disc;
}

p.terms_agree {
	background: #1e71c2;
	width: 100%;
	color: #ffffff;
	text-align: center;
	margin: 0 1rem 1rem;
	padding: 0;
}

p.terms_agree span {
	color: #ffffff;
}

.sending_button {
	width: 100%;
	text-align: center;
	margin: 3rem 0 3rem;
}

.page input.confirmation {
	background: none;
	text-align: center;
	text-decoration: none;
	font-size: 1.6rem;
	font-weight: 700;
	padding: 2rem 4rem 2rem;
	border: #e8e8e8 3px solid;
	border-radius: 35px;
}

.page input.confirmation .marker {
	font-size: 1.2rem;
	font-weight: 700;
	margin-left: 0.5rem;
}

.page input.confirmation:hover {
	background: none;
	border: #1a1a1a 3px solid;
	border-radius: 35px;
}

.page input.confirmation::before,
.page input.confirmation::after {
	z-index: -1;
	content: '';
}

.page input.confirmation,
.page input.confirmation::before,
.page input.confirmation::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.page .complete {
	margin: 2rem 0 15rem;
}

.page_contact_thanks .transition_button_1 {
	margin: 2rem auto 2rem;
}

/* フッター */

footer {
	background: #1a1a1a url("http://www.i-const.net/testsite1/wordpress/wp-content/themes/souwalayout/images/footer_back.svg") no-repeat center center;
	background-size: contain;
	background-attachment: fixed;
	padding: 1rem 0 1rem;
}

.footer_middle_inner {
	padding: 0.5rem 4rem 0;
}

.footer_bottom_inner {
	padding: 0.5rem 4rem;
}

.footer_middle_box {
	width: 100%;
	display: flex;
}

.footer_middle_box .box_item {
	width: 50%;
	vertical-align: top;
	padding: 2rem 0;
	vertical-align: bottom;
}

.footer_address {
	width: 100%;
	margin: 2rem 0 1rem;
	padding: 0;
}

.footer_address .footer_logo {
	display: block;
	width: 27%;
	margin: 0 0 1rem;
	padding: 0;
}

.footer_address .footer_logo img {
	width: 100%;
	height: auto;
}

.footer_address .name {
	display: block;
	width: 100%;
	font-size: 1.8rem;
	font-weight: 700;
	color: rgba(255,255,255,0.7);
	vertical-align: top;
	line-height:1.6;
	margin: 0 0 2rem;
	padding: 0;
}

.footer_address .text {
	display: block;
	font-size: 1.4rem;
	font-weight: 500;
	color: rgba(255,255,255,0.7);
	line-height:1.6;
	margin: 0 2rem 0.5rem 0;
	padding: 0;
}

.footer_address .text a {
	font-size: 1.4rem;
	font-weight: 500;
	color: rgba(255,255,255,0.7);
	line-height:1.6;
}

.footer_nav .nav_list_inner {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	width: 100%;
	height: 450px;
	margin: 0 0;
	vertical-align: top;
}

.footer_nav .nav_list_inner li {
	list-style: none;
	margin: 0 0 5rem;
	padding: 0;
}

.footer_nav .nav_list_inner li a {
	text-decoration: none;
	display: block;
	font-size: 1.4rem;
	font-weight: 500;
	color: rgba(255,255,255,0.7);
	letter-spacing: 0.1em;
}

.footer_nav .nav_list_inner li a span {
	display: block;
	font-size: 2.6rem;
	letter-spacing: 0em;
	font-weight: 500;
	color: rgba(255,255,255,0.7);
	margin: 1rem 0 1rem;
}

.footer_nav .nav_list_inner li ul {
	margin: 2rem 0 0;
}

.footer_nav .nav_list_inner li ul li {
	margin: 1rem 0 0;
}

.footer_nav .nav_list_inner li ul li a:before {
	position: relative;
	top: -1px;
	font-size: 1.2rem;
	color: rgba(255,255,255,0.7);
	content: "－ ";
}

.footer_nav .nav_list_inner li ul li a {
	font-size: 1.3rem;
	color: rgba(255,255,255,0.7);
	letter-spacing: 0.1em;
}

.footer_policy {
	width: 100%;
	text-align: right;
	margin: 0;
	padding: 0.5rem 0;
}

.footer_policy a {
	position: relative;
	font-size: 1.4rem;
	font-weight: 500;
	color: rgba(255,255,255,0.7);
	padding-right: 1.5rem;
}

.footer_policy a .marker {
	position: absolute;
	top: 0.3vw;
	right: 0;
	width: 1.0vw;
	height: 1.0vw;
	font-size: 1.4rem;
	font-weight: 700;
	color: rgba(255,255,255,0.7);
	line-height:1;
	padding: 0.2vw 0.2vw;
	border-radius: 50%;
}

footer .footer_copyright {
	font-weight: 500;
	color: rgba(255,255,255,0.7);
	line-height: 1.2;
	letter-spacing: 0.1em;
	padding: 1rem 0;
}

/*スマートフォン*/

@media only screen and (max-width: 768px) {

	/* ヘッダー・ナビゲーション */

	.header_middle_inner {
		padding: 2rem 0 2rem 2rem;
	}

	#g-nav .site_logo {
		position: relative;
		left: 2rem;
		top: 2rem;
		width: 60%;
		margin: 0 0;
	}

	.header_middle_inner .header_logo a .text {

		font-size: 4.0vw;
		padding: 3vw 0 0 0.5rem;
	}

	.home .header_middle_inner .header_logo a .text {
		font-size: 4.4vw;
		padding: 5vw 0 0 1rem;
	}

	/*ナビゲーション*/

	#g-nav.panelactive .nav_list_inner {
		width: 100%;
		height: 80vh;
		margin: 6rem 0 0;
		padding: 0 2rem;
	}

	#g-nav .nav_list_inner li {
		margin: 0 2rem 2rem 0;
	}

	#g-nav .nav_list_inner li a {
		letter-spacing: 0.05em;
	}

	#g-nav.panelactive .nav_list_inner li .sub-menu {
		margin: 1rem 0 1rem;
	}

	#g-nav .nav_list_inner li a span {
		font-size: 2.2rem;
	}

	.site_policy {
		left: 1rem;
		bottom: 2rem;
	}

	.site_policy a {
		font-size: 1.2rem;
		letter-spacing: 0;
	}

	/* ボタン */

	.openbtn1 {
		right: 0px;
	}

	.nav_list .list_item {
		margin: 2rem 2rem 4rem;
	}

	.nav_list .about_item a {
		background-size: 40px;
	}

	.nav_list .store_item a {
		background-size: 40px;
	}

	.nav_list .menulist_item a {
		background-size: 45px;
	}

	.nav_list .access_item a {
		background-size: 40px;
	}

	.nav_list .infomation_item a {
		background-size: 40px;
	}

	.nav_list .contact_item a {
		background-size: 40px;
	}

	.nav_list .sightseeing_item a {
		background-size: 40px;
	}

	.nav_list .list_item .ja_menu {
		font-size: 1.4rem;
	}

	/* ページトップ */

	.pagetop_button a {
		right: 45px;
	}

	/* ページネーション */

	.pagination_inner li span,
	.pagination_inner li a {
		font-size: 1.6rem;
		margin: 0.5rem 0.25rem;
		padding: 0.5rem 1rem 0.5rem;
	}

	.pagination_inner li .dots,
	.pagination_inner li .prev,
	.pagination_inner li .next {
		font-size: 1.6rem;
	}

	/* コンテンツトップ・スライドイメージ */

	#slider li {
		height: 94vh;
		background: center right 25% / cover no-repeat;
	}

	/* メインインデックス */

	.index_top .index_top_txt01 {
		left: 2rem;
		bottom: 36rem;
	}

	.index_top .index_top_txt01 .txt_item {
		font-size: 5.6vw;
		margin: 0 0 1vw;
	}

	.index_top .index_top_txt01 .txt_item .qlty::before,
	.index_top .index_top_txt01 .txt_item .crt::before {
		left: -100px;
		transform: scale(0.4) skew(-15deg,-15deg);
	}

	.index_top .works_info {
		right: 2rem;
		bottom: 4rem;
	}

	.index_middle_inner {
		padding: 0 1rem;
	}

	.index_h3_copy {
		font-size: 1.8rem;
	}

	/* 業務案内 */

	.index_service_inner {
		padding: 0;
	}

	.service_inner {
		display: block;
	}

	.service_inner .index_middle_blank {
		width: 0;
	}

	.service_inner .index_middle_left {
		width: 100%;
		padding: 0 0 2rem 0;
	}

	.service_inner .index_middle_right {
		width: 100%;
		padding: 0 1rem;
	}

	.index_service_inner .index_h2_title {
		width: 100%;
		padding: 0 1rem;
	}

	.index_plan_left .image_block {
		width: 90%;
		padding: 300px 0 0 0;
		border-radius: 0 150px 150px 0;
	}

	.index_design_left .image_block {
		width: 90%;
		padding-top: 300px;
		border-radius: 0 150px 150px 0;
	}

	.index_development_left .image_block {
		width: 90%;
		padding-top: 300px;
		border-radius: 0 150px 150px 0;
	}

	.index_measurement_left .image_block {
		width: 90%;
		padding-top: 300px;
		border-radius: 0 150px 150px 0;
	}

	.index_service_inner .index_h3_title {
		margin: 2rem 0 6rem;
		padding: 0 1rem;
	}

	.index_service_inner .service_list {
		display: block;
	}

	.index_service_inner .service_list .list_item {
		width: 100%;
	}

	/* 会社案内 */

	.index_company_inner .index_h2_title {
		margin: 6rem 0 10rem;
	}

	.index_company_inner .office_image {
		position: relative;
		right: 0;
		width: 100%;
		padding-top: 50%;
	}

	.index_company_inner .profile .name {
		width: 50%;
		font-weight: 700;
		padding: 3rem 0;
	}

	.index_company_inner .profile .text {
		width: 100%;
		padding: 3rem 0;
	}

	.index_company_inner .profile ul .license span {
		vertical-align: top;
	}

	.index_company_inner .profile ul .license .license_name {
		width: 50%;
	}

	.index_company_inner .profile ul .license .perm {
		width: 48%;
	}

	.index_company_inner .profile ul .license .no1 {
		width: 50%;
	}

	.index_company_inner .profile ul .license .no2 {
		width: 48%;
	}

	/* 実績紹介 */

	.index_works .bx-wrapper {
		width: 90%;
		padding-left: 0;
	}

	#slider2 li {
		height: 300px;
	}

	#slider2 li a .name {
		width: 90%;
	}

	#slider2 li a .name .title {
		font-size: 1.6rem;
		line-height: 1.4;
	}

	/* アクセス */

	.index_access .index_access_inner {
		padding: 4rem 1rem 4rem;
	}

	.index_access_inner .map_list .list_item {
		width: 100%;
		height: 70vw;
		margin: 0 0 1rem;
	}

	.index_access_inner .map_list .list_item iframe {
		height: 130vw;
		margin-top: -30vw;
	}

	.index_access_inner .map_list .list_item .address_list {
		width: 50%;
		padding: 1.0rem 1.5rem 0.5rem;
	}

	.address_list .name {
		font-weight: 700;
	}

	.index_access_inner .map_list .list_item .list_br,
	.index_access_inner .map_list .list_item .list_bl,
	.index_access_inner .map_list .list_item .list_tr,
	.index_access_inner .map_list .list_item .list_tl {
		top: auto;
		right: 0;
		bottom: 0;
		left: auto;
	}

	/* 採用情報 */

	.index_recruit_inner {
	width: 100%;
	padding: 0;
	}

	.recruit_inner .index_middle_blank {
		width: 0%;
	}

	.recruit_inner .index_middle_left {
		width: 100%;
		padding: 0 1rem;
	}

	.recruit_inner .index_middle_right {
		width: 90%;
		margin: 0 0 0 auto;
		padding-top: 300px;
		border-radius: 150px 0 0 150px;
	}

	.index_recruit_inner .index_h2_title {
		width: 100%;
		padding: 0 1rem;
	}

	.index_recruit_inner .transition_button_1 {
		margin: 4rem 1rem 4rem auto;
	}

	/* お問い合わせ */

	.index_contact {
		padding: 0 1rem 4rem;
	}

	.index_contact .index_contact_inner {
		padding: 2rem 2rem 2rem;
	}

	.index_contact .index_contact_inner .index_h2_title {
		width: 100%;
	}

	.contact_list {
		width: 100%;
		margin: 0 0 1rem;
	}

	.contact_list .tel .name {
		font-size: 1.8rem;
	}

	.contact_list .tel .no {
		font-size: 3.2rem;
	}

	.index_contact .link_button_list {
		width: 100%;
	}

	.index_contact .transition_button_1 {
		width: 320px;
	}

	.index_contact .transition_button_1::after {
		clip: rect(0,0,340px,0);
	}

	.index_contact .transition_button_1:hover::after {
		clip: rect(0,340px,70px,0);
	}

	/* メインインデックス　インフォメーション */

	.index_infomation {
		padding: 2rem 1rem 2rem;
	}

	.index_infomation_inner {
		display: block;
		padding: 2rem 2rem;
	}

	.index_infomation .index_middle_left {
		width: 100%;
	}

	.index_infomation .index_middle_right {
		width: 100%;
	}

	.index_infomation .infomation_list .infomation_item_date {
		width: 30%;
	}

	/* アーカイブ */

	.archive .archive_top_inner {
		padding: 8rem 0 2rem;
	}

	.archive .archive_middle_inner {
		padding: 2rem 0;
	}

	/* アーカイブ　インフォメーション */

	.post-type-archive-infomation .archive_infomation_inner,
	.tax-infomation_cat .archive_infomation_inner {
		padding: 2rem 2rem;
	}

	.post-type-archive-infomation .infomation_list .infomation_item_date,
	.tax-infomation_cat .infomation_list .infomation_item_date {
		width: 30%;
	}

	.post-type-archive-infomation .infomation_list .infomation_item_title,
	.tax-infomation_cat .infomation_list .infomation_item_title {
		display: block;
		width: 100%;
	}

	.post-type-archive-infomation .infomation_list .infomation_item_title a,
	.tax-infomation_cat .infomation_list .infomation_item_title a {
	}

	.post-type-archive-infomation .infomation_list .infomation_item_cat,
	.tax-infomation_cat .infomation_list .infomation_item_cat {
		width: 30%;
	}

	/* アーカイブ　施工事例 */

	.post-type-archive-works .archive_middle,
	.tax-works_cat .archive_middle {
		padding: 0 0;
	}

	.works_category_inner {
		width: 100%;
		padding: 2rem 1rem 2rem;
	}

	.category_title {
		display: block;
		width: 100%;
	}

	.category_list {
		width: 100%;
	}

	.post-type-archive-works .content_h2_title,
	.tax-works_cat .content_h2_title {
		padding: 0 1rem;
	}

	.works_inner {
		width: 100%;
		padding: 0 1rem 0;
	}

	.works_inner .works_item {
		width: 100%;
	}

	.works_inner .works_item .works_img .img {
		height: 55vw;
	}

	/* アーカイブ　採用情報 */

	.recruit_outline dt {
		display: block;
		width: 100%;
		font-weight: 700;
	}

	.recruit_outline dd {
		display: block;
		width: 100%;
		border-top: none;
	}

	.post-type-archive-recruit .recluitment_list dt,
	.tax-recruit_cat .recluitment_list dt {
		width: 100%;
		padding: 4.5rem 2rem 2rem;
		border-right: none;
	}

	.post-type-archive-recruit .recluitment_list dd,
	.tax-recruit_cat .recluitment_list dd {
		width: 100%;
		padding: 2rem 2rem 4.5rem;
	}

	/* 固定ページ */

	.page .page_top_inner {
		padding: 10rem 0 2rem;
	}

	.page .page_middle_inner {
		padding: 0rem;
	}

	/* 固定ページ　プライバシーポリシー */

	.policy_outline .neme {
		font-size: 1.8rem;
	}

	.policy_outline .neme .no {
		font-size: 1.8rem;
	}

	/* 単一記事 */

	.single .single_top_inner {
		padding: 10rem 0 2rem;
	}

	.single .single_middle_inner {
		padding: 2rem 2rem;
	}

	/* 単一記事　実績紹介 */

	.single-works .single_middle {
		padding: 0 0;
	}

	.single-works .single_middle_inner {
		padding: 0rem;
	}

	.single_works_inner .featured_image {
		height: 120vw;
	}

	.single_works_inner .featured_image img {
		height: 120vw;
		object-fit: cover;
	}

	.single_works_inner .works_info {
		right: 2rem;
		bottom: 2rem;
	}

	.single_works_inner .works_info .title {
		font-size: 2.0rem;
	}

	.single_works .works_info .content span,.single_works .works_info .content h1,.single_works .works_info .content 		h2,.single_works .works_info .content h3,.single_works .works_info .content h4,.single_works .works_info .content h5.single_works .works_info .content ,h6,.single_works .works_info .content p,.single_works .works_info .content dt,.single_works .works_info .content dd,.single_works .works_info .content li,.single_works .works_info .content th,.single_works .works_info .content td {
		font-size: 1.2rem;
	}

	.single_works_inner .single_works_map iframe {
		height: 120vw;
	}

	.single_works_inner .works_single_thumbnail {
		width: 100%;
		margin: 4rem 0 0;
		padding: 2rem 1rem;
	}

	.single_works_inner .thumbnail_item {
		width: 100%;
	}

	.single_works .link_button_list {
		padding: 0 1rem;
	}

	/* メールフォーム */

	.page .h2_title .jp_title {
		font-size: 2.6rem;
	}

	.mailform {
		width: 100%;
	}

	.mailform dt {
		width: 100%;
		display: block;
		line-height:1.6;
		padding: 1rem 0 1rem;
	}

	.mailform dt .must {
		font-size: 1rem;
	}

	.mailform dd {
		width: 100%;
		display: block;
		line-height:1.6;
	}

	.page .w15 input,
	.page .w15 textarea,
	.page .w15 select,
	.page .w30 input,
	.page .w30 textarea,
	.page .w30 select,
	.page .w60 input,
	.page .w60 textarea,
	.page .w60 select {
		width: 100%;
	}

	.mailform .anno_text {
		font-size: 1.3rem;
	}

	.terms {
		width: 95%;
	}

	.terms_title {
		font-size: 2rem;
		margin: 3rem auto 1rem;
	}

	.terms .terms_subhead {
		font-size: 1.4rem;
	}

	.terms p {
		font-size: 1.3rem;
	}

	p.terms_agree {
		font-size: 1.3rem;
	}

	.page input.confirmation {
		width: 60%;
		font-size: 1.3rem;
		padding: 1.5rem 1rem 1.5rem;
	}

	.page .complete {
		margin: 2rem 0 15rem;
	}

	/* フッター */

	.footer_middle_inner {
		padding: 0.5rem 1rem 0;
	}

	.footer_bottom_inner {
		padding: 0.5rem 1rem;
	}

	.footer_middle_box .box_item {
		width: 100%;
	}

	.footer_address .footer_logo {
		width: 40%;
	}

	footer .footer_copyright {
		line-height: 1.4;
	}

}