@charset "UTF-8";

/*---------------------------
  
  0.リセット、ベース等
    0.1　リセット
    0.2　ベース
    0.3　ヘルパー

  1.header
    1.1 header全般
        コラム記事のヘッダー設定
        お役立ち資料のサンクスページと記事（資料フォーム）のヘッダー設定
    1.2 header-nav-sp(スマホ・タブレット用ハンバーガー)
    1.3 header-nav-pc(PC用ナビ）

  2.footer

  3.パーツ
    3.1　ボタン
    3.2　ボックス
    3.3　olリスト
    3.4　見出し
    3.5　表
    3.7　ページャー、ページネーション

　4.カードユニット（3カラム・4カラム）

　5フォーム

  6.テキスト

　7.メディア（画像：テキスト）
    7.1 画像左：テキスト右
    7.2 画像右：テキスト左

　8.バナー
    8.1 コラム記事、上部固定バナー
    8.2 
---------------------------*/
/*=======================================================
　0.リセット、ベース
=======================================================*/
/* --------------------------------------------- 
　0.1 リセット
 --------------------------------------------- */
* {
    box-sizing: border-box;
}

html,
body,
h1,
h2,
h3,
h4,
p,
ul,
li,
ol,
dl,
dt,
dd, figure, div, tr, th, td, table, tbody {
    margin: 0;
    padding: 0;
}

a {
    text-decoration: none;
}

img, video {
    max-width: 100%;
}

img {
    border: none;
    border-style: none !important;
    vertical-align: top;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

ul, ol {
    list-style-type: none;
}

button,
input[type=button],
input[type=reset] {
    cursor: pointer;
    background: 0;
    border: 0;
    border-radius: 0;
}

input[type=submit] {
    cursor: pointer;
}

:focus-visible {
    outline: none;
}

/* --------------------------------------------- 
　0.2 ベース
 --------------------------------------------- */
html {
    font-size: 62.5%;
    scroll-behavior: smooth;
}

html.is-locked {
    overflow-y: hidden;
    /*ナビ表示のときはスクロールしないように*/
}

body {
    line-height: 1.6;
    background: #fff;
    color: #231815;
    font-size: 1.6em;
    font-weight: 500;
    /* winで游ゴシック使うときはウェイト指定入れる */
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
    -webkit-text-size-adjust: 100%;
    /*レスポンシブのとき*/
    /* letter-spacing: .05em; */
    letter-spacing: 0;
    /*safari文字大きさ変えない*/
    -webkit-text-size-adjust: 100%;
}

a {
    color: #231815;
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}

a:active, a:hover {
    color: #189F61;
    text-decoration: none;
}

a img {
    transition: 0.5s;
}

a img:hover {
    opacity: 0.7;
}

p {
    line-height: 1.6;
}

/* --------------------------------------------- 
　0.3 ヘルパー
 --------------------------------------------- */
.hp_db {
    display: block !important;
}

.hp_tac {
    text-align: center !important;
}

.hp_tal {
    text-align: left !important;
}

.hp_tar {
    text-align: right !important;
}

.hp_fwb {
    font-weight: 700 !important;
}

.hp_pl20 {
    padding-left: 20px !important;
}

.hp_mb30 {
    margin-bottom: 30px !important;
}

.hp_mb80 {
    margin-bottom: 80px !important;
}

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

.hp_mt20 {
    margin-top: 20px !important;
}

.hp_ml3rem {
    margin-left: 3rem !important;
}

/* --- フォントサイズ --- */
.hp_xxl, .hp_mob_xxl {
    font-size: 200% !important;
}

.hp_xl, .hp_mob_xl {
    font-size: 150% !important;
}

.hp_lg, .hp_mob_lg {
    font-size: 125% !important;
}

.hp_md, .hp_mob_md {
    font-size: 100% !important;
}

.hp_sm, .hp_mob_sm {
    font-size: 12px !important;
}

.hp_xs, .hp_mob_xs {
    font-size: 11px !important;
}

.hp_xxs, .hp_mob_xxs {
    font-size: 10px !important;
}

/* --- デバイス別表示 --- */
.lg_only {
    display: none;
}

.md_only {
    display: none;
}

.sm_only {
    display: inline-block;
}

.smMd_only {
    display: inline-block;
}

.mdLg_only {
    display: none;
}

/* ——————————————————768px以上に適用—————————————————— */
@media screen and (min-width: 768px) {

    /* タブレット用レイアウト 768px以上の範囲に収めるデザインはこの中に記述 */
    /* --- デバイス別表示 --- */
    .lg_only {
        display: none;
    }

    .md_only {
        display: inline-block;
    }

    .sm_only {
        display: none;
    }

    .smMd_only {
        display: inline-block;
    }

    .mdLg_only {
        display: inline-block;
    }
}

/* ——————————————————1025px以上に適用—————————————————— */
@media screen and (min-width: 1025px) {

    /* PC用レイアウト 1025px以上の範囲に収めるデザインはこの中に記述 */
    /* --- デバイス別表示 --- */
    .lg_only {
        display: inline-block;
    }

    .md_only {
        display: none;
    }

    .sm_only {
        display: none;
    }

    .smMd_only {
        display: none;
    }

    .mdLg_only {
        display: inline-block;
    }
}

/*=======================================================

　1.header

=======================================================*/
/* --------------------------------------------- 
　1.1 header全般
 --------------------------------------------- */
.ly_header {
    height: 60px;
}

/* ナビバー下にキャンペーンバーがないときは上↑ */
/* ナビバー下にキャンペーンバーがあるときは下↓ */
.ly_header {
    height: auto;
}

.ly_header.is-fixed {
    position: sticky;
    top: 0;
    background-color: rgba(255, 255, 255, 0.8);
    width: 100%;
    z-index: 1000;
    display: flex;
    justify-content: space-between;
    left: 0;
}

.ly_header_inner {
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    -webkit-transition: all .5s;
    transition: all .5s;
}

.bl_header_logo {
    width: 135px;
    /* z-index: 1000; */
    display: flex;
    align-items: center;
    justify-content: center;
}

.bl_header_logo img {
    width: 105px;
    text-align: center;
    /* z-index: 999; */
}

.el_h1_header,
.el_header_catchphrase {
    color: #189F61;
    width: 70px;
    font-size: 1.1rem;
    letter-spacing: 0;
    height: 42px;
    line-height: 1.4;
    flex: 1;
    font-weight: 700;
}

/* お役立ち資料関係ヘッダー設定 */
/* 資料記事：headerにid="download"出力 
    　 サンクスページ：headerにid="thanks"出力 */
#download .ly_header_inner .bl_headerNavSp_hamburger,
#download .ly_header_inner .bl_headerNavSp_wrapper,
#thanks .ly_header_inner .bl_headerNavSp_hamburger,
#thanks .ly_header_inner .bl_headerNavSp_wrapper {
    display: none;
}

#download.ly_header,
#thanks.ly_header {
    display: flex;
}

/* ナビバー下にキャンペーンバーがあるとき↓
    バー非表示の際はコメントアウトする */
#download .ly_header_inner .bl_header_logo,
#thanks .ly_header_inner .bl_header_logo {
    height: 60px;
    display: flex;
}

/* 2505：キャンペーンバー作成依頼 */
.bl_header_barWrapper {
    width: 100%;

}

/* サービスページと資料ダウンロードページはバー非表示 */
#service .bl_header_barWrapper,
#download .bl_header_barWrapper {
    display: none;
}


/* 薄黄色 */
.bl_header_bar {
    height: auto;
    background-color: #DAC48F;
    /* color: #FFF !important; */
    width: 100%;
    /* font-size: 1.2rem; */
    font-weight: 700;
    letter-spacing: 1px;
    display: flex;
    align-content: space-between;
    justify-content: center;
    align-items: center;
    /* padding: 5px 5px 5px 15px; */
    padding: 1% 5px 0.6% 15px;
    /* border-top: #FFF 1px solid; */
    font-size: clamp(13px, 1.9vw, 2rem);
}

.bl_header_barInner {
    display: flex;
    align-items: center;
}

.bl_header_barLink {
    width: 100%;
    height: 50px;
}

.el_closeBox {
    position: relative;
    /* ボタンの配置のために必要 */
}

.el_closeBox_closeBtn {
    position: absolute;
    top: -1px;
    right: 2px;
    color: white;
    cursor: pointer;
    width: 10px;
    height: 10px;
    padding: 4px;
    box-sizing: content-box;
}

/* ボタン内の画像に対するスタイル */
.el_closeBox_closeBtn img {
    object-fit: contain;
    display: block;
    /* === クリックイベントを透過させるための重要なスタイル === */
    pointer-events: none;
}

/* ホバー時のスタイル（任意） */
.el_closeBox_closeBtn:hover {
    /* 例: ホバー時にボタンの背景に薄い色を付ける */
    background-color: rgba(255, 255, 255, 0.1);
}

/* 非表示にするためのスタイル */
.hidden {
    display: none;
}

