@charset "UTF-8";
/*
    Template: swell
    Theme Name: KOUHOKU_2025
    Theme URI:
    Description:
    Version: 1.0.1
    Author:
    Author URI:

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* WEBフォント
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600&display=swap');
 */
 /* @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@700&display=swap'); */
 }

/* 色設定（swell本体で設定する内容）等
====================================================
メインカラー：#c90b1d
グレー：#F3F3F3
製品一覧
161,158,96,95,152,160,153,136,157,159,154,161,156,155

*/


/* 全体調整
==================================================== */

body{
    font-feature-settings: "palt" 1;
    /* letter-spacing: 0.1em; */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ページ上下の余白を削除 */
.top #content, .page .l-content{
    padding-top: 0;
}
.w-beforeFooter{
    margin: 0 auto;
}

/* 余白調整 */
@media (min-width: 600px){
    div.has-background.pd4em{
        padding: 4em;
    }
}

/* ヘッダー
==================================================== */
@media (min-width: 960px){
    .-parallel .l-header__inner{
        justify-content: space-between;
        max-width: 1200px;
    }
    .-parallel .l-header__logo {
        width: auto;
        min-width: 300px;
        display: flex;
        flex-flow: column-reverse;
        align-items: flex-start;
    }
    .-parallel .l-header__logo .c-catchphrase {
        margin-top: 0;
        margin-bottom: 4px;
    }
    /* .-parallel-bottom .l-header__logo {
        padding:0;
    } */
    .l-header.-parallel .w-header {
        width: auto;
    }
    .-parallel .w-header {
        margin-bottom: 0;
        margin-top: 0;
    }
    .-parallel .l-header__gnav .c-gnav>li>a {
        padding: 24px;
    }
    .-parallel .l-header__gnav {
        width: 100vw;
        margin: 0 calc(50% - 50vw);
    }
    .-parallel .l-header__gnav .c-gnav{
        justify-content: space-between;
        max-width: 1200px;
        margin: 0 auto;
    }
    .l-header__inner .swell-block-columns .swell-block-column{
        width: auto !important;
    }
}
@media not all and (min-width: 960px) {
    .l-header__inner .c-catchphrase {
        display: block;
        font-size: 0.6em;
        padding-top: 2px;
    }
    .l-header__logo{
        display: flex;
        flex-flow: column-reverse;
        align-items: flex-start;
    }
    .c-headLogo{
        height: 34px;
    }
    .-img .c-headLogo__link{
        padding: 4px 0 8px 0;
    }
}


.c-gnav>.menu-item>a{
    padding: 0 1.5em;
}
.c-gnav>.menu-item>a .ttl{
    font-weight: bold;
}
.c-gnav>.menu-item.gnav_contact{
    display: flex;
    align-items: center;
}
.c-gnav>.menu-item.gnav_contact a{
    color: var(--color_main);
    background-color: #FFF;
    height: calc(100% - 16px);
}
.c-gnav>.menu-item.gnav_contact a:hover{
    opacity: 0.9;
    transition: 0.3s;
}
.l-fixHeader .c-gnav>.menu-item.gnav_contact{
    display: flex;
    align-items: center;
    padding-left: 1.5em;
}
.l-fixHeader .c-gnav>.menu-item.gnav_contact a{
    color: #FFF;
    background-color: var(--color_main);
    height: calc(100% - 16px);
}
.l-fixHeader .c-gnav>.menu-item.gnav_contact a:hover{
    opacity: 0.9;
    transition: 0.3s;
}
@media (max-width: 1100px){
    .c-gnav>.menu-item>a{
        padding: 0 1em;
    }
}

/* 開閉メニュー */
.p-spMenu__bottom .lang_list{
    justify-content: center;
}

/* ページタイトル（サブタイトル）調整 */
.l-topTitleArea__body {
    text-shadow: none;
    color: #000;
}
@media (min-width: 600px) {
    .l-topTitleArea {
        min-height: 160px;
    }
}

/* タイトルの日付・カテゴリ表示を削除 */
/* .single-products time.c-postTitle__date,
.single-products .p-articleMetas__times{
    display: none;
  } */
.single-products time.c-postTitle__date,
.single-products .p-articleMetas,
.single-solution time.c-postTitle__date,
.single-solution .p-articleMetas__times,
.single-original time.c-postTitle__date,
.single-original .c-categoryList,
.single-original .c-taxList
{
    display: none;
}


