/*
Theme Name:aperio-reform
CSS Document
*/
@charset "utf-8";
body {
	background:#fff;
	/*
	font-family:"Helvetica","Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Helvetica, Arial, Verdana, sans-serif;
	*/
	font-family:'Kosugi Maru',"Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Helvetica, Arial, Verdana, sans-serif;
	font-size:14px;
	letter-spacing: 0.06em;
	color: #002f68 !important;
	line-height: 1.5;
	margin:0;
	padding:0;
	position: relative;
	left: 0;
	overflow-x: hidden;
}
@media screen and (max-width: 767px) {
	/*
	body {
		font-size:13px;
	}
	*/
}
html{
  scroll-behavior: smooth;
}
a {
	color:#00497c;
	text-decoration:none;
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-o-transition: 0.5s;
	-ms-transition: 0.5s;
	transition: 0.5s;
}
a:hover {
	color:#3e41b2;
}
@font-face {
	font-family: APJapanesefont;
	src: url('fonts/APJapanesefont.eot');
}
@font-face {
	font-family: 'APJapanesefont';
	src: url('fonts/APJapanesefont.woff');
}
@font-face {
	font-family: 'Impact';
	src: url('fonts/impact.ttf');
}

/* clearfix */
.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}

/*
article.admi { display:none; }
body.contact article.admi
{
	display:block;
}
body.contact article.del
{
	display:none;
}
*/

/*---------------------------------------

  基本フレーム
    
----------------------------------------*/
.contents {
	position:relative;
	width:auto;
	padding:1.3em 12px 2.5em 12px;
	margin:0 auto;
	max-width:1060px;
	text-align:left;
}
.contents section {
	background:#fff;
	padding:0 !important;
	overflow:hidden;
	margin:0 auto 80px auto !important;
	
	border-bottom:1px solid #e7e3e2;
}
article {
	width:auto;
	margin:0 auto !important;
	position:relative;
	display:block;
	max-width:1920px !important;
	padding:10px 0 30px 0;
	text-align:center;
}
body.archive_works article.hd {
	background: url("images/bg_art_works.jpg") no-repeat top center #fff;
	background-size:contain;
}
body.single_works article.hd {
	background: url("images/bg_art_single-works.jpg") no-repeat top center #fff;
	background-size:contain;
}
body.services article.hd {
	background: url("images/bg_art_services.jpg") no-repeat top center #fff;
	background-size:contain;
}
body.construction-process article.hd {
	background: url("images/bg_art_process.jpg") no-repeat top center #fff;
	background-size:contain;
}
body.contact article.hd {
	background: url("images/bg_art_contact.jpg") no-repeat top center #fff;
	background-size:contain;
}

section {
	width:auto;
	position:relative;
	display:block;
	padding:0 3.2% 4em 3.2%;
}
@media screen and (max-width: 767px) {
	article {
		padding:5px 0 18px 0;
	}
	section {
		padding:0 3.6% !important;
		margin:8px auto 38px auto;
	}
}


article.intr {
	background: url("images/bg_wv.jpg") no-repeat top center #fff;
	background-size:100% auto;
	z-index:10;
}
article.svc {
	background: url("images/bg_tri.png") no-repeat top center #f9ece4;
	background-size:contain;
}
article.prc { /* 2つの背景画像を使用 */
	background-image: url("images/bg_tri.png"), url("images/bg_arc.jpg");
	background-size:contain, contain;
	background-color: #dcf4ec;
	background-repeat: no-repeat, no-repeat;
	background-position: center top, center bottom;
	min-height:1100px;
	margin:0 auto 30px auto !important;
}
article.prc section {
	max-width:1460px !important;
}
body.home section {
	max-width:1360px;
	margin:0 auto;
	padding:1.2% 3.2% 3.8% 3.2%;
}
body.about section {
	max-width:1100x !important;
	margin:0 auto;
}
body.page section {
	max-width:1120px;
	margin:0 auto 80px auto;
	/*
	border:1px dashed #c9c9c9;
	*/
}

body.home section p,
body.page section p {
	max-width:860px;
	margin:0 auto 11px auto;
	text-align:left;
	font-size:1.1em;
	line-height:1.9em;
}
body.contact section,
body.privacy section
{
	max-width:970px !important;
	margin:0 auto 32px auto;
	text-align:left !important;
}
body.single section.head,
body.single section.cont,
body.single section.list
{
	width:auto;
	max-width:1340px;
	position:relative;
	padding:0 12px;
	display:block;
	margin:0 auto 29px auto;
}
section .inner {
	padding:1.3em 3.2% 3em 3.2%;
	margin:2em auto 0 auto;
}
.main section {
	padding:0 12px !important;
	margin-bottom:60px;
}
.main section p {
	padding:0 0.9em 1.2em 0.9em;
	line-height:1.6em;
}

@media screen and (max-width: 767px) {


}

.page-child section {
	width:92% !important;
}
.section {
	width:auto;
	max-width:1160px;
	position:relative;
	padding:0.9em 0 2.9em 0;
	display:block;
	margin:0 auto;
}
.section:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}
.sect {
	width:auto;
	max-width:880px;
	position:relative;
	padding:0;
	display:block;
	padding:0;
	font-size:1.2em;
	margin:0 auto 30px auto;
}
.contact_sect {
	width:auto;
	max-width:880px;
	position:relative;
	padding:0;
	display:block;
	padding:0;
	margin:0 auto 30px auto;
}
@media screen and (max-width: 767px) {
	section {
		width:auto;
		margin:0 auto 2em auto;
	}
	body.page section {
		width:auto;
	}
	.page-child section {
		width:100% !important;
	}
	.contents {
		padding:1.6em 0 2.5em 0;
	}
	.sect {
		font-size:1.1em;
	}
}
.center {
	text-align:center;
}
.right {
	text-align:right;
}

.wrap {
	margin:0 0 9px 0;
	padding:0;
}
.wrap:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}
.cont_img {
	float:left;
	width:46%;
	margin:0;
	padding:0;
}
.cont_txt {
	float:right;
	width:49.2%;
	margin:0;
	padding:0;
}
figure {
	text-align:center;
	margin:0 auto 2em auto;
}
figure img {
	max-width:100%;
	height:auto;
}
.img_center {
	text-align:center;
}
.img_center img {
	max-width:100%;
	height:auto;
	margin:0 auto;
}
.sml_img {
	text-align:center;
}
.sml_img img {
	width:72%;
	max-width:420px;
	height:auto;
	margin:3em auto 1.5em auto;
}

.link_btn {
	padding:0 0 3em 0;
	text-align:center;
}
.link_btn a {
	position:relative;
	display:inline-block;
	background: #0b6aac;
	color:#fff;
	font-size:1.8em;
	font-weight:bold;
	padding:0.2em 2.2em;
	letter-spacing:0.12em;
}
/*  > を描く */
.link_btn a:before{
	position:absolute;
	top:18px;
	right:10px;
	content:'';
	height:8px;
	width:8px;
	display:block;
	border:1px solid #fff;
	border-top-width:0;
	border-left-width:0;
	transform:rotate(-45deg);
	-webkit-transform:rotate(-45deg);
	-moz-transform:rotate(-45deg);
	-o-transform:rotate(-45deg);
}
.link_btn a:hover {
	opacity:0.8;
}

@media screen and (max-width: 767px) {
	.link_btn {
		padding:0;
	}
	.link_btn a {
		font-size:1.3em;
		padding:0.2em 1.5em;
	}
	/*  > を描く */
	.link_btn a:before{
		top:13px;
		right:10px;
		height:6px;
		width:6px;
	}
}

.submit_btn {
	padding:0.3em 0;
	text-align:center;
}
.submit_btn a {
	background: url("images/mail_icon.png") no-repeat top center #333;
	
	display:inline-block;
	color:#fff !important;
	font-size:1.22em !important;
	padding:2.6em 10px 0.8em 10px;
}
.submit_btn a span {
	display:block;
	font-size:70%;
}
.submit_btn a:hover {
	opacity:0.8;
}




.right_block {
	float:right;
	width:45%;
	background:#fff;
	padding:1em;
	margin-top:2em;
}


.notes {
	max-width:880px;
	margin:0 auto;
}
.box {
	opacity: 1.0;
	transform: translate(0,0); 
	-webkit-transform: translate(0,0);
}
.dat ul li {
	list-style:none;
}
.dat ul li::before {
	position: relative;
	top: -2px;
  	left: -11px;
  	display: inline-block;
  	width: 6px;
  	height: 6px;
  	content: '';
  	background: #d9d9d9;
}

/*  トップへ戻るボタン 
----------------------------------------*/
.totop {
	width:40px;
	height:36px;
	position:relative;
	display:block;
	background:#3399cc;
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-o-transition: 0.5s;
	-ms-transition: 0.5s;
	transition: 0.5s;
}
.totop:hover {
	background:#5ab1dd;
}
/* >  を描く */
.totop:before {
	position:absolute;
	top:14px;
	left:14px;
	content:'';
	height:11px;
	width:11px;
	display:block;
	border:1px solid #fff;
	border-bottom-width:0;
	border-left-width:0;
	transform:rotate(-45deg);
	-webkit-transform:rotate(-45deg);
	-moz-transform:rotate(-45deg);
	-o-transform:rotate(-45deg);
	z-index:3000;
}

.pc_view { display:block; }
.sp_view { display:none; }
@media screen and (max-width: 767px) {
	.pc_view { display:none; }
	.sp_view { display:block; }
}

/*---------------------------------------

  layout / headers
  
----------------------------------------*/
header {
	position:relative;
	display:block;
	background-image: linear-gradient(90deg, rgba(195, 237, 224, 1), rgba(245, 247, 203, 1));
	padding:3px;
	margin:0;
	
}
@media screen and (max-width:1079px) {
}

h1 {
	max-width:1120px;
	margin:0 auto;
	padding:0 4.3%;
	text-align:left;
	font-weight:normal;
	font-size:12px;
	color:#333;
}





h3.news {
	background: url(images/bg_news.jpg) no-repeat center;
	background-size:cover;
	margin:2.5em auto 1.2em auto;
	font-family: 'Oswald', sans-serif;
	color:#fff;
	text-align:center;
	font-size:3.8em !important;
	font-weight:normal;
	padding:1.3em 0 0.8em 0;
	letter-spacing:0.09em;
}
body.404page section {
	text-align:center !important;
}

body.privacy h3 {
	font-size:1.52em !important;
	text-align:left;
	border-bottom:1px solid #735449 ;
}



body.about .intro h3,
body.price h3,
body.ict-system h3,
body.access h3
{
	position:relative;
	text-align:center;
	color: #f08200;
	letter-spacing: 0.04em;
	padding: 0;
	font-size: 1.7em;
}
body.about .intro h3:before,
body.price h3:before,
body.ict-system h3:before,
body.access h3:before
{
    background:#7bcaec;
    content: "";
    height:6px;
    width:96%;
	margin:auto;
	left:0;
	right:0;
    position: absolute;
    bottom:-5px;
	border-radius:3px;
}


h3.pl {
    font-size:2em !important;
   	padding:0 0 0 0.1em;
	text-align:center;
}
body.404pagepage .eng {
	font-family: 'Oswald', sans-serif;
	font-weight: normal !important;
	font-size: 1.5em !important;
}

h4.pl {
	text-align:center;
}
h4.pl div {
	color: #9a7d64;
	letter-spacing: 0.09em;
	font-family: 'Oswald', sans-serif;
	font-weight: normal !important;
	font-size: 1.5em;
}
h4.pl span {
	
	display:block;
	font-size:0.9em;
}
h3.posts {
	width:auto !important;
	font-size:1.5em;
	margin:0 0 0.9em 0 !important;
	padding:0;
}

h4.pl {
	font-size:1.3em;
	padding:40px 0 0 0;
	margin:0 0 1.9em 0;
	font-weight:normal;
	text-align:center;
}

h4.left {
	font-family:'Open Sans', Helvetica, Arial, Verdana, sans-serif;
	text-align:left;
	font-size:1.4em;
	font-weight:normal;
	letter-spacing:0.16em;
	padding:0 0 0.6em 0;
	margin:0;
}
h4.ja {
	
	font-size:1.8em !important;
	font-weight:bold !important;
	text-align:center;
}
h4.ja span {
	font-size:130%;
	display:block;
}
h4.ja2 {
	
	font-size:1.5em !important;
	font-weight:bold !important;
	text-align:center;
	color:#222;
}
h4.ja2 span {
	display:block;
}
h4.line {
	border-bottom:1px solid #d9d9d9;
}
h4.line span {
	
	font-size:1.6em;
	color:#d9d9d !important;
}
@media screen and (max-width: 767px) {
	h4.ja {
		font-size:1.3em !important;
	}
	
	h4.line span {
		
		font-size:1.14em;
	}
}



h5.sq {
	position:relative;
	font-weight:normal !important;
	font-size:1em;
	padding:0.1em 0 0 1.2em;
	margin:1.5em 0 -0.6em 0 !important;
}
h5.sq:before {
    background:#555;
    content: "";
    height:11px;
    width:11px;
	left: 0;
    position: absolute;
    top:6px;
}
@media screen and (max-width: 767px) {
	
	h5.sq {
		font-size:1.05em;
	}
	h5.sq:before {
    	height:9px;
    	width:9px;
    	top:7px;
	}
}
body.home h5.us {
	font-weight:normal !important;
	font-size:1em;
	padding:0.1em;
	margin:0;
	color:#777;
}
.camera_wrap {
	background:none !important;
}

.header_deco a {
	position:relative;
	display:block;
	max-width:294px;
	margin:0 auto;
}
.header_deco a img {
	width:100%;
	height:auto;
	margin:0 auto;
}
.cont_deco .txt {
	position:relative;
	display:block;
	max-width:500px;
	margin:0 auto;
	color:#f8a16a;
	font-weight:bold;
	text-align:center;
	font-size:1.5em;
}
.cont_deco .txt p {
	text-align:center;
}
.cont_deco .txt span {
	display:block;
}
@media screen and (max-width: 767px) {
	.header_deco {
		background:none;
	}
	.header_deco a {
		width:50%;
		max-width:280px;
	}
	.header_deco .deco {
		display:block;
	}
	.header_deco .deco img {
		max-width:100%;
		height:auto;
		margin:0 auto;
	}
	.cont_deco {

		padding-top:40px;
	}
	.cont_deco .txt {
		font-size:1.12em;
	}
	.cont_deco .txt span {
		display:inline;
	}
}


.header_cont {
	display: flex;
	flex-wrap: wrap;
	max-width:1620px;
	margin:0 auto;
	padding:2px 0.6%;
	justify-content: flex-end;
	align-items: center;
	gap:0.5%;
}
.header_cont .logo {
	width:22%;
}
.header_cont .logo img {
	max-width:100%;
	height:auto;
	max-width:400px;
}
.header_cont .navc {
	flex:1;
	text-align:right;
}
.header_cont .mailc {
	width:15%;
	text-align:center;
}
.header_cont .telc {
	width:15%;
	text-align:center;
}
.header_cont .mailc img,
.header_cont .telc img
{
	width:100%;
	max-width:186px;
	height:auto;
}

.header_cont .taps {
	/*
	display:none;
	*/
}
@media screen and (max-width: 880px) {
	.header_cont {
		display:block;
	}
	.header_cont .logo {
		width:auto;
	}
	.header_cont .logo img {
		max-width:310px;
	}
	.header_cont .navc,
	.header_cont .mailc,
	.header_cont .telc {
		display:none;
	}
}

.loop_slide {
	margin:-90px 0 0 0;
	overflow:hidden;
}
@media screen and (max-width: 880px) {
	.loop_slide {
		margin:0 0 -20px 0;
		overflow:hidden;
	}

}

.footer_nav ul li {
    list-style: none;
}
@media screen and (min-width: 881px) {
  .footer_nav ul li a {
    display: inline-block;
    padding: 10px 20px;
    font-size: 18px;
    background-color: #e5652c;
    color: #fff;
	border-radius: 5px;
    text-align: center;
    text-decoration: none;
	width: 100px;
	transition: .3s;
  }

.footer_nav ul li a:hover {
  opacity: 0.6;
}
  .footer_nav ul {
    display: flex;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
    padding: 20px 0;
  }
}

