@font-face{font-family:'Noto Serif JP';src:url("../webfonts/NotoSerifJP-Light_subset.woff") format("woff");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Noto Serif JP';src:url("../webfonts/NotoSerifJP-Regular_subset.woff") format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Noto Serif JP';src:url("../webfonts/NotoSerifJP-Medium_subset.woff") format("woff");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Noto Serif JP';src:url("../webfonts/NotoSerifJP-SemiBold_subset.woff") format("woff");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Noto Serif JP';src:url("../webfonts/NotoSerifJP-Bold_subset.woff") format("woff");font-weight:700;font-style:normal;font-display:swap}
body {
	font-family:"Noto Serif JP",sans-serif;
	color: #333;
	font-feature-settings: "palt";
	letter-spacing: 1.5px;
	line-height: 1.6;
	font-weight: 300;
	overflow-x: hidden;
}
img {
	width: 100%;
}
/*ヘッダーエリア　ここから*/
header {
	width: 100%;
	overflow: hidden;
	padding: 0;
	margin: 0 auto;
	width: 100%;
	display: flex;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
	height: 70px;
	position: fixed;
	background: #FFF;
}
header .logo {
	max-width: 250px;/*ロゴの画像サイズによって調整必要*/
	width: 100%;
	display: flex;
	margin-left: 4%;
	justify-content: center;
    align-items: center;
}
header .logo img {
	width: 100%;
	height: auto;
}
header .logo a {
	margin: 0;
	padding: 0;
	line-height: 0;
}
/*ヘッダーエリア　PCナビゲーションメニュー　ここから*/
header .pc_navmenu {
	display: flex;
	align-items: center;
	margin: 0 auto;
}
header .pc_navmenu .pc_nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
header .pc_navmenu .pc_nav ul li {
	color: #333;
	padding: 0 0.65em;
	list-style: none;
	display: table-cell;
	font-size: 15px;
}
header .pc_navmenu .pc_nav ul li:first-child {
	color: #333;
	padding: 0 0.65em 0 0;
	list-style: none;
	display: table-cell;
	font-size: 15px;
}
header .pc_navmenu .pc_nav ul li.nav_tel {
	color: #333;
	padding: 0 0 0 0.35em;/*SNSアイコンがある場合はここをコメントアウト*/
	/*padding: 0 0.65em 0 0.35em;SNSアイコンがない場合はここをコメントアウト*/
	list-style: none;
	display: table-cell;
	font-size: 15px;
}
header .pc_navmenu .pc_nav ul li span.icon::before {
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	content: '\f095';
	font-size: 15px;
	color: #333;
	position: inherit;
	width: 15px;
	height: 15px;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	text-align: center;
}
header .pc_navmenu .pc_nav ul li.underline a {
	color: #333;
	text-decoration-line: none;
	position: relative;
	display: inline-block;
}
header .pc_navmenu .pc_nav ul li.underline a::after {
	position: absolute;
	bottom: 2px;
	left: 0;
	content: '';
	width: 100%;
	height: 2px;
	background: #333;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
}
header .pc_navmenu .pc_nav ul li.underline a:hover::after {
	bottom: -4px;
	opacity: 0.7;
	visibility: visible;
}
header .pc_navmenu .pc_nav ul li.snsicon a:hover {
	opacity: 0.7;
	transition: all .3s;
}
header .pc_navmenu .pc_nav ul li.snsicon img {
	max-width: 27px;
	padding: 0 0.35em;
	position: relative;
	top: 5px;
}
/*ヘッダーエリア　PCナビゲーションメニュー　ここまで*/

/*ヘッダーエリア　ハンバーガーメニュー　ここから*/
header .menu-btn {
    position: fixed;
	top: 10.5px;
    right: 4%;
    display: flex;
    height: 50px;
    width: 50px;
    justify-content: center;
    align-items: center;
    z-index: 90;
}
/*ハンバーガーメニューのみ　レスポンシブ調整　ここから*/
@media screen and (min-width: 1537px) {
	header {
		height: 74px;
	}
	header .menu-btn {
		top: 12.5px;
	}
}
@media screen and (min-width: 1280px) and (max-width: 1366px) {
	header .menu-btn {
		height: 50px;
		width: 50px;
	}
}
@media screen and (min-width: 1200px) and (max-width: 1279px) {
	header .menu-btn {
		height: 50px;
		width: 50px;
	}
}
@media screen and (min-width: 1120px) and (max-width: 1199px) {
	header .menu-btn {
		height: 49px;
		width: 49px;
		top: 10px;
	}
}
@media screen and (min-width: 1025px) and (max-width: 1119px) {
	header .menu-btn {
		height: 49px;
		width: 49px;
		top: 10px;
	}
}
@media screen and (min-width: 934px) and (max-width: 1024px) {
	header .menu-btn {
		height: 48px;
		width: 48px;
		top: 11px;
		right: 3%;
	}
}
@media screen and (min-width: 840px) and (max-width: 933px) {
	header .menu-btn {
		height: 48px;
		width: 48px;
		top: 11px;
	}
}
@media screen and (min-width: 768px) and (max-width: 839px) {
	header .menu-btn {
		height: 48px;
		width: 48px;
		top: 11px;
	}
}
@media screen and (max-width: 767px) {
	header .menu-btn {
		height: 45px;
		width: 45px;
		top: 1.9%;
		bottom: 1.9%;
	}
}
@media only screen and (max-width: 767px) and (orientation: landscape) {
	header .menu-btn {
		height: 45px;
		width: 45px;
		top: 4%;
		bottom: 4%;
	}
}
/*ハンバーガーメニューのみ　レスポンシブ調整　ここまで*/