/* パンくずリスト */
.p-breadcrumb__list {
    flex-wrap: wrap;
}
.single .p-breadcrumb__item:last-child>span.p-breadcrumb__text {
    display: block!important;
    opacity: 1;
    white-space: pre-wrap;
}

/* サイドバー */
.single-products .l-sidebar .c-widget,
.single-original .l-sidebar .c-widget,
.single-solution .l-sidebar .c-widget,
.tax-solution_product .l-sidebar .c-widget,
.tax-solution_value .l-sidebar .c-widget,
.blog .l-sidebar .c-widget,
.single-post .l-sidebar .c-widget,
.archive .l-sidebar .c-widget
{
  display: none;
}
.single-products .l-sidebar .c-widget:has(.products-sidebar){
    display: block;
}
.single-original .l-sidebar .c-widget:has(.original-sidebar),
.single-original .l-sidebar .c-widget.widget_swell_index
{
  display: block;
}
.single-solution .c-widget:has(.solution-sidebar),
.tax-solution_product .c-widget:has(.solution-sidebar),
.tax-solution_value .c-widget:has(.solution-sidebar){
    display: block;
}
.single-solution .l-sidebar .c-widget .swell-block-accordion__body,
.tax-solution_product .l-sidebar .c-widget .swell-block-accordion__body,
.tax-solution_value .l-sidebar .c-widget .swell-block-accordion__body{
    padding: 0;
}
.blog .l-sidebar .c-widget:has(.blog-sidebar),
.single-post .l-sidebar .c-widget:has(.blog-sidebar),
.archive.date .l-sidebar .c-widget:has(.blog-sidebar),
.archive.category .l-sidebar .c-widget:has(.blog-sidebar),
.archive.tag .l-sidebar .c-widget:has(.blog-sidebar){
    display: block;
}

/* フッター
==================================================== */

/* コンタクトCTA */
.footer_cta{
    position: relative;
}
.footer_cta_ttl_image img{
    width: 60px;
    position: absolute;
    top: -2em;
    left: calc(50% - 30px);
}
.w-beforeFooter .footer_icons figure{
    padding: 0.5rem;
}

/* 共通パーツ
==================================================== */

/* 横幅制限 */
.mw900 {
    max-width: 900px;
    margin: 0 auto;
}

