@import "default.css";
@import "standard.css";
body {
	width: 100%;
	margin: 0;
	padding: 0;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo, Osaka", "MS P ゴシック", "MS P Gothic", "sans-Serif";
	font-size: 16px;
	color: #333333;
	-webkit-text-size-adjust: none;
	background: url(../image/common/body_bg.jpg);
}
a:hover {
	opacity: .7;
}
/* スタイル
------------------------------------------------ */
/* ヘッダー */
header {
	width: 100%;
}
header #inbox {
	width: 100%;
	margin: 0 auto;
	padding: 20px 1.5%;
	background: rgba(255, 255, 255, 0.85);
	box-sizing: border-box;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
header #inbox #logo {
	width: 156px;
	margin-right: 10px;
}
header #inbox #logo img {
	width: 100%;
}
/* フッター */
footer #foot {
	padding: 40px 0;
	background-image: url(../image/common/footer_bg_icon.png);
	background-repeat: no-repeat;
	background-position: calc(50% - 168px) center;
	background-color: #84BCE9;
}
#foot .box {
	max-width: 1040px;
	width: 98%;
	margin: 0 auto;
	color: #041C59;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
#foot .left {
	font-size: 14px;
}
#foot .left .logo {
	width: 164px;
	margin-bottom: 20px;
}
#foot .left .logo img {
	width: 100%;
}
#foot .left .address {
	margin-bottom: 20px;
}
#foot .fnavi {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
#foot .fnavi li {
	margin-left: 15px;
	margin-bottom: 5px;
}
#foot .fnavi li a {
	padding-left: 1em;
	color: #041C59;
	text-decoration: none;
	position: relative;
}
#foot .fnavi li a::before {
	content: "";
	width: 6px;
	height: 1px;
	background: #041C59;
	top: 10px;
	left: 0;
	position: absolute;
}
#foot .right {
	width: 670px;
}
#foot .contact {
	padding: 30px 34px;
	background: #FFF;
}
#foot .contact p {
	margin-bottom: 26px;
	font-size: 18px;
}
#foot .contact .wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
#foot .contact .phone {
	padding-left: 56px;
	position: relative;
}
#foot .contact .phone::before {
	content: "";
	width: 46px;
	height: 46px;
	background: url(../image/common/footer_tel.png) no-repeat;
	background-size: contain;
	top: 8px;
	left: 0;
	position: absolute;
}
#foot .contact .phone dt a {
	font-size: 32px;
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
	color: #041C59;
	text-decoration: none;
}
#foot .contact .phone dd {
	font-size: 16px;
}
#foot .contact .form li {
	width: 260px;
}
#foot .contact .form li a {
	padding: 10px 0;
	font-size: 18px;
	color: #FFF;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	background: #FFB000;
	box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.2), 0px 0px 2px rgba(0, 0, 0, 0.2), 0px 0px 3px rgba(0, 0, 0, 0.2), 0px 0px 4px rgba(0, 0, 0, 0.2), 0px 0px 5px rgba(0, 0, 0, 0.2);
	display: block;
}
#copyright {
	padding: 22px 0;
	font-size: 14px;
	text-align: center;
	color: #FFF;
	letter-spacing: .075em;
	text-indent: .075em;
	background: #041C59;
}
#copyright a {
	text-decoration: none;
	color: #FFF;
}
#fixedTop {
	right: 20px;
	bottom: 20px;
	width: 60px;
	height: 60px;
	padding-top: 30px;
	color: #fff;
	text-decoration: none;
	font-size: 12px;
	letter-spacing: .08em;
	text-align: center;
	display: none;
	background: #041C59;
	border: 1px #FFF solid;
	position: fixed;
	z-index: 9999;
	box-sizing: border-box;
}
#fixedTop::before {
	content: "";
	display: block;
	position: absolute;
	top: 14px;
	left: 50%;
	width: 10px;
	height: 10px;
	border-top: solid 2px;
	border-left: solid 2px;
	transform: rotate(45deg);
	transform-origin: left top;
}
#fixedTop:hover {
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
	opacity: 0.7;
}
#contact_sp {
	display: none;
}
/* ナビ部分
------------------------------------------------ */
#gnav {
	max-width: 940px;
	width: 100%;
	margin-left: 10px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	flex-wrap: wrap;
}
#gnav li {
	text-align: center;
}
#gnav li a {
	padding: 16px 5px;
	font-size: 14px;
	text-decoration: none;
	font-weight: bold;
	color: #041C59;
	display: block;
}
#gnav li a:hover {
	opacity: .7;
}
#gnav .contact a {
	margin-left: 10px;
	padding: 16px 12px;
	color: #FFF;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
	background: #FEAA2F;
	display: block;
}
#gnav .instagram img{
	width: 40px;
	height: auto;
}
/* モーダルメニュー */
header .menu_btn,
header .menu,
header #insta_sp {
	display: none;
}
/* パンくずリスト
------------------------------------------------ */
#rootlist {
	padding: 0 20px;
	margin: 0 20px 50px;
	font-size: 12px;
	position: relative;
}
#rootlist:before {
	content: "";
	width: 12px;
	height: 12px;
	background: url(../image/common/rootlist_top.png) no-repeat;
	background-size: contain;
	top: 2px;
	left: 0;
	position: absolute;
}
#rootlist span {
	margin: 0 5px;
	color: #999;
}
#rootlist a {
	text-decoration: none;
	color: #3666CA;
}
#rootlist a:hover {
	text-decoration: underline;
}
/* Hタグ
------------------------------------------------ */
#h2_wrap {
	margin: 100px 20px 10px;
	padding: 130px 60px 60px;
	background: url(../image/common/h2_bg.jpg) center;
	background-size: cover;
	box-sizing: border-box;
	position: relative;
	display: none;
}
#h2_wrap h2.title {
	font-size: 36px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-indent: 0.05em;
}
#h2_wrap h2.title::before {
	content: attr(data-en);
	font-size: 190px;
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
	top: -70px;
	left: 40px;
	color: rgba(54,102,202,0.1);
	position: absolute;
}
h3.title {
	margin-bottom: 30px;
	font-size: 30px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	color: #041C59;
	text-align: center;
}
h3.title span {
	padding: 0 46px;
	background: linear-gradient(transparent 70%, #EAF3FB 70%);
}
h3.icon {
	padding-top: 56px;
	position: relative;
}
h3.icon::before {
	content: "";
	width: 40px;
	height: 46px;
	background: url(../image/common/icon_fuji.png) no-repeat;
	background-size: cover;
	top: 0;
	left: calc( 50% - 20px );
	position: absolute;
}
h3.title2 {
	margin-bottom: 30px;
	font-size: 36px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	color: #FF6600;
	text-align: center;
}
h3.title3 {
	max-width: 1190px;
	min-width: 990px;
	margin: 0 auto;
	margin-bottom: 30px;
	padding: 5px 0;
	padding-left: 10px;
	font-size: 28px;
	font-weight: 500;
	border-left: 3px #554F8C solid;
	line-height: 1em;
}
h4.title {
	margin-bottom: 10px;
	padding: 4px 12px;
	font-size: 22px;
	font-weight: bold;
	color: #343055;
	border-left: 4px solid #353056;
}
h4.title span {
	margin-left: .5em;
	font-size: 16px;
	font-weight: normal;
}
/* 共通
------------------------------------------------ */
#contents {
	margin: 0 auto 80px;
}
#contents p {
	margin-bottom: 20px;
	line-height: 1.6em;
}
.cbox {
	max-width: 1020px;
	min-width: 940px;
	width: 94%;
	margin: 0 auto 120px;
}
.cbox_m0 {
	max-width: 1020px;
	min-width: 980px;
	width: 94%;
	margin: 0 auto;
}
.inbox {
	margin-bottom: 80px;
	padding: 0 10px;
}
.button li {
	width: 318px;
	margin: 0 auto;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
}
.button li a {
	padding: 10px 0;
	color: #100F0F;
	text-decoration: none;
	background: #F5F5F5;
	display: block;
}
.button li a:hover {
	background: #ddd;
	opacity: 1;
}
.button.border li a {
	color: #100F0F;
	border: 1px solid #786fc4;
	background: #FFF;
	box-sizing: border-box;
}
.button.border li a:hover {
	background: #F5F5F5;
}
.wp-pagenavi {
	max-width: 980px;
	min-width: 880px;
	margin: 0 auto;
}
br.sp {
	display: none;
}
/*---テーブル---*/
table.stdt1 {
	width: 100%;
	margin: 0 auto;
	margin-bottom: 10px;
	border-collapse: collapse;
	border: solid 1px #e0e0e0;
	background: #FFF;
}
table.stdt1 caption {
	text-align: left;
}
table.stdt1 th, table.stdt1 td {
	border: solid 1px #bfbfbf;
	padding: 10px;
	text-align: left;
}
table.stdt1 th {
	background: #ebebeb;
	white-space: nowrap;
	color: #333333;
}
/*詳細リスト*/
.detail_list {
	border-top: 1px solid #333;
}
.detail_list dl {
	display: flex;
	border-bottom: 1px solid #333;
}
.detail_list dl dt {
	width: 230px;
	padding: 20px 30px;
	font-weight: bold;
	background: #F5F5F5;
	box-sizing: border-box;
}
.detail_list dl dd {
	width: calc(100% - 230px);
	padding: 20px 30px;
}
.movie-wrap {
     position: relative;
     padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
     height: 0;
     overflow: hidden;
}
.movie-wrap iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}
/* トップページ
------------------------------------------------ */
#p_top .bg_wrap {
	padding: 100px 0;
}
#p_top h3.title_top {
	margin-bottom: 50px;
	padding: 80px 0;
	font-size: 36px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	color: #041C59;
	text-align: center;
	position: relative;
}
#p_top h3.title_top span {
	position: relative;
	z-index: 2;
}
#p_top h3.title_top::before {
	content: attr(data-en);
	font-size: 240px;
	font-family: 'Roboto', sans-serif;
	font-weight: 500;
	top: -40px;
	left: 50%;
	transform: translateX(-50%);
	color: rgba(50,142,217,0.1);
	position: absolute;
}
/*ヘッダー部分*/
#p_top header {
	position: static;
}
#p_top header #inbox {
	width: 96%;
	background: #FFF;
	border-radius: 5px;
}
#p_top .clone-nav {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	transition: .3s;
	transform: translateY(-100%);
}
#p_top .clone-nav #inbox {
	width: 100%;
	border-radius: 0;
	background: rgba(255, 255, 255, 0.85);
}
#p_top .is-show {
	transform: translateY(0);
}
/*メイン画像*/
#p_top #main_img {
	width: 100%;
	padding-top: 30px;
	background-size: cover;
}
#p_top #main {
	width: 94%;
	height: calc(85vh - 140px);
	margin: 0 auto;
	box-sizing: border-box;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
