/* index1028.html用の追加スタイル。今後のスタイル修正はこのファイルに記載します。 */
/* FAQ回答文と同じ書体を全体に適用。アイコン専用フォントは維持する。 */
:root{--site-font-family:Verdana,Arial,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro',Osaka,'ＭＳ Ｐゴシック',sans-serif}
body#main,
body#main *:not(.fa):not(.fas):not(.far):not(.fab):not(.fal):not(.fad):not([class*="fa-"]){
font-family:var(--site-font-family)!important;
}
/* 長文はFAQの回答と同じ太さ・字間・サイズに統一する。 */
body#main p,
body#main p :not(.fa):not(.fas):not(.far):not(.fab):not([class*="fa-"]){
font-style:normal!important;
letter-spacing:normal!important;
}
body#main #company-overview p,
body#main #About_us .content>p,
body#main #services01 .services_content p,
body#main #services02 .content p,
body#main #global_menu-container .content p,
body#main #youtube_info .content p,
body#main #frequently-asked-questions .faq-answer p{
font-size:16px!important;font-weight:400!important;line-height:1.95!important;
}
@media(max-width:600px){
body#main #company-overview p,
body#main #About_us .content>p,
body#main #services01 .services_content p,
body#main #services02 .content p,
body#main #global_menu-container .content p,
body#main #youtube_info .content p,
body#main #frequently-asked-questions .faq-answer p{font-size:15px!important}
}

