/*
Theme Name: flex theme (Child of Twenty Twenty-Five)
Template: twentytwentyfive
Theme URI:
Author:
Author URI:
Description: Child theme for preserving original HTML/CSS/JS structure while minimizing parent interference.
Version: 0.1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: flex-base
*/

@charset "utf-8";

@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@100;300;400;500;700;900&display=swap);
body {
	line-height: 1;
	font-family: 'Noto Sans JP', sans-serif;
	-webkit-text-size-adjust: 100%;
}
.w100 {font-weight: 100;}
.w200 {font-weight: 200;}
.w300 {font-weight: 300;}
.w400 {font-weight: 400;}
.w500 {font-weight: 500;}
.w700 {font-weight: 700;}
.w900 {font-weight: 900;}

/* reset-------------------------------------- */
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;
	outline: 0;
	font-weight: normal;
	vertical-align: baseline;
	background: transparent;
	scroll-behavior: smooth;
}

/*HTML5 要素の display: block を明示 */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section,
main {
	display: block;
}

*, *::before, *::after {
	box-sizing: border-box;
}

/* フォントサイズの拡大を防ぐ */
html {
	font-size: 62.5%; /* 1rem = 10px */
	-webkit-text-size-adjust: none;
	-moz-text-size-adjust: none;
	text-size-adjust: none;
}
ul, dl {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: '';
}
a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
	text-decoration: none;
	color :#222222;
	outline: none;
	cursor: pointer;
}
a:hover, a:focus {
	opacity: 0.7;
	transition-duration: 0.3s;
}
a:focus {
	outline: none;
}
a[href^="tel:"] {
	color: white;
}
ins {
	text-decoration: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
input, select {
	vertical-align: middle;
}
/* inputやbuttonなどのfontは継承 */
input,
button,
textarea,
select {
	font: inherit;
	color: inherit;
	background: none;
	border: none;
	outline: none;
	appearance: none;
}
button, [type="button"], [type="reset"], [type="submit"] {
	cursor: pointer;
}
/* rows属性のないtextareasが小さくならないようにする */
textarea:not([rows]) {
	min-height: 5rem;
	resize: vertical;
}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="reset"],
input[type="button"] {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
	cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="reset"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
	display: none;
}
input[type="submit"]:focus,
input[type="reset"]:focus,
input[type="button"]:focus {
	outline-offset: -2px;
}
select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	outline: none;
	border-radius: 0;
	background: transparent;
}
button,
input[type="submit"],
input[type="reset"],
input[type="date"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: 0;
	border: none;
	outline: none;
	background: transparent;
}
input[type="radio"] {
	opacity:0;
	position:absolute;
	left:-9999px;
}
input[type="radio"]:checked + label {
	background: #ff0000;
}
/* 各種の表示・非表示 */
.hide{ display: none;}
.btn{ display: block;}
.sp_only{ display: block;}
.tb_only{ display: block;}
.pc_only{ display: none;}
.ma_c{margin: 0 auto!important;}

/* 404 */
p.error {
	text-align: center;
	margin: 124px auto;
	font-size: 2em;
}

body {
	background: url(images/background_pattern_sp.png);
	background-repeat: repeat-y;
}

h1,h2,h3,h4,h5,h6,p,span,dl,dt,dd,ul,li,a,th,td {
	font-size: 1.5rem;
	color: #1A1211;
}

li {
	list-style: none;
}

img, video, canvas {
	display: block;
	max-width: 100%;
	height: auto;      /* ← ここを auto に */
	max-height: 100%;  /* 必要ならこっちで制御 */
}


section {
	width: 100%;
	margin: 0 auto 5rem;
}

/* PC・TBでは電話リンク解除 ---------------------------- */
@media (min-width: 751px) {
	a[href*="tel:"] {
		pointer-events: none;
	}
}

/* ===== LIXIL ロゴ（メインビジュアル内・無料見積りボタンの左） ===== */
.main_visual .line_box .lixil_logo {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
}
.main_visual .line_box .lixil_logo img {
    width: auto;
    max-height: 7rem;
    display: block;
}

/* TB (700px 以上) */
@media screen and (min-width: 700px) {
    .main_visual .line_box .lixil_logo img {
        max-height: 8.5rem;
    }
}

/* PC (1024px 以上) */
@media screen and (min-width: 1024px) {
    .main_visual .line_box .lixil_logo img {
        max-height: 9.5rem;
    }
}
/* ===== チラシ配布エリア（強調表示） ===== */
.flyer_area {
    background: #ffea00;
    border: 4px solid #1a3d7c;
    border-radius: 16px;
    padding: 28px 24px;
	margin: 2rem auto!important;
    max-width: 1100px;
    box-shadow: 0 6px 16px rgba(26, 61, 124, 0.15);
    text-align: center;
    position: relative;
}

.flyer_area::before {
    content: "📮 POST";
    position: absolute;
    top: -16px;
    left: 24px;
    background: #1a3d7c;
    color: #ffea00;
    font-weight: bold;
    font-size: 0.85em;
    padding: 4px 14px;
    border-radius: 20px;
    letter-spacing: 0.05em;
}

.flyer_area dt {
    font-size: 1.5em;
    font-weight: bold;
    color: #1a3d7c;
    margin-bottom: 14px;
    padding-bottom: 10px;
    border-bottom: 2px dashed #1a3d7c;
    letter-spacing: 0.05em;
}

.flyer_area dd {
    font-size: 1.05em;
    color: #1a3d7c;
    line-height: 1.9;
    margin: 0;
    font-weight: 500;
}

/* ===== 対応エリア全体（控えめ表示） ===== */
.service_area {
    background: #f0f0f0;
    color: #666;
    font-size: 0.85em;
    line-height: 1.9;
    padding: 18px 24px;
	margin: 2rem auto!important;
    max-width: 1100px;
    border-radius: 8px;
}

/* ===== スマホ対応 ===== */
@media (max-width: 768px) {
    .flyer_area {
        padding: 22px 16px;
        margin: 24px 12px 12px;
        border-width: 3px;
    }
    .flyer_area dt {
        font-size: 1.2em;
    }
    .flyer_area dd {
        font-size: 0.95em;
    }
    .service_area {
        margin: 12px 12px 0;
        padding: 14px 16px;
        font-size: 0.78em;
    }
}

/* common ------------------------------------------------------- */
.content_title {
	font-size: calc(2rem + 0.3 *(100vw - 32rem)/10);
	font-weight: 800;
	text-align: center;
	margin: 0 0 2rem 0;
	color: #0E457F;
	line-height: 3rem;
	z-index: 9;
	position: relative;
}
.content_text {
	font-size: 1.3rem;
	text-align: center;
	line-height: 2.3rem;
	margin: 0 0 2rem 0;
}

/* sns_box */
.sns_box p {
	font-size: 1.6rem;
	font-weight: 900;
	margin: 0 0 1.5rem 0;
}
.sns_icon {
	width: 18rem;
	margin-inline: auto;
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: center;
}
.sns_icon a {
	width: 4rem;
}

/* line_box */
.line_box {
	margin: 0 0 2rem 0;
	display: flex;
	flex-flow: column nowrap;
	align-items: center;
	gap: 1rem;
}
.line_box p:nth-of-type(1) {
	width: 22rem;
	padding: 1rem 0;
	font-size: calc(2rem + 0.6 *(100vw - 32rem)/10);
	font-weight: 500;
	text-align: center;
	border: 4px solid #0E457F;
}
.line_box span {
	font-size: 1.5rem;
	font-weight: bold;
	display: block;
	margin: 0 0 1rem 0;
}
.line_box > p:first-child {
	color: #0E457F;
	background-color: #fff;
}
.line_box > p:first-child span {
	width: max-content;
	margin: 0 auto 1rem;
	color: #0E457F;
	position: relative;
	z-index: 0;
}
.line_box > p:first-child span::before,
.line_box > p:first-child span::after {
	content: "";
	width: 1rem;
	height: 2.5rem;
	display: block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
}
.line_box > p:first-child span::before {
	background: url(images/icon_slash_left.png) no-repeat center / cover;
	left: -1.5rem;
}
.line_box > p:first-child span::after {
	background: url(images/icon_slash_rigth.png) no-repeat center / cover;
	right: -1.5rem;
}

/* lineのリンクボタン */
.line_link {
	width: max-content;
	margin-inline: auto;
	text-align: center;
}
.line_link > a {
	width: 24rem;
	margin: 0 auto;
	padding: 1rem 0;
	font-size: calc(2rem + 0.6 *(100vw - 32rem)/10);
	font-weight: 500;
	text-align: center;
	border-radius: 2rem;
	box-shadow: 0px 10px 7px -6px rgba(0, 0, 0, 0.3);
	color: #fff;
	background-color: #55B925;
	border: 4px solid #fff;
	display: block;
}
.line_link span {
	font-size: 1.5rem;
	font-weight: bold;
	display: block;
	margin: 0 0 1rem 0;
	color: #fff;
}

