/*
Theme Name: 株式会社サワムラレンタル
Theme URI: https://arkhe-theme.com/
Template: arkhe
Author: LOOS,Inc.
Author URI: https://loos.co.jp/
Description: A very simple theme for production templates. Customize as you like.
Tags: two-columns,one-column,right-sidebar,custom-colors,custom-menu,editor-style,theme-options,block-styles,wide-blocks
Version: 3.11.0.1743947272
Updated: 2025-04-06 22:47:52

*/

/* ---------- デフォルト ---------- */
body,
div,
p {
    font-family: 'Noto Sans JP', sans-serif !important;
    font-display: optional !important;
    font-display: swap;
}

#main_content .smb-section h2 {
    color: #0C4DA2;
}

#main_content .smb-section h3 {
    color: #0C4DA2;
}


h1.c-pageTitle__main {
    font-family: 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', '游明朝', 'Yu Mincho', '游明朝体', 'YuMincho', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
    font-size: 2.8rem !important;
    text-align: left;
}


@media (max-width: 680px) {
    .c-container {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    h1.c-pageTitle__main {
        font-size: 1.8rem !important;
    }
    #main_content .smb-section h2{
        font-size: 1.6rem !important;
    }
}

/* ---------- ヘッダー ---------- */

@media (min-width: 1000px) {
    #header .l-container {
        max-width: 100%;
    }

    #header .l-header__center {
        max-width: 100%;
        width: 100%;
    }
}

.c-headLogo__img {
    vertical-align: baseline;
}

[data-btns=l-r] .l-header__body {
    grid-template-areas: "menu left center right search";
    grid-template-columns: var(--ark-drawerW) calc(15% - var(--ark-drawerW)) 70% calc(15% - var(--ark-searchW)) var(--ark-searchW);
}

/* ---------- スマホ メインメニュー ---------- */
[data-btns="r-l"] .l-header__body {
    grid-template-columns: var(--ark-searchW) calc(15% - var(--ark-searchW)) 70% calc(15% - var(--ark-drawerW)) var(--ark-drawerW);
}

.p-drawer {
    background: #0c4da2e6;
}
.c-drawerNav{
    border: 0px !important;
}
.c-drawerNav .menu-item{
    border-bottom: 1px dotted #0b2e5c;
}


/* ---------- メインメニュー ---------- */

