@charset "utf-8";

@font-face {
    font-family: "kelson";
    font-display: swap;
    src: url('../font/Kelson Sans Bold.woff') format('woff');
}
/*小塚ゴシックBold*/
@font-face {
    font-family: "kozuka_b";
    font-display: swap;
    src: url('../font/KozGo-Bold.woff') format('woff');
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
WPFormsに変更 (2026-04-14)ah
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* WPForms　＞　フォームの上部に入る不要な空白を除去する（2023-12-22）mk */
/* ページ遷移ボタンのラッパー要素が、何故かフォーム冒頭に挿入されているので、そいつの余白トル */
.wpforms-field-pagebreak:nth-of-type(1){
	padding: 0!important;
}
/* ページインジケーター基本使わないのに余白だけつくのでトル */
.wpforms-page-indicator {
	margin-bottom: 0!important;
}

div.wpforms-container-full .wpforms-form .wpforms-field-label {
    display: flex!important;
    flex-direction: row-reverse!important;
    justify-content: flex-end!important;
    align-items: center!important;
}

div.wpforms-container-full .wpforms-form .wpforms-required-label {
    margin-right: 10px!important;
}

.wpforms-field input[type="text"], .wpforms-field input[type="url"], .wpforms-field input[type="email"], .wpforms-field input[type="tel"], .wpforms-field textarea, div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-field-checkbox ul, div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-field-radio ul {
    background: #f5f5f5 !important;
    border: none !important;
    border-radius: 4px !important;
}

div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-field-checkbox ul,
div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-field-radio ul {
    padding: 15px 20px!important;
}

div.wpforms-container-full .wpforms-form [class*="wpforms-field-required"],
div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-field-checkbox ul[class*="wpforms-field-required"],
div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-field-radio ul[class*="wpforms-field-required"] {
    background: #fdf2f2 !important;
}

.wpforms-field input.wpforms-valid {
    background: #f5f5f5 !important;
}

div.wpforms-container-full .wpforms-form label.wpforms-error.mailcheck-error {
    display: none!important;
}

div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-field-divider {
    padding-top: 50px!important;
    padding-left: 0 !important;
    border-top: 1px solid #ccc !important;
}

div.wpforms-container-full .wpforms-form .wpforms-pagebreak-left {
    text-align: center!important;
}

/* 確認画面 */
[id*="wpforms-form"] em {
    /* display: none; */
	color:#ccc;
}

div.wpforms-container-full .wpforms-form .wpforms-submit-container {
    text-align: center!important;
}

.wpforms-entry-preview-basic .wpforms-entry-preview-value, div.wpforms-container-full .wpforms-form .wpforms-entry-preview-basic .wpforms-entry-preview-value {
    border-bottom: 1px solid #ddd!important;
}

.wpforms-entry-preview-basic .wpforms-entry-preview-value:last-child, div.wpforms-container-full .wpforms-form .wpforms-entry-preview-basic .wpforms-entry-preview-value:last-child {
    margin-bottom: 15px!important;
}

.wpforms-entry-preview-basic, .wpforms-entry-preview-compact, div.wpforms-container-full .wpforms-form .wpforms-entry-preview-basic, div.wpforms-container-full .wpforms-form .wpforms-entry-preview-compact {
    border-bottom: none!important;
}

/* 確認ボタン・戻るボタン共通 */
.wpforms-container-full .wpforms-form .wpforms-pagebreak-left .wpforms-page-button{
	margin: 0!important;
    font-weight: bold;
    font-size: 15px;
    border-radius: 4px;
    padding: 5px 24px;
}

/* 送信ボタン */
.wpforms-form input[type=submit], 
.wpforms-form button[type=submit] {
    min-width: 90px;
    padding: 12px 10px!important;
    font-weight: bold;
    border: none!important;
    border-radius: 4px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
photoswiper カウンター非表示 (2022-01-06) mf
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.pswp__counter {
    visibility: hidden;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
削除希望だが復元あるかもしれないので一時的に非表示 (2021-11-10) mf
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_business.lazyloaded .bg01 {
    background-image: none!important;
}

#home_business .box {
    display: none;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
募集していないため一時的に非表示　トップ　＞　プロモバナー　＆　採用情報アプライ文字 (2021-11-11) mf
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#promo_frame p.bnr,
#home_recruit::before {
    display: none;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
一旦不要なため非表示 SNS (2021-11-10) mf
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#contact_area .area_a .sns_wrap a.icon-facebook,
#contact_area .area_a .sns_wrap a.icon-twitter {
    display: none;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
汎用スタイル　＞　投稿が無い場合の汎用スタイル
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.no_hit {
    margin-left: 50px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
共通　>　カスタムカテゴリー(トップ > 施工事例,下層 > 施工事例一覧・詳細ページで使用)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.cmn_cat {
    padding: 5px 18px;
    line-height: 1;
    font-size: 1.4rem;
    font-weight: bold;
    color: #d30000;
    border: 1px solid #d30000;
    display: inline-block;
    border-radius: 15px;
    margin-bottom: 10px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
電話番号のフォントファミリーを指定
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
div#tel_lb .num,a[href*="tel:"]:not(.ja) {
     font-family: "kelson";
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
汎用スタイル　＞　サイトのテーマ色を一括指定する
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* 文字色 */
body.sp[class*="voice"] ul.child_navi a[href*="voice"], body.sp dl.type01 [class*="current"] > a, body.sp dl.type01 dt, a.basic_btn02, .basic_list01 li:before, ol.basic_list02 > li:after, a.basic_color_font, [class*="current"] .basic_color_font_cur, [class*="current"] .basic_color_font_cur:hover, .basic_color_font_bf:before, .basic_color_font_af:after,
.cmn_kadomaru {
    color: #d30000;
}

/* ボーダー色 */
body.sp dl.type01 > dt .arrow, h3[class*="h3a"], h2[class*="h2a"], .basic_box02, .basic_list02 > li, .basic_color_border, .basic_color_border_bg:before, .basic_color_border_af:after,
.cmn_kadomaru{
    border-color: #d30000;
}

/* 背景色 */
a.basic_btn01, h3[class*="h3b"], ol.basic_list02 > li:before, .basic_color_bg, .basic_color_bg_bf:before, .basic_color_bg_af:after, #h_navi_main ul:not(.sub-menu) > li > a:after {
    background-color: #d30000;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
汎用スタイル　＞　画像がない場合の汎用スタイル
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.noimage {
     background: url(../images/noimage.svg) no-repeat 50% / auto 30% #b3b3b3;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ビジュアルエディタ　＞　汎用見出し
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* [.h2a][.h2b]共通のスタイル */
h2[class*="h2"] {
   font-weight: bold;
}

/* [.h2a]のスタイル */
h2[class*="h2a"] {
    padding: 17px 0px;
    border-top: 2px solid #151515;
    border-bottom: 2px solid #151515;
}

h2[class*="h2b"] {
    padding: 0 0 40px;
}

h2[class*="h2b"]:before {
    display: none;
}

h2[class*="h2b"]::after {
    content: "";
    width: 50px;
    height: 4px;
    position: absolute;
    bottom: 20px;
    right: calc(50% - 25px);
    background-color: #d30000;
}

/* [.h3a][.h3b]共通のスタイル */
h3[class*="h3"] {
    font-weight: bold;
}

/* [.h3a]のスタイル */
h3[class*="h3a"] {
    padding: 16px 0 16px 27px;
    border: none;
    background-color: #1d1d1d;
    color: #fff;
}

h3[class*="h3a"]::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    border-style: solid;
    border-width: 27px 27px 0 0;
    border-color: #790000 transparent transparent transparent;
}

/* [.h3b]のスタイル */
h3[class*="h3b"] {
    color: inherit;
    background: none;
    padding: 11px 0 11px 20px;
    border-left: 8px solid #d30000;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ビジュアルエディタ　＞　汎用ボタン01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
a.basic_btn01 {
    padding: 20px 40px;
    font-weight: bold;
    min-width: 280px;
    border: 2px solid #d30000;

    z-index: 1;
}

a.basic_btn01:hover {
    opacity: 1;
    color: #d30000;
}

a.basic_btn01::before {
    content: "";
    position: absolute;
    left: -100%;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    display: block;
    transition: all .3s;
}

a.basic_btn01:hover::before {
    left: 0;
    background-color: #fff;
}

a.basic_btn01:after {
    content: "";
    position: absolute;
    background: url(../images/arrow_w.svg) no-repeat 50% / 26px 8px;
    width: 26px;
    height: 8px;
    top: calc(50% - 10px);
    right: 7px;
    margin-top: 5px;
    /* transition: all .3s; */
}

a.basic_btn01:hover:after {
    background-image: url(../images/arrow_r.svg);
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
共通　>　リバースボタン
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
a.basic_btn01.cmn_reverse {
    background: #fff;
    color: #d30000;
}

a.basic_btn01.cmn_reverse:hover {
    color: #fff;
}

a.basic_btn01.cmn_reverse:hover::before {
    background-color: #d30000;
}

a.basic_btn01.cmn_reverse::after {
    background-image: url(../images/arrow_r.svg);
}

a.basic_btn01.cmn_reverse:hover::after {
    background-image: url(../images/arrow_w.svg);
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ビジュアルエディタ　＞　汎用ボックス
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.basic_box01 {
    background-color: #fff2f2;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
下層ページ　＞　ヘッダー画像
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.page_promo {
    margin-top: -86px;
}


.page_promo .img_wrap {
    height: 500px;
    max-height: 60vh;
}

.page_promo .txt_box {
    padding: 50px 40px;
    background: rgba(0,0,0,.5);
    max-width: 360px;
    width: 100%;
}

.page_promo .sub_ttl {
    display: none;
}

.page_promo .slug {
    display: none;
}

.page_promo .ttl {
    font-weight: bold;
    color: #fff;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
下層　＞　施工事例アーカイブ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.post-type-archive-result #main_area {
    width: 1200px;
}

.post-type-archive-result ul.cmn_work_list li {
    border: 1px solid #ddd;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
下層　＞　施工事例詳細
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.single-result .article_title.plain_type {
    text-align: center;
}

.single-result .article_title.plain_type .cmn_cat {
    margin-bottom: 0;
}

.single-result #main_area .article_title.plain_type h1 {
    font-size: 2.6rem;
    text-align: center;
    padding-top: 10px;
}

.single-result .box {
   margin-bottom: 30px;
   justify-content: space-between;
}

.single-result .box .area_a {
    width: 560px;
}

.single-result .box .area_a .noimage{
    padding-top: 56%;
}

/*---スライドここから---*/
.single-result .box .area_a .gallery-top {
    margin: 0 auto 15px;
    max-height: 560px;
}

.single-result .box .area_a .gallery-top .swiper-slide {
    padding-top: 375px;
    position: relative;
}

.single-result .box .area_a .gallery-top .swiper-slide a::after {
    content: "\e905";
    font-family: "icomoon";
    position: absolute;
    top: 0;
    right: 10px;
    z-index: 1;
    font-size: 3rem;
    color: #fff;
}

.single-result .box .area_a .thumbs_box {
    position: relative;
}

.single-result .box .area_a .gallery-thumbs {
    width: calc(100% - 60px);
    padding: 0;
}

.single-result .gallery-thumbs .swiper-slide {
    opacity: 0.4;
    padding-top: 96px;
}

.single-result .gallery-thumbs .swiper-slide-thumb-active {
    opacity: 1;
    position: relative;
}

.single-result .gallery-thumbs .swiper-slide-thumb-active:after {
    content: '';
    display: block;
    border: 3px solid #d30000;
    position: absolute;
    top: 0px;
    left: 0px;
    width: calc(100% - 6px);
    height: calc(100% - 6px);
}

.single-result .box .area_a .swiper-button-prev,
.single-result .box .area_a  .swiper-button-next {

    width: 20px;
    height: 100%;
    background: #000;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 3px;
    top: calc(50% - 26px);
}

.single-result .box .area_a .swiper-button-prev {
    left: 0px;
}

.single-result .box .area_a .swiper-button-next {
    right: 0px;
}

.single-result .box .area_a .swiper-button-prev:after,
.single-result .box .area_a  .swiper-button-next:after {
    content: '\e924';
    font-family: "icomoon";
    font-size: 21px;
    color: #fff;
}

.single-result .box .area_a .swiper-button-next:after {
    content: '\e925';
}

/*---スライドここまで---*/

.single-result .box .area_b {
    width: 380px;
}

.single-result .box .area_b .basic_table02 {
    border-spacing: 0;
}

.single-result .box .area_b .basic_table02 th {
    width: 135px;
}

.single-result .box .area_b .basic_table02 td {
    margin-left: 10px;
    padding: 30px 20px;
    display: block;
}

.single-result #main_area > * > * > * > .editor_area {
    min-height: 0px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
トップページ　>　共通タイトル
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
h2.cmn_ttl {
    font-weight: bold;
    text-align: center;
    display: block;
    margin-bottom: 50px;
    font-size: 3.2rem;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
共通　>　施工事例リスト（cmn_work_list）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
ul.cmn_work_list {
    margin: 0 -15px;
}

ul.cmn_work_list li {
    width: 380px;
    margin: 0 15px 40px;
    background: #fff;
    height: auto;
}

ul.cmn_work_list li::before,
ul.cmn_work_list li::after {
    content: "";
    position: absolute;
}

ul.cmn_work_list li::before {
    border-style: solid;
    border-width: 0 0 58px 68px;
    border-color: transparent transparent #d30000 transparent;
    bottom: 0;
    right: 0;
    transition: all .3s;
}

ul.cmn_work_list li:hover::before {
    border-width: 0 0 70px 80px;
}

ul.cmn_work_list li::after {
    bottom: 12px;
    right: 12px;
    background: url(../images/arrow_w.svg) no-repeat 50% / 22px 8px;
    width: 22px;
    height: 8px;
}

ul.cmn_work_list li .area_a .img {
    padding-top: 56%;
}

ul.cmn_work_list li .area_b {
    padding: 20px 40px 35px 20px;
}

ul.cmn_work_list li .area_b h3.ttl {
    font-weight: bold;
}

ul.cmn_work_list li .area_b .area {
    font-size: 1.5rem;
    color: #5e5e5e;
    display: flex;
    align-items: center;
}

ul.cmn_work_list li .area_b .area::before {
    content: "\f041";
    font-family: "icomoon";
    font-size: 2rem;
    margin-right: 8px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
共通　>　ビジネスリスト（cmn_business_list）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
ul.cmn_business_list {
    margin: 0 -15px -40px;
}

ul.cmn_business_list li {
    width: calc(100% / 2 - 30px);
    margin: 0 15px 40px;
    background: #fff;
    box-shadow: 0 5px 15px rgba(0,0,0, .2);
}

ul.cmn_business_list li .area_a p.img {
    padding-top: 56%;
}

ul.cmn_business_list li .area_b {
    padding: 30px 40px 45px;
}

ul.cmn_business_list li .area_b h3.ttl {
    font-size: 2.8rem;
    font-family: "kozuka_b";
    text-align: center;
    margin-bottom: 20px;
    position: relative;
}

ul.cmn_business_list li .area_b h3.ttl::after {
    content: "";
    background: url(../images/arrow_bk.svg) no-repeat;
    width: 40px;
    height: 12px;
    position: absolute;
    top: calc(50% - 6px);
    right: -20px;
    transition: all .3s;
}

ul.cmn_business_list li:hover .area_b h3.ttl::after {
    right: -35px;
}

ul.cmn_business_list li .area_b p.txt {
    line-height: 1.9;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
共通　>　新着（cmn_post_list）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
ul.cmn_post_list {
    width: calc(100% - 350px);
    margin-left: 70px;
}

ul.cmn_post_list li {
    padding: 27px 35px 27px 17px;
    border-bottom: 1px solid #ddd;
    align-items: center;
}

ul.cmn_post_list li::before {
    content: "";
    display: block;
    width: 220px;
    border-bottom: 1px solid #151515;
    position: absolute;
    bottom: -1px;
    left: 0;
}

ul.cmn_post_list li::after {
    font-family: "icomoon";
    content: "\e917";
    font-size: 3rem;
    line-height: 1;
    position: absolute;
    right: 10px;
    top: calc(50% - .5em);
}

ul.cmn_post_list li .date {
    font-size: 1.6rem;
    margin-right: 30px;
    font-weight: bold;
}

ul.cmn_post_list li .cat {
    color: #fff;
    background: #d30000;
    font-size: 1.4rem;
    font-weight: bold;
    min-width: 90px;
    text-align: center;
    padding: 0 5px;
}

ul.cmn_post_list li h3.ttl {
    font-size: 1.5rem;
    width: 550px;
    margin-left: 30px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
トップページ　＞　一言コメント
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.tweet_area {
    padding: 0;
    width: 1200px;
    border-bottom: 1px solid #c6c6c6;
    margin: 0 auto 70px;
}

.tweet_area .f_wrap{
    justify-content: center;
}

.tweet_area .icon {
    display: none;
}

.tweet_area ul.items {
    width: auto;
    max-width: calc(100% - 100px);
    display: flex;
    justify-content: center;
    align-items: center;
}

.tweet_area ul.items li {
    display: flex;
    align-items: center;
}

.tweet_area ul.items li::after {
    content: "\e917";
    font-family: "icomoon";
    margin-left: 2em;
    font-size: 2.5rem;
    transition: all .3s;
}

.tweet_area ul.items li:hover::after {
    transform: translateX(5px);
}

.tweet_area .date {
    font-weight: bold;
    font-size: 1.6rem;
    margin-right: 1em;
}

.tweet_area .more {
    display: none;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
トップページ　＞　更に幅広いニーズへの対応が可能に
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_estimate {
    position: relative;
    min-height: 590px;
}

#home_estimate.kugiri_m {
    padding-top: 60px;
    padding-bottom: 90px;
}

#home_estimate .inner {
    padding-right: 720px;
}

#home_estimate h2.main_ttl {
    font-size: 3rem;
    margin-bottom: 20px;
    line-height: 1.7;
}

#home_estimate .main {
    font-family: "kozuka_b";
}

#home_estimate .sub {
    font-size: 2.2rem;
    display: block;
    color: #d30000;
    font-weight: bold;
}

#home_estimate p.main_txt {
    margin-bottom: 35px;
    line-height: 1.9;
}

#home_estimate .btn_wrap {
    margin: 0 -10px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
デザイン変更だが復元があるかもしれないので以前のスタイルを残す (2021-11-10) mf
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*
#home_estimate p.btn a.basic_btn01 {
    min-width: 380px;
    padding: 40px 60px 40px 115px;
    font-size: 2rem;
}

#home_estimate p.btn a.basic_btn01:hover {
    opacity: .7;
    color: #fff;
}

#home_estimate p.btn a.basic_btn01::before {
    content: "無料";
    width: 76px;
    height: 76px;
    font-size: 1.8rem;
    background: #fff;
    color: #d30000;
    border-radius: 50%;
    left: 25px;
    top: calc(50% - 38px);
    display: flex;
    align-items: center;
    justify-content: center;
}

#home_estimate p.btn a.basic_btn01:after {
    right: 25px;
}

#home_estimate p.btn a.basic_btn01:hover:after {
    background-image: url(../images/arrow_w.svg);
}
*/

#home_estimate p.btn a.basic_btn01 {
    min-width: 220px;
    margin: 0 10px;
    font-size: 1.7rem;
}

#home_estimate p.main_img {
    position: absolute;
    top: 0;
    right: calc(50% - 950px);
    background: url(../images/mazak.jpg) no-repeat;
    width: 1006px;
    height: 500px;
    padding: 440px 710px 40px 50px;
    color: #fff;
    font-weight: bold;
    font-size: 2rem;
    line-height: 1;
    text-shadow: 1px 1px 0px #000, -1px -1px 0px #000, 1px -1px #000, -1px 1px #000;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
トップページ　＞　施工事例
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_work {
    background: #f5f5f5;
}

#home_work.kugiri_m {
    padding-top: 60px;
    padding-bottom: 85px;
}

/* スワイパー */
#home_work .swiper-button-prev,
#home_work .swiper-button-next {
    display: none;
}