.footer_loop_slide {
	margin:-140px auto 0 auto;
	overflow:hidden;
}
.footer_cont {
	display: flex;
	flex-wrap: wrap;
	max-width:1620px;
	margin:0 auto;
	padding:7% 6.4% 8.6% 6.4%;
	justify-content: flex-end;
	align-items: center;
	gap:0.5%;
}
.footer_cont .navc {
	flex:1;
	text-align:right;
}
.footer_cont .mailc {
	width:15%;
	text-align:center;
	max-width:203px;
}
.footer_cont .telc {
	width:15%;
	text-align:center;
	max-width:203px;
}
.footer_cont .mailc img {
	width:100%;
	height:auto;
	max-width:186px;
}
.footer_cont .telc img {
	width:100%;
	height:auto;
	max-width:186px;
}
@media screen and (max-width:880px) {
	.footer_cont {
		display:none;
	}
}
.footer_wrap {
	background: #a5e7f1;
	position:relative;
	display:block;
	padding:8px 0 0 0;
	margin:0 auto;
	color:#002f68;
	text-align:center;
}
.footer_wrap .inner {
	display: flex;
	flex-wrap: wrap;
	max-width:1000px;
	margin:0 auto;
	padding:0 0.6%;
	justify-content: flex-end;
	align-items: center;
	gap:0.5%;
}
.footer_wrap .inner .logo {
	width:26%;
}
.footer_wrap .inner .adr {
	flex:1;
	text-align:left;
}
.footer_wrap .inner .cp {
	flex:1;
	text-align:left;
}
.footer_wrap .inner .logo img {
	max-width:210px;
	width:100%;
	height:auto;
	margin:0 auto;
}
@media screen and (max-width:880px) {
	.footer_wrap .inner {
		display:block;
	}


	.footer_wrap .inner .logo,
	.footer_wrap .inner .adr,
	.footer_wrap .inner .cp {
		text-align:center;
		width:auto;
	}
	.footer_wrap .inner .logo img {
		max-width:110px;
	}
}
















.header_contents {
	position:relative;
	display:block;
	width:auto;
	max-width:1240px;
	text-align:right;
	margin:0 auto; 
	padding:0 16px;
	z-index:10000;
}
@media screen and (max-width: 767px) {
	.nav_wrap {
		display:none;
	}
	.header_contents {
		margin:0 auto 10px auto; 
	}
}

.upper {
	border-top:1px solid #0699d9;
	margin:25px auto;
	max-width:1200px;
}
body.home .upper { display:none; }

.fcnt {
	text-align:center;
	max-width:720px;
	margin:0 auto;
}
.fcnt .logo {
	max-width:240px;
	margin:0 auto;
}
.fcnt .logo img {
	max-width:100%;
	height:auto;
	margin:0 auto;
}


.fcnt p {
	margin:0 auto;
	padding:0.8em;
}
body.contact .fcnt,
body.contact h2.cnt
{
	display:none;
}
.footer_tel img {
	max-width:88%;
	height:auto;
	margin:0 auto;
}
.footer_tel .tbl {
	max-width:420px;
	margin:0 auto;
	font-size:12px;
}

footer {
	background: url(images/bg_footer.jpg) no-repeat top center;
	background-size:cover;
	width:auto;
	text-align:center;
	margin:0 auto;
	padding:0;
}
@media screen and (max-width: 880px) {
	footer {
		padding:80px 0 0 0;
	}
}


/*---------------------------------------

  	カラム
    
----------------------------------------*/

.clms {
	display: flex;
	flex-wrap: wrap;
	max-width:1160px;
	margin:0 auto;
	padding:0 3.6%;
	gap:0 2%;
}
.clms .txt {
	width:48.8%;
	text-align:left;
	
}
.clms .img {
	width:48.8%;
}
@media screen and (max-width: 880px) {
	.clms {
		display: block;
	}
	.clms .txt {
		width:auto;
	}
	.clms .img {
		width:auto;
		text-align:center;
	}
	.clms .img {
		width:80%;
		max-width:390px;
		margin:0 auto;
		height:auto;
	}

}




/*---------------------------------------

  	ページヘッダー　
    
----------------------------------------*/
.page_header {
	position:relative;
	display:block;
	max-width:1200px;
	padding-top:22%;
	margin:0 auto 11% auto;
}

.page_header h2 {
	position:absolute;
	margin:auto;
	left:0;
	right:0;
	top:36.5%;
	text-align:center;
	color:#123461;
	font-size:40px;
	letter-spacing:0.1em;
	z-index:11;
}

.page_header .ttl_eng {
	position:absolute;
	margin:auto;
	left:0;
	right:0;
	top:46%;
	text-align:center;
	width:43%;
	max-width:820px;
	padding-top:16%;
	z-index:10;
	background-repeat:no-repeat;
	background-position:top center;
	background-size:100% auto;
}
.page_header .ttl_eng_services { background-image: url(images/ttl_eng_services.png); }
.page_header .ttl_eng_works    { background-image: url(images/ttl_eng_works.png); }
.page_header .ttl_eng_process  { background-image: url(images/ttl_eng_process.png); }
.page_header .ttl_eng_contact  { background-image: url(images/ttl_eng_contact.png); }

/*  固定ページ イントロ
--------------------------------------------*/

.intro .ctxt {
	text-align:center;
}
.intro .ctxt span {
	display:block;
}


/*  リンクボタン
--------------------------------------------*/
.btn_more {
	margin:0 auto;
	text-align:center;
}
.btn_more a {
	position:relative;
	display:block;
	background: url(images/btn_more.png) no-repeat center;
	background-size:contain;
	width:100%;
	max-width:560px;
	height:auto;
	padding-top:7.6%;
	margin:0 auto;
}
.btn_more a:hover {
	opacity:0.78;
}
@media screen and (max-width: 880px) {
	.btn_more {
		margin:28px auto 48px auto;
	}
	.btn_more a {
		background: url(images/btn_more_sp.png) no-repeat center;
		background-size:contain;
		max-width:400px;
		height:auto;
		padding-top:11%;
	}
}


/*---------------------------------------

  	ホーム　
    
----------------------------------------*/
body.home article {
	margin:0 auto 6% auto !important;
}
h2.cntr {
	letter-spacing:0.15em;
	font-size:46px !important;
	font-weight:bold !important;
	margin:72px auto !important;
}
article.intr .cnt {
	max-width:920px;
	margin:0 auto 70px auto;
}
article.intr .cnt p {
	margin:0;
	padding:0;
	line-height:1.92em;
}

@media screen and (max-width: 767px) {
	h2.cntr {
		font-size:30px !important;
		letter-spacing:0.06em !important;
		margin:22px auto !important;
	}
	article.intr .cnt {
		max-width:920px;
		margin:0 auto 30px auto;
	}
}



body.home h2 {
	font-size:36px;
	text-align:center;
	margin-bottom:80px;
}
body.home .sttl {
	font-size:24px;
	text-align:center;
	margin:38px auto 20px auto;
}
body.home .sttl span {
	display:inline;
}
body.home .svc h3 {
	font-size:36px;
}
body.home .svc h3 span {
	display:block;
}
body.home h2 span {
	display: inline;
}
body.home h2.pl {
	background:none;
	max-width:900px;
	height:auto;
	line-height:auto;
	margin:0 auto;
	color:#735449;
	font-size:1.8em;
	text-align:center;
}
@media screen and (max-width: 767px) {
	h1 {
		max-width:1120px;
		margin:0 auto;
		padding:0 72px 0 3.1% !important;
		font-size:11px;
		line-height:1.41em;
		color:#333;
	}
	body.home h2 {
		font-size:28px;
		margin-bottom:48px;
	}
	body.home h2 span {
		display:block;
	}
	body.home h2.pl {
		font-size:1.3em;
	}

	body.home .svc h3 {
		font-size:28px;
	}

	body.home .sttl span {
		display:block;
	}

}
.svcs {
	display: flex;
	flex-wrap: wrap;
	margin:36px auto;
	max-width:1040px;
	padding:0 2.6%;
	gap:0 6%;
}
.svcs .elm {
	width:46.8%;
	margin-bottom:51px;
}
.svcs .elm a {
	position:relative;
	display:block;
	background-repeat:no-repeat;
	background-size:cover;
	padding-top:62%;
	border-radius:5px;
}
.svcs .elm a .wrap {
	position:absolute;
	margin:auto;
	top:0;
	bottom:0;
	left:0;
	right:0;
	height:88px;
	background:rgba(255,255,255,0.75);
	padding:0 !important;
} 
.svcs .elm a .wrap .inner {
	display: flex;
	margin:0;
	padding:0;
	height:88px;
	font-size:27px;
	font-weight:bold;
	text-align:center;
	justify-content: space-around;
	align-items: center;
}
.svcs .elm a .wrap .inner span {
	display:block;
}
@media screen and (max-width: 767px) {
	.svcs {
		display: block;
		flex-wrap: wrap;
		margin:16px auto;
		max-width:420px;
		padding:0;
		gap:0 6%;
	}
	.svcs .elm {
		width:auto;
		margin-bottom:19px;
	}
	.svcs .elm a .wrap .inner {
		font-size:21px;
	}
}

.wks .clms {
	display: flex;
	align-items: end;
}
.wks .clms .img {
	flex:1;
}
.wks .clms .txt {
	flex:1;
	font-size:41px;
	font-weight:bold;
}
.wks .clms .txt span {
	display:block;
}
.wks .clm {
	text-align:center;
	font-size:41px;
	font-weight:bold;
	margin:0 auto 60px auto;
}
@media screen and (max-width: 880px) {
	.wks .clms {
		display: block;
		align-items: end;
	}
	.wks .clms .img {
		width:auto;
	}
	.wks .clms .txt {
		width:auto;
		font-size:21px;
		font-weight:normal;
		text-align:center;
	}
	.wks .clm {
		font-size:21px;
		font-weight:normal;
		text-align:center;
	}
}

/*  施工事例 （一覧）
--------------------------------------------*/
.works_block {
	display: flex;
	flex-wrap: wrap;
	margin:0 auto 110px auto;
	max-width:940px;
	height:auto;
	padding:0;
	gap:0;
}

.works_block .elm {
	position:relative;
	width:33.3%;
	background-repeat:no-repeat;
	background-size:cover;
	padding-top:29%;
}
.works_block .elm a {
	position:absolute;
	margin:auto;
	top:0;
	bottom:0;
	left:0;
	right:0;
	background:rgba(255,255,255,0.46);
	font-size:21px;
}
.works_block .elm a:hover {
	background:rgba(255,255,255,0.05);
}
.works_block .elm a div {
	margin:28% auto 0 auto;
	display:inline-block;
	padding:8px 10px;
	background:rgba(255,255,255,0.83);
}
.works_block .elm a div span {
	display:block;

}
@media screen and (max-width: 767px) {
	
	.works_block {
		margin:0 auto;
	}
	.works_block .elm {
		width:49.92%;
		padding-top:46%;
	}
	.works_block .elm a {
		font-size:18px;
	}
	.works_block .elm a div {
		margin:33% auto 0 auto;
	}
	
}

.works_page_block {
  	display: flex;
	flex-wrap: wrap;
  	/*
	justify-content: space-between;
  	*/
	gap:2.5%;
	width: 100%;
  	margin: 60px auto;
}
.works_page_block .elm {
	display: flex;
  	flex-direction: column;
  	width: 31.6%;
	box-shadow: 0px 3px 12px 0px rgba(0,0,0, 0.22);
	border-radius:2px;
	margin-bottom:32px;
	
}

.works_page_block .elm a {
	position:relative;
	display:block;
	color: #123461;
	padding:7px;
	height:100%;
	min-height:340px;
	font-size:18px;
}
.works_page_block .elm .img {
	background-repeat:no-repeat;
	background-size:cover;
	padding-top:78%;
}