header .menu-btn span,
header .menu-btn span:before,
header .menu-btn span:after {
    content: '';
    display: block;
    height: 2px;
    width: 25px;
    border-radius: 3px;
    background-color: #000;
    position: absolute;
}
header .menu-btn span:before {
    bottom: 8px;
}
header .menu-btn span:after {
    top: 8px;
}
header .hamburger-menu {
	display: none;
}
#menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}
#menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    transform: rotate(45deg);
}
#menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    transform: rotate(-45deg);
}
#menu-btn-check {
    display: none;
}
#menu-btn-check:checked ~ .menu-content {
    left: 81%;
}
/*メニューの装飾*/
.menu-content {
    width: 25%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 100%;/*leftの値を変更してメニューを画面外へ*/
    z-index: 80;
    background: #FFF;
    transition: all 0.5s;/*アニメーション設定*/
}
.menu-content ul {
    padding: 70px 20px 0;
}
.menu-content ul li {
    list-style: none;
	width: 96%;
	margin: 0 auto;
}
.menu-content ul li a {
	color: #333;
	text-decoration-line: none;
	position: relative;
	display: inline-block;
    font-size: 16px;
	padding: 7.5px 5px 7.5px 0;
	box-sizing: border-box;
}
.menu-content ul li a::after {
	position: absolute;
	bottom: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 2px;
	background: #333;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
	z-index: 101;
}
.menu-content ul li a:hover::after {
	bottom: 4px;
	opacity: 1;
	z-index: 101;
	visibility: visible;
}
.menu-content ul li a.menu_tel {
	pointer-events: none;
}
.menu-content ul li a.menu_tel span.icon::before {
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	content: '\f095';
	font-size: 15px;
	color: #333;
	position: inherit;
	width: 15px;
	height: 15px;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	text-align: center;
}
/*ヘッダーエリア　ハンバーガーメニュー　ここまで*/
/*ヘッダーエリア　ここまで*/

/*メインエリア　静止画1枚＆スライドショー　ここから*/
.main_slidearea {
	width: 100%;
	margin-top: 70px;
	overflow: hidden;
}
.main_slidearea div.pc {
	display: block !important;
}
.main_slidearea div.tablet,
.main_slidearea div.sp {
	display: none !important;
}
div.pc .slide {
	position: relative;
	width: 100%;
	max-width: 1920px;
	/*height: 600px;*/
	height: calc(100vh - 70px);
	overflow: hidden;
}
.slide ul li {
	list-style: none;
}
.slide ul li.slide-image {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	animation: slider-1 18s linear infinite;
}
div.pc .slide ul li.slide-image:nth-child(1) {
	background-image: url("../img/main01_h800.jpg");
	animation-delay: -1s;
}
div.pc .slide ul li.slide-image:nth-child(2) {
	background-image: url("../img/main02_h800.jpg");
	animation-delay: 5s;
}
div.pc .slide ul li.slide-image:nth-child(3) {
	background-image: url("../img/main03_h800.jpg");
	animation-delay: 11s;
}
@keyframes slider-1 {
	0% {
		opacity: 0;
		transform: scale(1);
	}
	4.16% {
		opacity: 1;
	}
	33.33% {
		opacity: 1;
	}
	41.66% {
		opacity: 0;
		transform: scale(1.2);
	}
	100% {
		opacity: 0;
	}
}
.main_slidearea .ccarea {
	position: absolute;
	text-align: center;
	width: 96%;
	left: 50%;
	top: 660px;
	transform: translate(-50%, -330px);
    -webkit-transform: translate(-50%, -330px);
    -ms-transform: translate(-50%, -330px);
	z-index: 13;
}
.main_slidearea .ccarea h1 {
	position: relative;
	margin: 0 auto 10px;
	line-height: 1.8;
	z-index: 12;
	/*font-size: 45px;
	font-weight: 700;
	color: #40356f;
	text-shadow: #FFF 0 0 5px,#FFF 0 0 5px,#FFF 0 0 5px,#FFF 0 0 5px,#FFF 0 0 5px,#FFF 0 0 5px,#FFF 0 0 5px,#FFF 0 0 5px,#FFF 0 0 5px;*/
}
.main_slidearea .ccarea h1 img {
	width: 92%;
	height: auto;
}
.main_slidearea .ccarea h1 span.sub::before {
	content: "\A";
	white-space: pre;
}
.main_slidearea .ccarea h1 span.sub {
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 2px;
	color: #FFF;
	/*text-shadow: #333 0 0 5px,#333 0 0 5px,#333 0 0 5px,#333 0 0 5px,#333 0 0 5px,#333 0 0 5px;*/
	text-shadow: #333 0 0 1px,#333 0 0 1px,#333 0 0 1px,#333 0 0 1px,#333 0 0 1px,#333 0 0 1px,#333 0 0 1px,#333 0 0 1px,#333 0 0 1px,#333 0 0 1px;
}
.main_slidearea .ccarea p {
	margin-left: 5px;
	font-size: 18px;
	font-weight: 400;
	color: #333;
	letter-spacing: 1.5px;
	text-shadow: #FFF 0 0 5px, #FFF 0 0 5px, #FFF 0 0 5px, #FFF 0 0 5px, #FFF 0 0 5px, #FFF 0 0 5px, #FFF 0 0 5px, #FFF 0 0 5px, #FFF 0 0 5px, #FFF 0 0 5px, #FFF 0 0 5px, #FFF 0 0 5px;
	z-index: 12;
}
.main_slidearea .ccarea p span::before {
	content: "\A";
	white-space: pre;
}
/*メインエリア　静止画1枚＆スライドショー　ここまで*/