#p_top #main .point {
	width: 360px;
	margin-right: 30px;
}
#p_top #main .point li {
	width: 174px;
	height: 144px;
	font-size: 38px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	color: #041C59;
	clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
	background: #FFF;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
#p_top #main .point .first li {
	margin: 0 auto 20px;
}
#p_top #main .point .second {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
#p_top #main .point .second li:first-child {
	margin-right: 20px;
}
#p_top #main .lead {
	font-size: 38px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 700;
	letter-spacing: 0.2em;
	color: #FFF;
	text-shadow: 0px 0px 1px rgba(0, 0, 0, 0.8), 0px 0px 2px rgba(0, 0, 0, 0.8), 0px 0px 3px rgba(0, 0, 0, 0.8), 0px 0px 4px rgba(0, 0, 0, 0.8), 0px 0px 5px rgba(0, 0, 0, 0.8), 0px 0px 6px rgba(0, 0, 0, 0.8);
}
#p_top #main .lead span {
	display: inline-block;
}
@media only screen and (min-width: 1280px) {
#p_top #main_img {
	padding-top: 50px;
}
#p_top #main {
 width: 86%;
 height: calc(85vh - 170px);
}
#p_top #main .lead {
	font-size: 42px;
}
#p_top #main .point {
 width: 420px;
 margin-right: 30px;
}
#p_top #main .point li {
	width: 194px;
	height: 164px;
	font-size: 46px;
}
}
/*ニーズの3つの強み*/
#p_top #relief .bg_wrap {
	padding: 40px 0 100px;
	overflow-x: hidden;
}
#p_top #relief h3.title_top {
	margin-bottom: 0;
}
#p_top #relief h3.title_top b {
	margin: 0 6px;
	font-size: 80px;
	color: #F1AB10;
}
#p_top #relief h3.title_top::before {
	top: -10px;
}
#p_top #relief .wrap {
	max-width: 1218px;
	width: 100%;
	margin: 0 auto;
}
#p_top #relief .box {
	margin-bottom: 50px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}
