@charset "UTF-8";
/* PC用CSS */
* {
    -webkit-box-sizing:border-box;
    -moz:box-sizing:border-box;
    box-sizing:border-box;
}

img{
-webkit-backface-visibility: hidden;
}

:root {
  --main-bg: #000;/*228c1f#1D751B*/
  --main-color: #BE0E29;
  --sub-color: #666;/*AA0021*/
  --btn-color:#555;/*#bb112b;*/
  --btn-bg:#eee;
}


/* background-color: var(--main-color);*/

#page-top{position: fixed;
bottom:1%;
right:4px;
}

#page-top i {
background-color: rgba(46, 46, 46, 0.7);
border-radius: 10px;
display: flex;
justify-content: center;
align-items: center;
flex-wrap: wrap;
line-height: 44px;
width: 44px;
}

figure, figcaption
{margin:0; padding:0;}

aside, footer, header, nav, section{
display: block;
margin:0;
padding:0;
}
html{font-size: 62.5%;/* 10px */}
body{
font-size: 1.4rem;/*14px*/
padding: 0;
margin: 0;
}

a:link{color:#111;text-decoration:underline;}
a:visited{color:#111;text-decoration:underline;}
a:hover{color:#111;text-decoration:none;}
a:active{color:#111;text-decoration:underline;}
a.borde_none:link{text-decoration:none;}

.logobox a .logo {
display: inline-block;
width: 244.53px;
height: 60px;
background: url(../img/logo.png) no-repeat;
background-size: cover;
white-space: nowrap;
text-indent: 100%;
overflow: hidden;
}
@media print, screen and (min-width: 768px) {
					#page-top{position: fixed;
					bottom: 2%;
					right: 20px;
					}

					body{
					width:100%;
					line-height: 1.7;
					font-family: "Helvetica Neue",
					Arial,
					"Hiragino Kaku Gothic ProN",
					"Hiragino Sans",
					Meiryo,
					sans-serif;
					color: #111;
					scroll-behavior: smooth;
					}

					a[href^="tel:"] {pointer-events: none;}
					.pcno{display:none !important;}
					.ya_smp {
					display: none;
					}

					/*余白*/
					.mb05em {margin-bottom:0.5em;}
					.mb1em {margin-bottom:1em;}
					.mb2em {margin-bottom:2em;}
					.mb3em {margin-bottom:3em;}
					.mb5em {margin-bottom:5em;}
					.mb10{ margin-bottom:10px;}
					.mb15{ margin-bottom:15px;}
					.mb30{ margin-bottom:30px;}
					.mb70{ margin-bottom:70px;}
					.mb50{ margin-bottom:50px;}
					.mb100{ margin-bottom:100px;}
					.mt30pc{margin-top: 30px;}
					.mt70{margin-top: 70px;}
					.pad50{padding: 50px;}
					.pad40{padding: 40px;}
					header {
					margin-left: auto; margin-right: auto;
					min-height: 100px;
					box-sizing: border-box;
					display:flex;
					justify-content:center;
					align-items:flex-start;
					flex-wrap:wrap;
					text-align: center;
					background-color: #000;
					}

					.logoarea {
					max-width: 1140px;
					width: 100%;
					margin-left: auto; margin-right: auto;
					box-sizing: border-box;
					display: block;
					text-align: center;
					}


					.logobox {
					float: left;
					margin-top: 16px;
					}


.pcno{display:none;}

}/**./@media print, screen and (min-width: 768px)***********************************/
/*************************************/
/*************************************/




ul, ol, dl,dt,dd,div,ol,ul,li,figure,figcaption {
padding: 0;
margin: 0;
}
h1, h2, h3, h4, h5, h6, p {
margin:0;
padding:0;
font-weight:normal;
font-size:100%;
}
li {list-style-type:none;}
.mb1{
margin-bottom: 1em;}
.mb2{
margin-bottom: 2em;}
.mt1{
margin-top: 1em;}
.ml1{
margin-left: 1em;}
.ml2{
margin-left: 2em;}
/* form */
button, fieldset, form, input, label, legend, select, textarea {
font-family:inherit;
font-size:100%;
font-style:inherit;
font-weight:inherit;
margin:0;
padding:0;
vertical-align:middle;
}
a {outline:none;border:0;}
a:hover img,
input[type="image"]:hover{
opacity:0.5;
-moz-opacity: 0.5;
filter: alpha(opacity=50);
-ms-filter: "alpha( opacity=50 )";
}

a:hover{
opacity:0.5;
filter: alpha(opacity=50);
-ms-filter: "alpha( opacity=50 )";
}


table {
border-collapse:collapse;
border-spacing:0;
}
a:link{color:#1E3F84;text-decoration:none;}
a:visited{color:#1E3F84;text-decoration:none;}
a:hover{color:#e50202;text-decoration:underline;}
a:active{color:#1E3F84;text-decoration:none;}

.top_info_ttl a:link{color:#fff;text-decoration:none;}
.top_info_ttl a:visited{color:#fff;text-decoration:none;}
.top_info_ttl a:hover{color:#fff;text-decoration:none;}
.top_info_ttl a:active{color:#fff;text-decoration:none;}


img {vertical-align: middle;border:0;}
.pem p{
margin-bottom: 1em;}
/*位置と状態*/
.left{float:left;}
.right{float:right;}
.clear{clear:both;}
.cen{text-align:center;}
.r{text-align:right;}
.l{text-align:left;}
.bold{font-weight:bold;}
.red{color:red;}

.jisage{
padding-left:1em;
text-indent:-1em;
}
input[type="checkbox"],
input[type="radio"],
input[type="text"],
select{
margin-right: 4px;
}

.top_info{
background-color: #EEEEEE;
z-index: 1;
}



.top_info_ttl p{
font-size: 2.8rem;
color:#fff;
background-color: var(--main-bg);
display: inline-block;
}


.top_info_ttl a::after {
content: '';
width: 26px;
position: absolute;
top: 13px;
right: 26px;
border-bottom: solid 1px #fff;
}



.mainimg img{
width: 100%;
}
/*-------*/
.mainimg{
width: 100%;
overflow: hidden;
position: relative;
aspect-ratio: 1920/1080; /*横縦*/
object-fit: cover;
}

.mainimg img{
width: 100%;
}

/* kv */
.kv{
display: flex;
justify-content: center;
align-items: flex-start;
font-family: 'Noto Sans JP',"游ゴシック",YuGothic,"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",sans-serif;

width: 100%;
aspect-ratio: 1920/1080; /*横縦*/
}
.kv .catch-copy{
margin-top: 6%;
text-align: center;
z-index: 4;
}
.kv .main-copy{
color: #fff;
font-weight: bold;
line-height: 1.4;
margin-bottom: 10px;
font-size: clamp(10px, 30 / 768 * 100vw, 30px)
}

.kv .sub-copy span{
color: var(--sub-color);
}
.kv .sub-copy{
text-align: center;
max-inline-size: max-content;
margin-inline: auto;
/*横幅375pxのアートボード上で30pxの文字*/
font-size: clamp(10px, 20 / 768 * 100vw, 20px)
}

/* video */
.video{
width: 100%;
aspect-ratio: 1920/1080; /*横縦*/
object-fit: cover;
/*background: url(../img/kv_bg_bg.png) no-repeat center/cover;*/
position: absolute;
top: 0;
left: 0;
overflow: hidden;
z-index:0;
}


.video video{
min-width: 100%;
min-height: 100%;
width: 100%;
aspect-ratio: 1920/1080; /*横縦*/
object-fit: cover;
height: auto;
position: absolute;
top: 50%;
left: 50%;
transform: translateX(-50%) translateY(-50%);
z-index:10;
}

.mainimg .logo_top_kv{
position: absolute;
top: 64%;
left: 50%;
transform: translateX(-50%) translateY(-50%);
width: 9%;
z-index:11;
}

@media screen and (min-width: 768px) {
  /* kv */
					.kv{
					max-width: 1140px;
					width: 100%;
					max-inline-size: max-content;
					margin-inline: auto;
					}

					.kv .main-copy{
					font-size: 46px;
					}

					.kv .sub-copy{
					font-size: 22px;
					}
}

/*-------*/



.top_info_bkcss_bg{
/*background-color: #eee;*/
}
.top_info_txt dt{
font-size: 1.4rem;
color:#888;
}
.top_info_txt dt span{
font-size: 1rem;
border: solid 1px var(--main-color);
display: inline-block;
color:var(--main-color);
margin-left: 0.4em;
padding: 0 0.5em;
}
.top_info_txt dd{
font-size: 1.6rem;
}

.top_info_txt dl{
margin-bottom: 1rem;
}
.top_about_li a{
text-decoration: none;
}
@media print, screen and (min-width: 768px) {
					.section1 {
					display: flex;
					font-size: 16px;
					position: relative;
					color: #fff;
					width: 30%;
					min-height: 350px;
					background-color: var(--main-bg);

					}

					.section1 img{
					margin-right: 0;
					position: absolute;
					right: -1px;
					top:0;
					}

					.section_box{
					width: 30%;
					position: relative;
					height: 352px;
					background-color: var(--main-bg);
					}
					.top_info_txt{
					padding: 80px 0;
					width: 70%;
					}
					.top_info_scroll{
					height:200px;
					overflow-y: auto;
}
					.top_info_bkcss{
					/*position: absolute;
					left: 0;
					top:0;
					z-index: -2;
					width: 100%;
					min-height: 350px;*/
					}
					.section_aerea{
					overflow: hidden;
					position: relative;
					height: 352px;
					background-color:  #eee;
					
					}
					.top_info_ttl{
					width: calc(28% - 50px);
					height: 140px;
					position: absolute;
					left: 50px;
					top:120px;
					z-index: 100;
					}

					.top_info_up{
					position: absolute;
					left: 50%;
					transform: translateX(-50%);
					top:0;
					z-index: 10;
					max-width: 1140px;
					width: 100%;
					min-height: 352px;
					display: flex;
					
					}



					.top_info_ttl a{
					font-size: 1.4rem;
					color:#fff;
					background-color: var(--main-bg);
						font-family: 'Noto Sans JP',"游ゴシック",YuGothic,"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",sans-serif;
					position: relative;
					display: block;
					min-width: 160px;
					}

					.top_info_ttl a::before {
					content: '';
					width: 10px;
					position: absolute;
					top: 10px;
					right: 25px;
					border-top: solid 1px #fff;
					-webkit-transform: rotate(
					45deg);
					transform: rotate(
					45deg);
					}
					
					.top_business_li{
					padding: 0 60px;
					margin-bottom: 100px;
					margin-left: auto; margin-right: auto;
					
					}
					.jirei_cls .top_business_li{
					margin-bottom: 40px;
					}
					.top_business_li li{
					display: inline-block;
					width: 31%;
					margin-right: 3%;
					margin-bottom: 50px;
					vertical-align: top;
					}
					.top_business_li li:nth-child(3n){
					margin-right: 0%;
					}
					/*ABOUT 当社の特徴*/
					.bk_topabout {
					width:100%;
					background: url(../img/top_bk_about.png) no-repeat center 0;
					background-size:100%;
					padding: 300px 0 0 0;
					margin: 0 0 100px 0;
					}

					.whitebox {
					max-width: 1140px;
					background: #fff;
					margin-left: auto; margin-right: auto;
					overflow: hidden;
					}
					

					.top_about_li p{
					background-color:  var(--main-bg);
					color: #fff;
					position: relative;
					line-height: 2;
					font-size: 1.8rem;
					font-family: 'Noto Sans JP',"游ゴシック",YuGothic,"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",sans-serif;
					padding: 10px;
					}
					.top_about_li li{
					margin-bottom: 36px;
					max-width: 48%;
					}
					.top_about_li li img{
					max-width: 100%;
					}
					.top_about_li p::before{
					content: '';
					width: 10px;
					position: absolute;
					top: 27px;
					right: 25px;
					border-top: solid 1px #fff;
					-webkit-transform: rotate(45deg);
					transform: rotate(45deg);
					}
					.top_about_li p::after{
					content: '';
					width: 26px;
					position: absolute;
					top: 30px;
					right: 26px ;
					border-bottom: solid 1px #fff;
					}
					.bk_top_recommend {
					width:100%;
					background: url(../img/top_bk_recommend.png) no-repeat center 0;
					background-size:100%;
					padding: 30vh 0 0 0;
					margin: 0 0 100px 0;
					display: block;
					}
					.top_recommend_li_in p{
					font-size: 18px;
					}
					.top_recommend_li_in{
					width: calc(100% - 260px);
					}
					.top_recommend_li_in .ttl_txt01{
					margin-bottom: 20px;
					}
					footer{
					padding: 0px 0 30px 0;
					}
					footer .inner {
					max-width: 1140px;
					padding-top: 60px;
					margin: 0 auto 30px auto;
					display: flex;
					flex-wrap: wrap;
					/* justify-content: space-between; */
					}
					footer .inner ul{
					display:flex;
					justify-content:space-evenly;
					align-items:flex-start;
					flex-wrap:wrap;
					margin-inline: auto;
					text-align: center;
					}
					footer .inner ul li{
					margin-inline: 10px;
					}
					.foot_dl{
					max-width: 860px;
					display: block;
					margin-inline: auto;
					}
					.foot_dl dl{
					display: inline-block;
					width: 250px;
					margin-right: 20px;
					margin-bottom: 30px;
					vertical-align: top;
					}
					.foot_dl dl dt{
					color: #fff;
					border-bottom: 1px solid #fff;
					margin: 0 0 0.5em 0;
					padding: 0 0 0.3em 0;
					}
					.btn_03 {
					width: 600px;
					margin-left: auto; margin-right: auto;
					}
					.layer_w{
					max-width: 1140px;
					margin-left: auto; margin-right: auto;
					overflow: hidden;
					}
					.flow_txtarea .btn_02 {
					width: 380px;}
}/**./@media print, screen and (min-width: 768px)***********************************/
/*************************************/
/*************************************/


.foot_dl dl dd a{
display: block;
margin-left: 0.5em;
}

footer a:link{color:#fff;text-decoration:none;}
footer a:visited{color:#fff;text-decoration:none;}
footer a:hover{color:#fff;text-decoration:underline;}
footer a:active{color:#fff;text-decoration:none;}


.copyright {
text-align: center;
font-size: 1.2rem;
padding: 10px 0;
}

footer{
background-color: var(--main-bg);
color: #fff;
}
.foot_pagetop{
background-color: #666;
line-height: 70px;
color: #fff;
text-align: center;
width: 100%;
}
.foot_pagetop i{
color: #fff;
font-size: 50px;

}
.top_recommend_li li{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	flex-wrap:wrap;
	margin-bottom: 30px;
}


.top_about_li{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	flex-wrap:wrap;
}

.top_about_li a:hover{
text-decoration: none;
}


.top_business_li li img{width: 100%;
margin-bottom: 20px;
	@media (768px <= width) {
	object-fit: cover;
	aspect-ratio: 500/270; /*横縦*/
	 }/* 768px以上 */
}

.ttl001{
font-size: 2.2rem;
font-weight: bold;
color: var(--main-bg);
}
.jirei_cls .ttl001{
line-height: 1.4;
margin-bottom: 10px;
padding-right: 2em;
}
.ttl_txt01{
font-size: 2.4rem;
font-weight: bold;
color: var(--main-bg);
}
.top_business_li a:link{color:#222;text-decoration:none;}
.top_business_li a:visited{color:#222;text-decoration:none;}
.top_business_li a:hover{color:#222;text-decoration:none;}
.top_business_li a:active{color:#222;text-decoration:none;}



.linkarrow{
width: 100%;
line-height: 2;
position: relative;
display: block;
color: var(--main-bg);
}

.linkarrow::before{
content: '';
width: 10px;
position: absolute;
top: 40%;
right: 5px;
border-top: solid 1px var(--main-bg);
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
.linkarrow::after{
content: '';
width: 26px;
position: absolute;
top: calc(40% + 3px);
right: 6px ;
border-bottom: solid 1px var(--main-bg);
}


.btn_01 {
display: inline-block;
height: 52px;
line-height: 52px;
color: var(--main-bg);
position: relative;
font-size: 1.8rem;
cursor: pointer;
padding-right: 2em;
}
.btn_01::before{
content: '';
width: 10px;
position: absolute;
top: 23px;
right: 5px;
border-top: solid 1px var(--main-bg);
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
.btn_01::after{
content: '';
width: 26px;
position: absolute;
top: 26px;
right: 6px ;
border-bottom: solid 1px var(--main-bg);
}
.btn_01:link {color:var(--main-color); text-decoration: none;}
.btn_01:visited {color:var(--main-color); text-decoration: none;}
.btn_01:hover {color:var(--main-color); text-decoration: none;opacity: 0.7;}
.btn_01:active {color:var(--main-color); text-decoration: none;}

.btn_02 {
width: 26%;
height: 68px;
line-height: 68px;
color: #fff;
position: relative;
font-size: 1.8rem;
cursor: pointer;
background-color:var(--btn-color);
border: 1px solid var(--btn-color);
}
.flow_txtarea .btn_02 {
display: inline-block;
text-align: center;
}
.btn_02::before{
content: '';
width: 10px;
position: absolute;
top: 29px;
right: 15px;
border-top: solid 1px #fff;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
.btn_02::after{
content: '';
width: 26px;
position: absolute;
top: 32px;
right: 16px ;
border-bottom: solid 1px #fff;
}
.btn_02:link {color:#fff; text-decoration: none;}
.btn_02:visited {color:#fff; text-decoration: none;}
.btn_02:hover {color:#fff; text-decoration: none;opacity: 0.7;}
.btn_02:active {color:#fff; text-decoration: none;}

.btn_03 {
height: 68px;
line-height: 68px;
color: var(--main-color);
position: relative;
font-size: 1.8rem;
cursor: pointer;
background-color: #fff;
border: 1px solid var(--main-color);
display: block;
text-align: center;
}
.btn_03::before{
content: '';
width: 10px;
position: absolute;
top: 29px;
right: 25px;
border-top: solid 1px var(--main-color);
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
.btn_03::after{
content: '';
width: 26px;
position: absolute;
top: 32px;
right: 26px ;
border-bottom: solid 1px var(--main-color);
}
.btn_03:link {color:var(--main-color); text-decoration: none;}
.btn_03:visited {color:var(--main-color); text-decoration: none;}
.btn_03:hover {color:var(--main-color); text-decoration: none;opacity: 0.5; background-color:#eee;}
.btn_03:active {color:var(--main-color); text-decoration: none;}


.title_top span{
font-size: 1.4rem;
color: var(--sub-color);
display: block;
}
.title_top{
margin-left: auto; margin-right: auto;
text-align: center;
font-family: 'Noto Sans JP',"游ゴシック",YuGothic,"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",sans-serif;
font-size: 3.4rem;
color:var(--main-bg);
}


.section_aereabg{
background-color: #f6f6ef;
overflow: auto;
}

.ttl_area{
font-family: 'Noto Sans JP',"游ゴシック",YuGothic,"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",sans-serif;
display: flex;
}

.ttl_000{
width: 50%;
}

.ttl_000_l{
width: 50%;
}



@media print, screen and (min-width: 768px) {
					.ttl_area{
					max-width: 1140px;
					margin-left: auto; margin-right: auto;
					}
					.ttl_txt{
					font-size: 4rem;
					margin-top: 160px;
					margin-bottom: 50px;
					}
					.ttl_000{
					font-size: 13.6rem;
					margin-top: 80px;
					}
					.ttl_000 span{
					font-size: 10rem;
					line-height: 1;
					display: inherit;
					}
					.layer_cache{
					padding-top: 70px;
					margin: 0px auto 40px auto;}
					.contact_posi{
					padding-top: 50px;
					margin-bottom: 60px;
					}
					#jirei .layer_cache{
					font-weight: bold;
					font-size: 1.8rem;
					padding-top: 30px;
					text-align: left;}
					.contact_posi2{
					padding-top: 50px;
					margin-bottom: 80px;
					}
					.contact_posi2 .contact_box{
					width: 860px;
					margin-left: 90px;
					margin-bottom: 40px;
					}
					.contact_posi2 .contact_box th {
					width: 270px;}
					.notice ul {
						width: 750px;}
					.btngroup {
						width: 580px;
						margin: 0 auto 100px;
						display: flex;
						flex-wrap: wrap;
						justify-content: space-between;
					}
				.btn_modoru,
				.btn_soshin {
					width: 44%;}
					
					.footcontact{
					padding-top: 60px;
					margin-bottom: 60px;
					}
					
					.staff_li li{
					margin-bottom: 70px;
					}
					.staff_name{
					font-size: 3.6rem;
					padding-bottom: 20px;
					margin-bottom: 40px;
					border-bottom: 3px solid #000;
					font-weight: bold;
					}
					.staff_name span{
					font-size: 1.6rem;
					display: inline-block;
					margin-left: 1em;
					font-weight: normal;
					}
					.staffbox{
						display:flex;
					justify-content:space-between;
					align-items:flex-start;
					flex-wrap:wrap;
					}
					.staffbox_r{
					width: calc(100% - 440px);
					}
					.staffbox img{
					width: 400px;
					}
					.staff_prof dt{
					width: 150px;
					float: left;
					text-align: center;
					}
					.staff_prof dd{
					margin-left: 180px;
					margin-bottom: 10px;
					font-size: 1.6rem;
					}
					.path{
					max-width: 1140px;
					margin-left: auto; margin-right: auto;
					}
}/**./@media print, screen and (min-width: 768px)***********************************/
/*************************************/
/*************************************/
.staff_prof dt{
font-size: 1.5rem;
background-color: #111;
color: #fff;
}
.staff_prof{
margin-bottom: 30px;
}


.staff_info dt{
font-size: 1.8rem;
font-weight: bold;
color: var(--sub-color);
border-left: 4px solid var(--sub-color);
padding-left: 13px;
margin-bottom: 10px;
}
.staff_info dd {
font-size: 1.6rem;
padding-left: 16px;
margin-bottom: 20px;
}

.footcontact .contact_tel_posi a.tel:link{color:var(--main-bg);text-decoration:none;}
.footcontact .contact_tel_posi a.tel:visited{color:var(--main-bg);text-decoration:none;}
.footcontact .contact_tel_posi a.tel:hover{color:var(--main-bg);text-decoration:none;}
.footcontact .contact_tel_posi a.tel:active{color:var(--main-bg);text-decoration:none;}
.footcontact .contact_tel_posi a.tel:before {color:var(--main-bg);
}


.ttl_000{
color: #f3f3f3;
}
.ttl_000{
font-family: 'Noto Sans JP',"游ゴシック",YuGothic,"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",sans-serif;
font-weight: 100;
font-style: italic;
line-height: 1;
font-feature-settings: "palt" 1;
letter-spacing: -0.04em
}


.path a:link{color:#a3a3a3;text-decoration:none;}
.path a:visited{color:#a3a3a3;text-decoration:none;}
.path a:hover{color:#a3a3a3;text-decoration:underline;}
.path a:active{color:#a3a3a3;text-decoration:none;}

.layer_cache{
text-align: center;
font-size: 1.6rem;
}
.layer_cache_l{
text-align: left;
font-size: 1.6rem;
margin-bottom: 60px;
}

.contact_posi2 .contact_box table{
width: 100%;
}
.contact_posi2 .contact_box th {
font-weight: normal;
padding: 10px 2% 0px 2%;
vertical-align: top;
text-align: left;
font-size: 1.6rem;
}
.contact_posi2 .contact_box th p{
margin-top: 10px;
}
.contact_posi2 .contact_box td{
padding: 10px 2% 20px 2%;
font-size: 1.5rem;
}
.contact_posi2 .contact_box td textarea {
width: 100%;
height: 170px;
border-radius: 4px;
padding: 10px 12px;
border: 1px solid #aaa;
outline: none;
}
.contact_posi2 .contact_box th span.ninni{
background: #868686;
}
.contact_posi2 .contact_box td li {
    margin: 0 0 10px 0;
}
.contact_posi2 .contact_box th span{
display: inline-block;
background: #d60000;
text-align: center;
font-size: 1.4rem;
padding: 1px 6px;
color: #fff;
margin-right: 10px;
}
.contact_cache{
text-align: center;
font-size: 1.8rem;
margin-bottom: 20px;
}
input[type="checkbox"] {
transform: scale(1.5);
margin: 0 4px;
}
.contact_posi2 .contact_box input[type="text"] {
margin: 4px 0 0;
border-radius: 4px;
padding: 4px 12px;
border: 1px solid #aaa;
outline: none;
height: 48px;
font-size: 1.5rem;
}
.contact_posi2 .contact_box input.w100{
width: 100%;
}
.contact_posi2 .contact_box input.w50{
width: 50%;
}
.notice {
	margin-left: auto; margin-right: auto;
	margin-bottom: 30px;
}
.notice ul {
	margin-left: auto; margin-right: auto;
}
.notice ul li {
	margin: 0 0 0.5em 0;
	list-style-type : disc;
}
.notice ul li a:link,
a.colorwhite:link {color: #222;text-decoration: none;}
.notice ul li a:visited,
a.colorwhite:visited {color: #222;text-decoration: none;}
.notice ul li a:hover,
a.colorwhite:hover {color: #222;text-decoration: underline;}
.notice ul li a:active,
a.colorwhite:active {color: #222;text-decoration: none;}

.contact_tel_posi{
	display:flex;
	justify-content:center;
	align-items:center;
	flex-wrap:wrap;
margin-bottom: 20px;
}

.contact_tel_posi a.tel{
display: block;
color: var(--main-color);
font-size: 5.4rem;
margin-right: 14px;
}
.contact_tel_posi a.tel:link{color:var(--main-color);text-decoration:none;}
.contact_tel_posi a.tel:visited{color:var(--main-color);text-decoration:none;}
.contact_tel_posi a.tel:hover{color:var(--main-color);text-decoration:none;}
.contact_tel_posi a.tel:active{color:var(--main-color);text-decoration:none;}
.contact_tel_posi a.tel:before {
font-family: 'FontAwesome';
content: '\f095';
display: inline-block;
width: 1.2em;
text-align: center;
font-size: 1.0em;
}

.contact_tel_posi_r p{
display: block;
font-size: 2.2rem;
}

.contact_tel_posi_r {}

.imgcen{
display: block;
margin-left: auto; margin-right: auto;
text-align: center;
}


.link_black a:link{color:#111;text-decoration:underline;}
.link_black a:visited{color:#111;text-decoration:underline;}
.link_black a:hover{color:#111;text-decoration:none;}
.link_black a:active{color:#111;text-decoration:underline;}

.btn_soshin {
	display: block;

	height: 68px;
	line-height: 68px;
	text-align: center;
	color: #fff;
	position: relative;
	background:var(--btn-color) ;
	border: none;
	cursor: pointer;
	font-size: 1.8rem;
}
.btn_modoru {
	display: block;
	height: 68px;
	line-height: 68px;
	text-align: center;
	color: #222;
	background: #ccc;
	border: none;
	cursor: pointer;
	font-size:2rem;
	position: relative;
}
.btn_soshin:hover,
.btn_modoru:hover {color:#fff; text-decoration: none;opacity: 0.7;}


.thanks01{
text-align: center;
margin-left: auto; margin-right: auto;
font-size: 2rem;
margin-bottom: 2rem;
}
.ttl_bg {
position: relative;
background-size: cover !important;
aspect-ratio: 1920/500; /*横縦*/
object-fit: cover;
box-sizing: border-box;
margin-left: auto;
margin-right: auto;
text-align: center;
vertical-align: middle;
width: 100%;
}


.ttl_flow{
background: url(../img/ttl_flow.png) center center / cover no-repeat;
}

.ttl_form_corporate{
background: url(../img/ttl_form_corporate.png) center center / cover no-repeat;
}
.ttl_form_personal{
background: url(../img/ttl_form_personal.png) center center / cover no-repeat;
}
.ttl_sell{
background: url(../img/ttl_sell.png) center center / cover no-repeat;
}
.ttl_privacy{
background: url(../img/ttl_privacy.png) center center / cover no-repeat;
}
.ttl_download{
background: url("../img/ttl_download.png") center center / cover no-repeat;
}
.ttl_owner{
background: url(../img/ttl_owner.png) center center / cover no-repeat;
}
.ttl_sitemap{
background: url(../img/ttl_sitemap.png) center center / cover no-repeat;
}
.ttl_info{
background: url(../img/ttl_info.png) center center / cover no-repeat;
}
.ttl_company{
background: url(../img/ttl_company.png) center center / cover no-repeat;
}
.ttl_business{
background: url(../img/ttl_business.png) center center / cover no-repeat;
}
.ttl_staff{
background: url(../img/ttl_staff.png) center center / cover no-repeat;
}
.ttl_contact{
background: url(../img/ttl_contact.png) center center / cover no-repeat;
}
.ttl_recruit{
background: url(../img/ttl_recruit.png) center center / cover no-repeat;
}
.ttl_jirei{
background: url(../img/ttl_jirei.png) center center / cover no-repeat;
}
.ttl_work-scenes{
background: url(../img/ttl_work-scenes.png) center center / cover no-repeat;
}

.ttl_all .ttl_000_l .ttl_txt,
.ttl_download .ttl_000_l .ttl_txt,
.ttl_business .ttl_000_l .ttl_txt,
.ttl_sitemap .ttl_000_l .ttl_txt,
.ttl_info .ttl_000_l .ttl_txt,
.ttl_sell .ttl_000_l .ttl_txt,
.ttl_form_corporate .ttl_000_l .ttl_txt,
.ttl_form_personal .ttl_000_l .ttl_txt,
.ttl_sell .ttl_000_l .ttl_txt,
.ttl_privacy .ttl_000_l .ttl_txt,
.ttl_contact .ttl_000_l .ttl_txt,
.ttl_staff .ttl_000_l .ttl_txt,
.ttl_company .ttl_000_l .ttl_txt,
.ttl_owner .ttl_000_l .ttl_txt,
.ttl_flow .ttl_000_l .ttl_txt{
color: #fff;
text-align: left;
margin-bottom: 2rem;
}
.ttl_sitemap .ttl_000{
font-size: 14rem;
opacity: .8;
text-align: left;
line-height: 1;
}
.ttl_staff .ttl_000{
font-size: 17rem;
opacity: .8;
text-align: left;
line-height: 1;
}
.ttl_form_corporate .ttl_000{
font-size: 9rem;
opacity: .8;
text-align: left;
}
.ttl_all .ttl_000,
.ttl_download .ttl_000,
.ttl_business .ttl_000{
font-size: 10rem;
opacity: .8;
text-align: right;
}

.ttl_info .ttl_000,
.ttl_form_personal .ttl_000,
.ttl_sell .ttl_000,
.ttl_privacy .ttl_000,
.ttl_contact .ttl_000,
.ttl_company .ttl_000,
.ttl_owner .ttl_000,
.ttl_flow .ttl_000{
font-size: 10rem;
opacity: .8;
text-align: right;
}

@media print, screen and (min-width: 768px) {
					.contact_cache{
					font-size: 2.4rem;
					}
					.ttl_all .ttl_area,
					.ttl_download .ttl_area,
					.ttl_business .ttl_area,
					.ttl_info .ttl_area,
					.ttl_sitemap .ttl_area,
					.ttl_form_corporate .ttl_area,
					.ttl_form_personal .ttl_area,
					.ttl_form_corporate .ttl_area,
					.ttl_form_personal .ttl_area,
					.ttl_sell .ttl_area,
					.ttl_privacy .ttl_area,
					.ttl_contact .ttl_area,
					.ttl_staff .ttl_area,
					.ttl_company .ttl_area,
					.ttl_owner .ttl_area,
					.ttl_flow .ttl_area{
					align-items:flex-end;
					position: absolute;
					bottom: 0;
					left: 0;
					right: 0;
					}
					.flow_box {
					margin-bottom: 80px;
					}
					.flow_box li{
					padding: 30px;
					box-sizing: border-box;
					margin-bottom: 50px;
					}
					.flow_box li dl dt span{
					font-size: 4.2rem;
					display: inline-block;
					margin-right: 24px;
					padding-right: 24px;
					padding-left: 10px;
					color: var(--main-color);
					line-height: 1.2;
					}
					.flow_box li dl dt p{
					font-size: 2.6rem;
					}

					.flow_box li dl dt{
					padding-bottom: 24px;
					margin-bottom: 24px;
					}
					.flow_box li dl dd{
					display: flex;
					justify-content:space-between;
					flex-wrap:wrap;
					}
					.flow_box li dl dd img{
					max-width: 340px;
					}
					.flow_txtarea{
					width: calc(100% - 370px);
					}
					.flow_box li dl dd p{
					font-size: 1.6rem;
					}
					.owner_li li{
					margin-bottom: 70px;
					}
					.owner_li li{
					display:flex;
					justify-content:space-between;
					align-items:flex-start;
					flex-wrap:wrap;
					}
					.owner_li li:nth-child(even){
					flex-direction: row-reverse; /* 横並び逆順 */
					}
					.owner_li li img{
					width: 500px;
					}
					.owner_li li dl{
					width: calc(100% - 540px);
					}
					#company p{
					font-size: 1.6rem;
					}

					#company iframe{
					width: 100%;
					height: 550px;
					}
					#jirei .company_li li dl dt,
					#company .company_li li dl dt{
					float: left;
					}
					#jirei .company_li li dl dd,
					#company .company_li li dl dd{
					margin-left: 200px;
					}
					#jirei .company_li{
					padding: 30px;}
					
					#jirei .company_li > li,
					#company .company_li > li{
					padding: 30px;
					font-size: 1.6rem;
					}
					
					#owner_whitebox .flow_box li dd img{
					width: 340px;
					}
				.company_greeting_text{
				display:flex;
				justify-content:space-between;
				align-items:flex-start;
				flex-wrap:wrap;
				}
				.company_greeting_text_cen{
				text-align: center;
				}
				.comp_li ul{
				display:flex;
				align-items:flex-start;
				flex-wrap:wrap;
				}
				.comp_li > ul > li{
				width: 30%;
				margin-bottom: 1em;
				}
				.company_greeting_clm1{
				text-align: center;
				margin-bottom: 80px;
				}
				.company_greeting_text figure{
				width: 14%;
				}
				
				.company_greeting_text figure img{
				width: 100%;
				}
				.company_greeting_text_in{
				text-align: left;
				width: 80%;
				}
}/**./@media print, screen and (min-width: 768px)***********************************/
/*************************************/
/*************************************/

/*工事の流れ*/

.flow_txttitle{
position: absolute;
left: 50%;
display: block;
margin-inline: auto;
text-align: center;
translate: -50% -1em; 
max-width: 80%;
@media only screen and (min-width:768px){
translate: -50% -30px;
max-width: 100%;}
overflow: hidden;
}

.p_relative{
position: relative;
}

.flow_subchache{
text-align: center;
margin-inline: auto;
margin-block: 30px;
font-size: 1.6rem;
}

.progress-tracker--vertical {
max-width: 900px;
flex-direction: column;
box-sizing: border-box;
margin-inline: auto;
}

.progress-tracker {
display: flex;
padding: 0;
list-style: none;
}

.progress-tracker--vertical .progress-step {

display: flex;
}

.progress-step {
flex: 1 1 0%;
margin: 0;
padding: 0;
min-width: 24px;
}

.progress-step .progress-marker {
color: #fff;
}


.progress-tracker li:nth-child(1) .progress-marker::before{
content: '1';
}
.progress-tracker li:nth-child(2) .progress-marker::before{
content: '2';
}
.progress-tracker li:nth-child(3) .progress-marker::before{
content: '3';
}
.progress-tracker li:nth-child(4) .progress-marker::before{
content: '4';
}
.progress-tracker li:nth-child(5) .progress-marker::before{
content: '5';
}
.progress-tracker li:nth-child(6) .progress-marker::before{
content: '6';
}
.progress-tracker li:nth-child(7) .progress-marker::before{
content: '7';
}
.progress-tracker li:nth-child(8) .progress-marker::before{
content: '8';
}
.progress-tracker li:nth-child(9) .progress-marker::before{
content: '9';
}

.progress-marker {
display: block;
position: relative;
}
.progress-marker::before{


}
.progress-step.is-complete .progress-marker::before,
.progress-step.is-progress .progress-marker::before {
background-color: #000;
border: 1px solid #000;
border-radius: 50%;
color: #fff;
}

.progress-step .progress-marker::before {
content: '';
background-color: #000;
border: 1px solid #000;
border-radius: 50%;
font-size: 2rem;

}

.progress-marker::before {
display: flex;
justify-content: center;
align-items: center;
position: relative;
z-index: 20;
width: 30px;
height: 30px;
padding-bottom: 2px;
border-radius: 50%;
transition: background-color, border-color;
transition-duration: 0.3s;
}

.progress-step.is-complete .progress-marker::after, .progress-step.is-progress .progress-marker::after {
background-color: #000;
z-index: 2;
}

.progress-tracker--vertical .progress-marker::after {
right: auto;
top: 15px;
left: 15px;
width: 1px;
height: 100%;
}


.progress-marker::after {
content: '';
display: block;
position: absolute;
z-index: -10;
top: 10px;
right: -12px;
width: 100%;
height: 4px;
transition: background-color 0.3s, background-position 0.3s;
}

@media only screen and (min-width:768px){
	.progress-step .progress-marker::before {
	font-size: 3rem;}
	.progress-marker::before {
	width: 74px;
	height: 74px;
	}
	.progress-tracker--vertical .progress-marker::after {
	top: 37px;
	left: 37px;
	}
	.progress-tracker--vertical .progress-text {
	padding: 20px 0 24px 30px;
	display:flex;
	justify-content: space-around;
	align-items:flex-start;
	flex-wrap:wrap;
	}
	.progress-text dl{
	width: calc(100% - 460px);
	}
	.progress-text dl dt{
	font-size: 4rem;
	}
}
/**********************/

.progress-text dl dt{
font-size: 2rem;
}

.progress-text img{
margin-bottom: 30px;
}

.progress-text dl dd{}

.progress-step .progress-text {
color: #333;
width: 100%;
}

.progress-text {
display: block;
padding: 8px 8px;
overflow: hidden;
/*text-overflow: ellipsis;*/
}

.progress-title {
margin-top: 0;
}

/************************/



.company_greeting_text figure{
text-align: center;
}
.company_greeting_text figcaption{
	font-family:'Noto Serif JP', "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
font-size: 120%;
line-height: 1.4;
}
#jirei .company_li > li:nth-child(odd),
#company .company_li > li:nth-child(odd){
background-color: #f6f6ef;
}

.btn_iconmail .fa{
font-size: 2.rem;
}


.ttl_01{
font-weight: bold;
font-size: 2.6rem;
margin-bottom: 40px;
}
.ttl_01 span{
font-weight: normal;
font-size: 12px;
display: inline-block;
margin-left: 20px;
color: var(--main-color);
}


.jirei_ttl_02{
@media only screen and (min-width:768px){
		display: flex;
		margin-bottom: 2em;
}
margin-bottom: 1em;
}

.jirei_mainchache .jirei_ttl_02 p{
font-weight: bold;
font-size: 2rem;
margin-left: 0;
@media only screen and (min-width:768px){font-size: 2.6rem;}
line-height: 1;}

.ttl_02{
font-weight: bold;
font-size: 2.6rem;
margin-bottom: 16px;
}

.jirei_ttl_02 p,
.ttl_02 {
display: flex;
align-items: center;
}
.jirei_ttl_02 p:before,
.ttl_02:before {
border-top: 1px solid;
content: "";
/*flex-grow: 1;*/
color: var(--main-color);
width: 30px;
}
.jirei_ttl_02 p:before,
.ttl_02:before {
margin-right: 10px;
}

.jirei_ttl_02 span{
display: inline-block;
font-weight: normal;
font-size: 1.4rem;
color: #fff;
background-color: #666;
border-radius: 4px;
padding: 2px 6px;
margin-left: 1em;
}

.ttl_03{
font-weight: bold;
font-size: 3.2rem;
margin-bottom: 40px;
}
.ttl_03 span{
font-weight: normal;
font-size: 12px;
display: inline-block;
margin-left: 20px;
color: var(--main-color);
}

.ttl_03.bar{
width: 100%;
border-bottom: 1px solid #ccc;
position: relative;
padding-bottom: 20px;
}
.ttl_03.bar:after {
content: "";
background-color: var(--main-color);
position: absolute;
left: 6px;
bottom: -1px;
height: 1px;
width: 320px;
}
.ttl_04{
text-align: center;
font-size: 3.4rem;
font-weight: bold;
color: var(--main-bg);
}
.ttl_04 span{
font-size: 14px;
color: var(--sub-color);
display: block;
font-weight: normal;
}
.ttl_05{
font-weight: bold;
font-size: 2.2rem;
display: inline-block;
margin-bottom: 20px;
}

.service_txt_area{
margin-left:40px;
}

.flow_box li{
border: 1px solid #ccc;}

.flow_box li dl dt{
border-bottom: 1px solid #ccc;
}
.flow_box li dl dt span{
border-right: 1px solid #ccc;
}
.flow_box li dl dt p{
font-weight: bold;
display: inline-block;
}
.flow_box li dl dd p{
margin-bottom: 1em;
}

.bdt{
border-top: 1px solid #ccc;
}

.service_txt_box{
border: 1px solid #ccc;
padding: 30px;
}

.service_txt_box p{
font-weight: bold;
font-size: 1.8rem;
margin-bottom: 1em;
}


.service_txt_box ul{

}
.service_txt_box ul li{
width: 24%;
display: inline-block;
margin-bottom: 4px;
}


.owner_li li dl dt{
font-weight: bold;
font-size: 2.2rem;
display: inline-block;
margin-bottom: 20px;
}
.owner_li li dl dt span{
font-size: 4rem;
display: inline-block;
margin-right: 20px;
color: var(--main-color);
font-weight: normal;
}


.owner_li li dl dd p{
font-size: 1.5rem;
}

.privacy01{
margin-right: 1em;
}
.privacy01 ol{
margin-left: 1em;
}
.privacy01 ol li{
list-style-type: decimal;
margin: 0 0 20px 18px;
display: list-item;
}
.privacy01 ol li ol li ol,
.privacy01 ol li ol{
margin: 20px 0 20px 18px;
}

.privacy_li li{
margin-bottom: 3em;
}
.privacy_li dl dt {
font-weight: bold;
font-size: 2.2rem;
display: inline-block;
margin-bottom: 20px;
}

.prvcy_li{
font-size: 1.6rem;
}

.prvcy_li li{}

.prvcy_li li dl{}

.prvcy_li > li > dl dt{
font-weight: bold;
margin-top: 2em;
text-indent: -2em;
padding-left: 2em;
}

.prvcy_li > li > dl dd ol{

}
.prvcy_li > li > dl dd ol li{
margin-top: 0.5em;
text-indent: -2.5em;
padding-left: 2em;
}

.prvcy_li > li > dl dd ul li{
margin-top: 0.5em;
text-indent: -2em;
padding-left: 2em;
margin-left: 0.5em;
}




#owner_whitebox .flow_box li{
background-color: #fff;
}

#owner_whitebox .flow_box li .flow_txtarea p span{
color: var(--sub-color);
}

.sitemap_wrap ul li a {
display: block;
width: 100%;
color: var(--main-color);
font-size: 18px;
text-decoration: none;
border-bottom: solid 1px #ccc;
padding: 10px 0;
margin-top: 40px;
letter-spacing: 2px;
}


@media print, screen and (min-width: 768px) {
					.sitemap_wrap ul li:first-child a {
					margin-top: 0px;
					}
					.sitemap_wrap{
					display:flex;
					justify-content:space-between;
					align-items:flex-start;
					flex-wrap:wrap;
					margin-bottom: 100px;
					}

					.sitemap_right,
					.sitemap_left {
					width: 48%;
					}
					.privacy01{
					font-size: 1.6rem;
					}
					.Area03{
					padding: 0 60px 60px 60px;
					}
					.ttl_h3{
					font-size: 2.6rem;}

					.ttl_h3 span{
					font-size: 1.8rem;}
					.Area03 .note th {
									width: 300px;
					}
					.Area03 .note{
					margin-bottom: 50px;
					}
					.Area03 .note th span{
					font-size: 1.4rem;
					}
					.Area03 .note textarea {
					width: 80%;}
					
					.wrap_cms{
					width: 960px;
					margin-left: auto; margin-right: auto;
					margin-bottom: 40px;
					}
					.sitemapli{
					margin-bottom: 60px;
					padding-top: 40px;
					}
					.sitemapli li{
					display: inline-block;
					width: 44%;
					margin-left: 2%; margin-right: 2%;
					vertical-align: top;
					}
					
}/**./@media print, screen and (min-width: 768px)***********************************/
/*************************************/
/*************************************/

.ttl_h3 p{
display: flex;
align-items: center;
font-weight: bold;

color: var(--sub-color);
}
.ttl_h3{
display:flex;
align-items: center;
margin-bottom: 16px;
}
.ttl_h3 span{
display: inline-block;
margin-left: 10px;
color: var(--sub-color);
line-height: 2.4;
}
.ttl_h3 p:before {
border-top: 1px solid;
content: "";
/*flex-grow: 1;*/
margin-right: 10px;
width: 30px;
color: #222;
}

.Area03 .note{
width: 100%;
}
.Area03 .note th {
font-weight: normal;
padding: 10px 2% 0px 2%;
vertical-align: top;
text-align: left;
font-size: 1.6rem;
background-color: #FCF3F4;
border-bottom: 1px solid #fff;
}

.Area03 .note th p{
margin-top: 10px;
}
.Area03 .note td{
padding: 10px 2% 20px 2%;
font-size: 1.5rem;
border-bottom: 1px solid #eee;
}
.Area03 .note td input[type="file"], 
.Area03 .note td input[type="button"] {
padding: 2px 8px;
outline: none;
}
.Area03 .note td input[type="text"] {
width: 14%;
}
.Area03 .note td input[type="text"] {
margin: 4px 0 0;
border-radius: 4px;
padding: 4px 12px;
border: 1px solid #aaa;
outline: none;
height: 48px;
font-size: 1.5rem;
}

.Area03 .note .f_txtposi {
margin-bottom: 10px;
}

.Area03 .note .form_01{
width: 80% !important;}
.Area03 .note .form_02,
.Area03 .note .form_03{
width: 30% !important;
text-align: left;
display: inline-block;
}

.Area03 .emp01{
color: var(--sub-color);
margin-bottom: 1em;
}

.ttl01{
font-size: 2rem !important;
color: #666;
font-weight: bold;
}

/*アコーディオン*/
.formmenu {

}
.formmenu label {
color: var(--sub-color);
padding: 10px;
display: block;
margin: 0;
margin-bottom: 40px;
}

.formmenu input[type="checkbox"].on-off{
    display: none;
}

.formmenu ul {
-webkit-transition: all 0.5s;
-moz-transition: all 0.5s;
-ms-transition: all 0.5s;
-o-transition: all 0.5s;
transition: all 0.5s;
margin: 0;
padding: 0;
list-style: none;
}

.formmenu li {
    padding: 5px;
}

input[type="checkbox"].on-off + ul{
    height: 0;
    overflow: hidden;
}

input[type="checkbox"].on-off:checked + ul{
    height: 260px;
}
.doukyo_bottom{
margin-top: 20px;
}
.doukyo_bottom .note{
margin-bottom: 10px !important;

}
.Area03 .note textarea {
height: 170px;
border-radius: 4px;
padding: 10px 12px;
border: 1px solid #aaa;
outline: none;
}

.sitemapli li dl dt{
color: var(--sub-color);
}

.sitemapli li a:link{color:#333; text-decoration:none;}
.sitemapli li a:visited{color:#333; text-decoration:none;}
.sitemapli li a:hover{color:#222; text-decoration:underline;}
.sitemapli li a:active{color:#333; text-decoration:none;}

.sitemapli li a{
display: block;
margin-bottom: 10px;
}
.sitemapli li a:before {
content: "-";
margin-right: 3px;
font-size: 60%;
color: #333;
font-weight: bold;
}



.sitemapli dl dt{
font-family: 'Kosugi Maru', sans-serif;
color: #666;
font-size: 140%;
border-bottom: 1px solid #aaa;
padding-bottom: 1em;
margin-bottom: 1em;
}
.sitemapli{
width: 100%;
}
.sitemapli li{
margin-bottom: 3em;}


.sitemap_dl{
margin-bottom: 40px;
@media (768px <= width) {
margin-bottom: 80px;
}
}

@media (768px <= width) {
		.sitemap_dl{
		display:flex;
		justify-content:space-between;
		align-items:flex-start;
		flex-wrap:wrap;
		}
		.sitemap_dl dl{
		width: 48%;
		}
}/* 768px以上 */

.sitemap_dl dl dt{
position: relative;
}
.sitemap_dl dl dt::after{
position: absolute;
width: 100%;
bottom: 0;
content: '';
border-bottom: 1px solid #ccc;
}
.sitemap_dl dl dt p{ 
ont-weight: bold;
font-size: 2rem;
display: inline-block;
color: var(--main-bg);
border-bottom: 3px solid var(--main-bg);
position: absolute;
left: 0%;
bottom: 0px;
padding: 0px 10px;
z-index: 2;
}
.sitemap_dl dl dd{
margin: 2em 0 0 1em;
}
.sitemap_dl dl dd a{
display: block;
margin-bottom: 1em;
}
.sitemap_dl dl dd a:before {
content: "-";
margin-right: 3px;
font-size: 60%;
}

.sitemap_dl dl dd a:not(:hover) {color:#222;text-decoration:none;}
.sitemap_dl dl dd a:hover{color:#222;text-decoration:none;opacity: 0.5;}


a.txt_tel{
font-size: 2rem;
display: block;
}
a.txt_tel:not(:hover) {color:var(--main-color);text-decoration:none;}
a.txt_tel:hover{color:var(--main-color);text-decoration:none;opacity: 0.5;}


a.txt_tel:before {
font-family: 'FontAwesome';
content: '\f095';
display: inline-block;
width: 1.2em;
text-align: center;
font-size: 1.0em;
}


.btn_download{
background-color: #EDFF71;
color: var(--main-bg);
display: inline-block;
font-size: 2rem;
@media (768px <= width) {
margin-right: 1em;
margin-bottom: 0;
}/* 768px以上 */

padding: 10px;
line-height: 1;
}

a.btn_download:not(:hover) {color:var(--main-bg);text-decoration:none;}
a.btn_download:hover{color:var(--main-bg);text-decoration:none;opacity: 0.5;}


.btn_download span{
border-bottom: 3px solid var(--main-bg);
display: inline-block;
padding: 0 16px 10px 16px;
line-height: 1;
}
.btn_download span:after {
color: var(--main-bg);
font-family: 'FontAwesome';
content: '\f0f6';
display: inline-block;
text-align: center;
font-size: 2.0em;
margin-left: 6px;
transform: translateY(4px) rotate(14deg); /* ここで右に10度傾ける */
}


/*採用*/
.recruit_keiken {
width: 100%;
font-size: 1.8rem;
}

.recruit_keiken dl {
border: 2px solid #AA0021;
border-radius: 8px;
padding: 1.5em 2em;
margin: 2em 0 0 0;
}

.recruit_keiken dl dt {
display: block;
@media print, screen and (min-width: 768px) {width: 380px;/*@media print, screen and (min-width: 768px) */}
margin: 0 auto 0.5em;
font-size: 2.2rem;
color: #AA0021;
position: relative;
text-align: center;
}

.recruit_keiken dl dt:before,
.recruit_keiken dl dt:after{
content: '';
position: absolute;
top: 50%;
display: inline-block;
width: 44px;
height: 1px;
background: #AA0021;
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}

.recruit_keiken dl dt:before{
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}

.recruit_keiken dl dt:before {left:0;}
.recruit_keiken dl dt:after {right: 0;}

.recruit_jinbutsu{
margin-top: 20px;
margin-inline: auto;
@media print, screen and (min-width: 768px) {
width: max-content;}/*@media print, screen and (min-width: 768px) */}

.recruit_jinbutsu li {
	font-size: 1.8rem;
	margin: 0 0 0.8em 0;
	padding-left: 1.5em;
	text-indent: -1.5em;
}

.recruit_jinbutsu li:before {
	display: inline;
	font-family: 'FontAwesome';
	content: '\f00c';
	margin: 0 10px 0 0;
	color: #AA0021;
}

/*募集要項*/

.recruit_table {
	width: 100%;
}

.recruit_table th {
	background: #eee;
	vertical-align: middle;
	font-weight: normal;
	border-bottom:1px solid #fff;

}

.recruit_table td {
	padding: 1em 1.5em;
	line-height: 2.0;
}


.recruit_naiyo .text p{
margin-bottom: 1em;
}

.recruit_flow li {
display: block;
border: 1px solid  #000;
background: #fff;
position: relative;
margin: 0 0 2.5em 0;
height: auto;
}

.recruit_flow li:after {
content: ' ';
position: absolute;
bottom: -35px;
left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
border-top: 20px solid #686868;
border-right: 32px solid transparent;
border-left: 32px solid transparent;
}

.recruit_flow li:last-child:after {
content: none;
}

.recruit_flow li span {
display: inline-block;
vertical-align: top;
font-size: 4.0rem;
font-style: italic;
letter-spacing: -0.01em;
margin: 0 1em 0 0.5em;
}

.recruit_flow li .etctext {
display: inline-block;
padding: 1.1em 0 1em 0;
}

.recruit_flow li p {
display: inline-block;
padding: 1.1em 0 1em 0;
}
.consul_ttl_service {
font-weight: bold;
font-size: 2rem;
margin-bottom: 30px;
text-align: center;
margin-left: auto;
margin-right: auto;
}

@media print, screen and (min-width: 768px) {
			.consul_ttl_service{
			font-size: 3.5rem;
			margin-bottom: 40px;
			line-height: 1;}
			.recruit_flow li p {
			font-size: 2rem;
			}
			.recruit_naiyo {
			width: 100%;
			margin: 0 auto 1em;
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			}
			.recruit_naiyo .text {
			max-width: 680px;
			font-size: 1.6rem;
			}
			.recruit_naiyo figure {
			width: 375px;
			}
			.recruit_naiyo figure img{max-width: 100%;}
}/*@media print, screen and (min-width: 768px) 
*/
.recruit_naiyo figure {
text-align: center;}
.recruit_table p{
margin-bottom: 1em;
}

.recruit_flow p span.recruit_flow_txt{
display: block;
font-size: 1.4rem;
font-style: normal;
}


/*施工事例　写真エリア*/
.jirei_detail_photoarea{
margin-bottom: 30px;
margin-inline: auto;
overflow:hidden;
@media (768px <= width) {
padding: 30px;
display:flex;
justify-content:space-evenly;
align-items:flex-start;
flex-wrap:wrap;}/* 768px以上 */
}


.jirei_detail_photoarea .photo_big{
@media (768px <= width) {width:50%;}
height:320px;
display: grid;margin-bottom: 20px;
place-content:center;

}
.jirei_detail_photoarea .photo_small{
@media (768px <= width) {width:40%;}
}
.jirei_detail_photoarea .photo_small:after{content: "";display: block;clear: both;}

.jirei_detail_photoarea .photo_small ul{
margin-right: -10px;
overflow:hidden;
}
.jirei_detail_photoarea .photo_small ul li{
float:left;
width:100px;
height:82px;
margin:0 10px 10px 0;
overflow: hidden;
}
.jirei_detail_photoarea .photo_small ul li img{
cursor:pointer;
}
/********************/
.jirei_mainchache{
@media (768px <= width) {
padding-inline: 30px;}
}

.jirei_mainchache p{
margin-left: 40px;
}

.work-scenes_cls ul li{
margin-bottom: 2em;
}


@media (768px <= width) {
.work-scenes_cls_sub{
	display: grid;
	grid-template-columns: repeat(2, 1fr); /* 横に2カラム固定 */
	column-gap: 2em; /* 横方向だけ間隔を残す */
	row-gap: 0;      /* 縦方向の隙間をゼロにする */
	
	padding: 0 60px;
	margin-bottom: 40px;
	margin-left: auto;
	margin-right: auto;
}
.work-scenes_cls_sub > a{
	margin-bottom: 3em;

	display: grid;
	grid-template-rows: subgrid; /* subgrid使用（※対応ブラウザに注意） */
	grid-row: span 3;
	container-name: card;
	height: 100%;
	}
	.work-scenes_cls_sub > a img{
	width: 100%;
	height: auto;
	object-fit: contain;
	aspect-ratio: 1000/667; /*横縦*/
	display: block;
	margin-inline: auto;
	}
	.work-scenes_cls ul{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	flex-wrap:wrap;

	padding: 0 60px;
	margin-bottom: 40px;
	margin-left: auto;
	margin-right: auto;
	}
	.work-scenes_cls ul li{
	width: 48%;
	margin-bottom: 3em;
	}
}


.work-scenes_cls .ttl001{line-height: 1.4;}
.work-scenes_cls_ttl001{
text-align: center;
margin-bottom: 3em;

}


.work-scenes_cls ul li img{
max-width: 100%;
display: block;
margin-left: auto;
margin-right: auto;

object-fit: cover;
aspect-ratio: 1000 / 667;

}
.work-scenes_cls ul li .ttl001{
line-height: 1.4;
}

.work-scenes_cls ul li {}

.work-scenes_cls ul li a:not(:hover) {text-decoration:none;}
.work-scenes_cls ul li a:hover{text-decoration:none;opacity: 0.5;}
.work-scenes_cls a:not(:hover) {text-decoration:none;}
.work-scenes_cls a:hover{text-decoration:none;opacity: 0.5;}

.btn_shousei{
text-align: right;
padding-right: 40px;
}

#contact .angle{
max-width:96%;
@media (768px <= width) {
max-width:80%;
}
margin-inline: auto;
display: block;
}

#contact .angle ul{
margin-inline: auto;

justify-content:center;
}

