@charset "utf-8";

/*---------------------------------------------
	初期化
  ---------------------------------------------*/
* { margin: 0; padding: 0; }
*,
*::before,
*::after { box-sizing: border-box; }
h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: normal; }
ul { list-style: none; }
table { border-collapse: collapse; border-spacing: 0; }
form label { cursor: pointer; }
a img { border: none; }
img { vertical-align: bottom; image-rendering:auto; }
th { font-weight: normal; }

/*---------------------------------------------
	body
  ---------------------------------------------*/
body {
	color: #333333;
	font-size: 16px;
	line-height: 2.2;
	text-align: left;
	-webkit-text-size-adjust: none;
	overflow-x:hidden;
	background-color: #ffffff;
	animation: fadeIn 2.0s ease 0s 1 normal;
	-webkit-animation: fadeIn 2.0s ease 0s 1 normal;
}
/* chrome opera */
@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm) {
    body {
        image-rendering: -webkit-optimize-contrast;
    }
}
@keyframes fadeIn {
	0% {opacity: 0}
	100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
	0% {opacity: 0}
	100% {opacity: 1}
}

/*---------------------------------------------
	Text
  ---------------------------------------------*/
html {
    font-family: sans-serif;
    font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 10px;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
	overflow-x:hidden;
	scroll-behavior: smooth;
}
body { font-size: 16px; font-size: 1.6rem; }
h2, h3, h4, h5 {
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-weight: 300;
	transform: rotate(0.03deg);
	line-height: 1.7;
}
h2 {
	font-size: 38px; font-size: 3.8rem;
	color: #235bc9;
	padding: 50px 0 30px;
	text-align: center;
	line-height: 1.1;
	margin-bottom: 50px;
}
h2 span {
	font-size: 18px; font-size: 1.8rem;
	color: #ff6600;
}
h3 {
	font-size: 36px; font-size: 3.2rem;
	margin: 50px 0 30px;
}
.top h3 {
	color: #235bc9;
	line-height: 1.1;
}
h3 span {
	font-size: 18px; font-size: 1.8rem;
	color: #ff6600;
}

