@charset "UTF-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url('https://fonts.googleapis.com/css2?family=Allura&display=swap');

/*縦スクロールバーエリアを表示*/
html {
	overflow-y: scroll;
	overflow-x: hidden;
}

body {
	width: 100%;
	font-family: 'Noto Sans Japanese', sans-serif, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif, "ヒラギノUD丸ゴ W3 JIS2004", Hiragino UD Sans Rd W3 JIS2004, Hiragino UD Sans F W5 JIS2004, "ヒラギノUD角ゴF W5 JIS2004";
	font-weight: 400;
	margin: 0;
	padding: 0;
	height: 100%;
	color: #000;
	font-size: 16px;
	position: relative;
	line-height: 32px;
}

/* @group Reset */
* {
	margin: 0;
	padding: 0;
}

/*通常*/
a:link {
	/*color: rgba(107, 58, 6, 1);*/
	color: #54494B;
	text-decoration: none;
	padding-right: 1px;
	padding-left: 1px;
	transition: .3s;
}

/*閲覧済み*/
a:visited {
	/*color: rgba(107, 58, 6, 1);*/
	text-decoration: none;
	color: #54494B;
}

/*マウスオン*/
a:hover {
	/*color: rgba(107, 58, 6, 1);*/
	color: #E4A00B;
}

/*クリック中*/
a:active {
	/*color: rgba(107, 58, 6, 1);*/
	text-decoration: none;
	background-color: transparent;
	color: #54494B;
}

/*クリック時の枠線*/
a {
	padding: 0 0 0 0px;
	outline: none;
}

ul,
ol {
	list-style: none;
}

img {
	vertical-align: middle;
	max-width: none;
}

svg {
	fill: currentColor;
}

/* @end */

/* @group Fluid-img */
img {
	width: auto;
}

/* @end */

/* @group HTML */
html {
	width: 100%;
	font-size: 100%;
	line-height: 1.68;
}

/* @end */
div,
p {
	text-align: justify;
	text-justify: inter-ideograph;
}

h2,
h3 {
	font-family: "游ゴシック", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", san-serif;
}

#container {

	width: 100%;
	display: block;
	overflow: hidden;
}

/* 画面外にいる状態 */
.fadein {
	opacity: 0.1;
	transform: translate(0, 50px);
	transition: all 1800ms;
}

.fadeinB {
	opacity: 0.1;
	transform: translate(-50px, 0px);
	transition: all 1800ms;
}

/* 画面内に入った状態 */
.fadein.scrollin,
.fadeinB.scrollin {
	opacity: 1;
	transform: translate(0, 0);
}

header {
	display: flex;
	flex-direction: column;
	z-index: 10;
	position: relative;
	margin: 0 0 80px;
}

header .inner {
	margin: 0px 70px 0px;
	box-sizing: content-box;
	position: relative;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 45px 0 0;
}

header h1,
footer h1 {
	font-size: 26px;
	margin: 0px 0 0;
	line-height: 0.9em;
}

header h1 {
	position: relative;
	z-index: 1000;
	background: #fff;
}

header h1 div,
footer h1 div {
	color: #54494B;
}

header h1 a,
footer h1 em {
	display: flex;
	align-items: flex-end;
	font-style: inherit;
}

header h1 a:before,
footer h1 em:before,
.intro dt div:after {
	content: "";
	background: url(../parts/logo.svg) no-repeat;
	display: block;
	width: 69px;
	height: 69px;
	background-size: contain;
	margin-right: 15px;
}

.intro dt div:after {
	margin: 0;
}

header h1 div span,
footer h1 div span {
	display: block;
	font-size: 14px;
	align-self: flex-end;
}

header h1 p,
footer h1 p {
	font-size: 12px;
	font-weight: normal;
	margin: 3px 0 0;
}

/* スライダー */
.top_area {
	display: flex;
	justify-content: space-between;
	margin: 0 70px;
}

.top_area>img {
	margin: 7em -8em 0 0;
	position: relative;
	z-index: 2;
}

.slide_area {
	max-width: 1050px;
	width: 100%;
}

.bx-wrapper {
	background-color: transparent;
	margin: 0px auto;
	border: none;
	box-shadow: none;
}

.bx-wrapper img {
	display: block;
	margin: 0px auto;
	width: 100%;
}

.catch {
	position: absolute;
	z-index: 5;
	left: 24.4%;
	top: 17em;
	line-height: normal;
}

.catch p {
	margin: 0 0 0px;
}

.catch span {
	font-family: fot-tsukuardgothic-std, sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 40px;
	color: #906636;
	background: #fff;
	display: inline;
	padding: 0 20px;
}

_:lang(x)+_:-webkit-full-screen-document,
.catch span {
	padding: 5px 20px;
}

#main {
	margin: 0px 0px 0;
	line-height: 1.9;
}