/* サイト内遷移のボタン */
.link_btn {
	width: 100%;
	margin-inline: auto;
}
.link_btn a {
	width: 80%;
	max-width: 26rem;
	margin-inline: auto;
	text-align: center;
	background-color: #0E457F;
	border: 1.5px solid #fff;
	border-radius: 20rem;
	box-shadow: 0px 10px 7px -6px rgba(0, 0, 0, 0.3);
	font-size: 1.4rem;
	font-weight: bold;
	color: #fff;
	padding: 1.5rem 2rem;
	display: block;
}

/* slickの共通箇所 */

.information_container {
	margin: 0 0 3rem 2rem;
}
.information_container a {
	width: 30rem;
	margin: 0 auto;
	background-color: #FDEC02;
}
.information_container a:hover {
	background-color: #faf065;
	opacity: 1;
	transition-duration: 0.3s;
}
.information_box {
	width: inherit;
	padding: 2rem 2rem 3rem;
}
.information_box a:hover {
	opacity: 0.5;
	transition-duration: 0.3s;
}
.information_img {
	display: flex;
	gap: 1rem;
	margin: 0 0 1.5rem 0;
}
.information_img_wrap {
    flex: 1;
    overflow: hidden;
    position: relative;
    height: 150px;
}
.postimg {
    height: auto;
}
img.infoarchiveimg {
	height: 160px !important;
}
.information_img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.construction_case .information_img_wrap {
	aspect-ratio: 1/1;
}
.information_img .information_img_label {
	position: absolute;
	bottom: 0;
	right: 0;
	background-color: #023a8a;
	color: #fff;
	padding: 0.5rem 0.8rem;
	font-size: 1.3rem;
}
.information_img_wrap:nth-of-type(2) .information_img_label {
	color: #FDEC02;
}
.information_title {
    margin: 0 0 4px;
    font-size: calc(1.4rem + 0.1 * (100vw - 32rem) / 10);
    color: #023a8a;
    font-weight: bold;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    line-height: 2.5rem;
    min-height: 5rem;
}
.title-detail {
    line-height: 1.6rem!important;
}
.list_title {
	line-height: 2rem!important;
}
@media screen and (min-height: 700px) {
	.information_title {
    line-height: 5rem;
	}
}
.single-titler {
    white-space: normal;
    overflow: unset;
    text-overflow: unset;
    line-height: 1.4;
}
.information_tag {
	height: calc(32px * 2);
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}
.information_tag span {
	width: max-content;
	height: max-content;
	display: inline-block;
	padding: 0.5rem 1rem;
	border: 1px solid #023a8a;
	border-radius: 9999px;
	font-size: 1.2rem;
	color: #023a8a;
	background-color: #fff;
}


/* 施工事例記事ページ：施工前/後の画像をスクエアに */
.construction_article_wrap .information_img {
	height: auto;
}
.construction_article_wrap .information_img_wrap {
	height: auto;
	aspect-ratio: 1 / 1;
	overflow: hidden;
}
.construction_article_wrap .construction_article .information_img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}


