/*common_css*/
@charset "utf-8";
/* CSS Document */

/* -------------------------------------
Browser：IE11 over
-------------------------------------
01: 共通
02: テンプレート
03: ヘッダー＆フッター
04: ページ
-------------------------------------*/

/** ================================================================================
01.共通
================================================================================ **/

/* -------------------------------------
文字
-------------------------------------*/
.fw-bk{
	font-weight: 900;
}

/*縁くくり*/
.edge-wh{
	text-shadow: 1px 1px 0 #fff,
				-1px 1px 0 #fff,
				1px -1px 0 #fff,
				-1px -1px 0 #fff;
}

/*テキストシャドー*/
.shadow{
	text-shadow: 5px 3px 2px rgba(0,0,0,0.7);
}
@media screen and (max-width: 768px) {
	/*テキストシャドー*/
	.shadow{
		text-shadow: 2px 2px 2px rgba(0,0,0,0.7);
	}
}


/* -------------------------------------
枠
-------------------------------------*/
/*bdr- 上下*/
.bdr-t-org{border-top: 10px solid #e98a21;}
.bdr-b-org{border-bottom: 10px solid #e98a21;}

@media screen and (max-width: 768px) {
	.bdr-t-org{border-top-width: 5px;}
	.bdr-b-org{border-bottom-width: 5px;}
}

/*bdr- 枠*/
.bdr-red{
	border: 6px solid #ed1d25;
}
.bdr-wh{
	border: 10px solid #fff;
}

@media screen and (max-width: 768px) {
	.bdr-red{
		border-width: 4px ;
	}
	.bdr-wh{
		border-width: 6px ;
	}
}

/*frame*/
[class*="frame-"]{
	margin-left: auto;
	margin-right: auto;
	position: relative;
	overflow: visible;
	z-index: 2;
}
[class*="frame-"]::before{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	right: -10px;
	top: 10px;
	z-index: 2;
}
.frame-strp::before{
	background-image: url(/common/images/bg-stripe2.svg) ;
	background-size: 40px auto;
	right: -16px;
	top: 16px;
	z-index: -1;
}
.frame-wh::before{
	border: 3px solid #fff;
}



/* -------------------------------------
吹き出し
-------------------------------------*/
/**塗りつぶし（左）**/
.bln_L {
	padding: 20px;
	background: #fff;
	position: relative;
}
.bln_L::before {
	content: "";
	border: 20px solid transparent;
	border-right: 20px solid #fff;
	position: absolute;
	top: 50%;
	left: -40px;
	-webkit-transform: translateY(-50%) scale(1,0.5);
	transform: translateY(-50%) scale(1,0.5);
}


/* -------------------------------------
tel
-------------------------------------*/
.tel{
	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;
	line-height: 1.0;
}
.tel i{
	width: 1.2em;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin-right: 6px;
}

@media screen and (max-width: 480px) {
	.tel.fs35{
		font-size: 7.2vw;
	}
}

/* -------------------------------------
check-list
-------------------------------------*/
.check-list li{
	padding: 20px 0 20px 2.7em;
	border-bottom: 1px dashed #1e1e1e;
	position: relative;
}
.check-list li::before{
	content: "";
	display: inline-block;
	width: 2em;
	height: 2em;
	background: url(/common/images/ico-check.svg) no-repeat center / contain;
	position: absolute;
	left: 0;
}

@media screen and (max-width: 768px) {
	.check-list li{
		padding: 16px 0 16px 2.7em;
	}
}



/** ================================================================================
02.テンプレート
================================================================================ **/
/* -------------------------------------
info
-------------------------------------*/
.info{
	background: #efefef;
}
.info dl{
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
}
.info dl dt{
	width: 5em;
}
.info dl dd{
	width: calc(100% - 5em);
	margin-bottom: 4px;
	padding-left: 1em;
}
.info dl dd::before{
	content: ":";
	margin-left: -1em;
	margin-right: 1em;
}




/**================================================================================
03: ヘッダー
================================================================================**/
header{
	width: 100%;
	z-index: 1000;
	background: #fff;
}
header h1{
}
header .inner{
	padding: 10px 0 ;
	position: relative;
}
header .inner .logo{
    margin: 0;
}
header .inner h1{
    font-size: 12px;
}
header .inner .logo a{
	display: block;
}
header .inner .logo img{
	width: 293px;
}
header nav{
}
header nav .menu1{
	width: 460px;
	position: absolute;
	right: 0;
	top: 10px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
header nav .menu1 a.h-toi{
	width: 240px;
	padding-top: 4px;
}
header nav .menu1 a.h-tel{
	width: 198px;
}

header nav{
}
header nav ul.menu2{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	margin-top: -16px;
}
header nav ul.menu2 li a{
	display: block;
	padding: 8px 0 8px 30px;
	font-size: 15px;
	line-height: 1.0;
	text-align: center;
}header nav ul.menu2 li a:hover{
	color: #f75200;
}

@media screen and (max-width: 768px){
    header{
    }
	header .inner{
/*		padding: 10px 0 ;*/
	}
	header h1{
		display: none;
	}
	header .inner .logo{
        width: 40%;
		max-width: 290px;
		margin : 0 auto ;
		-webkit-transform: translateX(-20px);
		transform: translateX(-20px);
	}
	header .inner h1{
	    display: none;
	}
    header .inner .logo img{
    	width: 100%;
    }
	#menu{
		position: fixed;
		top: 0;
		right: 0;
		z-index: 1500;
		width: 60px;
		height: 60px;
		text-align: center;
		line-height: 1.0;
		background: #fff;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}
	#menu:before{
		content: "\e3c7";
		font-size: 30px;
		font-family: 'Material Icons';
        line-height: 50px;
	}
	.on #menu:before{
		content: "\e5cd";
	}
	#menu:after{
		display: block;
		margin: -10px auto;
		content: "メニュー";
		font-size: 10px;
		font-weight: bold;
	}
	.on #menu:after{
		content: "CLOSE";
	}
	header nav{
		position: fixed;
		top: 0px;
		right: -320px;
		width: 320px !important;
		-webkit-transition: .5s;
		transition: .5s;
		z-index: 1499;
		height: 100vh;
		padding: 0;
		background: #2e308d;
	}
	.on nav{
		right: 0;
		-webkit-box-shadow: 0px 0 10px -4px #333;
		box-shadow: 0px 0 10px -4px #333;
	}
    header nav .menu1{
		width: 100%;
        position: static;
        display: block;
        padding: 10px 5% 30px;
        text-align: center;
		background: #fff;
    }
	header nav .menu1 a.logo-in-nav{
		width: 200px;
		margin-bottom: 30px;
	}
	header nav .menu1 a.logo-in-nav img{
		width: 100%;
	}
	header nav .menu1 a.h-toi,
	header nav .menu1 a.h-tel{
		display: block;
		width: 90%;
		margin: 18px auto 0;
	}
	header nav .menu1 a img{
		width: 90%;
	}
	header nav .menu1 a.h-tel img{
		width: 80%;
	}

	header nav ul.menu2{
		display: block;
		margin-top: 0;
		padding: 20px 0;
		font-size: 15px;
	}
	header nav ul.menu2 li{
    }
	header nav ul.menu2 li a{
		padding: 20px 14%;
		color: #fff;
		text-align: left;
		line-height: 1.2;
	}
}