h4 {
	font-size: 28px; font-size: 2.8rem;
	margin: 60px 0 40px;
	text-align: center;
}
h4.line2 {
	line-height: 1.1;
}
h4 span { font-size: 20px; font-size: 2.0rem; }
h5 { font-size: 24px; font-size: 2.4rem; margin: 40px 0 20px; }
.business h5 { color: #235bc9; text-align: center; margin-top: 0; }

p { line-height: 2.2; margin-bottom: 0.5em; }
.text12 { font-size: 12px; font-size: 1.2rem; }
.text13 { font-size: 13px; font-size: 1.3rem; }
.text14 { font-size: 14px; font-size: 1.4rem; }
.text16 { font-size: 16px; font-size: 1.6rem; }
.text18 { font-size: 18px; font-size: 1.8rem; }
.text20 { font-size: 20px; font-size: 2.0rem; }
.text24 { font-size: 24px; font-size: 2.4rem; }
.text28 { font-size: 28px; font-size: 2.8rem; line-height:1.5; }

@media (max-width: 599px) {
	h3 { font-size: 2.6rem; padding: 20px 0 30px; margin-bottom: 20px; }
	h3 span { font-size: 1.4rem; }
	h4 { font-size: 2.8rem; margin: 40px 0 30px; }
	h5 { font-size: 1.8rem; }
	body, p { font-size: 1.4rem; }
	.taisetsu h4 { font-size: 2.2rem; }
	.taisetsu .text18 { font-size: 1.6rem; }

}


/*---------------------------------------------
	Anchor
  ---------------------------------------------*/
a { outline: none; font-weight: normal; }
a:link { text-decoration: none; color: #235bc9; }
a:visited { text-decoration: none; color: #235bc9; }
a:hover { text-decoration: underline; color: #ff6600; }
a:active { text-decoration: underline; color: #ff6600; }
a img:hover {
	filter: alpha(opacity=85);
	-moz-opacity:0.85;
	opacity:0.85;
}

/*---------------------------------------------
	一般設定
  ---------------------------------------------*/
img { max-width: 100%; height: auto; width: auto\9; /* ie8 */ }
img.full { width: 100%; }
img.boder { border: 1px solid #E7E3DE; }
.zero { margin: 0; padding: 0; }
.zero-top {	margin-top: 0; padding-top: 0; }
.zero-bottom {	margin-bottom: 0; padding-bottom: 0; }
.round { border-radius: 20px; }
.circle { border-radius: 50%; }
.center { text-align:center; }
.left { text-align:left; }
.right { text-align:right; }
.shadow { box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2); }
.space10 { margin-bottom: 10px; }
.space15 { margin-bottom: 15px; }
.space20 { margin-bottom: 20px; }
.space30 { margin-bottom: 30px; }
.space40 { margin-bottom: 40px; }
.space50 { margin-bottom: 50px; }
.space60 { margin-bottom: 60px; }
.space80 { margin-bottom: 80px; }
.space100 { margin-bottom: 100px; }
.underline { border-bottom: 1px solid #999999; margin-bottom: 30px; padding-bottom: 30px; }
.underline-dot { border-bottom: 1px dotted #999999; margin-bottom: 30px; padding-bottom: 30px; }
.underline-dot.wide { margin-bottom: 50px; padding-bottom: 50px; }
.float-right { float: right; position: relative; }
.float-left { float: left; position: relative; }
.caution { color:#cc0000; }
.bold { font-weight: 700; }
.mincho { font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif; }
.copy-guard { pointer-events: none; }
i.fa { margin: 0 0.3em 0 0.3em; }
.read span { display:inline-block }
.img-full { width: 100%; }
.img-right { float: right; position: relative; margin-bottom: 20px; margin-left: 40px; margin-top: 10px; }
.img-left { float: left; position: relative; margin-bottom: 20px; margin-right: 40px; margin-top: 10px; }
.img-right.w140,
.img-left.w140 { width: 140px; }
.img-right.w180,
.img-left.w180 { width: 180px; }
.img-right.w210 { width: 210px; }
.img-right.w240 { width: 240px; }
.img-right.w280,
.img-left.w280 { width: 280px; margin-bottom: 20px; }
.img-right.w360,
.img-left.w360 { width: 360px; margin-bottom: 20px; }
@media (max-width: 599px) {
	.img-right { margin-bottom: 15px; margin-left: 30px; }
	.img-left { margin-bottom: 15px; margin-right: 30px; }
	.img-right.w280,
	.img-left.w280,
	.img-right.w360,
	.img-left.w360 { float: none; width: 100%; margin: 0 0 20px 0; }
	.img-right.w180,
	.img-left.w180 { width: 120px; }
	.img-right.w210,
	.img-left.w210 { width: 140px; }
}
.waku {
	background-color: #FEF9EE;
	padding: 0 30px 20px;
	margin: 30px 0;
	border-radius: 30px;
}
@media (max-width: 599px) {
	.waku {
		padding: 0 20px 10px;
		margin: 20px 0;
	}
	.waku.raw {
		margin: 0;
	}
}

/* ------ 余白 ------ */
.mt1em { margin-top: 0.5em; }
.mt2em { margin-top: 1.5em; }
.mt3em { margin-top: 2.5em; }
.mt4em { margin-top: 4em; }
.mt5em { margin-top: 5em; }
.mb1em { margin-bottom: 0.5em; }
.mb2em { margin-bottom: 1.5em; }
.mb3em { margin-bottom: 2.5em; }
.mb4em { margin-bottom: 4em; }
.mb5em { margin-bottom: 5em; }
.pb1em { padding-bottom: 0.5em; }
.pb2em { padding-bottom: 1.5em; }
.pb3em { padding-bottom: 2.5em; }
.pb4em { padding-bottom: 4em; }
.pb5em { padding-bottom: 5em; }
@media (max-width: 767px) {
	.mt1em { margin-top: 0.3em; }
	.mt2em { margin-top: 1.2em; }
	.mt3em { margin-top: 1.8em; }
	.mt4em { margin-top: 2.5em; }
	.mt5em { margin-top: 4em; }
	.mb1em { margin-bottom: 0.3em; }
	.mb2em { margin-bottom: 1.2em; }
	.mb3em { margin-bottom: 1.8em; }
	.mb4em { margin-bottom: 2.5em; }
	.mb5em { margin-bottom: 4em; }
}

/* ------ float clear ------ */
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
.clearfix:before {
　　　　content: "";
	display: block;
	clear: both;
}
.clearfix {
	display: block;
}


/*---------------------------------------------
	ヘッダ
  ---------------------------------------------*/
header {
	position: relative;
	height: 80px;
	background-color: #ffffff;
}
header .logo img {
	position: absolute;
	top: 15px;
	left: 20px;
	height: 50px;
}
header .typo img {
	position: absolute;
	top: 20px;
	left: 145px;
	width: 185px;
}
header ul.main-menu {
	position: absolute;
	top: 20px;
	right: 320px;
}
header ul.main-menu a {
	color: #333333;
}

header ul.main-menu li,
header ul.submenu li {
	display: inline;
	font-size: 16px; font-size: 1.6rem;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-weight: 300;
	transform: rotate(0.03deg);
}
header ul.main-menu li::after { content: "　│　"; }
header ul.main-menu li:last-child::after { content: none; }

header ul.submenu {
	position: absolute;
	top: 0;
	right: 80px;
}
header ul.submenu li {
	float: left;
	font-size: 13px; font-size: 1.3rem;
}
header ul.submenu li.contact a { background-color: #527CD4; }
header ul.submenu li.recruit a { background-color: #235BC9; }
header ul.submenu li.contact a,
header ul.submenu li.recruit a {
	width: 80px;
	height: 80px;
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
}
header ul.submenu li.contact a {
	width: 120px;
	text-align: center;
	line-height: 1.5;
}
header ul.submenu li a:hover {
	text-decoration: none;
}

@media (max-width: 1280px) {
	header ul.main-menu { display: none; }
}
@media (max-width: 767px) {
	header ul.submenu li.contact,
	header ul.submenu li.recruit { display: none; }
}
@media (max-width: 599px) {
	header { height: 60px; }
	header .logo img { 	top: 12px; left: 10px; height: 35px; }
	header .typo img { top: 15px; left: 100px; width: 150px; }
}
nav .underline-dot { margin-bottom: 10px; padding-bottom: 10px; }


/*---------------------------------------------
	ハンバーガーメニュ
  ---------------------------------------------*/
.drawer-menu {
	padding: 30px;
	line-height: 2.5rem;
}
.drawer-menu .title {
	text-align: center;
	margin-bottom: 30px;
}
.drawer-menu .title img {
	width: 120px;
}
.drawer-menu a { display: block; }
.drawer-menu a:link,
.drawer-menu a:hover,
.drawer-menu a:visited { color: #333333; }

.drawer-menu ul li {
	font-size: 16px; font-size: 1.6rem;
	margin-bottom: 10px;
	background-image: url("../image/icon-arrow.png");
	background-repeat: no-repeat;
	background-position: left top 5px;
	background-size: 9px auto;
	padding-left: 25px;
}
.drawer-menu ul.sub {
	margin-top: 20px;
	padding-bottom: 10px;
	border-bottom: 1px dotted #999999;
	margin-bottom: 20px;

}
.drawer-menu ul.sub li {
	font-size: 14px; font-size: 1.4rem;
}
.drawer-menu p {
	font-size: 14px; font-size: 1.4rem;
	line-height: 1.8;
}
@media (max-width: 599px) {
	.drawer-menu .menu-inner ul li { font-size: 1.4rem; background-size: 14px auto; padding-left: 22px; }
}


/*---------------------------------------------
	共通
  ---------------------------------------------*/

/* ------ コンテンツ ------ */
#contents-container { max-width: 100%; margin: 0 0 70px; }
.contents1200,
.contents1000,
.contents800,
.contents700,
.contents660,
.contents580,
.contents480,
.contents400 { margin: 0 auto; position: relative; padding: 0 25px; }
.contents1200 { max-width: 1250px; }
.contents1000 { max-width: 1050px; }
.contents800 { max-width: 850px; }
.contents700 { max-width: 750px; }
.contents660 { max-width: 710px; }
.contents580 { max-width: 630px; }
.contents480 { max-width: 530px; }
.contents700.inner { padding: 0; }

@media (max-width: 768px) {
	#contents-container { margin-bottom: 40px; }
}
@media (max-width: 599px) {
	#contents-container { margin-top: 50px; }
	.contents1200,
	.contents1000,
	.contents800,
	.contents700,
	.contents660,
	.contents580,
	.contents480,
	.contents400 { padding: 0 20px; }
}


/* ------ コラム ------ */
.column {
	flex-wrap: wrap;
	display: flex;
	margin-left: -80px;
	position: relative;
}
.column section {
	flex: 1;
	margin: 0 0 0 80px;
}
.column section img {
	width: 100%;
}
@media (max-width: 768px) {
	.column { margin-left: -30px; }
	.column section { margin-left: 30px; }
}
@media (max-width: 599px) {
	.column section { flex: 100%; margin: 0 0 30px 30px; }
	.column section:last-child { margin-bottom: 0; }
	.column.reverse section:nth-child(1) { order: 2; }
	.column.reverse section:nth-child(2) { order: 1; }
}
section.empty {
	visibility: hidden;
}


/* ------ フェードアニメ ------ */
.img-fade {
  opacity: 0;
  transition: transform 0.8s linear;
  animation-duration: 1.0s;
  animation-fill-mode: both;
}
.img-blur {
  animation-name: imageBlur;
  opacity: 1;
  transition: 1.0s;
}
@-webkit-keyframes imageBlur {
  from {
    opacity: 0;
    filter: blur(15px);
  }

  to {
    opacity: 1;
    filter: blur(0px);
  }
}
@keyframes imageBlur {
  from {
    opacity: 0;
    filter: blur(10px);
  }

  to {
    opacity: 1;
    filter: blur(0px);
  }
}

/* ------ ボタン ------ */
.btn a {
	position: relative;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-weight: 300;
	transform: rotate(0.03deg);
	font-size: 14px; font-size: 1.4rem;
	line-height: 30px;
	padding: 0 15px;
	max-width: 200px;
	border-radius: 15px;
	border: 1px solid #235bc9;
	background: #ffffff url("../image/icon-arrow.png") no-repeat center right 13px / 8px 11px;
	display: block;
	margin: 25px auto;
	transition: all 0.2s;
	image-rendering: auto;
}
.btn a:hover {
	color: #ffffff;
	background-color: #0059af;
	background-image: url("../image/icon-arrow-w.png");
	text-decoration: none;
}
.btn.btn-l a {
	font-size: 18px; font-size: 1.8rem;
	line-height: 50px;
	padding: 0 25px;
	max-width: 320px;
	border-radius: 25px;
}

/* ------ リスト ------ */
ul.list {
	margin: 10px 0 0;
}

ul.list li {
	margin-bottom: 0.4em;
	padding-left: 1.3em;
	background: url(../image/icon-arrow.png) no-repeat top 0.7em left 2px / 8px 11px;
}
ul.list-line li {
	margin-bottom: 0.6em;
	border-bottom: 1px dotted #999999;
	padding-bottom: 0.4em;
}
ul.list-line li:last-child {
	margin-bottom: 0;
}
ul.list-line li a {
	display: block;
}


/*---------------------------------------------
	トップページ
  ---------------------------------------------*/
#contents-container.top { margin-top: 70px; }
#mainvisual .swiper-container { width: 100%; position: relative; z-index: 1; }
#mainvisual .swiper-container .swiper-slide img { width: 100%; height: 560px; object-fit: cover; }
@media (max-width: 768px) {
	#mainvisual .swiper-container .swiper-slide img { height: 360px; }
}
#mainvisual .swiper-container .title img {
	position: absolute;
	max-width: 720px;
	z-index: 100;
	top: 45%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
	text-align: center;
	animation: fadeIn 2.0s cubic-bezier(.5,0,1,1) 0s 1 normal;
	-webkit-animation: fadeIn 2.0s cubic-bezier(.5,0,1,1) 0s 1 normal;
}

#mainvisual .swiper-container .swiper-slide::before {
	content:"";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 50px 100vw;
	border-color: transparent transparent #ffffff transparent;
}

@media (max-width: 1280px) {
	#mainvisual .swiper-container .title img { width: 80%; }
}
@media (max-width: 768px) {
	#mainvisual .swiper-container .swiper-slide img { height: 420px; }
}
@media (max-width: 599px) {
	#contents-container.top { margin-top: 40px; }
	#mainvisual .swiper-container .swiper-slide img { height: 280px; }
	#mainvisual .swiper-container .swiper-slide::before { border-width: 0 0 25px 100vw; }
}
@keyframes fadeIn {
	0% {opacity: 0}
	100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
	0% {opacity: 0}
	100% {opacity: 1}
}


/* ------ 鹿島テクノスの仕事 ------ */
.top .business {
	background-color: #EFF2F7;
	position: relative;
	padding: 80px 0 40px;
	margin-top: 60px;
}
.top .business::before {
	content:"";
	position: absolute;
	width: 0;
	height: 0;
	left: 0;
	border-style: solid;
}
.top .business::before {
	top: 0;
	border-width: 50px 0 0 100vw ;
	border-color: #ffffff transparent transparent transparent;
}
@media (max-width: 599px) {
	.top .business { padding: 30px 0 20px; margin-top: 40px; }
	.top .business::before { border-width: 25px 0 0 100vw ; }
}

.column-business {
	flex-wrap: wrap;
	display: flex;
	margin-left: -40px;
	position: relative;
}
.column-business section {
	flex: 1;
	background-color: #ffffff;
	padding: 30px 30px 5px;
	margin: 0 0 0 40px;
}
.column-business section img { width: 100%; }
.column-business section h4 { margin: 30px 0 15px; }

@media (max-width: 768px) {
	.column-business { margin-left: -25px; }
	.column-business section { padding: 20px 20px 5px; margin-left: 25px; }
}
@media (max-width: 599px) {
	.column-business section { flex: 100%; margin: 0 0 20px 30px; padding: 20px 20px 5px; }
	.column-business section:last-child { margin-bottom: 0; }
}

/* ------ 施工実績 ------ */
.top .top-works {
	background-color: #D9E7F4;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
	padding: 60px 0 70px;
	background-image: url(../top/works-bg.png);
	background-position: center;
	margin-bottom: 90px;
}
.top .top-works::before,
.top .top-works::after {
	content:"";
	position: absolute;
	width: 0;
	height: 0;
	left: 0;
	border-style: solid;
}
.top .top-works::before {
	top: 0;
	border-width: 50px 100vw 0 0 ;
	border-color: #EFF2F7 transparent transparent transparent;
}
.top top-works::after {
	bottom: 0;
	border-width: 0 100vw 50px 0 ;
	border-color: transparent transparent #ffffff transparent;
}
.top .top-works-innter {
/*	max-width: 1140px; margin: 0 auto; position: relative;*/
}
.top .top-works-innter .column {
	margin: 0;
}
.top .top-works-innter .column img { width:100%;}
.top .top-works-innter .column section {
	flex: 300px;
	text-align: center;
	margin: 0;
	padding-left: 60px;
}

@media (max-width: 599px) {
	.top .top-works {
		background-size: 100% auto;
		padding: 0;
		padding-bottom: calc( 100vw/1.8 );
		background-image: url(../top/works-bg-sp.jpg);
		background-position: center bottom;
	}
	.top .top-works::before { border-width: 0 100vw 0 0; }
	.top .top-works::after { border-width: 0 100vw 0 0; }
	.top .top-works-innter .column section.photo {  }
	.top .top-works-innter .column section { padding-left: 0; }
}


/*---------------------------------------------
	コンテンツ
  ---------------------------------------------*/


/* ------ ページタイトル ------ */
#pagetitle {
	height: 240px;
	position: relative;
	background-image: url(../image/header-bg3.jpg);
	background-position: bottom center;
	background-size: cover;
	background-repeat: no-repeat;
	margin: 0 0 30px;
}

@media (min-width: 1600px) {
	#pagetitle {
		height: 320px;
	}
}
#pagetitle h1 { display: none; }
#pagetitle .slash {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	width: 100%;

}
#pagetitle::before {
	content:"";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 60px 100vw ;
	border-color: transparent transparent #ffffff transparent;
}

@media (max-width: 1024px) {
	#pagetitle {
		height: 120px;
		margin-top: 0;
		background-image: url(../image/header-bg-sp.jpg);
	}
	#pagetitle::before {
		border-width: 0 0 30px 100vw ;
	}
}

/* ------ キャッチコピー ------ */
.catch {
	font-size: 44px; font-size: 4.4rem;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-weight: 300;
	transform: rotate(0.03deg);
	text-align: center;
	line-height: 1.5;
	margin-bottom: 50px;
}
@media (max-width: 599px) {
	.catch { font-size: 2.8rem; }
}

.top .catch {
	font-size: 24px; font-size: 2.4rem;
	line-height: 1.8;
}
@media (max-width: 599px) {
	.top .catch { font-size: 1.8rem; line-height: 2; }
}

.business .catch {
	font-size: 36px; font-size: 3.6rem;
	line-height: 1.8;
}
.business .catch.catch-s {
	font-size: 32px; font-size: 3.2rem;
	line-height: 1.8;
}
@media (max-width: 599px) {
	.business .catch,
	.business .catch.catch-s { font-size: 2.2rem; line-height: 2; }
}



/* ------ 会社概要 ------ */
.gaiyou { margin: 30px 0 10px; line-height: 1.8; }
.gaiyou dt {
	clear : both;
	float : left;
	width : 8em;
}
.gaiyou dd {
	padding-left : 8em;
	padding-bottom:10px;
	border-bottom: #999999 dotted 1px;
	margin-bottom: 10px;
}
.gaiyou dd img {
	margin: 12px 0 8px;
}
/* ------ コラム ------ */
.gaiyou dd .column {
	margin-left: -40px;
}
.gaiyou dd .column section {
	margin: 0 0 0 40px;
}

@media (max-width: 599px) {
	.gaiyou dt { float : none; font-weight: bold; }
	.gaiyou dd { padding-left : 0em; }
}


/* ------ 斜め青バック ------ */
.slash-back {
	background-color: #EFF2F7;
	position: relative;
	padding: 60px 0 100px;
	margin: 60px 0 80px;
}
.slash-back::before,
.slash-back::after {
	content:"";
	position: absolute;
	width: 0;
	height: 0;
	left: 0;
	border-style: solid;
}
.slash-back::before {
	top: 0;
	border-width: 50px 0 0 100vw;
	border-color: #ffffff transparent transparent transparent;
}
.slash-back::after {
	bottom: 0;
	border-width: 0 0 50px 100vw;
	border-color: transparent transparent #ffffff transparent;
}
@media (max-width: 599px) {
	.slash-back { padding: 30px 0 50px; margin: 40px 0 50px; }
	.slash-back::before { border-width: 25px 0 0 100vw; }
	.slash-back::after { border-width: 0 0 25px 100vw; }
}

.googlemap {
	width: 100%;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	margin-bottom: 10px;
}
@media (max-width: 599px) {
	.googlemap iframe { width: 102vw; height: 350px; margin-left: -25px; }

}


/* ------ 事業紹介 ------ */

.business .column section.photo {
	flex: 0.65;
	margin-top: 10px;
}
@media (max-width: 599px) {
	.business .column section.photo { flex: 100%; margin: 0 0 30px 30px; }
}
.column.business {
	margin-bottom: 100px;
}
.column.business h3 {
	margin: 0 0 30px;
}


/* ------ 施工実績 ------ */
.works .column {
	flex-wrap: wrap;
	display: flex;
	margin-left: -40px;
	position: relative;
}
.works .column section {
	flex: 360px;
	margin: 0 0 10px 40px;
}
/*.works .column section img { margin-bottom: 15px; }*/
.works .underline-dot { margin-bottom: 10px; padding-bottom: 10px; }



/* ------ flexbok 最後の行 左寄せ ------ */
.column section.empty:before {
	float: 0;
	height: 0;
	margin-top: 0; margin-bottom: 0;
	padding-top: 0; padding-bottom: 0;
}


/*---------------------------------------------
	ページの先頭へ
  ---------------------------------------------*/
#page-top { width:50px; height:50px; display:none; position:fixed; right:20px; bottom:20px; z-index: 101; }
#page-top p { margin: 0; padding: 0; text-align: center; background-color: #235BC9; }
#page-top p:hover { background-color: #527CD4; transition: 0.4s; }
#move-page-top { color:#fff; line-height:50px; text-decoration:none; display:block; cursor:pointer; }
@media (max-width: 599px) {
	#page-top { width:40px; height:40px; right:15px; bottom:20px; }
	#move-page-top { line-height:40px; }
}

/*---------------------------------------------
	フッタ
  ---------------------------------------------*/

footer {
	max-width: 100%;
	background-color: #F7FAFD;
	text-align: center;
	padding: 35px 20px 15px;
}
footer p a:link { color: #333333; }
footer .logo img { width: 130px; margin-bottom: 20px; }
footer .tel { font-size: 18px; font-size: 1.8rem; }
footer .btn { text-align: left; margin-top: 20px; }


@media (max-width: 599px) {
	footer .text18 { font-size: 15px; font-size: 1.5rem; }
}
footer p { font-size: 13px; font-size: 1.3rem; }
footer .copy { margin-top: 20px; }


/*---------------------------------------------
	レスポンシブ
  ---------------------------------------------*/
@media (min-width: 600px) {
	.forSP { display:none }
	.forPC { display:block }
}
@media (max-width: 599px) {
	.forPC { display:none }
	.forSP { display:block }
}