/* 会社紹介：装飾を抑え、文字の大きさと余白で見出しの階層を示す。 */
#company-overview{
box-sizing:border-box;max-width:1100px;margin:40px auto 0;padding:24px;
border:0;border-radius:0;background:#fff;box-shadow:none;
}
#company-overview #company-overview-title{
position:static;max-width:none;margin:0 0 24px;padding:0;
border:0;background:none;box-shadow:none;color:#214d30;
font-size:clamp(25px,2.5vw,32px);font-weight:700;
line-height:1.65;letter-spacing:0;text-align:left;text-wrap:balance;
}
#company-overview-title .overview-location{display:block;font-size:.8em;margin-bottom:4px}
#company-overview-title .overview-phrase{display:inline-block}
#company-overview #company-overview-title::before,
#company-overview #company-overview-title::after,
#About_us .content h3::before,
#About_us .content h3::after{content:none;display:none}
#company-overview p{margin:0 0 18px;font-size:16px;line-height:1.9}
#About_us{margin-top:0;padding-top:12px}
#About_us .content h3{
position:static;height:auto;margin:0 0 20px;padding:0;
border:0;background:none;box-shadow:none;color:#355e42;
font-size:clamp(20px,1.8vw,23px);font-weight:600;
line-height:1.7;letter-spacing:0;text-align:left;
}
#About_us .content h3 br{display:none}
#About_us .content>p{margin:0 0 18px;line-height:1.9}
@media(max-width:600px){
#company-overview{margin:24px 12px 0;padding:20px 16px}
#company-overview #company-overview-title{font-size:25px;margin-bottom:20px}
#company-overview p{font-size:15px}
#About_us .content h3{font-size:20px}
}
/* お知らせ：日付・カテゴリ・記事名をそろえた一覧。 */
#information>.content:not(.manager_blog)>h3{
display:flex;align-items:center;justify-content:space-between;gap:20px;
margin:0 0 20px;padding:0;border:0;background:none;
font-size:28px;line-height:1.5;font-weight:700;color:#214d30;
}
#information>.content:not(.manager_blog)>h3::before,
#information>.content:not(.manager_blog)>h3::after{content:none;display:none}
#information>.content:not(.manager_blog)>h3>a{
position:static;float:none;display:inline-flex;align-items:center;
width:auto;margin:0;padding:8px 0;font-size:14px;font-weight:400;
line-height:1.5;color:#355e42;white-space:nowrap;background:none;
}
#information #information_box{display:block;margin:0;padding:0;list-style:none;border-top:1px solid #dce5de}
#information #information_box>li{
box-sizing:border-box;display:grid;grid-template-columns:170px 90px minmax(0,1fr);
align-items:center;gap:20px;position:static;float:none;
width:100%;min-height:0;height:auto;margin:0;padding:24px 4px;
border:0;border-bottom:1px solid #dce5de;background:none;text-align:left;
}
#information #information_box>li::before,
#information #information_box>li::after{content:none;display:none}
#information #information_box>li>.post_date{
grid-column:1;grid-row:1;position:static;float:none;display:block;
width:auto;margin:0;padding:0;color:#647069;font-size:14px;line-height:1.7;
}
#information #information_box>li>.cat{
grid-column:2;grid-row:1;position:static;float:none;display:block;
width:auto;margin:0;padding:0;background:none;text-align:center;
}
#information #information_box>li>.cat>a{
box-sizing:border-box;display:block;position:static;float:none;width:auto;
margin:0;padding:4px 10px;border:1px solid #d5e7d9;border-radius:4px;
background:#eaf4ed;color:#28623b;font-size:12px;font-weight:400;line-height:1.6;
}
#information #information_box>li>h4{
grid-column:3;grid-row:1;position:static;float:none;display:block;
width:auto;min-width:0;margin:0;padding:0;border:0;background:none;
font-size:16px;font-weight:400;line-height:1.8;
}
#information #information_box>li>h4>a{
position:relative;display:block;float:none;width:auto;
margin:0;padding:0 24px 0 0;background:none;color:#243c2c;line-height:1.8;
overflow-wrap:anywhere;text-decoration:none;
}
#information #information_box>li>h4>a::before{content:none}
#information #information_box>li>h4>a::after{
content:"";position:absolute;right:6px;top:50%;display:block;
width:7px;height:7px;margin-top:-4px;border:0;
border-top:1px solid #538061;border-right:1px solid #538061;
background:none;transform:rotate(45deg);
}
#information #information_box>li>h4>a:hover{color:#227137;text-decoration:underline;text-underline-offset:4px}
#information #information_box a:focus-visible{outline:2px solid #28623b;outline-offset:4px}
@media(max-width:700px){
#information>.content:not(.manager_blog)>h3{font-size:24px;gap:12px}
#information #information_box>li{
grid-template-columns:max-content max-content;justify-content:start;gap:10px 14px;padding:20px 0;
}
#information #information_box>li>.post_date{grid-column:1;grid-row:1;font-size:13px}
#information #information_box>li>.cat{grid-column:2;grid-row:1}
#information #information_box>li>h4{grid-column:1 / -1;grid-row:2;font-size:15px}
}
/* 既存テーマのカテゴリ幅・リンク装飾を確実に解除する。 */
body#main #information #information_box>li{
display:grid!important;grid-template-columns:180px 90px minmax(0,1fr);
align-items:center;column-gap:24px;position:relative!important;
width:100%!important;height:auto!important;min-height:0!important;
padding:24px 0!important;background:none!important;
}
body#main #information #information_box>li>.cat,
body#main #information #information_box>li>.post_date,
body#main #information #information_box>li>h4{
position:static!important;float:none!important;box-sizing:border-box;
width:auto!important;max-width:100%!important;height:auto!important;
margin:0!important;min-width:0;
}
body#main #information #information_box>li>.cat{
padding:0!important;background:none!important;justify-self:start;
}
body#main #information #information_box>li>.cat>a{
box-sizing:border-box;position:static!important;display:inline-block!important;
float:none!important;width:auto!important;min-width:0!important;max-width:100%!important;
height:auto!important;margin:0!important;padding:4px 12px!important;
border:1px solid #d5e7d9!important;border-radius:4px!important;
background:#eaf4ed!important;color:#28623b!important;
font-size:12px!important;line-height:1.6!important;white-space:nowrap;
text-align:center!important;text-decoration:none!important;
}
body#main #information #information_box>li>h4{
padding:0!important;border:0!important;background:none!important;
font-size:16px!important;font-weight:400!important;
}
body#main #information #information_box>li>h4>a{
box-sizing:border-box;position:relative!important;display:block!important;
width:100%!important;height:auto!important;min-height:0!important;
margin:0!important;padding:0 24px 0 0!important;
background:none!important;font-size:16px!important;line-height:1.8!important;
}
body#main #information #information_box>li>.post_date{
padding:0!important;font-size:14px!important;white-space:nowrap;
}
body#main #information #information_box>li::before,
body#main #information #information_box>li::after,
body#main #information #information_box>li a::before,
body#main #information #information_box>li a::after{
content:none!important;display:none!important;
}
body#main #information #information_box>li>h4>a::after{
content:""!important;display:block!important;position:absolute!important;
right:4px!important;top:50%!important;width:7px!important;height:7px!important;
margin:-4px 0 0!important;padding:0!important;
border:0!important;border-top:1px solid #538061!important;
border-right:1px solid #538061!important;background:none!important;
transform:rotate(45deg);
}
body#main #information>.content:not(.manager_blog)>h3>a::before,
body#main #information>.content:not(.manager_blog)>h3>a::after{
content:none!important;display:none!important;
}
@media(max-width:700px){
body#main #information #information_box>li{
grid-template-columns:minmax(0,max-content) max-content;
column-gap:14px;row-gap:12px;padding:20px 0!important;
}
body#main #information #information_box>li>.post_date{font-size:13px!important}
body#main #information #information_box>li>h4{
grid-column:1 / -1;grid-row:2;
}
body#main #information #information_box>li>h4>a{font-size:15px!important}
}
/* 法人・行政向け工事：説明を読みやすい2列カードに整理。 */
body#main #services01 .services_content>h3{
margin:0 0 28px!important;padding:0 0 20px!important;
font-size:30px!important;font-weight:700!important;line-height:1.5!important;
color:#214d30!important;
}
body#main #services01 .services_content>p{
text-align:left!important;margin:0 0 28px!important;
}
body#main #services01 .business_content{
display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));
gap:20px!important;margin:28px 0!important;padding:0!important;list-style:none;
}
body#main #services01 .business_content::before,
body#main #services01 .business_content::after{content:none!important;display:none!important}
body#main #services01 .business_content>li{
box-sizing:border-box!important;position:relative!important;float:none!important;
display:block!important;width:auto!important;min-width:0;height:auto!important;
margin:0!important;padding:24px 26px!important;
border:1px solid #d7e5da!important;border-radius:8px!important;
border-top:3px solid #36a34c!important;background:#f8fbf8!important;
text-align:left!important;scroll-margin-top:100px;
}
body#main #services01 .business_content>li>a{
position:static!important;display:block!important;width:auto!important;height:auto!important;
margin:0 0 12px!important;padding:0!important;border:0!important;
background:none!important;color:#28623b!important;
font-size:20px!important;font-weight:700!important;line-height:1.6!important;
text-align:left!important;text-decoration:none;
}
body#main #services01 .business_content>li::before,
body#main #services01 .business_content>li::after,
body#main #services01 .business_content>li>a::before,
body#main #services01 .business_content>li>a::after{
content:none!important;display:none!important;
}
body#main #services01 .business_content>li>p{
width:auto!important;height:auto!important;margin:0!important;padding:0!important;
text-align:left!important;font-size:16px!important;font-weight:400!important;
line-height:1.95!important;color:#35483b;letter-spacing:normal!important;
}
body#main #services01 .services_content>.bt_box{
position:static!important;float:none!important;width:auto!important;height:auto!important;
margin:28px 0 0!important;padding:0!important;text-align:center!important;
}
body#main #services01 .services_content>.bt_box>a{
box-sizing:border-box;position:static!important;display:inline-flex!important;
align-items:center;justify-content:center;float:none!important;
width:auto!important;height:auto!important;min-height:48px;
margin:0!important;padding:12px 28px!important;
border:1px solid #28623b!important;border-radius:5px!important;
background:#28623b!important;color:#fff!important;
font-size:16px!important;line-height:1.5!important;transform:none!important;
}
body#main #services01 .services_content>.bt_box>a::before,
body#main #services01 .services_content>.bt_box>a::after{content:none!important;display:none!important}
body#main #services01 .services_content>.bt_box>a>span{
position:static!important;display:block!important;margin:0!important;padding:0!important;
color:inherit!important;line-height:1.5!important;transform:none!important;
}
body#main #services01 .services_content>.bt_box>a br{display:none}
body#main #services01 .services_content>.bt_box>a:hover{background:#1c4d2c!important}
@media(max-width:650px){
body#main #services01 .business_content{grid-template-columns:1fr;gap:14px!important}
body#main #services01 .business_content>li{padding:20px!important}
body#main #services01 .business_content>li>a{font-size:18px!important}
body#main #services01 .business_content>li>p{font-size:15px!important}
body#main #services01 .services_content>h3{font-size:25px!important}
}
/* 施工事例の導線を1つに整理し、テーマの黒い帯を解除。 */
body#main #services01 .services_content>.bt_box{
display:flex!important;align-items:center!important;justify-content:center!important;
position:static!important;float:none!important;clear:both!important;
width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;
margin:28px 0 0!important;padding:0!important;border:0!important;
border-radius:0!important;background:none!important;box-shadow:none!important;
overflow:visible!important;
}
body#main #services01 .services_content>.bt_box::before,
body#main #services01 .services_content>.bt_box::after{
content:none!important;display:none!important;
}
body#main #services01 .services_content>.bt_box>a{
flex:0 1 280px!important;width:280px!important;max-width:100%!important;
min-height:50px!important;padding:14px 24px!important;
border-radius:5px!important;overflow:hidden!important;box-shadow:none!important;
}
body#main #services01 .services_content>.bt_box>a>span{
width:auto!important;height:auto!important;background:none!important;border:0!important;
}
body#main #services01 .services_content>.bt_box>a>span::before,
body#main #services01 .services_content>.bt_box>a>span::after{
content:none!important;display:none!important;
}
/* 事例が未取得・0件の場合も、下の一覧ボタンで既存事例へ案内する。 */
body#main #services01 #slider:has(>ul>li:only-child:not(:has(img))){
display:none!important;
}
body#main #services01 .business_content{margin-bottom:0!important}
@media(max-width:650px){
body#main #services01 .services_content>.bt_box{margin-top:24px!important}
}
/* 法人・行政向け：施工事例と問い合わせを並べて案内。 */
body#main #services01 .services_content>.bt_box{gap:16px!important;flex-wrap:wrap!important}
body#main #services01 .services_content>.bt_box>a.corporate-contact{
background:#fff!important;color:#28623b!important;
}
body#main #services01 .services_content>.bt_box>a.corporate-contact:hover{
background:#eaf4ed!important;
}
body#main #services01 .services_content>.bt_box>a:focus-visible{
outline:3px solid #70a67e;outline-offset:4px;
}
@media(max-width:650px){
body#main #services01 .services_content>.bt_box{flex-direction:column!important;gap:12px!important}
body#main #services01 .services_content>.bt_box>a{flex:0 0 auto!important;width:280px!important}
}
/* 個人のお客様：事業紹介カードと共通の2ボタン。 */
body#main #services02 .services02_contant{
display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));
gap:24px;margin:32px 0 0!important;padding:0!important;list-style:none;
}
body#main #services02 .services02_contant::before,
body#main #services02 .services02_contant::after{content:none!important;display:none!important}
body#main #services02 .services02_contant>li{
box-sizing:border-box;display:flex!important;flex-direction:column;float:none!important;
position:relative!important;width:auto!important;height:auto!important;min-width:0;
margin:0!important;padding:28px!important;border:1px solid #e0e5df;
border-top:4px solid #f3b710;border-radius:8px;background:#fff;
}
body#main #services02 .services02_contant>li#suisai{border-top-color:#05a6d1}
body#main #services02 .services02_contant>li>h4{
position:static!important;margin:0 0 20px!important;padding:0!important;
background:none!important;border:0!important;font-size:24px!important;
line-height:1.6!important;text-align:left!important;font-weight:700!important;
}
body#main #services02 .services02_contant>li>h4 span{
position:static!important;background:none!important;padding:0!important;
}
body#main #services02 .services02_contant>li>h4::before,
body#main #services02 .services02_contant>li>h4::after,
body#main #services02 .services02_contant>li>h4 span::before,
body#main #services02 .services02_contant>li>h4 span::after{content:none!important;display:none!important}
body#main #services02 .business_content_tit{
display:flex!important;flex-wrap:wrap;gap:8px;margin:0 0 20px!important;padding:0!important;
}
body#main #services02 .business_content_tit dd{
float:none!important;width:auto!important;margin:0!important;padding:5px 10px!important;
border:0!important;border-radius:4px;background:#f3f5f1!important;
font-size:13px!important;line-height:1.6!important;
}
body#main #services02 .business_content_tit dd::after,
body#main #services02 .business_content_tit dd::before{content:none!important;display:none!important}
body#main #services02 .services02_contant>li>p{
margin:0 0 20px!important;padding:0!important;text-align:left!important;
}
body#main #services02 .services02_contant>li>.result:not(:has(.result_box)){display:none!important}
body#main #services02 .services02_contant>li>h5{
display:flex;align-items:center;justify-content:center;box-sizing:border-box;
width:100%!important;min-height:110px;height:110px!important;
margin:auto 0 20px!important;padding:16px 0!important;background:none!important;
}
body#main #services02 .services02_contant>li>h5 img{
display:block;width:auto!important;height:auto!important;max-width:100%!important;
max-height:78px!important;object-fit:contain;
}
body#main #services02 .personal-actions{
display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;
width:100%;margin:0;padding:0;background:none;
}
body#main #services02 .personal-actions>.personal-button{
box-sizing:border-box;position:static!important;display:flex!important;
align-items:center;justify-content:center;float:none!important;
width:100%!important;height:auto!important;min-height:48px;
margin:0!important;padding:12px 10px!important;
border:1px solid #28623b!important;border-radius:5px!important;
background:#28623b!important;color:#fff!important;font-size:15px!important;
font-weight:600!important;line-height:1.5!important;text-align:center;text-decoration:none;
}
body#main #services02 .personal-actions>.personal-contact{background:#fff!important;color:#28623b!important}
body#main #services02 .personal-actions a::before,
body#main #services02 .personal-actions a::after{content:none!important;display:none!important}
body#main #services02 .personal-actions a:hover{background:#1c4d2c!important;color:#fff!important}
body#main #services02 .personal-actions a:focus-visible{outline:3px solid #70a67e;outline-offset:4px}
@media(max-width:800px){
body#main #services02 .services02_contant{grid-template-columns:1fr}
body#main #services02 .services02_contant>li{padding:24px!important}
body#main #services02 .services02_contant>li>h4{font-size:22px!important}
}
@media(max-width:400px){
body#main #services02 .personal-actions{grid-template-columns:1fr}
}
/* 法人・個人のお客様のセクション見出しを共通化。 */
body#main #services01 .services_content>h3,
body#main #services02>.content>h3{
position:relative!important;display:block!important;width:100%!important;height:auto!important;
box-sizing:border-box;margin:0 0 28px!important;padding:0 0 44px!important;
border:0!important;background:none!important;box-shadow:none!important;
font-family:var(--site-font-family)!important;
font-size:30px!important;font-weight:700!important;font-style:normal!important;
line-height:1.5!important;letter-spacing:normal!important;
color:#214d30!important;text-align:center!important;
}
body#main #services01 .services_content>h3::before,
body#main #services02>.content>h3::before{
content:none!important;display:none!important;
}
body#main #services01 .services_content>h3::after,
body#main #services02>.content>h3::after{
content:""!important;display:block!important;position:absolute!important;
left:50%!important;right:auto!important;top:auto!important;bottom:0!important;
width:60px!important;height:5px!important;margin:0!important;padding:0!important;
border:0!important;border-radius:3px!important;background:#22ac38!important;
transform:translateX(-50%)!important;
}
@media(max-width:650px){
body#main #services01 .services_content>h3,
body#main #services02>.content>h3{
font-size:25px!important;padding-bottom:32px!important;
}
}
/* ヘッダーナビ：文字と余白を控えめにして一覧性を確保。 */
@media(min-width:1001px){
body#main #header #menu-headquarters_menu{
display:flex!important;align-items:center!important;justify-content:flex-end!important;
gap:20px!important;list-style:none;
}
body#main #header #menu-headquarters_menu>li{
float:none!important;flex:0 0 auto;margin:0!important;padding:0!important;
width:auto!important;
}
body#main #header #menu-headquarters_menu>li>a{
box-sizing:border-box;display:block!important;position:relative;
margin:0!important;padding:10px 2px 12px!important;
font-size:15px!important;font-weight:600!important;
line-height:1.5!important;letter-spacing:.02em!important;
color:#26382b!important;white-space:nowrap;text-decoration:none!important;
border:0!important;border-bottom:2px solid transparent!important;
background:none!important;
}
body#main #header #menu-headquarters_menu>li.current-menu-item>a,
body#main #header #menu-headquarters_menu>li>a:hover{
color:#229a38!important;border-bottom-color:#22ac38!important;
}
body#main #header #menu-headquarters_menu>li>a:focus-visible{
outline:2px solid #229a38;outline-offset:3px;
}
}
@media(min-width:1001px) and (max-width:1200px){
body#main #header #menu-headquarters_menu{gap:14px!important}
body#main #header #menu-headquarters_menu>li>a{font-size:14px!important}
}
@media(max-width:1000px){
body#main #header #menu-headquarters_menu>li>a{
font-size:15px!important;line-height:1.6!important;
}
}
/* ナビの下線はリンクのborder-bottomのみを使用。 */
body#main #header #menu-headquarters_menu>li,
body#main #header #menu-headquarters_menu>li:hover{
border-bottom:0!important;background-image:none!important;box-shadow:none!important;
}
body#main #header #menu-headquarters_menu>li::before,
body#main #header #menu-headquarters_menu>li::after,
body#main #header #menu-headquarters_menu>li>a::before,
body#main #header #menu-headquarters_menu>li>a::after{
content:none!important;display:none!important;
}
body#main #header #menu-headquarters_menu>li>a{
box-shadow:none!important;text-decoration:none!important;background-image:none!important;
}
/* 拠点案内：地図・住所・問い合わせをカード内にまとめる。 */
body#main #footer #access{
height:auto!important;min-height:0!important;margin:0!important;
padding:44px 24px!important;background:#edf4ef!important;
overflow:visible!important;
}
body#main #footer #access .access_wrapper{
box-sizing:border-box;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));
gap:24px;width:100%!important;max-width:1100px!important;
height:auto!important;margin:0 auto!important;padding:0!important;overflow:visible!important;
}
body#main #footer #access .access_wrapper::before,
body#main #footer #access .access_wrapper::after{content:none!important;display:none!important}
body#main #footer #access .access_wrapper>.content{
box-sizing:border-box;position:static!important;float:none!important;
display:flex!important;flex-direction:column;width:100%!important;min-width:0;
height:auto!important;margin:0!important;padding:0!important;
border:1px solid #dce6de;border-radius:10px;background:#fff!important;
overflow:hidden!important;
}
body#main #footer #access iframe{
box-sizing:border-box;position:static!important;display:block!important;
float:none!important;width:100%!important;height:250px!important;
margin:0!important;border:0!important;
}
body#main #footer #access .ad{
box-sizing:border-box;position:static!important;float:none!important;
display:flex!important;flex-direction:column;flex:1;
width:100%!important;height:auto!important;margin:0!important;
padding:24px!important;background:#fff!important;color:#35483b!important;
}
body#main #footer #access .ad .shop_name{
margin:0 0 12px!important;padding:0!important;
color:#214d30!important;font-size:22px!important;font-weight:700!important;line-height:1.5!important;
}
body#main #footer #access .ad .shop_access{
margin:0 0 10px!important;padding:0!important;color:#35483b!important;
font-size:15px!important;line-height:1.8!important;overflow-wrap:anywhere;
}
body#main #footer #access .ad .post_code{display:block}
body#main #footer #access .ad .shop_tel{
margin:0 0 20px!important;padding:0!important;color:#35483b!important;
font-size:15px!important;line-height:1.8!important;
}
body#main #footer #access .ad .contact_bt{
position:static!important;float:none!important;display:block!important;
width:100%!important;height:auto!important;min-height:0!important;
margin:auto 0 0!important;padding:0!important;border:0!important;
border-radius:0!important;background:none!important;overflow:visible!important;
}
body#main #footer #access .ad .contact_bt a{
box-sizing:border-box;position:static!important;display:flex!important;
align-items:center;justify-content:center;gap:12px;
width:100%!important;height:auto!important;min-height:48px;
margin:0!important;padding:12px 16px!important;border:1px solid #28623b!important;
border-radius:5px!important;background:#fff!important;color:#28623b!important;
font-size:13px!important;line-height:1.6!important;text-align:center!important;
text-decoration:none!important;transform:none!important;
}
body#main #footer #access .ad .contact_bt a span{
position:static!important;display:inline!important;width:auto!important;
margin:0!important;padding:0!important;color:inherit!important;
font-size:15px!important;font-weight:600!important;line-height:1.6!important;
}
body#main #footer #access .contact_bt::before,
body#main #footer #access .contact_bt::after,
body#main #footer #access .contact_bt a::before,
body#main #footer #access .contact_bt a::after{content:none!important;display:none!important}
body#main #footer #access .contact_bt a:hover{background:#eaf4ed!important}
body#main #footer #access .contact_bt a:focus-visible{outline:3px solid #70a67e;outline-offset:3px}
@media(max-width:700px){
body#main #footer #access{padding:28px 16px!important}
body#main #footer #access .access_wrapper{grid-template-columns:1fr;gap:20px}
body#main #footer #access .ad{padding:20px!important}
body#main #footer #access iframe{height:220px!important}
}
/* フッター：会社情報と取り組みを整理した共通レイアウト。 */
body#main #footer .footer_wrapper{
box-sizing:border-box;width:100%!important;height:auto!important;
margin:0!important;padding:0 24px 36px!important;background:#fff!important;
}
body#main #footer #menu-headquarters_menu-1{
display:flex!important;flex-wrap:wrap;justify-content:center;gap:8px 28px;
box-sizing:border-box;max-width:1100px;width:100%!important;
margin:0 auto!important;padding:24px 0!important;
border-bottom:1px solid #e0e7e1;list-style:none;
}
body#main #footer #menu-headquarters_menu-1>li{
float:none!important;width:auto!important;margin:0!important;padding:0!important;border:0!important;
}
body#main #footer #menu-headquarters_menu-1>li::before,
body#main #footer #menu-headquarters_menu-1>li::after{content:none!important;display:none!important}
body#main #footer #menu-headquarters_menu-1 a{
display:block;padding:4px 0!important;color:#355e42!important;
font-size:14px!important;line-height:1.6!important;text-decoration:none;
}
body#main #footer .footer_wrapper>.content{
box-sizing:border-box;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);
gap:28px 48px;align-items:start;max-width:1100px!important;
width:100%!important;height:auto!important;margin:0 auto!important;padding:32px 0 0!important;
}
body#main #footer .footer_wrapper>.content::before,
body#main #footer .footer_wrapper>.content::after{content:none!important;display:none!important}
body#main #footer .footer_wrapper .company_info,
body#main #footer .footer_wrapper .torikumi{
position:static!important;float:none!important;width:100%!important;
height:auto!important;margin:0!important;padding:0!important;
}
body#main #footer .footer_wrapper .company_info .shop_name{
margin:0 0 14px!important;color:#214d30!important;font-size:24px!important;
font-weight:700!important;line-height:1.6!important;
}
body#main #footer .footer_wrapper .company_info .shop_access{
margin:0 0 12px!important;font-size:14px!important;line-height:1.9!important;color:#526156;
}
body#main #footer .footer_wrapper .company_info .tel_contact{
margin:0!important;padding:0!important;font-size:23px!important;
font-weight:600!important;line-height:1.6!important;
}
body#main #footer .footer_wrapper .company_info .tel_contact a{color:#214d30!important}
body#main #footer .footer_wrapper .torikumi_logo{
display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;
width:100%!important;margin:0!important;padding:0!important;list-style:none;
}
body#main #footer .footer_wrapper .torikumi_logo>li{
float:none!important;box-sizing:border-box;width:auto!important;
height:auto!important;margin:0!important;padding:0!important;text-align:center;
}
body#main #footer .footer_wrapper .torikumi_logo>li:first-child{grid-column:1 / -1;text-align:left}
body#main #footer .footer_wrapper .torikumi_logo h3{
height:auto!important;margin:0!important;padding:0!important;
border:0!important;background:none!important;font-size:16px!important;
font-weight:700!important;line-height:1.6!important;color:#355e42!important;text-align:left;
}
body#main #footer .footer_wrapper .torikumi_logo h3::before,
body#main #footer .footer_wrapper .torikumi_logo h3::after{content:none!important;display:none!important}
body#main #footer .footer_wrapper .torikumi_logo img{
display:block;width:100%!important;height:83px!important;object-fit:contain;
margin:0 auto 8px!important;
}
body#main #footer .footer_wrapper .torikumi_logo p{
margin:0!important;padding:0!important;font-size:12px!important;
line-height:1.7!important;color:#526156!important;
}
body#main #footer .footer_wrapper>.content>.contact_btn{
box-sizing:border-box;grid-column:1;grid-row:2;justify-self:start;
position:static!important;float:none!important;display:flex!important;
align-items:center;justify-content:center;width:auto!important;max-width:100%;
height:auto!important;min-height:48px;margin:0!important;padding:12px 24px!important;
border:1px solid #28623b!important;border-radius:5px!important;
background:#28623b!important;color:#fff!important;transform:none!important;
}
body#main #footer .footer_wrapper>.content>.contact_btn::before,
body#main #footer .footer_wrapper>.content>.contact_btn::after,
body#main #footer .footer_wrapper>.content>.contact_btn span::before,
body#main #footer .footer_wrapper>.content>.contact_btn span::after{
content:none!important;display:none!important;
}
body#main #footer .footer_wrapper>.content>.contact_btn span,
body#main #footer .footer_wrapper>.content>.contact_btn em{
position:static!important;display:inline!important;width:auto!important;
height:auto!important;margin:0!important;padding:0!important;background:none!important;
font-size:15px!important;font-style:normal!important;line-height:1.6!important;color:#fff!important;
}
body#main #footer .footer_wrapper>.content>.contact_btn em{margin-left:12px!important}
body#main #footer .footer_wrapper>.content>.contact_btn br{display:none}
body#main #footer .footer_wrapper>.content>.contact_btn:hover{background:#1c4d2c!important}
body#main #footer #copyright{
box-sizing:border-box;margin:0!important;padding:18px 16px!important;
background:#f3f6f3!important;color:#647069!important;
font-size:12px!important;line-height:1.7!important;text-align:center;
}
@media(max-width:700px){
body#main #footer .footer_wrapper{padding:0 20px 28px!important}
body#main #footer #menu-headquarters_menu-1{gap:8px 20px}
body#main #footer .footer_wrapper>.content{grid-template-columns:1fr;gap:28px;padding-top:28px!important}
body#main #footer .footer_wrapper>.content>.contact_btn{grid-column:1;grid-row:auto;justify-self:stretch}
body#main #footer .footer_wrapper .torikumi_logo img{height:72px!important}
body#main #footer .footer_wrapper .company_info .shop_name{font-size:22px!important}
}
/* フッターメニュー：テーマ由来の縦線を除き、均等な余白に整理。 */
body#main #footer #menu-headquarters_menu-1{
display:flex!important;align-items:center!important;justify-content:center!important;
flex-wrap:wrap!important;gap:8px!important;padding:20px 0!important;
}
body#main #footer #menu-headquarters_menu-1>li,
body#main #footer #menu-headquarters_menu-1>li>a{
position:static!important;float:none!important;width:auto!important;height:auto!important;
min-height:0!important;margin:0!important;border:0!important;
background:none!important;box-shadow:none!important;
}
body#main #footer #menu-headquarters_menu-1>li{padding:0!important}
body#main #footer #menu-headquarters_menu-1>li>a{
display:block!important;padding:10px 18px!important;border-radius:4px!important;
font-size:14px!important;font-weight:400!important;line-height:1.6!important;
letter-spacing:normal!important;color:#355e42!important;text-decoration:none!important;
}
body#main #footer #menu-headquarters_menu-1::before,
body#main #footer #menu-headquarters_menu-1::after,
body#main #footer #menu-headquarters_menu-1>li::before,
body#main #footer #menu-headquarters_menu-1>li::after,
body#main #footer #menu-headquarters_menu-1>li>a::before,
body#main #footer #menu-headquarters_menu-1>li>a::after{
content:none!important;display:none!important;
}
body#main #footer #menu-headquarters_menu-1>li>a:hover{
background:#edf4ef!important;color:#1c4d2c!important;
}
body#main #footer #menu-headquarters_menu-1>li>a:focus-visible{
outline:2px solid #28623b;outline-offset:2px;
}
@media(max-width:600px){
body#main #footer #menu-headquarters_menu-1{
display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px!important;
}
body#main #footer #menu-headquarters_menu-1>li>a{
padding:10px 4px!important;font-size:13px!important;text-align:center;
}
}
/* フッター会社情報をコンパクトにする。 */
body#main #footer .footer_wrapper>.content{
row-gap:14px!important;padding-top:24px!important;
}
body#main #footer .footer_wrapper .company_info .shop_name{
min-height:0!important;margin:0 0 8px!important;padding-top:0!important;
padding-bottom:0!important;line-height:1.35!important;
}
body#main #footer .footer_wrapper .company_info .shop_access{
margin:0 0 8px!important;padding:0!important;line-height:1.5!important;
}
body#main #footer .footer_wrapper .company_info .tel_contact{
margin:0!important;padding:0!important;line-height:1.25!important;
}
body#main #footer .footer_wrapper>.content>.contact_btn{
margin:0!important;min-height:42px!important;padding:9px 20px!important;
}
body#main #footer .footer_wrapper>.content>.contact_btn span,
body#main #footer .footer_wrapper>.content>.contact_btn em{
line-height:1.4!important;
}
/* 問い合わせボタンを会社情報の直下へ配置。 */
@media(min-width:701px){
body#main #footer .footer_wrapper>.content{
grid-template-rows:auto auto;align-content:start!important;
}
body#main #footer .footer_wrapper>.content>.company_info{
grid-column:1;grid-row:1;
}
body#main #footer .footer_wrapper>.content>.torikumi{
grid-column:2;grid-row:1 / span 2;
}
body#main #footer .footer_wrapper>.content>.contact_btn{
grid-column:1;grid-row:2;align-self:start!important;
}
}
/* フッター：参照画像に合わせた横一列のバランス。 */
@media(min-width:1001px){
body#main #footer .footer_wrapper>.content{
display:grid!important;grid-template-columns:minmax(260px,1.15fr) minmax(0,2fr) 132px!important;
grid-template-rows:auto!important;gap:24px!important;align-items:center!important;
max-width:1280px!important;padding:28px 0 0!important;
}
body#main #footer .footer_wrapper>.content>.company_info{
grid-column:1!important;grid-row:1!important;align-self:center;
}
body#main #footer .footer_wrapper .company_info .shop_name{
font-size:21px!important;margin-bottom:8px!important;
}
body#main #footer .footer_wrapper .company_info .shop_access{
font-size:12px!important;line-height:1.65!important;
}
body#main #footer .footer_wrapper .company_info .tel_contact{
font-size:23px!important;font-weight:400!important;
}
body#main #footer .footer_wrapper>.content>.torikumi{
grid-column:2!important;grid-row:1!important;align-self:center;
}
body#main #footer .footer_wrapper .torikumi_logo{
grid-template-columns:minmax(100px,1.1fr) repeat(3,minmax(0,1fr))!important;
gap:16px!important;align-items:start!important;
}
body#main #footer .footer_wrapper .torikumi_logo>li:first-child{
grid-column:auto!important;display:flex;align-items:center;justify-content:center;
align-self:stretch;padding:0!important;
border-top:1px solid #a3aca5;border-bottom:1px solid #a3aca5;
}
body#main #footer .footer_wrapper .torikumi_logo h3{
font-size:14px!important;text-align:center!important;white-space:nowrap;
}
body#main #footer .footer_wrapper .torikumi_logo img{
height:112px!important;width:100%!important;object-fit:contain;
}
body#main #footer .footer_wrapper .torikumi_logo p{
font-size:10px!important;line-height:1.5!important;
}
body#main #footer .footer_wrapper>.content>.contact_btn{
grid-column:3!important;grid-row:1!important;align-self:center!important;
justify-self:stretch!important;flex-direction:column!important;
width:132px!important;height:132px!important;min-height:0!important;
padding:16px 10px!important;border:0!important;border-radius:0!important;
background:#214d30!important;text-align:center!important;
}
body#main #footer .footer_wrapper>.content>.contact_btn span{
display:block!important;font-size:18px!important;font-weight:700!important;
}
body#main #footer .footer_wrapper>.content>.contact_btn em{
display:block!important;margin:8px 0 0!important;font-size:11px!important;font-weight:400!important;
}
body#main #footer .footer_wrapper>.content>.contact_btn br{display:block}
}
@media(min-width:701px) and (max-width:1000px){
body#main #footer .footer_wrapper>.content{
grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)!important;
}
body#main #footer .footer_wrapper>.content>.company_info{grid-column:1!important;grid-row:1!important}
body#main #footer .footer_wrapper>.content>.torikumi{grid-column:2!important;grid-row:1 / span 2!important}
body#main #footer .footer_wrapper>.content>.contact_btn{grid-column:1!important;grid-row:2!important}
}
/* テーマのfloat・位置指定を解除し、フッター全体を中央に配置。 */
body#main #footer,
body#main #footer .footer_wrapper{
box-sizing:border-box!important;float:none!important;clear:both!important;
position:relative!important;left:auto!important;right:auto!important;
width:100%!important;max-width:none!important;
margin-left:auto!important;margin-right:auto!important;
transform:none!important;
}
body#main #footer .footer_wrapper>.content,
body#main #footer #menu-headquarters_menu-1{
box-sizing:border-box!important;float:none!important;clear:both!important;
position:relative!important;left:auto!important;right:auto!important;
width:100%!important;margin-left:auto!important;margin-right:auto!important;
transform:none!important;
}
body#main #footer .footer_wrapper>.content{max-width:1280px!important}
body#main #footer #menu-headquarters_menu-1{max-width:1280px!important}
/* 工事カード：太い上罫線をなくし、説明の下に矢印リンクを配置。 */
body#main #services01 .business_content>li{
display:flex!important;flex-direction:column!important;
border:1px solid #d7e5da!important;
}
body#main #services01 .business_content>li>.service-card-title{
margin:0 0 12px!important;padding:0!important;border:0!important;
background:none!important;color:#28623b!important;
font-size:20px!important;font-weight:700!important;line-height:1.6!important;
text-align:left!important;
}
body#main #services01 .business_content>li>.service-card-title::before,
body#main #services01 .business_content>li>.service-card-title::after{content:none!important;display:none!important}
body#main #services01 .business_content>li>p{margin-bottom:20px!important}
body#main #services01 .business_content>li>a.service-card-link{
display:inline-flex!important;align-items:center!important;justify-content:space-between!important;
align-self:flex-end!important;gap:20px!important;width:auto!important;min-height:44px;
margin:auto 0 0!important;padding:8px 8px 8px 16px!important;
border:1px solid #c6dbcc!important;border-radius:24px!important;
background:#fff!important;color:#28623b!important;
font-size:14px!important;font-weight:600!important;line-height:1.5!important;
text-decoration:none!important;
}
body#main #services01 .service-card-link .service-link-arrow{
display:flex;align-items:center;justify-content:center;
width:28px;height:28px;border-radius:50%;
background:#28623b;color:#fff;font-size:18px;line-height:1;
}
body#main #services01 .business_content>li>a.service-card-link:hover{background:#eaf4ed!important;border-color:#28623b!important}
body#main #services01 .service-card-link:focus-visible{outline:3px solid #70a67e;outline-offset:4px}
@media(max-width:650px){
body#main #services01 .business_content>li>.service-card-title{font-size:18px!important}
}
/* 工事カードの写真枠。実際の施工写真へ差し替え可能。 */
body#main #services01 .business_content>li>.service-card-image{
box-sizing:border-box;display:block!important;float:none!important;
width:100%!important;max-width:100%!important;height:auto!important;
aspect-ratio:16 / 9;object-fit:cover;
margin:0 0 20px!important;padding:0!important;border:0!important;
border-radius:5px;background:#e7eee9;
}
/* 個人向けカードも太い上罫線を外し、タイトル上に写真枠を配置。 */
body#main #services02 .services02_contant>li,
body#main #services02 .services02_contant>li#suisai{
border:1px solid #e0e5df!important;
}
body#main #services02 .services02_contant>li>.personal-card-image{
box-sizing:border-box;display:block!important;float:none!important;flex-shrink:0;
width:100%!important;max-width:100%!important;height:auto!important;
aspect-ratio:16 / 9;object-fit:cover;
margin:0 0 20px!important;padding:0!important;border:0!important;
border-radius:5px;background:#e7eee9;
}
/* 上部の事業メニューと対応する色で個人向けカードを統一。 */
body#main #services02 #shiawase{
--business-color:#f9b90b;--business-ink:#745100;--business-soft:#fff8e5;
--business-border:#eadba9;--business-button-text:#362800;
}
body#main #services02 #suisai{
--business-color:#00a7d5;--business-ink:#006680;--business-soft:#eaf8fc;
--business-border:#bddfea;--business-button-text:#fff;
}
body#main #services02 .services02_contant>li{
border:1px solid var(--business-border)!important;
background:#fff!important;border-radius:10px!important;
}
body#main #services02 .services02_contant>li>h4,
body#main #services02 .services02_contant>li>h4>span{
font-size:24px!important;font-weight:700!important;line-height:1.5!important;
letter-spacing:normal!important;color:var(--business-ink)!important;
}
body#main #services02 .services02_contant>li>h4{
min-height:72px;display:flex;align-items:center;
margin:0 0 18px!important;
}
body#main #services02 .business_content_tit{
justify-content:flex-start!important;align-content:flex-start;min-height:72px;
gap:8px!important;
}
body#main #services02 .business_content_tit dd{
background:var(--business-soft)!important;color:var(--business-ink)!important;
border:1px solid var(--business-border)!important;border-radius:4px;
font-size:13px!important;line-height:1.5!important;padding:5px 10px!important;
}
body#main #services02 .services02_contant>li>p{
color:#35483b!important;line-height:1.95!important;
}
body#main #services02 .personal-actions>.personal-button{
background:var(--business-color)!important;
border-color:var(--business-color)!important;
color:var(--business-button-text)!important;
}
body#main #services02 .personal-actions>.personal-button span{color:inherit!important}
body#main #services02 .personal-actions>.personal-contact{
background:#fff!important;border-color:var(--business-border)!important;
color:var(--business-ink)!important;
}
body#main #services02 .personal-actions>.personal-button:hover{
background:var(--business-soft)!important;border-color:var(--business-color)!important;
color:var(--business-ink)!important;
}
body#main #services02 .personal-actions a:focus-visible{
outline:3px solid var(--business-ink);outline-offset:4px;
}
@media(max-width:800px){
body#main #services02 .services02_contant>li>h4,
body#main #services02 .services02_contant>li>h4>span{font-size:22px!important}
body#main #services02 .services02_contant>li>h4{min-height:0}
body#main #services02 .business_content_tit{min-height:0}
}
/* 法人・行政向けは上部メニューの緑に対応させる。 */
body#main #services01{
--business-color:#20ab36;--business-ink:#216333;
--business-soft:#eef8f0;--business-border:#cfe4d3;
}
body#main #services01 .business_content>li{
background:#fff!important;border:1px solid var(--business-border)!important;
border-radius:10px!important;
}
body#main #services01 .business_content>li>.service-card-title{
color:var(--business-ink)!important;font-size:24px!important;line-height:1.5!important;
margin-bottom:18px!important;
}
body#main #services01 .business_content>li>a.service-card-link{
border-color:var(--business-border)!important;color:var(--business-ink)!important;
background:var(--business-soft)!important;
}
body#main #services01 .service-card-link .service-link-arrow{
background:var(--business-color)!important;color:#fff!important;
}
body#main #services01 .business_content>li>a.service-card-link:hover{
background:#e0f2e4!important;border-color:var(--business-color)!important;
}
body#main #services01 .services_content>.bt_box>a{
background:var(--business-color)!important;border-color:var(--business-color)!important;
color:#fff!important;
}
body#main #services01 .services_content>.bt_box>a.corporate-contact{
background:#fff!important;color:var(--business-ink)!important;
border-color:var(--business-border)!important;
}
body#main #services01 .services_content>.bt_box>a:hover{
background:var(--business-soft)!important;color:var(--business-ink)!important;
}
body#main #services01 #slider:has(.live-corporate>li:only-child:not(:has(img))){
display:none!important;
}
@media(max-width:650px){
body#main #services01 .business_content>li>.service-card-title{font-size:22px!important}
}
/* 会社紹介と理念の幅・余白・ボタンを整理。 */
body#main #company-overview{
box-sizing:border-box!important;width:100%!important;max-width:1100px!important;
margin:40px auto 0!important;padding:24px 24px 0!important;
}
body#main #company-overview #company-overview-title{
margin:0 0 24px!important;line-height:1.55!important;
}
body#main #company-overview>p{
margin:0!important;padding:0!important;color:#35483b!important;
}
body#main #About_us{
box-sizing:border-box!important;position:relative!important;
float:none!important;clear:both!important;width:100%!important;
height:auto!important;min-height:0!important;
margin:0!important;padding:32px 0 40px!important;background:none!important;
}
body#main #About_us>.content{
box-sizing:border-box!important;position:static!important;float:none!important;
width:100%!important;max-width:1100px!important;height:auto!important;min-height:0!important;
margin:0 auto!important;padding:28px 24px 0!important;
border:0!important;background:none!important;
}
body#main #About_us>.content>h3{
margin:0 0 18px!important;padding:0!important;line-height:1.6!important;
}
body#main #About_us>.content>p{
width:auto!important;min-height:0!important;height:auto!important;
margin:0 0 14px!important;padding:0!important;color:#35483b!important;
}
body#main #About_us .bt_box{
display:flex!important;align-items:center;justify-content:flex-start;
position:static!important;float:none!important;clear:both;
width:100%!important;height:auto!important;min-height:0!important;
margin:24px 0 0!important;padding:0!important;border:0!important;
border-radius:0!important;background:none!important;box-shadow:none!important;
}
body#main #About_us .bt_box>a{
box-sizing:border-box;position:static!important;float:none!important;
display:inline-flex!important;align-items:center;justify-content:center;
width:200px!important;max-width:100%!important;height:auto!important;
min-height:48px;margin:0!important;padding:12px 24px!important;
border:1px solid #28623b!important;border-radius:5px!important;
background:#fff!important;color:#28623b!important;
font-size:15px!important;line-height:1.5!important;text-decoration:none;
transform:none!important;
}
body#main #About_us .bt_box>a>span{
position:static!important;display:inline!important;width:auto!important;
height:auto!important;margin:0!important;padding:0!important;background:none!important;
color:inherit!important;font-size:inherit!important;line-height:inherit!important;
transform:none!important;
}
body#main #About_us .bt_box::before,
body#main #About_us .bt_box::after,
body#main #About_us .bt_box>a::before,
body#main #About_us .bt_box>a::after,
body#main #About_us .bt_box>a>span::before,
body#main #About_us .bt_box>a>span::after{content:none!important;display:none!important}
body#main #About_us .bt_box>a:hover{background:#edf4ef!important}
body#main #About_us .bt_box>a:focus-visible{outline:3px solid #70a67e;outline-offset:4px}
@media(max-width:600px){
body#main #company-overview{margin:24px auto 0!important;padding:20px 28px 0!important}
body#main #About_us{padding:24px 0 28px!important}
body#main #About_us>.content{padding:20px 28px 0!important}
}
/* ヘッダーお問い合わせ：他の導線と共通の緑・角丸デザイン。 */
body#main #header #contact.pc{
box-sizing:border-box!important;background:none!important;border:0!important;
box-shadow:none!important;
}
body#main #header #contact.pc>a.contact_btn{
box-sizing:border-box!important;position:relative!important;
display:flex!important;align-items:center!important;justify-content:center!important;
flex-direction:column!important;width:100%!important;height:100%!important;
min-height:72px;margin:0!important;padding:14px 12px!important;
border:1px solid #28623b!important;border-radius:6px!important;
background:#28623b!important;color:#fff!important;
box-shadow:none!important;overflow:hidden!important;
text-decoration:none!important;transform:none!important;
}
body#main #header #contact.pc>a.contact_btn>span{
position:static!important;display:block!important;width:auto!important;
height:auto!important;margin:0!important;padding:0!important;
background:none!important;color:inherit!important;
font-size:17px!important;font-weight:700!important;line-height:1.5!important;
letter-spacing:.04em!important;text-align:center!important;transform:none!important;
}
body#main #header #contact.pc>a.contact_btn em{
position:static!important;display:block!important;width:auto!important;
height:auto!important;margin:6px 0 0!important;padding:0!important;
background:none!important;color:inherit!important;
font-size:12px!important;font-style:normal!important;font-weight:400!important;
line-height:1.6!important;letter-spacing:normal!important;
}
body#main #header #contact.pc::before,
body#main #header #contact.pc::after,
body#main #header #contact.pc>a.contact_btn::before,
body#main #header #contact.pc>a.contact_btn::after,
body#main #header #contact.pc>a.contact_btn>span::before,
body#main #header #contact.pc>a.contact_btn>span::after{
content:none!important;display:none!important;
}
body#main #header #contact.pc>a.contact_btn:hover{background:#1c4d2c!important}
body#main #header #contact.pc>a.contact_btn:focus-visible{
outline:3px solid #70a67e;outline-offset:3px;
}
/* ヘッダーの問い合わせは右上の固定サイズ枠に収める。 */
@media(min-width:1001px){
body#main #header{position:relative!important}
body#main #header #contact.pc{
position:absolute!important;top:14px!important;right:16px!important;
bottom:auto!important;left:auto!important;float:none!important;clear:none!important;
display:block!important;width:112px!important;height:100px!important;
min-width:0!important;max-width:112px!important;min-height:0!important;
margin:0!important;padding:0!important;z-index:10;
}
body#main #header #contact.pc>a.contact_btn{
position:static!important;box-sizing:border-box!important;
width:112px!important;height:100px!important;min-height:0!important;
max-width:112px!important;margin:0!important;padding:12px 8px!important;
}
body#main #header #contact.pc>a.contact_btn>span{
font-size:15px!important;letter-spacing:.02em!important;
}
body#main #header #contact.pc>a.contact_btn em{
margin-top:6px!important;font-size:10px!important;line-height:1.6!important;
}
}
@media(max-width:1000px){
body#main #header #contact.pc{display:none!important}
}
/* 社長ブログ：写真と吹き出しタイトルをそろえた一覧。 */
body#main #information .manager_blog{padding-top:40px!important;padding-bottom:40px!important}
body#main #information .manager_blog>h3{
display:flex;align-items:center;justify-content:space-between;gap:16px;
margin:0 0 16px!important;padding:0!important;border:0!important;
background:none!important;color:#214d30!important;font-size:28px!important;font-weight:700!important;
}
body#main #information .manager_blog>h3>a{
position:static!important;float:none!important;width:auto!important;
margin:0!important;padding:8px 0!important;font-size:14px!important;line-height:1.6;
}
body#main #information .manager_blog .blog-preview-note{
margin:0 0 24px!important;color:#647069;font-size:13px!important;line-height:1.6!important;
}
body#main #information #manager_blog_box{
display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px;
margin:0!important;padding:0!important;list-style:none;
}
body#main #information #manager_blog_box::before,
body#main #information #manager_blog_box::after{content:none!important;display:none!important}
body#main #information #manager_blog_box>li{
box-sizing:border-box;position:static!important;float:none!important;
display:flex!important;flex-direction:column;width:auto!important;min-width:0;
height:auto!important;margin:0!important;padding:0!important;border:0!important;background:none!important;
}
body#main #information #manager_blog_box>li::before,
body#main #information #manager_blog_box>li::after{content:none!important;display:none!important}
body#main #information #manager_blog_box .blog_thumbnail{
position:static!important;display:block!important;width:100%!important;height:auto!important;
margin:0!important;padding:0!important;border:0!important;border-radius:8px;overflow:hidden;
background:#eee;
}
body#main #information #manager_blog_box .blog_thumbnail img{
display:block!important;width:100%!important;height:auto!important;
aspect-ratio:8 / 5;object-fit:cover;margin:0!important;border:0!important;
}
body#main #information #manager_blog_box .post_date{
position:static!important;float:none!important;display:block!important;width:auto!important;
margin:10px 0 24px!important;padding:0!important;text-align:left!important;
font-size:13px!important;line-height:1.6!important;color:#647069;
}
body#main #information #manager_blog_box .cat:empty{display:none}
body#main #information #manager_blog_box h4{
box-sizing:border-box;position:relative!important;display:flex!important;align-items:center;
flex:1;width:100%!important;height:auto!important;min-height:80px;
margin:0!important;padding:18px 20px!important;
border:1px solid #e0e9e2!important;border-radius:12px!important;background:#fff!important;
font-size:16px!important;font-weight:600!important;line-height:1.7!important;text-align:left!important;
}
body#main #information #manager_blog_box h4::before{
content:""!important;display:block!important;position:absolute!important;
top:-10px!important;left:26px!important;right:auto!important;bottom:auto!important;
width:18px!important;height:18px!important;margin:0!important;
border:0!important;border-top:1px solid #e0e9e2!important;border-left:1px solid #e0e9e2!important;
background:#fff!important;transform:rotate(45deg)!important;border-radius:3px 0 0 0!important;
}
body#main #information #manager_blog_box h4::after{content:none!important;display:none!important}
body#main #information #manager_blog_box h4>a{
position:static!important;display:block!important;width:100%!important;height:auto!important;
margin:0!important;padding:0!important;border:0!important;background:none!important;
font-size:inherit!important;line-height:inherit!important;color:#214d30!important;text-decoration:none;
}
body#main #information #manager_blog_box h4>a::before,
body#main #information #manager_blog_box h4>a::after{content:none!important;display:none!important}
body#main #information #manager_blog_box h4>a:hover{color:#228237!important;text-decoration:underline;text-underline-offset:4px}
body#main #information #manager_blog_box a:focus-visible{outline:3px solid #70a67e;outline-offset:3px}
@media(max-width:850px){
body#main #information #manager_blog_box{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:500px){
body#main #information #manager_blog_box{grid-template-columns:1fr;gap:28px}
body#main #information .manager_blog>h3{font-size:24px!important}
}
/* ブログの既存テーマによる絶対配置と固定高を解除。 */
body#main #information .manager_blog{
position:relative!important;float:none!important;clear:both!important;
height:auto!important;min-height:0!important;overflow:visible!important;
}
body#main #information #manager_blog_box{
position:static!important;float:none!important;clear:both!important;
display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
box-sizing:border-box!important;width:100%!important;max-width:100%!important;
height:auto!important;min-height:0!important;overflow:visible!important;
}
body#main #information #manager_blog_box>li{
position:relative!important;top:auto!important;right:auto!important;
bottom:auto!important;left:auto!important;float:none!important;
display:flex!important;flex-direction:column!important;
width:100%!important;max-width:100%!important;height:auto!important;
min-width:0!important;min-height:0!important;
transform:none!important;overflow:visible!important;
}
body#main #information #manager_blog_box>li>.blog_thumbnail{
position:relative!important;inset:auto!important;float:none!important;
display:block!important;flex:0 0 auto!important;
width:100%!important;max-width:100%!important;height:auto!important;
aspect-ratio:8 / 5;overflow:hidden!important;transform:none!important;
}
body#main #information #manager_blog_box>li>.blog_thumbnail>img{
position:static!important;inset:auto!important;float:none!important;
display:block!important;box-sizing:border-box!important;
width:100%!important;max-width:100%!important;
height:100%!important;max-height:100%!important;
object-fit:cover!important;transform:none!important;
}
body#main #information #manager_blog_box>li>.post_date{
position:static!important;inset:auto!important;float:none!important;
width:auto!important;height:auto!important;transform:none!important;
}
body#main #information #manager_blog_box>li>h4{
position:relative!important;inset:auto!important;float:none!important;
width:100%!important;max-width:100%!important;height:auto!important;
min-height:80px!important;transform:none!important;
}
body#main #information #manager_blog_box>li>h4>a{
position:static!important;inset:auto!important;transform:none!important;
}
@media(max-width:850px){
body#main #information #manager_blog_box{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:500px){
body#main #information #manager_blog_box{grid-template-columns:minmax(0,1fr)!important}
}
/* ヘッダーの既存レイアウトを維持して余白のみ調整。 */
@media(min-width:1001px){
body#main #header #menu-headquarters_menu{
gap:18px!important;align-items:center!important;
}
body#main #header #menu-headquarters_menu>li>a{
font-size:14px!important;padding:8px 2px 10px!important;line-height:1.5!important;
}
body#main #header #contact.pc{
top:14px!important;right:16px!important;width:112px!important;height:94px!important;
}
body#main #header #contact.pc>a.contact_btn{
width:112px!important;height:94px!important;padding:12px 8px!important;
}
}
/* メニュー下線を文字側へ3px移動。 */
@media(min-width:1001px){
body#main #header #menu-headquarters_menu>li>a{
padding-bottom:7px!important;
}
}
/* 下線をさらに3px上げ、その下に3pxの余白を確保。 */
@media(min-width:1001px){
body#main #header #menu-headquarters_menu>li>a{
padding-bottom:4px!important;
margin-bottom:3px!important;
}
}
/* 文字と下線の間隔を維持し、メニュー全体を3px上へ移動。 */
@media(min-width:1001px){
body#main #header #menu-headquarters_menu{
transform:translateY(-6px)!important;
}
}
/* ヘッダーの電話番号・所在地をまとめて91px右へ。 */
@media(min-width:1001px){
body#main #header #tel_contact{
transform:translateX(91px)!important;
}
}
/* ヘッダー問い合わせを2px上げ、下端を13px上げて余白を確保。 */
@media(min-width:1001px){
body#main #header #contact.pc{
top:11px!important;height:83px!important;
}
body#main #header #contact.pc>a.contact_btn{
height:83px!important;
}
}
/* 個人のお客様の見出し上に50pxの余白を追加。 */
body#main #services02>.content>h3{
margin-top:50px!important;
}
/* ヘッダーの所在地のみ2px下へ移動。 */
body#main #header #tel_contact>span:not(.tel_label){
position:relative;top:2px;
}
/* 法人施工事例は紹介文直下。記事なし・取得失敗時は余白も表示しない。 */
body#main #services01 .corporate-live-slider{
position:relative!important;float:none!important;clear:both!important;
width:100%!important;height:auto!important;margin:24px 0 28px!important;
}
body#main #services01 .corporate-live-slider[hidden]{display:none!important}
body#main #services01 .corporate-live-slider:not([hidden]){display:block!important}