#home_work p.btn {
    text-align: center;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
トップページ　＞　小川鉄工所の強み
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_advantage {
    background: no-repeat center / cover #000;
}

#home_advantage.lazyloaded {
    background-image: url(../images/advantage_bg.jpg);
}

#home_advantage.kugiri_m {
     padding-top: 60px;
     padding-bottom: 70px;
}

#home_advantage h2.cmn_ttl {
    color: #fff;
}

#home_advantage .box {
    background: url(../images/quality.png) no-repeat 40px 50px #fff;
    padding: 50px 80px 65px;
    margin-bottom: 30px;
    justify-content: space-between;
}

#home_advantage .box .area_a {
    width: 480px;
    padding-top: 35px;
}

#home_advantage .box .area_a h3.ttl {
    font-size: 3.2rem;
    font-family: "kozuka_b";
    line-height: 1.8;
    margin-bottom: 15px;
}

#home_advantage .box .area_a p.txt {
    line-height: 1.9;
}

#home_advantage .box .area_b {
    width: 415px;
}

#home_advantage ul.items {
    margin: 0 -15px -30px;
}

#home_advantage ul.items li {
    margin: 0 15px 30px;
    width: 585px;
    padding: 55px 45px 55px 210px;
    border: 1px solid #fff;
    background: no-repeat 50% / 100% #ccc;
    transition: all .3s;
}