/* 2段表示を維持しつつ、メニューを等幅表示 */
@media (min-width: 1000px) {

    /* ヘッダー全体を2段表示にする */
    .l-header__body {
        display: flex;
        flex-direction: column;
        /* 縦方向にレイアウトを維持 */
        align-items: center;
    }

    /* 1段目のロゴ部分 */
    .l-header__center {
        max-width: 1200px;
        /* 固定幅1200px */
        width: 100%;
        text-align: left;
        /* 左揃え */
        margin: 0 auto;
        /* 中央揃え */
    }

    /* 2段目のメニュー部分 */
    .l-header__right {
        max-width: 1200px;
        /* 固定幅1200px */
        width: 100%;
        text-align: right;
        /* 右揃えの要素を保持 */
        margin: 0 auto;
        /* 中央揃え */
    }

    /* ナビゲーションのラップ（中央揃え、固定幅1200px） */
    .c-gnavWrap {
        width: 1200px;
        /* 固定幅1200px */
        margin: 0 auto;
        /* 中央揃え */
    }

    /* ナビゲーションメニューの等幅表示 */
    .c-gnav {
        display: flex;
        justify-content: space-between;
        /* 各メニューを等間隔に配置 */
        padding: 0;
        margin: 0;
        list-style: none;
        /* リストのデフォルトスタイルを削除 */
        width: 100%;
        /* ナビゲーション全体を100%幅に */
    }

    /* 各メニューアイテムの等幅設定 */
    .c-gnav__li {
        flex: 1;
        /* メニュー項目を等幅に表示 */
        text-align: center;
        /* テキストを中央に配置 */
    }

    /* メニューリンクのスタイル */
    .c-gnav__a {
        display: block;
        padding: 10px 0;
        /* クリックしやすいパディング */
    }

    /* l-header__center の中で logo と header_info を横並びに */
    .l-header__center {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        /* 横幅全体を使用 */
    }

    .header_info {
        width: 515px;
        /* header_info の幅を 700px に設定 */
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-left: 20px;
        /* ロゴとのスペースを確保 */
    }

    .tel_info {
        display: flex;
        flex-direction: column;
        margin-right: 15px;
        /* TEL番号と営業時間を縦並びに */
    }

    .tel_number {
        font-size: 1.8rem;
        /* TEL番号を適度に大きく */
        background-color: transparent;
        /* 背景は無色 */
        font-weight: 600 !important;
        color: #014099;
        line-height: 120%;
    }

    .business_hours {
        font-size: 0.7rem;
        /* 営業時間を小さく表示 */
    }

    /*.contact_button {
        background-color: #ea5550;
        color: #fff;
        padding: 10px 20px;
        text-decoration: none;
        border-radius: 5px;
        font-size: 1.2rem;
        display: inline-block;
        font-weight: 500 !important;
    }
    .contact_button:hover {
        background-color: #e96560;
    }*/

    a.contact_button {
        position: relative;
        display: flex;
        justify-content: space-around;
        align-items: center;
        margin: auto;
        max-width: 280px;
        padding: 10px 35px;
        font-family: "Noto Sans Japanese";
        text-decoration: none;
        color: #014099;
        line-height: 1.8;
        transition: 0.3s ease-in-out;
        font-weight: 500;
        border: 1px solid #014099;
        font-weight: 700;
        background-color: #ffffffa6;
    }

    a.contact_button:after {
        content: "";
        position: absolute;
        top: 50%;
        bottom: 0;
        right: 1.4rem;
        font-size: 90%;
        display: flex;
        justify-content: center;
        align-items: center;
        transition: right 0.3s;
        width: 6px;
        height: 6px;
        border-top: solid 2px currentColor;
        border-right: solid 2px currentColor;
        transform: translateY(-50%) rotate(45deg);
    }

    a.contact_button:hover {
        background: #191970;
        color: #FFF;
        border: 1px solid #0661B3;
    }

    a.contact_button:hover:after {
        right: 1.1rem;
    }

    /*svg:not(:host).svg-inline--fa,
    svg:not(:root).svg-inline--fa {
        margin-right: 5px;
    }*/

    ul.c-gnav {
        padding-bottom: 8px;
    }

    ul.c-gnav li {
        padding-top: 10px;
        padding-bottom: 10px;
    }
/*
    ul.c-gnav li:last-child {
        border-right: 1px solid #ddd;
    }*/

    .c-gnav__li>a.c-gnav__a:first-child{
        border-left: 1px solid #01439A;
    }
    .c-gnav__li>.c-gnav__a {
        padding: 0px 12px !important;
    }
    .menu_last a{
        border-right: 1px solid #01439A;
    }
}

@media (min-width: 1000px) {
    ul.c-gnav li {
        font-family: 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', '游明朝', 'Yu Mincho', '游明朝体', 'YuMincho', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
        font-size: 1rem !important;
        font-weight: 600;
    }

    /*ul.c-gnav li {
        position: relative;
    }

    ul.c-gnav li::before {
        content: '';
        position: absolute;
        top: 7px;
        left: 20px;
        width: 1px;
        height: 70%;
        background-color: #1E7200;
        transform: rotate(45deg);
        transform-origin: top left;
        pointer-events: none;
    }

    ul.c-gnav li:last-child::after {
        content: '';
        position: absolute;
        top: 7px;
        right: 0;
        width: 1px;
        height: 70%;
        background-color: transparent;
        border-right: 1px solid #1E7200;
        transform: rotate(45deg);
        transform-origin: top right;
    }
    .c-gnav .__mainText {
        font-size: inherit;
        font-size: 1rem;
        font-weight: 700;
    }*/
}


@media (max-width: 999px) {
    .header_info {
        display: none;
    }
}

