@charset "utf-8";
.sp{display:none !important;}

a[href^="tel:"] {pointer-events: none;}
a{text-decoration:none;}

@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);

html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,abbr, address, cite, code,del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,b, i,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	vertical-align:baseline;
	background:transparent;
	list-style-type:none;
	font-size: 16px;
	color: #333;
	font-family:'Noto Sans JP',"源ノ角ゴシック","ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 游ゴシック体, "Yu Gothic", YuGothic, "Open Sans", "Helvetica Neue", "sans-serif", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 1.6;
	outline:none;
	letter-spacing:0.1em;
}

:root {
  --main-color:#546f3e;
  --dark-color:#546f3e;
  --sub-color:#546f3e;
  --black-color:#333;
}


html{
  scroll-behavior: smooth;
}

img{
	display:block;
	width:100%;
	height: auto;
}

*:hover{
	transition:0.4s;
}

header{
	width:1200px;
	position:fixed;
	top:30px;
	left:0;
	right:0;
	margin:0 auto;
	z-index:999;
}

header .inner {
	width: 1200px;
	margin: 0 auto;
	padding: 10px 20px;
	overflow: hidden;
	background: #fff;
	border-radius: 10px;
	box-sizing:border-box;
	display: flex;
    align-items: center;
	justify-content: space-between;
}

header .head_logo {
	width: 18%;
	float: left;
}

header ul{
	width:75%;
	float:right;
	display:flex;
	justify-content: end;
}

header ul li {
	float: left;
}

header li a{
	display: block;
	padding: 8px 12px;
	box-sizing:border-box;
	font-weight: bold;
	color:#333;
	font-size:80%;
	position:relative;
	overflow:hidden;
}

header li a:after{
	position:absolute;
	left:0;
	bottom:0;
	content:"";
	width:100%;
	height:2px;
	background:var(--dark-color);
	transform: scale(0, 1);
}

header li a:hover:after{
	transform: scale(1, 1);
	transition: transform 0.4s; /*変形の時間*/
}

section.title_head{
	background: url("../img/title_back.png") no-repeat;
	background-size:cover;
	background-position:top;
	overflow:hidden;
}

section.title_head .inner {
	width: 1200px;
	height:80vh;
	overflow:hidden;
	margin:0 auto;
}
section.title_head .inner img{
	width:50%;
	margin-top:25vh;
    margin-left: 50%;
}

section.about {
	margin:100px auto 200px;
	background: url("../img/about_back.png") no-repeat;
    background-position: bottom;
}

section.about .inner{
	width: 1080px;
	margin: 0 auto;
    overflow: hidden;
}

section.about .inner .news{
	width:80%;
	margin: 0 auto 80px;
	overflow:hidden;
}

section.about .inner .news  h2{
	float: left;
    width: 15%;
	font-size: 150%;
	border-right: 1px solid black;
	padding: 5px 0;
}

section.about .inner .news p{
	padding: 10px 0;
	float: right;
	font-size:90%;
    width: 82%;
	
}

section.about .inner .news p span{
	margin: 0 3%;
	font-size:100%;
}

section.about .about_container .inner{
	width: 1080px;
	margin: 0 auto;
    overflow: hidden;
}

section.about .about_container .inner .img_box{
	float: left;
	width: 40%;
}

section.about .about_container .inner .about_content{
	float: right;
	width: 55%;
}

section.about .about_container .inner .about_content h3{
	font-size: 140%;
	margin-bottom:20px;
}

section.about .about_container .inner .about_content h3 span{
	color: var(--main-color);
	display: block;	
	font-size:90%;
	font-weight: bold;
}

section.about .about_container .inner .about_content p{
	margin-bottom: 40px;
}

section.about .about_container .inner .buttons a{
	width:40%;
	padding: 10px 0;
	display:block;
	border-radius: 30px;
	text-align: center;
	font-weight: bold;
	background:#fff;
}

section.about .about_container .inner .buttons a:first-child {
	border: 1px solid var(--sub-color);
	color:var(--sub-color);
	margin-bottom: 20px;
}

section.about .about_container .inner .buttons a:last-child {
	border: 1px solid var(--main-color);
	color:var(--main-color);
}

section.repair{
	background:#FAF7E6;
	padding-bottom:80px;
}

section.repair .repair_head{
	background: var(--sub-color);
	color: #fff;
	padding: 35px 0;
}

