@media screen and (max-width: 1023px) {
	#tag_line { display: none; }
}

/* header */
#header { position: relative; background-color: #fff; }

.leadtxt {
	color: #FFF;
	font-size: 0.8em;
	font-weight: normal;
	line-height: 1.5;
	margin: 0 auto;
	text-align: right;
	display: block;
	max-width: 95%;
}

#header #logo {
	max-width: 330px;
	padding: 10px 0 10px 20px;
	margin: 0 0 0 55px;
	border-left: 1px solid #ccc;
}
#header #logo img { width: 100%; height: auto; }

#header #tel {
	position: absolute;
	right: 360px;
	top: 0;
	z-index: 3;
	width: 300px;
}
#header #tel a {
	background: url(../img/free_dial.png);
	background-color: transparent;
	background-position: 5px 15px;
	background-repeat: no-repeat;
	background-size: 40px 25px;
	display: block;
	padding: 15px 0 5px 50px;
	font-size: 25px !important;
}
#header #tel a:link,
#header #tel a:visited { color: #333; }
#header #tel a:hover,
#header #tel a:active { opacity: 0.8; text-decoration: none; }

#header #tel a,
#footer_contact #tel a {
	display: block;
	background-color: transparent;
	font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO";
	font-size: 28px;
	font-weight: bold;
	line-height: 25px;
}

@media screen and (max-width: 1024px) {
	#header #tel { display: none; }
}

/* header / footer ボタン */
#header ul.header_contact_bt {
	position: absolute;
	right: 0;
	top: 0;
	z-index: 4;
}

#header ul.header_contact_bt li,
#footer_contact ul.header_contact_bt li {
	float: left;
	display: block;
	width: 80px;
	height: 80px;
	margin: 0;
	font-size: 0.8em;
}

#header ul.header_contact_bt li:nth-child(1) { background-color: #fabd00; }
#header ul.header_contact_bt li:nth-child(2),
#footer_contact ul.header_contact_bt li:nth-child(3) { background-color: #22ab38; }
#header ul.header_contact_bt li:nth-child(3),
#footer_contact ul.header_contact_bt li:nth-child(4) { background-color: #ea535d; }
#header ul.header_contact_bt li:nth-child(4) {
	width: 120px;
	background-color: #fff;
	padding-top: 0;
}
#footer_contact ul.header_contact_bt li:nth-child(1) { display: none; }
#footer_contact ul.header_contact_bt li:nth-child(2) { background-color: #fff; }
#footer_contact ul.header_contact_bt li:nth-child(5) {
	width: 120px;
	background-color: #fff;
	padding-top: 15px;
}

#header ul.header_contact_bt li.suisai_workshop img,
#footer_contact ul.header_contact_bt li.suisai_workshop img { width: 100%; height: auto; }

#header ul.header_contact_bt li a:link,
#header ul.header_contact_bt li a:visited,
#footer_contact ul.header_contact_bt li a:link,
#footer_contact ul.header_contact_bt li a:visited {
	display: block;
	text-align: center;
	color: #fff;
	padding: 15px 0 0 0;
}

#header ul.header_contact_bt li a i,
#footer_contact ul.header_contact_bt li a i {
	display: block;
	font-size: 280%;
}

#footer_contact ul.header_contact_bt li.free_consultation a:link,
#footer_contact ul.header_contact_bt li.free_consultation a:visited { color: #f5bd1f !important; }

#header ul.header_contact_bt li.suisai_workshop a,
#footer_contact ul.header_contact_bt li.suisai_workshop a { padding: 0; }

#header ul.header_contact_bt li a:hover,
#header ul.header_contact_bt li a:active,
#footer_contact ul.header_contact_bt li a:hover,
#footer_contact ul.header_contact_bt li a:active {
	text-decoration: none;
	opacity: 0.8;
}

@media screen and (max-width: 1023px) {
	#header { width: 95%; margin: 0 auto; }
	#header #logo {
		width: 230px;
		padding: 10px 0;
		margin: 0;
		border-style: none;
	}
}