@media (min-width: 768px) {
    .chukai_menu .__mainText {
        font-size: 0.8rem !important;
        margin-top: -3px;
    }

    .chukai_menu .__subText {
        font-size: 0.5rem;
    }
}

/* ---------- スマホTEL ---------- */
@media (min-width: 751px) {
    a[href*="tel:"] {
        pointer-events: none;
        cursor: default;
        text-decoration: none;
        color: #000;
    }
}

.mainimg_box1 strong{
    font-size: 120%;
    color: #FAEE00;
}
.mainimg_box2 strong{
    color: #FAEE00;
}

/* ---------- NEWSマークがつく記事一覧 ---------- */
/* 記事のリスト全体のスタイル */
.custom-post-list {
    list-style-type: none;
    padding: 0;
    margin: 20px 0;
}

/* 各記事のスタイル */
.custom-post-list .post-item {
    display: flex;
    justify-content: flex-start;
    /* 項目を左揃えに */
    align-items: flex-start;
    /* 項目を上揃えに */
    border-bottom: 1px solid #ddd;
    padding: 15px 0;
}

/* 日付のスタイル */
.custom-post-list .post-date {
    font-weight: bold;
    font-size: 0.9em;
    color: #666;
    margin-right: 20px;
    /* タイトルとの間に余白を追加 */
    min-width: 100px;
    /* 日付の最小幅を指定して揃えやすくする */
    align-self: center;
    /* 日付を中央揃え */
}