/* ページャー：スマホ対応 */
.page_move {
	display: flex;
	gap: 10px;
	width: 90%;
	margin: 3rem auto;
}
.page_move .construction_case {
	flex: 1;
	min-width: 0;
}
.page_move .construction_case a {
	width: 100%;
}
.page_move .information_img {
	height: auto;
}
.page_move .information_img_wrap {
	height: auto;
}
.page_move .information_img_wrap img {
	height: auto;
	width: 100%;
}
.page_move .information_title {
	font-size: 1.2rem;
	line-height: 1.4;
	min-height: auto;
	margin: 0 0 4px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.page_move .information_tag {
	height: auto;
	max-height: 28px;
	overflow: hidden;
}
.page_move .construction_price_wrap,
.page_move .information_desc {
	display: none;
}

/* 施工費用の高さ統一（金額あり/なしの段差防止） */
.information_box .construction_price_wrap {
	min-height: 20px;
}

/* カード内タイトル行間調整（他ページに影響しない） */
.information_box .information_title {
	line-height: 1.4;
	min-height: calc(1.4em * 2);
}
.information_desc {
	font-size: 1.5rem;
	color: #333;
	line-height: 1.6;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* アンダーライン under_line */
.under_line {
	margin: 0 0 1.5rem 0;
	padding: 0 0 1.5rem 0;
	position: relative;
}
.under_line::before {
	content: "";
	width: 20rem;
	height: 2rem;
	display: block;
	background: url(images/under_line_b.png) no-repeat center / contain;
	position: absolute;
	bottom: -1rem;
	left: 50%;
	transform: translateX(-50%);
}

/* 画像のフィルター */
.filter {
	position: absolute;
}
.filter::after {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}
.filter-01:after {
	background-color: #00000030;
}

/* header ----------------------------------------------------- */
header {
	width: 100%;
	height: 5rem;
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: center;
	background-color: #FDEC02;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10;
}
header.fixed {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10;
}
header h1 {
	height: inherit;
	padding: 0 0 0 2.5rem;
	z-index: 1000;
}
header h1 a {
	height: inherit;
	display: flex;
	align-items: center;
}
header h1 a img {
	height: inherit;
	padding: 1rem 0;
}

/*ナビゲーション設定*/
.active{ display: block!important;}
.navToggle{
	width: 4.5rem;
	height: 4.5rem;
	text-align: center;
	position: absolute;
	top: 50%;
	right: 1.5rem;
	transform: translateY(-50%);
	z-index: 1000;
	background-color: #fff;
	border-radius: 10rem;
}
.navToggle.active {
	background-color: #0E457F;
}
.navToggle span {
	width: 2.5rem;
	height: 0.2rem;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50% , -50%);
	display: block;
	background: #999;
	transition: all 300ms 0s ease;
}
.navToggle span:first-child {
	top: 35%;
}
.navToggle span:last-child {
	top: 67%;
}
/* active時 */
.navToggle.active span:first-child {
	top: 50%;
	transform: translateX(-50%) rotate(-36deg);
	background-color: #fff;
}
.navToggle.active span:nth-child(2) {
	display: none;
}
.navToggle.active span:last-child{
	top: 50%;
	transform: translateX(-50%) rotate(36deg);
	background-color: #fff;
}
.main_nav_box {
	height: inherit;
	display: flex;
	flex-flow: column nowrap;
	justify-content: center;
	padding: 32px 0 0 0;
}
.main_nav { display: none;}
.main_nav {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    text-align: center;
    background-color: #FDEC02;
    z-index: 100;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
}
.main_nav::before {
	content: "";
	width: 100%;
	height: auto;
	display: block;
	background: url(images/nav_sp_back.png) no-repeat center / cover;
	position: absolute;
}
.main_nav a:hover {
	color: #1AA2E0;
}
.header_nav {
	margin: 45px 0;
}
.header_nav ul {
	height: 18vh;
    margin: 4rem auto 4rem;
    display: flex;
    flex-flow: row;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
	padding: 0 20px;
}
.header_nav li {
    width: 48%;
    background-color: #fff;
    border-radius: 10px;
    height: 42px;
    line-height: 42px;
    margin-bottom: 11px;
}
.header_nav ul li a {
	font-weight: 500;
    font-size: 1.8rem;
}
.header_nav_box {
	margin: 0 0 2rem 0;
}
.header_nav_box ul {
	display: flex;
	flex-flow: column nowrap;
	align-items: center;
	gap: 1rem;
}
.header_nav_box li a {
	width: 26rem;
	margin: 0 auto;
	padding: 0.3rem;
	background-color: #fff;
	border: 2px solid #0E457F;
	border-radius: 2rem;
	font-size: calc(1.7rem + 0.3 *(100vw - 32rem)/10);
	font-weight: bold;
	color: #0E457F;
	display: block;
	transition-duration: 0.3s;
}
.header_nav_box li a:hover {
	transition-duration: 0.3s;
}
.nav_box_sp > img {
	width: 8rem;
	margin: 0 auto 2rem;
}
.nav_box_sp {
	margin: 0 0 2rem 0
}
.nav_box_sp address {
	font-size: calc(1.5rem + 0.4 *(100vw - 32rem)/10);
	margin: 0 0 1rem 0;
	line-height: 2.7rem;
}

/* main_visual ------------------------------------------------- */
.main_visual {
	padding: 7rem 0 0 0;
}
.main_visual ul li {
	width: 90%;
	max-width: none;
	margin: 0 auto 2rem;
	overflow: hidden;
}
.main_visual ul li::-webkit-scrollbar {
	display: none; /* Chrome/Safari用 */
}
.main_visual ul li:nth-child(2) {
	width: 100%;
}
.main_visual ul li:nth-child(2) img {
	width: 60rem;
	max-width: none;
	object-position: -7rem;
}
.main_visual .line_container > p:last-child {
	width: 90%;
	max-width: 30rem;
	margin: 0 auto;
	padding: 1rem 2.5rem;
	color: #fff;
	font-size: 1.3rem;
	text-align: center;
	border-radius: 2rem;
	background-color: #0E457F;
}
.line_small_box {
	display: flex;
	flex-flow: column nowrap;
	gap: 1rem;
}
.main_visual .line_link {
	margin: 0 auto 2rem;
}

/* top_about --------------------------------------------------- */
.top_about {
	padding: 3rem 0;
	position: relative;
}
.top_about::before {
	content: "";
	width: 100%;
	height: 100%;
	background-color: #FDEC02;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: -1;
	opacity: 0.8;
}
.top_about_slick {
	margin: 0 0 3rem 0;
}
.top_about_slick li {
	margin: 0 0.5rem;
}
.top_about_slick li img {
	width: 100%;
	object-fit: cover;
}
.top_about_container {
	width: 90%;
	max-width: 126rem;
	margin: 0 auto 2rem;
	padding: 3rem 0;
	background-color: #fff;
	border-radius: 2rem;
}
.top_about_box {
	width: 90%;
	max-width: 102rem;
	margin: 0 auto;
	display: flex;
	flex-flow: column nowrap;
	gap: 1rem;
}
.top_about_box dl {
	display: flex;
	flex-flow: column nowrap;
	justify-content: center;
	align-items: center;
	text-align: center;;
}
.top_about_box dt {
	color: #0E457F;
	font-size: 1.8rem;
	font-weight: 700;
}
.top_about_box dd {
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 3rem;
}

/* construction_arrival ----------------------------------------------- */
.construction_price_wrap {
	margin: 0 0 1rem 0;
}
.construction_price_wrap p {
	font-size: 1.5rem;
	color: #023a8a;
}
.construction_price {
	font-size: 2rem;
	color: #023a8a;
	margin: 0 0.1rem 0 1rem;
}

/* reason -------------------------------------------------------- */
.reason_think {
	position: relative;
}
.reason_wrap {
	margin: 0 0 2rem 0;
}
.reason_container {
	width: 95%;
	max-width: 106rem;
	margin: 0 auto 2rem;
	display: flex;
	flex-flow: column nowrap;
	gap: 4rem;
	height: 100%;
}
.reason_box {
	width: 90%;
	max-width: 35rem;
	margin: 0 auto;
	text-align: center;
	display: flex;
	flex-flow: column nowrap;
}
.reason_img {
	height: 19rem;
	margin: 2rem 0 1.5rem 0;
	background-color: #FDEC02;
	border-radius: 2rem;
	position: relative;
	order: -1;
}
.reason_img img {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.reason_title {
	color: #023a8a;
	font-size: 2.2rem;
	font-weight: 800;
	margin: 0 0 1.5rem 0;
}
.reason_desc {
	font-size: calc(1.5rem + 0.2 *(100vw - 32rem)/10);
	line-height: 2.8rem;
	color: #4A4747;
}
.reason_wrap .line_link {
	position: relative;
	z-index: 0;
}

/* consultation_line */
.consultation_line {
	width: 90%;
	margin: 7rem auto 5rem;
	padding: 0 0 3rem 0;
	border-radius: 2rem;
	position: relative;
}
.consultation_line::before {
	content: "";
	width: 100%;
	height: 100%;
	background-color: #FDEC02;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: -1;
	opacity: 0.8;
	border-radius: 10px;
}
.consultation_line_img {
	height: 24rem;
	position: relative;
}
.consultation_line_img img {
	width: 20rem;
	position: absolute;
	top: -3rem;
	left: 50%;
	transform: translateX(-50%)
}
.consultation_line_box {
	text-align: center;
}
.consultation_line_box dt {
	margin: 0 0 1rem 0;
	font-size: calc(1.9rem + 0.3 *(100vw - 32rem)/10);
	font-weight: 700;
	color: #55B925;
}
.consultation_line_box dd {
	margin: 0 0 2rem 0;
	font-size: calc(1.2rem + 0.3 *(100vw - 32rem)/10);

}

/* news_arrival ------------------------------------------------------- */
.arrival_date {
	margin: 0 0 1rem 0;
}
.news_arrival .information_desc {overflow: hidden;
	white-space: initial;
	display: -webkit-box;
	text-overflow: ellipsis;
	-webkit-box-orient: vertical;
	line-clamp: 2;
	-webkit-line-clamp: 2;
}

/* service ------------------------------------------------------------ */
.service_top {
	width: 90%;
	max-width: 126rem;
	margin: 0 auto 5rem;
	position: relative;
}
.service_top img:nth-of-type(1),
.service_top img:nth-of-type(3) {
	margin: 0 auto 3rem;
}
.service_top img:nth-of-type(2),
.service_top img:nth-of-type(5),
.service_top img:nth-of-type(6),
.service_top img:nth-of-type(7) {
	display: none;
}
.service_container p {
	text-align: center;
	font-size: 1.3rem;
	font-weight: bold;
	color: #1D1D1D;
}
.service_container > p {
	margin: 0 0 2rem 0;
}
.service_box {
	max-width: 126rem;
	margin: 0 auto 3rem;
	display: flex;
	flex-flow: column nowrap;
	gap: 2rem;
}
.service_type {
	width: 90%;
	max-width: 61rem;
	margin: 0 auto;
	text-align: center;
	background-color: #FDEC02;
	border: 3px solid #fff;
	border-radius: 2rem;
	box-shadow: 0px 10px 7px -6px rgba(0, 0, 0, 0.3);
}
.service_type:hover {
	background-color: #faf065;
	transition-duration: 0.3s;
}
.service_type a {
	display: block;
	padding: 1.5rem 0;
}
.service_type a:hover {
	opacity: 0.8;
	transition-duration: 0.3s;
}
.service_type span {
	font-weight: bold;
	display: block;
}
.service_type span:nth-child(1) {
	margin: 0 0 1rem 0;
	font-size: calc(1.8rem + 0.5 *(100vw - 32rem)/10);
	color: #023a8a;
}
.service_type span:nth-child(2) {
	font-size: 1.3rem;
	line-height: 1.5rem;
}
.service_type span:nth-child(2) span {
	font-size: 1rem;
}

/* reason_think */
.reason_think .reason_wrap {
	margin: 0 0 3rem 0;
	padding: 3rem 0 13rem 0;
	gap: 3rem;
	position: relative;
}
.reason_think .reason_wrap::before {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	background: url(images/reason_think_back.jpg) no-repeat bottom / cover;
	background-position-y: 0rem;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: -2;
}
.reason_think .reason_wrap::after {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	background-color: #00000085;
	background-position-y: 0rem;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}
.reason_think .content_title {
	color: #FDEC02;
}
.reason_think .reason_box {
	position: relative;
}
.reason_think .reason_title,
.reason_think .reason_desc {
	color: #fff;
}
.reason_think .reason_title {
	margin: 0 0 1.5rem 0;
	padding: 0 0 2rem 0;
	line-height: 3.5rem;
	position: relative;
}
.reason_think .reason_title::before {
	content: "";
	background: url(images/under_line_w.png) no-repeat center / contain;
}

/* footer ------------------------------------------------------------- */
.footer_about {
	width: 90%;
	max-width: 126rem;
	margin: 0 auto 6rem;
	text-align: center;
}
.footer_about p:nth-of-type(1) {
	line-height: 2.5rem;
	margin: 0 0 2rem 0;
}
.footer_about p:nth-of-type(2) {
	font-size: 1.2rem;
	line-height: 2rem;
	margin: 0 0 2rem 0;
	background-color: #e2e2e2;
	padding: 10px;
	box-sizing: border-box;
}
.footer_about dl {
	margin: 0 0 2rem 0;
}
.footer_about dt,
.footer_about dd {
	font-size: 1.7rem;
}
.footer_about dt {
	margin: 0 0 0.5rem 0;
}
.footer_about dd {
	line-height: 2.7rem;
}
.footer_inquiry {
	width: 90%;
	max-width: 107rem;
	margin: 0 auto 5rem;
	background-color: #FDEC02;
	border-radius: 2rem;
}
.footer_inquiry_container {
	display: flex;
	flex-flow: column nowrap;
}
.footer_inquiry_box {
	padding: 3rem 4rem;
}
.footer_inquiry_box .reason_box {
	width: 100%;
	margin: 0 auto 2rem;
}
.footer_inquiry_box .line_link {
	width: 100%;
	max-width: 24rem;
	margin: 0 auto 3rem;
}
.footer_inquiry_box .line_link a {
	width: 100%;
}
.footer_link_box {
	display: flex;
	flex-flow: column nowrap;
	align-items: center;
	gap: 1rem;
}
.footer_inquiry_box .link_btn a {
	width: 100%;
	border-radius: 1.5rem;
	display: block;
}
.footer_inquiry_box .link_btn:nth-of-type(1) a {
	width: 100%;
	max-width: 24rem;
	font-size: 2rem;
}
.footer_inquiry_box .link_btn:nth-of-type(2) a {
	width: 18rem;
	font-size: 1.5rem;
}
.footer_inquiry_box .link_btn a {
	padding: 1.3rem 2rem 1.3rem 4rem;
	position: relative;
}
.footer_inquiry_box .link_btn:nth-of-type(2) a {
	padding: 1.5rem 2rem 1.5rem 4rem;
}
.footer_inquiry_box .link_btn a::before {
	content: "";
	width: 3rem;
	height: 3rem;
	display: block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 1rem;
}
.footer_inquiry_box .link_btn:nth-of-type(1) a::before {
	background: url(images/icon_phone.png) no-repeat center / contain;
}
.footer_inquiry_box .link_btn:nth-of-type(2) a::before {
	background: url(images/icon_mail.png) no-repeat center / contain;
}
.footer_nav_wrap {
	padding: 3rem 0 1.5rem 0;
	background-color: #FDEC02;
	text-align: center;
}
.footer_nav_container {
	display: flex;
	flex-flow: column nowrap;
}
.footer_nav {
	width: 95%;
	max-width: 37rem;
	margin: 0 auto 4rem;
}
.footer_nav ul {
	width: auto;
	height: 28rem;
	display: flex;
	flex-flow: column wrap;
	align-items: flex-start;
	gap: 1.5rem;
}
.footer_nav li a {
	font-size: calc(1.3rem + 0.2 *(100vw - 32rem)/10);
}
.footer_nav li:nth-of-type(n + 9) {
	margin: 0 0 0 3rem;
}
.footer_address img {
	width: 27rem;
	margin: 0 auto 2rem;
}
.footer_address address {
	font-size: 1.9rem;
	line-height: 3rem;
	margin: 0 0 2rem 0;
}
.footer_nav_wrap small a {
	font-size: 1.2rem;
}

/* 下層ページ ここから ------------------------------------------ */
/* common -------------------------------------------------- */
.lower_wrap {
	max-width: 126rem;
	margin: 0 auto 5rem;
}
/* ページ下部のslickタイトル */
.construction_arrival_lower .content_title {
	color: #4A4747;
	font-size: 2rem;
}
/* 記事一覧株のページ移動 */
.page_link ul {
	width: 90%;
	max-width: 53rem;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}
.page_link li {
	width: 3rem;
	height: 3rem;
	line-height: 3rem;
	text-align: center;
}
.page_link li a {
	color: #fff;
	background-color: #0E457F;
	display: block;
}
/* 記事一覧共通 */
.lower_wrap .information_container {
	margin: 0 auto 5rem;
}
.list_wrap {
	max-width: 100%;
}
.list_wrap .information_container {
	width: 90%;
	max-width: 128rem;
	display: grid;
	grid-template-columns: repeat(1,1fr);
	gap: 2rem;
}
.list_wrap .information_box {
	width: 80%;
	max-width: 30rem;
	margin: 0 auto;
}
/* 記事内容共通 */
.article_wrap {
	width: 95%;
	max-width: 86rem;
}
.article_wrap p {
	margin: 0 0 3rem 0;
	line-height: 2.3rem;
}
.article_wrap .information_container {
	display: initial;
}
.article_wrap .information_box {
	width: 100%;
	max-width: 100%;
	margin: 0 auto 3rem;
	padding: 0;
	text-align: center;
	background-color: initial;
}
.article_wrap .information_tag {
	justify-content: center;
}
.article_wrap .information_tag,
.article_wrap .construction_price_wrap,
.article_wrap .information_title {
	margin: 0 0 2rem 0;
}
.article_wrap .information_img {
	width: 90%;
	margin: 0 auto 2rem;
}
.article_wrap .information_title {
	color: #4A4747;
}
.article_img {
	width: 90%;
	max-width: 68rem;
	max-height: 39rem;
	margin: 0 auto 3rem;
}
.article_img img {
	width: 100%;
	max-width: inherit;
	max-height: inherit;
	object-fit: cover;
}
/* 記事内容下部のページ前後移動 */
.page_move {
	width: 95%;
	margin: 0 auto;
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
}
.page_move .information_container {
	width: 50%;
	max-width: 30rem;
	margin: 0;
}
.page_move .information_box {
	width: 100%;
	margin: 0;
}
.page_move .information_img img {
	height: 10vh;
}
/* 下層のサービス各種の共通 */
.service_content_wrap .content_text {
	width: 95%;
	margin: 0 auto 4rem;
	font-size: 1.4rem;
}
.layout_container {
	width: 95%;
	margin: 0 auto 4rem;
}
.layout_title {
	margin: 0 0 2rem 0;
	font-size: calc(1.8rem + 0.2 * (100vw - 32rem) / 10);
	font-weight: bold;
	text-align: center;
	line-height: 3rem;
	color: #4A4747;
}
.layout_text {
	width: 95%;
	margin: 0 auto 3rem;
	font-size: 1.3rem;
	text-align: center;
	line-height: 2.3rem;
}
.two_row,
.three_row,
.five_row,
.two_row_center {
	display: grid;
	grid-template-columns: repeat(1,1fr);
	gap: 3rem;
}
.layout_card {
	width: 95%;
	margin: 0 auto;
}
.layout_card_img {
	max-height: 30rem;
	height: 24rem;
	margin: 0 0 1.5rem 0;
}
.two_row .layout_card_img {
    max-height: 35rem;
    height: 24rem;
    width: 100%;
}
.layout_card_img img {
    object-fit: cover;
    width: 100%;
}
.layout_card_title {
	margin: 0 0 1rem 0;
	font-weight: bold;
	color: #0E457F;
}
.layout_card_desc {
	font-size: 1.3rem;
	line-height: 2.3rem;
}
.service_summary ul {
	width: 95%;
	margin: 0 auto 3rem;
	display: flex;
	flex-flow: column nowrap;
	gap: 1rem;
}
.service_summary ul li {
	padding: 0 0 0 2rem;
	position: relative;
	color: #0E457F;
	line-height: 2.3rem;
}
.service_summary ul li::before {
	content: "";
	width: 1.5rem;
	height: 1.5rem;
	display: block;
	position: absolute;
	top: 0.5rem;
	left: 0;
	background: url(images/icon_check.png) no-repeat center / contain;
}

/* lower_visual -------------------------------------------- */
.lower_visual {
	width: 100%;
	height: 20vw;
	max-height: 55rem;
	margin: 5rem 0 4rem 0;
	position: relative;
}
.lower_visual::after {
	content: "";
	width: 100%;
	height: 100%;
	background-color: #FDEC02;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: -1;
	opacity: 0.8;
}
.lower_visual_title {
	width: max-content;
	font-size: calc(2.2rem + 0.5 *(100vw - 32rem)/10);
	font-weight: bold;
	text-align: center;
	color: #0E457F;
	position: absolute;
	top: 55%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.lower_visual_title p {
	margin: 0.5rem 0 0 0;
	font-size: calc(1.8rem + 0.2 *(100vw - 32rem)/10);
	font-weight: bold;
	color: #0E457F;
}
.lower_visual_title::before {
	/**content: "";**/
	width: 20rem;
	height: 20rem;
	display: block;
	position: absolute;
	top: 55%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: -1;
	background: url(images/MV_lower_title_bcak.png) no-repeat center / cover;
}

/* company ----------------------------------------------- */
.company_wrap > p {
	margin: 0 0 3rem 0;
	text-align: center;
	font-size: calc(1.4rem + 0.2 *(100vw - 32rem)/10);
	font-weight: bold;
	color: #0E457F;
	line-height: 2rem;
}
.mission_list {
	width: 95%;
	max-width: 117rem;
	margin: 0 auto 3rem;
	display: grid;
	grid-template-columns: repeat(2,2fr);
	gap: 1rem;
}
.mission_list li {
	max-width: none;
	padding: 1rem 0;
	text-align: center;
	font-weight: bold;
	border: 2px solid #0E457F;
	border-radius: 1rem;
	color: #0E457F;
	background-color: #fff;
}
.company_img {
	width: 95%;
	max-width: 122rem;
	margin: 0 auto 4rem;
	display: grid;
	grid-template-columns: repeat(1,1fr);
	grid-template-rows: auto auto auto;
	gap: 2rem;
}
.company_img li {
	max-height: 36rem;
	overflow: hidden;
}
.company_img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.company_img li:nth-of-type(5) {
	grid-column: 1 / -1;
}
.company_about {
	max-width: 104rem;
	margin: 0 auto;
}
.company_profile {
	width: 95%;
	margin: 0 auto;
}
.profile_box {
	max-width: 93rem;
	margin: 0 auto;
}
.profile_box dl {
	padding: 2rem;
	display: flex;
	flex-flow: column nowrap;
	gap: 1rem;
	border-bottom: 1px solid #0E457F;
}
.profile_box dl:first-child {
	border-top: 1px solid #0E457F;
}
.profile_box dt span,
.profile_box dd {
	font-size: 1.5rem;
}
.profile_box dt {
	width: 12rem;
	display: flex;
	justify-content: space-between;
}
.profile_box dt span {
	color: #00388D;
}
.profile_box dd {
	line-height: 2rem;
}

/* construction_list ------------------------------------------- */
/* construction_article ---------------------------------------- */
.construction_article .information_img img {
	height: 25vh;
}
/* blog_list --------------------------------------------------- */
/* blog_article ------------------------------------------------ */

/* contact ----------------------------------------------------- */
.contact_wrap {
	text-align: center;
}
.contact_wrap > p {
	font-size: 1.3rem;
	margin: 0 0 4rem 0;
}
.contact_wrap .content_title {
	margin: 0 0 2rem 0;
}
.contact_wrap .content_text {
	font-size: 1.6rem;
}
.contact_box_wrap {
	display: flex;
	flex-flow: column nowrap;
}
.contact_wrap .under_line::before {
	width: 22rem;
}
.contact_wrap .footer_inquiry_box > p {
	margin: 1rem 0 0 0;
	font-size: 1.8rem;
	font-weight: 900;
	color: #023a8a;
}
.contact_container {
	width: 95%;
	max-width: 83rem;
	margin: 0 auto;
	padding: 5rem 1rem;
	background-color: #fff;
	border: 2px solid #0E457F;
	border-radius: 1rem;
}
.contact_container table {
	width: 95%;
	max-width: 32rem;
	margin: 0 auto 2rem;
}
.contact_container tr {
	margin: 0 0 3rem 0;
	display: block;
}
.contact_container tr:last-child {
	margin: 0;
}
.contact_container th,
.contact_container td {
	font-size: 1.4rem;
	display: block;
	margin: 0 0 1rem 0;
}
.contact_container tr:last-child td {
	margin: 0;
}
.contact_container th {
	text-align: left;
	color: #0F0F0F;
}
.contact_container input {
	width: 100%;
	height: 4rem;
	padding: 0 1rem;
	background-color: #fff;
	border: 1px solid #0E457F;
	border-radius: 0.4rem;
	font-size: 1.4rem;
}
.contact_container textarea {
	width: 100%;
	height: 10rem;
	padding: 1rem;
	background-color: #fff;
	border: 1px solid #0E457F;
	border-radius: 0.4rem;
	font-size: 1.4rem;
}
.contact_container .submit {
	width: 17rem;
	height: 4rem;
	line-height: 4rem;
	margin: 0 auto;
	font-size: 1.7rem;
	font-weight: 500;
	background-color: #fff;
	border-radius: 0.4rem;
}
.contact_container .submit input {
	color: #fff;
	background-color: #0E457F;
	font-weight: 600;
}
/* kitchen --------------------------------------------------- */
/* bathroom -------------------------------------------------- */
/* toilet ---------------------------------------------------- */
/* washroom -------------------------------------------------- */
/* interior renovation --------------------------------------- */
/* exterior renovation --------------------------------------- */
/* exterior -------------------------------------------------- */
/* performance improvements ---------------------------------- */
/* equipment install work ------------------------------------ */
/* other renovation ------------------------------------------ */
/* to the apartment management company ----------------------- */
.apartment_management_box {
	margin: 0 auto 3rem;
	text-align: center;
}
.apartment_management_box:nth-child(even) {
	padding: 3rem 0;
	position: relative;
}
.apartment_management_box:nth-last-child(even)::before {
	content: "";
	width: 100%;
	height: 100%;
	background-color: #FDEC02;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: -1;
	opacity: 0.8;
}
.apartment_management_box > p:last-child {
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 2rem;
}
.apartment_management_box .layout_title {
	width: 95%;
	margin: 0 auto 3rem;
}
.apartment_management_box ul {
	width: 90%;
	margin: 0 auto 2rem;
	text-align: left;
	display: flex;
	flex-flow: column nowrap;
	gap: 1rem;
}
.apartment_management_box ul li {
	padding: 0 0 0 1.5rem;
	line-height: 2rem;
	color: #0E457F;
	position: relative;
}
.apartment_management_box ul li:before {
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
}
.apartment_management_box:nth-of-type(2) ul li {
	padding: 0;
}
.apartment_management_box:nth-of-type(2) ul li:before {
	content: "";
}
.apartment_management_box img {
	width: 90%;
	height: 17rem;
	margin: 0 auto 2rem;
	object-fit: contain;
}



@media screen and (max-width: 320px) {
	.header_nav ul {
		height: 15vh;
		margin: 6rem auto 1rem;
	}
	.header_nav_box {
		margin: 0 0 1rem 0;
	}
	.line_box {
		margin: 0 0 1rem 0;
	}
	.line_box span {
		margin: 0 0 0.5rem 0;
		padding: 0.5rem 0;
	}
	.nav_box_sp > img {
		display: none;
	}
}


@media screen and (max-height: 700px) {
	.nav_box_sp > img {
		display: none;
	}
}


@media screen and (min-width: 700px) {
	body {
		background: url(images/background_pattern_sp.png) center / cover;
	}

/* common ------------------------------------------------------- */
.sp_only{ display: none;}
section {
	margin: 0 auto 7rem;
}
.content_title {
	font-size: 2.8rem;
	line-height: 3.5rem;
}
.content_text {
	font-size: 1.6rem;
	margin: 0 0 3rem 0;
}
.line_box p:nth-of-type(1) {
	font-size: 2.6rem;
}
.line_link > a {
	font-size: 2.6rem;
}
/* link_btn */
.link_btn a {
	width: max-content;
	padding: 2rem 3rem;
	font-size: 1.7rem;
	border: 3px solid #fff;
}
/* sclikの共通箇所 */
.information_title {
	font-size: 1.5rem;
}

/* header ------------------------------------------------------- */
.header_nav ul li a {
	font-size: 2.2rem;
}
.header_nav_box li a {
	font-size: 2rem;
}
.line_box p {
	font-size: 2.6rem;
}
.nav_box_sp address {
	font-size: 1.9rem;
}
.main_nav_box {
	height: inherit;
	display: flex;
	flex-flow: column nowrap;
	justify-content: center;
	padding: 0;
}
.header_nav ul {
	height: 18vh;
	margin: 0 auto 2rem;
}
.header_nav_box {
	margin: 0 0 2rem 0;
}
.main_nav_box .line_box {
	margin: 0 0 2rem 0;
}
.nav_box_sp > img {
	margin: 0 auto 1rem;
}
.nav_box_sp address {
	margin: 0 0 1rem 0;
}

/* main_visual ---------------------------------------------------- */
.main_visual {
	margin: 0 auto 2rem;
	position: relative;
	overflow: hidden;
}
.main_visual ul {
	width: 90%;
	max-width: 136rem;
	margin: 3rem auto 3rem;
}
.main_visual ul li {
	width: 50%;
	margin: 0;
	position: relative;
	z-index: 1;
}
.main_visual ul li:nth-child(1) {
	margin: 0 0 3rem 0;
}
.main_visual ul li:nth-child(2) {
	width: 46rem;
	position: absolute;
	top: 50%;
	transform: translate( 0,-50%);
	right: -2rem;
	z-index: 0;
}
.main_visual ul li:nth-child(2) img {
	width: 100%;
	object-position: 3rem;
}
.main_visual .line_box {
	flex-flow: row nowrap;
	justify-content: center;
	gap: 3rem;
}
.main_visual .line_link {
	margin: 0;
}

/* top_about --------------------------------------------------- */
.top_about {
	padding: 4rem 0 5rem 0;
}
.top_about_container {
	width: 95%;
}
.top_about_box {
	flex-flow: row nowrap;
	justify-content: center;
	gap: 5rem;
}

/* service_top ------------------------------------------------- */
.service_top {
	height: 130rem;
}
.service_top img {
	position: absolute;
	height: auto;
}
.service_top img:nth-of-type(1) {
	display: none;
}
.service_top img:nth-of-type(2) {
	width: 40%;
	max-width: 36rem;
	display: block;
	top: 0;
	left: 0;
}
.service_top img:nth-of-type(3) {
	width: 55%;
	max-width: 50rem;
	margin: 0;
	top: 0;
	right: 0;
}
.service_top img:nth-of-type(4) {
	width: 69rem;
	top: 16rem;
	left: 50%;
	transform: translateX(-50%);
}
.service_top img:nth-of-type(5) {
	display: block;
	width: 22rem;
	left: 5rem;
	bottom: 38rem;
}
.service_top img:nth-of-type(6) {
	display: block;
	width: 48%;
	max-width: 35rem;
	left: 0;
	bottom: 0;
}
.service_top img:nth-of-type(7) {
	display: block;
	width: 48%;
	max-width: 35rem;
	right: 0;
	bottom: 0;
}
.service_box {
	margin: 0 auto 5rem;
}
.service_container p {
	font-size: 1.8rem;
}
.service_type span:nth-child(1) {
	font-size: 3rem;
}
.service_type span:nth-child(2) {
	font-size: 2.2rem;
	line-height: 3rem;
}
.service_type span:nth-child(2) span {
	font-size: 1.5rem;
}
.service_container span {
	font-size: 2.2rem;
}

/* reason_think ------------------------------------------------- */
.reason_think .reason_wrap {
	height: 90rem;
	padding: 5rem 0 0 0;
}
.reason_desc {
	font-size: 1.6rem;
}
.reason_think .line_link {
	position: absolute;
	left: 50%;
	bottom: 5rem;
	transform: translateX(-50%);
}

/* footer ------------------------------------------------------ */
.footer_about .content_text {
	font-size: 1.6rem;
}
.footer_about p:nth-of-type(1) {
	font-size: 1.8rem;
	line-height: 3rem;
}
.footer_about p:nth-of-type(2) {
	font-size: 1.5rem;
	line-height: 3rem;
}
.footer_about dd {
	line-height: 3.5rem;
}
.footer_inquiry_container {
	flex-flow: row nowrap;
	align-items: flex-start;
}
.footer_inquiry_box:nth-of-type(2) .reason_box {
	margin: 0 auto 1.5rem;
}
.footer_nav {
	max-width: 60rem;
}
.footer_nav ul {
	height: 17rem;
	gap: 2rem;
}
.footer_nav li:nth-of-type(n + 9) {
	margin: 0;
}
.footer_nav li a {
	font-size: 1.8rem;
}


/* 下層ページTBここから --------------------------------------------- */
/* common ------------------------------------------------------ */
.lower_visual_title {
	font-size: 3.5rem;
}
/* ページ下部のslickタイトル */
.construction_arrival_lower .content_title {
	font-size: 2.3rem;
}
/* 記事一覧共通 */
.lower_wrap .information_container {
	grid-template-columns: repeat(2,1fr);
}
.lower_wrap .information_box {
	width: 100%;
}
/* 記事内容共通 */
.article_wrap .information_tag span {
	font-size: 1.6rem;
}
.article_wrap .construction_price_wrap p {
	font-size: 2rem;
}
.article_wrap .construction_price {
	font-size: 3rem;
}
.article_wrap .information_title {
	font-size: 2rem;
}
.article_wrap .arrival_date {
	font-size: 1.8rem;
}
/* 下層のサービス各種の共通 */
.layout_container {
	margin: 0 auto 5rem;
}
.layout_title {
	font-size: 2.3rem;
	line-height: 3.5rem;
}
.layout_text {
	font-size: 1.5rem;
	line-height: 2.6rem;
}
.two_row {
	grid-template-columns: repeat(2,1fr);
}
.three_row {
	grid-template-columns: repeat(3,1fr);
}
.five_row {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	gap: 5rem 3rem;
}
.five_row dl {
	width: calc(90% / 3);
	margin: 0;
}
.two_row_center {
	width: 80%;
	margin: 0 auto;
	grid-template-columns: repeat(2,1fr);
}
.layout_card {
	width: 100%;
}
.layout_card_title {
	font-size: 1.6rem;
	line-height: 2.3rem;
}
.layout_card_desc {
	font-size: 1.5rem;
}
.service_summary ul {
	width: max-content;
}

/* lower_visual ------------------------------------------------ */
.lower_visual_title::before {
	/**width: 30rem;
	height: 30rem;**/
}
.lower_visual_title p {
	font-size: 2rem;
	margin: 1.5rem 0 0 0;
}

/* company ----------------------------------------------------- */
.company_wrap > p {
	font-size: 2.4rem;
	line-height: 3.2rem;
}
.mission_list {
	grid-template-columns: repeat(4,1fr);
}
.mission_list li {
	font-size: 1.7rem;
}
.company_img {
	grid-template-columns: repeat(2,1fr);
}
.profile_box dl {
	flex-flow: row nowrap;
	gap: 3rem;
}
.profile_box dt span,
.profile_box dd {
	font-size: 1.8rem;
}
.profile_box dt {
	width: 13rem;
	margin: 0.3rem 0 0 0;
}
.profile_box dd {
	width: calc(100% - 13rem);
}

/* construction_list ------------------------------------------- */
/* construction_article ---------------------------------------- */
.construction_article .information_img img {
	height: 25rem;
}
.construction_article .information_img_label {
	font-size: 2rem;
}
/* blog_list --------------------------------------------------- */
/* blog_article ------------------------------------------------ */

/* contact ----------------------------------------------------- */
.contact_container {
	width: 75%;
	margin: 4rem auto;
}
.contact_container th,
.contact_container td,
.contact_container textarea {
	font-size: 1.5rem;
}
.contact_container textarea {
	height: 15rem;
}
/* kitchen --------------------------------------------------- */
/* bathroom -------------------------------------------------- */
/* toilet ---------------------------------------------------- */
/* washroom -------------------------------------------------- */
.layout_washroom:nth-of-type(1) .two_row {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
}
.layout_washroom:nth-of-type(1) .layout_card {
	width: 47%;
}
/* interior renovation --------------------------------------- */
/* exterior renovation --------------------------------------- */
/* exterior -------------------------------------------------- */
/* performance improvements ---------------------------------- */
/* equipment install work ------------------------------------ */
/* other renovation ------------------------------------------ */
/* to the apartment management company ----------------------- */
.apartment_management_box {
	margin: 0 auto 4rem;
}
.apartment_management_box ul {
	width: max-content;
}
.apartment_management_box ul li {
	font-size: 1.7rem;
}
.apartment_management_box > p:last-child {
	font-size: 1.7rem;
}

}


@media screen and (min-width: 1024px) {
	
.header_nav ul {
    margin: 4rem auto 4rem;
    display: flex;
    flex-flow: row;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap;
	padding: 0;
}
	.header_nav li {
		width: fit-content;
        background-color: unset;
        border-radius: 0;
        height: auto;
        line-height: normal;
        margin-bottom: 0;
}
/* common ------------------------------------------------------- */
.tb_only{ display: none;}
.pc_only{ display: block;}
section {
	margin: 0 auto 10rem;
}
.content_title {
	font-size: 3.5rem;
	margin: 0 0 4rem 0;
	line-height: 4.5rem;
}
.content_text {
	margin: 0 0 4rem 0;
	font-size: 2rem;
	line-height: 3.5rem;
}
/* link_btn */
.link_btn a {
	max-width: max-content;
	padding: 2rem 4rem;
	font-size: 2rem;
	border: 4px solid #fff;
}
.information_container {
	margin: 0 0 4rem 7rem;
}
.under_line::before {
	width: 26rem;
}

/* header --------------------------------------------------------- */
header {
	height: 10rem;
	transition: height 0.3s ease;
}
header.fixed {
	height: 6rem;
}
header h1 {
	width: 30rem;
	height: auto;
	transition: width 0.3s ease;
}
header.fixed h1 {
	width: 24rem;
}
.navToggle,
.navToggle.active,
.navToggle.active span:first-child,
.navToggle.active span:last-child,
.main_nav_box .line_box,
.nav_box_sp {
	display: none;
}
.navToggle.active {
	background-color: initial;
}
.main_nav {
	width: initial;
	height: inherit;
	position: initial;
	display: block;
	background-color: initial;
}
.main_nav {
	margin: 0 3rem 0 0;
}
.main_nav_box {
	flex-flow: row nowrap;
	align-items: center;
}
.header_nav {
	margin: 0 3rem 0 0;
}
.header_nav ul {
	height: initial;
	margin: 0;
	flex-flow: row nowrap;
	gap: 1rem;
}
.header_nav ul li a,
.header_nav_box li a {
	font-size: calc(1.3rem + 0.2 *(100vw - 102.4rem)/42);
}
.header_nav_box {
	margin: 0;
}
.header_nav_box ul {
	flex-flow: row nowrap;
}
.header_nav_box li a {
	width: fit-content;
	padding: 1rem 2rem;
}
header.fixed .header_nav_box li a {
	padding: 0.3rem 2rem;
}

/* main_visual -------------------------------------------------- */
.main_visual {
	padding: 10rem 0 0 0;
}
.main_visual ul li {
	max-width: 60rem;
}
.main_visual ul li:nth-child(2) {
	width: 65vw;
	max-width: 88rem;
	top: 34rem;
	left: 47%;
}
.main_visual ul li:nth-child(2) img {
	object-position: 0;
}
.line_container {
	width: 90%;
	max-width: 136rem;
	margin: 0 auto;
}
.main_visual .line_box {
	justify-content: flex-start;
}
.main_visual .line_container > p:last-child {
	margin: 0;
}

/* top_about ----------------------------------------------------- */
.top_about {
	padding: 5rem 0 7rem 0;
}
.top_about_slick {
	margin: 0 0 5rem 0;
}
.top_about_slick li {
	max-width: 41rem;
	margin: 0 2rem;
}
.top_about_slick li img {
	max-width: inherit;
}
.top_about_container {
	margin: 0 auto 4rem;
}
.top_about_box {
	justify-content: space-between;
}
.top_about_box dt {
	font-size: 2.5rem;
}
.top_about_box dd {
	font-size: 2rem;
	line-height: 4rem;
}

/* reason -------------------------------------------------------- */
.reason_container {
	margin: 0 auto 4rem;
	flex-flow: row nowrap;
}
.reason_title {
	font-size: 2.5rem;
}

/* consultation_line --------------------------------------------- */
.consultation_line {
	max-width: 92rem;
	margin: 10rem auto 10rem;
	padding: 3rem 0;
	display: flex;
	position: relative;
}
.consultation_line_img {
	width: 38rem;
	min-width: 38rem;
	position: initial;
}
.consultation_line_img img {
	width: 33rem;
	height: auto;
	top: -6rem;
	left: 3rem;
	transform: initial;
}
.consultation_line_box {
	text-align: left;
}
.consultation_line_box dt {
	font-size: 3.5rem;
}
.consultation_line_box dd {
	font-size: 2rem;
	line-height: 3.5rem;
}
.consultation_line .line_link > a {
	margin: 0 0 0 5rem;
}

/* service -------------------------------------------------------- */
.service_top {
	height: 70vw;
	max-height: 76rem;
	margin: 0 auto 8rem;
}
.service_top img:nth-of-type(2) {
	max-width: 50rem;
	position: relative;
	z-index: 1;
}
.service_top img:nth-of-type(3) {
	max-width: 70rem;
	z-index: 1;
}
.service_top img:nth-of-type(4) {
	top: 15vw;
}
.service_top img:nth-of-type(5) {
	left: 0;
	bottom: 31rem;
}
.service_top img:nth-of-type(6) {
	width: 28rem;
}
.service_top img:nth-of-type(7) {
	width: 28rem;
}
.service_box {
	width: 95%;
	height: 73rem;
	flex-flow: column wrap;
}
.service_type {
	width: 49%;
}
.service_container p {
	font-size: 2.2rem;
}
.service_type span:nth-child(2) span {
	display: inline-block;
	margin: 0;
}
.service_container ul:nth-of-type(2) .service_type {
	width: 95%;
	max-width: 126rem;
}

/* reason_think ------------------------------------------------------- */
.reason_think .reason_wrap {
	height: 60rem;
	padding: 6rem 0 0 0;
}
.reason_think .content_title {
	margin: 0 0 5rem 0;
}
.reason_think .reason_title {
	font-size: 2.5rem;
}


.reason_think .reason_wrap::before {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	background: url(images/reason_think_back.jpg) no-repeat bottom / cover;
	background-position-y: 0rem;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: -2;
}
.reason_think .reason_wrap::after {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	background-color: #00000085;
	background-position-y: 3rem;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}
/* footer ------------------------------------------------------------- */
.footer_about p:nth-of-type(1) {
	font-size: 2rem;
	line-height: 3.5rem;
	margin: 0 0 3rem 0;
}
.footer_about p:nth-of-type(2) {
	margin: 0 0 3rem 0;
}
.footer_inquiry_container {
	max-width: 95rem;
	margin: 0 auto;
	padding: 4rem 0 3rem 0;
	justify-content: space-between;
	align-items: flex-start;
}
.footer_inquiry_box {
	max-width: 44rem;
	padding: 0;
	margin: 0 1rem;
}
.footer_inquiry_box .reason_box {
	max-width: 100%;
	margin: 0 0 1rem 0;
}
.footer_inquiry_box .line_link {
	margin: 0 auto 1.4rem;
}
.footer_link_box {
	flex-flow: row nowrap;
	justify-content: space-between;
}
.footer_inquiry_box .reason_desc {
	text-align: left;
}
.footer_inquiry_box .link_btn,
.footer_inquiry_box .link_btn a {
	max-width: 100%;
	width: fit-content;
	margin-inline: initial;
}
.footer_nav_wrap {
	padding: 4rem 0 2rem 0;
}
.footer_nav_container {
	width: 98%;
	max-width: 122rem;
	margin: 0 auto 3rem;
	flex-flow: row-reverse nowrap;
	justify-content: space-between;
}
.footer_nav {
	margin: 0;
}
.footer_address {
	text-align: left;
}
.footer_address img {
	width: 33rem;
	margin: 0;
}
.footer_address .sns_icon {
	margin-inline: initial;
}
.footer_nav_wrap small a {
	font-size: 1.6rem;
}


/* 下層ページPCここから ------------------------------------------------- */
/* common ----------------------------------------------------------- */
/* 記事一覧共通 */
.lower_wrap .information_container {
	grid-template-columns: repeat(3,1fr);
}
/* ページ下部のslickタイトル */
.construction_arrival_lower .content_title {
	font-size: 2.6rem;
}
/* 記事内容共通 */
.article_wrap p {
	font-size: 1.6rem;
	line-height: 3rem;
}
.article_wrap .information_tag span {
	padding: 0.7rem 2.5rem;
}
.article_wrap .construction_price_wrap p {
	font-size: 2.6rem;
}
.article_wrap .information_img {
	margin: 0 auto 4rem;
}
.article_wrap .information_tag {
	margin: 0 auto 3rem;
}
.article_wrap .construction_price {
	font-size: 4.5rem;
	margin: 0 auto 3rem;
}
.article_wrap .information_title {
	font-size: 2.6rem;
	margin: 0 auto 4rem;
}
.article_wrap .arrival_date {
	font-size: 2rem;
}

/* 記事内容下部のページ前後 */
.page_move .information_img img {
	height: 12rem;
}
/* ページャー：PC時は説明・価格を復元 */
.page_move .construction_price_wrap,
.page_move .information_desc {
	display: block;
}
.page_move .information_title {
	font-size: 1.5rem;
}
.page_move .information_tag {
	max-height: none;
}

/* 下層のサービス各種の共通 */
.service_content_wrap .content_text {
	width: 100%;
	margin: 0 auto 5rem;
	font-size: 1.6rem;
}
.layout_container {
	margin: 0 auto 8rem;
}
.layout_title {
	font-size: 2.6rem;
	margin: 0 auto 4rem;
}
.layout_text {
	width: 100%;
	font-size: 1.6rem;
	margin: 0 auto 6rem;
}
.layout_card_title {
	font-size: 2rem;
	line-height: 3rem;
}
.layout_card_desc {
	font-size: 1.6rem;
}
.two_row,
.three_row,
.two_row_centet {
	gap: 5rem;
}
.service_summary ul li {
	font-size: 2rem;
}

/* lower_visual ----------------------------------------------------- */
.lower_visual {
	margin: 0 0 7rem 0;
}
.lower_visual_title {
	font-size: 4.5rem;
}
.lower_visual_title::before {
	width: 42rem;
	height: 42rem;
}

/* company ---------------------------------------------------------- */
.company_wrap > p {
	margin: 0 0 8rem 0;
}
.mission_list {
	margin: 0 auto 4rem;
}
.mission_list li {
	padding: 2rem 0;
	font-size: 2rem;
}
.company_img {
	margin: 0 auto 8rem;
	gap: 4rem;
}
.company_about {
	margin: 0 auto 8rem;
}
.profile_box dl {
	gap: 6rem;
}
.profile_box dt span,
.profile_box dd {
	font-size: 2rem;
}
.profile_box dd {
	width: 60rem;
	line-height: 4rem;
}

/* construction_list ------------------------------------------- */
/* construction_article ---------------------------------------- */
.construction_article .information_img {
	gap: 3rem;
}
.construction_article .information_img img {
	height: 43rem;
}
/* blog_list --------------------------------------------------- */
/* blog_article ------------------------------------------------ */

/* contact ------------------------------------------------------ */
.contact_wrap .content_text {
	font-size: 3rem;
	line-height: 4.5rem;
}
.contact_wrap > p {
	font-size: 2rem;
	margin: 1rem 0 7rem 0;
}
.contact_box_wrap {
	flex-flow: row nowrap;
	justify-content: center;
}
.contact_box_wrap .footer_inquiry_box {
	padding: 3rem 4rem;
}
.contact_wrap .footer_inquiry_box > p {
	font-size: 2.5rem;
}
.contact_box_wrap .footer_inquiry_box:nth-of-type(1) p {
	margin: 3.5rem 0 0 0;
}
.contact_box_wrap .footer_inquiry_box:nth-of-type(1) .reason_title {
	margin: 0 0 3rem 0;
}
.contact_container {
	padding: 6rem 0 8rem 0;
}
.contact_container tr {
	margin: 0 0 3.5rem 0;
}
.contact_container th,
.contact_container td,
.contact_container textarea {
	font-size: 1.6rem;
}
.contact_container textarea {
	height: 18rem;
}

/* kitchen --------------------------------------------------- */
/* bathroom -------------------------------------------------- */
/* toilet ---------------------------------------------------- */
/* washroom -------------------------------------------------- */
/* interior renovation --------------------------------------- */
/* exterior renovation --------------------------------------- */
/* exterior -------------------------------------------------- */
/* performance improvements ---------------------------------- */
/* equipment install work ------------------------------------ */
/* other renovation ------------------------------------------ */
/* to the apartment management company ----------------------- */
.apartment_management_box {
	margin: 0 auto 6rem;
}
.apartment_management_box:nth-child(even) {
	padding: 5rem 0;
}
.apartment_management_box ul {
	margin: 0 auto 3rem;
}
.apartment_management_box ul li {
	font-size: 2rem;
}
.apartment_management_box > p:last-child {
	font-size: 2rem;
}
.apartment_management_box img {
	height: 33rem;
	margin: 0 auto 3rem;
}

}



@media screen and (min-width: 1440px) {

/* service ----------------------------------------------------------- */
.service_top img:nth-of-type(4) {
	top: 22rem;
}
.service_type span:nth-child(1) {
	font-size: 3.8rem;
}
.main_visual ul li:nth-child(2) {
	top: 6rem;
	transform: none;
}

/* 下層ページ　1440px以上 */
/* 記事一覧共通 */
.lower_wrap .information_container {
	grid-template-columns: repeat(4,1fr);
}

/* 下層のサービス各種の共通 */
.layout_container {
	width: 100%;
}
}


/* 追記 ----------------------------------------------------------- */

/* ============== Single Pager ============== */
.pager {
	margin: 40px 0;
	display: flex;
	gap: 16px;
	justify-content: space-between;
}
.pager_prev,
.pager_next {
	flex: 1 1 0;
}
.pager_prev a,
.pager_next a {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 12px 14px;
	border: 1px solid #e5e5e5;
	border-radius: 6px;
	text-decoration: none;
	color: inherit;
	line-height: 1.5;
}
.pager_prev a:hover,
.pager_next a:hover {
	border-color: #bdbdbd;
	box-shadow: 0 1px 3px rgba(0,0,0,.08);
}
.pager_prev a:focus,
.pager_next a:focus {
	outline: 2px solid #4b9cff;
	outline-offset: 2px;
}

.pager_label {
	font-size: 12px;
	opacity: .7;
	letter-spacing: .05em;
}
.pager_title {
	font-size: 14px;
	font-weight: 600;
}

/* arrows */
.pager_prev a .pager_label::before {
	content: "←";
	margin-right: .35em;
}
.pager_next a .pager_label::after {
	content: "→";
	margin-left: .35em;
}

/* mobile */
@media (max-width: 640px) {
	.pager {
		flex-direction: column;
	}
}
/* ===== Numeric Pager ===== */
.pager_numeric {
	margin: 40px auto 0;
	display: block;
}
.pager_numeric .pager_list {
	display: flex; flex-wrap: wrap; gap: 8px; justify-content: center;
	list-style: none; padding: 0; margin: 0;
}
.pager_numeric .page-numbers {
	display: inline-block; min-width: 36px; padding: 8px 10px; text-align: center;
	border: 1px solid #e5e5e5; border-radius: 6px; text-decoration: none; line-height: 1;
}
.pager_numeric .page-numbers:hover { border-color: #bdbdbd; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.pager_numeric .page-numbers.current {
	background: #111; color: #fff; border-color: #111; cursor: default;
}
/* ===== About Us Standalone (scoped) ===== */
#aboutus-root.au { --au-max: 1100px; --au-gap: 24px; --au-muted:#666; --au-line:#E6E6E6; --au-accent:#111; }
#aboutus-root.au { box-sizing:border-box; margin:0 auto; max-width:var(--au-max); padding:32px 16px; font-family: system-ui, -apple-system, "Noto Sans JP", sans-serif; line-height:1.8; color:#222; }
#aboutus-root.au * { box-sizing:inherit; letter-spacing: .02em; }

/* lead */
#aboutus-root .au-lead { margin:0 0 32px; font-size:clamp(14px, 1.6vw, 16px); color:#333; }
#aboutus-root .au-lead p { margin: 0 0 1em; }

/* section title */
#aboutus-root .au-h { font-size:clamp(18px, 2vw, 20px); margin:0 0 16px; padding: 8px 0; border-bottom:2px solid var(--au-accent); }

/* table */
#aboutus-root .au-table { width:100%; border-collapse:collapse; border-top:1px solid var(--au-line); border-bottom:1px solid var(--au-line); background:#fff; }
#aboutus-root .au-table th,
#aboutus-root .au-table td { padding:12px 14px; vertical-align:top; border-top:1px solid var(--au-line); word-break:break-word; }
#aboutus-root .au-table th { width:140px; background:#fafafa; font-weight:600; text-align:left; color:#111; }
#aboutus-root .au-table tr:first-child th,
#aboutus-root .au-table tr:first-child td { border-top:none; }
#aboutus-root .au-tel { color:inherit; text-decoration:none; border-bottom:1px dotted #aaa; }
#aboutus-root .au-tel:hover { border-bottom-color:#666; }

/* cards / maps */
#aboutus-root .au-section { margin: 36px 0; }
#aboutus-root .au-mapgrid { display:grid; grid-template-columns: 1fr; gap: var(--au-gap); }
@media (min-width: 820px){ #aboutus-root .au-mapgrid { grid-template-columns: 1fr 1fr; } }

#aboutus-root .au-card { background:#fff; border:1px solid var(--au-line); border-radius:10px; padding:16px; }
#aboutus-root .au-card-title { margin:0 0 10px; font-size:18px; font-weight:700; }
#aboutus-root .au-mapframe { width:100%; aspect-ratio: 16 / 9; border-radius:8px; overflow:hidden; background:#f2f2f2; }
#aboutus-root .au-mapframe iframe { width:100%; height:100%; border:0; display:block; }
#aboutus-root .au-mapph { display:flex; align-items:center; justify-content:center; width:100%; height:100%; color:var(--au-muted); font-size:14px; }
#aboutus-root .au-address { margin:10px 2px 0; color:#333; font-size:14px; }

/* 強制上書き（他スタイルの干渉を排除） */
#aboutus-root.au a { color:inherit; }
#aboutus-root.au img { max-width:100%; height:auto; display:block; }

/* ===== Philosophy Cards (About Us) ===== */
.philosophy_wrap { --ph-accent:#f3d35a; --ph-border:#e7e7e7; --ph-text:#222; --ph-muted:#666; }
.philosophy_wrap { margin: 24px 0; }
.philosophy_grid { display:grid; gap:24px; grid-template-columns:1fr; }
@media (min-width: 900px){ .philosophy_grid { grid-template-columns:repeat(3, 1fr); } }

.philosophy_card{
  position:relative; background:#fff; border:1px solid var(--ph-border);
  border-radius:14px; padding:22px 20px 20px; color:var(--ph-text);
  box-shadow:0 6px 18px rgba(0,0,0,.04); display:flex; flex-direction:column;
}
.philosophy_card::before{
  content:""; position:absolute; inset:0 0 auto 0; height:6px;
  background:linear-gradient(90deg,var(--ph-accent),#ffeaa0);
  border-radius:14px 14px 0 0;
}

.philosophy_head{ display:flex; align-items:center; gap:12px; margin-bottom:10px; }
.philosophy_num{
  display:inline-flex; align-items:center; justify-content:center;
  width:34px; height:34px; border-radius:50%;
  background:var(--ph-accent); font-weight:700; color:#111;
  box-shadow:inset 0 -2px 0 rgba(0,0,0,.08);
}
.philosophy_title{ font-size:20px; line-height:1; margin:0; font-weight:700; letter-spacing:.02em; }

.philosophy_quote{
  margin:.2em 0 .8em; padding-left:12px; border-left:3px solid var(--ph-accent);
  color:#333; font-weight:600; line-height:1.7;
}
.philosophy_text{ margin:0; color:var(--ph-muted); line-height:1.9; }

.pc-only{ display:none; }
@media (min-width:768px){ .pc-only{ display:inline; } }

.slick-slide{
    height: auto !important;
}