#main h2 {
	display: inline-block;
	font-size: 40px;
	margin: 0 0 44px;
	padding: 0 0 3px;
	color: #54494B;
	border-bottom: 2px solid #54494B;
	line-height: 1;
	font-family: fot-tsukuardgothic-std, sans-serif;
	font-weight: 700;
	font-style: normal;
}

#main h2 small {
	font-size: 16px;
	letter-spacing: -0.5px;
	margin: 0 0 4px;
}

h2 small,
h3 small {
	display: block;
	font-size: 16px;
	letter-spacing: 1px;
	text-align: left;
}

.contents {
	width: 100%;
	margin: 0 auto 100px;
	padding: 0 20px;
	position: relative;
}

.contents:nth-of-type(2n) {
	background: #F2F2ED;
	margin: 0 calc(50% - 50vw) 100px;
	width: 100vw;
	max-width: none;
	padding: 70px 20px 84px;
}

span.name {
	color: #E4A00B;
	display: inline-block;
	margin-right: 10px;
}

a.more {
	border-radius: 38px;
	background: rgb(84, 73, 75);
	color: #fff;
	max-width: 240px;
	width: 100%;
	height: 45px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	overflow: hidden;
}

a.more:after {
	content: "\f054";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 12px;
	position: relative;
	top: 2px;
	margin-left: 5px;
}

a.more:hover {
	background: #E4A00B;
}

/* about */
#about {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	margin-top: -8em;
	position: relative;
	z-index: 5;
	margin-bottom: 70px;
}

#about div.pc_ill {
	display: flex;
}
#about div.banner,
#company div.banner,
#service div.banner{
	display:none;
}
#about div img {
	max-width: 100%;
}

#about div img:first-child {
	margin-right: 80px;
}

#about dl {
	margin-left: 158px;
}
#about dl a{
	border-bottom:solid 1px #E4A00B;
}
#about dt p br {
	display: none;
}

#about dt {
	color: #54494B;
	font-size: 32px;
	font-family: "游ゴシック", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro";
	font-weight: bold;
	margin: 0 0 40px;
	line-height: 1.5;
}
#about dd em{
	font-style: normal;
	font-weight:600;
	font-size:1.3rem;
}
.campaign_pc{
	max-width:760px;
	margin:0 auto 20px;
	display: flex;
	justify-content:space-around;
}
.campaign_pc img{
	width:100%;
}
p.sales {
	text-align: center;
	margin:0 auto 100px;
}
div.banner{
	display: none;
}
.line_quotation img{
	width:340px;
}
/* service内容 */
#service,
#company {
	display: flex;
	justify-content: center;
}

.top #service>div {
	max-width: 244px;
	margin: 0 80px 0 0;
}

#service h2+p {
	margin: 0 0 20px;
}

#service ul,
#company ul {
	display: flex;
	background: #fff;
	padding: 20px 0;
}

#service li {
	max-width: 290px;
	padding: 7px 50px;
	border-right: 3px dotted #9D9D9D;
}

#service li:last-child {
	border: none;
}

#service li a {
	display: flex;
	flex-direction: column;
	align-items: center;
}

#service li h3 {
	margin: 0 0 10px;
	display: flex;
	flex-direction: column;
	align-items: center;
	font-size: 24px;
}

#service li span {
	display: inline-block;
	border-bottom: 1px solid #00414B;
	font-size: 18px;
}

#service li p {
	margin: 5px auto 0px;
	line-height: 1.5em;
}

/* 施工事例 */
#cases {
	display: flex;
	flex-direction: column;
	align-items: center;
	max-width: 1200px;
	width: 100%;
}

#main #cases h2 small {
	text-align: center;
}

#cases h2+p {
	margin: 0 0 70px;
}

#cases ul {
	display: flex;
	margin: 0 0 50px;
}

#cases ul li {
	display: flex;
	flex-direction: column;
	margin: 0 40px 0 0;
}

#cases ul li:last-child {
	margin-right: 0;
}

#cases li img {
	margin: 0 0 15px;
	width: 270px;
	height: 270px;
	object-fit: cover;
	object-position: center;
}

#cases li .new_info_date {
	display: block;
	margin: 0 0 5px;
}

#cases li .new_info_title {
	display: block;
	line-height: 1.5;
}

#cases li a {
	border: none;
}

#cases a.more {
	align-self: flex-end;
}

/* お知らせ */
#news {
	padding: 90px 0 185px;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	background-image: url(../parts/news_bg.png);
	background-size: 38vw;
	background-repeat: no-repeat;
	background-position: bottom 20px left 4em;
}

#news .box {
	max-width: 1200px;
	width: 100%;
}

#news h2 {
	writing-mode: inherit;
	text-align: center;
}

#news h2:after {
	display: block;
	margin: 0 auto;
}

#news h2 small,
.top #company h2 small {
	text-align: center;
}