/* コンテンツ部分のスタイル */
.custom-post-list .post-content {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

/* 記事タイトルのリンクスタイル */
.custom-post-list .post-title a {
    font-size: 1em;
    text-decoration: none;
    color: #333;
    transition: color 0.2s;
}

.custom-post-list .post-title a:hover {
    color: #0073aa;
}

/* NEWマークのスタイル */
.custom-post-list .new-label {
    background-color: red;
    color: #fff;
    padding: 2px 6px;
    border-radius: 3px;
    font-size: 0.8em;
    margin-left: 10px;
    align-self: center;
    /* NEWマークを中央揃え */
}

/* 詳細部分のスタイル */
.custom-post-list .post-details {
    font-size: 0.85em;
    color: #999;
    margin-top: 5px;
}

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

.pp_top_sec1 h2{
    position: relative;
    padding: .5em .7em .4em;
    border-bottom: 3px solid #2589d0;
    color: #333333;
}

.pp_top_sec1 h2::before,
.pp_top_sec1 h2::after {
    position: absolute;
    left: 50%;
    bottom: -15px;
    width: 30px;
    height: 15px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
}

.pp_top_sec1 h2::before {
    background-color: #2589d0;
}

.pp_top_sec1 h2::after {
    bottom: -11px;
    background-color: #fff;
}

.product_sec1 h3 {
    font-size: 1.4rem !important;
    margin-bottom: 10px;
    padding-top: 10px;
}

.product_sec1 h3 strong {
    font-size: 2rem !important;
    font-weight: normal !important;
}

.type_box1 {
    padding: 5px;
    max-width: 250px;
    text-align: center;
    color: #ffffff;
    background-color: #0C4DA2;
    font-weight: 600;
    border-left: 5px solid #F7EE12;
}

.pp_top_sec1 .wp-block-snow-monkey-blocks-items h4 {
    font-size: 1em !important;
    padding: 10px 5px;
    margin-bottom: 10px;
    background-color: #F7EE12;
    text-align: center;
}

@media (max-width: 640px) {
    .pp_top_sec1 h2{
        font-size: 1.5rem;
        padding: .5em .0em .4em;
    }
    .pp_top_sec1 svg{
        display: none;
    }
    .top_main_img-sp {
        
    }
    .type_box1 {
        max-width: 100% !important;
    }
    .custom-post-list .post-date{
        display: block;
    }
}

/* ---------- 商品紹介 ---------- */
.product_sec1 h2 {
    font-size: 3.2rem !important;
    border-top: 1px solid #0C4DA2;
    border-bottom: 1px solid #0C4DA2;
    padding: 20px 0;
}

.line_tb h2 {
    border-top: 1px solid #0C4DA2;
    border-bottom: 1px solid #0C4DA2;
    padding: 20px 0px;
}

.toku-box1 {
    width: 170px;
    padding: 6px 12px;
    border: 1px solid #0044aa;
    border-radius: 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
    color: #0044aa;
    font-weight: bold;
    font-size: 14px;
    background-color: white;
}

.toku-box1 .text {
    flex: 1;
    display: flex;
    justify-content: space-between;
    padding: 0 10px;
    /* 両端に余白を追加 */
    box-sizing: border-box;
}

.toku-box1 .arrow {
    margin-left: 6px;
}

.toku-f1 {
    font-size: 0.8rem;
}

ul.toku-box2 {
    display: flex;
    flex-wrap: wrap;
    text-align: left;
}

ul.toku-box2 li {
    width: 50%;
}

.product_box1 {
    text-align: center;
    color: #0044aa;
}

.product_box1 h3 {
    font-size: 2.4rem !important;
    font-weight: 600 !important;
}

p.pb_bi1 {
    margin-top: 0px !important;
}

p.pb_bi2 {
    border: 1px solid #0044aa;
    padding: 5px;
    border-radius: 20px;
    font-size: 1.4rem !important;
    box-shadow: 0 4px 4px rgba(0, 68, 170, 0.575);
}

p.pb_bi3 {
    margin-top: 5px !important;
    font-size: 0.9rem;
}

.product_box2 {
    max-width: 800px;
    margin: auto;
}

.pb2_1 {
    text-align: center;
    background-color: #0044aa;
    color: #fff;
    padding: 5px;
    width: 300px;
    border-radius: 20px;
}

.pp_product_box1 h3 {
    font-size: 1.8rem !important;
    border-left: 10px solid #014099;
    line-height: 100%;
    padding: 0 10px 5px;
    border-radius: 10px;
}

.pp_product_box2 h3 {
    background-color: #0044aa;
    padding: 5px 10px;
    border-radius: 20px;
    text-align: center;
    color: #fff !important;
    font-size: 1.3rem !important;
    font-weight: 500 !important;
}

.pb2_2 th {
    width: 40%;
}

.pb2_3 th {
    width: 30%;
}

.pb2_4 {
    background-color: #0044aa;
    padding: 5px;
    border-radius: 20px;
    color: #fff !important;
    text-align: center;
}

.pb2_5 {
    margin-top: 5px !important;
    font-size: 0.9rem;
}

.pd_box1 h3 {
    font-size: 1.2rem;
    margin-bottom: 5px;
}

.pd_box1 h3 em {
    font-size: 1rem;
    font-style: normal;
}

.wp-block-flexible-table-block-table strong {
    font-size: 130%;
}

.wp-block-flexible-table-block-table em {
    font-weight: 600;
    font-style: normal;
}
.list_product1.wp-block-list strong{
    color: #004098 !important;
}

@media (min-width: 768px) {
    .pp_top_sec1 h2 {
        font-size: 2.8rem;
    }

    .line_tb h2 {
        font-size: 2.4rem;
    }

    .prod_box1 {
        text-align: center;
        font-size: 1.2rem;
    }
}

@media (max-width: 680px) {
    .product_sec1 h2 {
        font-size: 2.4rem !important;
    }

    ul.toku-box2 {
        display: block;
        margin-left: -15px;
    }

    ul.toku-box2 li {
        width: 100% !important;
    }

    .pb2_1 {
        width: 100%;
    }

    .pp_product_box1 h3 {
        font-size: 1.5rem !important;
    }

    .pp_product_box2 .wp-block-media-text {
        display: block !important;
    }

    .pp_product_box2 img {
        width: 50%;
        margin: auto;
    }

    .pd_box1 h3 {
        border-left: 5px solid #004098;
        padding: 1px 5px 4px 5px;
        line-height: 100%;
    }
}

/* --- 商品詳細ページ ---*/
#main_content .sec_model1 h2 {
    font-size: 2.8rem !important;
}