/*下からふわっと出てくる動き　アニメーション要素のスタイル*/
.animation {
	opacity: 0;
	visibility: hidden;
	transition: 1.5s;
	transform: translateY(60px);
}
/*下からふわっと出てくる動き　アニメーション要素までスクロールした時のスタイル*/
.active {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

/*コンテンツエリア全体*/
.contentarea {
	margin: 0 auto;
	background: #e5f7fe;
	padding-bottom: 2%;
	overflow: hidden;
}
/*.contentarea .maxwidth {
	max-width: 1024px;
	margin: 0 auto;
}*/
.contentarea h2 {
	font-size: 30px;
	font-weight: 700;
	font-style: italic;
	text-align: center;
	color: #333;
	line-height: 1.5;
	margin-bottom: 30px;
	text-decoration-line: underline;
	text-decoration-color: #333;
}

/*パンくず　ここから*/
.breadcrumb {
	padding: 6% 0 0 0;
	list-style: none;
	background: #e5f7fe;
}
.breadcrumb ul {
	margin: 0 0 0 6%;
}
.breadcrumb li {
	display: inline;
	list-style: none;
	font-weight: 300;
	font-size: 14px;
}
.breadcrumb li:after {/*>を表示*/
	content: '>';
	padding: 0 0.2em;
	color: #333;
}
.breadcrumb li:last-child:after {
	content: '';
}
.breadcrumb li a {
	text-decoration: none;
	color: #333;
}
.breadcrumb li a:hover {
	color: #333;
	text-decoration-line: underline;
}
.breadcrumb li a:visited {
	color: #333;
}
/*パンくず　ここまで*/

/*特長　ここから*/
.contentarea .content_features {
	width: 100%;
	text-align: center;
	font-weight: 300;
	margin: 0 auto;
	padding-top: 90px;
}
.contentarea .content_features .bgimage {
	width: 100%;
	max-width: 1024px;
	margin: 0 auto;
	background: url("../img/features.jpg") center no-repeat;
	height: 500px;
	z-index: 15;
	position: relative;
}
.contentarea .content_features .bgimage .bgwhite {
	background-color: rgba(255,255,255,0.9);
	margin: 0 auto;
	text-align: center;
	width: 60%;
	z-index: 16;
	padding: 10px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.contentarea .content_features .bgimage .bgwhite p.title {
	font-size: 27px;
	font-weight: 700;
	margin-bottom: 10px;
}
.contentarea .content_features .bgimage .bgwhite p.txt {
	font-size: 16px;
	font-weight: 400;
}
/*特長　ここまで*/


/*お知らせ　ここから*/
.news{
	width: 100%;
	max-width: 1024px;
	margin: 0 auto;
	margin-top:20px;
	padding-top:20px;
	/*background-color:#FFF;*/
}
.news-items {
	width: 100%;
	max-width: 90%;
	margin: 0 auto;
	padding-bottom:30px;
}
.news-item {
	display: flex;
	padding: 20px 0 12px;
}
.news-item:not(:first-child){
	border-top: 1px solid #ddd;
}
.news-head {
	display: flex;
}
.news-date {
	width: 110px;
	padding-top: 3px;
}
.news-title {
	width: calc(100% - 200px);
	padding-left: 30px;
	padding-top: 3px;
	line-height: 1.5;
}
@media screen and (max-width: 480px) {
	.news-item {
		display: block;
		margin-left:10px;
	}
	.news-title {
		width: 90%;
		padding-left: 0;
		padding-top: 0;
		margin-top: 10px;
		margin-left:10px;
	}
}
/*お知らせ　ここまで*/

/*施工事例　ここから*/
.contentarea .content_example {
	width: 100%;
	max-width: 1024px;
	text-align: center;
	font-weight: 300;
	margin: 0 auto;
	padding-top: 90px;
}
.contentarea .content_example .row1 {
    margin: 0 auto 40px;
	width: 100%;
	max-width: 900px;
	text-align: center;
}
.contentarea .content_example .row1:last-of-type {
	margin: 0 auto;
}
.contentarea .content_example .row1 p.txt {
	font-size: 18px;
	background: #333;
	color: #FFF;
	border-radius: 50px;
	display: inline-block;
	margin-bottom: 20px;
	padding:  5px 60px 7.5px;
}
.contentarea .content_example .row1 p.beforeafter img {
	width: 100%;
	height: auto;
}
.contentarea .content_example .row1 p.one img {
	width: 80%;
	height: auto;
}
.contentarea .content_example .row2 {
	display: flex;
    margin: 0 auto 15px;
	max-width: 900px;
}
.contentarea .content_example .row2 .rowleft {
	display: table-cell;
    width: 47.5%;
    margin-right: 5%;
    text-align: center;
}
.contentarea .content_example .row2 .rowright {
	display: table-cell;
    width: 47.5%;
    margin: 0;
    text-align: center;
}
.contentarea .content_example .row2 .rowleft p.txt,
.contentarea .content_example .row2 .rowright p.txt {
	font-size: 18px;
	background: #333;
	color: #FFF;
	border-radius: 50px;
	display: inline-block;
	margin-bottom: 15px;
	padding:  5px 60px 7.5px;
}
.contentarea .content_example .row2 .rowleft p.after img,
.contentarea .content_example .row2 .rowright p.after img {
	width: 100%;
	height: auto;
}
/*施工事例　ここまで*/

/*ギャラリー　ここから*/
.contentarea .content_gallery {
	width: 100%;
	max-width: 1024px;
	text-align: center;
	font-weight: 300;
	margin: 0 auto;
	padding-top: 90px;
}
.contentarea .content_gallery p.txt1 {
	text-align: center;
	font-size: 15px;
	margin-bottom: 10px;
}
.contentarea .content_gallery .row {
	margin: 0 auto;
    text-align: left;
    max-width: 1024px;
    width: 100%;
    letter-spacing: normal;
    font-size: 0;
}
.contentarea .content_gallery .row ul {
	margin: 0 auto;
}
.contentarea .content_gallery .row ul li {
    display: inline-block;
    margin-right: 5%;
    width: 30%;
    list-style: none;
    font-size: 16px;
	vertical-align: middle;
	text-align: center;
}
.contentarea .content_gallery .row ul li img {
	vertical-align: bottom;
}
.contentarea .content_gallery .row ul li:nth-child(3n) {
	margin-right: 0;
}
/*ギャラリー　ここまで*/

/*会社情報　ここから*/
.contentarea .content_company {
	width: 100%;
	text-align: center;
	font-weight: 300;
	margin: 0 auto;
	padding-top: 90px;
}
.contentarea .content_company .message {
	max-width: 800px;
	width: 100%;
	margin: 0 auto 50px;
	text-align: left;
}
.contentarea .content_company .message h3 {
	font-size: 24px;
	font-weight: 800;
	color: #333;
	margin-bottom: 10px;
}
.contentarea .content_company .message p.txt {
	text-align: left;
	margin-bottom: 15px;
}
.contentarea .content_company .message p.img {
	text-align: center;
	margin: 0 auto;
	width: 50%;
}
.contentarea .content_company .profile {
	max-width: 800px;
	width: 100%;
	margin: 0 auto;
	text-align: left;
}
.contentarea .content_company .profile h3 {
	font-size: 24px;
	font-weight: 800;
	color: #333;
	margin-bottom: 10px;
}
.contentarea .content_company .profile table.company_area {
	width: 100%;
	text-align: left;
	margin: 0 auto;
	border: 1px solid #CCC;
	font-size: 16px;
	font-weight: 400;
	color: #333;
}
.contentarea .content_company .profile table.company_area tr {
	border-bottom: 1px solid #CCC;
}
.contentarea .content_company .profile table.company_area th {
	background: rgba(64,53,111,.6);
	color: #FFF;
	font-size: 16px;
	width: 25%;
	padding: 10px 12px;
	border-collapse: collapse;
}
.contentarea .content_company .profile table.company_area td {
	width: 75%;
	padding: 8px 12px;
	border-collapse: collapse;
}
.contentarea .content_company .profile table.company_area td span.br::before {
	content: "\A";
	white-space: pre;
}
.contentarea .content_company .profile table.company_area td a.tel {
	color: #333;
	text-decoration: none;
	pointer-events: none;
}
.contentarea .content_company .profile table.company_area td a.contact {
	text-decoration: none;
	color: #333;
}
.contentarea .content_company .profile table.company_area td a.contact:hover {
	color: #333;
	text-decoration: underline;
	transition: all .3s;
}
.contentarea .content_company .profile table.company_area td a.contact:visited {
	color: #333;
}
/*会社情報　ここまで*/

/*採用情報　ここから*/
.contentarea .content_recruit {
	width: 100%;
	text-align: center;
	font-weight: 300;
	margin: 0 auto;
	padding-top: 90px;
}
.contentarea .content_recruit p.txt_type_recruit {
	font-size: 16px;
	margin-bottom: 10px;
}
.contentarea .content_recruit p.txt_type_recruit span::before{
	content: "\A";
	white-space: pre;
}
.contentarea .content_recruit table.recruit_area {
	max-width: 800px;
	width: 100%;
	text-align: left;
	margin: 0 auto 40px;
	border: 1px solid #CCC;
	font-size: 16px;
	font-weight: 400;
	color: #333;
}
.contentarea .content_recruit table.recruit_area tr {
	border-bottom: 1px solid #CCC;
}
.contentarea .content_recruit table.recruit_area th {
	background-color: rgba(64,53,111,.6);
	color: #FFF;
	font-size: 16px;
	width: 25%;
	padding: 10px 12px;
	border-collapse: collapse;
}
.contentarea .content_recruit table.recruit_area td {
	width: 75%;
	padding: 8px 12px;
	border-collapse: collapse;
}
.contentarea .content_recruit table.recruit_area td span.br::before {
	content: "\A";
	white-space: pre;
}
.contentarea .content_recruit table.recruit_area td a.recruit_tel {
	color: #333;
	text-decoration: none;
	pointer-events: none;
}
/*採用情報　ここまで*/

/*プライバシーポリシーページ　ここから*/
.contentarea .content_privacypolicy {
	width: 64%;
	text-align: left;
	font-weight: 300;
	margin: 0 auto 5%;
	padding-top: 40px;
}
.contentarea .content_privacypolicy p.txt_type_pp {
	font-size: 18px;
	margin-bottom: 30px;
}
.contentarea .content_privacypolicy p.txt_type_pp span::before{
	content: "\A";
	white-space: pre;
}
.contentarea .content_privacypolicy p.clause_title {
	border-top: 2px solid #333;
	padding: 10px 0;
	margin: 5px 0;
	font-size: 18px;
	font-weight: 600;
	text-align: left;
}
.contentarea .content_privacypolicy p.clause_txt {
	font-size: 16px;
	font-weight: 300;
	text-align: left;
	margin-bottom: 10px;
}
.contentarea .content_privacypolicy p.clause_txt a {
	color: #333;
	text-decoration: none;
}
.contentarea .content_privacypolicy p.clause_txt a:hover {
	color: #333;
	text-decoration: underline;
	transition: all .3s;
}
.contentarea .content_privacypolicy p.clause_txt a:visited {
	color: #333;
}
.contentarea .content_privacypolicy p.clause_txt span.br::before {
	content: "\A";
	white-space: pre;
}
.contentarea .content_privacypolicy p.clause_txt span.br2::before {
	content: "\A\A";
	white-space: pre;
}
/*プライバシーポリシーページ　ここまで*/

/*フッターエリア　ここから*/
footer.top {
	width: 100%;
	background: #40356f;
}
footer.top .footer_info {
	margin: 0 auto;
	padding: 10px 0 0;
	text-align: center;
	font-weight: 300;
	font-size: 13px;
	color: #FFF;
	line-height: 1.8;
}
footer.top .footer_info p.company_logo {
	max-width: 180px;
	width: 100%;
	margin: 0 auto;
}
footer.top .footer_info p.company_logo img {
	width: 100%;
	height: auto;
}
footer.top .footer_info p.list span::before {
	content: "\A";
	white-space: pre;
}
footer.top .footer_info p.list a {
	color: #FFF;
	text-decoration: none;
	margin: 0 10px;
}
footer.top .footer_info p.list a.footer_tel {
	pointer-events: none;
}
footer.top .footer_info p.list a:hover {
	color: #FFF;
	text-decoration-line: underline;
}
footer.top .footer_info p.list a:visited {
	color: #FFF;
}
footer.top .footer_info div.snslist {
	display: flex;
	align-items: center;
}
footer.top .footer_info div.snslist p {
	margin: 0 auto;
	text-align: center;
}
footer.top .footer_info div.snslist p img {
	max-width: 27px;
	width: 40%;
	padding: 5px 5px 0;
}
footer.top small {
	display: block;
	color: #FFF;
	text-align: center;
	font-size: 12px;
	font-weight: 400;
	padding: 15px 0;
}
footer.top small a {
	color: #FFF;
	text-decoration: none;
}
footer.top small a:hover {
	color: #FFF;
	text-decoration-line: underline;
	transition: all .3s;
}
footer.top small a:visited {
	color: #FFF;
}
/*フッターエリア　ここまで*/

/*右から出現　電話ボタン　ここから*/
#tel {
	display: none;
	position: fixed;
	right: -80px;
	bottom: 160px;
	z-index: 100;
}
#tel a {
	position: relative;
	display: block;
	width: 50px;
	height: 50px;
	background: #666;
    border: solid 2px #FFF;
    border-radius: 50px;
	text-decoration: none;
}
#tel a:hover {
	background: #40356f;
	transition: all .5s;
}
#tel a::before {
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	content: '\f095';
	font-size: 25px;
	color: #fff;
	position: absolute;
	width: 25px;
	height: 25px;
	top: -15px;
	bottom: 0;
	right: 0;
	left: 1px;
	margin: auto;
	text-align: center;
}
/*右から出現　電話ボタン　ここまで*/