#p_top #relief .box.no02 {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
}
#p_top #relief .text_box {
	max-width: 530px;
	width: 50%;
	margin-top: 54px;
	padding: 70px 46px;
	background: #84bce9;
	box-sizing: border-box;
}
#p_top #relief .text_box .text {
	line-height: 1.6em;
}
#p_top #relief .text_box .text span {
	font-weight: bold;
	background: linear-gradient(transparent 60%, rgba(255, 255, 102, 0.7) 60%);
}
#p_top #relief .lead {
	margin-bottom: 48px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
#p_top #relief .lead span {
	width: 124px;
	height: 108px;
	margin-right: 20px;
	color: #041C59;
	text-align: center;
	line-height: 1.6em;
	font-size: 24px;
	font-weight: bold;
	background: #E6F1FB;
	clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
#p_top #relief .lead span b {
	font-size: 56px;
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
	display: block;
}
#p_top #relief .lead h4 {
	font-size: 28px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	color: #FFF;
}
#p_top #relief .text {
	font-size: 18px;
	color: #041C59;
}
#p_top #relief .photo {
	max-width: 610px;
	width: 50%;
	margin-bottom: 40px;
	position: relative;
}
#p_top #relief .photo::after {
	content: "";
	width: 234px;
	height: 192px;
	background: url(../image/top/relief_icon.png) no-repeat;
	background-size: contain;
	position: absolute;
}
#p_top #relief .no01 .photo::after, #p_top #relief .no03 .photo::after {
	bottom: 70px;
	left: -100px;
}
#p_top #relief .no02 .photo::after {
	bottom: 70px;
	right: -80px;
}
#p_top #relief .photo img {
	width: 100%;
}
/*施工カテゴリー*/
#p_top #service .bg_wrap {
	background: #F5F5F5;
}
#service .box {
	max-width: 1068px;
	width: 94%;
	margin: 0 auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