.sec_model1 ul {
    margin-top: 5px !important;
}

.sec_model1 .smb-section__subtitle {
    width: 50%;
    border-top: 1px solid #014099;
    border-bottom: 1px solid #014099;
    margin: auto;
    font-size: 1.8rem;
    padding: 5px;
    color: #014099;
}

.sec_model1 .smb-section__lede-wrapper {
    background-color: aliceblue;
    width: 50%;
    margin: auto;
    padding: 5px;
}

.smb-section__lede {
    font-size: 1.2rem;
}

.type-list1 {
    padding: 20px;
    text-align: center;
    padding-bottom: 10px;
    border-bottom: 1px solid #004098;
}

.type-list1 a {
    display: block;
    border: 1px solid #004098;
    background-color: #fff;
    padding: 10px 20px;
    text-decoration: none;
}

.type-list1 a:hover {
    background-color: #0073aa;
    color: #fff;
}

p.p_pos1 {
    margin-top: 5px !important;
}

@media (min-width: 768px) {
    /*.sec_model1 img {
        width: 80%;
        margin: auto;
    }*/
}

@media (max-width: 767px) {

    /*.sec_model1 img {
        width: 100%;
        margin: auto;
    }*/
    .sec_model1 .smb-section__subtitle {
        width: 100%;
    }

    .sec_model1 .smb-section__lede-wrapper {
        width: 80%;
    }

    .type-list1 {
        padding: 0px !important;
        border-bottom: 0px solid #004098;
    }
}

/* ---------- 商品番号 ---------- */
.product-code-label {
    display: inline-flex;
    align-items: stretch;
    font-family: sans-serif;
    font-weight: bold;
    border: 1px solid #000;
    overflow: hidden;
    height: 28px;
}

.label-text {
    background-color: #000;
    color: #fff;
    padding: 0 12px;
    font-size: 14px;
    clip-path: polygon(0 0, 100% 0, 90% 100%, 0% 100%);
    display: flex;
    align-items: center;
}

.product-code {
    background-color: #fff;
    color: #000;
    padding: 0 12px;
    font-size: 14px;
    display: flex;
    align-items: center;
}

.panel_box1 h3.wp-block-heading {
    margin: 15px 0px;
    border-left: 5px solid #333;
    padding: 5px 10px;
    font-size: 1.2rem !important;
    color: #333 !important;
}

.panel_box1 .wp-block-flexible-table-block-table {
    margin-top: 15px;
}

/* --- ボタン ---*/
a.btn1 {
    width: 330px;
    padding: 0.5rem 1.5rem;
}

a.btn2 {
    width: 100%;
    padding: 1rem;
}

a.btn1,
a.btn2 {
    display: block;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    margin: auto;
    border-radius: 100vw;
    color: #fff;
    background: #27acd9;
}

a.btn1:hover,
a.btn2:hover {
    background-position: right center;
    background-size: 200% auto;
    -webkit-animation: pulse 2s infinite;
    animation: shad26 1.5s infinite;
    color: #fff;
}

@keyframes shad26 {
    0% {
        box-shadow: 0 0 0 0 #27acd9;
    }

    70% {
        box-shadow: 0 0 0 10px rgb(39 172 217 / 0%);
    }

    100% {
        box-shadow: 0 0 0 0 rgb(39 172 217 / 0%);
    }
}

@media (max-width: 468px) {

    a.btn1,
    a.btn2 {
        width: 100%;
        padding: 1rem;
    }
}

/* --- ご注文から納品までの流れ 箇所 ---*/

.oflow-title {
    display: inline-flex;
    align-items: center;
    border: 1px solid #1c5db5;
    border-radius: 20px;
    padding: 6px 16px;
    font-weight: bold;
    color: #1c5db5;
    margin-bottom: 20px;
    font-size: 16px;
    background-color: #fff;
}

.oflow-arrow {
    margin-left: 10px;
}

.oflow-wrapper {
    max-width: 1200px;
    margin: auto;
    padding: 20px 10px;
    background-color: #f4f6fb;
}