/* キャンペーンバー非表示時に.ly_headerの高さを調整するためのクラス */
.ly_header.is-bl_header_bar-closed {
    /* ここで、キャンペーンバーが閉じた後のヘッダーの高さ（例: 100px）を指定します。
           これは、メインヘッダー（ロゴ、ナビなど）の実際の高さに合わせて調整してください。 */
    height: 60px;
    /* 例: メインヘッダーの高さ */
}

/* 高さがスムーズに変化するようにトランジションを追加（任意） */
.ly_header {
    transition: height 0.3s ease-out;
    /* スムーズなアニメーション */
}

/* ——————————————————600px以上に適用—————————————————— */
@media screen and (min-width: 600px) {
    .el_closeBox_closeBtn {
        top: 13px;
        right: 8px;
        width: 11px;
        height: 11px;
    }


}

/* ——————————————————768px以上に適用—————————————————— */
@media screen and (min-width: 768px) {

    /* 2505：キャンペーンバー作成依頼1025 */
    .bl_header_barWrapper {
        width: 100%;

    }

    .bl_header_bar {
        height: 40px;
        font-size: 1.4rem;
        letter-spacing: 2px;
        align-items: center;

        padding: 2px 0 0 0;


    }

    .el_closeBox_closeBtn {
        top: 10px;
        right: 10px;
        width: 15px;
        height: 15px;
    }
}

/* ——————————————————768px以上に適用—————————————————— */
/* @media screen and (min-width: 768px) { */
/* 2505：メニュー増加に伴い1025pxまでハンバーガーメニュー表示に変更 */
@media screen and (min-width: 1025px) {

    .ly_header {
        height: 100px;
    }

    /* ナビバー下にキャンペーンバーがないときは上↑ */
    /* ナビバー下にキャンペーンバーがあるときは下↓ */
    .ly_header {
        height: auto;
    }

    .bl_header_logo {
        width: 15%;
        max-width: 198px;
        padding: 10px 10px 10px 1.4%;
        text-align: center;
        display: inline-block;
    }

    .bl_header_logo img {
        width: 100%;
        max-width: 153px;
    }

    .ly_header.is-fixed {
        position: relative;
        background-color: unset;

    }

    .ly_header_inner {
        width: 100%;
        margin: 0 auto;
        display: flex;
        flex-wrap: nowrap;
        align-items: flex-start;
        justify-content: space-between;
        -webkit-transition: all .5s;
        transition: all .5s;
        align-items: center;
        /* ↓3/3資料公開に伴いヘッダーナビ固定 */
        position: fixed;
        background-color: #FFF;
        /* border-bottom: #FFF 1px solid; */
        flex-wrap: wrap;
    }

    .el_h1_header,
    .el_header_catchphrase {
        color: #189F61;
        width: 74px;
        font-size: 1.2rem;
        font-size: clamp(12px, 1vw, 1.2rem);

        letter-spacing: 0;
        height: 53px;
        line-height: 1.6;
    }



    /* コラム記事のヘッダー設定 */
    #column .ly_header_inner,
    #news .ly_header_inner {
        /* headerにid="column"出力、コラム詳細のみ */
        /* news追加、ナビバー下に緑の下線を出す */
        position: fixed;
        background-color: #FFF;
        /* border-bottom: #189F61 1px solid; */
    }

    /* お役立ち資料関係ヘッダー設定 */
    /* 資料記事：headerにid="download"出力 
    　 サンクスページ：headerにid="thanks"出力 */
    #download .ly_header_inner .bl_headerNavPc,
    #download .bl_search_wrap,
    #download .bl_header_contact,
    #thanks .ly_header_inner .bl_headerNavPc,
    #thanks .bl_search_wrap,
    #thanks .bl_header_contact {
        display: none;
    }

    #download .ly_header_inner,
    #thanks .ly_header_inner {
        height: 100px;
    }

    /* ナビバー下にキャンペーンバーがあるとき↓
    バー非表示の際はコメントアウトする */
    #download .ly_header_inner .bl_header_logo,
    #thanks .ly_header_inner .bl_header_logo {
        height: 100px;
        display: flex;
    }

    /* 2505：キャンペーンバー作成依頼1025 */
    .bl_header_barWrapper {
        width: 100%;

    }

    .bl_header_bar {
        height: 50px;
        font-size: 1.5rem;
    }

    .el_closeBox_closeBtn {
        top: 15px;
        right: 10px;
        width: 15px;
        height: 15px;
    }
}

/* ——————————————————1025px以上に適用—————————————————— */
@media screen and (min-width: 1025px) {

    /* PC用レイアウト 1025px以上の範囲に収めるデザインはこの中に記述 */
    /* 
        3/3公開時適用 */
    .ly_header {
        height: 100px;
    }

    /* ナビバー下にキャンペーンバーがないときは上↑ */
    /* ナビバー下にキャンペーンバーがあるときは下↓ */
    .ly_header {
        height: 150px;
    }

    /* ナビバー下にキャンペーンバーがあるとき、サービスと資料DL記事は非表示のため100px↓ */
    #service.ly_header,
    #download.ly_header {
        height: 100px;
    }

    .bl_search_wrap {
        width: 19%;
        max-width: 216px;
    }

    .bl_search_wrap #searchform {
        width: 100%;
    }


    .bl_search_box {
        position: relative;
        margin-left: auto;
        display: flex;
        flex-wrap: wrap;
    }




    .bl_search_input {
        border: 2px solid #189F61;
        width: 100%;
        height: 38px;
        letter-spacing: 0.1em;
        padding: 0 28px 0 5px;
        background: #fff;
        font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
        letter-spacing: 1px;
    }

    .bl_search_btn {
        position: absolute;
        top: 2px;
        right: 2px;
        /* padding: 0;
        vertical-align: middle;
        font-size: 1.2em;
        color: #BECACA; */
        width: 36px;
        height: 36px;
    }



    .bl_search_box ::placeholder {
        color: #BECACA;
        font-size: 1.6rem;
        font-weight: 700;
        top: 2px;
        padding: 0 0 0 5px;
        position: relative;
    }

    /* キャンペーンバー非表示時に.ly_headerの高さを調整するためのクラス */
    /* 1025px以上のPCビューでのみ適用 */
    .ly_header.is-bl_header_bar-closed {
        /* ここで、キャンペーンバーが閉じた後のヘッダーの高さ（例: 100px）を指定します。
           これは、メインヘッダー（ロゴ、ナビなど）の実際の高さに合わせて調整してください。 */
        height: 100px;
        /* 例: メインヘッダーの高さ */
    }

    /* 高さがスムーズに変化するようにトランジションを追加（任意） */
    .ly_header {
        transition: height 0.3s ease-out;
        /* スムーズなアニメーション */
    }

}

/* ——————————————————1920px以上に適用—————————————————— */
@media screen and (min-width: 1920px) {
    .bl_header_logo {
        width: 20%;
        max-width: 198px;
        padding: 10px 18px 10px 2%;
        text-align: center;
        display: inline-block;
    }

    .bl_header_logo img {
        width: 100%;
    }
}


/* --------------------------------------------- 

 　1.2 header-nav-sp(スマホ・タブレット用ハンバーガー)  
 
 --------------------------------------------- */
/* --- ハンバーガーボタン --- */
.bl_headerNavSp {
    width: 70%;
    max-width: 360px;
    height: 100%;
    position: fixed;
    top: 0;
    right: 0;
    transform: translateX(100%);
    -webkit-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
    background: #fff;
    z-index: 1000;
}

.show-nav .bl_headerNavSp {
    transform: translateX(0);
    pointer-events: auto;
    overflow-y: auto;
}

.bl_headerNavSp_inner {
    padding: 82px 0 1.5em;
}

.show-nav .bl_headerNavSp_inner {
    opacity: 1;
    transition: 1.8s cubic-bezier(.165, .84, .44, 1) .3s;
}

.bl_headerNavSp_hiddenNav.overlay {
    position: fixed;
    width: 100vw;
    height: 100vh;
    display: block;
    background: rgba(0, 0, 0, .2);
    top: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
    z-index: 999;
}

.show-nav .bl_headerNavSp_hiddenNav.overlay {
    opacity: 1;
    visibility: visible;
}

/* --- nav-menu --- */
.bl_headerNavSp_navMenu {
    width: 100%;
    border-top: 1px solid #EAECEF;
}

.bl_headerNavSp_menuItem {
    border-bottom: 1px solid #EAECEF;
}

.bl_headerNavSp_menuItem>a, .bl_headerNavSp_menuItem>p {
    display: block;
    padding: 15px;
    font-weight: 700;
    text-align: center;
}

/* --- サービスのアコーディオン --- */
.el_js_accordion_inner {
    display: none;
}

.arrow::after {
    content: '';
    width: 8px;
    height: 8px;
    border-top: solid 2px #189F61;
    border-right: solid 2px #189F61;
    position: absolute;
    left: 70%;
    top: 150px;
}

.arrow::after {
    transform: rotate(135deg);
}