#service .item {
	width: 32%;
	margin-bottom: 24px;
	background: #FFF;
}
#service .item a {
	font-size: 24px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	color: #3290DA;
	text-decoration: none;
	line-height: 1em;
	background: #FFF;
	border: 2px solid #3290DA;
	box-sizing: border-box;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
#service .item a span {
	font-size: 16px;
	font-weight: normal;
	opacity: .3;
	display: block;
}
#service .item .photo {
	width: 40%;
	position: relative;
	overflow: hidden;
}
#service .item .photo img {
	width: 100%;
}
#service .item .photo::after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 96px 30px;
	border-color: transparent transparent #ffffff transparent;
	bottom: 0;
	right: 0;
	position: absolute;
}
#service .item .text {
	width: 60%;
	padding-right: 5px;
	text-align: center;
	box-sizing: border-box;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-orient: vertical;
  	-webkit-box-direction: normal;
  	-ms-flex-direction: column;
  	flex-direction: column;
}
#service .item:nth-child(even) a {
	color: #041C5A;
	border: 2px solid #041C5A;
}
/*新着情報*/
#news .box {
	width: 940px;
	margin: 0 auto 160px;
}
#news .log {
	margin-bottom: 88px;
}
#news .log dl {
	padding: 20px 24px;
	color: #041C59;
	background: #F7F7FA;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
#news .log dl:nth-child(even) {
	background: #FFF;
}
#news .log dt {
	margin-right: 18px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
#news .log dt .date {
	margin-right: 18px;
	font-size: 16px;
}
#news .log dt .icon {
	width: 106px;
	font-size: 12px;
	color: #FFF;
	background: #041C59;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
#news .log dt .osusume {
	background: #F57838;
}
#news .log dd span {
	margin-left: 5px;
	color: #F00;
	font-size: 14px;
}
/*施工事例*/
#works {
	margin-bottom: 140px;
}
#works .box {
	max-width: 1044px;
	width: 94%;
	margin: 0 auto;
}
#works .box:after {
	content: "";
	display: block;
	width: 30%;
}
#works #list {
	margin-bottom: 80px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	flex-wrap: wrap;
}
#works #list a {
	width: 30%;
	margin-bottom: 60px;
	box-shadow: 10px 10px #044D86;
	font-size: 18px;
	color: #041C59;
	text-decoration: none;
	text-align: center;
	background-color: #FFF;
}
#works #list dt img {
	width: 100%;
	height: auto;
}
#works #list dd {
	padding: 25px 0;
}
/*バナー*/
#p_top #banner .list {
	max-width: 980px;
	width: 94%;
	margin: 0 auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
#p_top #banner .list li{
	width: 48%;
}
#p_top #banner .list li a{
	padding: 10px;
	text-decoration: none;
	font-weight: bold;
	color: #081e5a;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.2), 0px 0px 2px rgba(0, 0, 0, 0.2), 0px 0px 3px rgba(0, 0, 0, 0.2), 0px 0px 4px rgba(0, 0, 0, 0.2);
}
#p_top #banner .list li i{
	width: 98px;
}
#p_top #banner .list .mitsumori i{
	margin-right: 20px;
}
#p_top #banner .list .kyufu i{
	margin-left: 20px;
}
#p_top #banner .list li i img{
	width: 100%;
}
#p_top #banner .list li span{
	font-size: 32px;
	line-height: 1.6em;
	text-align: center;
	display: block;
}
#p_top #banner .list li b{
	padding: 0 4px;
	font-size: 48px;
	position: relative;
}
#p_top #banner .list li b::after{
	content: "";
	width: 100%;
	height: 20px;
	background: #f0e500;
	bottom: 8px;
	left: 0;
	z-index: -1;
	position: absolute;
}
#p_top #banner .list .kyufu span{
	padding-top: 10px;
}

/* お知らせ
------------------------------------------------ */
h3.title_wp {
	width: 1020px;
	margin: 0 auto 50px;
	padding: 20px 5px;
	border-top: 1px #CCC solid;
	border-bottom: 1px #CCC solid;
	font-size: 20px;
	font-weight: bold;
	color: #041C59;
}
#p_news .cbox {
	max-width: 990px;
	width: 94%;
	margin: 0 auto 120px;
}
#p_news #fixed {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	vertical-align: top;
}
#p_news #fixed dl {
	width: 320px;
	margin: 0 5px;
	margin-bottom: 15px;
}
#p_news #fixed dt {
	margin-bottom: 5px;
}
#p_news #fixed dt img {
	width: 320px;
	height: auto;
}
#p_news .fixed dd {
	font-size: 14px;
}
#p_news #post img {
	padding: 5px;
}
#p_news #pdf {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#p_news #pdf dl {
	width: 48%;
	margin-bottom: 20px;
	padding: 20px;
	border: 1px #FF0000 solid;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	box-sizing: border-box;
}
#p_news #pdf dl dt {
	margin-right: 15px;
}
#p_news #pdf dl dt img {
	width: 100px;
	height: auto;
}
/* 会社案内
------------------------------------------------ */
#p_about #aisatu .photo {
	margin-bottom: 30px;
}
#p_about #aisatu .photo img {
	width: 100%;
}
#p_about #profile .detail_list {
	margin-bottom: 80px;
}
#p_about #movie {
	margin-bottom: 80px;
	padding: 50px 0;
	background: #F6F6F6;
}
/* リフォーム
------------------------------------------------ */
#p_reform #service #intro .title_lead {
	margin-bottom: 20px;
	font-size: 40px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	color: #041C59;
	text-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