/* footer_contact */
#footer_contact {
	background-color: #f5bd1f;
	height: 80px;
	overflow: hidden;
	color: #fff;
	padding: 0;
	margin: 0;
}
#footer_contact .wrapper { width: 100%; padding: 0; margin: 0 auto; }
#footer_contact #tel { padding-top: 23px; }
#footer_contact #tel a {
	text-align: left;
	background-image: none !important;
	color: #fff;
	padding-left: 70px;
}
#footer_contact #tel a span { display: inline-block !important; width: 35px; }
#footer_contact #tel a span img { width: 100%; height: auto; }
#footer_contact #tel p.header_ad { padding-left: 70px; }
#footer_contact div#tel { text-align: left !important; width: 32.5%; float: left; }
#footer_contact div#please_contact {
	text-align: center;
	font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO";
	font-size: 25px;
	width: 35%;
	padding: 30px 0 0 0;
	line-height: 1;
	float: left;
}

@media screen and (max-width: 1023px) {
	#footer_contact div#please_contact { font-size: 18px; }
}

@media screen and (max-width: 800px) {
	#footer_contact .wrapper { width: 100% !important; padding: 0; margin: 0; }
	#footer_contact {
		width: 100% !important;
		background-color: #f5bd1f;
		height: auto;
		overflow: hidden;
		color: #fff;
		padding: 0 !important;
		margin: 0 !important;
		position: fixed;
		bottom: 16px;
		right: 0;
		left: 0;
		z-index: 999;
	}
	#footer_contact div#tel,
	#footer_contact div#please_contact,
	#footer_contact ul.header_contact_bt li.recruit,
	#footer_contact div#tel p.header_ad { display: none; }

	#footer_contact ul.header_contact_bt {
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		text-align: center;
		float: none;
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: flex-end;
		justify-content: flex-end;
		background-color: #22ab38;
	}
	#footer_contact ul.header_contact_bt li {
		-webkit-flex-basis: 33.3333% !important;
		flex-basis: 33.3333% !important;
		padding: 0 !important;
		margin: 0 !important;
		height: 25px;
	}
	#footer_contact ul.header_contact_bt li:nth-child(1) {
		display: block;
		background-color: #ea535d;
	}
	#footer_contact ul.header_contact_bt li a:link,
	#footer_contact ul.header_contact_bt li a:visited,
	#footer_contact ul.header_contact_bt li.free_consultation a {
		background-image: none !important;
		padding: 4px 0 0 0 !important;
		font-size: 110% !important;
	}
	#footer_contact ul.header_contact_bt li a i {
		font-size: 120% !important;
		display: inline-block;
		margin-right: 3px;
	}
	#footer_contact ul.header_contact_bt li.suisai_workshop { display: none; }
}

/* #global */
#global {
	position: relative;
	z-index: 5;
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	border-top: 1px solid #ccc;
}
#global ul {
	max-width: 1250px;
	height: 33px;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;
	text-align: center;
}
#global ul li {
	line-height: 33px;
	display: inline-block;
	text-align: center;
	padding: 0;
	width: -webkit-calc(100% / 7);
	width: calc(100% / 7);
}
#global ul li a:link,
#global ul li a:visited {
	display: block;
	font-weight: normal;
	font-size: 16px;
	color: #000;
}
#global ul li a:hover,
#global ul li a:active {
	color: #666;
	background-color: #ccc;
	text-decoration: none;
}
@media screen and (max-width: 800px) {
	#global ul li a { font-size: 12px; }
}
@media screen and (max-width: 600px) {
	#global,
	#header ul.header_contact_bt { display: none; }
}

.reform-phone {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 2px 12px;
  margin-block: 12px 16px;
  color: #345363;
}

.reform-phone > p {
  margin: 0;
  line-height: 1.5;
}

.reform-phone .reform-phone-number {
  font-weight: 700;
}

.reform-phone .reform-phone-number a {
  display: inline-block;
  padding-block: 4px;
  color: #176487;
  font-size: clamp(20px, 3vw, 26px);
  text-decoration: underline;
  text-underline-offset: 3px;
  white-space: nowrap;
}