.el_js_accordion_menu {
    padding: 0 10%;
    margin-top: 10px;
    font-size: 1.3rem;
    max-width: 300px;
    margin: 10px auto 0;
}

.el_js_accordion_menuItem {
    margin-bottom: 26px;
}

/* --- ハンバーガーボタン --- */
.bl_headerNavSp_wrapper {
    width: 60px;
    height: 60px;
    text-align: center;
    padding: 18px 16px 18px;
    position: sticky;
    background-color: #189F61;
    right: 0;
    z-index: 1010;
    line-height: 1;
}

.ly_header.is-fixed .bl_headerNavSp_wrapper {
    border-bottom: 1px solid #FFF;
}

.bl_headerNavSp_hamburger {
    height: 100%;
}

.bl_headerNavSp_hamburger button {
    min-height: inherit;
    position: relative;
    width: 100%;
    height: 100%;
    outline: none;
}

.bl_headerNavSp_hamburger span {
    height: 2px;
    width: 100%;
    display: block;
    background: #FFF;
    transition: all .3s ease-in-out;
    position: absolute;
    left: 0;
}

.bl_headerNavSp_hamburger span:first-of-type {
    top: 0;
}

.bl_headerNavSp_hamburger span:nth-of-type(2) {
    top: 50%;
    transform: translateY(-50%);
}

.bl_headerNavSp_hamburger span:nth-of-type(3) {
    bottom: 0;
}

.bl_headerNavSp_hamburger.is-open span:first-of-type {
    top: 10px;
    transform: rotate(45deg);
}

.bl_headerNavSp_hamburger.is-open span:nth-of-type(2) {
    opacity: 0;
}

.bl_headerNavSp_hamburger.is-open span:nth-of-type(3) {
    top: 10px;
    transform: rotate(-45deg);
    left: 0;
}