#home_advantage ul.items li:hover {
    background-size: 110%;
    opacity: 1;
}

#home_advantage.lazyloaded ul.items li:nth-child(1) {
    background-image: url(../images/usp02.jpg);
}

#home_advantage.lazyloaded ul.items li:nth-child(2) {
    
    background-image: url(../images/usp01.jpg);
}

#home_advantage.lazyloaded ul.items li:nth-child(3) {
    background-image: url(../images/usp03.jpg);
}

#home_advantage.lazyloaded ul.items li:nth-child(4) {
    background-image: url(../images/usp04.jpg);
}

#home_advantage ul.items li::before {
    content: "";
    width: 104px;
    height: 104px;
    background: no-repeat 50% #d30000;
    position: absolute;
    top: calc(50% - 52px);
    left: 60px;
    border-radius: 50%;
}

#home_advantage ul.items li:nth-child(1)::before {
    background-image: url(../images/pc.svg);
    background-size: 56px 52px;
}

#home_advantage ul.items li:nth-child(2)::before { 
    background-image: url(../images/spanner.svg);
    background-size: 66px 42px;
}

#home_advantage ul.items li:nth-child(3)::before {
    background-image: url(../images/memo.svg);
    background-size: 60px 56px;
    background-position: 65%;
}

#home_advantage ul.items li:nth-child(4)::before { 
    background-image: url(../images/helmet.svg);
    background-size: 64px 54px;
}