/*右から出現　問い合わせボタン　ここから*/
#contact {
	position: fixed;
	right: -80px;
	bottom: 90px;
	z-index: 100;
}
#contact a {
	position: relative;
	display: block;
	width: 50px;
	height: 50px;
	background: #666;
    border: solid 2px #FFF;
    border-radius: 50px;
	text-decoration: none;
}
#contact a:hover {
	background: #40356f;
	transition: all .5s;
}
#contact a::before {
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	content: '\f0e0';
	font-size: 25px;
	color: #fff;
	position: absolute;
	width: 25px;
	height: 25px;
	top: -15px;
	bottom: 0;
	right: 0;
	left: 1px;
	margin: auto;
	text-align: center;
}
/*右から出現　問い合わせボタン　ここまで*/

/*右から出現　ページトップに戻るボタン　ここから*/
#page_top {
	position: fixed;
	right: -80px;
	bottom: 20px;
	z-index: 100;
}
#page_top a {
	position: relative;
	display: block;
	width: 50px;
	height: 50px;
	background: #666;
    border: solid 2px #FFF;
    border-radius: 50px;
	text-decoration: none;
}
#page_top a:hover {
	background: #40356f;
	transition: all .5s;
}
#page_top a::before {
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	content: '\f106';
	font-size: 25px;
	color: #fff;
	position: absolute;
	width: 25px;
	height: 25px;
	top: -15px;
	bottom: 0;
	right: 0;
	left: 2px;
	margin: auto;
	text-align: center;
}
/*右から出現　ページトップに戻るボタン　ここまで*/