/* --------------------------------------------- 

　1.3 header-nav-pc(PC用ナビ）

--------------------------------------------- */
/* ——————————————————768px以上に適用—————————————————— */
@media screen and (min-width: 768px) {

    /* タブレット用レイアウト 768px以上の範囲に収めるデザインはこの中に記述 */

    .bl_headerNavPc {
        margin: 0 0 0 auto;
        z-index: 1000;
    }

    .bl_headerNavPc_inner {
        display: flex;
        align-items: center;
        font-size: 2rem;
        /* gap: 0 3vw; */
    }

    a.bl_headerNavPc_link:hover {
        color: #189F61;
    }

    a.bl_headerNavPc_link {
        position: relative;
    }

    a.bl_headerNavPc_link::after {
        content: '';
        /*絶対配置で線の位置を決める*/
        position: absolute;
        bottom: -6px;
        left: 16%;
        /*線の形状*/
        width: 68%;
        height: 5px;
        background: #189F61;
        /*アニメーションの指定*/
        transition: all .3s;
        transform: scale(0, 1);
        /*X方向0、Y方向1*/
        transform-origin: center top;
        /*上部中央基点*/
    }

    a.bl_headerNavPc_link:hover::after {
        transform: scale(1, 1);
        /*X方向にスケール拡大*/
    }

    .bl_headerNavPc_item:last-child {
        border-right: none;
    }

    .bl_headerNavPc_link {
        letter-spacing: 2px;
        font-weight: 700;
        padding: 0 7px;
        font-size: clamp(14px, 1.4vw, 2rem);
    }


    .bl_header_contact {
        background: #189F61;
        width: 18%;
        max-width: 200px;
        height: 100px;
        font-size: clamp(16px, 1.6vw, 2rem);
        font-weight: 700;
        /* display: flex;
        align-items: center;
        justify-content: center; */
        margin-left: 1.2%;
    }

    .bl_header_contact:hover {
        background: #FFF;
        color: #189F61;
        border: 2px solid #189F61;
    }

    .bl_header_contact a {
        color: #FFF;
        height: 100px;
        width: 100%;
        max-width: 200px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .bl_header_contact a:hover {
        color: #189F61;
    }

}

/* ——————————————————1025px以上に適用—————————————————— */
@media screen and (min-width: 1025px) {

    /* PC用レイアウト 1025px以上の範囲に収めるデザインはこの中に記述 */

    /* 4/11お知らせ公開時適用 */
    .bl_headerNavPc_link {
        padding: 0 4px;
        font-size: 2rem;
        font-size: clamp(12px, 1.2vw, 1.6rem);
    }

    .bl_header_contact {
        width: 14%;
    }


    .bl_headerNavPc {
        /* width: 38%; */
        width: 43%;
    }

    .bl_headerNavPc_inner {
        display: flex;
        justify-content: space-around;
    }

    /* 4/11お知らせ公開時適用ここまで */
}

/* ——————————————————1920px以上に適用—————————————————— */
@media screen and (min-width: 1920px) {

    /* 4/11お知らせ公開時適用ここから */
    .bl_header_contact {
        width: 17%;
        font-size: clamp(18px, 1.8vw, 2rem);
        margin-left: 1.8%;
    }

    .bl_headerNavPc_link {
        padding: 0 10px;
        font-size: 2rem;
        font-size: clamp(16px, 1.6vw, 2rem);
    }

    .bl_headerNavPc {
        /* width: 35%; */
        width: 42%;
    }

    /* 4/11お知らせ公開時適用ここまで */
}





/*=======================================================

　2.footer

=======================================================*/
.ly_footer {
    padding-top: 56px;
    padding-bottom: 30px;
    position: relative;
    text-align: center;
    background-image: url(../img/footer_bg_sp.jpg);
    background-repeat: no-repeat;
    background-position: bottom;
    background-size: 100%;
    min-height: 500px;
    /* サイトフル公開時500pxにする */
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.bl_footerNav_item {
    margin: 0 16px 14px;
    font-weight: 700;
}

.bl_footerNav_item:last-child {
    border-right: none;
}

.bl_footerNav_item>*:last-child {
    margin-bottom: 0;
}

.bl_footer_logoWrapper {
    margin: 0 auto 40px;
}

.bl_footer_logo {
    width: 156px;
}

.bl_footerLink {
    width: 100%;
    margin: 50px auto 12px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.bl_footerLink a {
    display: block;
    font-size: 1.2rem;
    margin: 0px 16px 0 0;
    border-right: 1px solid #231815;
    padding: 1px 16px 0px 0;
    height: 12px;
    display: flex;
    align-items: center;
}

.bl_footerLink a:last-child {
    border-right: none;
    margin-right: 0;
    padding-right: 0;
}

.bl_footerCopyright {
    font-size: 1rem;
    font-family: "futura-pt", sans-serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.5px;
    text-align: center;
}

/* ——————————————————768px以上に適用—————————————————— */
@media screen and (min-width: 768px) {

    /* タブレット用レイアウト 768px以上の範囲に収めるデザインはこの中に記述 */
    .ly_footer {
        padding-top: 36px;
        padding-bottom: 20px;
        position: relative;
        text-align: center;
        background-image: url(../img/footer_bg.jpg);
        background-repeat: no-repeat;
        background-position: bottom;
        background-size: cover;
        min-height: 236px;
        align-items: flex-start;
    }

    .bl_footer_logoWrapper {
        width: 146px;
        margin: 0 auto 20px;
    }

    .bl_footer_nav_inner {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .bl_footerNav_item {
        margin: 0 16px;
        font-weight: 700;
    }

    .bl_footerLink {
        margin: 20px 0 12px;
        font-weight: 700;
    }

    .bl_footerLink a {
        margin: 0px 16px 0 0;
        border-right: none;
    }
}

/* ——————————————————1025px以上に適用—————————————————— */
@media screen and (min-width: 1025px) {
    /* PC用レイアウト 1025px以上の範囲に収めるデザインはこの中に記述 */
}

/*=======================================================

　3.パーツ

=======================================================*/
/* --------------------------------------------- 
 　3.1 ボタン  
 --------------------------------------------- */
/* --- デフォルトボタン --- */
.el_btn {
    width: 260px;
    height: 50px;
    font-weight: 700;
    display: block;
    background-color: #FFF;
    border: 1px solid currentColor;
    color: #189F61;
    text-align: center;
    transition: .25s;
    letter-spacing: 2.2px;
    font-size: 1.8rem;
    padding: 12px 1em;
    margin: 0 auto;
}

.el_btn:hover {
    border-color: transparent;
    background-color: #189F61;
    color: #FFF;
}

.el_btn.el_btn__bcGreen {
    background-color: #189F61;
    border: 1px solid currentColor;
    color: #FFF;
    margin: 0 auto;
}

.el_btn.el_btn__bcGreen:hover {
    border-color: currentColor;
    background-color: #FFF;
    color: #189F61;
}

.el_btn.el_btn__sm {
    font-size: 90%;
    width: 200px;
    height: 40px;
    padding: 10px;
    margin-top: 20px;
}

.el_btn.el_btn__lg {
    font-size: 90%;
    width: 90%;
    height: 50px;
    padding: 11px;
    font-size: 1.8rem;
}

/* --- PCグロナビ問い合わせボタン --- */
.el_btn.el_btn__navPc {
    max-width: 170px;
    padding: 14px 20px;
    height: 45px;
}

/* --- 英字ボタン --- */
.el_btn.el_btn__en {
    font-family: "futura-pt", sans-serif;
    font-style: normal;
    font-size: 1.7rem;
    letter-spacing: 4px;
    margin: 0;
    width: 200px;
    height: 50px;
    max-width: 80%;
    padding: 11px 1em;
}

/* --- 問い合わせフォームへのボタン --- */
.el_btn.el_btn__contact {
    background-color: #FFF;
    color: #189F61;
    height: 50px;
    max-width: 310px;
    padding: 13px 1em;
    font-size: 1.6rem;
}

.el_btn.el_btn__contact:hover {
    border-color: currentColor;
    background: #189F61;
    color: #FFF;
}

/* --- 白背景のモノトーンボタン --- */
.el_btn__bcWhite {
    background-color: #FFF;
    color: #231815;
    border: 1px solid #231815;
}

.el_btn.el_btn__gray {
    background-color: #666;
    color: #FFF;
    height: 60px;
    padding: 18px 1em 0px;
}

.el_btn.el_btn__gray:hover {
    border-color: currentColor;
    background: #fff;
    color: #666;
}

/* --- 資料請求ボタン --- */
.el_btn.el_btn__cta {
    height: 65px;
    max-width: 270px;
    padding: 19px 1em;
    letter-spacing: 8px;
}

.el_btn.el_btn__cta a {
    color: #231815;
}

.el_btn.el_btn__cta:hover {
    border-color: currentColor;
    background: #FFF;
    color: #189F61;
}

/* --- フォーム送信ボタン --- */
/* input[type=submit].el_btn.el_btn__form {
    background-color: #189F61;
    color: #FFF;
    height: 50px;
    max-width: 250px;
    padding: 15px 1em;
    font-size: 1.6rem;
    border-radius: 50px;
    margin-top: 16px;
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
}

input[type=submit].el_btn.el_btn__form:hover {
    border-color: currentColor;
    background-color: #fff;
    color: #189F61;
} */
/* .el_btn__form {
    background-color: #189F61;
    color: #FFF;
    height: 54px;
    padding: 12px 1em;
    font-size: 1.8rem;
    margin-top: 16px;
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
    min-width: 270px;
    max-width: 80%;
    width: 400px;
} 
.el_btn__form :hover {
    border-color: currentColor;
    background-color: #fff;
    color: #189F61;
}
*/
/* --- フォーム送信ボタン --- */
input[type=submit].el_btn.el_btn__form {
    background-color: #189F61;
    color: #FFF;
    height: 54px;
    padding: 12px 1em;
    font-size: 1.8rem;
    margin-top: 16px;
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
    min-width: 270px;
    max-width: 80%;
    width: 400px;
}

/* --- フォーム送信ボタン --- */
input[type=submit].el_btn.el_btn__form:hover {
    border-color: currentColor;
    background-color: #fff;
    color: #189F61;
}


.el_form_submit__acceptance:has(input:disabled) {
    opacity: 0.6;
}

.el_btn__form:has(input:disabled) {
    opacity: 0.6;
    background-color: #aaa;
    color: #ddd;
}

/* 2505:キャンペーンバー内の詳細はこちらボタン */
.el_btn__headerBar {
    display: inline;
    font-size: 1.2rem;
    padding: 5px 8px 3px;
    letter-spacing: 1px;
    margin-left: 10px;
    margin: 5px;
    width: auto;
    height: auto;
    text-align: center;
    line-height: 1.2;
    min-width: 100px;
}

/* ——————————————————480px以上に適用—————————————————— */
@media screen and (min-width: 480px) {
    .el_btn.el_btn__lg {
        width: 336px;
    }
}

/* ——————————————————580px以上に適用—————————————————— */
/* @media screen and (min-width: 580px) {
    .el_btn__headerBar br {
        display: none;
    }
} */

/* ——————————————————768px以上に適用—————————————————— */
@media screen and (min-width: 768px) {

    /* タブレット用レイアウト 768px以上の範囲に収めるデザインはこの中に記述 */
    /* --- PCグロナビ問い合わせボタン --- */
    .el_btn {
        margin: 0;
    }

    .el_btn.el_btn__navPc {
        font-size: 15px;
        width: 170px;
        border-radius: 22px;
        padding: 15px 20px;
    }

    .el_btn.el_btn__navPc:hover {
        color: #189F61;
        text-shadow: none;
    }

    /* --- 英字ボタン --- */
    .el_btn.el_btn__en {
        width: 100%;
        margin: 0 auto;
        height: 60px;
        max-width: 300px;
        font-size: 2.8rem;
        padding: 9px 1em;
    }

    /* --- 問い合わせフォームへのボタン --- */
    .el_btn.el_btn__contact {
        height: 65px;
        max-width: 430px;
        font-size: 2.6rem;
    }

    /* --- フォーム送信ボタン --- */
    input[type=submit].el_btn.el_btn__form {
        max-width: 390px;
        width: 390px;
        font-size: 2rem;
        height: 80px;
        margin: 20px auto 0;
    }

    /* ボタン右に */
    .el_btn__right {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
    }

    /* 2505:キャンペーンバー内の詳細はこちらボタン */
    .el_btn__headerBar {
        display: inline;
        font-size: 1.2rem;
        padding: 4px 8px 3px;
        letter-spacing: 1px;
        margin-left: 10px;
        vertical-align: middle;
    }
}

/* ——————————————————1025px以上に適用—————————————————— */
@media screen and (min-width: 1025px) {

    /* PC用レイアウト 1025px以上の範囲に収めるデザインはこの中に記述 */
    .el_btn.el_btn__navPc {
        padding: 14px 20px;
    }

    .el_btn__headerBar {
        font-size: 1.4rem;
        padding: 4px 12px 3px;
    }
}

/* --------------------------------------------- 
 　3.2 ボックス  
 --------------------------------------------- */
.el_box {
    border: 3px solid #BECACA;
    padding: 30px 20px 40px;
    margin: 3rem 0;
}

.el_box p:last-child {
    margin: 0;
}

.el_box__white {
    background-color: #FFF;
    border: none;
}

/* ——————————————————768px以上に適用—————————————————— */
@media screen and (min-width: 480px) {

    /* タブレット用レイアウト 768px以上の範囲に収めるデザインはこの中に記述 */
    .el_box {
        padding: 50px;
    }

    .bl_content_background__green .el_box {
        margin: 0;
    }
}

/* --------------------------------------------- 
 　3.3 olリスト  
 --------------------------------------------- */
.bl_orderList {
    counter-reset: bl_orderList;
}

.bl_orderList>*:last-child {
    margin-bottom: 0;
}

.bl_orderList>li {
    position: relative;
    padding-left: 1.5em;
    margin-bottom: 14px;
    line-height: 1.6;
}

.bl_orderList>li::before {
    content: counter(bl_orderList) '. ';
    position: absolute;
    top: 0;
    left: 0;
    color: #189F61;
    font-weight: bold;
    counter-increment: bl_orderList;
}

/* --------------------------------------------- 
 　3.3 ol順序ありリスト  
 --------------------------------------------- */
.bl_orderList, .bl_article ol {
    counter-reset: bl_orderList;
    margin-bottom: 30px;
    font-weight: 700;
}

.bl_orderList>*:last-child, .bl_article ol>*:last-child {
    margin-bottom: 0;
}

.bl_orderList>li, .bl_article ol>li {
    position: relative;
    padding-left: 1.5em;
    margin-bottom: 14px;
    line-height: 1.6;
}

.bl_orderList>li::before, .bl_article ol>li::before {
    content: counter(bl_orderList) '. ';
    position: absolute;
    top: 0;
    left: 0;
    color: #189F61;
    font-weight: bold;
    counter-increment: bl_orderList;
}

/* --------------------------------------------- 
 　3.4 ul順序なしリスト  
 --------------------------------------------- */
.bl_list>*:last-child, .bl_article ul>*:last-child {
    margin-bottom: 0;
}

.bl_list, .bl_article ul {
    margin-bottom: 30px;
    font-weight: 700;
}

.bl_list>li, .bl_article ul>li {
    position: relative;
    padding-left: 1em;
    margin-bottom: 14px;
    line-height: 1.6;
}

.bl_list>li::before, .bl_article ul>li::before {
    content: '';
    position: absolute;
    top: .5em;
    left: 0;
    display: block;
    width: .4em;
    height: .4em;
    background-color: #189F61;
    border-radius: 50%;
}

/* --------------------------------------------- 
 　3.4 見出し
 --------------------------------------------- */
.el_h2 {
    color: #189F61;
    font-size: 4rem;
    font-family: "futura-pt-bold", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
    font-weight: 700;
    font-style: normal;
    text-align: center;
    margin-bottom: 30px;
    letter-spacing: 6px;
}

.el_h2__sub {
    color: #189F61;
    font-size: 1.8rem;
    font-weight: 700;
    text-align: center;
    margin: 40px auto 30px;
    letter-spacing: 4px;
}

.el_h2__sub.el_h2__noPageTitle {
    margin-top: 0;
    padding-top: 40px;
    margin-bottom: 30px;
}



.el_h2__Problem {
    font-size: 2.2rem;
    color: #FFF;
    letter-spacing: 3px;
    margin-bottom: 25px;
    font-weight: 700;
    padding-top: 26px;
}

.el_h2.el_h2__white {
    color: #FFF;
}

.el_h2.el_h2__green {
    color: #189F61;
}

.el_h2 span {
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
    font-size: 1.8rem;
    display: block;
    color: #231815;
    letter-spacing: 2px;
}

.el_h2.el_h2__white span {
    color: #FFF;
}

.el_h2__aside {
    font-size: 2rem;
    margin-bottom: 25px;
    letter-spacing: 2px;
}

.el_h3__service.el_h3__green {
    color: #189F61;
}

/* h2*/
.el_lv2Heading {
    font-size: 2.1rem;
    margin: 0 auto 28px;
    font-family: "futura-pt-bold", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
    font-style: normal;
    color: #231815;
    letter-spacing: 0.15em;
    font-weight: 700;
}

/* h3*/
.el_lv3Heading {
    text-align: center;
    font-size: 2rem;
    margin: 2.5em auto 1em;
    font-weight: bold;
}

/* ——————————————————768px以上に適用—————————————————— */
@media screen and (min-width: 768px) {

    /* h2*/
    .el_h2 {
        color: #189F61;
        font-size: 6rem;
        font-family: "futura-pt-bold", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
        font-weight: 700;
        font-style: normal;
        text-align: center;
        margin-bottom: 45px;
        letter-spacing: 6px;
    }

    .el_h2 span {
        font-size: 2.8rem;
    }

    .el_h2__sub {
        color: #189F61;
        font-size: 2.8rem;
        font-weight: 700;
        text-align: center;
        margin: 80px auto 30px;
        letter-spacing: 6px;
    }

    .bl_content_background__green .el_h2__sub {
        color: #FFF;
        margin: 40px auto 30px;

    }

    .bl_content_background__white .el_h2__sub {
        margin: 40px auto 30px;
    }


    .el_h2__sub.el_h2__noPageTitle {
        margin-top: 0;
        padding-top: 70px;
        margin-bottom: 70px;
    }

    .el_h2__Problem {
        font-size: 3.6rem;
        color: #FFF;
        letter-spacing: 10px;
        margin-bottom: 36px;
        font-weight: 700;
        padding-top: 36px;
    }

    .el_lv2Heading {
        text-align: center;
        font-size: 3rem;
    }

    .el_lv2Heading>span {
        font-size: 0.5em;
        margin: 12px auto 0;
    }

    .el_lv2Heading {
        font-size: 2.8rem;
        margin: 0 auto 28px;
        font-style: normal;
        color: #231815;
        letter-spacing: 0.15em;
    }

    /* h3*/
    .el_lv3Heading {
        font-size: 2.5rem;
    }
}

/* ——————————————————1025px以上に適用—————————————————— */
@media screen and (min-width: 1025px) {

    /* PC用レイアウト 1025px以上の範囲に収めるデザインはこの中に記述 */
    .el_lv2Heading {
        font-size: 4rem;
        margin-bottom: 10px;
    }
}

/* --------------------------------------------- 
 　3.5　表
 --------------------------------------------- */
.bl_companyProfile {
    padding: 20% 0 10%;
}

.bl_horizTable {
    border: 1px solid #ddd;
}

.bl_horizTable table {
    width: 100%;
}

.bl_horizTable th {
    width: 20%;
    padding: 15px;
    background-color: #F2F5F5;
    border-bottom: 1px solid #ddd;
    font-weight: bold;
    vertical-align: middle;
}

.bl_horizTable td {
    padding: 15px;
    border-bottom: 1px solid #ddd;
}

.bl_horizTable tr:last-child th,
.bl_horizTable tr:last-child td {
    border-bottom-width: 0;
}

/* --------------------------------------------- 
    3.7 ページャー、ページネーション
  --------------------------------------------- */
.bl_pager {
    display: flex;
    overflow-x: auto;
    margin-bottom: 60px;
    font-family: futura-pt-bold, sans-serif;
    font-weight: 700;
}

.bl_pager_inner {
    display: flex;
    margin-right: auto;
    margin-left: auto;
}

/* .bl_pager_inner>*:first-child {
    margin-right: 30px;
}

.bl_pager_inner>*:last-child {
    margin-left: 28px;
} */

.bl_pager_inner>li {
    margin-right: 2px;
}

.bl_pager_inner>li:nth-child(5), .bl_pager_inner>li:nth-child(6) {
    display: none;
}

.bl_pager_link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 1px solid currentColor;
    color: #189F61;
    text-decoration: none;
    transition: .25s;
}

.bl_pager_link:focus,
.bl_pager_link:hover {
    background-color: #189F61;
    color: #fff;
    opacity: .8;
}

.bl_pager_link.is_active {
    background-color: #189F61;
    color: #fff;
    pointer-events: none;
}

.bl_pager_link.next, .bl_pager_link.prev {
    font-size: 21px;
}

/* ——————————————————480px以上に適用—————————————————— */
@media screen and (min-width: 480px) {
    .bl_pager {
        margin-bottom: 100px;
    }

    .bl_pager_inner>li:nth-child(5), .bl_pager_inner>li:nth-child(6) {
        display: block;
    }

    /* タブレット用レイアウト 768px以上の範囲に収めるデザインはこの中に記述 */
    /* .bl_pager_inner>*:first-child {
        margin-right: 40px;
    }

    .bl_pager_inner>*:last-child {
        margin-right: 0;
        margin-left: 35px;
    } */

    .bl_pager_inner>li {
        margin-right: 5px;
    }

    .bl_pager_link {
        width: 50px;
        height: 50px;
    }
}

@media screen and (min-width: 768px) {

    /* タブレット用レイアウト 768px以上の範囲に収めるデザインはこの中に記述 */
    /* .bl_pager_inner>*:first-child {
        margin-right: 40px;
    }

    .bl_pager_inner>*:last-child {
        margin-right: 0;
        margin-left: 35px;
    } */

    .bl_pager_inner>li {
        margin-right: 5px;
    }

    .bl_pager_link {
        width: 50px;
        height: 50px;
    }
}

/*=======================================================
4.カードユニット（3カラム・4カラム）
=======================================================*/
.bl_cardUnit {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.bl_card_ttl {
    font-size: clamp(14px, 1.8vw, 2.1rem);
    margin: 16px 0 15px;
    font-weight: 700;
}

.bl_card_list {
    margin-bottom: 10px;
    font-weight: 700;
    font-size: 1.1rem;
    line-height: 2;
    text-align: left;
}

.bl_card_imgWrapper {
    text-align: center;
}

.bl_card_img {
    width: 100%;
}

/* --- 2カラム --- */
.bl_cardUnit__col2>.bl_card {
    width: 100%;
    margin-bottom: 40px;
}

.bl_cardUnit__col2>.bl_card:last-child {
    margin-bottom: 0;
}

/* --- 3カラム --- */
.bl_cardUnit__col3>.bl_card {
    width: 100%;
    margin-bottom: 40px;
}

.bl_cardUnit__col3>.bl_card:last-child {
    margin-bottom: 0;
}

/* --- 4カラム --- */
.bl_cardUnit.bl_cardUnit__col4 {
    margin-bottom: -20px;
}

.bl_cardUnit__col4>.bl_card {
    width: 46%;
    margin-right: 4%;
    margin-bottom: 20px;
}

.bl_cardUnit__col4>.bl_card:nth-child(2n) {
    margin-right: 0;
}

/* ——————————————————480px以上に適用—————————————————— */
@media screen and (min-width: 480px) {
    /* スマホ横480px以上の範囲に収めるデザインはこの中に記述 */
    /* カードユニット3カラムのみ設定 */
    /* --- 3カラム --- */
    /* .bl_cardUnit__col3 .bl_card {
        width: 30%;
        margin-right: 3%;
        margin-bottom: 0;
    }

    .bl_cardUnit__col3>.bl_card:nth-child(3n) {
        margin-right: 0;
    } */
}

/* ——————————————————600px以上に適用—————————————————— */
@media screen and (min-width: 600px) {

    /* --- 2カラム --- */
    .bl_cardUnit__col2>.bl_card {
        width: 48%;
        margin-right: 2%;
        margin-bottom: 0;
    }

    .bl_cardUnit__col2>.bl_card:nth-child(2n) {
        margin-right: 0;
    }

    /* --- 3カラム --- */
    .bl_cardUnit__col3>.bl_card {
        width: 30%;
        margin-right: 3%;
        margin-bottom: 0;
    }
}

.bl_cardUnit__col3>.bl_card:nth-child(3n) {
    margin-right: 0;
}

@media screen and (min-width: 768px) {

    /* タブレット用レイアウト 768px以上の範囲に収めるデザインはこの中に記述 */
    .bl_cardUnit {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .bl_card_ttl {
        margin: 30px 0 40px;
    }

    .bl_card_list {
        font-size: 1.4rem;
        margin-bottom: 15px;
    }

    /* --- 4カラム --- */
    .bl_cardUnit.bl_cardUnit__col4 {
        margin-bottom: -20px;
    }

    .bl_cardUnit__col4>.bl_card {
        width: 22%;
        margin-right: 3%;
        margin-bottom: 0;
    }

    .bl_cardUnit__col4>.bl_card:nth-child(2n) {
        margin-right: 1.62602%;
    }

    .bl_cardUnit__col4>.bl_card:nth-child(4n) {
        margin-right: 0;
    }
}

/* ——————————————————1025px以上に適用—————————————————— */
@media screen and (min-width: 1025px) {

    /* PC用レイアウト 1025px以上の範囲に収めるデザインはこの中に記述 */
    .bl_card_txt {
        font-size: 2.2rem;
        line-height: 1.4;
        text-align: left;
    }
}

/*=======================================================
　5．フォーム
=======================================================*/
.bl_formWrapper {
    margin: 0 auto;
}

.bl_form {
    width: 100%;
    margin: 25px auto 80px;
    background: #FFF;
}

.bl_form_item {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    margin-bottom: 20px;
}

.bl_form_item__kikkake {
    width: 260px;
}

.bl_form_item__kikkake label {
    display: contents;
}

/* .bl_form_list .bl_form_item:nth-child(n+5) {
    margin-top: 35px;
} */

.bl_form_ttl {
    display: flex;
    align-items: center;
    position: relative;
    margin-bottom: 5px;
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 1.8;
}

.bl_form_ttl.el_required::after {
    content: "必須";
    font-size: 1.2rem;
    margin: 0 20px;
    font-weight: 700;
    padding: 0.4px 8px 0px;
    display: inline-block;
    background-color: #189F61;
    color: #FFF;
    height: 20px;
}



.bl_form_item.bl_form_ttl__long {
    /* スマホ時長いタイトルの必須バッジを改行する */
    display: inline;
}

.bl_form_item.bl_form_ttl__long label {
    /* スマホ時長いタイトルの必須バッジを改行する */
    display: inline;
}

.bl_form_item.bl_form_ttl__long .bl_form_ttl.el_required::after {
    margin: 0 20px 10px 0;
}

.bl_form_input input[type="text"],
.bl_form_input input[type="email"],
.bl_form_input input[type="tel"],
.bl_form_input textarea {
    height: 44px;
    background-color: #FFF;
    padding-left: 10px;
    padding-top: 4px;
    font-size: 16px;
    width: 100%;
    border: 1px solid #BECACA;
    appearance: none;
    -webkit-appearance: none;
    border-radius: 0;
}

.bl_form_input *::placeholder,
.bl_form_item textarea *::placeholder,
.bl_form_textarea textarea::placeholder {
    color: #BECACA;
    font-size: 1.6rem;
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
}

.bl_form_textarea {
    width: 100%;
}

.bl_form_item .bl_form_textarea textarea {
    width: 100% !important;
    background-color: #FFF;
    padding: 5px 14px;
    font-size: 1.6rem;
    border: 1px solid #BECACA;
}

.bl_form_download .bl_form_input__other textarea {
    /* height: 44px; */
    padding-top: 8px;
}


.bl_form_input {
    width: 100%;
}

.bl_form_selectWrapper {
    width: 100%;
    line-height: 2.3;
    letter-spacing: 0px;
    font-size: 1.6rem;
}

.bl_form_selectWrapper .wpcf7-list-item {
    margin-left: 0;
    display: block;
}

.bl_form_selectWrapper::after {
    border-width: 14px 9px 0 9px;
    top: 26px;
    right: 20px;
}

.bl_form_selectWrapper_notes {
    font-size: 1rem;
    margin-bottom: 4px;
}

.bl_form_dropWrapper {
    width: 100%;
    line-height: 2.3;
    letter-spacing: 0px;
    font-size: 1.6rem;
}

.bl_form_dropWrapper .wpcf7-select {
    width: 100% !important;
    background-color: #FFF;
    padding: 8px 8px 6px;
    width: 100%;
    border: 1px solid #BECACA;
    color: #231815;
    height: 44px;
    font-size: 1.6rem;
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
}

.bl_form_policy_notes {
    font-size: 1.6rem;
    text-align: center;
    margin-top: 50px;
    margin-bottom: 20px;
    line-height: 2;
}

.bl_form_policy_notes .hp_ml3rem {
    margin-left: 0 !important;
}

.bl_form_policy_notes a {
    color: #189F61;
}

.bl_form_policy_notes a:hover {
    text-decoration: underline;
}

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

.vertical-item {
    display: block;
}

input[type="button"], input[type="text"], input[type="submit"], input[type="image"], textarea {
    -webkit-appearance: none;
    appearance: none;
    border-radius: 0;
}

.bl_form input[type="radio"],
.bl_form input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    display: inline-block;
    vertical-align: middle;
    width: 20px;
    height: 20px;
    min-width: 20px;
    border: 1px solid #BECACA;
    padding: 0;
    position: relative;
    margin: 0px 6px 4px 0px;
    flex-shrink: 0;
    -webkit-appearance: none;
    background-color: #FFF;
}

.bl_form input[type="checkbox"] {
    border-radius: 0;
}

.bl_form input[type="radio"] {
    border-radius: 100%;
}

.bl_form input[type="radio"]:checked:after,
.bl_form input[type="checkbox"]:checked:after {
    display: inline-block;
    /* color: rgb(var(--blk)); */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
}

.bl_form input[type="checkbox"]:checked:after {
    content: "✔";
    font-size: 12px;
    line-height: 1;
    color: #189F61;
}

.bl_form input[type="radio"]:checked:after {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 100%;
    background-color: #515757;
}

.bl_form_input__other textarea {
    padding: 10px;
}

select {
    border-radius: 0;
}

.bl_form_notes {
    font-size: 1.2rem;
    margin-bottom: 4px;
}

.bl_form_item.bl_form_item__kikkake .bl_form_ttl.el_required::after {
    margin: 0 20px 10px 0;
}

/* contact form 7 */
.bl_form .wpcf7-not-valid-tip {
    color: #d43030;
    font-size: 1.2rem;
    font-weight: normal;
    display: block;
    margin-top: 6px;
}

span.wpcf7-spinner {
    display: none;
}


.bl_form .wpcf7-free-text {
    /* ドロップダウン>ラスト選択肢（その他）後のテキストエリア */
    width: 100% !important;
    background-color: #FFF;
    padding: 5px 10px;
    font-size: 16px;
    border: 1px solid #BECACA;
    height: 44px;
}


.bl_thanksMessage {
    display: none;
    /* 表示確認用↓ */
    text-align: center;
    margin-top: 0;
    font-weight: 700;
    font-size: 1.3rem;
    padding-top: 0;
    color: #d43030;
    margin-top: 20px;
}

/* 送信後 */
.sent .bl_thanksMessage {
    text-align: center;
    margin-top: 0;
    font-weight: 700;
    font-size: 1.3rem;
    padding-top: 0;
    display: block;
    color: #d43030;
    margin-top: 20px;
}

.bl_thanksMessage .el_btn {
    margin: 15px auto 0px;
}

/* デフォルトメッセージ */
/* .wpcf7-form.invalid .wpcf7-response-output, */
.wpcf7-form.sent .wpcf7-response-output {
    display: none;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
    /* 送信ボタン下未入力警告 */
    color: #d43030;
    border: none;
    font-size: 1.4rem;
    text-align: center;
    font-weight: 700;
}

/* バッヂ 非表示 */
.grecaptcha-badge {
    visibility: hidden;
    opacity: 0;
}

/* ——————————————————480px以上に適用—————————————————— */
@media screen and (min-width: 480px) {
    .bl_form {
        width: 86%;
    }

    .bl_form_item__kikkake {
        width: 100%;
    }
}

/* ——————————————————768px以上に適用—————————————————— */
@media screen and (min-width: 768px) {

    /* タブレット用レイアウト 768px以上の範囲に収めるデザインはこの中に記述 */
    .bl_form {
        margin: 30px auto 30px;
        width: 80%;
        max-width: 680px;
    }

    .bl_form_item {
        margin-bottom: 23px;
    }

    .bl_form_textarea span.wpcf7-form-control-wrap {
        display: flex;
        flex-direction: column;
    }

    .bl_form_input input[type="text"],
    .bl_form_input input[type="email"],
    .bl_form_input input[type="tel"],
    .bl_form_input textarea {
        padding-left: 16px;
    }

    .bl_form_selectWrapper_notes {
        font-size: 1.2rem;
        margin-top: 5px;
    }

    .bl_form_policy_notes {
        margin-top: 70px;
        margin-bottom: 10px;
    }

    .bl_form_policy_notes__sm {
        font-size: 1.4rem;
    }

    .bl_formWrapper .el_btn {
        margin-top: 42px;
        border-radius: 25px;
        max-width: 350px;
        height: 50px;
        font-size: 1.4rem;
    }

    .bl_form_btnWrapper {
        margin-left: 30%;
    }

    .bl_form_notes {
        font-size: 1rem;
    }

    .bl_form_item.bl_form_ttl__long .bl_form_notes {
        display: inline-block;
    }


    .bl_form_item_tel {
        width: 66%;
    }

    .bl_form_input__other {
        width: 100%;
    }

    .bl_form_ttl.el_required::after {
        margin: 0 10px;
    }

    .bl_thanksMessage {
        font-size: 1.6rem;
    }

    .bl_form_policy_notes .hp_ml3rem {
        margin-left: 3rem !important;
    }

    .bl_form input[type="checkbox"]:checked:after {
        font-size: 18px;
    }
}

/* ——————————————————1025px以上に適用—————————————————— */
@media screen and (min-width: 1025px) {

    /* PC用レイアウト 1025px以上の範囲に収めるデザインはこの中に記述 */
    .bl_form {
        width: 80%;
        max-width: 680px;
    }

    .bl_form_inner {
        margin: 0 auto;
    }

    .bl_form_input__other {
        width: 100%
    }
}

/*=======================================================

  6.テキスト

=======================================================*/
.el_txt__sm {
    font-size: 1.2rem;
}

.el_txt__md {
    font-size: 1.4rem;
}

.el_txt__lg {
    font-size: 1.6rem;
}

.el_txt__xl {
    font-size: 1.8rem;
}

.el_txt__no {
    font-size: 7rem !important;
    display: inline !important;
    line-height: 1.2;
    font-family: futura-pt-bold, sans-serif;
    font-weight: 700;
    vertical-align: middle;
}

/* ——————————————————768px以上に適用—————————————————— */
@media screen and (min-width: 768px) {

    /* タブレット用レイアウト 768px以上の範囲に収めるデザインはこの中に記述 */
    .el_txt__sm {
        font-size: 1.4rem;
    }

    .el_txt__md {
        font-size: 1.6rem;
    }

    .el_txt__lg {
        font-size: 1.8rem;
        line-height: 2;
    }

    .el_txt__xl {
        font-size: 2rem;
    }
}

/*=======================================================

  7.メディア（画像：テキスト）

=======================================================*/
/* --------------------------------------------- 
 　7.1 画像左：テキスト右
 --------------------------------------------- */
.bl_media {
    display: block;
}

.bl_media_imgWrapper {
    margin-right: 0;
    /* margin-bottom: 20px; */
}

.bl_media_txt {
    font-size: 1.6rem;
    line-height: 1.8;
}

/* ——————————————————768px以上に適用—————————————————— */
@media screen and (min-width: 768px) {

    /* タブレット用レイアウト 768px以上の範囲に収めるデザインはこの中に記述 */
    .bl_media {
        display: flex;
        align-items: center;
    }

    .bl_media_imgWrapper {
        flex: 0 1 27.58333%;
        margin-right: 3.33333%;
    }

    .bl_media_imgWrapper>img {
        width: 100%;
    }

    .bl_media_body {
        flex: 1;
    }

    .bl_media_body>*:last-child {
        margin-bottom: 0;
    }

    .bl_media_ttl {
        margin-bottom: 10px;
        font-size: 1.125rem;
        font-weight: bold;
    }

    .bl_media_txt {
        font-size: 1.8rem;
    }
}

/* --------------------------------------------- 
 　7.2 画像右：テキスト左
 --------------------------------------------- */
.bl_media__rev .bl_media_body {
    margin-right: 0;
}

/* ——————————————————768px以上に適用—————————————————— */
@media screen and (min-width: 768px) {

    /* タブレット用レイアウト 768px以上の範囲に収めるデザインはこの中に記述 */
    .bl_media.bl_media__rev {
        flex-direction: row-reverse;
    }

    .bl_media__rev .bl_media_imgWrapper {
        margin-right: 0;
    }

    .bl_media__rev .bl_media_body {
        margin-right: 3.33333%;
        text-align: left;
    }
}

/*=======================================================

 8.1グリッド

=======================================================*/
/* ——————————————————768px以上に適用—————————————————— */
@media screen and (min-width: 768px) {
    .ly_grid {
        display: flex;
        flex-wrap: wrap;
    }



    .ly_grid.ly_grid__middle {
        align-items: center;
    }

    .ly_grid.ly_grid__b {
        align-items: flex-end;
    }

    .ly_grid.ly_grid__c {
        justify-content: center;
    }

    .ly_grid.ly_grid__r {
        justify-content: flex-end;
    }

    .ly_grid.ly_grid__between {
        justify-content: space-between;
    }

    .ly_grid.ly_grid__around {
        justify-content: space-around;
    }

    .ly_grid.ly_grid__rev {
        flex-direction: row-reverse;
    }

    .ly_grid.ly_grid__stretch>.ly_grid_col {
        display: flex;
    }

    .ly_grid.ly_grid__gap_xxl {
        margin-left: -28px;
        margin-bottom: -28px;
    }

    .ly_grid.ly_grid__gap_xxl>.ly_grid_col {
        padding-left: 28px;
        padding-bottom: 28px;
    }

    .ly_grid.ly_grid__gap_xl {
        margin-left: -24px;
        margin-bottom: -24px;
    }

    .ly_grid.ly_grid__gap_xl>.ly_grid_col {
        padding-left: 24px;
        padding-bottom: 24px;
    }

    .ly_grid.ly_grid__gap_lg {
        margin-left: -20px;
        margin-bottom: -20px;
    }

    .ly_grid.ly_grid__gap_lg>.ly_grid_col {
        padding-left: 20px;
        padding-bottom: 20px;
    }

    /* .ly_grid.ly_grid__gap, .ly_grid.ly_grid__gap_md {
        margin-left: -16px;
        margin-bottom: -16px;
    } */

    /* .ly_grid.ly_grid__gap>.ly_grid_col, .ly_grid.ly_grid__gap_md>.ly_grid_col {
        padding-left: 16px;
        padding-bottom: 16px;
    } */

    .ly_grid.ly_grid__gap_sm {
        margin-left: -12px;
        margin-bottom: -12px;
    }

    .ly_grid.ly_grid__gap_sm>.ly_grid_col {
        padding-left: 12px;
        padding-bottom: 12px;
    }

    .ly_grid.ly_grid__gap_xs {
        margin-left: -8px;
        margin-bottom: -8px;
    }

    .ly_grid.ly_grid__gap_xs>.ly_grid_col {
        padding-left: 8px;
        padding-bottom: 8px;
    }

    .ly_grid.ly_grid__gap_xxs {
        margin-left: -4px;
        margin-bottom: -4px;
    }

    .ly_grid.ly_grid__gap_xxs>.ly_grid_col {
        padding-left: 4px;
        padding-bottom: 4px;
    }

    .ly_grid.ly_grid__gap_vert_xxl {
        margin-bottom: -28px;
    }

    .ly_grid.ly_grid__gap_vert_xxl>.ly_grid_col {
        padding-bottom: 28px;
    }

    .ly_grid.ly_grid__gap_vert_xl {
        margin-bottom: -24px;
    }

    .ly_grid.ly_grid__gap_vert_xl>.ly_grid_col {
        padding-bottom: 24px;
    }

    .ly_grid.ly_grid__gap_vert_lg {
        margin-bottom: -20px;
    }

    .ly_grid.ly_grid__gap_vert_lg>.ly_grid_col {
        padding-bottom: 20px;
    }

    .ly_grid.ly_grid__gap_vert, .ly_grid.ly_grid__gap_vert_md {
        margin-bottom: -16px;
    }

    .ly_grid.ly_grid__gap_vert>.ly_grid_col, .ly_grid.ly_grid__gap_vert_md>.ly_grid_col {
        padding-bottom: 16px;
    }

    .ly_grid.ly_grid__gap_vert_sm {
        margin-bottom: -12px;
    }

    .ly_grid.ly_grid__gap_vert_sm>.ly_grid_col {
        padding-bottom: 12px;
    }

    .ly_grid.ly_grid__gap_vert_xs {
        margin-bottom: -8px;
    }

    .ly_grid.ly_grid__gap_vert_xs>.ly_grid_col {
        padding-bottom: 8px;
    }

    .ly_grid.ly_grid__gap_vert_xxs {
        margin-bottom: -4px;
    }

    .ly_grid.ly_grid__gap_vert_xxs>.ly_grid_col {
        padding-bottom: 4px;
    }

    .ly_grid.ly_grid__gap_horiz_xxl {
        margin-left: -28px;
    }

    .ly_grid.ly_grid__gap_horiz_xxl>.ly_grid_col {
        padding-left: 28px;
    }

    .ly_grid.ly_grid__gap_horiz_xl {
        margin-left: -24px;
    }

    .ly_grid.ly_grid__gap_horiz_xl>.ly_grid_col {
        padding-left: 24px;
    }

    .ly_grid.ly_grid__gap_horiz_lg {
        margin-left: -20px;
    }

    .ly_grid.ly_grid__gap_horiz_lg>.ly_grid_col {
        padding-left: 20px;
    }

    .ly_grid.ly_grid__gap_horiz, .ly_grid.ly_grid__gap_horiz_md {
        margin-left: -16px;
    }

    .ly_grid.ly_grid__gap_horiz>.ly_grid_col, .ly_grid.ly_grid__gap_horiz_md>.ly_grid_col {
        padding-left: 16px;
    }

    .ly_grid.ly_grid__gap_horiz_sm {
        margin-left: -12px;
    }

    .ly_grid.ly_grid__gap_horiz_sm>.ly_grid_col {
        padding-left: 12px;
    }

    .ly_grid.ly_grid__gap_horiz_xs {
        margin-left: -8px;
    }

    .ly_grid.ly_grid__gap_horiz_xs>.ly_grid_col {
        padding-left: 8px;
    }

    .ly_grid.ly_grid__gap_horiz_xxs {
        margin-left: -4px;
    }

    .ly_grid.ly_grid__gap_horiz_xxs>.ly_grid_col {
        padding-left: 4px;
    }

    .hp_fx0,
    .hp_mob_fx0 {
        flex: 1 0 !important;
    }
}


/*=======================================================

　9.1ポップアップ

=======================================================*/
.bl_popup,
.bl_popup_wrapper input[type="checkbox"] {
    display: none;
}

.bl_popup_tmbIcon {
    position: absolute;
    display: none;
}

/* ——————————————————768px以上に適用—————————————————— */
@media screen and (min-width: 768px) {

    /* 資料ポップアップ表示 */
    .bl_popup_wrapper {
        position: relative;
    }

    .bl_download .bl_popup_wrapper {
        width: 50%;
    }


    .bl_popup_tmb:hover {
        cursor: pointer;
        opacity: 0.7;
        transition: 0.5s;
    }

    .bl_popup_tmbIcon {
        display: block;

        right: 2%;
        top: 4%;
    }




    .bl_popup {
        display: block;
        z-index: 10000000;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        transform: scale(0);
        background-color: rgba(0, 0, 0, 0.8);
        opacity: 0;
        transition: opacity 0.3s, transform 0s 0.3s;
    }

    .bl_popup_closeBtn {
        display: block;
        z-index: 10000003;
        position: absolute;
        top: 1vh;
        right: 1vh;
        width: 5vh;
        height: 5vh;
        cursor: pointer;
    }

    .bl_popup_closeBtn::before,
    .bl_popup_closeBtn::after {
        position: absolute;
        top: 50%;
        width: 100%;
        height: 2px;
        margin-top: -1px;
        background-color: #fff;
        content: '';
    }

    .bl_popup_closeBtn::before {
        transform: rotate(45deg);
    }

    .bl_popup_closeBtn::after {
        transform: rotate(-45deg);
    }

    .bl_popup_closeArea {
        z-index: 10000002;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    .bl_popup_imgWrapper {
        z-index: 10000001;
        position: absolute;
        top: 5%;
        left: 5%;
        width: 90%;
        height: 90%;
    }

    .bl_popup_img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .bl_popup_wrapper input[type="checkbox"] {
        display: none;
    }

    input[type="checkbox"]:checked~.bl_popup {
        transform: scale(1);
        opacity: 1;
        transition: opacity 0.3s;
    }
}

/* ——————————————————1025px以上に適用—————————————————— */
@media screen and (min-width: 1025px) {

    /* PC用レイアウト 1025px以上の範囲に収めるデザインはこの中に記述 */
    .bl_download .bl_popup_wrapper {
        width: 100%;
    }

    .bl_popup_tmbIcon {
        right: 2%;
        top: 87%;
    }
}

/*=======================================================

　SNS

=======================================================*/

.bl_sns .bl_horizBtnList {
    display: flex;
    justify-content: center;
    width: 90%;
    margin: 0 auto;
    max-width: 340px;
}

.bl_sns .bl_horizBtnList>li {
    max-width: none;
    margin: 0 4% 0 0;
    margin-top: 0;
    border-radius: 2px;
    flex: 0;
}

.bl_sns .bl_horizBtnList>li:last-child {
    margin: 0;
}

.bl_sns .bl_horizBtnList>li a {
    display: block;
    color: #fff;
}

.bl_sns .bl_horizBtnList>li a:hover {
    opacity: .4;
}

.bl_sns .bl_horizBtnList>li span {
    /* FB縦位置（ vertical-align: top）調整 */
    vertical-align: top !important;
}

.bl_sns {
    margin-bottom: 70px;
    margin-top: 40px;
}

/* ——————————————————768px以上に適用—————————————————— */
@media screen and (min-width: 768px) {

    /* タブレット用レイアウト 768px以上の範囲に収めるデザインはこの中に記述 */
    .bl_sns .bl_horizBtnList {
        width: 50%;
        margin: 0 0 0 auto;
        justify-content: flex-end;
    }

    .bl_sns .bl_horizBtnList>li {
        margin: 0 20px 0 0;
    }

    .bl_sns {
        margin-top: 80px;
    }
}

/* ——————————————————1025px以上に適用—————————————————— */
@media screen and (min-width: 1025px) {
    .bl_sns .bl_horizBtnList {
        width: 40%;
    }
}

/*=======================================================

　8.バナー

=======================================================*/
/* --------------------------------------------- 
 　8.1 コラム記事、上部固定バナー 8.2
 --------------------------------------------- */
.el_bnr {
    margin: 50px auto;
}

.el_bnr img {
    height: auto;
}

.bl_side_stickyWrapper {
    /* 追従させたい要素はこちらと「bl_side_stickyItem」で囲う。
    heightは追従のため高さ要指定、サイドカラムの内容によって調整（バナーサイズやおすすめ記事件数が減る場合は注意） */
    /* height: 2000px; */
    position: sticky;
    top: 101px;
    margin-bottom: 60px;
}

.bl_side_stickyItem {
    position: sticky;
    top: 101px;
}

.el_bnr.el_bnr__side {
    margin-top: 10px;
    /* キャンペーンバナー追加でバナー3つになり見切れるためマージン50から30に */
    margin-bottom: 30px;
}

/*=======================================================

　9.Googleカレンダーのボタン

=======================================================*/
.el_calendar {
    margin: 50px auto;
    text-align: left;
    z-index: 1;
}

.el_calendar.el_calendar__btn {
    text-align: center;
}

.el_calendar.el_calendar__btn button {
    background-color: #caaa5f !important;
    border-radius: 0;
    font-size: 2rem;
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
    height: 60px;
    padding: 18px 3rem;
    min-width: 300px;
    border: 1px solid currentColor;

}

.el_calendar.el_calendar__btn button::before {
    content: "\025b6  ";
    white-space: pre-wrap;
}

.el_calendar.el_calendar__btn button:hover {
    border-color: currentColor !important;
    background-color: #FFF !important;
    color: #caaa5f !important;
    transition: .3s;
}

.el_calendar.el_calendar__btn.el_calendar__mainColor button {
    background-color: #189F61 !important;
}

.el_calendar.el_calendar__btn.el_calendar__mainColor button:hover {
    border-color: currentColor !important;
    background-color: #FFF !important;
    color: #189F61 !important;
    transition: .3s;
}

.el_calendar.el_calendar__btn.el_calendar__subColor button {
    background-color: #17aed4 !important;
}

.el_calendar.el_calendar__btn.el_calendar__subColor button:hover {
    border-color: currentColor !important;
    background-color: #FFF !important;
    color: #17aed4 !important;
    transition: .3s;
}

div.hur54b {
    /* スマホ時ボタンクリック後、ポップアップカレンダー(.hur54b)の余白を減らしカレンダーを見やすくする */
    padding: 72px 30px 50px;
}

@media screen and (min-width: 480px) {

    /* タブレット用レイアウト 480px以上の範囲に収めるデザインはこの中に記述 */
    .el_calendar.el_calendar__btn {
        text-align: left;
    }

    /* ボタンクリック後、ポップアップカレンダー(.hur54b)の余白をデフォルトに戻す */
    div.hur54b {
        padding: 72px !important;
    }
}

/* ——————————————————666px以上に適用—————————————————— */
@media screen and (min-width: 667px) {

    /* カレンダーの説明欄レイアウト変更に伴って667pxで切り替え */
    .el_calendar.el_calendar__embed iframe {
        height: 700px;
    }


}

/* テンプレート */
/*=======================================================

　1．見出し1

=======================================================*/
/* --------------------------------------------- 
 　1.1 見出し2  
 --------------------------------------------- */
/* --- 見出し3 --- */
/* ——————————————————768px以上に適用—————————————————— */
@media screen and (min-width: 768px) {
    /* タブレット用レイアウト 768px以上の範囲に収めるデザインはこの中に記述 */
}

/* ——————————————————1025px以上に適用—————————————————— */
@media screen and (min-width: 1025px) {
    /* PC用レイアウト 1025px以上の範囲に収めるデザインはこの中に記述 */
}