/**================================================================================
お問い合わせ aside
================================================================================**/
.asd-contact {
	overflow: visible;
	z-index: 1;
}
.asd-contact figure{
	width: 280px;
	position: absolute;
	right: -20px;
	bottom:0;
}
.asd-contact p strong{
	font-size: 1.2em;
}
.asd-contact p.fs40{
	font-size: 42px;
}
.asd-contact a.hero-mail{
	width: 280px;
	margin-left: 30px;
}

@media screen and (max-width: 768px) {
	.asd-contact figure{
		width: 42vw;
		right: -7%;
	}
	.asd-contact p {
		font-weight: bold;
	}
	.asd-contact .link-wrap{
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-flow: column;
		flex-flow: column;
		width: 63%;
		position: relative;
	}
	.asd-contact .link-wrap .tel-wrap{
		padding: 6px;
		text-align: center;
		background: #fff;
		border: 3px solid #ed1d25;
		border-radius: 10px;
	}
	.asd-contact .link-wrap .tel-wrap a.tel.fs54{
		color: #18ac4d;
	}
	.asd-contact a.hero-mail{
		width: 100%;
		margin : 10px 0 0;
	}
}

@media screen and (max-width: 480px) {
	.asd-contact .link-wrap .tel-wrap a.tel.fs54{
		margin-top: 4px;
		font-size: 7vw;
	}
}