#p_reform #service #intro .title_lead::before,
#p_reform #service #intro .title_lead::after {
	content: '';
	width: 4px;
	height: 56px;
	background-color: #FFCC00;
}
#p_reform #service #intro .title_lead::before {
	margin-right: 50px;
	transform: rotate(-45deg)
}
#p_reform #service #intro .title_lead::after {
	margin-left: 50px;
	transform: rotate(45deg)
}
#p_reform #service #intro{
	margin-bottom: 70px;
}
#p_reform #service #intro .sub{
	text-align: center;
}
#p_reform #service .sv{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#p_reform #service .sv dt{
	width: 40%;
}
#p_reform #service .sv dt img{
	width: 100%;
	height: auto;
}
#p_reform #service .sv dd{
	width: 54%;
}
#p_reform #price #list{
	width: 90%;
	margin: 0 auto 80px;
}
#p_reform #price #list dl{
	margin-bottom: 40px;
	display: flex;
	align-items: center;
}
#p_reform #price #list dl dt{
	width: 180px;
	height: 180px;
	margin-right: 20px;
	border: 4px #FFB000 solid;
	border-radius: 50%;
	font-weight: bold;
	color: #D40000;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
#p_reform #price #list dl dt span{
	font-size: 26px;
}
#p_reform #price #list dl dd h4{
	margin-bottom: 10px;
	font-size: 18px;
	font-weight: bold;
}
#p_reform #price #option{
	width: 86%;
	margin: 0 auto;
}
#p_reform #price #option h4{
	margin-bottom: 20px;
	font-size: 18px;
	font-weight: bold;
}
#p_reform #price #option ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#p_reform #price #option ul:after{
	content: "";
	display: block;
	width: 31%;
	height: 0;
}
#p_reform #price #option ul li{
	width: 31%;
	margin-bottom: 20px;
	padding: 0 5px 10px;
	border-bottom: 1px #CCC solid;
	font-size: 14px;
}
/*ガラスフィルム*/
#p_reform.p_glassfilm .box {
	width: 990px;
	margin: 0 auto 100px;
}
#p_reform.p_glassfilm #film {
	padding-top: 40px;
}
#p_reform.p_glassfilm #film .lead {
	margin-bottom: 50px;
	padding: 50px 38px 20px;
	background: url(../reform/image/glassfilm/film_lead_bg.jpg) no-repeat;
	background-size: cover;
	border: 1px #707070 solid;
	position: relative;
}
#p_reform.p_glassfilm #film .lead::after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 28px 73px 0 73px;
	border-color: #ff0000 transparent transparent transparent;
	bottom: -18px;
	left: calc(50% - 73px);
	position: absolute;
}
#p_reform.p_glassfilm #film .saigai {
	width: 256px;
	height: 256px;
	border-radius: 50%;
	border: 2px #4B9413 solid;
	background: #FFF;
	display: flex;
	justify-content: center;
	align-items: center;
	right: 20px;
	top: -30px;
	transform:rotate(15deg);
	position: absolute;
}
#p_reform.p_glassfilm #film .saigai dl {
	text-align: center;
	position: relative;
}
#p_reform.p_glassfilm #film .saigai dt {
	margin-bottom: 20px;
	font-size: 26px;
	color: #4B9413;
	font-weight: bold;
}
#p_reform.p_glassfilm #film .saigai dd {
	font-size: 18px;
}
#p_reform.p_glassfilm #film .saigai dl::before {
	content: "";
	width: 76px;
	height: 78px;
	background:  url(../reform/image/glassfilm/film_lead_icon01.svg) no-repeat;
	background-size: contain;
	left: -88px;
	top: calc(50% - 39px);
	transform:rotate(-25deg);
	position: absolute;
}
#p_reform.p_glassfilm #film .saigai dl::after {
	content: "";
	width: 50px;
	height: 60px;
	background:  url(../reform/image/glassfilm/film_lead_icon02.svg) no-repeat;
	background-size: contain;
	right: -60px;
	top: calc(50% - 30px);
	transform:rotate(30deg);
	position: absolute;
}
#p_reform.p_glassfilm #film h3 {
	margin-bottom: 40px;
	font-size: 46px;
	font-weight: bold;
	letter-spacing: .05em;
}
#p_reform.p_glassfilm #film h3 span {
	display: block;
}
#p_reform.p_glassfilm #film h3 .bl {
	color: #041C59;
}
#p_reform.p_glassfilm #film h3 .or {
	color: #ED9010;
}
#p_reform.p_glassfilm #film h3 i {
	font-size: 32px;
	font-style: normal;
	color: #707070;
}
#p_reform.p_glassfilm #film .list {
	width: 640px;
	margin-left: 20px;
	display: flex;
	flex-wrap: wrap;
}
#p_reform.p_glassfilm #film .list li {
	margin: 0 10px 18px 0;
	padding: 16px 24px;
	font-weight: bold;
	border-radius: 24px;
	color: #430000;
	background: #FFF57A;
}
#p_reform.p_glassfilm #film .type {
	margin: 0 5px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#p_reform.p_glassfilm #film .type dl {
	width: 316px;
	margin-bottom: 20px;
	padding: 20px;
	padding-bottom: 50px;
	box-sizing: border-box;
}
#p_reform.p_glassfilm #film .type .safety {
	background: #5F8DE9;
	background-image: url(../reform/image/glassfilm/film_safety.svg);
	background-repeat: no-repeat;
	background-position: right 10px bottom -20px;
}
#p_reform.p_glassfilm #film .type .uv {
	background: #2FA0DB;
	background-image: url(../reform/image/glassfilm/film_uv.svg);
	background-repeat: no-repeat;
	background-position: right 10px bottom -10px;
}
#p_reform.p_glassfilm #film .type .deco {
	background: #5F8DE9;
	background-image: url(../reform/image/glassfilm/film_deco.svg);
	background-repeat: no-repeat;
	background-position: right 10px bottom -5px;
}
#p_reform.p_glassfilm #film .type .blind {
	background: #2FA0DB;
	background-image: url(../reform/image/glassfilm/film_blind.svg);
	background-repeat: no-repeat;
	background-position: right 15px bottom -5px;
}
#p_reform.p_glassfilm #film .type .security {
	background: #5F8DE9;
	background-image: url(../reform/image/glassfilm/film_security.svg);
	background-repeat: no-repeat;
	background-position: right -50px bottom -45px;
}
#p_reform.p_glassfilm #film .type .thermal {
	background: #2FA0DB;
	background-image: url(../reform/image/glassfilm/film_thermal.svg);
	background-repeat: no-repeat;
	background-position: right 24px bottom -15px;
}
#p_reform.p_glassfilm #film .type dt {
	margin-bottom: 10px;
	color: #FFF;
	font-size: 26px;
	font-weight: bold;
}
#p_reform.p_glassfilm #film .type dt span {
	font-size: 22px;
}
#p_reform.p_glassfilm #film .type dd {
	padding: 10px;
	background: #FFF;
	border-radius: 5px;
	display: inline-block;
}
#p_reform.p_glassfilm #film .trust {
	text-align: center;
	color: #FF0000;
}
#p_reform.p_glassfilm #flow .box {
	text-align: center;

}
#p_reform.p_glassfilm #flow h3 {
	margin-bottom: 50px;
	font-size: 36px;
	font-weight: bold;
	letter-spacing: .05em;
	text-indent: .05em;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}