.oflow-steps {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
}

/* 各ステップカード */
.oflow-step {
    background: #ffffff;
    border-radius: 10px;
    padding: 20px 15px 15px;
    position: relative;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

/* 左上のSTEPラベル */
.oflow-step-label {
    position: absolute;
    top: 10px;
    left: 15px;
    font-size: 12px;
    font-weight: bold;
    color: #1c5db5;
    background: #e6f0ff;
    padding: 2px 6px;
    border-radius: 4px;
}

/* アイコン */
.oflow-icon {
    background: #fff300;
    color: #1c5db5;
    font-size: 26px;
    width: 60px;
    height: 60px;
    margin: 30px auto 10px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* タイトル */
.oflow-heading {
    font-size: 16px;
    text-align: center;
    color: #1c5db5;
    margin: 10px 0;
}

/* 本文 */
.oflow-text {
    font-size: 13px;
    text-align: left;
    line-height: 1.5;
    margin: 0;
}

/* 備考 */
.oflow-note {
    margin-top: 20px;
    font-size: 12px;
    text-align: left;
    border-top: 1px solid #ccc;
    padding-top: 10px;
    color: #666;
}

/* レスポンシブ対応：スマホで1列表示 */
@media screen and (max-width: 767px) {
    .oflow-steps {
        grid-template-columns: 1fr;
    }
}

/* タブレット：2列表示 */
@media screen and (min-width: 768px) and (max-width: 1024px) {
    .oflow-steps {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* PC：3列表示まで */
@media screen and (min-width: 1025px) {
    .oflow-steps {
        grid-template-columns: repeat(5, 1fr);
    }
}

/* ----------- ご利用案内 ----------- */

.guide_box1 {
    border-bottom: 1px dotted #0661B3;
    padding-bottom: 30px;
}

@media (min-width: 1000px) {
    .guide_menu ul {
        display: flex;
        flex-wrap: wrap;
    }

    .guide_menu ul li {
        width: 25%;
    }
}

/* ---------- ブロック ---------- */

.vk_borderBox{
    margin-bottom: 0px !important;
}

.sozai_col_1.vk_borderBox .vk_borderBox_body {
    margin-top: -15px;
        padding: 0.5em !important;
}
.vk_borderBox.is-style-vk_borderBox-style-solid-kado-tit-onborder{
    border-width: 1px !important;
}
@media (max-width: 600px) {
    .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
        padding: 20px 0 0 !important;
    }

}

/* ---------- よくあるご質問 ---------- */
.is-style-vk_faq-bgfill-rounded .vk_faq_title:before {
    background-color: #014099 !important;
}

.vk_faq .vk_faq_title p {
    color: #014099 !important;
}

.is-style-vk_faq-bgfill-rounded .vk_faq_content:before {
    color: #222 !important;
}

.vk_faq .vk_faq_content:before {
    color: #222 !important;
}

.is-style-vk_faq-bgfill-rounded .vk_faq_content:before {
    background-color: #F7EE12 !important;
}

.c-postContent> :first-child {
    margin-bottom: -1px !important;
}

/* ---------- サイド ---------- */

#sidebar {
    background-color: #F4F6FB;
    padding: 30px 20px;
}

#sidebar h2 {
    background-color: #fff;
    padding: 10px;
    border-left: 5px solid #FAEE00;
    font-size: 1rem !important;
    font-weight: normal;
    box-shadow: 2px 2px 4px #eee;
}

.wp-block-search__label {
    background-color: #fff;
    padding: 10px;
    border-left: 5px solid #FAEE00;
    font-size: 1rem !important;
    width: 100%;
    display: block;
    margin-bottom: 10px;
    box-shadow: 2px 2px 4px #eee;
}

@media (max-width: 680px) {
    #sidebar {
        padding: 15px;
    }
}

/* ---------- 関連記事 ---------- */

h2.c-bottomSection__title {
    background-color: #F4F6FB;
    font-size: 1rem;
    padding: 10px 20px;
}