/* 背景 */
.bg__dot{
    background-color: #ffffff;
    background-image: radial-gradient(#ebebeb 1.1500000000000001px, #ffffff 1.1500000000000001px);
    background-size: 30px 30px;
}

/* 見出し */
.post_content h2.is-style-section_ttl.style-bb{
    border-bottom: solid 5px #D00714;
    position: relative;
    padding-bottom: 5px;
    display: inline-block;
}
.post_content h2.is-style-section_ttl.style-bb.has-text-align-center{
    left: 50%;
    transform: translateX(-50%);
}
.post_content h2.is-style-section_ttl.style-bb:after{
    position: absolute;
    content: "";
    display: block;
    border-bottom: solid 5px #242222;
    bottom: -5px;
    width: 30%;
}

.post_content h2.styled{
    font-size: 2em;
    padding: 0.2em 0.2em 0.2em 16px;
    border-left: solid 8px var(--color_htag);
    color: var(--color_main);
    line-height: 1;
    font-family: 'Poppins', sans-serif;
    letter-spacing: 0.1em;
}
.post_content h2.styled span{
    display: block;
    font-size: 0.5em;
    color: #838ea2;
    padding-top: 0.5em;
    letter-spacing: 0.25em;
}
.post_content h2.styled.white{
    color: #fff;
}
.post_content h2.styled.white span{
    color: #fff;
}

/* 装飾 */
.border-white-top{
    border-top: 8px solid #FFF;
}
.border-red-top{
    border-top: 4px solid #D71018;
}
.indent{
    text-indent: 1em;
}
.image-radius img{
    border-radius: 12px;
}
mark.has-inline-color{
    padding:0.1em 0.3em;
}

/* ボタン */
.btn-white a, .btn-green a{
    transition: 0.3s;
}
.btn-white a{
    background: #FFF;
    color: var(--color_main);
    border: 1px solid var(--color_main);
}
.btn-white a:hover{
    border: 1px solid #000;
    background: #000;
    color: #FFF;
    transition: 0.3s;
}
[data-type="loos/button"].is-style-btn_normal.btn-white a, [data-type="loos/button"].is-style-btn_shiny.btn-white a, [data-type="loos/button"].is-style-btn_solid.btn-white a {
    color: var(--color_main);
}


/* 表組み */
.wp-block-table td, .wp-block-table th {
    padding: 1em .75em;
}
.min_width15_ {
    --swl-minwidth-cell: 120px;
}


/* 投稿リストブロックのカード型とサムネイル型を4列表示にする */
@media (min-width: 960px) {
    .-col4 .-type-card.-pc-col3 .p-postList__item, .-col4 .-type-thumb.-pc-col3 .p-postList__item{
        width: calc(100% / 4 - 1vw);
    }
    .-col5 .-type-card.-pc-col3 .p-postList__item, .-col5 .-type-thumb.-pc-col3 .p-postList__item{
        width: calc(100% / 4 - 1vw);
    }
}
@media (min-width: 1500px) {
    .-col5 .-type-card.-pc-col3 .p-postList__item, .-col5 .-type-thumb.-pc-col3 .p-postList__item{
        width: calc(100% / 5 - 1vw);
    }
}
@media (min-width: 1320px) {
    .-sidebar-on.post-type-archive-works .l-mainContent .-type-card.-pc-col3 .p-postList__item,
    .-sidebar-on.archive.tax-works_cat .l-mainContent .-type-card.-pc-col3 .p-postList__item,
    .-sidebar-on.archive.tax-works_tag .l-mainContent .-type-card.-pc-col3 .p-postList__item {
        width: calc(33.33333% - 1vw);
    }
}

/* group hyperlink */
a.wp-block-tiptip-hyperlink-group-block {
    text-decoration: none;
    color: inherit;
    transition: 0.3s;
    margin-top: 0;
    margin-bottom: 0;
  }
  a.wp-block-tiptip-hyperlink-group-block:hover{
    opacity: 0.7;
  }
  .post_content a>:first-child {
    margin-top: 0 !important;
}

/* トップページ
==================================================== */

/* mv */
.p-mainVisual__slide:has(.p-mainVisual__textLayer>a):hover{
    opacity: 0.8; 
    transition: 0.5s;
}
.p-mainVisual__inner.swiper{
    --swiper-nav-border-width: 3px;
    --swiper-navigation-size: 80px;
}
.p-mainVisual__inner.swiper .swiper-button-next,
.p-mainVisual__inner.swiper .swiper-button-prev {
    color: #FFF;
}
.p-mainVisual__inner.swiper .swiper-button-next,
.p-mainVisual__inner.swiper .swiper-button-prev {
    top: calc(50% + 20px);
}
@media(max-width: 599px){
    .p-mainVisual__inner.swiper{
        --swiper-navigation-size: 40px;
    }
}

/* 営業品目 */
@media(max-width: 599px){
    .post_content .product_menu_link h4.is-style-section_ttl{
        font-size: 1em;
        margin-bottom: 0.5em;
        text-align: left;
    }
    .product_menu_body .wp-block-group__inner-container {
        display: flex;
        flex-wrap: nowrap;
        gap: 8px;
    }
    .product_menu_body .wp-block-group__inner-container p{
        --wp--preset--font-size--small: 0.8em;
    }
    .product_menu_body .wp-block-group__inner-container figure img{
        max-width: 80px;
        aspect-ratio: 1/1;
        object-fit: cover;
    }
}

/* 【下層】問い合わせフォーム
==================================================== */
/* MW */
.contact_form span.form_required{
	display:inline-block;
	margin-left: 1em;
	font-size:0.75em;
	padding:0.25em 1em;
	color: var(--color_main);
    border: 1px solid var(--color_main);
	background-color: #ffffff;
	position: absolute;
	right: 1em;
}
.post_content .td_to_th_.contact_form tbody tr>:first-child {
    padding-right: 4em;
}
.gcal-sunday a, .gcal-sunday span{color: #f00 !important;}
.gcal-saturday a, .gcal-saturday span{color: #0af !important;}
.special-holiday a, .special-holiday span{color: #f00 !important;}
.jp-holiday a, .jp-holiday span{color: #f00 !important;}
.mwform-tel-field input[type="text"] {width: 70px !important;}

.submit_button{
    background: var(--color_main);
    border: 1px solid var(--color_main);
    color: #fff;
    border-radius: 0.25em;
    display: block;
    letter-spacing: 0.1em;
    line-height: 1.5;
    margin: 1.5em auto 0.5em;
    padding: 0.5em;
    position: relative;
    text-decoration: none;
    width: 300px;
}
.submit_button:hover{
    background: #FFF;
    border: 1px solid var(--color_main);
    color: var(--color_main);
}
input[name="submitBack"]{
    background: #FFF;
    border: 1px solid var(--color_main);
    color: var(--color_main);
    margin-top: 0;
}
input[name="submitBack"]:hover{
    background: #dedede;
    border: 1px solid var(--color_main);
    color: var(--color_main);
}

    
/* 【下層】困りごと解決事例
==================================================== */

/* 絞り込み検索 */
/* チェックボックス */
.solution_search .term-checkbox {
	display: none;
}
.solution_search .tagcloud, .wp-block-tag-cloud {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 2em;
}
.solution_search .term-cloud-link {
	background: #FFF;
	border: none;
	color: #333 !important;
	display: inline-block;
	line-height: 1;
	padding: 8px 12px !important;
	position: relative;
	text-decoration: none;
	font-size: 1em !important;
    border-radius: 8px;
}
.solution_search_wrap{
    background: #F3F3F3;
    padding: 3em 1em 2em;
    margin-bottom: 2em;
    position: relative;
}
.solution_search .swell-block-button{
    position: absolute;
    right: 1em;
    top: 1em;
}
.box_solution_product,
.box_solution_value{
    display: flex;
    align-items: center;
    border: 1px solid #ccc;
}
.box_solution_product{
    margin-bottom: 1em;
}
.solution_tax_ttl{
    width: 15%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25em;
    align-self: stretch;
}
.box_solution_product .solution_tax_ttl{
    background: #0076de;
    color: #fff;
}
.box_solution_value .solution_tax_ttl{
    background-color: #fffe34;
	color: #000;
}
.solution_tax_body{
    padding: 1.5em 1%;
    width: 83%;
}
.box_solution_product .term-cloud-link.selected {
	background-color: #0076de;
	color: #fff !important;
}
.box_solution_value .term-cloud-link.selected {
	background-color: #fffe34;
	color: #000 !important;
}

@media(max-width:599px){
    .solution_search .swell-block-button{
        position: relative;
        right: auto;
        top: auto;
    }
    .box_solution_product, .box_solution_value{
        display: block;
    }
    .solution_tax_ttl,.solution_tax_body{
        width: 100%;
    }
    .solution_search .term-cloud-link{
        font-size: 0.8em !important;
    }
    .solution_search .p-postList__excerpt{
        display: none;
    }
}

/* カード */
.solution_search .p-postList__meta .wp-block-tag-cloud {
	margin-bottom: 8px !important;
}
.solution_search .p-postList__meta .tag-cloud-link {
	margin-bottom: 0 !important;
	margin-left: 0 !important;
}
.solution_search .p-postList__body{
    display: flex;
    flex-direction: column;
}

.solution_list .p-postList__cat,
.solution_list .p-postList__tag,
.solution_search .p-postList__cat,
.solution_search .p-postList__tag{
    font-size: 0.8rem;
    display: inline-block;
    padding: 0.25em 0.5em !important;
    margin:0.25em;
    border-radius: 4px;
}
.solution_list .p-postList__cat,
.solution_search .p-postList__cat{
    background-color: #0076de;
	color: #fff;
}
.solution_list .p-postList__tag,
.solution_search .p-postList__tag{
    background-color: #fffe34;
	color: #000;
}

.single-solution .c-taxList:before{
    content: none;
}
.single-solution .c-categoryList__link.label_solution_product{
    background-color: #0076de;
	color: #fff;
    border: none;
}
.single-solution .c-categoryList__link.label_solution_value{
    background-color: #fffe34;
	color: #000;
    border: 1px solid #ccc;
}
.single-solution .l-articleBottom__section.-related .p-postList__meta{
    display: none;
}
.tax-solution_product .l-topTitleArea .c-pageTitle__subTitle,
.tax-solution_value .l-topTitleArea .c-pageTitle__subTitle{
    display: none;
}

.tax-solution_product .p-postList__link .p-postList__meta,
.tax-solution_value .p-postList__link .p-postList__meta{
    display: none;
}

.single-original .l-topTitleArea .c-categoryList__link,
.single-original .l-topTitleArea .c-tagList__link{
    background-color: var(--color_main);
	color: #fff;
    border: none;
}
.single-original .l-topTitleArea .c-categoryList__link{
    border: none;
}