/*お問い合わせページ　ここから*/
/*全体指定*/
section {
	width: 100%;
	margin: 0 auto;
}
section.contact {
	background: #e5f7fe;
}
/*タイトル部分*/
div.contact-title {
	max-width: 700px;
	width: 94%;
	margin: 0 auto 20px;
	padding-top: 40px;
}
div.contact-title h1 {
	margin: 0 auto 40px;
	text-align: center;
	color: #333;
	font-size: 30px;
	font-weight: 700;
	font-style: italic;
	line-height: 1.5;
	text-decoration-line: underline;
	text-decoration-color: #333;
}
div.contact-title p.txt1 {
	font-size: 16px;
	font-weight: 400;
	text-align: center;
	margin-bottom: 3%;
}
div.contact-title p.txt1 a {
	color: #333;
	text-decoration: none;
}
div.contact-title p.txt1 a:hover {
	color: #333;
	text-decoration: underline;
	transition: all .3s;
}
div.contact-title p.txt1 a:visited {
	color: #333;
}
div.contact-title p.txt2 {
	font-size: 14px;
	font-weight: 300;
	text-align: center;
}
div.contact-title p span.br::before {
	content: "\A";
	white-space: pre;
}

/*フォーム部分*/
div.formwidth {
	max-width: 700px;
	width: 94%;
	margin: 0 auto;
}
.mandatory_input {/*必須の枠*/
	padding: 2px 9px 3.5px 9px;
	font-size: 14px;
	font-weight: 400;
	background-color: #FF0000;
	color: #FFF;
	margin: 0 5px 0 0 ;
	border-radius: 4px;
	vertical-align: inherit;
	position: relative;
	top: -1px;
}
.any_input {/*任意の枠*/
	padding: 2px 9px 3.5px 9px;
	font-size: 14px;
	font-weight: 400;
	background-color: #666;
	color: #FFF;
	margin: 0 5px 0 0 ;
	border-radius: 4px;
	vertical-align: inherit;
	position: relative;
	top: -1px;
}
.repletion {/*問い合わせ項目横の補足文*/
	font-size: 16px;
	font-weight: 400;
	color: #333;
}
/*お問い合わせページ　ここまで*/