#news .box {
	margin: 0 auto;
	padding: 0px 0;
	position: relative;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	max-width: 1200px;
	width: 100%;
}

#news a.more {
	position: absolute;
	bottom: -50px;
	right: 0;
}

.new_info_date,
#news span.label {
	display: block;
	width: 100%;
}

#news span.label {
	padding: 2px 6px;
	font-size: 12px;
	background: #FBF8EC;
}

#news img {
	max-width: 270px;
}

#news ul {
	display: flex;
	margin-bottom: 30px;
}

.case ul {
	display: flex;
	justify-content: space-between;
	display: flex;
}

.case li {
	max-width: 270px;
}

.info {
	margin-top: 120px;
}

.info li {
	background: #fff;
	width: 25vw;
	max-width: 300px;
	padding: 10px 0px;
}

.info li a {
	border-right: 3px dotted #9D9D9D;
	padding: 10px 20px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	min-height: 100px;
}

.info li:nth-child(3) a {
	border-right: none;
}

/* 会社案内 */
#company {
	margin-bottom: 70px;
	background: none;
	padding: 0;
}

#company h2 {
	display: inline-block;
	margin-bottom: 70px;
}

#company .intro {
	text-align: center;
	max-width: 1110px;
	margin: 0 auto;
	position: relative;
}

.intro dl {
	display: flex;
	flex-direction: row-reverse;
}

.intro dl dt {
	max-width: 600px;
}

.intro dt div {
	font-size: 32px;
	font-family: "游ゴシック", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro";
	font-weight: bold;
	color: #54494B;
	margin: 0 0 20px;
	display: flex;
	align-items: first baseline;
	white-space: nowrap;
	margin-top: -1.4em;
}

.intro dt div br {
	display: none;
}

.intro dt p {
	margin: 0 0 70px;
}

.top #company picture {
	display: block;
	margin-right: 50px;
	position: relative;
	max-width: 550px;
}

.top #company picture img {
	display: block;
	width: 100%;
}

#company a.more {
	float: right;
}

/* お問い合わせ */
#contact {
	background: none;
	padding: 83px 0 0px;
	margin-bottom: 52px;
}

#contact:before {
	content: "";
	position: absolute;
	top: 0;
	box-sizing: border-box;
	border-right: 50vw solid transparent;
	border-left: 50vw solid transparent;
	border-bottom: 130px solid #F2F2ED;
}

#contact * {
	text-align: center;
}

#main #contact h2 small {
	margin: 0 0 5px;
}

#contact .box {
	background: #F2F2ED;
	margin-top: 2.9em;
	padding-bottom: 0;
	position: relative;
}

#contact .box:after {
	content: "";
	background: url(../parts/contact.svg) no-repeat;
	background-size: contain;
	display: block;
	width: 100vw;
	height: 16vw;
	position: relative;
	z-index: 5;
}

#contact .contact:after {
	content: "";
	width: 100vw;
	height: 20px;
	background: #fff;
	position: absolute;
	bottom: -1%;
	left: 0;
}

#contact h2+p {
	color: #363635;
	margin: 0 0 20px;
}

#contact h2+p br {
	display: none;
}

#contact dl {
	margin: 0 0 50px;
}

#contact dt {
	font-size: 24px;
	font-weight: 400;
}

#contact .contact {
	margin: 0 0 22px;
}

#container:not(.top) #contact .contact {
	margin: 0 0 40px;
}

#contact .contact a {
	font-size: 14px;
	max-width: 180px;
	margin: 0 auto;
}

#contact .contact a:first-child {
	margin-bottom: 36px;
}
.button_fixed{
	position: fixed;
	right:10px;
	bottom:100px;
	z-index:100;
}
@media screen and (max-width: 1024px){
	.button_fixed{
		top:410px;
	}
}
		@media screen and (max-width: 480px){
			.button_fixed{
				top:210px;
			}
		}
.button_fixed li{
	margin:0 0 20px 0;
}
.button_fixed img{
	width:50px;
}
footer {
	padding: 0px 0 0px;
}

footer .inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 70px;
	display: flex;
	align-items: flex-end;
	flex-wrap: wrap;
	justify-content: space-between;
	box-sizing: content-box;
}

footer h1 {
	margin: 0 0 30px;
}

footer p {
	color: #54494B;
}

footer .f_info {}

footer .tel {
	font-size: 24px;
	font-weight: bold;
}

footer .tel span {
	font-size: 14px;
}

footer ul {
	display: flex;
	flex-wrap: wrap;
}

footer ul li {
	font-size: 14px;
	margin: 0 40px 0 0;
	font-weight: bold;
	position: relative;
}

footer ul li:last-child {
	margin-right: 0;
}

.copy {
	width: 100vw;
	font-size: 12px;
	text-align: center;
	background: #54494B;
	color: #fff;
	margin: 60px calc(50% - 50vw) 0px;
	padding: 2px 0;
	position: relative;
	line-height: 20px;
}