#home_advantage ul.items li h3.ttl {
    color: #fff;
    text-align: center;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.7;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
トップページ　＞　事業内容
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_business.kugiri_m {
    padding-top: 65px;
    padding-bottom: 90px;
}

#home_business .bg01 {
    background: no-repeat;
    padding-top: 70px;
}

#home_business.lazyloaded .bg01 {
    background-image: url(../images/metal.png);
}

#home_business .box {
    border: 2px solid #151515;
    padding: 45px 70px 45px;
    margin-bottom: 30px;
}

#home_business .box h3.main_ttl {
    text-align: center;
    font-size: 2.6rem;
    font-weight: bold;
    margin-bottom: 10px;
}

#home_business .box p.main_lead {
    text-align: center;
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 40px;
}

#home_business .box ul.items {
    justify-content: space-between;
    margin-bottom: -20px;
}

#home_business .box ul.items li {
    margin-bottom: 20px;
}

#home_business .box ul.items li p.img {
    margin-bottom: 10px;
}

#home_business .box ul.items li h4.ttl {
    font-weight: bold;
    text-align: center;
    font-size: 1.6rem;
}

#home_business dl.items {
    background: #fff;
    border: 2px solid #d30000;
}

#home_business dt {
    background:#d30000;
    width: 230px;
    color: #fff;
    font-weight: bold;
    font-size: 2.2rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