/*サンクスページ　ここから*/
div.thanks-title {
	max-width: 700px;
	width: 94%;
	margin: 0 auto 20px;
	padding-top: 40px;
}
div.thanks-title h1 {
	margin: 0 auto 40px;
	text-align: center;
	color: #333;
	font-size: 30px;
	font-weight: 700;
	font-style: italic;
	line-height: 1.5;
	text-decoration-line: underline;
	text-decoration-color: #333;
}
.thanks_area {
	max-width: 700px;
	margin: 0 auto;
	text-align: center;
	padding-bottom: 70px;
}
.thanks_area p.txt {
	font-size: 16px;
}
.thanks_area p.txt span.br_thanks1::before{
	content: "\A";
	white-space: pre;
}
.thanks_area p.button {
	margin-top: 60px;
}
.thanks_area p.button a {
	color: #FFF;
	background: #3f3f3f;
	background-size: auto 100%;
	background-position: left top;
	text-decoration: none;
	padding: 18px 100px 21px 100px;
	transition:  all .3s;
	-webkit-transition: all .3s;
	border-radius: 50px;
	line-height: 1.5;
	font-size: 27px;
	font-weight: 500;
	border: none;
}
.thanks_area p a:hover {
	opacity: 0.6; filter: brightness(110%);
}
/*サンクスページ　ここまで*/

/*その他　レスポンシブ・通常サイズのノートPC用*/
@media screen and (min-width: 1367px) and (max-width: 1534px) {
	.breadcrumb {
		padding: 7% 0 0 0;
	}
	.breadcrumb ul {
		margin: 0 0 0 5.5%;
	}
}

/*メインビジュアルのh1見出しのみ・小さいサイズのノートPC用*/
@media screen and (min-width: 1025px) and (max-width: 1200px) {
	.main_slidearea .ccarea h1 span.br1::before {
		content: "\A";
		white-space: pre;
	}
}

/*その他　レスポンシブ・小さいサイズのノートPC用*/
@media screen and (min-width: 1025px) and (max-width: 1366px) {
	header .pc_navmenu .pc_nav ul li {
		padding: 0 0.4em;
		font-size: 14px;
	}
	header .pc_navmenu .pc_nav ul li:first-child {
		padding: 0 0.3em 0 0;
		font-size: 14px;
	}
	header .pc_navmenu .pc_nav ul li:last-child {
		padding: 0 0 0 0.3em;
		font-size: 14px;
	}
	header .pc_navmenu .pc_nav ul li span.icon::before {
		font-size: 14px;
		width: 14px;
		height: 14px;
	}
	#menu-btn-check:checked ~ .menu-content {
		left: 78%;/*メニューを画面内へ*/
	}
	.breadcrumb {
		padding: 8% 0 0 0;
	}
	.breadcrumb ul {
		margin: 0 0 0 5.5%;
	}
}

/*その他　レスポンシブ・タブレット端末用*/
@media screen and (min-width: 768px) and (max-width: 1024px) {
	header .logo {
		width: 30%;
		margin-left: 3%;
	}
	header .pc_navmenu {
		display: none;
	}
	header .hamburger-menu {
		display: block;
	}
	#menu-btn-check:checked ~ .menu-content {
		left: 73%;/*メニューを画面内へ*/
	}
	.menu-content {
		width: 33%;
	}
	.menu-content ul div img {
		width: 15%;
	}
	.breadcrumb {
		padding: 12% 0 0 0;
	}
	.breadcrumb ul {
		margin: 0 0 0 5%;
	}
	.breadcrumb li {
		font-size: 15px;
	}
	/*メインエリア　静止画1枚＆スライドショー　ここから*/
	.main_slidearea div.tablet {
		display: block !important;
	}
	.main_slidearea div.pc,
	.main_slidearea div.sp {
		display: none !important;
	}
	div.tablet .slide {
		position: relative;
		width: 100%;
		max-width: 1024px;
		height: 600px;
		overflow: hidden;
	}
	div.tablet .slide ul li.slide-image:nth-child(1) {
		background-image: url("../img/main01_h600.jpg");
		animation-delay: -1s;
	}
	div.tablet .slide ul li.slide-image:nth-child(2) {
		background-image: url("../img/main02_h600.jpg");
		animation-delay: 5s;
	}
	div.tablet .slide ul li.slide-image:nth-child(3) {
		background-image: url("../img/main03_h600.jpg");
		animation-delay: 11s;
	}
	.main_slidearea .ccarea h1 {
		line-height: 1.3;
		letter-spacing: 1px;
	}
	.main_slidearea .ccarea h1 img {
		width: 96%;
	}
	.main_slidearea .ccarea h1 span.sub {
		font-size: 18px;
	}
	/*メインエリア　静止画1枚＆スライドショー　ここまで*/
	
	.contentarea .content_features {
		width: 92%;
		padding-top: 80px;
	}
	.contentarea .content_example,
	.contentarea .content_gallery,
	.contentarea .content_company,
	.contentarea .content_recruit {
		width: 92%;
		padding-top: 150px;
	}
	.contentarea .content_features .bgimage {
		height: 300px;
	}
	.contentarea .content_features .bgimage .bgwhite {
		width: 80%;
	}
	.contentarea .content_features .bgimage .bgwhite p.title {
		font-size: 24px;
	}
	.contentarea .content_example .row1,
	.contentarea .content_example .row2 {
		max-width: 750px;
	}
	.contentarea .content_gallery .row {
		max-width: 750px;
	}
	.contentarea .content_gallery .row ul li {
		width: 32%;
		margin-right: 2%;
	}
	.contentarea .content_company table.company_area {
		width: 100%;
	}
	.contentarea .content_company table.company_area th {
		width: 25%;
		padding: 6px 8px;
	}
	.contentarea .content_company table.company_area td {
		width: 75%;
		padding: 4px 8px;
	}	
	.contentarea .content_recruit table.recruit_area {
		width: 100%;
	}
	.contentarea .content_recruit table.recruit_area th {
		width: 25%;
		padding: 6px 8px;
	}
	.contentarea .content_recruit table.recruit_area td {
		width: 75%;
		padding: 4px 8px;
	}
	.contentarea .content_privacypolicy,
	.contentarea .content_newsdetail {
		width: 92%;
	}
	.contentarea .content_newsdetail table.newsdetail_area {
		width: 100%;
	}
}