.reform-phone .reform-phone-hours {
  font-size: 12px;
}

/* ul.remodeling_plan */
ul.remodeling_plan {
	width: 100% !important;
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	list-style: none !important;
	padding: 0;
	margin: 50px 0;
}
ul.remodeling_plan li {
	text-align: center;
	background-color: #fff;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border: 1px solid #d2cec9;
	list-style: none !important;
	margin: 0;
	padding: 0;
}
ul.remodeling_plan li a:link,
ul.remodeling_plan li a:visited {
	display: block;
	font-size: 90%;
	color: #333;
}
ul.remodeling_plan li a:hover,
ul.remodeling_plan li a:active { opacity: 0.5; text-decoration: none; }
ul.remodeling_plan li img { height: auto; }

@media screen and (min-width: 978px) {
	ul.remodeling_plan li {
		flex-basis: 12% !important;
		padding: 1% 0 !important;
		margin: 1% 0 !important;
	}
	ul.remodeling_plan li img {
		display: block;
		width: 60%;
		margin: 3% auto;
	}
}
@media screen and (max-width: 977px) {
	ul.remodeling_plan li {
		flex-basis: 23% !important;
		margin: 1% 0 !important;
		padding: 2.5% 0 !important;
	}
	ul.remodeling_plan li img {
		display: block;
		width: 60%;
		margin: 5% auto 3% auto;
	}
}

/* ドロワーメニュー */
.peke { background-position: -30px 0; z-index: 300 !important; }

.drawr a { color: #fff; }
.drawr ul#menu { width: 260px; margin: 0 20px 0 0; padding: 0; }
.drawr ul#menu li {
	width: 100% !important;
	display: block;
	padding: 3px 0;
	margin: 0;
	border-bottom: 1px #fff dotted;
	font-size: 100%;
}
.drawr ul#menu li a:link,
.drawr ul#menu li a:visited { color: #fff; }
.drawr ul#menu li a:hover,
.drawr ul#menu li a:active { color: #fee300; text-decoration: none; }

.drawr ul#menu li#top_business {
	border-style: none !important;
	background-color: #fff;
	border-radius: 8px;
	margin-bottom: 5px;
}
.drawr ul#menu li#top_business img { display: block; width: 90%; margin: 3px auto; }

.drawr ul#menu li#business {
	width: 100%;
	margin: 3px 0;
	text-align: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0 8px;
	border-style: none !important;
}
.drawr ul#menu li#business span {
	display: block;
	text-align: center;
	width: -webkit-calc((100% - 8px) / 2);
	width: calc((100% - 8px) / 2);
	position: relative;
	background-color: #fff;
	border-radius: 8px;
}
.drawr ul#menu li#business span img { display: block; width: 70%; margin: 3px auto; }

.drawr ul#menu li#tel {
	width: 93% !important;
	background-color: #fff;
	padding: 4% 3.5% 2% 3.5%;
	margin-top: 3%;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}
.drawr ul#menu li#tel p.header_ad {
	font-size: 80%;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.5;
}
.drawr ul#menu li#tel img { width: 100%; height: auto; }

@media screen and (min-width: 1024px) {
	.btn {
		background: url(../img/menu/btn.png);
		background-color: transparent;
		background-position: 0 0;
		background-repeat: no-repeat;
		background-size: 60px 30px;
		display: block;
		width: 30px;
		height: 30px;
		position: absolute;
		top: 43px !important;
		left: 10px;
		cursor: pointer;
		z-index: 200 !important;
	}
	.drawr {
		display: none;
		background-color: rgba(0,0,0,0.6);
		position: absolute;
		top: 0;
		left: 0;
		width: 280px;
		padding: 60px 0 20px 20px;
		z-index: 9999;
	}
}

@media screen and (min-width: 601px) and (max-width: 1023px) {
	.btn,
	.drawr,
	.drawr ul#menu { display: none !important; }
}

@media screen and (min-width: 601px) {
	.mob_contact { display: none; }
}