/**================================================================================
03: フッター
================================================================================**/
footer{
	padding-top: 40px;
    position: relative;
}
footer address{
    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;
	padding-top: 15px;
	padding-bottom: 15px;
	border-top: 5px solid #ed1d25;
}
footer address a.logo{
    width: 310px;
	max-width: 30vw;
}
/*nav*/
footer .nav-wrapper{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
footer .nav-wrapper{
	padding-top: 40px;
	padding-bottom: 40px;
}
footer .nav-wrapper .gmap{
	width: 50%;
}
footer nav {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
/*	margin-right: 20px;*/
	font-size: 0.95rem;
}
footer nav ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
    justify-content: flex-start;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
}
footer nav ul li {
	width: 33%;
}
footer nav ul li a {
	display: block;
	padding: 0 0 24px ;
}
footer nav ul li a:hover{
    color: #ffdf16;
}
footer nav a.f-mail img{
	width: 280px;
}
footer nav .f-sns {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
}
footer nav p.insta {
    display: block;
    margin: 20px;
    text-align: center;
    color: #fff;
    font-size: 0.8em;
}
footer nav p.insta img {
    display: block;
    width: 36px;
    margin: 0 auto;
}

/** コピーライト **/
.copyright small{
    display: block;
    width:100%;
    padding: 15px;
    font-size:12px;
	color: #fff;
    text-align: center;
    line-height: 1.0;
	background: #1e1e1e;
}

@media screen and (max-width: 768px){
	footer{
		padding-top: 20px;
		padding-bottom: 50px;
	}
	footer address{
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-flow: column;
		flex-flow: column;
		text-align: center;
	}
	footer address a.logo{
		max-width: 38vw;
		margin-bottom: 16px;
	}
	/*nav*/
	footer .nav-wrapper{
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		-ms-flex-flow: column-reverse;
		flex-flow: column-reverse;
	}
	footer .nav-wrapper{
		padding-top: 30px;
		padding-bottom: 30px;
	}
	footer .nav-wrapper .gmap{
		width: 90%;
	}
	footer nav {
		margin: 20px auto 0;
	}
	footer nav ul {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-pack: start;
		-webkit-box-pack: start;
		justify-content: flex-start;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-flow: row wrap;
		flex-flow: row wrap;
	}
	footer nav ul li {
		width: 10em;

	}
	footer nav ul li a {
		padding-bottom: 14px ;
	}
	footer nav a.f-mail img{
		width: auto;
		max-width: 60vw;
		height: 50px;
	}

    /** コピーライト **/
    .copyright small{
        padding: 10px;
        font-size:10px;
    }

    /*sp-fix*/
    .sp-fix{
        width: 100vw;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        position: fixed;
        left: 0;
        bottom: 0;
        -webkit-box-shadow: 0 -1px 5px rgba(0,0,0,.3);
        box-shadow: 0 -1px 5px rgba(0,0,0,.3);
        z-index: 200;
    }
    .sp-fix a{
        display: block;
        width: 50%;
		padding: 8px 0;
        text-align: center;
        background: #ed1d25;
    }
	.sp-fix a img{
		height: 38px;
	}
    .sp-fix a:last-child{
        background: #2058ee;
/*        border-left: 1px solid #fff;*/
    }

}


/* -------------------------------------
ページトップへ戻る
-------------------------------------*/
#pagetop{
    position: relative;
    z-index: 99;
}
#pagetop{
    display: block;
    width: 55px;
    height: 55px;
    border-radius: 50%;
    background: #391D02;
    color: #fff;
    text-align: center;
    font-size: 30px;
    line-height: 55px;
    position: fixed;
    right: 20px;
    bottom: 50px;
/*    opacity: 0.6;*/
}
#pagetop:before{
    content: "\e316";
    font-family: 'Material Icons';
}

@media screen and (max-width: 768px) {
/* -------------------------------------
ページトップへ戻る
-------------------------------------*/
    #pagetop{
        width: 40px;
        height: 40px;
        font-size: 20px;
        line-height: 40px;
    }
}