#p_reform.p_glassfilm #flow h3::before,
#p_reform.p_glassfilm #flow h3::after {
	content: '';
	width: 1px;
	height: 60px;
	background-color: #707070;
}
#p_reform.p_glassfilm #flow h3::before {
	margin-right: 40px;
	transform: rotate(-35deg)
}
#p_reform.p_glassfilm #flow h3::after {
	margin-left: 40px;
	transform: rotate(35deg)
}
#p_reform.p_glassfilm #flow h3 b {
	font-size: 44px;
	color: #F1AB10;
}
#p_reform.p_glassfilm #flow h3 i {
	font-style: normal;
	font-size: 44px;
	color: #3666CA;
}
#p_reform.p_glassfilm #flow p {
	width: 720px;
	margin: 0 auto;
	margin-bottom: 50px;
	padding: 20px;
	background: #FFF6F6;
	font-size: 20px;
	font-weight: bold;
	color: #FF0000;
	text-align: center;
}
#p_reform.p_glassfilm #price .box {
	padding: 80px 50px 50px;
	box-sizing: border-box;
	background: #F6F6F6;
	text-align: center;
	position: relative;
}
#p_reform.p_glassfilm #price .popup{
	top: -50px;
	left: calc(50% - 143px);
	position: absolute;
}
#p_reform.p_glassfilm #price .popup span {
	width: 286px;
	padding: 30px;
	box-sizing: border-box;
	background: #FFF;
	border: 3px #FFB000 solid;
	border-radius: 50%;
	font-size: 20px;
	font-weight: bold;
	color: #FB6314;
	position: relative;
	display: inline-block;
}
#p_reform.p_glassfilm #price .popup span:before {
	content: "";
	position: absolute;
	bottom: -24px;
	left: 50%;
	margin-left: -15px;
	border: 12px solid transparent;
	border-top: 12px solid #FFF;
	z-index: 2;
}
#p_reform.p_glassfilm #price .popup span:after {
	content: "";
	position: absolute;
	bottom: -30px;
	left: 50%;
	margin-left: -17px;
	border: 14px solid transparent;
	border-top: 14px solid #FFB000;
	z-index: 1;
}
#p_reform.p_glassfilm #price h4 {
	margin-bottom: 20px;
	font-size: 26px;
	font-weight: bold;
}
#p_reform.p_glassfilm #price .item {
	width: 700px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}