#home_business dd {
    width: calc(100% - 230px);
    padding: 55px 10px 50px 40px;
}

#home_business dd ul li {
    min-width: 300px;
    margin:0 5px 10px 0;
    font-weight: bold;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
トップページ　＞　パララックス
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_visual {
    background: no-repeat 50% / cover #ccc;
    background-attachment: fixed;
    padding: 190px 0;
}

@media screen and (orientation: landscape) {
   /* 横向きの場合のスタイル */
    #home_visual {
        background-position: 50% calc(50vh - 640px);
        background-size: 1920px auto;
    }
}

#home_visual.lazyloaded {
    background-image: url(../images/ogawa_bg.jpg);
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
トップページ　＞　会社案内エリア全体
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.home_company_area {
    position: relative;
    z-index: 0;
    overflow: hidden;
}

.home_company_area::before,
.home_company_area::after {
    content: "";
    position: absolute;
    width: 1500px;
    height: 500px;
    background: #f4f4f4;
    transform: rotate(-65deg);
    z-index: -1;
}

.home_company_area::before {
    top: 50px;
    left: calc(50% - 1650px);
}

.home_company_area::after {
    bottom: 0px;
    right: calc(50% - 1770px);
}

.home_company_area.kugiri_m {
    padding-top: 85px;
    padding-bottom: 85px;   
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
トップページ　＞　会社案内
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_company {

    margin-bottom: 80px;
}

#home_company .inner {
    padding-left: 430px;
    position: relative;
}