.copy:after {
	content: "";
	background: #fff url(../parts/icon_roller.svg) no-repeat;
	background-size: contain;
	width: 42px;
	height: 28px;
	display: block;
	right: 0;
	bottom: 0;
	position: absolute;
}

#page-top {
	display: block;
	text-align: center;
	margin: 0 0 0px;
	bottom: 85px;
	font-size: 12px;
	right: 0;
}

#page-top a {
	height: 100%;
	font-size: 12px;
	display: inline-block;
	color: #E4A00B;
}

#page-top .fa-solid {
	transform: rotate(-90deg);
	display: block;
}

br.sp {
	display: none;
}

a[href^="tel:"] {
	pointer-events: none;
	color: #000;
}

/* 配下　サービス内容 */
.heading {
	flex-wrap: wrap;
}

picture.top {
	display: flex;
	max-width: 1000px;
	max-height: 440px;
	overflow: hidden;
	align-items: center;
	margin: 0 70px 90px 0;
	width: clamp(40%, 57vw, 1000px);
}

picture.top img {
	display: block;
	max-width: 100%;
}

#main .heading h2 {
	padding: 0 0 10px;
	margin: 0 0 82px;
}

#main .heading h2 small {
	font-size: 24px;
	margin: 0 0 25px;
}

#service.heading>div:first-child:after {
	content: "";
	background: url(../parts/tosou.svg) no-repeat;
	background-size: contain;
	display: block;
	width: 237px;
	height: 159px;
	position: relative;
	left: 5em;
}

#company.heading>div:first-child:after {
	content: "";
	background: url(../parts/tree.svg) no-repeat;
	background-size: contain;
	display: block;
	width: 237px;
	height: 159px;
	position: relative;
	left: 5em;
}

.heading>div {
	margin-right: 20px;
	margin-left: 70px;
}

#container:not(.top) #news {
	display: none;
}

#container:not(.top) #contact:after {
	content: "";
	background: url(../parts/bg_bird.svg) no-repeat;
	width: 174px;
	height: 172px;
	display: block;
	background-size: contain;
	position: absolute;
	top: 0;
	left: 8vw;
}

.service #service,
.company #company {
	padding: 0;
	align-items: center;
	justify-content: space-between;
}

#service .box,
#company .box {
	width: 100%;
	background: #F2F2ED;
	/*margin: 0 calc(50% - 50vw);*/
	margin: 0 0;
	padding: 40px 0 0;
}

#service .box ul,
#company .box ul {
	flex-direction: column;
	align-items: center;
	background: none;
	padding: 40px;
}

#service .box p {
	text-align: center;
}

#service .box li#painting,
#service .box li#waterp,
#service .box li#reform,
#company .box li#greeting,
#company .box li#color_simulation,
#company .box li#about_tbl{
	border: none;
	max-width: 800px;
	width: 100%;
	flex-direction: initial;
	justify-content: center;
	padding: 40px;
	background: #fff;
	margin: 0 0 40px;
}
#company .box li{
	display: block;
	justify-content: unset;
	flex-direction: unset;
}
#service .box li h3 {
	margin: 0 0 30px;
}
#company .box li .txt{
	display: flex;
	justify-content: space-between;
}
#greeting .txt div,
#color_simulation .txt div{
	max-width:480px;
}
#color_simulation strong{
	color: #E4A00B;
	font-size: 24px;
	display: block;
	margin:40px auto;
	text-align: center;
}
#color_simulation .point{
	display: flex;
	justify-content: space-between;
}
#color_simulation .point dl:first-child{
	margin:0 0 20px 0;
}
#color_simulation .point dl{
	width:46%;
}
#color_simulation .point dt{
	font-size: 20px;
	border-bottom: solid 1px #54494B;
	display: inline-block;
	margin: 0 0 10px 0;
}
#color_simulation .point dd{
	font-size:14px;
}
#service .box li div img {
	display: block;
	margin: 0 auto 30px;
}

#service .box li#painting dd {
	margin: 0 0 20px;
}

#service .box li#painting div dl:nth-of-type(3) dd {
	margin: 0 0 0;
}

#service .box li p,
#service .box li dl {
	max-width: 580px;
	margin: 0 auto;
}

#service .box li p {
	text-align: left;
	margin: 0 auto 20px;
}

_:lang(x)+_:-webkit-full-screen-document,
h2,
h3 {
	font-weight: 500;
}

/*会社案内*/
#company li h3 {
	font-size: 32px;
	margin: 0 0 30px 0;
	color:#54494B;
}

#company .box li#greeting,
#company .box li#color_simulation,
#company .box li#about_tbl{
	max-width: 1000px;
}

#company #greeting strong {
	font-size: 20px;
	margin: 30px 0 0px 0;
	display: block;
	font-weight: 500;
}