#p_reform.p_glassfilm #price .item dl {
	width: 320px;
	padding: 20px 30px;
	box-sizing: border-box;
	text-align: left;
	background: #FFF;
	border: #84BCE9 solid 3px;
}
#p_reform.p_glassfilm #price .item dt {
	margin-bottom: 10px;
	font-size: 18px;
	font-weight: bold;
	color: #041C59;
}
#p_reform.p_glassfilm #price .item dd {
	font-weight: bold;
	color: #000;
}
#p_reform.p_glassfilm #price .item dd b {
	font-size: 28px;
	color: #FD4242;
}
/* 施工事例
------------------------------------------------ */
#p_works #category {
	width: 990px;
	margin: 0 auto;
	margin-bottom: 60px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#p_works #category li {
	width: 23%;
}
#p_works #category li a {
	width: 100%;
	margin-bottom: 15px;
	padding: 10px;
	display: inline-block;
	border: 1px #0099FF solid;
	text-align: center;
	box-sizing: border-box;
}
#p_top #works #list dd {
	padding: 25px 0;
}
#p_works #details .contents {
	margin-bottom: 80px;
}
#p_works #details .ba {
	margin-bottom: 80px;
	font-size: 0;
}
#p_works #details .ba dl {
	width: 480px;
	display: inline-block;
	position: relative;
	vertical-align: top;
}
#p_works #details .ba dl.before {
	margin-right: 60px;
	color: #03C;
}
#p_works #details .ba dl.before:after {
	content: "＞";
	position: absolute;
	top: 190px;
	right: -52px;
	margin-top: -12px;
	font-size: 36px;
	color: #C00;
}
#p_works #details .ba dl.after {
	color: #C00;
}
#p_works #details .ba dt {
	margin-bottom: 10px;
	text-align: center;
	font-size: 24px;
	letter-spacing: 0.2em;
}
#p_works #details .ba dd.img {
	margin-bottom: 20px;
	padding: 9px;
	background: #FFF;
	border: 1px #CCC solid;
}
#p_works #details .ba dd.img img {
	width: 460px;
	height: 300px;
	object-fit: cover;
}
#p_works #details .ba dd {
	font-size: 16px;
	color: #333;
}
#p_works #details .ba_only dl.after {
	color: #C00;
}
#p_works #details .ba_only dt {
	margin-bottom: 10px;
	text-align: center;
	font-size: 24px;
	letter-spacing: 0.2em;
}
#p_works #details .ba_only {
	margin-bottom: 80px;
	font-size: 0;
	text-align: center;
	border: 1px #CCC solid;
}
#p_works #details .ba_only dl {
	width: 600px;
	padding: 20px;
	display: inline-block;
	position: relative;
	vertical-align: top;
}
#p_works #details .ba_only dd.img {
	margin-bottom: 20px;
	text-align: center;
}
#p_works #details .ba_only dd.img img {
	width: 600px;
	height: 390px;
	object-fit: cover;
	box-shadow: 0px 0px 1px #D1C98F, 0px 0px 2px #C2BCAF, 0px 0px 3px #C2BCAF, 0px 0px 4px #C2BCAF, 0px 0px 5px #C2BCAF, 0px 0px 6px #C2BCAF, 0px 0px 7px #FFF, 0px 0px 8px #C2BCAF;
}
#p_works #details .ba_only dd {
	font-size: 16px;
	color: #333;
	text-align: left;
}
#p_works #details .free {
	margin-bottom: 80px;
}
#p_works #details #option {
	font-size: 0;
}
#p_works #details #option dl {
	width: 480px;
	margin-bottom: 80px;
	display: inline-block;
	vertical-align: top;
	font-size: 16px;
}
#p_works #details #option dl:nth-child(odd) {
	margin-right: 60px;
}
#p_works #details #option dt {
	margin-bottom: 10px;
	padding: 9px;
	background: #FFF;
	border: 1px #CCC solid;
}
#p_works #details #option dt img {
	width: 460px;
	height: 300px;
	object-fit: cover;
}
#p_works #details #option dd.title {
	margin-bottom: 10px;
	font-weight: bold;
}
/* ご依頼の流れ
------------------------------------------------ */
#p_flow #flow .box {
	margin-bottom: 50px;
	padding: 26px;
	border: 3px solid #D7D5E8;
	background: #FFF;
	box-sizing: border-box;
	border: 6px solid #EBEBEB;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	position: relative;
}
#p_flow #flow .box::before {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 28px 15px 0 15px;
	border-color: #EBEBEB transparent transparent transparent;
	bottom: -28px;
	left: calc(50% - 15px);
	position: absolute;
}
#p_flow #flow .box::after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 28px 15px 0 15px;
	border-color: #fff transparent transparent transparent;
	bottom: -16px;
	left: calc(50% - 15px);
	position: absolute;
}
#p_flow #flow .box:last-child::before, #p_flow #flow .box:last-child::after {
	content: none;
}
#p_flow #flow dt {
	margin-bottom: 10px;
	font-size: 24px;
	font-weight: bold;
}
#p_flow #flow dt i {
	width: 60px;
	height: 60px;
	margin-right: 30px;
	line-height: 60px;
	font-size: 30px;
	color: #FFF;
	text-align: center;
	background: #3666CA;
	display: inline-block;
}
#p_flow #flow .box:nth-child(even) dt i {
	background: #84BCE9;
}
#p_flow #flow dd {
	padding-left: 90px;
}
#p_flow #flow .photo {
	width: 180px;
	height: 180px;
}
#p_flow #flow .photo img {
	width: 100%;
	border-radius: 50%;
}
/* よくある質問
------------------------------------------------ */
#p_faq #faq dl {
	margin: 0 auto 40px;
	padding-bottom: 30px;
	background: #FFF;
	box-sizing: border-box;
	border-bottom: 1px #CCC solid;
}
#p_faq #faq dt {
	margin-bottom: 30px;
	padding-left: 52px;
	font-size: 18px;
	font-weight: bold;
	position: relative;
}
#p_faq #faq dt::before {
	content: "Q";
	width: 38px;
	height: 38px;
	padding-top: 4px;
	font-size: 18px;
	color: #3666CA;
	text-align: center;
	border-radius: 50%;
	background: #F5F5F5;
	border: 1px #3666CA solid;
	box-sizing: border-box;
	top: -5px;
	left: 0;
	position: absolute;
}
#p_faq #faq dd {
	padding-left: 52px;
}
/* 業者様向け
------------------------------------------------ */
#p_supplier #rootlist {
	margin-bottom: 70px;
}
#p_supplier #sample .title_lead {
	margin-bottom: 70px;
	font-size: 40px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	text-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