.works_page_block .elm a .ttl {
	padding:12px 0 7px;
}
.works_page_block .elm a:hover {
	opacity:0.78;
}
.works_page_block .elm a .terms {
	padding:6px;
	font-size:16px;
	margin-top:5px;
}
.works_page_block .bg_reform        { background-color:#e4f0d6; }
.works_page_block .bg_wall-painting { background-color:#fbdfdf; }
.works_page_block .bg_exterior      { background-color:#d4edf8; }
.works_page_block .bg_roof-repair   { background-color:#fcfbd5; }

.works_page_block .elm a .tms {
	flex-grow: 1;
}

/*  施工事例 （シングルページ）
--------------------------------------------*/
.wblock .elm {
	display: flex;
	flex-wrap: wrap;
	margin:0 auto 36px auto;
	max-width:1060px;
	height:auto;
	padding:0;
	gap:0;
}
.wblock .idx {
	display: flex;
	margin:0 auto 8px auto;
	max-width:1060px;
	height:auto;
	padding:0;
	gap:6%;
}
.wblock .idx .bef,
.wblock .idx .aft
{
	flex:1;
	background-repeat:no-repeat;
	background-position: center center;
	background-size: contain;
	padding-top:10%;
}
.wblock .idx .bef { background-image: url("images/idx_bef.png"); }
.wblock .idx .aft { background-image: url("images/idx_aft.png"); }
.wblock .idx .voi {
	width:4%;
}

.wblock .elm .bef,
.wblock .elm .aft
{
	flex:1;
	background-size: cover;
	background-repeat:no-repeat;
	background-position: center center;
	padding-top:32%;
}
.wblock .elm .arw {
	width:4%;
	background: url(images/bg_arw.png) no-repeat center;
	background-size:contain;
}
.works_cont {
	max-width:740px;
	margin:0 auto;
	font-size:16px;
	line-height:1.88em;
	text-align:left;
}

.works_data {
	max-width:780px;
	margin:0 auto;
	padding:16px;
	
	box-shadow: 0px 3px 12px 0px rgba(0,0,0, 0.16);
}
.works_data .low {
	position:relative;
	display:block;
	text-align:left;
	min-height:26px;
	margin:0 auto 12px auto;
	font-size:16px;
	padding:7px 5px 5px 212px;
}
.works_data .low span {
	position:absolute;
	top:0;
	left:0;
	display:inline-block;
	width:146px;
	height:34px;
	line-height:34px;
	color:#fff;
	background:#005fa0;
	text-align:center;
	font-size:16px;
	letter-spacing:0.04em;
	border-radius:5px;
}
.works_data .low .terms {
	display:inline-block;
	padding:2px 6px;
	margin-right:7px;
	border-radius:2px;
}
.works_data .bg_reform        { background-color:#e4f0d6; }
.works_data .bg_wall-painting { background-color:#fbdfdf; }
.works_data .bg_exterior      { background-color:#d4edf8; }
.works_data .bg_roof-repair   { background-color:#fcfbd5; }

.cards {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin: 0 auto;
}

.card {
  display: flex;
  flex-direction: column;
  width: 32%;
  border: solid 1px rgb(199, 199, 199);
}

.card__img {
  width: 100%;
}

.card__img img {
  width: 100%;
}

.card__text-wrap {
  padding: 20px;
  flex-grow: 1;
}

.card__title {
  font-size: 20px;
}

.card__text {
  margin-top: 15px;
}

.card__bottom {
  padding: 0 20px 20px;
}

.card__category {
  display: inline-block;
  padding: 5px 15px;
  background-color: rgb(227, 175, 44);
  color: #fff;
}



.tablenav {
	display: inline-block;
    margin:10px auto 18px auto;
    text-align:center;
	font-size:18px;
	gap:3%;
}
.tablenav a {
	color:#002f68 !important;
	text-decoration: none;
}
.tablenav a:hover {
	background:#d9e5f4;
	text-decoration: none;
}
a.page-numbers,
.tablenav .current {
	display: inline-block;
	text-align:center;
    padding:2px;
	color:#fff;
	width:36px;
	height:36px;
	margin:0 8px 16px 8px;
	line-height:36px;
    text-decoration:none;
	border-radius:50%;
}
.page-numbers {
	background:#fff;
	color:#002f68;
	border:1px solid #002f68;
}
.page-numbers:hover {
	background:#e58b0a;
}
.tablenav .current {
	background: #002f68;
}
/* 左と右の三角を描く*/
.tablenav .prev,
.tablenav .next {
	position:relative;
	display: inline-block;
	font-size:1px;
	text-align:center;
    padding:2px;
	color:#fff;
	width:36px;
	height:26px;
	margin:0 8px;
	line-height:50px;
    text-decoration:none;
	border:none;
	background:none;
}
.tablenav .prev:after {
	position:absolute;
	margin:auto;
	top:34%;
	right:10%;
	content: "";
	width: 0;
   	height: 0;
   	border-top: solid 10px transparent;
   	border-right: solid 16px #002f68;
   	border-bottom: solid 10px transparent;
   	border-left: solid 16px transparent;
	transition: 0.5s;
}
.tablenav .prev:hover {
	background:none;
}
.tablenav .prev:hover:after {
	opacity:0.68;
}
.tablenav .next:after {
	position:absolute;
	margin:auto;
	top:34%;
	left:10%;
	content: "";
	width: 0;
   	height: 0;
   	border-top: solid 10px transparent;
   	border-right: solid 16px transparent;
   	border-bottom: solid 10px transparent;
   	border-left: solid 16px #002f68;
	transition: 0.5s;
}
.tablenav .next:hover {
	background:none;
}
.tablenav .next:hover:after {
	opacity:0.68;
}



/*---------------------------------------

	ゆっくり流れるスライダー　（シンプルjQuery）
  
----------------------------------------*/

.slider {
	display: flex;
	margin:0 auto;
	max-width:1200px;
}
.slider_inner {
	display: flex;
	margin-left:-1px;
	padding-right:200px;
}
.slide_item {
	margin:0 0.38%;
	background-size: cover;
	background-repeat:no-repeat;
	background-position: center center;
	border-radius:7px;
}
.slide_item .dmy {
	/*
	width:420px;
	height:274px;
	*/
	width:320px;
	height:208px;
}
.slider_inner .slide_img_01 { background-image: url("images/img_ls_01.jpg"); }
.slider_inner .slide_img_02 { background-image: url("images/img_ls_02.jpg"); }
.slider_inner .slide_img_03 { background-image: url("images/img_ls_03.jpg"); }
.slider_inner .slide_img_04 { background-image: url("images/img_ls_04.jpg"); }
.slider_inner .slide_img_05 { background-image: url("images/img_ls_05.jpg"); }
.slider_inner .slide_img_06 { background-image: url("images/img_ls_06.jpg"); }
.slider_inner .slide_img_07 { background-image: url("images/img_ls_07.jpg"); }
.slider_inner .slide_img_08 { background-image: url("images/img_ls_08.jpg"); }
.slider_inner .slide_img_09 { background-image: url("images/img_ls_09.jpg"); }
.slider_inner .slide_img_10 { background-image: url("images/img_ls_10.jpg"); }

@media screen and (max-width: 767px) {
	.slider {
		margin-bottom:2em;
	}
	.slide_item .dmy {
		width:130px;
		height:125px;
	}
}
.slider_inner:first-child {
  	animation: loop 90s linear infinite;
}
.slider_inner:nth-child(2) {
	animation: loop2 90s -60s linear infinite;
}
.slider_inner:last-child {
  	animation: loop3 90s -30s linear infinite;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
}
@keyframes loop {
	0% {
    	transform: translateX(200%);
  	}
  	to {
    	transform: translateX(-100%);
		-webkit-backface-visibility:hidden;
		backface-visibility:hidden;
	}
}
@keyframes loop2 {
	0% {
		transform: translateX(100%);
	}
  	to {
    	transform: translateX(-200%);
	}
}
 @keyframes loop3 {
	0% {
		transform: translateX(0%);
  	}
  	to {
    	transform: translateX(-300%);
  	}	
}


/*---------------------------------------

  	サブミット　
    
----------------------------------------*/

section.submit .intro {
	font-size:43px;
	font-weight:bold;
	padding:3.6% 1.3%;
}
section.submit .intro span {
	display:inline-block;
	padding:0 0.8%;
	font-size:138%;
}
section.submit ul.point {
	padding:0;
	max-width:640px;
	margin:0 auto 60px auto;
}
section.submit ul.point li {
	font-size:22px;
	text-align:left;
	list-style:none;
	height:34px;
	line-height:34px;
	margin:0 0 0.5em;
	padding:0 0 0 40px;
	background: url(images/bg_chk.jpg) no-repeat center left;
	background-size:contain;
}
@media screen and (max-width: 880px) {
	section.submit .intro {
		font-size:21px;
		padding:3.6% 1.3%;
	}
	section.submit ul.point li {
		display:inline-block;
		
		font-size:15px;
		height:18px;
		line-height:18px;
		margin:0 auto 10px auto;
		
		padding:0 0 0 20px;
	}

}
section.submit .btns {
	display: flex;
	flex-wrap: wrap;
	max-width:1160px;
	margin:0 auto;
	padding:0;
	gap:0 6%;
}
section.submit .btns div {
	flex:1;
}
section.submit .btns img {
	max-width:100% !important;
	height:auto !important;
	margin:0 auto !important;
}
section.submit .btns a:hover {
	opacity:0.78;
}

section.submit .btns .tap {
	display:none;
	margin:-4px auto 0 auto;
}
@media screen and (max-width: 767px) {
	section.submit .btns {
		display:block;
		max-width:240px;
		margin:0 auto;
	}
	section.submit .btns div {
		width:auto;
		margin-bottom:12px;
	}
}


.prc_block {
	display: flex;
	flex-wrap: wrap;
	max-width:1360px;
	margin:120px auto 60px auto;
	padding:0;
	gap:0 1.5%;
}
.prc_block .elm {
	flex:1;
	position:relative;
	background:#fff;
	padding:19px 1.6% 1.6% 1.6%;
	border-top-right-radius:52px;
	min-height:270px;
}
.prc_block .elm .fig_num {
	position:absolute;
	top:-25%;
	left:2%;
	width:32%;
	padding-top:50%;
	background-repeat:no-repeat;
	background-position:bottom center;
	background-size: contain;
}
.prc_block .elm .num_1 { background-image: url("images/prc_no_1.png"); }
.prc_block .elm .num_2 { background-image: url("images/prc_no_2.png"); }
.prc_block .elm .num_3 { background-image: url("images/prc_no_3.png"); }
.prc_block .elm .num_4 { background-image: url("images/prc_no_4.png"); }

.prc_block .elm .ttl {
	height:50px;
	line-height:50px;
	padding-left:40%;
	font-size:17px;
	text-align:left;
}
.prc_block .elm .icon {
	position:relative;
	display:block;
	padding-top:30%;
	max-width:150px;
	margin:2.3% auto 4% auto;
	background-repeat:no-repeat;
	background-position:bottom center;
	background-size: contain;
}
.prc_block .elm .icon_1 { background-image: url("images/prc_icon_1.jpg"); }
.prc_block .elm .icon_2 { background-image: url("images/prc_icon_2.jpg"); }
.prc_block .elm .icon_3 { background-image: url("images/prc_icon_3.jpg"); }
.prc_block .elm .icon_4 { background-image: url("images/prc_icon_4.jpg"); }
@media screen and (max-width: 1080px) {
	.prc_block {
		gap:0 3.5%;
		max-width:900px;
	}
	.prc_block .elm {
		flex:1 45%;
		margin-bottom:70px;
	}
}
@media screen and (max-width: 640px) {

	.prc_block {
		display: block;
		max-width:460px;
		margin:70px auto 0 auto;
		padding:0;
		gap:0 1.5%;
	}
	.prc_block .elm {
		padding:10px 1.6% 1.6% 1.6%;
		border-top-right-radius:37px;
	}
	.prc_block .elm .fig_num {
		top:-10%;
		left:2%;
		width:20%;
		padding-top:50%;
		background-position:top center;
	}
	.prc_block .elm .ttl {
		height:50px;
		line-height:50px;
		padding-left:28%;
		font-size:24px;
		text-align:left;
	}
	
}










.submits {
	background: url(images/bg_tri.png) repeat top center #ffdd7b;
	text-align:center;
	width:100%;
	margin:10px auto 60px auto;
	padding:3.2% 2.6% 5.6% 2.6%;
}
.submits .inner {
	max-width:880px;
	background:#fff;
	margin:0 auto;
	padding:9px 3.2% 5px 3.2%;
	text-align:center;
	border-radius:5px;
}
.submits .ttl {
	margin:11px auto !important;
	font-size:1.6em;
	font-weight:normal;
	display: flex;
	font-weight:bold;
	letter-spacing:0.08em;
	align-items: center;
}
.submits .ttl:before {
	content: "";
	flex-grow: 1;
	height: 1px;
	background: #735449;
	margin-right: 0.8em;
	display: block;
}
.submits .ttl::after {
	content: "";
	flex-grow: 1;
	height: 1px;
	background: #735449;
	margin-left:0.8em;
	display: block;
}
.submits .msg {
	color:#222;
}
.submits .inner .lge {
	font-size:2.2em;
	color:#ff6600;
	font-weight:bold;
}
.submits .tel_link {
	color:#e4595c;
	font-size:2.6em;
	font-weight:bold;
}
.submits .tel_link span {
	font-size:70%;
}
.submits .tel_link .tap {
	display:none;
	font-size:13px;
}
.submits .btn {
	text-align: center;
	padding: 12px;
}
.submits .btn a {
	position: relative;
	display: inline-block;
	min-width:73px;
	margin: 0 auto;
	padding: 3px 39px 3px 14px;
	background: #f08200;
	color: #fff;
	text-align:left;
	font-size:1.62em;
	font-weight:bold;
	border-radius: 21px;
}
/* >  を描く */
.submits .btn a:before {
	position: absolute;
	top: 41%;
	right: 21px;
	content: '';
	height: 7px;
	width: 7px;
	display: block;
	border: 1px solid #fff;
	border-top-width: 0;
	border-left-width: 0;
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-o-transition: 0.5s;
	-ms-transition: 0.5s;
	transition: 0.5s;
}
.submits .btn a:hover {
	background: #f89d32;
	color: #fff;
}
.submits .btn a:hover:before {
	right: 17px;
}
.submits .sml {
	font-size:12px;
	padding:0;
}
.submits .tap {
	display:none;
}
@media screen and (max-width: 880px) {
	.submits .ttl {
		font-size:1.3em;
	}
	.submits {
		width:auto;
		margin:10px auto 60px auto;
		padding:13px 13px 11% 13px;
	}
	.submits .inner {
		padding:4px 2.6% 6px 2.6%;
	}
	.submits .msg span {
		display:block;
	}
	.submits .lge {
		font-size:1.3em !important;
	}
	.submits .lge span {
		display:block;
	}
	.submits .btn a {
		font-size:1.18em;
		border-radius:6px;
	}
	.submits .btn a span {
		display:block;
	}
	.submits .tel_link {
		font-size:2.1em;
	}
	.submits .tel_link .tap {
		font-size:12px !important;
	}
}

/*---------------------------------------

  	TEL　
    
----------------------------------------*/

.tel_pc {
	font-weight:bold;
	font-size:22px;
	margin:0.4em 0 0.2em 0;
	display:block;
}
.tel_pc span {
	font-size:65%;
}
.tel_sp {
	display:none;
}
@media screen and (max-width: 880px) {
	.tel_pc {
		display:none;
	}
	.tel_sp {
		font-weight:bold;
		font-size:28px;
		margin:0 auto;
		text-align:center;
		display:block;
	}
	.tel_sp a {
		color:#56382d;
		font-weight:bold;
		font-size:28px;
		margin:0 auto;
		text-align:center;
	}
	.tel_sp span {
		font-size:65%;
	}
	.tel_sp .tap {
		color:#56382d;
		font-size:11px;
		font-weight:normal;
		display:none;
		padding-bottom:6px;
	}
}
.sns_icons {
	display: flex;
	align-items: center;
	justify-content: center;
	max-width:360px;
	margin:25px auto;
	padding:0 3.6%;
	gap:0;
}
.sns_icons .elm {
	flex:1;
	text-align:center;
}
.sns_icons .elm span {
	display:block;
}
.sns_icons a:hover {
	opacity:0.6;
}
.sns_icons a img {
	max-width:95%;
	height:auto;
	margin:0 auto;
}

.fig_wrap {
	position:relative;
	display:block;
	text-align:center;
	margin-bottom:-17px;
}
.fig_wrap img {
	max-width:100%;
	height:auto;
	margin:0 auto;
}
@media screen and (max-width: 880px) {
	
	.fig_wrap {
		margin-bottom:-11px;
	}
	
	.fig_wrap img {
		max-width:80%;
		height:auto;
		margin:0 auto;
	}
}

/*---------------------------------------

  	トップアイキャッチ部分
    
----------------------------------------*/

.ec_top {
	position:relative;
	display:block;
	max-width:1340px;
	margin:0 auto 54px auto;
}
.ec_top_sp {
	display:none;
}
@media screen and (max-width: 880px) {
	.ec_top {
		display:none;
	}
	.ec_top_sp {
		display:block;
		max-width:880px;
		margin:0 auto;
	}

}

.fig_top_1 {
	position:absolute;
	width:20%;
	max-width:320px;
	height:557px;
	top:43%;
	right:4.3%;
	background: url(images/fig_top_1.png) no-repeat top center;
	background-size:contain;
	z-index:11;
}

.fig_top_4 {
	position:absolute;
	width:17%;
	max-width:300px;
	height:400px;
	top:-14%;
	right:8.4%;
	background: url(images/fig_top_4.png) no-repeat center;
	background-size:contain;
	z-index:11;
}
@media screen and (max-width: 880px) {
	.fig_top_4 {
		width:20%;
		max-width:300px;
		height:400px;
		top:-7%;
		right:4%;
	}
}

/*---------------------------------------

  	クロスフェーダー
    
----------------------------------------*/

.top_slide {
	position:relative;
	max-width:1380px;
	margin:0 auto;
}
.fades {
	position:relative;
	max-width:1920px;
	margin:0 auto;
}
.fades .imgs {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:auto;
	opacity:0;
	background-repeat:no-repeat;
	background-position:top center;
	background-size: cover;
  	padding-top:46.7%; /* 画像の高さを横幅に対する比率で設定 */
	z-index:100;
}
.fades .imgs .cover {
	position:absolute;
	margin:auto;
	top:0;
	bottom:0;
	left:0;
	right:0;
	/*
	background:rgba(0,0,0,0.12);
	*/
	z-index:101;
}

/* レスポンシブ対応処置 */
.fades:before{
	content:"";
	display:block;
  	padding-top:57%; /* 画像の高さを横幅に対する比率で設定 */
}
.fades .cont {
	position:absolute;
	margin:auto;
	top:45%;
	left:0;
	right:0;
	text-align:left;
	z-index:200;
	padding:0;
}
.fades .cont p {
	display:inline-block;
	font-size:1.62em;
	line-height:1.8em;
	font-weight:bold;
	padding:0 6%;
	margin:0;
	color:#fff;
	padding:2.6% 2.2%;
	background:rgba(231,124,17,0.5);
}
.fades .cont p span {
	display:block;
}
@media screen and (max-width: 767px) {
	.fades .imgs {
  		padding-top:88%; /* 画像の高さを横幅に対する比率で設定 */
	}
	/* レスポンシブ対応処置 */
	.fades:before{
  		padding-top:88%; /* 画像の高さを横幅に対する比率で設定 */
	}
	.fades .cont {
		top:47.5%;
		width:90%;
		max-width:520px;
	}
	.fades .cont div {
		font-size:2.1em;
		height:3.3em;
		font-weight:bold;
	}
	.fades .cont div span {
		display:block;
	}
	.fades .cont img {
		width:88%;
		height:auto;
		max-width:300px;
	}

	.fades .cont p {
		font-size:1em !important;
		padding:1px 8px;
	}
}
@media screen and (max-width: 480px) {

}
@media screen and (max-width: 480px) {

	.fades .cont div {
		font-size:1.68em;
	}
}


/*---------------------------------------

  	header_tag　
    
----------------------------------------*/
.wrap_ttl {
	background:rgba(255,255,255,0.6);
	text-align:center;
	margin:-0.8em auto 12px auto;
	padding:0.08em 10px;
}
a.btns {
	float:right;
	margin:0;
    position: relative;
    display:inline-block;
    padding: 0.2em 2.6em 0.2em 0.7em;
    text-align: left;
	color:#fff;
    background:#035c98;
}
a.btns:hover {
	opacity:0.8;
}
/* >  を描く */
a.btns:before{
	position:absolute;
	bottom:0.7em;
	right:7%;
	content:'';
	height:6px;
	width:6px;
	display:block;
	border:1px solid #fff;
	border-top-width:0;
	border-left-width:0;
	transform:rotate(-45deg);
	-webkit-transform:rotate(-45deg);
	-moz-transform:rotate(-45deg);
	-o-transform:rotate(-45deg);
}
p.sml { font-size:0.85em; }

.pp_box {
	font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Segoe UI","Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN W3",Arial,メイリオ,Meiryo,sans-serif;
	padding:0.8em 5.2% !important;
	width:auto;
	max-width:828px !important;
	height:320px !important;
	color:#111;
	margin:32px auto 16px auto;
	background:#f6f6f6;
	overflow:scroll;
	overflow-x:hidden;
	text-align:left;
	border:1px solid #c9c9c9;
	border-radius: 5px 5px 5px 5px;
	-moz-border-radius: 5px 5px 5px 5px;
	-webkit-border-radius:5px 5px 5px 5px;
}
.pp_box h4 {
	font-size: 21px !important;
	letter-spacing: 0.02em;
	line-height: 1.5;
	text-align:center;
}
.pp_box h5 {
	font-size: 15px !important;
}
.pp_box p {
	font-size: 13px !important;
}
.pp_box .item {
	padding-bottom:19px;
}

@media screen and (max-width: 767px) {
	.pp_box {
		font-size:90%;
	}
}











.rc-anchor-error-message {
	display:none !important;
}　　


/*---------------------------------------

  	SPAM対策改修
    
----------------------------------------*/
.cont_wrap {
	max-width:940px;
	margin:0 auto;
	padding-top:16px;
	text-align:left;
}
body.contact .form_wrap {
	max-width:940px;
	margin:0 auto;
	padding-top:16px;
}

/*---------------------------------------

	固定ページ ～ 事業内容
  
----------------------------------------*/

.intro_ttl {
	text-align:center;
	font-size:46px;
	
	
}
.intro_ttl span {
	display:block;
}

article.hd h3 {
	text-align:center;
	font-size:40px;
}
article.hd section {
	max-width:1200px;
	margin:0 auto;
}
.img_block {
	display: flex;
	flex-wrap: wrap;
	margin:40px auto;
	padding:2px 0.6%;
	gap:4.8%;
}
.img_block div {
	flex:1;
}
.img_block div img {
	max-width:100%;
	height:auto;
	margin:0 auto;
}





/*---------------------------------------

	固定ページ ～ 施工の流れ
  
----------------------------------------*/

.prc_page_block {
	



}
.prc_page_block .elm {
	position:relative;
	display:block;
	margin:0 auto 105px auto;
	min-height:300px;
	padding:5.4% 5.2% 0.8% 14%;
	background:#fff;
	box-shadow: 0px 3px 12px 0px rgba(0,0,0, 0.22);
	border-radius:2px;
}

.prc_page_block .fig_num {
	position:absolute;
	top:3%;
	left:2%;
	width:11.3%;
	padding-top:16%;
	background-repeat:no-repeat;
	background-position:top center;
	background-size:100% auto;
}

.prc_page_block .elm .num_1 { background-image: url("images/prc_no_1.png"); }
.prc_page_block .elm .num_2 { background-image: url("images/prc_no_2.png"); }
.prc_page_block .elm .num_3 { background-image: url("images/prc_no_3.png"); }
.prc_page_block .elm .num_4 { background-image: url("images/prc_no_4.png"); }
.prc_page_block .elm .num_5 { background-image: url("images/prc_no_5.png"); }
.prc_page_block .elm .num_6 { background-image: url("images/prc_no_6.png"); }
.prc_page_block .elm .num_7 { background-image: url("images/prc_no_7.png"); }

.prc_page_block .elm h3 {
	background:#135ea0;
	font-size:28px;
	padding:5px 20px;
	color:#fff;
	text-align:left;
	margin:0 auto 70px auto; 
}

.prc_page_block .wrap {
	display: flex;
	flex-wrap: wrap;
	gap:1.2%;
}
.prc_page_block .wrap .icon {
	width:40%;
	max-width:290px;
	
	background-repeat:no-repeat;
	background-position:top center;
	background-size: contain;
}

.prc_page_block .elm .icon_1 { background-image: url("images/prc_page_icon_1.jpg"); }
.prc_page_block .elm .icon_2 { background-image: url("images/prc_page_icon_2.jpg"); }
.prc_page_block .elm .icon_3 { background-image: url("images/prc_page_icon_3.jpg"); }
.prc_page_block .elm .icon_4 { background-image: url("images/prc_page_icon_4.jpg"); }
.prc_page_block .elm .icon_5 { background-image: url("images/prc_page_icon_5.jpg"); }
.prc_page_block .elm .icon_6 { background-image: url("images/prc_page_icon_6.jpg"); }
.prc_page_block .elm .icon_7 { background-image: url("images/prc_page_icon_7.jpg"); }

.prc_page_block .wrap .txt {
	flex:1;
	font-size:16px;
}

/* 下向き三角を描く */
.prc_page_block .elm::after {
	position:absolute;
	margin:auto;
	bottom:-16.5%;
	left:0;
	right:0;
	content: "";
	width: 0;
  	height: 0;
  	border-left: 30px solid transparent;
  	border-right: 30px solid transparent;
  	border-top: 25px solid #135ea0;
}
.prc_page_block .elm:last-of-type::after {
	display:none;
}


/*---------------------------------------

	装飾系
  
----------------------------------------*/
.dots {
   	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:99.3%;
	background: url(images/dot.png) repeat top left;
	z-index:505;
	overflow:hidden;
}
.mask {
   	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background: rgba(0,0,0,0.05);
	z-index:505;
}
.pl_btn {
	text-align: center;
	padding: 24px;
}
.pl_btn a {
	position: relative;
	display: inline-block;
	min-width:73px;
	margin: 0 auto;
	padding: 3px 39px 3px 14px;
	background: #f08200;
	color: #fff;
	text-align:left;
	font-size:13px;
	border-radius: 15px;
}
/* >  を描く */
.pl_btn a:before {
	position: absolute;
	top: 8px;
	right: 21px;
	content: '';
	height: 6px;
	width: 6px;
	display: block;
	border: 1px solid #fff;
	border-top-width: 0;
	border-left-width: 0;
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-o-transition: 0.5s;
	-ms-transition: 0.5s;
	transition: 0.5s;
}
/* <  を描く */
.pl_btn a.-back:before {
	right: auto;
	left: 21px;
	transform: rotate(135deg);
	-webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	-o-transform: rotate(135deg);
}
.pl_btn a:hover {
	background: #f89d32;
	color: #fff;
}
.pl_btn a:hover:before {
	right: 17px;
}
.pl_btn a.-back:hover:before {
	right: auto;
	left: 17px;
}
@media screen and (max-width: 767px) {

}

.ct_btn {
	text-align: center;
	padding: 24px;
}
.ct_btn a {
	position: relative;
	display: inline-block;
	margin: 0 auto;
	padding: 10px 32px;
	background: #0dbfa8;
	color: #fff;
	font-size:1.36em;
	font-weight:bold;
	border-radius: 16px;
}
/* >  を描く */
.ct_btn a:before {
	position: absolute;
	top: 20px;
	right: 21px;
	content: '';
	height: 8px;
	width: 8px;
	display: block;
	border: 1px solid #fff;
	border-top-width: 0;
	border-left-width: 0;
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-o-transition: 0.5s;
	-ms-transition: 0.5s;
	transition: 0.5s;
}
/* <  を描く */
.ct_btn a.-back:before {
	right: auto;
	left: 21px;
	transform: rotate(135deg);
	-webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	-o-transform: rotate(135deg);
}
.ct_btn a:hover {
	background: #21d0b9;
	color: #fff;
}
.ct_btn a:hover:before {
	right: 17px;
}
.ct_btn a.-back:hover:before {
	right: auto;
	left: 17px;
}
@media screen and (max-width: 767px) {
	.ct_btn {
		padding: 18px;
	}
	.ct_btn a {
		margin: 0 auto;
		padding: 7px 32px;
		font-size:1.1em;
		border-radius: 19px;
	}
	.ct_btn a:before {
		top: 13px;
	}
}





/*---------------------------------------

  	イントロ 
    
----------------------------------------*/

/*---------------------------------------

  	イントロ ブロック　
    
----------------------------------------*/

.intro_block {
	margin:0.5em 0 0 0;
}
.intro_left {
	float:left;
	width:35%;
	padding:0;
	margin:0;
}
.intro_right {
	float:right;
	width:58.8%;
	padding:6em 0 0 0;
	margin:0;
}
.intro_right p {
	font-size:1.15em;
	line-height:1.9em;
	margin:0;
	padding:0 0 1.2em 0;
}
.intro_right img {
	float:right;
	max-width:88%;
	height:auto;
}

@media screen and (max-width: 767px) {
	
	.intro_left {
		float:none;
		width:auto;
		padding:0;
	}
	.intro_left p {
		font-size:1.05em;
		line-height:1.76em;
		margin:0;
		padding:0;
	}

	.intro_right {
		float:none;
		width:auto;
		text-align:center;
	}
}






















.lge_ttl {
	
	font-size:5em;
	font-weight:bold;
	text-align:center;
	margin-bottom:0.8em;
	color:#fff;
}
.lge_ttl div {
	font-size:30%;
	margin:0;
	padding:0.03em;
}
.lge_txt {
	
	font-size:2.3em;
	font-weight:bold;
	padding-bottom:0.9em;
	text-align:center;
	margin-top:0.6em;
}
@media screen and (max-width: 767px) {
	.lge_ttl {
		font-size:3.6em;
	}
}

.bg_imgs {
	position:relative;
    min-height:720px;
	position:relative;
	display:block;
	background-position:center center;
	background-repeat:no-repeat;
	background-size:cover;
	margin:0 auto;
}
.bg01 {
	background-image: url("images/bg_imgs01.png");
}
.bg02 {
	background-image: url("images/bg_imgs02.png");
}
.bg03 {
	background-image: url("images/bg_imgs03.png");
}

/* パララックス風 */
.para_copy {
	background:url(images/para_bg.png) no-repeat 50% 50%;
	height:240px;
	background-attachment: fixed !important;
	background-size: contain;
	width:auto;
	max-width:910px;
	margin:0 auto;
	text-align:center;  	
}
.para_copy div {
	
	font-size:2.9em;
	font-weight:bold;
	padding:0;
	text-align:center;
	margin:70px auto 0 auto;
	display:inline-block;
	text-shadow:6px 6px 9px #fff;
}
.para_copy div span {
	display:block;
	text-align:center;
}
@media screen and (max-width: 767px) {
	.para_copy {
		height:200px;
		background-attachment:local !important;
	}
	.para_copy div {
		font-size:1.9em;
	}
}
.para_wrap {
	position:relative;
	display:block;
	margin-bottom:6em;
}
.parallax-window {
	position:relative;
    min-height:640px;
    background: transparent;
	margin:0;
}
.intro_txt {
	padding:3em 12px 0 12px;
	max-width:840px;
	margin:0 auto;
}
.intro_txt p {
	
	font-size:1.08em !important;
	margin:0;
	padding:0.3em 0.3em 0.7em 0.3em !important;
	line-height:1.54em !important;
}
.intro_txt ol {
	display:block;
	padding:0;
	margin-left:13%;
}
.intro_txt ol li {
	
	font-size:1.12em !important;
	margin:0;
	padding:0.2em !important;
	text-align:left;
	line-height:1.2em !important;
}
.intro_txt h3 {
	
	text-align:left !important;
	font-size:1.2em !important;
	padding:0.12em 0.3em;
	border-bottom:1px solid #999;
}
.intro_txt .equal {
	
	display:inline-block;
	background:#e9e9e9;
	color:#111;
	font-weight:bold;
	text-align:center;
	font-size:1.3em;
	padding:0.4em 0.8em;
	margin:0.5em auto;
}
.intro_txt .equal span {
	font-size:80%;
	font-weight:normal !important;
	display:block;
}
.txt_area {
    font-size: 3em;
    text-align: center;
    padding: 50px 0;
    letter-spacing: -.05em;
}
@media screen and (max-width: 767px) {
	.parallax-window {
    	min-height:246px;
	}

}
.nav_01 {
	width:49.99%;
	float:left;
	background:#0f378e;
}

/*---------------------------------------

  	ヘッダー
  
----------------------------------------*/
.site_header {
	padding:0;
    position: fixed;
    top:0;
    transition: .5s;
    width:99.99%;
    z-index:1200;
	background:#fff;
	/*
	border-bottom:1px solid #87ceed;
	*/
}
header .logo {
}
header .logo img {
	width:90%;
	max-width:360px;
	height:auto;
	margin:0 auto;
}
.site_header .nav_wrap {
	margin:14px auto 0 auto;
	padding:0 2.3%;
}
@media screen and (max-width: 1079px) {
	.site_header {
		width:auto;
		position: relative;
		background:none;
		min-height:57px;
		border:none;
	}
	.site_header h1 {
		position:absolute;
		margin:auto;
		top:2px;
		left:0;
		right:0;
		font-size:0.9em;
		text-align:center;
	}
	.site_header .wrap {
		padding:0;
		text-align:center;
	}
	.site_header .nav_wrap {
		display:none;
	}
	.site_header .wrap .entry {
		display:none;
	}
	.site_header .tel {
		position:relative;
		display:block;
		margin:0 auto;
		top:0;
		left:0;
		right:0;
		text-align:center;
	}
	.site_header .info {
		position:relative;
		display:block;
		margin:auto;
		top:0;
		left:0;
		right:0;
		text-align:center;
	}
	.site_header .info ul {
		display:inline-block;
		margin:0 auto;
		padding:0;
	}
	header .logo img {
		width:80%;
		max-width:260px;
	}

}
@media screen and (max-width: 480px) {
	.site_header {
		width:auto;
		position: relative;
		background:none;
		min-height:100px;
		padding-bottom:16px;
		border:none;
	}
	.site_header .info ul {
		max-width:190px;
		margin:0 auto;
	}
	.site_header .info ul li {
		float:none;
		text-align:left;
	}
}

/*  　PC表示 
----------------------------------------*/
@media screen and (min-width:881px) {
	
	/* バーガーメニュー/スマホナビを非表示 */
	.slide_menu,
	.btn_wrap {
		display:none;
	}

	/* スマフォトグルボタンを非表示 */
	.menu_btn { 
		display:none;
	}
	#toggle_nav {
		/*
		display:none;
		*/
	}

	.header_nav {
		max-width:640px;
		margin:0 auto; 
	}
	
	.header_nav ul {
		display: flex;
		flex-wrap: wrap;
		margin:0 auto;
		padding:2px 0.6%;
		justify-content: flex-end;
		align-items: center;
		gap:0.5%;
	}
	.header_nav ul li {
		flex:1;
		list-style:none;
		text-align:center;
	}
	.header_nav ul li a {
		position:relative;
		display:block;
		color:#002f68;
		text-align:center;
	}
	
	


	#toggle_nav {
		display:none;
	}
	#toggle_nav ul {
		display:none;
	}
}

 
@media screen and (max-width:980px) {
	nav ul li {
		display:inline-block;
		margin:0 0.2em;
		min-width:143px;
		list-style:none;
	}
	nav ul li a {
		padding:0 0.6em;
		letter-spacing:0.1em;
	}
}

/*  　スマホ表示（バーガーメニュー ） 
----------------------------------------*/
@media screen and (max-width:880px) {
	.slide_menu {
		display:none;
		position: fixed;
		top:0;
		left:0;
		right:0;
		margin:auto;
		width:auto;
		height:auto;
		padding:0 0 40px 0;
		background-image: linear-gradient(180deg, rgba(245, 247, 203, 0.96), rgba(195, 237, 224, 0.96));
		z-index:1000;
		text-align:center;
	}
	.sp_nav {
		margin:80px auto 0 auto;
	}
	.sp_nav ul {
		margin:0;
		padding:0;
	}
	.sp_nav ul li {
		display:block;
		list-style:none;
		margin-bottom:5px;
	}
	.sp_nav ul li a {
		height:38px;
		line-height:38px;
		font-size:15px;
		padding:4px 8px;
	}
	.sp_nav ul li a:hover {
		opacity:0.78;
	}
	
	
	.slide_menu .mails img,
	.slide_menu .tels img {
		max-width:100%;
		height:auto;
		margin:0 auto;
	}
	.slide_menu .mails {
		max-width:220px;
		margin:60px auto 0 auto;
	}
	.slide_menu .tels {
		max-width:220px;
		margin:20px auto 0 auto;
	}
	.slide_menu .logos {
		max-width:155px;
		margin:60px auto 45px auto;
	}
	.slide_menu .logos img {
		max-width:100%;
		height:auto;
		margin:0 auto;
	}



	.btn_wrap {
		/*
		background:#77c29f;
	    */
		position: fixed;
		top:4px;
		right:4px;
		z-index:10010;
		width:48px;
		height:43px;
		display:block;
		z-index:1001;
	}
	.btn_wrap:after {
		visibility: hidden;
		display: block;
		font-size: 0;
		content: " ";
		clear: both;
		height: 0;
	}
	.menu_btn {
		position: relative;
		display: block;
	    position: fixed;
		top:0;
		right:4px;
		text-align:left;
		margin:14px 10px 0 0;
		width: 29px;
		height: 36px;
		z-index:1001;
		cursor:pointer;
	}
	.menu_btn:after {
		visibility: hidden;
		display: block;
		font-size: 0;
		content: " ";
		clear: both;
		height: 0;
	}
	.menu_btn div {
		position: relative;
	}
	.menu_btn span{
		display: block;
		height: 1px;
		background:#0260a0;
		position:absolute;
		width:100%;
		left: 0;
		-webkit-transition: 0.5s ease-in-out;
		-moz-transition: 0.5s ease-in-out;
		transition: 0.5s ease-in-out;
	}
	.menu_btn span:nth-child(1){
		top:1px;
	}
	.menu_btn span:nth-child(2){
		top:12px;
	}
	.menu_btn span:nth-child(3){
		top:23px;
	}
	/* 開閉ボタンopen時 */
	.tel_img_mn {
		position:absolute;
		bottom:80px;
		margin:auto;
		left:0;
		right:0;
		text-align:center;
	}
	.open .menu_btn span {
		background:#0260a0;
	}
	.open .menu_btn span:nth-child(1) {
		top: 12px;
	   -webkit-transform: rotate(135deg);
		-moz-transform: rotate(135deg);
		transform: rotate(135deg);
	}
	.open .menu_btn span:nth-child(2) {
		width: 0;
		left: 50%;
	}
	.open .menu_btn span:nth-child(3) {
		top: 12px;
		-webkit-transform: rotate(-135deg);
		-moz-transform: rotate(-135deg);
		transform: rotate(-135deg);
	}
/*
}
*/
}



/*---------------------------------------

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

#footer-nav {
	width:100%;
}
#footer-nav ul {
	display: flex;
	flex-wrap: wrap;
	gap:0;
	padding: 0;
   	margin: 0;
}
#footer-nav ul li {
	width:49.5%;
	list-style:none;
}
#footer-nav li a {
	position:relative;
	display:block;
	color: #56382d;
	padding:8px 0 8px 17px;
	text-align:left !important;
}
#footer-nav li a:hover {
	color: #56382d !important;
	opacity:0.76;
}
	
/* 横向き三角を描く */
#footer-nav ul li a:after {
	position:absolute;
	margin:auto;
	top:36%;
	left:1px;
	content: "";
	width: 0;
   	height: 0;
   	border-top: solid 5px transparent;
   	border-right: solid 8px transparent;
   	border-bottom: solid 5px transparent;
   	border-left: solid 8px #56382d;
}
#footer-nav li a:hover {
	color:#d9e6fb;
}
/* SP */
@media screen and (max-width: 767px) {
	#footer-nav li a {
		padding:5px 0 5px 17px;
		font-size:13px;
	}
	#footer-nav ul li a:after {
		top:32%;
	}
}
.intro_wrap {
	max-width:960px;
	margin:0 auto;
}
.intro_wrap h2 {
	font-size:2.1em;
	color:#99393e;
	padding:0;
	margin:0.3em 0;
}
.intro_wrap p {
	text-align:left;
	color:#222;
	margin:0 auto 1.1em auto;
	max-width:690px;
	font-size:1.28em;
	line-height:1.9em;
}
article.mid {
	background: url("images/bg_wood.jpg") no-repeat top center #f3ebda;
	padding-bottom:40px;
}
@media screen and (max-width: 767px) {
	h2.pl {
		font-size:1.48em;
		padding:0 1.3%;
		text-align:left;
	}
	h3.pl {
		font-size:1.43em;
		text-align:left;
	}
}

h2.img {
	width:180px;
	margin:0 auto;
	font-size:1.2em;
}
h2.img img {
	max-width:100%;
	height:auto
}
@media screen and (max-width: 767px) {
	h2.img {
		font-size:1.1em !important;
	}
	h2.img img {
		max-width:68%;
		height:auto
	}
}


/* 左右に線が付く見出し */
h2.bl {
	width:76%;
	max-width:640px;
	font-size:2em;
	letter-spacing:0.13em;
	display: flex;
	align-items: center;
	margin:0.5em auto 1.8em auto;
}
h2.bl:before,
h2.bl:after {
	content: "";
	flex-grow: 1;
	height: 1px;
	background: #6391dd;
	display: block;
}
h2.bl:before {
	margin-right: .4em;
}
h2.bl:after {
	margin-left: .4em;
}



.intro_wrap h3,
article.news h3
{
	
	margin:1.8em auto 1.4em auto;
	max-width:880px;
	font-size:1.72em;
	color:#a52907;
	font-weight:bold;
	letter-spacing:0.09em;
	text-align:center !important;
	padding:0 0 2px 0;
}
.intro_wrap h3 span,
article.news h3 span
{
	display:inline-block;
	padding:5px 80px 0 80px;
	background: url(images/fig_menu.png) no-repeat center left, url(images/fig_menu.png) no-repeat bottom right;
}
.intro_wrap h3:after,
article.news h3:after
{
	content: "";
	flex-grow: 1;
	height: 1px;
	background: linear-gradient(to left, #f3ebda, #48a430 10%, #48a430 90%, #f3ebda);
	margin-left:0.8em;
	display: block;
}
@media screen and (max-width: 767px) {
	.intro_wrap h3,
	article.news h3
	{
		font-size:1.25em !important;
		letter-spacing:0.03em;
	}
	.intro_wrap h3 span,
	article.news h3 span
	{
		padding:5px 43px 0 43px;
	}
}

body.about h4 {
	background: url(images/bg_about_ttl.png) no-repeat center;
	background-size:100% auto;
	
	color:#fff;
	font-size:1.7em;
	letter-spacing:0.09em;
	padding:0.2em;
	text-align:center;
}
body.menu h4 {
	background: url(images/bg_menu_ttl.png) no-repeat center;
	
	color:#fff;
	font-size:1.6em;
	letter-spacing:0.09em;
	padding:0.2em;
	text-align:center;
}
body.shops h4 {
	
	margin:2em auto 1.4em auto;
	max-width:980px;
	font-size:1.52em;
	font-weight:normal;
	color:#59493f;
	display: flex;
	font-weight:bold;
	letter-spacing:0.08em;
	align-items: center;
}
body.shops h4:before {
	content: "";
	flex-grow: 1;
	height: 1px;
	background: linear-gradient(to left, #48a430 88%, #f3ebda);
	margin-right: 0.8em;
	display: block;
}
body.shops h4::after {
	content: "";
	flex-grow: 1;
	height: 1px;
	background: linear-gradient(to right, #48a430 88%, #f3ebda);
	margin-left:0.8em;
	display: block;
}
@media screen and (max-width: 767px) {
	body.menu h4,
	body.shops h4 {
		font-size:1.38em;
	}
}


/*---------------------------------------

  	ホーム
  
----------------------------------------*/

h2.cnt {
	color:#f08200;
	margin:0 auto 2.6em auto;
	font-size:1.4em;
	font-weight:bold;
	text-align:center;
}
h2.cnt div {
	color:#0699d9;
	font-family: 'Oswald', sans-serif;
	font-size:182%;
	letter-spacing:0.03em;
}
@media screen and (max-width: 767px) {
	h2.cnt {
		margin:2em auto 1.2em auto;
		font-size:16px !important;
	}
}

h2.lf {
	color:#f08200;
	margin:0 auto 2.6em auto;
	font-size:1.4em;
	font-weight:bold;
}
h2.lf span {
	display:block;
}
h2.lf div {
	color:#0699d9;
	font-family: 'Oswald', sans-serif;
	font-size:182%;
	letter-spacing:0.03em;
}
@media screen and (max-width: 767px) {
	h2.lf {
		margin:2em auto 1.2em auto;
		font-size:16px !important;
	}
	h2.lf span {
		display:inline;
	}

}


body.home .copy {
	text-align:center;
	color: #0699d9;
	font-size:1.9em;
	font-weight:bold;
}
body.home .copy span {
	display:block;
	color: #0699d9;
	font-size:140%;
	color: #f08200;
}
@media screen and (max-width: 767px) {
	body.home .copy {
		font-size:1.2em;
	}

}
section.flex {
	display:flex;
	max-width:1080px;
	margin:0 auto;
}
section.flex .lb {
	width: 28%;
 	margin:0;
	padding:12px;
	text-align:left;
	border-right:1px solid #0699d9;
}
section.flex .cb {
	width: 28.6%;
	text-align:center;
	padding:12px;
}
section.flex .cb img {
	max-width:96%;
	height:auto;
	margin:0 auto;
}
section.flex .rb {
	width: 43%;
	padding:12px;
	text-align:left;
}
section.flex .lb p {
	color:#0699d9;
	font-size:1.4em;
	font-weight:bold;
}
@media screen and (max-width: 767px) {
	section.flex {
		display:block;
	}
	section.flex .lb {
		width:auto;
		border-right:none;
		border-bottom:1px solid #96d4ef;
		text-align:center;
	}
	section.flex .lb p {
		font-size:1.1em;
		text-align:center;
	}
	section.flex .cb {
		width:auto;
		text-align:center;
	}
	section.flex .rb {
		width:auto;
	}

}


/*  ホーム - お知らせ 
----------------------------------------*/

article.news {
	background:#f0fafd;
	padding:0 !important;
}
article.news section {
	background:#f4f4f4;
	padding:0 3.2% !important;
	margin:0 auto !important;
}
@media screen and (max-width: 767px) {
	article.news {
		padding:0 13px !important;
	}
}





/*  文字ニュース
----------------------------------------*/
.news_line {
	max-width:740px;
	padding:0 3.6%;
	margin:0 auto 80px auto;
}
.news_line ul {
	margin:0;
	padding:0;
}
.news_line ul li {
	display:block;
	list-style:none;
	margin:3px 0;
	border-top:1px solid rgba(0,0,0,0.2);
}
.news_line ul li:last-child {
	border-bottom:1px solid rgba(0,0,0,0.2);
}
.news_line ul li a {
	position:relative;
	display:flex;
	gap:0 1%;
	color:#111;
	text-align:left;
}
.news_line ul li a .date {
	width:16%;
	padding:9px 2px 8px 2px;
}
.news_line ul li a .date span {
	color:#cc3300;
	font-size:85%;
}
.news_line ul li a .ttl {
	width:82%;
	padding:9px 2px 8px 2px;
}
.news_line ul li a:hover {
	opacity:0.7;
}
@media screen and (max-width: 767px) {
	.news_line {
		padding:0;
	}
	.news_line ul li a {
		position:relative;
		display:block;
		gap:0 1%;
	}
	.news_line ul li a .date {
		width:auto;
		padding:3px 2px 0 2px;
	}
	.news_line ul li a .ttl {
		width:auto;
		padding:1px 2px 2px 2px;
	}

}

.news_list {
	max-width:970px;
	width:auto;
	margin:0 auto 1.6em auto;
}
/* clearfix */
.news_list:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}
.news_list ul {
	margin: 0 -4.23% 0 0;
	padding: 0;
 	/zoom: 1;/* for IE6,7 */
}
.news_list ul li {
	width: 28.6%;
	height:auto;
	float:left;
	display:inline-block;
	margin: 0 4.23% 1.2em 0 !important;
	padding:0;
	list-style: none;
	text-align:center;
}
.news_list li a {
	position:relative;
	display:block;
	padding:0;
	text-align:center;
	font-size:0.92em !important;
}
.news_list ul li .tm_img {
	position:relative;
	display:block;
	margin:0 auto;
	background-position:center center;
	background-repeat:no-repeat;
	background-size:cover;
	border-radius:50%;
	width:146px;
	height:146px;
}
.news_list ul li .news_date {
	font-family:'Oswald', sans-serif;
	font-weight:normal !important;
	margin:0;
	padding:0 0 0.12em 0;
	font-size:0.96em;
	color: #f08200;
	letter-spacing:0.03em;
}
.news_list ul li .news_date .dts {
	display:inline;
}
.news_list ul li .news_date .new {
	padding:0 0.2em;
	color:#cf4c52;
}
.news_list ul li .ttl {
	height:3.6em;
	padding:0;
	text-align:left;
	color: #735449; 
}
.news_list ul li .ttl p {
	padding:0;
	margin:0;
}
.news_list ul li a:hover {
	opacity:0.8;
	color:#302216;
}
@media only screen and (max-width:1280px) {
	.news_list {
		width:auto;
		float:none;
	}
}
@media only screen and (max-width:980px) {
	.news_list {
		max-width:640px;
		margin:0 auto;
	}
	.news_list ul {
		margin:0;
	}
	.news_list ul li {
		width: 45.8%;
		margin:0 0 1.5em 0 !important;
	}
	.news_list ul li:nth-child(odd) {
		float:left;
	}
	.news_list ul li:nth-child(even) {
		float:right;
	}
	.news_list ul li:nth-child(5),
	.news_list ul li:nth-child(6) {
		display:none;
	}
	.news_list ul li .tm_img {
		width:130px;
		height:130px;
	}
	.news_list ul li .ttl {
		font-size:13px;
		height:3.6em;
		line-height:1.41em;
		padding:0 
	}
}

/*  一日のスケジュール例 
----------------------------------------*/
.news_wdt {
}

.schd {
	display: flex;
	flex-wrap: wrap;
	max-width:1060px;
	margin:0 auto;
	padding:0;
	gap:0 3.1%;
}
.schd .elm {
	width:46.1%;
	margin:20px auto 50px auto;
	padding:4px 6px;
	background:#fff8e3;
	border:1px solid #c9c9c9;
	border-radius:3px;
	filter:drop-shadow(1px 1px 1px rgba(0,0,0,0.2));
}
.schd .elm .wrap {
	padding:0 6.8%;
}
.schd .elm .wrap img {
	max-width:90%;
	height:auto;
	margin:0 auto;
}
.schd .elm h3 {
	color:#735449;
	margin:6px 0 2px 0;
	font-size:1.32em;
	padding:8px; 
	background:#b6e9ef;
}
.schd .elm .hls {
	background: url("images/bg_hls.jpg") no-repeat top center #fff8e3;
	background-size:contain;
	padding-top:8%;
	width:100%;
}
@media screen and (max-width: 880px) {
	.schd {
		display: block;
		max-width:640px;
		margin:0 auto;
	}
	.schd .elm {
		width:auto;
		margin:12px auto 28px auto;
	}
	.schd .elm h3 {
		font-size:1.2em;
	}
	.schd .elm .wrap {
		padding:0 3.2%;
	}
}

/*   安心のサービス　
----------------------------------------*/
.svs {
	display: flex;
	flex-wrap: wrap;
	max-width:1210px;
	margin:0 auto;
	padding:0;
	gap:0 1%;
}
.svs .elm {
	width:20.3%;
	margin:20px auto 50px auto;
	padding:1.2% 1.9%;
	background:#f2f2f2;
	text-align:center;
	border-radius:12px;
}
.svs .elm .ttl {
	width:100%;
	height:3.2em;
	display:flex;
	align-items: center;
	margin-bottom:8px;
}
.svs .elm h3 {
	width:100%;
	text-align:center;
}
.svs .elm h3 span {
	display:block;
}
.svs .elm img {
	max-width:100%;
	height:auto;
	margin:0 auto;
}
.svs .elm p {
	font-size:1.05em;
	line-height:1.6em;
	padding:0;
	margin:0;
}
@media screen and (max-width: 980px) {
	.svs {
		gap:0 2.8%;
	}
	.svs .elm {
		width:43.8%;
		margin:13px auto 6px auto;
		padding:1.2% 1.9%;
	}
	.svs .elm img {
		max-width:72%;
	}
	.svs .elm p {
		font-size:1em;
		line-height:1.52em;
	}
	.svs .elm h3 {
		font-weight:normal;
	}
	.svs .elm h3 span {
		display: inline;
	}
}
@media screen and (max-width: 640px) {
	.svs .elm p {
		font-size:0.9em;
		line-height:1.48em;
	}
}


/*---------------------------------------

  	トップ
	  
----------------------------------------*/
article.gr {
	background:#e4e4e4;
	min-height:260px;
}

article.gr .cont {
	max-width:1200px;
	margin:0 auto;
	padding:0.8em 3%;
	text-align:center;
}
article.gr .cont p {
	max-width:660px;
	margin:0 auto 1.3em auto;
	line-height:1.96em;
	font-size:1.46em;
	font-weight:bold;
	color:#333;
	text-align:left;
}
@media screen and (max-width: 767px) {
	article.gr .cont p {
		margin:0 auto 1.3em auto;
		font-size:1.1em !important;
		font-weight:normal !important;

	}
	body.home .wrap p {
		font-size:1.1em !important;
		line-height:1.6em !important;
		font-weight:normal !important;
	}
}
body.home section .wrap {
	padding:3% 5%;
}
article.sb { background:#deefff; }
article.ye { background:#fcf2c4; }

article.a2 { background:#e8f8ff; }
article.rank{ background:#ded7c6; }
article.tire { background:#eaeba5; }
.worry {
	position:relative;
	background-image: linear-gradient(to bottom, #edf5f9, #acd9f0);
	max-width:790px;
	margin:0 auto;
	border-radius:21px;
	border:6px solid #fb845d;
}
.figs {
	max-width:790px;
	margin:30px auto -7px auto !important;
	text-align: center;
}
.figs img {
	max-width:100%;
	height:auto;
	margin:0 auto;
}
.worry ul li {
	background: url(images/icon_ase.png) no-repeat top left;
	list-style:none;
	text-align:left;
	font-size:1.3em;
	font-weight:bold;
	margin:0.9em 0;
	color:#103354;
	padding:0.4em 0 0.4em 2.5em;
}
@media screen and (max-width: 767px) {
	body.home section .wrap {
		padding:0.8%;
	}
	.figs img {
		max-width:70%;
	}
	.worry {
	 	border-radius:7px;
		border:3px solid #fb845d;
	}
	.worry ul {
		padding:0;
		margin:0 0 0 0.4em;
	}	
	.worry ul li {
		background: url(images/icon_ases.png) no-repeat 3px 1px;
		font-size:1.15em;
		padding:0 0.6em 0.4em 1.9em;
	}	
}
.para {
	background: url(images/para_bg.jpg) no-repeat center;
	background-attachment: fixed;
	max-width:1320px;
	margin:0 auto 3em auto;
	padding:1.5em 18%;
	text-align:center;
	color:#fff;
}
.para .inner {
	margin:0 auto;
	padding:5px 12px;
}
.para .inner h4 {
	padding:0;
	margin:0 0 0.6em 0;
	font-size:2.6em;
}
.para .inner p {
	font-size:1.2em;
	font-weight:bold;
	text-align:left;
}
@media screen and (max-width: 767px) {
	.para {
		background-attachment: scroll;
		background-size:cover;
		padding:1.5em 8%;
	}
	.para .inner {
		width:auto;
		padding:5px 0;
		font-size:1.05em;
	}
	.para .inner h4 {
		font-size:1.38em;
		text-align:left;
	}
	.para .inner p {
		font-size:1.1em;
	}
}

/* 　見出し
--------------------------------------- */

h2.cn {
	display:inline-block;
	margin:20px auto;
	background:#3387f1;
	color:#fff;
	font-size:2em;
	min-width:9em;
	font-weight:bold;
	padding:2px 28px;
	border-radius:26px;
}
@media screen and (max-width: 767px) {
	h2.cn {
		margin:20px auto;
		font-size:1.4em;
		min-width:8em;
		padding:2px 19px;
		border-radius:18px;
	}
}

/* 　イントロ
--------------------------------------- */
.bgimg {
	max-width:1180px;
	margin:26px auto;
	position:relative;
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
	padding-top:68%;
	text-align:center;
}
.bgimg figure {
	margin:0 auto !important;
}
.bgimg .cnt {
	position:absolute;
	margin:auto;
	top:16%;
	left:0;
	right:0;
	max-width:560px;
	padding:8px 4.6%;
	text-align:left;
	background:rgba(255,255,255,0.72);
	border-radius:5px;
}
.bgimg .cnt p {
	font-size:1.2em;
	font-weight:bold;
	line-height:1.86em;
}
@media screen and (max-width: 767px) {
	.bgimg {
		padding-top:132%;
	}
	.bgimg .cnt {
		top:12%;
		width:84%;
		max-width:480px;
		padding:8px 4.6%;
		border-radius:2px;
	}
	.bgimg .cnt p {
		font-size:1em;
		font-weight: normal;
		line-height:1.6em;
	}
}
@media screen and (max-width: 520px) {
	.bgimg {
		padding-top:150%;
	}
}

	
/* 　ハウスクリーニングプラン
--------------------------------------- */
.plans {
	width:auto;
	margin:0.9em auto 1.6em auto;
}
/* clearfix */
.plans:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}
.plans ul {
	margin: 0 -2.64% 0 0;
	padding: 0;
}
.plans ul li {
	position:relative;
	width: 22.18%;
	height:auto;
	float:left;
	display:inline-block;
	padding:0;
	list-style: none;
	text-align:center;
	border:1px solid #d9d9d9;
}
.plans ul li:nth-child(odd),
.plans ul li:nth-child(even) {
	margin: 0 2.64% 2em 0;
}
.plans li .img {
	position:relative;
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
	padding-top:62%;
}
.plans li h3 {
	color:#dc236a;
	font-size:1.3em;
	padding:0.3em 3% 0 3%;
	height:2.6em;
	margin:0;
}
.plans li .exp {
	color:#dc236a;
	padding:0.3em 2.8%;
	min-height:9em;
	color:#111;
	font-size:0.9em !important;
	text-align:left;
}
.plans li .price {
	display:inline-block;
	margin:9px auto;
	background:#e2738f;
	color:#fff;
	font-size:1.1em;
	font-weight:bold;
	padding:2px 28px;
	border-radius:19px;
}
.plans li .price span {
	font-size:120%;
	padding:0 2px;
}
@media only screen and (max-width:1200px) {
	.plans ul li {
		width: 22.1%;
	}
}
@media only screen and (max-width:980px) {
	.plans {
		max-width:640px;
		margin:0 auto;
	}
	.plans ul {
		margin:0 !important;
	}
	.plans ul li:nth-child(odd) {
		float:left;
		width: 47.4%;
		margin: 0 0 1.7em 0 !important;
	}
	.plans ul li:nth-child(even) {
		float:right;
		width: 47.4%;
		margin: 0 0 1.7em 0 !important;
	}
	.plans li h3 {
		font-size:1.1em;
		padding:0.3em 3% 0 3%;
		height:2.6em;
		margin:0;
	}
	.plans li .img {
		padding-top:62%;
	}	
	.plans ul li .tm_img {
		width:100%;
		height:auto;
		padding-top:60%;
	}
	.plans li .exp {
		min-height:10.5em;
	}
	.plans li .exp p {
		line-height:1.55em;
	}
	.plans li .price {
		margin:9px auto;
		font-size:0.95em;
		padding:1px 17px;
		border-radius:16px;
	}
	.plans ul li .news_date .dts {
		display:block;
	}
}

	
/*  評価表
--------------------------------------- */

.shts {
	display: flex;
	flex-wrap: wrap;
	margin:0 auto;
	padding:0 0.3%;
	gap:0 4.3%;
}
.shts .elm {
	width:44.9%;
	text-align:center;
	padding:6px 13px;
	border:1px solid #a9a9a9;
	margin-bottom:26px;
	background:#f7f6f6;
}
.shts .elm .ttl {
	font-size:1.18em;
	padding:2px 5px 1px 10px;
	display:inline-block;
	border:1px solid #999;
	margin:0 auto;
	text-align:center;
	background:#fff;
	color:#111;
}
.shts .inner {
	display: flex;
	flex-wrap: wrap;
	gap:0 6.39%;
	padding:0;
	margin:11px auto 0 auto;
}
.shts .inner .fls {
	width:46.51%;
}
.shts .inner a {
	position:relative;
	display:block;
	background:#fff;
	border-radius:3px;
	border:1px solid #a9a9a9;
}
.shts .inner a span {
	display:block;

}
@media screen and (max-width: 767px) {
	.shts {
		display:block;
		max-width:500px;
	}
	.shts .elm {
		width:auto;
	}
}

/*
	FAQ よくある質問　
----------------------------------------*/
.faq_wrap {
	max-width:812px;
	margin:40px auto 10px auto;
}
h3.ques {
	position:relative;
	width:auto;
	max-width:890px;
	margin:0 auto 0.65em auto;
	padding:0.3em 0 0.1em 2.5em;
	color: #007cba;
	font-size:1.6em;
	text-align:left;

	border-bottom:1px dashed #999;
}
h3.ques span {
	font-family: 'Oswald', sans-serif;
	position:absolute;
	top:-4px;
	left:3px;
	font-size:120%;
	color:#fff;
	background:#007cba;
	width:41px;
	height:41px;
	text-align:center;	
	
	border-radius: 50%;/*角丸*/
}
.ans {
	background:#fff;
	position:relative;
	width:auto;
	max-width:890px;
	margin:0.4em auto 1.3em auto;
	padding:0.7em 2.4em 1em 2.4em;
}
.ans p {
	font-size:1.05em;
	line-height:1.92em;
	margin:0;
	padding:0.45em 0 0.4em 0;
}
.ans .atxt {
	font-size:1.6em;
	color:#007cba;
	text-align:left;
	font-family: 'Oswald', sans-serif;
}
@media screen and (max-width: 767px) {
	h3.ques {
		font-size:1.3em;
	}
	.ans {
		font-size:1em;
		padding:0 0 0.1em 2.62em;
	}
	.ans .atxt {
		top:-1px;
		left:8px;
	}
}





	
/* 　サブミット
--------------------------------------- */
.smimg {
	position:relative;
	max-width:1480px;
	padding-top:62%;
	margin:0 auto;
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
}
.smimg h3 {
	position:absolute;
	margin:auto;
	left:0;
	right:0;
	text-align:center;
	color:#fff;
	top:9.5%;
	font-size:2.1em;
}
.submit_tel1 {
	text-align:center;
	padding:12px;
}
.submit_tel2 {
	position:absolute;
	margin:auto;
	left:0;
	right:0;
	text-align:center;
	z-index:1000;
	bottom:14.6%;
}
.submit_tel1 img,
.submit_tel2 img,
.submit_tel3 img {
	width:88%;
	max-width:640px;
	margin:0 auto;
	height:auto;
}
@media screen and (max-width: 767px) {
	.smimg {
		padding-top:96%;
	}
	.smimg .taptxt {
		display:inline-block;
		margin:0 auto;
		background:rgba(255,255,255,0.8);
		padding:1px 4px;
	}
	.submit_tel1 img,
	.submit_tel2 img,
	.submit_tel3 img {
		width:76%;
		max-width:490px;
	}
}






.ttl_intro {
	background:#094a77;
}
.ttl_service {
	background:#094a77;
}
.ttl_recruit {
	background:#d34a4a;
}

.ttls {
	position:relative;
	color:#fff;
	text-align: center;
}
.ttls span {
	font-family: 'Oswald', sans-serif;
	font-size:3.8em;
	display:block;
	letter-spacing:0.06em;
}
.ttls h2 {
	padding:0.3em 0 0.3em 0;
	margin:0;
}
@media screen and (max-width: 767px) {
	.ttls span {
		font-size:2em;
	}
	.ttls h2 {
		font-size:1.05em !important;
	}
}

.video_wrap {
	position:relative;
	width:100%;
	max-width:640px;
	height:360px;
	margin:0 auto 5em auto;
}
@media screen and (max-width: 767px) {
	.video_wrap {
		margin:0 auto 3em auto;
	}
}


/*      お問い合わせ　
----------------------------------------*/

.inq_wrap {
	max-width:840px;
	margin:0 auto;
}
article.inq .read p {
	line-height:1.82em;
	font-size:0.91em;
}




body.contact-thanks .wds {
	max-width:580px;
	margin:3em auto;
}
.rbtn {
	padding:3em;
	text-align:center;
}
.rbtn a {
	position:relative;
	display:inline-block;
	background:#e9aa50;
	color:#fff;
	font-weight:bold;
	font-size:1.3em;
	padding:0.18em 2.9em;
	border-radius:2px;
}
.rbtn a:hover {
	background:#e9aa50;
	color:#fff;
	opacity:0.78;
}
/*  <  を描く */
.rbtn a:before{
	position:absolute;
	bottom:0.8em;
	left:6%;
	content:'';
	height:6px;
	width:6px;
	display:block;
	border:1px solid #fff;
	border-top-width:0;
	border-right-width:0;
	transform:rotate(45deg);
	-webkit-transform:rotate(45deg);
	-moz-transform:rotate(45deg);
	-o-transform:rotate(45deg);
}


/*---------------------------------------

	ホーム
  
----------------------------------------*/

.kids {
	max-width:930px;
	margin:0 auto;
	text-align:center;
	padding:0 3.9%;
}
.kids img {
	width:100%;
	height:auto;
	margin:28px auto 10px auto;
}
.icnt {
	max-width:540px;
	text-align:left;
	margin:0 auto 60px auto;
}
.mid_cnt {
	position:relative;
	display:block;
	background-position:center center;
	background-repeat:no-repeat;
	background-size:cover;
}
.mid_cnt .wrap {
	max-width:920px;
	padding:4% 3.6%;
	margin:0 auto;
}
.mid_cnt .wrap .txt {
	width:45%;
	padding:16px 3.2%;
	color:#735449;
	text-align:left;
	background:rgba(255,255,255,0.65);
	border-radius:5px;
}
.mid_cnt .wrap .txt h3 {
	font-size:1.3em;
}
.mid_cnt .wrap .txt .cnt {
	display:block;
}
.mid_cnt h3 span {
	display:block;
}
.cnt_sp {
	display:none;
}
@media screen and (max-width:880px) {
	.mid_cnt .wrap .txt h3 {
		font-size:1.1em;
	}
	.mid_cnt .wrap .txt .cnt {
		display:none;
	}
	.cnt_sp {
		max-width:640px;
		margin:0 auto;
		padding:0 4.3%;
		text-align:left;
		display: block;
	}
}


article.bz {
	background:#acd2ed;
}
body.home .wd {
	max-width:1060px;
	padding:0 2.3% 2.3em 2.3%;
	margin:0 auto;
	line-height:1.8em;
	text-align:center;
}
body.home .wd h3 {
	color: #f08200;
	font-size:1.6em;
	margin:0;
	padding:0;
}
body.home .wd p {
	color:#2e75b6;
	font-size:1.1em !important;
	line-height:1.8em;
	margin:0 auto 0.9em auto;
}
body.home .cb h3,
body.home .rb h3 {
	color: #f08200;
	font-size:1.6em;
	margin-bottom:0.9em;
	padding:0;
}


@media screen and (max-width: 767px) {
	body.home .wd h3 {
		font-size:18px;
	}
	body.home .wd h3 span {
		display:block;
	}
	body.home .wd figure {
		margin:0.5em auto 0 auto;
	}
	body.home .wd p {
		font-size:14px !important;
		line-height:1.6em;
		font-weight: normal;
	}
}


/* サイトリンク 
----------------------------------------*/

.links {
	text-align:center;
	padding:3em 12px;
}
.links a {
	background: url("images/arw_h.png") no-repeat 96% 44% #333;
	max-width:430px;
	position:relative;
	display:block;
	margin:0 auto;
	text-align:left;
	color:#fff;
	font-size:1.8em;
	font-weight:bold;
	padding:0.2em 4em 0.2em 0.35em;
}
.links a:hover {
	opacity:0.8;
}
.links a span {
	display:inline-block;
	padding:0 0.22em;
	font-size:80%;

}










.views {
	width:auto;
	margin:0 auto 25px auto;
	padding:0;
	overflow: hidden;
}
/* clearfix */
.views:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}
.views ul {
	margin: 0;
	padding: 0;
 	/zoom: 1;
}
.views ul li {
	width: 33.26%;
	float:left;
	display:inline-block;
	*display:inline;
	/zoom: 1;
	position:relative;
	margin: 0 !important;
	padding:0 !important;
	list-style: none;
	text-align:center;
	overflow: hidden;
}
.views ul li img {
	max-width:100%;
	height:auto;
	margin:0 auto;
}


.exp p {
	padding:0;
	margin:0;
}

















/*---------------------------------------

  	ズームスライダー
    
----------------------------------------*/
body.home .sec_cont {
	display:none;
}
.slide {
	position:relative;
	
  	width: 100%;
  	max-width: 1920px;
  	height:980px;
  	margin: 0 auto;
	text-align:center;
}
.slide .img {
	position:absolute;
	margin:auto;
	bottom:23%;
	left:0;
	right:0;
	padding:0;
	text-align:center;
}
.slide .img img {
	max-width:88%;
	height:auto;
	margin:0 auto;
}
@media screen and (max-width: 1160px) {
	.slide {
  		height:740px;
	}
	.slide .img {
		bottom:14%;
	}
}
@media screen and (max-width: 767px) {
	.slide {
  		height:430px;
	}
	.slide .img {
		bottom:14%;
	}
}
@media screen and (max-width: 480px) {
	.slide {
  		height:330px;
	}
	.slide .img {
		bottom:8.5%;
	}
}

/*---------------------------------------

  　モーダルウインドウ
      
----------------------------------------*/
.remodal {
	padding:10px 25px 19px 25px !important;
}
.remodal-wrapper {

}
article.mw {
	background:#aeeaf1;
}
.modal_area {
	text-align:center;
	margin:43px auto;
}
.modal_area a.mbtn {
	display:inline-block;
	margin:0 auto;
	font-weight:bold;
	font-size:1.39em;
	padding:0.4em 1.7em;
    background: #fff;
    border: 3px solid #f36324;
    color: #4c4833;
	border-radius:5px;
	cursor:pointer;
}
.modal_area a.mbtn:hover {
	background:#f8f2b4;
}
.wcnt p {
	text-align:left !important;
}
.wcnt ul.list {
	padding:0;
	margin-left:1.3em;
}
.wcnt ul.list li {
	text-align:left !important;
}
.wcnt ul.list li .red {
	color:#ff6600;
	font-size:0.9em !important;
}
ul.kome_sml {
	padding-left:1em inherit;
	margin:0 !important;
}
ul.kome_sml li {
	text-align:left !important;
	color:#ff6600;
	padding:0;
	margin:0;
	font-size:0.9em !important;
	text-indent:-1em;
    list-style-type:none;
}
/* 閉じるボタン */
.remodal-cancel {
    color: #fff;
    background: #e57373;
	border-radius:3px;
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-o-transition: 0.5s;
	-ms-transition: 0.5s;
	transition: 0.5s;
}
@media only screen and (max-width:767px) {
	.remodal {
		padding:8px 16px 17px 16px !important; 
	}
	.modal_area a.mbtn {
		width:78%;
		max-width:270px;
		display:block;
		margin:0 auto;
		font-size:1.1em;
		padding:0.4em 0.9em;
    	background: #fff;
    	border: 2px solid #f36324;
		border-radius:5px;
	}

}

.bg_404 {
	background-image:url("images/bg_404.jpg");
}
.bg_news {
	background-image:url("images/ec_news.jpg");
}

/*
.page_header .cover {
	position:absolute;
	margin:auto;
	top:0;
	bottom:0;
	left:0;
	right:0;
	background:rgba(0,0,0,0.32);
	z-index:300;
}
*/

.bg_404 {
	background-image:url("images/bg_404.jpg");
}
.bg_news {
	background-image:url("images/ec_news.jpg");
}

body.archive_cases .page_header,
.case_ec .page_header,
body.single_cases .page_header
{
	background-image:url("images/ec_case.png");
}

body.category .page_header .inner,
body.archive .page_header .inner {
	background-image:url("images/ec_img_cate.png");
}
body.single .page_header .inner {
	background-image:url("images/ec_img_single.png");
}
@media screen and (max-width: 767px) {
}
@media screen and (max-width: 480px) {

}

/* = パンくず
--------------------------------------- */
.breadcrumbs {
	position:relative;
	max-width: 980px;
	text-align:left;
	padding:0 3.2%;
	margin:3% auto 36px auto;
	font-size:13px;
}
.breadcrumbs .hm {
	font-family: 'Oswald', sans-serif;
	letter-spacing:0.04em;
}
.breadcrumbs .arw {
	position:relative;
	display:inline-block;
	padding:7px;
	margin-top:6px;
}
/* >  を描く */
.breadcrumbs .arw:before {
	position: absolute;
	top:6px;
	left: 3px;
	content: '';
	height: 5px;
	width: 5px;
	display: block;
	border: 1px solid #555;
	border-top-width: 0;
	border-left-width: 0;
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-o-transition: 0.5s;
	-ms-transition: 0.5s;
	transition: 0.5s;
}
@media screen and (max-width: 767px) {
	.breadcrumbs {
		top:3px;
		font-size:12px;
	}
}

/*---------------------------------------

  	プログラム
	  
----------------------------------------*/
.scont {
	margin:0 auto;
}
.scont .cnt {
	position:relative;
	margin:36px auto 50px auto;
	padding:4% 8.2% 0.3% 8.2%;
	background:#f3f0e2;
	border:1px solid #e9e9e9;
	border-radius:3px;
}
.scont .cnt .ttl {
	position:absolute;
	margin:auto;
	top:-26px;
	color:#fff;
	font-weight:bold;
	width:100px;
	height:100px;
	line-height:100px;
	font-size:43px;
	border-radius:50px;
	z-index:10;
}
.scont .cnt p {
	font-size:1.15em;
	padding:0 3.8%;
}
.scont .cnt:nth-child(1) .ttl { left:0; }
.scont .cnt:nth-child(2) .ttl { right:0; }
.scont .cnt:nth-child(3) .ttl { left:0; }
.scont .cnt:nth-child(4) .ttl { right:0; }

.scont .bg1 { background:#3aa56c; }
.scont .bg2 { background:#cc6074; }
.scont .bg3 { background:#cf735a; }
.scont .bg4 { background:#87d2f2; }

@media screen and (max-width: 880px) {
	.scont .cnt {
		margin:36px auto 50px auto;
		padding:12% 8.2% 0.3% 8.2%;
	}
	.scont .cnt p {
		font-size:1.08em;
		padding:0 1.6%;
	}
	.scont .cnt:nth-child(1) .ttl { left:0; right:0; }
	.scont .cnt:nth-child(2) .ttl { left:0; right:0; }
	.scont .cnt:nth-child(3) .ttl { left:0; right:0; }
	.scont .cnt:nth-child(4) .ttl { left:0; right:0; }
	.scont .cnt .ttl {
		top:-26px;
		width:60px;
		height:60px;
		line-height:60px;
		font-size:28px;
		border-radius:30px;
	}


}



/*---------------------------------------

  	SNS ・　ブログリンク
    
----------------------------------------*/

.ins {
	max-width:1023px;
	margin:0 auto;
}
.ins img {
	max-width:100%;
	height:auto;
	margin:0 auto;
}

/*---------------------------------------

  	・プライバシーポリシー
	・お問い合わせ
	・お問い合わせ（送信完了）
    
----------------------------------------*/

body.privacy section p,
body.contact section p,
body.contact-thanks section p
{
	max-width:1120px;
	margin:0 auto;
	line-height:1.9em;
}
body.privacy section li {
	max-width:1000px;
	margin:0 auto;
	line-height:1.9em;
}



/*---------------------------------------

  	お問い合わせ
    
----------------------------------------*/

body.home article#contact h3 {
	color:#ff6600;
	font-size:1.6em;
}

body.home article#contact .bnr {
	margin:3em auto 0 auto;
}

body.home article#contact .bnr img {
	border:1px solid #1d466c;
	margin:0 auto;
	width:100%;
	height:auto;
	max-width:420px;
}

body.home article#contact .bnr a:hover {
	opacity:0.8;
}

/*===========================================================

  	ブログ / お知らせ     
    
============================================================*/

article.posts {
	display:flex;
	max-width:1200px;
	margin:100px auto 0 auto;
}
article.posts .side {
	width:230px;
}
.post_head {
	background:#fcf9e9;
	text-align:left;
	padding:0.7em 6.8%;
	margin-bottom:1em;
}
.post_head .data {
	display: flex;
	flex-wrap: wrap;
	padding:0;
	gap:0;
}
.post_head .date {
	width:49%;
	font-size:0.9em;
	font-family: 'Oswald', sans-serif;
	padding-bottom:3px;
	color:#f08200;
}
.post_head .cate {
	width:49%;
	text-align:right;
}
.post_head .data span {
	display:inline-block;
	padding:0 0.8em;
	font-size:13px;
}
.post_head h3 {
	font-size:1.41em;
	margin:0;
	padding:0;
	color:#321305;
}
@media screen and (max-width: 767px) {
	.post_head h3 {
		font-size:1.22em;
	}
	.post_head .cate .c1,
	.post_head .cate .c2
	 {
		font-size:0.92em;
	 }
}
.post_wrap {
	padding:2em 6.8%;
}
.post_wrap p {
	line-height:1.96em;
}
.footer_wdt {
	max-width:920px;
	padding:12px 4.3%;
	margin:5em auto 0 auto;
	text-align:left;
	background:#fff;
}
.wdt_area {
	display: flex;
	flex-wrap: wrap;
	margin:0 auto;
	padding:0;
	gap:0 2.8%;
}
.wdt_area .arc {
	width:63.8%;
}
.wdt_area .cate {
	width:32.6%;
}
.widget-container h4 {
	display:none;
}
.footer_wdt h4 {
	position:relative;
	text-align:center;
	color: #321305;
	letter-spacing: 0.04em;
	padding: 0;
	font-size: 1.6em;
	border-bottom:1px solid #e7e3e2;
}
.footer_wdt h4 span {
	color:#5e473d;
	display:block;
	font-size:80%;
	font-weight:normal;
}
@media screen and (max-width: 767px) {
	.footer_wdt h3 {
		background: url("images/bg_mark.png") no-repeat 1px 1px;
		padding: 0.2em 0.2em 0.2em 2em;
		font-size: 1.15em;
	}
	.widget-container h4 {
		background: url("images/bg_mark.png") no-repeat 1px 1px;
		font-size: 1.15em;
		padding: 0.2em 0.2em 0.2em 2em;
	}
	.wdt_area {
		display: block;
	}
	.wdt_area .arc {
		width:auto;
	}
	.wdt_area .cate {
		width:auto;
	}
}

/*
    年別アーカイブ　（自前）
----------------------------------------*/
.archive_list {
	display: flex;
	flex-wrap: wrap;
	gap:0 1.6%;
	padding:0 2%;
}
/* 年の見出し */
.archive_list .ttl {
	width:100%;
	text-align:left;
	font-weight:400;
	font-size:14px;
	padding:0;
	margin:0 auto 6px auto;
	border-bottom:1px solid #d9d9d9;
}
.archive_list .elm {
	/*
	flex:1;
	*/
	width:6.8%;
	margin-bottom:10px;
}
.archive_list .elm a {
	position:relative;
	display:block;
	color:#333;
	text-align:center;
	font-size:14px;
	padding:3px 0;
	background:#e5e0db !important;
	border-radius:2px;
}
.archive_list .elm a:hover {
	background:#ddd4cc !important;
}
@media screen and (max-width: 540px) {


}

/*
    画像付きカテゴリー
----------------------------------------*/
.category_list {
	display: flex;
	flex-wrap: wrap;
	gap:0 4.8%;
	padding:0;
}
.category_list .elm {
	width:100%;
	margin-bottom:11px;
}
.category_list .elm a {
	position:relative;
	display:block;
	color:#333;
	text-align:left;
	font-size:14px;
	padding:8px 3px 7px 45px;
	border:1px solid #91827d;
	border-radius:3px;
}
.category_list .elm a:hover {
	background:#f7f3ee !important;
}
.category_list .elm a .img {
	position:absolute;
	margin:auto;
	
	top:3px;
	left:3px;
	bottom:3px;
	width:32px;
	border-radius:3px;
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
}

@media screen and (max-width: 540px) {


}




.post_pager .items a {
  display: inline-block;
  background-color: #e5652c;
  color: #fff;
  font-size: 18px;
  padding: 10px 20px;
  border-radius: 5px;
  text-decoration: none;
  transition: opacity 0.3s ease;
}

.post_pager .items a:hover {
  opacity: 0.6;
}

/*
    アーカイブ  /  カテゴリ―
----------------------------------------*/
.widget-container ul {
	padding:0;
	margin:0;
}
.widget-container ul li {
	margin:0.3em auto;
	width:100%;
	max-width:120px;
	list-style:none;
}
.widget-container ul li a {
	position:relative;
	display:block;
	background:#fff;
	width:100%;
	font-size:13px;
	padding:3px;
	text-align:center;
	border:1px solid #1f77c3;;
	border-radius:2px;
}
.widget-container ul li a:hover {
	background:#effafa;
	color:#00497c;
}



　　


.posts_label {
	text-align:right;
}
.post_date {
	text-align:right;
}
.post_date span {
	background: #f19614;
	color: #fff;
	font-size: 0.9em;
	padding: 0 0.9em;
	text-align: center;
	border-radius: 3px;
}


/*===========================================================

  			Contact form 7     
    
============================================================*/
.form_box {
	background:#fffef4;
	max-width:790px;
	width:auto;
	margin:15px auto 0 auto; 
	padding:20px 3.8% 20px 5%;
	font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	border:1px solid #c9c9c9;
	color:#222 !important;
}

.form_exp {
	font-size:1.2em;
	padding:0.8em 0;
}

.form_exp span {
	color:#cc0000;
}
@media screen and (max-width:1000px) {
	.form_area {
		width:auto;
		margin:5px auto 40px auto;
	}
}
@media screen and (max-width: 767px) {
	body.contact .form_box {
		padding:12px 6px;
	}
}

.form_msg {
	width:auto;
	margin:0 0 50px 0; 
	padding:15px;
	font-size:1.1em;
	background:#f8f5c6;
	border:1px solid #c9c9c9;
	border-radius: 5px 5px 5px 5px;
	-moz-border-radius: 5px 5px 5px 5px;
	-webkit-border-radius:5px 5px 5px 5px;
}

.contact_exp p {
	line-height:1.6em;
	padding:0 0 2em 0;
}
span.wpcf7-list-item {
	margin:0;
	padding:0 1.4em 0 0;
}

.list-inline .wpcf7-list-item { display: inline !important; }

span.wpcf7-list-item span {
	margin:0;
	padding:1px;
}
.wpcf7 dl {
	width:99%;
}
.wpcf7 dl:after {
	content: " ";
	display: block;
	height:0;
	visibility: hidden;
	clear:both;
}
.wpcf7 dt {
	text-align:left;
	font-size:1.1em;
	margin:0 0 6px;
}
.wpcf7 dt span.sml {
	font-size:0.8em;
}
.wpcf7 dd {
	text-align:left;
	padding:2px;
	margin:0 0 26px;
}
span.label {
	padding:0 0.7em 0 0;
	width:15%;
	text-align:right;
	display:inline-block;
}
span.names {
	padding:0;
	width:28%;
	display:inline-block;
}
@media screen and (max-width:800px) {
	span.names {
		width:80%;

	}
}
span.ast {
	color:#CC3300;
	font-size:0.9em;
	padding:0 0 0 0.8em;
}
span.sml {
	font-size:0.7em;
	padding:0 0 0 0.8em;
}
span.ttls {
	font-size:1.25em;
	font-weight:bold;
	color:#333;
	padding:0;
	margin:0;
}
span.inline {
	padding:0 0.8em 0 0;
	display:inline-block;
}
.form_2 dd {
	height:220px !important;
}
.send_check {
	text-align:center;
	padding:1em;
	font-size:1.3em;
}
.wpcf7-list-item-label {
	font-size:1.2em;
	padding:0.7em 0.1em 0.3em 0.8em;
	display:inline-block;
}
.wpcf7 .ivent_name {
	background:#fff;
	padding:10px;
	width:36em;
	font-size:1.2em;
	border:1px solid #9c9c9c;
	margin:2px 0 0 0;
}

/*  基本入力フィールド 
----------------------------------------*/
.wpcf7 .inpp {
	background:#fff;
	padding:10px;
	width:8em;
	font-size: 1em;
	font-family: "Lucida Grande","Lucida Sans Unicode","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック",Helvetica,Arial,Verdana,sans-serif;
	border:1px solid #9c9c9c;
	margin:2px 0 0 0;
}
.wpcf7 .inp1 {
	background:#fff;
	padding:10px;
	width:41%;
	font-size: 1em;
	font-family: "Lucida Grande","Lucida Sans Unicode","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック",Helvetica,Arial,Verdana,sans-serif;
	border:1px solid #9c9c9c;
	margin:2px 0 0 0;
}
.wpcf7 .inp2 {
	background:#fff;
	padding:10px;
	width:65%;
	font-size: 1em;
	font-family: "Lucida Grande","Lucida Sans Unicode","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック",Helvetica,Arial,Verdana,sans-serif;
	border:1px solid #9c9c9c;
	margin:2px 0 0 0;
}
.wpcf7 .inp3 {
	background:#fff;
	padding:10px;
	width:99%;
	font-size: 1em;
	font-family: "Lucida Grande","Lucida Sans Unicode","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック",Helvetica,Arial,Verdana,sans-serif;
	border:1px solid #9c9c9c;
	margin:2px 0 0 0;
}
.wpcf7 .inp4 {
	background:#fff;
	padding:10px;
	width:65%;
	max-width:68px;
	font-size: 1em;
	font-family: "Lucida Grande","Lucida Sans Unicode","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック",Helvetica,Arial,Verdana,sans-serif;
	border:1px solid #9c9c9c;
	margin:2px 0 0 0;
}
.wpcf7 .inp_txtarea {
	background:#fff;
	padding:10px;
	width:99%;
	height:11em;
	font-size: 1em;
	font-family: "Lucida Grande","Lucida Sans Unicode","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック",Helvetica,Arial,Verdana,sans-serif;
	border:1px solid #9c9c9c;
	margin:2px 0 0 0;
}
.wpcf7 .inp_txtarea2 {
	background:#fff;
	padding:10px;
	width:99%;
	height:4em;
	font-size: 1em;
	font-family: "Lucida Grande","Lucida Sans Unicode","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック",Helvetica,Arial,Verdana,sans-serif;
	border:1px solid #9c9c9c;
	margin:2px 0 0 0;
}
.wpcf7-list-item-label {
	font-size: 1em;
	font-family: "Lucida Grande","Lucida Sans Unicode","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック",Helvetica,Arial,Verdana,sans-serif;
}
.wpcf7-date {
	width:7em !important;
	font-size:1.1em !important;
}
.wpcf7 select {
	background:#fff;
	padding:10px;
	width:62%;
	font-size: 1em;
	font-family: "Lucida Grande","Lucida Sans Unicode","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック",Helvetica,Arial,Verdana,sans-serif;
	border:1px solid #9c9c9c;
	margin:2px 0 0 0;
}
.mst {
	font-size:1.1em;
	padding:0.5em 0.3em 0.1em 1.0em;
}

/* 入力項目 フォーカスを打消し */
.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus
{
	border:1px solid #555;
	outline: none;
}
.wpcf7 .inp_txtarea:focus {
	outline: 1px solid #555;
}

/*
.wpcf7 input:focus,
.wpcf7 textarea:focus {
	background-color:#fff8dc !important;

	outline: none;

	border-width: 1px;
	border-style: solid;
	
	box-shadow: none !important;
	
	
	box-shadow: 0 0 8px rgba(100, 200, 255, 0.0);
	-webkit-box-shadow: 0 0 8px rgba(100, 200, 255, 0.0);
	-moz-box-shadow: 0 0 8px rgba(100, 200, 255, 0.0);
	-ms-box-shadow: 0 0 8px rgba(100, 200, 255, 0.0);
	-o-box-shadow: 0 0 8px rgba(100, 200, 255, 0.0);
	
}

*/
.wpcf7 .inp_txtarea:focus {
	border:none !important;
}


@media screen and (max-width: 767px) {
	.form_inner {
		width:auto;
		margin:10px;
	}
	.wpcf7 dt {
		/*
		width:100%;
		float:none;
		*/
		margin:0;
	}
	.wpcf7 dd {
		/*
		width:100%;
		float:none;
		*/
		font-size:1.0em;
		margin:0 0 0.6em 0 !important;
		padding:0 0.3em !important;
	}

	.wpcf7 .inp2,
	.wpcf7 .inp3,
	.wpcf7 .inp_txtarea
	{
		width:95.5%;
	}
}
.form_box .cr {
	display:inline;
}
@media screen and (max-width:1030px) {
	.form_box .cr {
		display:block;
	}
}

.wpcf7-acceptance {
	background:#f2f2f2;
	width:15px !important;
	border:none;
}

.sub_msg {
	font-weight:normal;
	font-size:11px;
	color:#FF6666;
}

/* 必須エラー（項目）*/
.wpcf7-not-valid-tip {
	float:right;
	width:210px;
	height:40px;
	line-height:1.2em;
	display:inline-block;
	*display: inline;  
    *zoom: 1;  
	padding:9px 0 0 6px;
}

span.title span.wpcf7-list-item {
	display: block;
	padding:0;
	margin:0 0 0 9px;
	line-height:0.5em;
}

@media screen and (max-width: 767px) {
	.wpcf7-not-valid-tip {
		float:none;
		width:auto;
		height:auto;
		display:block;
		padding:3px 0 0 1px;
	}
}

/* 確認、戻る、送信ボタン */
	

	
.wpcf7 input[type="submit"] {
	background:#db5d57;
	background-image: -webkit-linear-gradient(top, #db5d57, #cb3730);
	background-image: -moz-linear-gradient(top, #db5d57, #cb3730);
	background-image: -ms-linear-gradient(top, #db5d57, #cb3730);
	background-image: -o-linear-gradient(top, #db5d57, #cb3730);
	background-image: linear-gradient(to bottom, #db5d57, #cb3730);
	border:1px solid #e86f69;
	-webkit-border-radius:7px;
	-moz-border-radius: 7px;
	border-radius: 7px;
	font-family: "Lucida Grande","Lucida Sans Unicode","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック",Helvetica,Arial,Verdana,sans-serif;
	color: #ffffff !important;
	font-size:16px;
	font-weight:normal;
	padding: 9px 30px 10px 30px;
	text-decoration: none;
	white-space:nowrap;
	width:auto;
	text-align:center;
	position:relative;
	display:inline-block;
	margin:10px 9px 5px 9px;
}

.wpcf7 input[type="submit"]:hover {
	background: #db5d57;
	background-image: -webkit-linear-gradient(top, #e86f69, #d04d47);
	background-image: -moz-linear-gradient(top, #e86f69, #d04d47);
	background-image: -ms-linear-gradient(top, #e86f69, #d04d47);
	background-image: -o-linear-gradient(top, #e86f69, #d04d47);
	background-image: linear-gradient(to bottom, #e86f69, #d04d47);
}

.wpcf7 input[type="button"] {
	background:#db5d57;
	background-image: -webkit-linear-gradient(top, #db5d57, #cb3730);
	background-image: -moz-linear-gradient(top, #db5d57, #cb3730);
	background-image: -ms-linear-gradient(top, #db5d57, #cb3730);
	background-image: -o-linear-gradient(top, #db5d57, #cb3730);
	background-image: linear-gradient(to bottom, #db5d57, #cb3730);
	border:1px solid #e86f69;
	-webkit-border-radius:7px;
	-moz-border-radius: 7px;
	border-radius: 7px;
	font-family: "Lucida Grande","Lucida Sans Unicode","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック",Helvetica,Arial,Verdana,sans-serif;
	color: #ffffff !important;
	font-size:16px;
	font-weight:normal;
	padding: 9px 30px 10px 30px;
	text-decoration: none;
	white-space:nowrap;
	width:auto;
	text-align:center;
	position:relative;
	display:inline-block;
	margin:0 9px;
}

.wpcf7 input[type="button"]:hover {
	background: #db5d57;
	background-image: -webkit-linear-gradient(top, #e86f69, #d04d47);
	background-image: -moz-linear-gradient(top, #e86f69, #d04d47);
	background-image: -ms-linear-gradient(top, #e86f69, #d04d47);
	background-image: -o-linear-gradient(top, #e86f69, #d04d47);
	background-image: linear-gradient(to bottom, #e86f69, #d04d47);
}

#submit_btn {
	background:#73c0dc;
	color:#fff;
	font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	font-weight:bold;
	font-size:1.3em;
	width:220px;
	height:60px;
	margin:0 auto; 
	position:relative;
	display:block;
	letter-spacing:1em;
	padding:7px 0 0 20px;
	border:1px solid #73c0dc;
	border-radius: 5px 5px 5px 5px;
	-moz-border-radius: 5px 5px 5px 5px;
	-webkit-border-radius:5px 5px 5px 5px;
}

#submit_btn:hover {
	cursor:pointer;
	filter:alpha(opacity=80);
    -moz-opacity: 0.8;
    opacity: 0.8;
}
.pp_box {
	padding:0.8em 1.5em 1.5em 1em;
	width:auto;
	height:230px;
	/height:460px;
	background:#f2f2f2;
	overflow:scroll;
	overflow-x:hidden;
	border:1px solid #c9c9c9;
	border-radius: 5px 5px 5px 5px;
	-moz-border-radius: 5px 5px 5px 5px;
	-webkit-border-radius:5px 5px 5px 5px;
}
.pp_box h3 {
	text-align:left;
}
.pp_box p {
	text-align:left;
	font-size:0.95em;
}
.pp_box .wp_social_bookmarking_light {
	display:none;
}
.pp_name {
	float:right;
	padding:1em 2em 1em 1em;
}
.pp_h4 {
	border:none;
	padding:1em 0 0 0;
	margin:0;
}
.side_tel {
	font-size:1.4em;
	line-height:1.8;
}
.form_ttl {
	font-size:1.2em;
	font-weight:bold;
	margin:1.1em 0 0 0;
}
.form_box ul.kome {
	padding-left:0.5em inherit;
	margin:0 !important;
}
.form_box ul.kome li {
	padding:0;
	margin:0;
	text-indent:-1em;
    list-style-type:none;
	color: #e26c03;
}
@media screen and (max-width: 767px) {
	.pp_box h2 {
		font-size:14px !important;
	}
	.pp_box h3 {
		font-size:13px !important;
	}
	.pp_box p {
		text-align:left;
		font-size:12px !important;
	}
	.pp_box ul li {
		text-align:left;
		font-size:12px !important;
	}
}

/*---------------------------------------

  			404
  
----------------------------------------*/

.err_img {
	text-align:center;
}

.err_img img {
	width:100%;
	max-width:640px;
	height:auto;
	margin:0 auto;
}

/*---------------------------------------

  			404
  
----------------------------------------*/
.e_msg {
	font-family: 'Oswald', sans-serif;
	font-size:3.2em;
	text-align:center;
}

/*---------------------------------------

   SPAM対策 reCAPTCHAマークを非表示
  
----------------------------------------*/
.grecaptcha-badge {
	visibility: hidden;
}
body.contact .grecaptcha-badge { 
	visibility: visible;
	bottom: 72px !important;
}


/* 250723追加 */

.post-pager-flex {
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 40px;
}

.post-pager-flex .items a {
  display: inline-block;
  background-color: #e5652c;
  color: #fff;
  font-size: 18px;
  padding: 10px 20px;
  border-radius: 5px;
  text-decoration: none;
  transition: opacity 0.3s ease;
  white-space: nowrap;
}

.post-pager-flex .items a:hover {
  opacity: 0.6;
}

@media screen and (max-width: 767px) {
  .post-pager-flex {
    flex-wrap: nowrap;
	justify-content: center;
	gap: 15px;
  }

  .post-pager-flex .items a {
    font-size: 14px;
    padding: 6px 10px;
  }
}

	.br-sp {
		display: none;
	}
	.br-pc {
		display: block;
	}

@media screen and (max-width: 767px) {
	.page_header h2 {
	font-size: 30px;
	top: 30%;
	}

	.page_header .ttl_eng_services,
	.page_header .ttl_eng_works,
	.page_header .ttl_eng_process,
	.page_header .ttl_eng_contact {
		top: 70%;
	}

	.intro_ttl {
		text-align: left;
		font-size: 1.8rem;
	}
	.br-sp {
		display: block!important;
	}

	.br-pc {
		display: none!important;
	}

	article.hd h3 {
		font-size:1.5rem;
	}

	.intro .ctxt {
		text-align: left!important;
	}

	.cnt p {
		text-align: left !important;
	}

  .prc_page_block .wrap {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .prc_page_block .wrap .icon {
    width: 100%;
    max-width: 290px;
    height: 160px; /* ← これ重要！高さを必ず指定 */
    margin-bottom: 20px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }

  .prc_page_block .wrap .txt {
    width: 100%;
    font-size: 16px;
  }

  .prc_page_block .elm::after {
	bottom: -70px;
  }

  .prc_page_block .elm h3 {
	margin: 0 auto 30px auto;
  }

  .prc_page_block .elm {
	margin: 50px auto 105px auto;
  }

  	section.submit .intro {
		font-size:21px;
		padding:3.6% 1.3%;
	}
	section.submit ul.point li {
		display: block;
		font-size:15px;
		height:18px;
		line-height:18px;
		margin: 0 0 10px 0;
		padding:0 0 0 20px;
		text-align: left;
	}

	section.submit ul.point li {
		margin: 20px 0 40px 0;
	}

  .slider_inner {
    animation: loop_sp 60s linear infinite;
	padding-right: 80px;
  }

  @keyframes loop_sp {
    0% {
      transform: translateX(100%);
    }
    100% {
      transform: translateX(-100%);
    }
  }
	
}

