@charset "UTF-8";
/********************************************************************************

common-sp.css

********************************************************************************/
/*============================================================
 css変数
*============================================================*/
:root {
}

/*============================================================
 system
*============================================================*/
/* pc-sp display switch
---------------------------------------- */
.forPC {
    display: none;
}
.forSP {
    display: inherit;
}

/*============================================================
 format
*============================================================*/
/* コンテンツ内
---------------------------------------- */


/*============================================================
 通常メインビジュアル(下層)
*============================================================*/
.page-lower #mainvisual {
    padding-top: 72px;
    margin-bottom: 48px;
}
.page-lower #mainvisual .mainvisual-info {
    margin-top: 24px;
}

/*============================================================
 特殊メインビジュアル(下層)
*============================================================*/
.page-lower #mainvisual-type2 {
    padding-top: 72px;
    margin-bottom: 48px;
}
.page-lower #mainvisual-type2 .bg-image {
    height: 320px;
}
.page-lower #mainvisual-type2 .bg-effect-image {
    height: 320px;

}
.page-lower #mainvisual-type2 .mainvisual-info {
    margin-top: 0;
}
.page-lower #mainvisual-type2 .eyecatch {
    margin-top: 32px;
    width: 100%;
    height: 260px;
}
.page-lower #mainvisual-type2 .eyecatch img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/*============================================================
 サイドボタン
*============================================================*/
#side-btn-list {
    top: 160px;
}
#side-btn-list .layout .parts-btn {
    width: 48px;
    height: 130px;
    --font-size: 14px;
}

/*============================================================
 SNSシェアブロック関連
*============================================================*/
/* SNSシェアブロック
---------------------------------------- */
.block-sns-share {
    gap: 24px;
}
.block-sns-share .url-copy-clipbord {
    margin-right: 25px;
}
.block-sns-share .url-copy-clipbord::after {
    right: -25px;
}
.block-sns-share .list-sns {
    gap: 24px;
}

/*============================================================
 コンテンツ共通
*============================================================*/
/* 要素幅超スクロール
---------------------------------------- */
.block-wscroll-sp {
    width: calc(var(--common-vw) - ((var(--common-vw) - 100%) / 2));
    overflow-x: auto;
}
.block-wscroll-sp .block-wscroll-inner {
    width: max-content;
    padding: 4px 16px 16px 4px;
}
.block-wscroll-sp .block-wscroll-inner > * {
    width: auto;
    /* white-space: nowrap; */
}

/* カード
---------------------------------------- */
/* 要素幅超スクロールではないカード一覧 */
:not(.block-wscroll-inner) > .block-card {
    flex-direction: column;
    max-width: 480px;
    margin: 0 auto;
}
:not(.block-wscroll-inner) > .block-card .item {
    width: 100%;
}

/* 要素幅超スクロールのカード一覧 */
.block-wscroll-inner .block-card .item {
    width: 300px;
}

/* ページリンク
---------------------------------------- */
.block-page-link {
}

/* カテゴリ選択
---------------------------------------- */
.block-select-term {
}

/* メタ
---------------------------------------- */
.block-meta {
}

/* カード
---------------------------------------- */
.block-card {
}

/* リスト
---------------------------------------- */
.block-list {
}
.block-list .item .item-title {
    flex: none;
    width: 100%;
}

/* 直書きスライド
---------------------------------------- */
.block-static-slide {
    --slide-width: min(400px, 70vw);
    --swiper-space-between: 20px;
}
.block-static-slide [class^="swiper-button-"] {
    /* display: none; */
}
.block-static-slide .swiper-slide .layout {
    flex-direction: column;
}
.block-static-slide .swiper-slide .layout .image {
    width: 100%;
    height: 100%;
    aspect-ratio: 4 / 3;  
}
.block-static-slide .swiper-slide .layout .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.block-static-slide .swiper-slide .layout .info {
    padding: 16px;
}

/* フロー
---------------------------------------- */
.block-flow .flow {
    flex-direction: column;
}
.block-flow .flow::before {
    width: 100%;
    height: auto;
    border-right: unset;
    border-bottom: solid 1px #d9d9d9;
    line-height: 100%;
    padding-bottom: 8px;
}
.block-flow .flow .summary {
    flex-direction: column;
}
.block-flow .flow .summary .info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.block-flow .flow .summary .info .title {
    font-weight: bold;
    font-size: 24px;
    line-height: 160%;
}
.block-flow .flow .summary .info .lead {
}
.block-flow .flow .summary .image {
    width: 100%;
}
.block-flow .flow .summary .image img {
    border-radius: 16px;
    width: 100%;
}

/*============================================================
 共通セクション
*============================================================*/
/* カテゴリ選択
---------------------------------------- */
#sec-select-term {
    margin-bottom: 48px;
}

/* よくあるご質問
---------------------------------------- */
#sec-faq {
}
#sec-faq .layout .info .block-title {
    margin-bottom: 0;
}
#sec-faq .layout {
    flex-direction: column;
}
#sec-faq .layout .parts-accordions {
    flex: unset;
    margin-bottom: 32px;
}
#sec-faq .parts-btn {
    --margin: 0 auto;
}