#about_tbl h3 {
	text-align: center;
	margin: 0 0 50px 0;
}

#about_tbl>div {
	max-width: 600px;
	margin: 0 auto;
}

#about_tbl dl {
	display: flex;
	flex-wrap: wrap;
}

#about_tbl dt,
#about_tbl dd {
	border-bottom: 1px dashed #333333;
	margin: 0 0 15px 0;
	padding: 0 0 15px 0;
}

#about_tbl dt {
	width: 30%;
	padding: 0 0 15px 50px;
}

#about_tbl dd {
	width: 69%;
}

.privacy .ttl_area,
.privacy .ttl_area small {
	text-align: center;
}

#privacy.heading h2 {
	margin: 0;
}

.privacy .ttl_area {
	background: #fff;
}

#privacy.contents {
	padding: 0;
}

#privacy.heading>div {
	margin: 0;
	padding: 70px 130px 70px;
	background: #F2F2ED;
}

#privacy.heading>div.ttl_area {
	padding: 70px 130px 0px;
}

#privacy .box dl {
	background: #fff;
	max-width: 1000px;
	margin: 0 auto;
	padding: 20px 50px;
}

#privacy .box dl:nth-of-type(1) {
	padding: 50px 50px 20px;
}

#privacy .box dl:last-child {
	padding: 20px 50px 50px;
}

#privacy .box dt {
	font-size: 24px;
}

#privacy .p_contact {
	margin: 20px 0 20px;
}

#privacy .p_contact th {
	font-weight: 500;
}

#privacy .p_contact th,
#privacy .p_contact td {
	border-bottom: solid 1px #dcdcdc;
	margin: 0 0 10px 0;
	padding: 10px 30px 10px 20px;
}
#campaign img.banner{
	display: block;
	margin: 0 auto 40px;
	max-width: 720px;
}
#main #campaign h2{
	display: block;
	text-align: center;
}
#campaign .overview{
	max-width: 720px;
		margin:0 auto;
}
#campaign .overview dl{
	display:flex;
	flex-wrap:wrap;
}
#campaign .overview dt{
	width:20%;
	padding:0 0 5px 0;
	margin:0 0 10px 0;
}
#campaign .overview dd{
	width:79%;
	margin:0 0 10px 1px;
	padding:0 0 5px 25px;
}
#campaign .overview dt,
#campaign .overview dd{
	border-bottom:2px dotted #9D9D9D;
}
#campaign .line img{
	display: block;
	margin: 0 auto 0;
}
@media screen and (max-width: 1200px) {
	#main #campaign h2{
		margin: 0 0 30px 0;
	}
	#campaign .box{
		margin:0;
	}
	#campaign img.banner,
	#campaign .line img{
		width:100%;
	}
	.campaign_pc{
		width: 100%;
		display: block;
		margin: 0;
	}
	.campaign_pc img{
		width: 90%;
		margin: 0 auto 0px;
		display: block;
	}
	p.sales{
		margin: 0 auto 30px;
	}
	div.banner{
		display:block;
	}
	.banner_list{
		padding: 0 20px;
		margin: 0 auto 60px;
	}
	br.sp{
		display: block;
	}
}
@media screen and (max-width: 1366px){
	.top_area{
		align-items:center;
		margin:-100px 0 0 0;
	}
}
@media screen and (max-width: 1200px) {

	header .inner {
		padding: 30px 0 0;
		margin: 0 20px;
	}

	.top_area>img {
		width: 43vw;
	}

	.catch {
		font-size: 24px;
		bottom: auto;
		top: 25vw;
	}

	.catch span {
		background: rgba(255, 255, 255, 0.7);
	}

	/* about */
	#about dt {
		background: #fff;
		padding: 0 10px;
	}

	#about div img+img {
		display: none;
	}

	/* サービス */
	#service {
		flex-direction: column;
		align-items: center;
	}

	#service>div {
		margin: 0 0 30px;
	}

	picture.top {
		margin-right: 0;
		width: 100%;
	}

	/* 会社案内 */
	#company {
		padding: 0 20px 134px;
		margin-bottom: 0;
	}

	#page-top {
		position: relative;
		bottom: 0;
		left: 0;
		right: 0;
		margin: 40px auto 0;
	}

	/* 配下 */
	.heading>div:first-child {
		display: flex;
	}

}

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

	a[href^="tel:"] {
		pointer-events: auto;
	}

	html {
		min-width: 320px;
	}

	.fadein,
	.fadeinB {
		opacity: 1;
		transform: none;
	}

	a.more {
		width: 300px;
		max-width: none;
	}

	header {
		margin: 0 0 13px;
	}

	header .inner {
		max-width: none;
		width: auto;
		padding: 0;
		position: relative;
	}

	header h1 a {
		display: flex;
		align-items: flex-start;
		margin-top: 10px;
	}

	header h1 div {
		font-size: 20px;
	}

	header h1 div span {
		font-size: 11px;
		line-height: normal;
		display: inline-block;
	}

	header h1 a::before {
		width: 40px;
		height: 40px;
		margin-right: 6px;
	}

	footer h1 em::before {
		width: 53px;
		height: 53px;
	}

	header h1 p {
		margin: 0 0 0px 49px;
		width: 156px;
		white-space: nowrap;
		overflow: hidden;
		position: relative;
		top: -17px;
	}

	.top_area {
		flex-direction: row-reverse;
		justify-content: flex-end;
		margin: 0;
	}

	.catch {
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		color: #fff;
		position: absolute;
		top: 23vw;
		right: 0;
		white-space: nowrap;
		line-height: normal;
	}

	.catch span {
		font-size: clamp(24px, 5vw, 40px);
	}

	.top_area>img {
		width: 75vw;
		margin: 0;
		max-width: 100%;
	}

	.slide_area {
		display: none;
	}

	.contents {
		margin-bottom: 45px;
	}

	#main h2 {
		font-size: 24px;
		margin: 0 0 30px;
	}

	#main h2 small {
		font-size: 12px;
		line-height: normal;
		margin: 0 0 0;
	}

	/* 私たちについて */
	#about {
		margin-top: 0;
		/*display: flex;*/
		display: block;
		flex-direction: row-reverse;
	}

	#about dl {
		margin: 0;
	}

	#about dt {
		background: no-repeat;
		padding: 0;
		font-size: 22px;
		margin: 0 0 30px;
		position: relative;
	}

	#about dt p br {
		display: block;
	}

	#about dt:after {
		content: "";
		display: block;
		background: url(../parts/comb_01.svg) no-repeat;
		width: 108px;
		height: 155px;
		background-size: contain;
		position: absolute;
		top: -3em;
		left: 9em;
	}
	#about div.pc_ill {
		display: none;
	}
	#about div.banner,
	#company div.banner,
	#service div.banner{
		display: block;
		margin:20px 0 0;
	}
	#company div.banner{
			margin:-20px 0 20px;
		}
		ul.banner_list li.line,
		ul.banner_list li.mail,
		ul.banner_list li.tel,
		#company div.banner li.line,
		#company div.banner li.mail,
		#company div.banner li.tel
		#service div.banner li.line,
		#service div.banner li.mail,
		#service div.banner li.tel{
			margin:0 0 20px 0;
			width:100%;
		}