#home_company .inner h2.cmn_ttl {
    text-align: left;
    font-size: 2.8rem;
    margin-bottom: 20px;
    line-height: 1;
    color: #d30000;
}

#home_company .inner .box {
    position: absolute;
    top: 0;
    left: 0;
}

#home_company .inner .box p.img {
    margin-bottom: 10px;
}

#home_company .inner .box p.name {
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 1.5rem;
}

#home_company .inner .box p.name strong {
    font-size: 2.4rem;
    margin-left: 15px;
}

#home_company .inner h3.ttl {
    font-size: 3.4rem;
    font-family: "kozuka_b";
    margin-bottom: 15px;
    line-height: 1.6;
}

#home_company .inner p.txt {
    line-height: 2;
    margin-bottom: 30px;
}

#home_company .inner .btn_wrap p.btn {
    margin-right: 20px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
トップページ　＞　ブログ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_blog {
    margin-bottom: 75px;
    position: relative;
}

#home_blog h2.cmn_ttl {
    width: 280px;
    border: 2px solid #151515;
    padding: 80px 70px 120px;
    margin-bottom: 0;
    font-size: 2.8rem;
}

#home_blog p.btn {
    position: absolute;
    top: 154px;
    left: 60px;
}

#home_blog p.btn a.basic_btn01 {
    min-width: 160px;
    padding: 10px 40px;
    font-size: 1.5rem;
    border-radius: 30px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