/* ---------- パネルパーテーションへの問合せボタン ---------- */
.btn-inquiry {
    display: inline-block;
    padding: 10px 20px;
    background: #014099;
    color: #fff;
    text-decoration: none;
    border-radius: 4px;
}

/* ------------ フッター ------------ */

.footer_list1 .widget_nav_menu ul{
    display: flex;
    flex-wrap: wrap;
}
.footer_list1 .widget_nav_menu ul li{
    width: 50%;
}

#footer h2{
    background-color: #004098;
    padding: 5px 5px 5px 10px;
    color: #fff;
    font-size: 1rem !important;
    border-left: 5px solid #FAEE00;
}

@media (max-width: 640px) {
    .footer_list1 .widget_nav_menu ul li {
        width: 100%;
    }
}

/* ------------ 商品へのお問い合わせ ------------ */

#contact-form-area {
    overflow: hidden;
    background-color: #fff;
    padding: 40px;
}

#contact-form-area th,
#contact-form-area td {
    padding: 20px !important;
}

#contact-form-area th {
    width: 40%;
    text-align: left;
    font-weight: normal;
    vertical-align: middle;
}

div.wpcf7 .wpcf7-spinner {
    display: block;
}

#contact-form-area .form_1 {
    background-color: #f39800;
    padding: 10px;
    color: #fff;
    text-align: center !important;
    margin-bottom: 20px;
}

#contact-form-area .color-botton01 {
    width: 220px;
    margin: 20px auto;
    padding: 15px 5px;
    background-color: #f39800;
    text-align: center;
    border-radius: 30px;
}

#contact-form-area .color-botton01 a {
    color: #fff;
}

@media (min-width: 768px) {
    .wpcf7 {
        width: 100% !important;
    }
}

.wpcf7 {
    margin: 0px auto !important;
    padding: 0px !important;
    padding-bottom: 0px !important;
}

span.wpcf7-list-item {
    display: block !important;
    margin: 0 0 0 1em;
    width: 100%;
}

.must {
    color: #fff;
    margin-right: 5px;
    padding: 3px 5px;
    background: #F92931;
    border-radius: 10px;
    font-size: 10px;
}

.free {
    color: #fff;
    margin-right: 5px;
    padding: 3px 5px 3px;
    background: #a9a9a9;
    border-radius: 10px;
    font-size: 10px;
}

input.wpcf7-form-control.wpcf7-text,
textarea.wpcf7-form-control.wpcf7-textarea {
    width: 100%;
    padding: 8px 15px;
    margin-right: 10px;
    margin-top: 10px;
    border: 1px solid #d0d5d8;
    border-radius: 3px;
}

textarea.wpcf7-form-control.wpcf7-textarea {
    height: 200px;
}

input.wpcf7-submit {
    padding: 10px 80px;
    background: #ff7b00;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
}

.formb2 {
    margin-top: 10px;
    text-align: center;
}

span.wpcf7-not-valid-tip,
.wpcf7-response-output.wpcf7-validation-errors {
    color: red;
    font-weight: 600;
}

.wpcf7-form-control.wpcf7c-btn-confirm {
    width: 350px;
    padding: 15px !important;
    color: #fff;
    font-size: 30px !important;
    font-weight: 600;
    border-radius: 50px !important;
    margin-top: 30px !important;
    background: #ffc86a !important;
    background: -moz-linear-gradient(top, #ffc86a 0%, #f39800 100%) !important;
    background: -webkit-linear-gradient(top, #ffc86a 0%, #f39800 100%) !important;
    background: linear-gradient(to bottom, #ffc86a 0%, #f39800 100%) !important;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffc86a', endColorstr='#f39800', GradientType=0) !important;
}

@media only screen and (max-width:480px) {
    #contact-form-area {
        margin: 0 -10px;
    }

    #contact-form-area th,
    #contact-form-area td {
        width: 100% !important;
        display: block;
        border-top: none;
    }

    #contact-form-area tr:first-child th {
        border-top: 1px solid #ddd;
    }
}