#service div.banner li.line{
	background: #F2F2ED;
	padding: 0;
}
#service div.banner li.mail,
#service div.banner li.tel{
	padding: 10px 0;
}
#service div.banner li.tel li{
	background: none;
	padding: 0;
	margin: 0;
}
ul.banner_list li.line a,
#company div.banner li.line a,
#service div.banner li.line a{
	display: inline-block;
	width:100%;
}
ul.banner_list li.line a img,
#company div.banner li.line a img,
#service div.banner li.line a img{
	display: block;
	margin: 0 auto;
	max-width:100%;
}
	ul.banner_list .mail,
	ul.banner_list .tel,
	#company .banner .mail,
	#company .banner .tel,
	#service .banner .mail,
	#service .banner .tel{
		border-radius:10px;
		background:#54494B;
	}
	#company .banner .tel{
		width:100%;
	}
	ul.banner_list .mail a,
	ul.banner_list .tel a,
	#company .banner .mail a,
	#company .banner .tel a,
	#service .banner .mail a,
	#service .banner .tel a{
		display: block;
		width:100%;
		color:#fff;
	}
		ul.banner_list .mail a,
		#company .banner .mail a,
		#service .banner .mail a{
			background-image: url(../parts/banner_more.png) ;
			background-repeat: no-repeat;
			background-position: 100% center;
			display: block;
			margin: 0 auto;
			width: 95%;
			text-align: center;
		}
		ul.banner_list .mail i,
		#company .banner .mail i,
		#service .banner .mail i{
			margin-right:10px;
		}
	#campaign .overview dl{
		display: block;
	}
	#campaign .overview dt,
	#campaign .overview dd{
	display: block;
	width:100%;
	}
	#campaign .overview dt{
		border-bottom:none;
		font-weight: 600;
	}
	#campaign .overview dd{
		padding:0 0 5px 0;
	}
		@media screen and (max-width: 480px){
			ul.banner_list .mail span,
			#company .banner .mail span,
			#service .banner .mail span{
			width: 80%;
    display: block;
		}
		#service .banner .mail span{
			border:none;
			font-size:16px;
		}
		}
	ul.banner_list .mail,
	ul.banner_list .tel,
	#company .banner .mail,
	#company .banner .tel,
	#service .banner .mail,
	#service .banner .tel{
		padding: 10px 0;
	}
	ul.banner_list .tel a,
	#company .banner .tel a,
	#service .banner .tel a{
		padding:0 0px;
		background-image: url(../parts/banner_more.png) ;
		background-repeat: no-repeat;
		background-position: 100% center;
		display: block;
		margin: 0 auto;
		width: 95%;
		text-align: center;
	}
	ul.banner_list .tel ul,
	.company #company .banner .tel ul,
	#service .banner .tel ul{
		padding:0 30px ;
	}
	.company #company .banner .tel ul li,
	#service .banner .tel ul li	{
		width:100%;
	}
	ul.banner_list .tel .ttl,
	#company .banner .tel .ttl,
	#service .banner .tel .ttl{
		font-size:14px;
	}
	ul.banner_list .tel .number,
	#company .banner .tel .number,
	#service .banner .tel .number{
		font-size:22px;
		background:url(../parts/banner_call.png) no-repeat 10px 0px;
	}
	/* サービス内容 */
	.service #service,
	.company #company {
		flex-direction: column;
		/*align-items: inherit;*/
		align-items: normal;
		margin: 0 0 60px;
	}

	#service>div,
	#company>div {
		max-width: none;
		margin: 0 0 30px 20px;
	}

	.top #service>div {
		margin: 0 0 30px;
		max-width: none;
	}

	.top #service>div:before {
		content: "";
		background: url(../parts/comb_02.svg) no-repeat;
		width: 142px;
		height: 213px;
		background-size: contain;
		display: block;
		position: absolute;
		top: -7em;
		right: 3em;
	}

	#service h2+p {
		margin: 0;
	}

	#service ul {
		background: none;
		flex-direction: column;
		padding: 0;
		margin: 0 0 30px 0;
	}

	#service li{
		border: none;
		margin: 0 auto 20px;
		background: #fff;
		padding: 20px;
		max-width: 500px;
		width: 100%;
	}

	#service li:last-child {
		margin-bottom: 0;
	}

	#service li h3 {
		font-size: 22px;
		margin: 0 0 20px;
	}

	#service li p {
		margin: 20px 0 0;
	}

	#service a.more {
		position: absolute;
		bottom:-10px;
		left: 0;
		right: 0;
		margin: 0 auto;
	}

	/* 施工事例 */
	#cases {
		margin: 0 0 60px;
	}

	#main #cases h2 small {
		text-align: left;
	}

	#cases ul {
		display: block;
		width: 100%;
	}

	#cases ul li {
		margin: 0;
		width: 100%;
		;
		display: block;
		overflow: hidden;
		font-size: 14px;
	}

	#cases li img {
		float: left;
		display: block;
		margin-right: 15px;
	}

	#cases li a {
		display: block;
	}

	#main #cases h2 {
		align-self: flex-start;
	}

	#cases h2+p br {
		display: none;
	}

	#cases a.more {
		align-self: center;
	}

	#cases h2+p {
		margin: 0 0 30px;
	}

	/* お知らせ */
	#news {
		padding: 110px 0 75px;
		background-position: center 2em;
		background-size: 375px;
	}

	#news .box {
		flex-direction: column;
		align-items: center;
	}

	#news ul {
		flex-direction: column;
	}

	.info li {
		margin: 0 0 10px;
		max-width: none;
		min-width: 335px;
		width: 70vw;
	}

	.info li a {
		border: none;
	}

	#news a.more {
		left: 0;
		right: 0;
		margin: 0 auto;
	}

	/* 会社案内 */
	.top #company {
		padding: 0 20px 134px;
		margin-bottom: 0;
	}

	.top #company .intro {
		text-align: left;
		position: relative;
	}

	.intro dl {
		flex-direction: column;
	}

	.intro dl dt {
		max-width: none;
	}

	.intro dt div:after {
		content: "";
		display: block;
		background: url(../parts/logo.svg) no-repeat;
		width: 74px;
		height: 67px;
		background-size: contain;
		float: right;
		position: relative;
		top: -1.5em;
		left: 3vw;
	}

	.intro dt div {
		margin: 0px 0 -10px;
		display: inline-block;
		line-height: 1.4;
		font-size: 24px;
	}

	.intro dt div br {
		display: block;
		line-height: 0;
	}

	.intro a.more {
		float: none;
		position: absolute;
		bottom: 0;
	}

	.top #company span.name {
		display: inline-block;
	}

	.intro dt p {
		margin: 0 0 30px;
	}

	.top #company picture {
		margin: 0 0;
		max-width: none;
	}

	.top #company picture img {
		max-width: 100%;
		width: 100vw;
		margin: 0 auto;
	}

	.top #company a.more {
		position: absolute;
		z-index: 5;
		bottom: -60px;
		left: 0;
		right: 0;
		margin: 0 auto;
	}

	/* お問い合わせ */
	#contact {
		padding: 0;
		text-align: center;
		margin: 0 0px 0;
		padding-top: 5.2em;
	}

	#contact::before {
		left: 0;
		border-bottom: 87px solid #F2F2ED;
	}

	#contact .box {
		margin-top: 0.2em;
	}

	#contact dl {
		margin: 0 0 40px;
	}

	#contact .contact a {
		border-bottom: 1px solid #54494B;
	}

	#contact .contact a:first-child {
		margin-bottom: 46px;
	}

	#contact .box::after {
		background: url(../parts/contact_sp.svg) no-repeat;
		height: 12em;
		background-size: auto;
		background-position: center bottom;
	}

	#container:not(.top) #contact .box::after {
		background-image: url(../parts/contact_sp_sub.svg);
		background-size: cover;
		background-position-x: 57%;
	}

	#contact .contact::after {
		bottom: -1.8%;
	}

	#container:not(.top) #contact::after {
		content: none;
	}

	#container:not(.top) .contact::after {
		bottom: -2%;
	}

	#contact h2+p br {
		display: block;
		line-height: none;
	}
	footer {
		margin: 70px 0 0;
	}

	footer .inner {
		display: block;
		padding: 0 20px;
	}

	footer ul {
		display: none;
	}

	footer p {
		margin: 0 0 43px;
	}

	.copy {
		margin-top: 20px;
		line-height: 16px;
		margin-bottom: 4px;
	}

	.copy:after {
		width: 42px;
		height: 32px;
		bottom: -4px;
	}

	#page-top {
		position: relative;
		bottom: 0;
		margin: 0 auto;
	}

	/* 配下 サービス内容 */
	#main .heading h2 {
		font-size: 30px;
		border: none;
		margin: 0;
		padding: 0;
	}

	#main .heading h2 small {
		margin: 0 0 10px;
		font-size: 12px;
	}

	#service.heading>div:first-child::after,
	#company.heading>div:first-child::after {
		width: 90px;
		height: 60px;
		left: 0;
		margin-left: 40px;
	}

	.service .heading>div:first-child {
		margin: 0 0 40px;
	}

	picture.top {
		max-width: none;
		max-height: none;
		width: 100%;
		margin: 0 0 0;
	}

	.service #service .box,
	.company #company .box {
		padding: 40px 20px 0;
	}

	.service #service .box,
	.company #company .box {
		padding-bottom: 30px;
	}

	.service #service .box ul,
	.company #company .box ul {
		padding: 40px 0px;
	}

	.service #service .box li,
	#company .box li#greeting,
	#company .box li#color_simulation,
	#company .box li#about_tbl{
		padding: 40px 15px;
		flex-direction: column;
	}

	.service #service .box li div:first-child {
		margin: 0 0 20px;
	}

	.service #service .box li h3,
	.company #company .box li h3 {
		font-size: 24px;
	}

	.company #company .txt h3 {
		text-align: center;
	}

	.service #service .box li h3+img {
		display: block;
		margin: 0 auto;
	}

	.service #service .box p,
	.company #company .box p {
		text-align: left;
		margin: 0 0 30px;
		font-size: 14px;
	}

	.service #service .box dl {
		font-size: 14px;
	}

	#company .txt {
		max-width: 100%;
	}