トップページ　＞　採用情報
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_recruit {
    height: 500px;
    background: no-repeat #ccc;
}

#home_recruit.lazyloaded {
    background-image: url(../images/rec_bnr.jpg);
}

#home_recruit::before {
    content: "";
    background: url(../images/appry.png) no-repeat;
    position: absolute;
    bottom: 0;
    right: 40px;
    width: 758px;
    height: 126px;
    z-index: 1;
}

#home_recruit::after {
    content: "";
    background: url(../images/arrow_w.svg) no-repeat;
    position: absolute;
    bottom: 105px;
    right: 50px;
    width: 110px;
    height: 38px;
    transition: all .3s;
}

#home_recruit:hover::after {
    right: 25px;
}

#home_recruit .inner {
    width: 465px;
    margin-left: auto;
    background: #d30000;
    height: 100%;
    padding: 150px 50px 180px 120px;
    /* 赤い箱削る */
    clip-path: polygon(25% 0%, 100% 0, 100% 100%, 0% 100%);
}

#home_recruit h2.cmn_ttl {
    text-align: left;
    margin-bottom: 20px;
    color: #fff;
}

#home_recruit p.txt {
    color: #fff;
}



/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
トップページ　＞　事業所一覧
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_office {
    background: #e4e4e4;
}

#home_office.kugiri_m {
    padding-top: 60px;
    padding-bottom: 70px;
}

#home_office ul.items {
    margin: 0 -15px;
}