section.repair .repair_head .inner{
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

section.repair .repair_head .inner .repair_head_img img{
	width: 23%;
	position: absolute;
	left: 13%;
	top:-170%;
}

section.repair .repair_head h2{
	color: #fff;
	font-size: 150%;
	margin-right: 1%;
}

section.repair .repair_head h2 span {
	color: #FFD800;
	font-weight: bold;
	font-size: 190%;
}

section.repair .repair_head .inner img{
	width: 6%;
}

section.repair .inner {
	width: 1080px;
	margin: 0 auto;
	text-align: center;
}

section.repair .inner .repair_text{
	margin: 50px auto;
	border-top: 2px solid #0d2a5b;
	border-bottom: 2px solid #0d2a5b;
	padding:30px 0;
	box-sizing:border-box;
}

section.repair .inner .repair_text h2{
	font-size: 150%;
	margin:0 auto 30px;
}

section.repair .inner .repair_text h2 span{
	color: red;
	font-size: 150%;
	font-weight: bold;
}

section.repair .inner .repair_text p{
	line-height:2;
}

section.repair .inner .repair_text p span{
	background-color: #FFD800;
	display:inline-block;
	padding:0 10px;
}

section.repair .inner .repair_case {
	margin: 0 auto 80px;
}

section.repair .inner .repair_case h2{
	margin:0 auto 20px;
	font-size: 120%;
}

section.repair .inner .repair_case h2 span{
	font-size:140%;
}

section.repair .inner .repair_case ul{
	overflow: hidden;
}

section.repair .inner .repair_case ul li{
	float: left;
	width: 30%;
}

section.repair .inner .repair_case ul li:nth-child(2){
	margin: 0 5%;
}

section.repair .inner .repair_case ul li h3{
	color: var(--sub-color);
}

.button{
	color:#FFF;
	padding: 12px 50px;
	border-radius: 30px;
	text-align: center;
	display:inline-block;
	position:relative;
	background: linear-gradient(to right, var(--main-color), var(--dark-color));
}

.inner .button::after{
	content:"";
	position:absolute;
	top:0;
	bottom:0;
	right:10%;
	width: 6px;
	height: 6px;
	background: #fff;
	margin:auto;
	display: inline-block;
}

section.paint{
	background-color: #FAF7E6;
    padding-bottom: 80px;
}

section.paint .paint_head{
	background: var(--main-color);
	color: #fff;
	padding: 30px 0;
}

section.paint .paint_head .inner{
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

section.paint .paint_head .inner .paint_head_img img{
	width: 23%;
	position: absolute;
	left: 13%;
	top:-170%;
}

section.paint .paint_head h2{
	color: #fff;
	font-size: 150%;
	margin-right: 1%;
}

section.paint .paint_head h2 span {
	color: #FFD800;
	font-weight: bold;
	font-size: 190%;
}

section.paint .paint_head .inner img{
	width: 6%;
}

section.paint .inner {
	width: 1080px;
	margin: 0 auto;
	text-align: center;
}

section.paint .inner .paint_text{
	margin: 50px auto;
    border-top: 2px solid var(--main-color);
    border-bottom: 2px solid var(--main-color);
    padding: 30px 0;
    box-sizing: border-box;
}

section.paint .inner .paint_text h2{
	font-size: 150%;
    margin: 0 auto 30px;
}

section.paint .inner .paint_text h2 span{
	color: red;
	font-size: 150%;
	font-weight: bold;
}

section.paint .inner .paint_text p{
	line-height:2;
}

section.paint .inner .paint_text p span{
	background-color: #FFD800;
	padding:0 10px;
}

section.paint .inner .paint_case {
    margin: 0 auto 80px;
}

section.paint .inner .paint_case h2{
    margin: 0 auto 20px;
    font-size: 120%;
}

section.paint .inner .paint_case ul{
	width: 100%;
	margin: 0 auto 50px;
	overflow: hidden;
}

section.paint .inner .paint_case ul li{
	float: left;
	width: 30%;
}

section.paint .inner .paint_case ul li:nth-child(2){
	margin: 0 5%;
}

section.service{
	background-color: #F2F2F2;
}

section.service .service_head{
	background-color: var(--main-color);
	width: 100%;
	margin: 0 auto 80px;

}

section.service .service_head h2{
	color:#fff;
	text-align:center;
	font-size:140%;
	padding:10px;
}

section.service .service_head h2 span{
	color:#fff;
	margin-left:2%;
	font-size:100%;
}

section.service .inner{
	text-align:center;
	width:1080px;
	margin: 0 auto;
	padding-bottom:100px;
}

section.service .inner h3{
	font-size:140%;
	margin:0 auto 50px;
}

section.service .inner h3 span{
	font-size:100%;
	color:var(--main-color);
}

section.service .inner .issues{
	overflow: hidden;
	margin: 0 auto 80px;
	width:860px;
	display: flex;
	justify-content: center;
	background-color: #fff;
	flex-wrap: wrap;
	padding:40px;
	box-sizing:border-box;
	border-radius: 20px;
}

section.service .inner .issues li{
	width:33%;
	padding:30px;
	box-sizing:border-box;
	position:relative;
}

section.service .inner .issues li:hover{
	background:#d5ffd9;
}

section.service .inner .issues li a{
	display:block;
	position:absolute;
	height:100%;
	width:100%;
	top:0;
	left:0;
}

section.service .inner .issues li img{
	height:auto;
	width:auto;
	margin:auto;
}

section.service .inner .issues li:first-child,section.service .inner .issues li:nth-child(2),section.service .inner .issues li:nth-child(3){
	border-bottom:1px solid #707070;
}

section.service .inner .issues li:nth-child(2),section.service .inner .issues li:nth-child(5){
	border-left:1px solid #707070;
	border-right:1px solid #707070;
}

section.works .inner{
	width: 1080px;
	margin: 80px auto 100px;
	overflow: hidden;
}

section.works .inner .works_text{
	width: 45%;
	float: left;
}

section.works .inner .works_text h3{
	font-size: 160%;
	margin-bottom: 20px;
}

section.works .inner .works_text h3 span{
	color: var(--main-color);
	display: block;
	margin-bottom: 10px;
	font-size:70%;
}

section.works .inner .works_text p{
	margin-bottom: 50px;
}

section.works .inner .img_box{
	width: 55%;
	float: right;
}

section.system {
	background-color: #EFEBDC;
	padding:100px 0;
}

section.system .inner{
	width: 1080px;
	margin: 0 auto;
}

section.system .inner .system_head{
	text-align: center;
	margin-bottom: 50px;
	overflow: hidden;
}

section.system .inner .system_head h2{
	font-size: 250%;
	font-weight: bold;
	margin-bottom: 20px;
}

section.system .inner .system_head h2 span{
	color: var(--main-color);
	font-size: 100%;
	font-weight: bold;
}

section.system .inner .system_01,section.system .inner .system_02{
	overflow: hidden;
}

section.system .inner .system_01{
	margin-bottom:70px;
}

section.system .inner .text{
	width: 45%;
}

section.system .inner .box_img{
	width: 47%;
}

section.system .inner .system_01 .text,section.system .inner .system_02 .box_img{
    float: left;
}

section.system .inner .system_02 .text,section.system .inner .system_01 .box_img{
    float: right;
}

section.system .inner .text p.num{
	color: var(--main-color);
	font-size: 300%;
	font-weight:bold;
	border-bottom: 3px solid;
	display:inline-block;
	margin-bottom: 15px;
}

section.system .inner .text h3 span{
	font-size:180%;
	display:block;
	margin:10px 0 20px;
}

section.inquiry .inner{
	width:1080px;
	margin:0 auto;
	text-align:center;
	padding:100px 0;
}

section.inquiry .inner h2{
	font-size:240%;
	margin-bottom:30px;
}

section.inquiry .inner .inquiry_form{
	width:90%;
	text-align:center;
	margin:0 auto;
	background-color: #f7b97d;
	border-radius: 10px;
	margin-bottom:20px;
	display:flex;
	align-items:center;
justify-content: center;
	padding:10px 0;
}

section.inquiry .inner .inquiry_form img{
	width:75px;
	display:inline-block;
}

section.inquiry .inner .inquiry_form h2{
	display:inline-block;
	color: #FFF;
    font-size: 180%;
	margin:0 2%;
}

section.inquiry .inner .inquiry_form p{
	font-weight:bold;
	background: #fff;
	color: #f7b97d;
	padding: 5px 16px;
	border-radius: 20px;
	margin:0;
}

section.inquiry .inner p {
	margin-bottom:20px;
}

section.inquiry .inner p span{
	display:block;
	font-weight: bold;
}

section.inquiry .inner .inquiry_call{
	width: 90%;
	margin:0 auto;
	padding: 15px 0;
	background: #E5F1FF;
	border-radius: 8px;
	display: flex;
	justify-content: space-evenly;
	align-items: center;
	justify-content: center;
}

section.inquiry .inner .inquiry_call h2{
	margin: 0;
	font-size: 120%;
	color: var(--black-color);
}

section.inquiry .inner .inquiry_call h2 span{
	display:block;
	color: var(--black-color);
}

section.inquiry .inner .inquiry_call img{
	width:45px;
	margin:0 5%;
}

section.inquiry .inner .inquiry_call p{
	margin: 0;
	font-size: 240%;
	font-weight: bold;
	color: var(--black-color);
}

footer{
	background-color: #F1F5F7;
}

footer .foot_head{
	background-color: var(--main-color);
}

footer .foot_head .inner{
	width:1080px;
	height:80px;
	margin:0 auto;
	position:relative;
	overflow:unset;
}

footer .foot_head img{
	width: 18%;
	position:absolute;
	right:0;
	bottom:0;
}

footer .foot_body .inner{
	width: 1080px;
	margin:-40px auto 0;
	overflow: hidden;
    padding: 0 0 40px;
}

footer .foot_body .inner .home {
	float: left;
	width: 40%;
	background-color: #FFF;
	border-radius: 20px;
	padding: 20px 40px 80px;
	box-sizing:border-box;
	position: relative;
}

footer .foot_body .inner .home img{
	width: 80%;
	margin: 40px 0;
}

footer .foot_body .inner .home h2{
	font-size: 230%;
	margin-bottom: 40px;
}

footer .foot_body .inner .home p{
	font-size:90%;
	margin:0 auto 20px;
}

footer .foot_body .inner .home p span{
	font-size: 120%;
	font-weight: bold;
	display:block;
	margin:0 auto 10px;
}

footer .foot_body .inner .box_img img{
	margin:0;
	position: absolute;
	bottom: -10px;
	right: -10px;
	width: 40%;
	height: auto;
}

footer .foot_body .inner .text{
	float: right;
	width: 50%;
	overflow: hidden;
	margin-top: 160px;
}

footer .foot_body .inner .text ul{
	width: 50%;
	float: left;
}

footer .foot_body .inner .text ul li{
	margin-bottom: 30px;
}

footer .foot_body .inner .text ul li a{
	font-size: 110%;
	display:flex;
	align-items:center;
	color: #333;
	font-weight: bold;
}

footer .foot_body .inner .text ul li a::before {
	content: "";
	width: 8px;
	height: 8px;
	background: var(--main-color);
	display: inline-block;
	margin-right: 8px;
}

footer .foot_body .inner .text ul .sub{
	margin-bottom: 15px;
}

footer .foot_body .inner .text ul li.last{
	margin-bottom:40px;
}

footer .foot_body .inner .text ul .sub a{
	margin-left: 5%;
	font-size: 80%;
	font-weight: normal;
}

footer .foot_body .inner .text ul li.sub a::before{
	display:none;
}

address{
	width:950px;
	margin:100px auto 0;
	text-align:right;
	font-style: normal;
	color: #707070;
	font-size: 80%;
}

.fix_btn{
	position:fixed;

}

.to_form{
    top: 13vh;
	right:0;
	height:200px;
	width:120px;
	background:URL("../img/to_form.png") no-repeat;
	background-size:contain;
}

.to_form a{
	display:flex;
    justify-content: center;
    align-items: center;
	height:50%;
	width:100%;
}

.to_form a img{
	width:60%;
}

.to_call{
    bottom: 10px;
	right:0;
}

.page .title{
	overflow:hidden;
	background:URL("../img/title_bk.png") no-repeat;background-size:cover;background-position:bottom;
}

.page .title .inner{
	width:1080px;
	margin:200px auto 100px;
}

.page .title .inner h1{
	font-size:150%;
}

.memu_page .title{background:URL("../img/menu_title_bk.png") no-repeat;background-size:cover;background-position:bottom;}


.test{
	width:1080px;
	margin:80px auto;
}

.menu_page .test{
	width:1280px;
}

.repair_page .test,.repainting_page .test{
	width:100%;
}

.contact_page .test{
	width:100%;
	margin:0;
}

.menu_page .menu_head ul{
	width:1080px;
	margin:60px auto 0;
	display:flex;
	flex-wrap: wrap;
}

.menu_page .menu_head ul li{
	padding:0 2%;
	border-right:1px solid #333;
	margin-bottom:20px;
}

.menu_page .menu_head ul li:last-child{
	border:none;
}

.menu_page .menu_head ul li a{
	display:inline-block;
	color:#333;
}

.menu_box{
	margin:0 auto 20px;
	padding:100px 0 0;
}

.menu_box .inner{
	width:1280px;
	margin:0 auto;
	overflow:hidden;
}

.menu_box .left .text_box{
	float:left;
	width:55%;
	padding-left:9%;
	box-sizing:border-box;
}
.menu_box .left .img_box{
	float:right;
	width:40%;
}

.menu_box .right .text_box{
	float:right;
	width:55%;
	padding-right:9%;
	box-sizing:border-box;
}
.menu_box .right .img_box{
	float:left;
	width:40%;
}

.menu_box .inner .text_box h3{
	font-size:150%;
	line-height:1.2;
	margin:0 auto 40px;
}

.menu_box .inner .text_box h3 span{
	font-size:75%;
	color:var(--main-color);
	display:block;
	margin:0 auto 20px;
}

.menu_box .inner .text_box p.caption{
	box-sizing:border-box;
	background:#F9F9F9;
	margin:20px auto;
	padding:30px 7%;
	border-radius:20px;
	font-size:90%;
}

.menu_box .inner .text_box p.caption strong{
	font-size:100%;
	display:block;
	margin:0 auto 20px;
}

.inpage .content_head{
	margin:40px auto;
}

.inpage .content_head .inner{
	width:800px;
	margin:0 auto;
}

.inpage .content_head .inner p{
	padding:50px 10%;
	position:relative;
}

.repair_page .content_head .inner p:after{
	content:"";
	width:20%;
	height:100%;
	position:absolute;
	right:0;
	top:0;
	background:URL("../img/repair_content_head.png") no-repeat;
	background-position:center;
}

.repair_page .content_head .inner p:before{
	content:"";
	width:100px;
	height:100px;
	position:absolute;
	left:0;
	top:0;
	background:URL("../img/repair_content_icon.png") no-repeat;
	background-position:center;
}
.repainting_page .content_head .inner p:after{
	content:"";
	width:20%;
	height:100%;
	position:absolute;
	right:0;
	top:0;
	background:URL("../img/repainting_content_head.png") no-repeat;
	background-position:center;
}

.repainting_page .content_head .inner p:before{
	content:"";
	width:100px;
	height:100px;
	position:absolute;
	left:-50px;
	top:0;
	background:URL("../img/repainting_content_icon.png") no-repeat;
	background-position:center;
}

.inpage .lr_li{
	width:90%;
	margin:0 auto;
}

.inpage .lr_li li{
	overflow:hidden;
	margin:0 auto 80px;
}

.inpage .lr_li li:last-child{
	margin:0 auto;
}

.inpage .lr_li li img{
	float:left;
	width:48%;
}

.inpage .lr_li li .box{
	float:right;
	width:48%;
}

.inpage .lr_li li:nth-child(2) img{
	float:right;
}

.inpage .lr_li li:nth-child(2) .box{
	float:left;
}

.inpage .lr_li li h3{
	font-size:120%;
	margin:0 auto 30px;
}

.inpage .content_check .inner{
	width:1080px;
	margin:0 auto;
	position:relative;
	padding:80px 0;
}

.inpage .content_check .inner:before{
	content:"";
	width:100px;
	height:100px;
	border-top:2px solid var(--dark-color);
	border-left:2px solid var(--dark-color);
	position:absolute;
	top:0;
	left:0;
}

.inpage .content_check .inner:after{
	content:"";
	width:100px;
	height:100px;
	border-bottom:2px solid var(--dark-color);
	border-right:2px solid var(--dark-color);
	position:absolute;
	bottom:0;
	right:0;
}

.inpage .content_check .inner h2{
	font-size:150%;
	text-align:center;
	margin:0 auto 70px;
}

.inpage .content_check .inner h2 span{
	font-size:60%;
	display:block;
}

.inpage .content_check .inner h2 span:after{
	content:"";
	width:60px;
	border-bottom:2px solid var(--dark-color);
    display: block;
    margin: 15px auto 0;
}

.inpage .content_check .inner ul.li_list{
	overflow:hidden;
	width:90%;
	margin:0 auto;
}

.inpage .content_check .inner ul.li_list li{
	width:45%;
	float:left;
	margin:0 auto 60px;
}

.inpage .content_check .inner ul.li_list li:nth-child(2n){
	margin-left:10%;
}

.inpage .content_check .inner ul.li_list li h3{
	text-align:center;
	margin:20px auto 10px;
}

.inpage .content_check .check{
	display:flex;
    justify-content: center;
	position:relative;
	padding:100px 0 0;
	margin:0 auto 100px;
}

.inpage .content_check .check:before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	right:0;
	margin:auto;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 52px solid transparent;
	border-left: 52px solid transparent;
	border-top: 22px solid var(--dark-color);
	border-bottom: 0;
}

.inpage .content_check .check img{
	width:60px;
	margin:0 10px;
}

.inpage .content_check .check p{
	font-size:150%;
}


.inpage .content_flow{
	background:#F3F3F3;
	padding:80px 0;
}

.inpage .content_flow .inner{
	width:1080px;
	margin:0 auto;
	text-align:center;
}

.inpage .content_flow .inner h2{
	background:var(--dark-color);
	color:#fff;
	font-size:150%;
	display:inline-block;
	padding:15px 10%;
	border-radius:10px;
	margin:0 auto 60px;
}

.inpage .content_flow .inner ul{
	width:90%;
	margin:0 auto;
}

.inpage .content_flow .inner ul li{
	margin:0 auto 100px;
	position:relative;
}

.inpage .content_flow .inner ul li div{
	overflow:hidden;
}

.inpage .content_flow .inner ul li:after{
	content:"";
	display:block;
	width:60px;
	height:60px;
	background:URL("../img/flow_icon.png") no-repeat;
	background-position:center;
	position:absolute;
	bottom:-60px;
	left:0;
	right:0;
	margin:auto;
}

.inpage .content_flow .inner ul li:last-child:after{
	display:none;
}

.inpage .content_flow .inner ul li img{
	width:30%;
	float:left;
}

.inpage .content_flow .inner ul li .flow_txt{
	width:65%;
	float:right;
	text-align:left;
}

.inpage .content_flow .inner ul li .flow_txt h3{
	display:flex;
	align-items:center;
	font-size:110%;
	margin:0 auto 20px;
}

.inpage .content_flow .inner ul li .flow_txt h3 span{
	background:var(--dark-color);
	color:#fff;
	font-weight:bold;
	padding:5px 15px;
	margin-right:3%;
	border-radius:20px;
}

.inpage .content_flow .inner ul li .flow_txt p{
	font-size:95%;
}

.inpage .content_flow .inner ul li .flow_txt p strong{
	font-size:120%;
	display:inline-block;
	margin:20px auto;
	border-bottom:1px solid var(--dark-color);
}

.inpage .content_table{
	width:860px;
	background:#F9F4F4;
	border-radius:20px;
	margin:80px auto;
	padding:60px 5%;
	box-sizing:border-box;
}

.inpage .content_table h2{
	font-size:150%;
	margin:0 auto 40px;
	text-align:center;
}

.inpage .content_table table{
	border:none;
}

.inpage .content_table table th,.inpage .content_table table td{
	width:33%;
	padding:20px;
	border:none;
	border-right:1px solid #B1AFAF;
	background:none;
}

.inpage .content_table table td:last-child{
	border:none;
}

.inpage .content_table table tr{
	border-bottom:1px solid #B1AFAF;
}

.inpage .content_table table tr:last-child{
	border:none;
}

.public_page .content_head p{
	text-align:center;
}

.public_page .lr_li{
	margin:0 auto 80px;
}

.privacy_page .content .inner{
	width:900px;
	margin:100px auto 0;
}

.privacy_page .content .inner h2{
	font-size:120%;
	color:var(--dark-color);
	margin:0 auto 20px;
}

.privacy_page .content .inner p{
	margin:0 auto 60px;
}

.privacy_page .content .inner ol{
	margin:-20px auto 40px;
}

.company_page .content .inner{
	width:900px;
	margin:100px auto 0;
}

.company_page .content .inner h2{
	text-align:center;
	font-size:200%;
	margin:0 auto 80px;
}

.company_page .content .inner table{
	width:100%;
}

.company_page .content .inner table tr{
	border-bottom:1px solid #BBBBBB;
}

.company_page .content .inner table th,.company_page .content .inner table td{
	padding:20px;
	text-align:left;
}

.company_page .content .inner table td a{
	color:#333;
}

.company_page .content .inner h3{
	padding:20px;
	margin:0 auto 40px;
}

.company_page .content .inner h4{
	display:flex;
	font-weight:normal;
	padding:20px;
}

.company_page .content .inner h4 span{
	font-weight:bold;
	width:20%;
	border-right:1px solid #BBBBBB;
	margin-right:5%;
}

.company_page .content .inner iframe{
	margin:0 auto 40px;
}

.bread{
	border-bottom:1px dotted #707070;
	padding:15px 0;
}

.bread ul{
	width:1080px;
	margin:0 auto;
	overflow:hidden;
}

.bread ul li{
	float:left;
	font-size:90%;
}

.bread ul li:after{
	content:">";
	margin:0 20px;
}

.bread ul li:last-child:after{
	display:none;
}

.bread ul li a{
	color:#333;
}

.works_page .inner{
	width:1080px;
	margin:0 auto 40px;
}

.works_page .content_head p{
	margin:80px auto;
}

.works_page .content h2{
	font-size:150%;
	padding:0 0 15px;
	border-bottom:1px dotted #707070;
	margin:0 auto 30px;
}

.works_page .content h3{
	font-size:150%;
	padding:0 0 15px;
	border-bottom:1px dotted #707070;
	margin:0 auto 30px;
}

.content .cate_list{
	display:flex;
    flex-wrap: wrap;
	margin:0 auto 60px;
}

.content .cate_list li{
	margin:0 5px 15px;
}

.content .cate_list li a{
	padding:2px 15px;
	border:1px solid var(--dark-color);
	box-sizing:border-box;
	border-radius:20px;
	color:var(--dark-color);
}

.content .cate_list li a:hover{
	border:1px solid var(--dark-color);
	box-sizing:border-box;
	color:#fff;
	background:var(--dark-color);
}

.content .cate_list li.active a{
	border:1px solid var(--dark-color);
	box-sizing:border-box;
	color:#fff;
	background:var(--dark-color);
}

.content .post_list{
	display:flex;
    flex-wrap: wrap;
}

.content .post_list li{
	width:33%;
	margin:0 .5% 30px 0;
	border-radius:20px;
}

.content .post_list li:hover{
	background:#E2FFE1;
}

.content .post_list li a{
	display:block;
	box-sizing:border-box;
	padding:10px;
}

.content .post_list li:nth-child(3n){
	margin:0 auto 30px;
}

.content .post_list li .img_box{
	width:100%;
	height:240px;
	position:relative;
	border-radius:20px;
	overflow:hidden;
	margin:0 auto 10px;
}

.content .post_list li .img_box img{
	height:100%;
	width:100%;
	position:absolute;
	margin:auto;
    object-fit: cover;
}

.content .post_list li p.date{
	font-size:80%;
	font-weight:bold;
	margin:0 auto 10px;
}

.content .post_list li ul.post_cate_li{
	display:flex;
	margin:0 auto 10px;
	padding:0;
}

.content .post_list li ul.post_cate_li li{
	background:var(--dark-color);
	color:#fff;
	font-size:80%;
	text-align:center;
	border-radius:15px;
	margin:0 2% 0 0;
	width:48%;
	
}

.content .post_list li h4{
	font-size:110%;
	margin:0 auto 10px;
}
.content .post_list li p.post_content_p{
	font-size:90%;
	margin:0 auto 10px;
}

.contact_page .content{
	background:#eee;
	overflow:hidden;
}

.contact_page .content .inner{
	width:1080px;
	margin:40px auto;
	background:#fff;
	box-sizing:border-box;
	padding:50px 15%;
}

.contact_page .content .inner h2{
	text-align:center;
	margin:0 auto 40px;
}

.contact_page .content .inner p.head{
	text-align:center;
	margin:0 auto 40px;
}

.contact_page .content .inner label{
	width:100%;
	display:flex;
	justify-content: space-between;
	align-items:center;
	font-weight:bold;
	font-size:90%;
	position:relative;
}

.contact_page .content .inner label.req:after{
	content:"必須";
	font-size:75%;
	padding:2px 10px;
	border-radius:10px;
	position:absolute;
	background:red;
	color:#fff;
	left:30%;
}

.contact_page .content .inner label span{
	width:60%;
}

.contact_page .content .inner select{
	width:50%;
	font-weight:normal;
	padding:10px;
	box-sizing:border-box;
}
.contact_page .content .inner input{
	width:100%;
	font-weight:normal;
	padding:10px;
	box-sizing:border-box;
}

.contact_page .content .inner textarea{
	width:100%;
	font-weight:normal;
	padding:10px;
	box-sizing:border-box;
}

.contact_page .content .inner h3{
	background:var(--dark-color);
	color:#fff;
	text-align:center;
	margin:40px auto;
	font-size:100%;
	padding:10px 0;
}

.contact_page .content .inner ::placeholder{
	color:#bbbbbb;
}

.contact_page .content .inner .privacy_area{
	margin:40px auto;
	width:50%;
	font-size:80%;
}

.contact_page .content .inner label.check_area{
    width: 70%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    font-size: 90%;
	background:#eee;
	border-radius:30px;
	padding:20px 0;
	margin:0 auto 40px;
}

.contact_page .content .inner label.check_area .wpcf7-list-item{
	margin:0;
}

.contact_page .content .inner label.check_area label{
    justify-content: center;
}

.contact_page .content .inner label.check_area span{
	width:100%;
}

.contact_page .content .inner label.check_area span.wpcf7-list-item-label{
	width:auto;
}

.contact_page .content .inner label.check_area input{
	width:auto;
	margin:0 20px;
}

.contact_page .content .inner input.wpcf7-submit{
	background:#000;
	color:#fff;
	padding:10px 0;
	font-size:110%;
}

.contact_page .content .inner input.wpcf7-submit:disabled{
	background:#eee;
	color:#000;
}

.page_list{
	display:flex;
    justify-content: center;
}

.work_detail_content > .inner{
	width:1100px;
	margin:0 auto;
	overflow:hidden;
}


.work_detail_content .inner .post_content{
	width:77%;
	float:left;
	margin:40px auto 0;
}

.work_detail_content .inner .sidebar{
	width:20%;
	margin:115px auto;
	float:right;
}

.work_detail_content .inner .post_content .single_head{
	display:flex;
	align-items: center;
	margin:0 auto 40px;
}

.work_detail_content .inner .post_content .single_head p.date{
	font-size:90%;
}

.work_detail_content .inner .post_content .single_head ul{
	display:flex;
	align-items: center;
}

.work_detail_content .inner .post_content .single_head ul li{
	margin-right:20px;
}

.work_detail_content .inner .post_content .single_head ul li a{
	background: var(--dark-color);
    color: #fff;
    font-size: 80%;
    text-align: center;
    border-radius: 15px;
	padding:5px 15px;
}

.work_detail_content .inner .post_content h2{
	font-size:140%;
	margin:0 auto 40px;
	padding-bottom:20px;
	border-bottom:1px dotted #707070;
}

.work_detail_content .inner .post_content > .img_box{
	height:450px;
	width:95%;
	margin:0 auto;
	overflow:hidden;
	border-radius:30px;
	position:relative;
}

.work_detail_content .inner .post_content .img_box img{
	display:block;
	position:absolute;
	width:100%;
	top:0;
	bottom:0;
	left:0;
	right:0;
	margin:auto;
}

.work_detail_content .inner .post_content .post_content{
	float:none;
	width:100%;
}

.work_detail_content .inner .post_content .post_content h3{
	font-size:140%;
	margin:40px auto 20px;
	padding:0 20px;
	box-sizing:border-box;
	border-left:4px solid var(--dark-color);
	line-height:1;
}
.work_detail_content .inner .post_content .post_content h4{
	font-size:120%;
	margin:40px auto 20px;
	box-sizing:border-box;
	color:var(--dark-color);
}
.work_detail_content .inner .post_content .post_content p{
	margin:0 auto 20px;
}

.work_detail_content .inner .sidebar h3{
	font-size:100%;
	padding:10px 0;
	border-bottom:1px dotted #707070;
	margin:0 auto 20px;
}

.work_detail_content .inner .sidebar li{
	margin:0 auto 20px;
}

.work_detail_content .inner .sidebar li a{
	color:#959393;
	font-size:90%;
}

.work_detail_content .inner .sidebar li a:hover{
	color:#333;
}

.work_detail_content .inner .post_content table{
  width: auto;              /* テーブル全体の幅を内容に合わせる */
  border-collapse: collapse;
	margin:20px auto;
}

.work_detail_page h1 span{
	font-size:60%;
	font-weight:normal;
}

.recommend_section{
	margin:40px auto;
}

.recommend_section h3{
	padding:10px;
	border-bottom: 1px dotted #707070;
	margin:0 auto 20px;
}

.recommend_section .post_list{
	width:100%;
	padding:0;
}

.system .inner h3 span{
	font-size:50%;
}

.system .inner p.caution{
	margin:0;
	font-size:80%;
	text-align:right;
}