#company .box li .txt,
#color_simulation .point{
	display: block;
}
#color_simulation img{
	width:100%;
}
#color_simulation strong{
	font-size: 16px;
	text-align: left;
}
#color_simulation .point dt{
	font-size: 16px;
}
#color_simulation .point dl{
	width:100%;
}
	.service #service .box ul,
	.company #company .box ul {
		padding: 0;
		margin: 0;
	}

	#company #greeting strong {
		margin: 0 0 30px 0;
	}

	#about_tbl dl {
		display: block;
	}

	#about_tbl dt,
	#about_tbl dd {
		width: 100%;
	}

	#about_tbl dt {
		padding: 0;
		border: none;
		margin: 0;
	}

	.new_info_date {
		margin: 0;
	}

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

	#privacy.heading>div {
		padding: 10px;
	}

	#privacy.heading>div.ttl_area {
		padding: 0px;
		margin: 0 0 20px 30px;
		background: #fff;
	}

	#privacy.heading>div.ttl_area small {
		text-align: left;
	}

	#privacy .box dl {
		padding: 20px;
	}

	#privacy .box dl:nth-of-type(1) {
		padding: 20px;
	}

	#privacy .box dl:last-child {
		padding: 20px;
	}

	#privacy .p_contact th,
	#privacy .p_contact td {
		padding: 10px 10px;
	}
}

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

	#about dt {
		font-size: clamp(19px, 6vw, 22px);
		letter-spacing: -1px;
	}

	#service>div::before {
		right: 0em;
	}

	#cases li img {
		width: 150px;
		height: 150px;
	}

}

/*------------print---------------------*/
/* 印刷 */
@page {
	margin: 12mm 7mm;
}

@media print {
	body {
		zoom: 95%;
	}

	#page-top {
		display: none !important;
	}
}