#home_office ul.items li {
    margin: 0 15px;
    width: calc(50% - 30px);
    background: #fff;
    padding: 35px;
}

#home_office ul.items li h3.ttl {
    color: #fff;
    background: #d30000;
    text-align: center;
    margin-bottom: 20px;
    padding: 11px 40px;
    font-size: 2rem;
    font-weight: bold;
}

#home_office ul.items li p.img {
    margin-bottom: 25px;
}

#home_office .addr_tel_box {
    margin-bottom: 15px;
    position: relative;
}

#home_office .addr_tel_box p {
    margin-bottom: 5px;
    font-size: 1.8rem;
    font-weight: bold;
}

#home_office .addr_tel_box .fax {
    font-family: "kelson"; 
}

#home_office .addr_tel_box .access_btn a {
    position: absolute;
    top: 0;
    right: 0;
    font-size: 1.7rem;
    font-weight: bold;
    display: block;
    border: 2px solid #bd0a0a;
    color: #bd0a0a;
    padding: 5px 23px 5px;
    border-radius: 4px;
    width: 120px;
}

#home_office .addr_tel_box .access_btn a::before {
    content: "\f041";
    font-family: "icomoon";
    display: block;
    font-weight: normal;
    font-size: 2rem;
    line-height: 1;
}

#home_office .addr_tel_box p a {
    color: #151515;
    text-decoration: none;
}

#home_office .addr_tel_box p .open {
    font-size: 1.5rem;
    padding-left: 8px;
}

#home_office ul.items li .box {
    background: #fff2f2;
    padding: 20px 30px;
    min-height: 145px;
    display: flex;
    align-items: center;
}

#home_office ul.items li .box tr {
    vertical-align: top;
}

#home_office ul.items li .box th {
    width: 80px;
    text-align: center;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
コンタクトエリア
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#contact_area {
    background: no-repeat 50% / cover;
}

#contact_area.lazyloaded {
    background-image: url(../images/contact_bg.jpg);
}

#contact_area.kugiri_m {
    padding-top: 40px;
    padding-bottom: 20px;
}

#contact_area .area_a {
    padding: 20px 40px 25px 90px;
    border-right: 1px solid #fff;
    width: 430px;
}

#contact_area .area_a .logo {
    width: 280px;
    margin: 0 auto 10px;
}

#contact_area .area_a .addr {
    font-size: 1.6rem;
    color: #fff;
    margin-bottom: 15px;
}

#contact_area .area_a .sns_wrap {
    display: flex;
    justify-content: center;
    padding: 0 -10px;
}

#contact_area .area_a .sns_wrap a {
    padding: 0 10px;
    color: #fff;
    font-size: 2.8rem;
    text-decoration: none;
}

#contact_area .area_a .sns_wrap a:hover {
    color: #d30000;
    opacity: .8;
}

#contact_area .area_b {
    width: calc(100% - 430px);
    padding: 10px 95px 30px 50px;
}

#contact_area .area_b p.msg {
    text-align: center;
    font-weight: bold;
    margin-bottom: 15px;
    color: #fff;
}

#contact_area .area_b .contact_wrap {
    justify-content: space-between;
}

#contact_area .area_b .tel_box p.tel a {
    display: flex;
    align-items: center;
    font-size: 3.4rem;
    line-height: 1;
    margin-bottom: 5px;
    color: #fff!important;
}

#contact_area .area_b .tel_box p.tel a::before {
    content: "\f095";
    font-family: "icomoon";
    color: #d30000;
    margin-right: 15px;
}

#contact_area .area_b .tel_box p.open {
    color: #fff;
    font-size: 1.5rem;
}

#contact_area .area_b p.mail_btn a.basic_btn01 {
    display: block;
    background: #d30000;
    padding: 23px 20px 23px 70px;
    color: #fff;
    max-width: 320px;
    min-width: 320px;
    font-size: 1.7rem;
}

#contact_area .area_b p.mail_btn a.basic_btn01:hover {
    color: #d30000;
}

#contact_area .area_b p.mail_btn a::after {
    content: "\e90d";
    top: calc(50% - .5em);
    left: 35px;
    font-size: 2rem;
    background: none;
    margin-top: 0;
    transition: none;
}