@media screen and (max-width: 600px) {
	.mob_contact {
		display: block;
		width: 35px;
		height: 35px;
		position: absolute;
		top: 22px;
		right: 45px;
	}
	.mob_contact img { width: 100%; height: auto; }
	.btn {
		background: url(../img/menu/btn.png);
		background-color: transparent;
		background-position: 0 0;
		background-repeat: no-repeat;
		background-size: 60px 30px;
		display: block;
		width: 30px;
		height: 30px;
		position: absolute;
		top: 20px;
		right: 10px;
		cursor: pointer;
		z-index: 200 !important;
	}
	.drawr {
		display: none;
		background-color: rgba(0,0,0,0.6);
		position: absolute;
		top: 0;
		right: 0 !important;
		width: 280px;
		padding: 60px 0 20px 20px;
		z-index: 9999;
	}
}

/* ul.conpany_info */
ul.conpany_info {
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 0 3% 0;
	padding: 0;
	list-style: none;
}
ul.conpany_info li { list-style: none; padding: 0; flex-basis: 30%; }
ul.conpany_info li h3 {
	font-size: 20px;
	font-weight: normal;
	padding: 15px 0;
	margin-bottom: 20px;
	text-align: center;
	border-top: solid #d2cec9 1px;
	border-bottom: solid #d2cec9 1px;
}
ul.conpany_info li figure {
	height: 100px;
	overflow: hidden;
	padding: 0;
	margin: 0 0 3% 0;
	display: block;
}
ul.conpany_info li figure a img {
	display: block;
	width: auto !important;
	height: 100% !important;
	margin: 0 auto;
	padding: 0;
}

@media screen and (max-width: 800px) {
	ul.conpany_info li { margin: 0 0 10% 0; flex-basis: 48%; }
}
@media screen and (max-width: 600px) {
	ul.conpany_info { width: 100%; }
	ul.conpany_info li { margin: 0 0 10% 0; flex-basis: 96% !important; }
}

span.more a:link,
span.more a:visited {
	display: block;
	width: 40%;
	color: #000;
	background-color: #e0e1de;
	margin: 0 auto;
	padding: 5px 0;
	text-align: center;
}
span.more a:hover,
span.more a:active {
	text-decoration: none;
	background-color: #ddc98c;
	transition: background-color 2s linear 0s;
}
@media screen and (max-width: 800px) {
	span.more a { font-size: 90%; width: 50%; }
}

/* .global_menu_li */
.global_menu_li li {
	padding: 0 0 50px 0 !important;
	margin-bottom: 35px;
	text-align: center;
	vertical-align: top;
	position: relative;
}
.global_menu_li h3 { padding: 10% 32% 5% 32%; }
.global_menu_li h3 img { width: 100%; height: auto; }
.global_menu_li li a { display: block; width: 100%; }
.global_menu_li li a img { width: 96%; margin: 2%; height: auto; }

span.menu_li_more a:link,
span.menu_li_more a:visited {
	display: block;
	width: 150px !important;
	position: absolute;
	bottom: -30px;
	left: 0;
	right: 0;
	background-color: #000;
	color: #fff;
	text-align: center;
	margin: 0 auto;
	padding: 15px 10px;
	border-radius: 50px;
	-webkit-border-radius: 50px;
	-moz-border-radius: 50px;
}
span.menu_li_more a:hover,
span.menu_li_more a:active { text-decoration: none; opacity: 0.8; }