/* 納期シミュレーション
---------------------------------------- */
.sec-analysis-simulation .block-simulation {
    padding: 24px 16px 24px 16px;
    background-color: #FFF6E9;
    border-radius: 16px;
    border: solid 1px #FFCF8B;
}
.sec-analysis-simulation .block-simulation .sec-title {
    font-size: 24px;
}
@media screen and (max-width: 539px) {
    .sec-analysis-simulation .block-simulation .block-form .block-dataset {
        flex-direction: column;
        justify-content: unset;
        align-items: unset;
    }
    .sec-analysis-simulation .block-simulation .block-form .block-dataset .simulation-date {
        width: 100%
    }
    .sec-analysis-simulation .block-simulation .block-form .block-dataset select {
        width: 100%
    }
}
.sec-analysis-simulation .block-simulation .block-form .block-result .tbl-result th,
.sec-analysis-simulation .block-simulation .block-form .block-result .tbl-result td {
    padding: 4px;
    font-size: 14px;
}

/*============================================================
 記事 目次
*============================================================*/
.block-post-content #ez-toc-container {
}

/*============================================================
 パターン
*============================================================*/
/* パターン デフォルト調整
---------------------------------------- */
/* 横並びブロック */
.block-post-content .wp-block-group-is-layout-flex {
    flex-direction: column;
}

/* パターン（セクション）
---------------------------------------- */
/* 本記事の要約 */
.block-post-content .inner .pattern-section-post-summary {
    margin: 36px 0 0 0;
    padding: 24px;
}
.block-post-content .inner .pattern-section-post-summary:before {
    height: 36px;
    font-size: 16px;
    top: -36px;
}

/* パターン（ブロック）
---------------------------------------- */
/* 定義リスト */
.block-post-content .inner .pattern-block-dl .row .label {
    flex: unset;
}
/* 画像+情報 */
.block-post-content .inner .pattern-block-image-info .image {
    flex: unset;
    width: 100% !important;
}
.block-post-content .inner .pattern-block-image-info .image img {
    max-width: unset;
    width: 100% !important;
}
.block-post-content .inner .pattern-block-image-info .info {
    flex: unset;
    width: 100%;
}

/* 複数列(共通) */
.block-post-content .inner .pattern-block-flex {
    gap: 32px !important;
}
/* ボタンリスト */
.block-post-content .inner .pattern-block-btn-list {
    width: 100%;
    max-width: 360px;
    flex-direction: column;
    margin: 0 auto;
}
.block-post-content .inner .pattern-block-btn-list .wp-block-button {
    width: 100%;
}
.block-post-content .inner .pattern-block-btn-list .wp-block-button__link {
    width: 100%;
}

/* パターン（アイテム）
---------------------------------------- */

/*============================================================
記事本文（旧記事対応）
*============================================================*/
/* 余白調整
---------------------------------------- */

/* フォント調整
---------------------------------------- */

/* 旧ブロック調整
---------------------------------------- */
/* 「本記事の要約」ブロック */
#sec-post.old-post .old-block-summary .vk_borderBox_body {
    padding: 24px;
}

/* アイコンラベルブロック */

/* ボーダーボックスブロック（「本記事の要約」以外） */
#sec-post.old-post .old-block-border-box .vk_borderBox_body {
    padding: 24px;
}

/* 引用ブロック */

/* カードブロック */

/* デフォルトブロック調整 */
#sec-post .wp-block-buttons .wp-block-button {
    width: 100%;
    max-width: 480px;
}
#sec-post.old-post .wp-block-buttons .wp-block-button__link {
    width: 100%;
}

/*============================================================
 記事本文ブロック
*============================================================*/
/* 見出し
---------------------------------------- */

/*============================================================
 CTA
*============================================================*/
/* お問い合わせ
---------------------------------------- */
#sec-cta-list {
}

/*============================================================
 アーカイブ内検索フォーム
*============================================================*/
#sec-search form {
    max-width: 480px;
    margin: 0 auto;
}
#sec-search form label {
    width: 100%;
}

/*============================================================
 footer
*============================================================*/
#site-footer {
    padding: 0 0 8px 0;
}
#site-footer .footer-catch-totop .footer-catch {
    font-size: 12px;
}
#site-footer .footer-info {
    flex-direction: column;
    align-items: center;
    gap: 32px 0;
    margin-bottom: 40px;
}
#site-footer .footer-info .company {
    text-align: center;
}
#site-footer .footer-info .company .logo {
    margin-bottom: 24px;
}
#site-footer .footer-info .company .logo img {
    width: 180px;
}
#site-footer .footer-info .fnav {
    flex: none;
    width: 100%;
}
#site-footer .footer-info .fnav .contact-list {
    flex-direction: column;
    align-items: center;
}
#site-footer .footer-info .fnav .contact-list .contact-site .catch {
    font-size: 14px;
    letter-spacing: 1.12px;
    margin-bottom: 20px;
}
#site-footer .footer-info .fnav .contact-list .contact-site .list {
    flex-direction: unset;
}
#site-footer .footer-info .fnav .contact-list .contact-tel {
    padding: 34px 32px;
    width: 100%;
    margin-top: 0;
}
#site-footer .footer-info .fnav .contact-list .contact-tel .catch {
    gap: 10px;
    font-size: 14px;
    letter-spacing: 1.12px;
}