#p_supplier #sample .title_lead::before, #p_supplier #sample .title_lead::after {
	content: '';
	width: 4px;
	height: 56px;
	background-color: #FFCC00;
}
#p_supplier #sample .title_lead::before {
	margin-right: 50px;
	transform: rotate(-45deg)
}
#p_supplier #sample .title_lead::after {
	margin-left: 50px;
	transform: rotate(45deg)
}
#p_supplier #sample .wrap {
	margin-bottom: 100px;
	padding: 70px 0 0;
	background: url(../supplier/image/bg_sample.jpg) no-repeat;
	background-size: cover;
}
#p_supplier #sample .flex {
	min-width: 1000px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
#p_supplier #sample .flex dl {
	width: 30%;
	max-width: 320px;
	margin-bottom: 70px;
	text-align: center;
}
#p_supplier #sample .flex dt {
	margin-bottom: 6px;
	font-size: 22px;
	font-weight: bold;
}
#p_supplier #sample .flex dd img {
	width: 100%;
}
#p_supplier #sample .button_contact {
	width: 458px;
	margin: 0 auto 180px;
}
#p_supplier #sample .button_contact li a {
	padding: 20px 0;
	color: #FFF;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	background: #FFB000;
	display: block;
}
/* お問い合わせ
------------------------------------------------ */
#p_contact h3.title b{
	font-weight: normal;
}
#p_contact #phone #list {
	margin-bottom: 15px;
	padding: 60px;
	background: #F5F5F5;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
}
#p_contact #phone #list li {
	padding: 20px;
	width: 48%;
	background: #FFF;
	border-radius: 5px;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
}
#p_contact #phone #list li a{
	color: #333;
	text-decoration: none;
}
#p_contact #phone #list li i {
	margin-right: 15px;
}
#p_contact #phone #list dl {
	font-weight: bold;
}
#p_contact #phone #list dt {
	font-size: 20px;
}
#p_contact #phone #list dd {
	font-size: 30px;
}
#p_contact #phone .hours {
	text-align: center;
}
#form .detail_list {
	margin-bottom: 50px;
}
#form .detail_list dt {
	width: 270px;
	display: flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
#form .detail_list dt i {
	font-size: 14px;
	font-style: normal;
	font-weight: normal;
}
#form .detail_list dt b {
	color: #C00;
	font-size: 14px;
}
#form input, #form textarea {
	padding: 2px;
	font-size: 100%;
}
#form select {
	width: 20%;
	padding: 2px;
	font-size: 100%;
	border: 1px solid rgb(118, 118, 118);
}
#form .button input {
	width: 318px;
	padding: 10px 0;
	margin: 0 auto;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	color: #100F0F;
	border: none;
	background: #f3f3f7;
	display: block;
	cursor: pointer;
}
#form .button input:hover {
	background: #e9e8f4;
}
form .wl {
	width: 96%;
}
form .ws {
	width: 50%;
}
form .wss {
	width: 25%;
}
form .wsss {
	width: 10%;
}