.global_menu_li li:nth-child(1) { color: #1b9ed2; border: 1px #1b9ed2 solid; }
.global_menu_li li:nth-child(2) { color: #f8bc19; border: 1px #f8bc19 solid; }
.global_menu_li li:nth-child(3) { color: #cc3333; border: 1px #cc3333 solid; }
.global_menu_li li:nth-child(4) { color: #3eb792; border: 1px #3eb792 solid; }

.global_menu_li li:nth-child(1) span.menu_li_more a { color: #1b9ed2; background-color: #c9e4eb; }
.global_menu_li li:nth-child(2) span.menu_li_more a { color: #a37b0e; background-color: #f6eac6; }
.global_menu_li li:nth-child(3) span.menu_li_more a { color: #cc3333; background-color: #edcfcb; }
.global_menu_li li:nth-child(4) span.menu_li_more a { color: #3eb792; background-color: #d0e9de; }

@media screen and (max-width: 977px) {
	#global_menu { width: 95%; margin: 20px auto; }
	#global_menu .global_menu_li,
	#reform-cases > .global_menu_li {
		display: -webkit-flex;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin: 0;
		padding: 0;
		list-style: none;
	}
	.global_menu_li li { flex-basis: 48.5% !important; margin: 2% 0 7% 0; }
	.global_menu_li li br { display: none; }
}

@media screen and (min-width: 978px) {
	#global_menu { max-width: 1250px; width: 95%; margin: 20px auto; }
	#global_menu .global_menu_li,
	#reform-cases > .global_menu_li {
		display: -webkit-flex;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin: 0;
		padding: 0;
		list-style: none;
	}
	.global_menu_li li { flex-basis: 24% !important; margin: 2% 0; }
}

/* greeting(home.css で上書きされない指定のみ) */
@media screen and (min-width: 601px) {
	#greeting { padding: 30px 0; margin-bottom: 30px; }
}
@media screen and (min-width: 978px) {
	#greeting .wrapper p { font-size: 120% !important; }
}

#coordinating > .wrapper {
  width: min(1100px, calc(100% - 40px)) !important;
}

#coordinating > .wrapper.clearfix > .inner {
  max-width: none;
  padding-inline-end: 0;
}

#coordinating .wrapper h2,
#coordinating .wrapper h4,
#coordinating .wrapper ul li {
  font-family: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", sans-serif;
}

#coordinating .wrapper .inner li span.number {
  font-family: inherit;
  font-style: normal;
}

@media (max-width: 977px) {
  #coordinating > .wrapper.clearfix > .inner {
    padding-inline-start: 0;
  }
}

/* footer */
#copyright { background-color: #6b9d2f; }
#copyright p { color: #FFF; line-height: 38px; }

#footer {
	padding: 40px 0;
	background-color: #82bc3e;
	overflow: hidden;
}

.footer_info {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 25px 40px;
	color: #fff;
}

.footer_logo {
	display: block;
	flex: 0 0 auto;
	width: 280px;
	padding: 14px 18px;
	background-color: #fff;
	border-radius: 3px;
	text-align: center;
}
.footer_logo img { display: block; width: 100%; height: auto; }

.footer_contact {
	flex: 1 1 300px;
	padding-left: 40px;
	border-left: 1px solid #fff;
}
.footer_contact p { margin: 0 0 0.6em; line-height: 1.6; }
.footer_contact a:link,
.footer_contact a:visited { color: #fff; }

.footer_tel a {
	display: inline-block;
	background: url("../img/free_dial_white.png") no-repeat 0 50%;
	background-size: 30px;
	padding-left: 38px;
	font-size: 200%;
	font-weight: bold;
	line-height: 1.3;
}
.footer_hours { font-size: 90%; }
.footer_mail i { margin-right: 6px; }

.footer_links {
	flex: 0 0 auto;
	padding-left: 40px;
	border-left: 1px solid #fff;
}
.footer_links li { margin: 0 0 0.5em; line-height: 1.6; }
.footer_links a:link,
.footer_links a:visited { color: #fff; }
.footer_contact a:hover,
.footer_links a:hover { opacity: 0.8; text-decoration: underline; }

@media screen and (max-width: 977px) {
	.footer_logo { width: 100%; max-width: 320px; margin: 0 auto; }
	.footer_contact { flex-basis: 100%; padding-left: 0; border-left: none; text-align: center; }
	.footer_links { flex-basis: 100%; padding-left: 0; border-left: none; text-align: center; }
}

@media screen and (max-width: 800px) {
	#footer { padding: 0; }
	.footer_info { display: none; }
	#copyright p.wrapper {
		font-size: 70%;
		line-height: 1;
		text-align: center;
		padding: 3px 0;
	}
	#copyright { position: fixed; bottom: 0; right: 0; left: 0; }
}