/**================================================================================
04.ページ
================================================================================**/



/**================================================================================
HERO
================================================================================**/
.hero{
	height: 54vw;
	max-height: 650px;
/*
	overflow: hidden;
	position: relative;
*/
}
.hero .swiper-slide{
	height: 54vw;
	max-height: 650px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	position: relative;
}
.hero .swiper-slide .catch{
}
.hero .swiper-slide .catch img{
	max-width: 90%;
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

/*ページネーション*/
.swiper-container-horizontal>div.swiper-pagination-bullets{
	margin: 0 auto;
	text-align: center;
	z-index: 10;
	position: absolute;
	bottom: 10px;
}
.swiper-container .swiper-pagination-bullet {
	display: inline-block;
	margin: 0 6px;
	width: 6px;
	height: 6px;
	background: #fff;
	border-radius: 50%;
	opacity: 1;
}
.swiper-container .swiper-pagination-bullet-active {
	background: #ffdf16;
	opacity: 1;
}

@media screen and (max-width: 480px){
	.hero{
		height: 126vw;
	}
	.hero .swiper-slide{
		height: 126vw;
		background-size: cover;
	}
	.hero .swiper-slide .catch{
		display: none;
	}
}

/**================================================================================
hero-slide 210914追加
================================================================================**/
.hero-slide .swiper-slide{
	width:100%;
	height: auto;
}
.hero-slide .swiper-slide img{
	width:100%;
	height: auto;
}

/*ページネーション*/
.swiper-container-horizontal>div.swiper-pagination-bullets{
	margin: 0 auto;
	text-align: center;
	z-index: 10;
	position: absolute;
	bottom: 10px;
}
.swiper-container .swiper-pagination-bullet {
	display: inline-block;
	margin: 0 6px;
	width: 6px;
	height: 6px;
	background: #fff;
	border-radius: 50%;
	opacity: 1;
}
.swiper-container .swiper-pagination-bullet-active {
	background: #ffdf16;
	opacity: 1;
}


/* -------------------------------------
TOP-コロナ
-------------------------------------*/
.sec-corona p {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
}
.sec-corona p strong{
	font-size: 1.18em;
}
.sec-corona p strong b{
	font-size: 1.1em;
}
.sec-corona ul{
	width: 736px;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.sec-corona ul li {
	width: 20%;
}
.sec-corona ul li img{
	max-width: 90%;
	margin-left: 10%;
}

@media screen and (max-width: 768px) {
	.sec-corona h3 {
		padding: 6px ;
	}
	.sec-corona .corona {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-flow: column;
		flex-flow: column;
	}
	.sec-corona ul{
		width: 100%;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		margin-top: 10px;
	}
	.sec-corona ul li img{
		max-width: 88%;
		margin: 6px 6%;
	}
}

@media screen and (max-width: 480px) {
	.sec-corona h3.fs40{
		font-size: 6vw;
	}
	.sec-corona p.fs35{
		font-size: 5vw;
	}
	.sec-corona ul{
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-flow: row wrap;
		flex-flow: row wrap;
	}
	.sec-corona ul li {
		width: 33%;
	}
}


/* -------------------------------------
TOP-norate
-------------------------------------*/
.norate .flx{
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.norate .flx figure{
	max-width: 35%;
	margin : 0 20px -1px -20px;
}
.norate .flx p{
	-webkit-transform: translateY(-10px);
	transform: translateY(-10px);
}

@media screen and (max-width: 768px) {
	.norate .flx figure{
		width: 46%;
		max-width: 46%;
		margin : 0 16px -1px -20px;
	}
	.norate .flx p.fs40{
		font-size: 5.7vw;
	}
}

/* -------------------------------------
TOP-コンセプト
-------------------------------------*/
.sec-top-concept{
	margin-top: -1px;
	margin-bottom: -1px;
}
.sec-top-concept::after{
	content: "▼";
	display: block;
	font-size: 40px;
	line-height: 1.0;
	color: #dce9ee;
	position: absolute;
	left: 50%;
	bottom: -0.7em;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%) scale(2,1);
	z-index: 1;
}
.sec-top-concept .tit-wrap{
	background-image: url(/common/images/bg-img1.jpg);
}
.sec-top-concept .tit-wrap2 p{
	text-align: center;
}

.sec-top-concept .tit-wrap3 .flx{
	padding-right: 270px;
	background: url(/common/images/worry-img1.png) no-repeat right bottom / auto;
}

@media screen and (max-width: 768px) {
	.sec-top-concept::after{
		font-size: 26px;
	}
	.sec-top-concept .w100vw .w980{
		max-width: 90%;
	}
	.sec-top-concept .tit-wrap2.bg-nvy{
		background: url(/common/images/worry-img1_sp.png) no-repeat right 5% bottom / auto 90% , #2e308d;
	}
	.sec-top-concept .tit-wrap2 p.fs40{
		padding-right: 26%;
		text-align: left;
	}
	.sec-top-concept .tit-wrap3 .flx{
		padding-right: 0;
		background: none;
	}
	.sec-top-concept .tit-wrap3 p{
		text-align: center;
	}
}

@media screen and (max-width: 480px) {
	.sec-top-concept .tit-wrap2 p.fs40{
		font-size: 5.5vw;
	}
}

/* -------------------------------------
TOP-Kチームが選ばれる3つの理由
-------------------------------------*/
.sec-top-reason{
	background-image: url(/common/images/bg-img2.jpg);
}

/*reason-list*/
.reason-list li{
	padding: 20px;
	background: #fff;
	border: 6px solid #2e308d;
}
.reason-list li+li{
	margin-top: 30px;
}
.reason-list li figure{
	width: 26%;
}
.reason-list.count li::after{
	display: none;
}
.reason-list.count li h4{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	line-height: 1.3;
}
.reason-list.count li h4::before{
    content: counter(li);
	font-family: 'Oswald', sans-serif;
	font-weight: normal;
	font-size: 1.4em;
	color: #2e308d;
	line-height: 1.0;
	margin-right: 18px;
}

@media screen and (max-width: 768px) {
	/*reason-list*/
	.reason-list li.h-text-img.right{
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-flow: column;
		flex-flow: column;
		padding: 20px;
		border-width: 4px ;
	}
	.reason-list li+li{
		margin-top: 20px;
	}
	.reason-list li.h-text-img.right figure{
		width: 100%;
		max-width: 480px;
		margin: 20px auto 0;
	}
}

@media screen and (max-width: 480px) {
	.sec-top-reason .titA em.fs40{
		font-size: 6.5vw;
	}
}

/* -------------------------------------
TOP-ご存知ですか？
-------------------------------------*/
.sec-top-know .bg-photo{
	background-image: url(/common/images/bg-img3.jpg);
}
.sec-top-know .content-box h3 img{
	display: block;
	width: 50%;
	margin: -80px auto 10px;
}

@media screen and (max-width: 768px) {
	.sec-top-know .content-box{
		max-width: 90%;
	}
	.sec-top-know .content-box h3 img{
		width: 240px;
		margin-top: -50px;
	}
}

@media screen and (max-width: 480px) {
		.sec-top-know .content-box h3.fs46{
			width: 108%;
			margin-left: -4%;
			margin-right: -4%;
			font-size: 5.6vw;
		}
}


/* -------------------------------------
TOP-お客様の声
-------------------------------------*/
/*top-voice-list*/
.top-voice-list li {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.top-voice-list li .text{
	padding: 24px;
	border-radius: 10px;
}
.top-voice-list li .text h4{
	border-bottom: 1px dashed #1e1e1e;
}
.top-voice-list li figure{
	width: 18%;
}

@media screen and (max-width: 768px) {
	.top-voice-list li.h-text-img.left {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: reverse;
		-ms-flex-flow: row-reverse;
		flex-flow: row-reverse;
		-webkit-box-align: start;
		-ms-flex-align: start;
		align-items: flex-start;
	}
	.top-voice-list li .text{
		padding: 16px;
	}
	.top-voice-list li .text .richtext{
		font-size: 14px;
		line-height: 1.7;
	}
	.top-voice-list li.h-text-img.left figure{
		width: 18%;
		margin: 10px 20px 0 0;
	}
	.top-voice-list li.h-text-img.left .bln_L::before{
		border: 14px solid transparent;
		border-right: 14px solid #fff;
		top: 62px;
		left: -26px;
	}
}



/* -------------------------------------
top-news-list
-------------------------------------*/
.top-news-list{
	border-top: 1px dashed #ccc;
}
.top-news-list li{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 14px;
	border-bottom: 1px dashed #ccc;
}
.top-news-list .boxLR{
	margin-right: 1.5em;
}
.top-news-list time{
	display: block;
	min-width: 5em;
	font-size: 0.9rem;
	color: #2e308d;
}
.top-news-list p{
	-webkit-box-flex:1;
	-ms-flex:1;
	flex:1;
}
.top-news-list p a{
	text-decoration: underline;
}
.top-news-list p a:hover{
	text-decoration:none;
}

@media screen and (max-width: 768px) {
	.top-news-list li{
		padding: 12px 0;
	}
	.top-news-list .boxLR time{
		font-size: 12px;
	}
	.top-news-list li p a{
		font-size: 14px;
	}
}


/* -------------------------------------
私たちについて
-------------------------------------*/
/*sec-ceo*/
.sec-ceo .content-box{
	background: none;
}
.sec-ceo .frame-wh{
	max-width: 400px;
}

/*staff-list*/
.staff-list li{
	margin-bottom: 30px;
}
.staff-list li figcaption{
	padding: 0 20px ;
	line-height: 50px;
	background: #18ac4d;
}
.staff-list li .richtext{
	padding: 20px;
	background: #f5efc2;
}

/*てれこ*/
.staff-list li:nth-child(even) figcaption{
	background: #2e308d;
}
.staff-list li:nth-child(even) .richtext{
	background: #dce9ee;
}

/*サービス紹介*/
.sec-service .tableA tr:nth-of-type(odd){
	background: #f59019;
	color: #fff;
}
.sec-service .tableA tr:nth-of-type(even) th,
.sec-service .tableA tr:nth-of-type(even) td{
	padding-top: 12px;
	padding-bottom: 12px;
}
.sec-service .tableA th{
	width: 80%;
}
.sec-service .tableA td{
	text-align: right;
	font-size: 1.4em;
	font-weight: bold;
	vertical-align: middle;
}

@media screen and (max-width: 768px) {
	/*sec-ceo*/
	.sec-ceo .content-box .richtext.w800>*{
		width: 100%;
	}
	/*staff-list*/
	.staff-list{
		padding-left: 3%;
		padding-right: 3%;
	}
	.staff-list li figcaption{
		line-height: 40px;
	}

	/*サービス紹介*/
	.sec-service .content-box{
		padding-left: 16px;
		padding-right: 16px;
	}
	.sec-service .tableA th{
		width: auto;
		font-size: 0.9em;
	}
	.sec-service .tableA td{
		width: 8em;
		padding-left: 0;
		font-size: 1.0em;
	}
	.sec-service .tableA tr:nth-of-type(even) th,
	.sec-service .tableA tr:nth-of-type(even) td{
		padding-top: 10px;
		padding-bottom: 10px;
	}
}

@media screen and (max-width: 480px) {
	/*sec-ceo*/
	.sec-ceo .fs32{
		font-size: 4.8vw;
	}
}


/* -------------------------------------
施工の流れ
-------------------------------------*/
.sec-flow{
	background-position: center bottom;
}
/*flow-list*/
.flow-list.count{
	overflow: hidden;
}
.flow-list.count li::after{
    content: "";
}
.flow-list.count li i span::after{
    content: counter(li);
	padding-left: 10px;
	font-size: 1.4em;
}
.flow-list li{
	padding: 30px;
	background: #fff;
	border: 6px solid #2e308d;
	position: relative;
}
.flow-list.count li::after{
    content: "▼";
	display: block;
	width: 100%;
	font-size: 1.8rem;
	color: #2e308d;
	text-align: center;
	line-height: 50px;
	-webkit-transform: scale(1.5,1);
	transform: scale(1.5,1);
	position: absolute;
	left: 0;
	bottom: -50px;
}.flow-list.count li:last-child::after{
	display: none;
}
.flow-list li i{
	display: inline-block;
	padding: 6px 80px 10px;
	line-height: 1.0;
	background: #ffdf16;
	-webkit-box-shadow: 1px 1px 4px #666;
	box-shadow: 1px 1px 4px #666;
	-webkit-transform: skewX(-30deg);
	transform: skewX(-30deg);
	position: absolute;
	left: -20px;
	top: 16px;
}
.flow-list li i span{
	display: block;
	-webkit-transform: skewX(30deg);
	transform: skewX(30deg);
}
.flow-list li .h-text-img .text{
	margin-top: 50px;
}
.flow-list li h4::after{
	content: "";
	display: block;
	width: 150%;
	height: 1px;
	margin-top: 6px;
	margin-left: -30px;
	background: #1e1e1e;
}
.flow-list li .h-text-img figure{
	width: 40%;
}

@media screen and (max-width: 768px) {
	/*flow-list*/
	.flow-list li{
		width: 100%;
		margin-bottom: 40px;
		padding: 20px;
		border-width: 4px;
	}
	.flow-list li i{
		padding: 6px 50px 12px;
		top: 6px;
	}
	.flow-list li .h-text-img .text{
		margin-top: 40px;
	}
	.flow-list.count li::after{
		font-size: 1.4rem;
		line-height: 40px;
		bottom: -40px;
	}
}

@media screen and (max-width: 480px) {
	.flow-list li h4{
		text-align: center;
	}
	.flow-list li .h-text-img figure{
		width: 100%;
		margin: 6px auto 10px;
	}
	.flow-list li .h-text-img .text{
		margin-top: 0;
	}
}


/* -------------------------------------
会社概要
-------------------------------------*/
.sec-map .gmap{
    padding-bottom: 420px;
}
/*sec-message*/
.sec-message .content-box{
	background: rgba(255,255,255,.8);
}
.sec-message .frame-wh{
	max-width: 400px;
}

@media screen and (max-width: 768px) {
	.sec-map .gmap{
		padding-bottom: 34vh;
	}
	/*sec-message*/
	.sec-message .frame-wh{
		max-width: 70%;
	}
	.sec-message .richtext.w700>* {
		width: 100%;
	}
}

@media screen and (max-width: 480px) {
	.sec-message .fs32{
		font-size: 4.2vw;
	}
}


/***************************☆　ただ今 作業中　☆****************************/
/***************************☆　ただ今 作業中　☆****************************/
/* -------------------------------------
施工事例一覧
-------------------------------------*/
.sec-works-top::before{
	background: rgba(255,255,255,.6);
}
/*
.sec-works-top::after{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: rgba(143,171,246,.8);
	mix-blend-mode: multiply;
}
*/
.sec-works-top>*{
	z-index: 2;
}
.works-list li{
	margin-bottom: 20px;
	padding: 14px;
	background: #fff;
	border:1px solid #2e308d;
	border-top-width: 10px;
}
.works-list li a{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-flow: column;
	flex-flow: column;
	height: 100%;
}
.works-list li h4{
	padding-left: 1em;
}
.works-list li h4::before{
	content: "";
	display: inline-block;
	width: 4px;
	height: 1em;
	background: #18ac4d;
	-webkit-transform: translate(-0.8em,3px);
	transform: translate(-0.8em,3px);
}
.works-list li .fig-wrap{
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
}
.works-list li .fig-wrap .bf{
	width: 35%;
	margin-right: 20px;
	position: relative;
	overflow: visible;
}
.works-list li .fig-wrap .bf::before{
	content: "";
	display: block;
	width: 100%;
	height: 50px;
	background: url(/common/images/ico-arrow_org.svg) no-repeat right top / auto 90% ;
	position: absolute;
	top: -60px;
	right: 0;
}
.works-list li .fig-wrap .af{
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
}
.works-list li .info{
	padding: 16px;
	font-size: 0.95em;
}
.works-list li a>p{
	margin-top: auto;
}


@media screen and (max-width: 768px) {
	.works-list li .fig-wrap .bf::before{
		height: 40px;
		top: -40px;
	}
}


/* -------------------------------------
施工事例詳細
-------------------------------------*/
.works-main{
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.works-main .bf{
	width: 35%;
	margin-right: 80px;
	position: relative;
	overflow: visible;
}
.works-main .bf::after{
	content: "";
	display: block;
	width: 80px;
	height: 100%;
	background: url(/common/images/ico-arrow_org.svg) no-repeat center top 30% / 90% auto;
	position: absolute;
	top: 0;
	right: -80px;
}
.works-main .af{
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
}
.works-main figcaption{
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	padding: 0 10px;
	line-height: 1.0;
}
.works-main figcaption span{
	margin-right: 10px;
	font-size: 40px;
}
.works-main figcaption span:first-letter{
	font-size: 1.2em;
}
.works-main figcaption::after{
	content: "施工前";
	display: block;
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	padding: 8px 10px;
	color: #fff;
	font-weight: bold;
	background: #18ac4d;
}
.works-main .af figcaption::after{
	content: "施工後";
	background: #2e308d;
}

/*info*/
.works-detail .info{
	margin-top: -70px;
	z-index: -1;
}
.works-detail .info .wrapper{
	padding: 90px 0 50px;
}
.works-detail .info p{
	width: 4em;
	color: #666;
	font-size: 1.2em;
}
.works-detail .info dl{
	-webkit-box-flex:1;
	-ms-flex:1;
	flex:1;
	margin-left: 40px;
	padding-left: 40px;
	border-left: 1px solid #666;
}
.works-detail .info dl dd{
	margin-bottom: 10px;
}

/*works-gallery*/
.works-gallery{
	border-top: 20px solid #2e308d;
}
.works-gallery .w-g-fig{
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.works-gallery .w-g-fig .bf{
	width: calc(50% - 40px);
}
.works-gallery .w-g-fig .af{
	width: calc(50% - 40px);
	margin-left: 80px;
	position: relative;
	overflow: visible;
}
.works-gallery .w-g-fig .af::before{
	content: "";
	display: block;
	width: 80px;
	height: 100%;
	background: url(/common/images/ico-arrow_blue.svg) no-repeat center / 80% auto;
	position: absolute;
	top: 0;
	left: -80px;
}

@media screen and (max-width: 768px) {
	.works-main figcaption span{
		font-size: 30px;
	}
	/*works-gallery*/
	.works-gallery{
		border-top-width: 14px ;
	}
}

@media screen and (max-width: 480px) {
	.works-main .bf{
		width: 30%;
		margin-right: 50px;
	}
	.works-main .bf::after{
		width: 50px;
		background-position: center top 40% ;
		right: -50px;
	}
	.works-main figcaption {
		margin-bottom: 0;
	}
	.works-main figcaption span{
		font-size: 24px;
	}
	.works-main figcaption::after{
		display: none;
	}
	.works-detail .info{
		margin-top: -40px;
	}
	.works-detail .info .wrapper{
		padding: 60px 5% 30px;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-flow: column;
		flex-flow: column;
	}
	.works-detail .info p{
		width: 100%;
		font-size: 1.1em;
		display: none;
	}
	.works-detail .info dl{
		margin-left: 10px;
		padding-left: 10px;
	}

	/*works-gallery*/
	.works-gallery .w-g-fig .bf{
		width: calc(50% - 20px);
	}
	.works-gallery .w-g-fig .af{
		width: calc(50% - 20px);
		margin-left: 40px;
	}
	.works-gallery .w-g-fig .af::before{
		width: 40px;
		left: -40px;
	}
}



/* -------------------------------------
お客様の声
-------------------------------------*/
/*voice-list*/
.voice-list li {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}
.voice-list li .text{
	padding: 24px;
	border-radius: 10px;
}
.voice-list li .text h4{
	border-bottom: 1px dashed #1e1e1e;
}
.voice-list li figure{
	width: 30%;
}
.voice-list li .bln_L::before{
	top: 70px;
}

@media screen and (max-width: 768px) {
	.voice-list li.h-text-img.left figure{
		margin-right: 30px;
	}
	.voice-list li .text .richtext{
		font-size: 14px;
		line-height: 1.7;
	}
}

@media screen and (max-width: 480px) {
	.voice-list li .text{
		border-radius: 0;
	}
	.voice-list li.h-text-img.left figure{
		width: 100%;
		margin: 0 auto ;
	}
	.voice-list li.h-text-img.left .bln_L::before{
		display: none;
	}
}




[data-instance="17"]{background-image:url(/_img/ja/cms/17/bg_img/_/);}