/*タブレット 横向き*/
@media only screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape){
	#menu-btn-check:checked ~ .menu-content {
		left: 80%;
	}
	.main_slidearea .ccarea {
		top: 52%;
		left: 50%;
		transform: translate(-50%, -52%);
		-webkit-transform: translate(-50%, -52%);
		-ms-transform: translate(-50%, -52%);
	}
	.main_slidearea .ccarea h1 {
		font-size: 40px;
	}
	.main_slidearea .ccarea h1 span.sub {
		font-size: 20px;
	}
}
/*その他　レスポンシブ・スマートフォン*/
@media screen and (max-width: 767px) {
	/*ヘッダー・メニュー　ここから*/
	header .logo {
		max-width: 200px;
		margin-left: 2%;
	}
	header .pc_navmenu {
		display: none;
	}

	header .hamburger-menu {
		display: block;
	}
	#menu-btn-check:checked ~ .menu-content {
		left: 47%;
	}
	.menu-content {
		width: 100%;
	}
	.menu-content ul li a {
		padding: 5px 5px 5px 0;
	}
	.menu-content ul li a.menu_tel {
		pointer-events: auto;
	}
	/*ヘッダー・メニュー　ここまで*/
	
	/*パンくず　ここから*/
	.breadcrumb {
		padding: 20% 0 0 0;
	}
	.breadcrumb ul {
		margin: 0 0 0 4.5%;
	}
	.breadcrumb li {
		font-size: 13px;
	}
	/*パンくず　ここまで*/
	
	/*メインエリア　静止画1枚＆スライドショー　ここから*/
	.main_slidearea {
		margin-bottom: 0;
	}
	.main_slidearea div.sp {
		display: block !important;
	}
	.main_slidearea div.pc,
	.main_slidearea div.tablet {
		display: none !important;
	}
	div.sp .slide {
		position: relative;
		width: 100%;
		max-width: 767px;
		height: 500px;
		overflow: hidden;
	}
	div.sp .slide ul li.slide-image:nth-child(1) {
		background-image: url("../img/main01_h550.jpg");
		animation-delay: -1s;
	}
	div.sp .slide ul li.slide-image:nth-child(2) {
		background-image: url("../img/main02_h550.jpg");
		animation-delay: 5s;
	}
	div.sp .slide ul li.slide-image:nth-child(3) {
		background-image: url("../img/main03_h550.jpg");
		animation-delay: 11s;
	}
	.main_slidearea .ccarea {
		width: 98%;
		left: 50%;
		top: 520px;
		transform: translate(-50%, -260px);
		-webkit-transform: translate(-50%, -260px);
		-ms-transform: translate(-50%, -260px);
	}
	.main_slidearea .ccarea h1 {
		letter-spacing: 1px;
		line-height: 1.5;
	}
	.main_slidearea .ccarea h1 img {
		width: 100%;
	}
	.main_slidearea .ccarea h1 span.br2::before {
		content: "\A";
		white-space: pre;
	}
	.main_slidearea .ccarea h1 span.sub {
		font-size: 16px;
	}
	/*メインエリア　静止画1枚＆スライドショー　ここまで*/
	
	.contentarea h2 {
		font-size: 22px;
		font-weight: 700;
		margin-bottom: 20px;
	}
	.contentarea .content_features {
		width: 94%;
		margin: 0 auto;
		padding-top: 65px;
	}
	.contentarea .content_example,
	.contentarea .content_gallery,
	.contentarea .content_company,
	.contentarea .content_recruit {
		width: 94%;
		margin: 0 auto;
		padding-top: 125px;
	}





	/*お知らせ（TOPページ）　ここから*/

	/*お知らせ詳細ページ　ここまで*/






	
	/*特長　ここから*/
	.contentarea .content_features .bgimage {
		height: 280px;
		margin-bottom: 30px;
	}
	.contentarea .content_features .bgimage .bgwhite {
		width: 90%;
		padding: 10px 5px;
		background-color: rgba(255,255,255,0.8);
	}
	.contentarea .content_features .bgimage .bgwhite p.title {
		font-size: 16px;
		letter-spacing: 0.5px;
		margin-bottom: 5px;
	}
	.contentarea .content_features .bgimage .bgwhite p.txt {
		font-size: 14px;
		letter-spacing: 0.75px;
	}
	/*特長　ここまで*/
	
	/*施工事例　ここから*/
	.contentarea .content_example .row1 {
		max-width: auto;
		width: 100%;
		margin: 0 auto 20px;
	}
	.contentarea .content_example .row2 {
		max-width: auto;
		display: inline-block;
	}
	.contentarea .content_example .row2 .rowleft {
		width: 90%;
		display: block;
		margin: 0 auto 20px;
	}
	.contentarea .content_example .row2 .rowright {
		width: 90%;
		display: block;
		margin: 0 auto;
	}
	/*施工事例　ここまで*/
	
	/*会社情報　ここから*/
	.contentarea .content_company .message h3,
	.contentarea .content_company .profile h3 {
		font-size: 18px;
		font-weight: 600;
	}
	.contentarea .content_company .message p.img {
		width: 80%;
	}
	.contentarea .content_company .profile table.company_area {
		width: 100%;
	}
	.contentarea .content_company .profile table.company_area th {
		font-size: 15px;
		width: 25%;
		padding: 5px 8px;
	}
	.contentarea .content_company .profile table.company_area td {
		font-size: 15px;
		width: 75%;
		padding: 5px 8px;
	}
	.contentarea .content_company .profile table.company_area td a.tel {
		color: #333;
		text-decoration: none;
		pointer-events: auto;
	}
	.contentarea .content_company .profile table.company_area td a.tel:hover {
		color: #333;
		text-decoration: underline;
		transition: all .3s;
	}
	.contentarea .content_company .profile table.company_area td a.tel:visited {
		color: #333;
	}
	/*会社情報　ここまで*/
	
	/*採用情報　ここから*/
	.contentarea .content_recruit table.recruit_area {
		width: 100%;
	}
	.contentarea .content_recruit table.recruit_area th {
		font-size: 15px;
		width: 25%;
		padding: 5px 8px;
	}
	.contentarea .content_recruit table.recruit_area td {
		font-size: 15px;
		width: 75%;
		padding: 5px 8px;
	}
	.contentarea .content_recruit table.recruit_area td a.tel {
		color: #333;
		text-decoration: none;
		pointer-events: auto;
	}
	.contentarea .content_recruit table.recruit_area td a.tel:hover {
		color: #333;
		text-decoration: underline;
		transition: all .3s;
	}
	.contentarea .content_recruit table.recruit_area td a.tel:visited {
		color: #333;
	}
	/*採用情報　ここまで*/
	
	/*プライバシーポリシーページ　ここから*/
	.contentarea .content_privacypolicy {
		width: 94%;
		margin: 0 auto;
		padding: 30px 0;
	}
	.contentarea .content_privacypolicy h2 {
		font-size: 22px;
		font-weight: 700;
	}
	.contentarea .content_privacypolicy p.txt_type_pp {
		font-size: 16px;
		margin-bottom: 25px;
	}
	.contentarea .content_privacypolicy p.clause_title {
		font-size: 16px;
	}
	.contentarea .content_privacypolicy p.clause_txt {
		font-size: 15px;
	}
	/*プライバシーポリシーページ　ここまで*/

	/*フッター　ここから*/
	footer.top .footer_info p.address,
	footer.top .footer_info p.list {
		letter-spacing: 1.0px;
	}
	footer.top .footer_info p.list a {
		margin: 0 4px;
	}
	footer.top .footer_info p.list a.footer_tel {
		pointer-events: auto;
		color: #FFF;
		text-decoration: none;
	}
	footer.top small {
		padding: 7px 0;
		letter-spacing: 0.5px;
		font-size: 11.5px;
	}
	footer.top small span::before {
		content: "\A";
		white-space: pre;
	}
	/*フッター　ここまで*/
	
	/*右から出現　電話・問い合わせ・ページTOPへ戻るボタン　ここから*/
	#tel {
		display: block;
		bottom: 140px;
	}
	#contact {
		bottom: 80px;
	}
	/*右から出現　電話・問い合わせ・ページTOPへ戻るボタン　ここまで*/
	
	/*お問い合わせページ　ここから*/
	div.contact-title {
		padding-top: 30px;
	}
	div.contact-title h1 {
		margin: 0 auto 30px;
		font-size: 22px;
		font-weight: 700;
	}
	div.contact-title p {
		font-size: 16px;
	}
	div.formwidth {
		max-width: 500px;
		width: 94%;
	}
	.mandatory_input {/*必須の枠*/
		padding: 2px 7px 3.5px 7px;
	}
	.any_input {/*任意の枠*/
		padding: 2px 7px 3.5px 7px;
	}
	.repletion {/*問い合わせ項目横の補足文*/
		font-size: 13px;
	}
	/*お問い合わせページ　ここまで*/
	
	/*サンクスページ　ここから*/
	div.thanks-title {
		padding-top: 30px;
	}
	div.thanks-title h1 {
		margin: 0 auto 30px;
		font-size: 22px;
		font-weight: 700;
	}
	.thanks_area {
		width: 94%;
	}
	.thanks_area p.txt {
		font-size: 15px;
	}
	.thanks_area p.txt span.br_thanks2::before{
		content: "\A";
		white-space: pre;
	}
	.thanks_area p.button a {
		font-size: 20px;
		padding: 18px 50px 21px 50px;
	}
	/*サンクスページ　ここまで*/
}