@charset "UTF-8";

html {
    font-size: 62.5%;
    background: #009A3A;
    overflow-y: initial;
}

body {
    font-family: -apple-system, "Original Yu Gothic", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, Roboto, "Droid Sans";
    font-family: source-han-sans-japanese, 'Noto Sans JP', 'ヒラギノ角ゴ Pro W6', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', 'Osaka', 'ＭＳ Ｐゴシック', 'MS PGothic', 'sans-serif';
    font-style: normal;
    font-weight: 300;
    font-weight: 400;
    font-size: 17px;
    font-size: 16px;
    line-height: 1.8;
    line-height: 2.125;
    color: #222;
    padding: 0;
    width: 100%;
    overflow-x: hidden;
    background: #fff;
}

body {
    /* fixed を追加：背景画像をブラウザの画面にピン留めする */
    /*    background: #FDFBF5 url(/assets/img/bgMain.png) center -10px / 100% auto no-repeat fixed;*/
    /*    background: #FDFBF5 url(/assets/img/bgA.png) left top repeat-y;*/
    background: #FDFBF5;
}

.wrapper {
    position: relative;
}

/*.section__top:after {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    margin: auto;
    z-index: 999;
    background-size: 100% auto;
    z-index: 0;
}*/

.section__top .contentsInner {
    z-index: 1;
}
.section__top {
    padding: 205px 0 83px;
    padding: 83px 0 205px;
}
.main .section__top:last-child {
    padding-bottom: 100px;
}
.main .section__top:last-child:after {
    opacity: 0;
}

.section__top:after {
    content: "";
    width: 100%;
    height: 80px;
    display: block;
    left: 0;
    top: calc(100% + -76px);
    margin: auto;
    z-index: 1;
    position: relative;
}
.p_top__mv {
    margin: auto;
    position: relative;
    z-index: 1;
}
.p_top__mv>img {
    width: 100%;
    position: relative;
    z-index: 3;
}
.p_top__mv:after {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    left: 0;
    top: 0;
    margin: auto;
    background: #F5F3ED url(/assets/img/bg_layer.png) left 20vw top repeat-y;
    background: #FFFDF7 url(/assets/img/bg_layer.png) left 20vw top repeat-y;
    background-size: 100% auto;
    aspect-ratio: 1280 / 712;
     /*background-blend-mode: initial;  no meaing  */
     /*mix-blend-mode: multiply;  no meaing  */
    z-index: 2;
    opacity: 0.77;
    opacity: 0;
    position: absolute;
}
.bg__layer {
    background: transparent url(/assets/img/bg_layer.png) left 20vw top repeat-y;
    background-size: 100% auto;
    position: relative;
}
.section__top.bg__cream:after {
    position: absolute;
    background: url(/assets/img/bg_nami_offWhite.png) no-repeat center top;
    background: url(/assets/img/bg_nami_offWhite2.png) no-repeat center top;
    background-size: cover;
}

section#sec1:after,
.section__top.bg__offWhite:after {
    position: absolute;
    background: url(/assets/img/bg_nami_cream.png) no-repeat center top;
    background: url(/assets/img/bg_nami_cream2.png) no-repeat center top;
    background-size: cover;
}

/*.main .section__top.bg__offWhite::after {visibility: hidden;}*/
.outerwrapper {
    position: relative;
}

.outerwrapper:before,
.outerwrapper:after {
    position: absolute;
    content: "";
    width: 90px;
    height: 100%;
    top: 0;
    margin: auto;
    z-index: 999;
}

.outerwrapper:before {
    left: 0;
    background: url(/assets/img/bgA.png) left top repeat-y;
    background-size: 100% auto;
}

.outerwrapper:after {
    right: 0;
    background: url(/assets/img/bgB.png) left top repeat-y;
    background-size: 100% auto;
}

/* 白を差し込んでテクスチャを浮かせる */
.footer {
    background: #FAFAFA;
}



/*.outerwrapper {
    background: #FDFBF5 url(/assets/img/bg.png) repeat-y center;
    background-size: 100% auto;
}*/



* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

img {
    border: none;
    max-width: 100%;
}

a,
input,
button {
    color: inherit;
    /*    transition-property: opacity;*/
    /*    transition-duration: .3s;*/
    /*    transition: color 0.3s;*/
    -webkit-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all .3s ease;
    text-decoration: none;
}

a:hover,
button:hover {
    text-decoration: underline;
    opacity: 0.88;
    color: #068442;
}

textarea:focus,
select:focus,
input:focus {
    border-color: #00a040;
}

input:focus {
    text-indent: .4em;
}

input::placeholder {
    color: #666666;
}

li {
    list-style: none;
}

.hide {
    display: none !important;
}

.font_key {
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-style: normal;
}

/*
.contentsWrap {
    max-width: 1240px;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 20px;
}

*/
.contentsInner {
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}

.main_top .contentsInner {
    /*    max-width: 980px;*/
}

/*.footer__inner {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}
*/


.main {
    padding-top: 130px;
    padding-bottom: 133px;
}

.clr__green {
    color: #009A3A;
}

.clr__yellow {
    color: #B0C102;
}

.clr__lightGreen {
    color: #6FBA2C;
}

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

/* ============================================================
   Common Module: MORE Link / Pager
   ============================================================ */
/* --- MOREリンク共通パーツ --- */
.c_moreLink {
    display: inline-block;
    /*    color: #009A3A;*/
    font-weight: bold;
    font-size: 16px;
    text-decoration: none;
}

.c_moreLink::after {
    content: "";
    display: inline-block;
    vertical-align: middle;

    /* 位置固定のための設定 */
    position: relative;
    left: 0;
    margin-left: 8px;
    /* テキストとの距離 */

    /* 矢印の見た目 */
    width: 6px;
    height: 6px;
    border-top: 2px solid #009A3A;
    border-right: 2px solid #009A3A;

    /* 回転だけを担当（位置調整に干渉させない） */
    transform: rotate(45deg);
    margin-top: -2px;
    /* 垂直方向の微調整が必要な場合 */

    transition: left 0.3s ease;
}

/* --- ホバー時：真横にスライド --- */
/* 親（カードやリンク）がホバーされた時に矢印を動かす */
.card__link:hover .c_moreLink::after,
.c_moreLink:hover::after {
    left: 5px;
    /* 好きな移動距離に調整してください */
}


.c_pager__list {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    position: relative;
}

.page-numbers {
    width: 40px;
    height: 40px;
    margin: 0 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #009A3A;
    color: #009A3A;
    text-decoration: none;
    font-size: 20px;
    font-weight: bold;
    border-radius: 6px;
    background-color: #fff;
}

.page-numbers.current {
    background: #009A3A;
    color: #fff;
}

.prev.page-numbers {
    display: block;
    width: 12px;
    height: 24px;
    background: url(/assets/img/icon_prev.svg) no-repeat center;
    background-size: 100% auto;
    transition: all 0.3s ease;
    border: none;
    margin-right: 10px;
}

.next.page-numbers {
    display: block;
    width: 12px;
    height: 24px;
    background: url(/assets/img/icon_next.svg) no-repeat center;
    background-size: 100% auto;
    transition: all 0.3s ease;
    border: none;
    margin-left: 10px;
}

.page-numbers.dots {
    border: none;
    background: none;
    margin: 0 auto;
}

/* --- ホバー時：真横にスライド --- */
.c_pager__next:hover {
    /*    left: 2px;*/
    /* 右に5pxスライド */
    opacity: 0.7;
    border-color: red;
    /* 少し薄くしてクリック感を出してもOK */
}

/* ============================================================
   Project: Case Study (p_case)
   ============================================================ */
.p_case {
    /*    padding: 80px 0;*/
    background: #f9f9f7;
}

/* 背景にテクスチャがある場合はここへ */

.p_case__inner {
    /*    width: 980px;*/
    /*    margin: 0 auto;*/
}

.p_case__head {
    /*    margin-bottom: 40px;*/
}

.title__cat {
    font-size: 62px;
    font-weight: bold;
    display: flex;
    gap: 20px;
    flex-direction: column;
    line-height: 1.1;
    letter-spacing: 5px;
    text-align: center;
    margin-bottom: 50px;
}

.title__page {
    font-size: 62px;
    font-weight: bold;
    display: flex;
    align-items: center;
    line-height: 1.1;
    margin-bottom: 50px;
}

.title__subHeading {
    font-size: 20px;
}

.title__page .title__subHeading {
    margin-left: 30px;
}

.grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 25px;
    row-gap: 60px;
    margin-bottom: 60px;
}

/* ============================================================
   Component: Case Card (card)
   ============================================================ */
.card__link {
    text-decoration: none;
    display: block;
    color: inherit;
    transition: all 0.3s ease;
}
.card__body {
    line-height: 1.9;
}
.card__img {
    width: 100%;
    aspect-ratio: 3 / 2;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 15px;
}

.card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.card__link:hover {
    opacity: 0.88;
}

.card__link:hover .card__img img {
    transform: scale(1.05);
}

.card__date {
    display: block;
    font-size: 14px;
    margin-bottom: 8px;
}

.card__title {
    font-size: 18px;
    font-weight: bold;
    line-height: 28px;
    margin-bottom: 16px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    /* 2行で省略 */
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 3.2em;
    /* 高さを揃える */
}
.problem .card__title {
    margin-bottom: 8px;
}

.card__link:hover .card__title {
    text-decoration: underline;
}

.card__title2 {
    font-size: 20px;
    min-height: 0;
    margin-top: 20px;
}

/* ============================================================
   Header
   ============================================================ */
.header {
    width: 100%;
    /*    height: 80px;*/
    position: fixed;
    top: 0;
    z-index: 1000;
    /*    backdrop-filter: blur(8px);*/
    /*    -webkit-backdrop-filter: blur(8px);*/
    /*    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);*/
}

.header__inner {
    padding: 20px 20px;
    padding: 6px 0;
    max-width: 1141px;
    max-width: 1280px;
    max-width: 1340px;
    height: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}

/* ヘッダー内部 - 全て横並び */
.header__inner {}


/* ロゴ */
.header__logo a {
    display: block;
    padding: 10px 12px;
    border-radius: 6px;
}
/*.js_scrolled .header__logo a {*/
.js_scrolled .header {
    background-color: rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    /*    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);*/
}

.header__logo a:hover {
    box-shadow: 0 0px 44px rgba(0, 0, 0, 0.1);
}


.header__logo img {
    display: block;
/*    height: 32px;*/
    /* ロゴのサイズ感 */
    width: 210px;
}

/* ナビゲーションとボタンのまとまり */
.header__actions {
    display: flex;
    align-items: center;
    gap: 30px;
}

.header__navList {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 25px;
}

.header__navList a {
    text-decoration: none;
    color: #333;
    font-size: 14px;
    font-weight: 700;
    transition: color 0.3s;
}

.header__navList a:hover {
    color: #009A3A;
}

/* 共通パーツ: CONTACTボタン (c_btnContact) */
a.wp-block-button__link,
.c_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    /* グラデーションを画像の色味に調整 */
    /* 左: #0096a9 (少し青みがかった緑) から 右: #00c08b (鮮やかな緑) へ */
    background: linear-gradient(90deg, #0096a9 0%, #00c08b 100%);
    color: #fff;
    text-decoration: none;
    font-weight: 700;
    border-radius: 40px;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    padding-left: 15px;
    padding: 16px 20px 15px 35px;
    width: 320px;
    height: 60px;
    font-size: 20px;
    max-width: 100%;
    margin-bottom: auto;
}
a.wp-block-button__link {
    margin: auto;
    display: inline-flex;
    white-space: normal;
    padding: 16px 40px 15px 40px;
    min-width: 40%;
    height: auto;
    line-height: 1.4;
    font-weight: 500;
}

.c_btn__back {
    padding: 16px 35px 15px 20px;
}

/* ホバー時にグラデーションの密度を変える、または少し明るくする */
.c_btn:hover {
    opacity: 0.9;
    filter: brightness(1.1);
    /* 手っ取り早く色味を浮かせる */
    /*    transform: translateY(1px);*/
    box-shadow: 0 4px 12px rgba(0, 150, 169, 0.3);
}


.c_btn__icon {
    position: relative;
    left: 0;
    margin-left: 15px;
    width: 8px;
    height: 16px;
    background: url(/assets/img/icon_next_w.svg) no-repeat center;
    background-size: 100% auto;
    transition: all 0.3s ease;
}

.icon__back {
    position: relative;
/*    right: 0;*/
    margin-right: 15px;
    width: 8px;
    height: 16px;
    background: url(/assets/img/icon_prev_w.svg) no-repeat center;
    background-size: 100% auto;
    transition: left 0.3s ease;
}

.c_btnArea {
    margin-bottom: 1px;
}

/* ページ下部の大きいボタン用（サイズと文字間隔の調整） */
.c_btn.is_large {
    width: 440px;
    height: 64px;
    border-radius: 20px;
    font-size: 18px;
    letter-spacing: 0.15em;
    /* 広い文字間隔を再現 */
}

/* --- ヘッダー内のCONTACTボタン専用 --- */
.header__contact.c_btn {
    /* 背景グラデーションを共通化 */
    background: linear-gradient(90deg, #0096a9 0%, #00c08b 100%);
    padding: 14px 20px 16px 35px;
    padding: 11px 20px 10px 35px;
    line-height: 1.3;
    height: 58px;
    height: 64px;
    height: 48px;
    width: 226px;
    width: 200px;
    font-size: 21px;
    font-size: 20px;
    letter-spacing: 0.05em;
    border-radius: 0 0 12px 12px;
    border-radius: 8px;
/*    position: absolute;*/
/*    top: 0;*/
/*    right: 0;*/
}

.c_btn.is_large .c_btn__icon {
    width: 12px;
    height: 24px;
}

/* ホバー時の挙動（真横スライド） */

.c_btn__back.c_btn:hover .c_btn__icon {
    left: -2px;
    /* 軸をぶらさず真横に動かす */
}
.header__contact.c_btn:hover .c_btn__icon {
    left: 4px;
    /* 軸をぶらさず真横に動かす */
}

.header__contact.c_btn:hover {
    filter: brightness(1.1);
    box-shadow: 0 4px 10px rgba(0, 150, 169, 0.2);
}

/* ページ下部用の大きいサイズ */
.c_btn.is_large {
    width: 600px;
    /* 画像の比率に合わせ調整 */
    height: 100px;
    background: linear-gradient(90deg, #0096a9 0%, #00c08b 100%);
    font-size: 30px;
    letter-spacing: 0.1em;
}

a.wp-block-button__link:hover,
.c_btn:hover {
    color: #fff !important;
    opacity: 0.9;
    /*  transform: translateY(-2px);*/
    box-shadow: 0 5px 15px rgba(0, 176, 139, 0.3);
}

/* ホバー時：回転（transform）には一切触れず、left だけ動かす */
.c_btn:hover .c_btn__icon {
    left: 4px;
    /* これで「真横」にだけ動く */
}

/* ============================================================
   Footer
   ============================================================ */
.footer {
    padding: 60px 0 0;
}

.footer__inner {
    margin: 0 auto;
}

.footer__main {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: 60px;
}

/* 左側：ロゴエリア */
.footer__logoGroup {
    flex: 0 0 330px;
}

.footer__logo {
    margin-bottom: 50px;
}

.footer__partner {
    margin-top: 20px;
}

/* 右側：ナビゲーション */
.footer__nav {
    display: flex;
    gap: 60px;
}

.footer__navColumn {
    min-width: 140px;
}

.footer__navList {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer__navList>li {
    margin-bottom: 15px;
    margin-bottom: 30px;
}

.footer__navList>li.bs {
    margin-bottom: 20px;
}

.footer__navList>li.bs a {
    font-size: 17px;
}

.footer__navList>li>a {
    text-decoration: none;
    color: #333;
    font-size: 14px;
    font-size: 19px;
}

.footer__navSubList {
    list-style: none;
    padding: 16px 0 0 0;
    margin: 0;
}

.footer__navSubList li {
    margin-bottom: 20px;
}

.footer__navSubList a {
    text-decoration: none;
    /*    color: #666;*/
    font-size: 15px;
    font-weight: normal;
}

.footer__navList a:hover {
    text-decoration: underline;
    color: #009A3A;
}

/* コピーライトエリア */
.footer__copy {
    /*    background-color: #fff;*/
/*    padding: 31px 0;*/
    /*    border-top: 1px solid #eee;*/
}

.copyright .contentsInner {
    /*    width: 980px;*/
    margin: 0 auto;
}

.footer__copy {
    font-size: 12px;
    line-height: 2.5;
    color: #333;
}
.footer__copy__inner {
    display: flex;
    justify-content: space-between;
    padding: 31px 0;
    border-top: 1px solid #CECECE;
}


/* ============================================================
   Project: Bottom Contact Area (p_contactArea)
   ============================================================ */
.p_contactArea {
    padding: 80px 0;
    /* 添付の「グループ 62.jpg」を背景に使用 */
    /*    background: #f9f9f7 url('./assets/img/bg_texture.jpg') repeat;*/
    text-align: center;
}

.p_contactArea__inner.contentsInner {
    width: 980px;
    margin: 0 auto;
}

.p_contactArea__text {
    font-size: 20px;
    font-size: 19px;
    /*    font-weight: 700;*/
    /*    color: #333;*/
    margin-bottom: 49px;
    line-height: 28px;
}

/* SP対応 */
@media screen and (max-width: 768px) {
    .p_contactArea {
        padding: 60px 20px;
    }

    .c_btn.is_large {
        width: 100%;
        max-width: 320px;
    }
}


.bg__cream {
    background-color: #F8F5EF;
    background-color: #f5f8f0;
}
.bg__cream2 {
    background-color: #F5F3ED;
}

.bg__offWhite {
    background-color: #FFFDF7;
    background-color: #FDFBF5;
    background-color: #FFFDF7;
}
.bg__none {
    background: transparent;
}


/* カラー */
.clr__orange {
    color: #d88b3a;
}

.clr__green {
    color: #48a73d;
    color: #009A3A;
}

/* セクション背景 */
.p_top__problem {
    /*    background-color: #f4f7f0;*/
    /*    padding: 80px 0;*/
}

.p_top__problem__head {
    text-align: center;
    margin-bottom: 50px;
}

.title__cat.title__2 {
    font-size: 28px;
    margin-top: 100px;
}

.txt20 {
    font-size: 20px;
    line-height: 1.5;
}

.txt24 {
    font-size: 24px;
    line-height: 1.7;
    font-weight: bold;
}
p.title {
    font-weight: 500;
}
.problem__grid,
.solution__grid {
    max-width: 940px;
    margin: auto;
}

/* 悩みカード */
.problem__card,
.solution__card {
    background: #fff;
    padding: 30px 20px;
    font-size: 20px;
    border-radius: 12px;
    text-align: center;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.03);
}
.problem__card {
    line-height: 1.7;
}

.solution__card:before {
    position: absolute;
    content: "";
    width: 50px;
    height: 55px;
    top: -80px;
    left: 0;
    right: 0;
    margin: auto;
    background: url(/assets/img/fig_arrow.svg) no-repeat center;
    background-size: 100% auto;
}

.problem__message {
    width: 100%;
}

.problem__grid {
    margin-top: -440px;
}

.p_top__problem__head {
    margin-bottom: 340px;
    margin-bottom: 370px;
}
.p_top__problem__head .title__cat.title__2 {
    font-size: 22px;
    letter-spacing: 1.6px;
}

.problem__card__cat {
    display: flex;
    align-items: center;
    justify-content: center;
    /*    color: #d88b3a;*/
    /*    font-size: 14px;*/
    font-weight: bold;
    margin-bottom: 20px;
    margin-bottom: 6px;
}

.deco_slash {
    width: auto;
    height: 20px;
    margin: 0 5px;
}


.problem__card__title,
.solution__card__title {
    font-size: 20px;
    line-height: 1.5;
    margin-bottom: 15px;
    font-weight: bold;
}

.solution__card__title {
    font-size: 28px;
}

.problem__card__title {
    line-height: 1.4;
    margin-bottom: 6px;
}
.problem__card__title .clr__orange {
    font-size: 24px;
}

.problem__card__text {
    /*    font-size: 14px;*/
    line-height: 1.5;
}

/* 中間エリア */
.problem__message {
    text-align: center;
    padding: 50px 0;
}

.problem__message__txt {
    font-size: 24px;
    font-size: 22px;
    font-weight: bold;
    margin-top: -120px;
}

.problem__message__arrows {
    display: flex;
    justify-content: center;
    gap: 250px;
    margin-top: 30px;
}

.arrow_img img {
    width: 40px;
    height: auto;
}

/* 解決カード */
.solution__card {
    /*    border-top: 5px solid #48a73d;*/
    margin-top: 60px;
    margin-top: 200px;
    margin-top: 160px;
    position: relative;
    padding: 34px 28px 20px;
    min-height: 480px;
    min-height: 414px;
}

.solution__card__img {
    margin-bottom: 20px;
}

.solution__card__img img {
    width: 100%;
    max-width: 310px;
    height: auto;
}

.solution__card__text {
    text-align: left;
    font-size: 14px;
    line-height: 2;
}

.lead {
    margin: 60px auto;
}
.lead2 {
    font-size: 19px;
    line-height: 1.9;
    font-weight: 500;
    margin-top: 28px;
    margin-bottom: 130px;
}
.section__top {
    position: relative;
}

.contentsInner {
    position: relative;
}

/*.section__top:before {*/
/*.contentsInner:before {
    position: absolute;
    content: "";
    width: 82px;
    height: 93px;
    top: calc(100% + 66px);
    left: 0;
    right: 0;
    margin: auto;
    background: url(/assets/img/symbol_1.svg) no-repeat center;
    background-size: 100% auto;
}*/

.movie_area {
    background: #fff;
    border-radius: 40px;
    position: relative;
    margin: 80px auto 80px;
    margin: 0px auto 80px;
    padding: 1px 10px 80px;
    padding: 70px 10px 80px;
    padding: 30px 10px 80px;
}

.movie_thumb {
/*    margin-top: -110px;*/
margin-top: 40px;
line-height: 1;
}

.systems {
    margin: auto;
}

.systems__item {
    display: flex;
    gap: 50px;
    align-items: center;
    margin: 50px auto;
}

.tit__border {
    font-size: 32px;
    font-weight: bold;
    padding: 10px 0 15px;
    border-bottom: 2px solid;
    margin-bottom: 20px;
    line-height: 36px;
}

.systems__dtl {
    width: 510px;
    flex: 0 0 510px;
    max-width: 100%;
}

.c_top__titleHead {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 81px;
    text-align: left;
    font-size: 20px;
    margin-bottom: 55px;
}

.c_top__titleHead__dtl {
    width: 510px;
    max-width: 100%;
    line-height: 1.9;
}

.c_top__titleHead__dtl .title__cat {
    text-align: left;
    font-size: 50px;
    margin-bottom: 30px;
    margin-bottom: 16px;
}

.main.main_top {
    padding-top: 0;
    padding-bottom: 1px;
}

.c_btn__grad {
    background: linear-gradient(250deg, #6FBA2D 0%, #009A3A 100%);
}

a.pagetop {
    background: linear-gradient(250deg, #6FBA2D 0%, #009A3A 100%);
    border-radius: 100%;
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: rotate(-90deg);
    position: fixed;
    right: 110px;
    bottom: 60px;
    z-index: 999;
    opacity: 0;
}
a.pagetop:hover {
    margin-bottom: 5px;
}
a.pagetop.is_show {
    opacity: 1;
}













/* フォーム全体のメッセージ */
.form__message {
    text-align: center;
    font-size: 16px;
    margin-bottom: 30px;
/*    color: #333;*/
}

.form__container {
/*    max-width: 800px;*/
    margin: 0 auto;
    padding: 0 20px;
}

/* 各行のレイアウト */
.form__row {
    display: flex;
    align-items: center;
    padding: 50px 0;
    border-bottom: 1px solid #E0E0E0;
}

.form__row.-textarea {
    align-items: flex-start;
}

/* ラベルと必須チップ */
.form__label {
    width: 30%;
/*    font-weight: bold;*/
    font-size: 16px;
    line-height: 26px;
}

.form__label-sub {
    font-size: 12px;
    font-weight: normal;
}

.form__required-chip {
    background: #28a745;
    color: #fff;
    font-size: 14px;
    padding: 4px 11px;
    border-radius: 10px;
    margin-left: 10px;
    vertical-align: middle;
    line-height: 1;
}

/* 入力フィールド */
.form__field {
    width: 70%;
}

.form__field input[type="radio"] {
    transform: scale(2.1);
}

[type="radio"]+span {
    margin-right: 40px;
    padding-left: 10px;
}

input[type="checkbox"] {
    transform: scale(1.8);
}

input[type="checkbox"]+* {
    margin-left: 10px;
}

.form__field input[type="text"],
.form__field input[type="email"],
.form__field textarea {
    width: 100%;
    padding: 14px 24px;
    border: 1px solid #A7A7A7;
    border-radius: 30px;
    box-sizing: border-box;
    font-size: 16px;
    transition: border-color 0.3s;
}

.form__field textarea {
    border-radius: 20px;
}

.form__field input:focus,
.form__field textarea:focus {
    border-color: #82bc24;
    outline: none;
}

/* 同意エリア */
.form__agreement {
    text-align: center;
    margin: 40px 0;
}

.form__link {
    color: #007bff;
    text-decoration: underline;
}

/* 送信ボタンエリア */
.form__submit-area {
    text-align: center;
    margin-top: 20px;
}

.form__submit-btn {
    appearance: none;
    display: inline-block;
    width: 320px;
    max-width: 100%;
    padding: 18px 0;
    background: linear-gradient(90deg, #1d953f 0%, #82bc24 100%);
    color: #fff;
    border: none;
    border-radius: 50px;
    font-size: 18px;
    font-weight: bold;
    cursor: pointer;
    transition: opacity 0.3s, transform 0.2s;
    position: relative;
}
.form__submit_span {
    display: inline-block;
    position: relative;
}
.form__submit_span:before {
    content: "";
    position: absolute;
    display: inline-block;
    width: 10px;
    height: 20px;
    right: 30px;
    top: 0;
    bottom: 0;
    margin: auto;
    background: url(/assets/img/icon_next_w.svg) no-repeat center;
    background-size: 100%;
    -webkit-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease;
    z-index: 9;
}

.form__submit-btn:focus,
.form__submit-btn:hover {
    opacity: 0.9;
    text-indent: 0;
}

.form__submit-btn:active {
    transform: scale(0.98);
}

/* バリデーションエラー表示 */
.error {
    color: #d93025;
    font-size: 13px;
    display: block;
    margin-top: 8px;
    font-weight: bold;
}

/* チェックなしの時にボタンを半透明にする */
.form__submit-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* フォームのバグによる不要な改行を消す */
.form__agreement br {
    display: none !important;
}


.p_formArea form {
    background: #fff;
    padding: 50px 60px 60px;
    border-radius: 28px;
}

fieldset {
    border: none;
}


/* エラーメッセージの装飾（適宜調整してください） */
.error {
    color: #ff0000;
    font-size: 12px;
    display: block;
    margin-top: 5px;
}






/* CF7が自動生成するpタグやbrタグを無効化 */
.wpcf7 p, .wpcf7 br {
/*    display: none;*/
}
form.wpcf7-form.sent {
    display: none;
}

/* 同意チェックボックスの横並び調整 */
.form__agreement-label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    gap: 0;
    cursor: pointer;
}
.screen-reader-response [role="status"],
.screen-reader-response,.wpcf7-response-output {
    color: #f00;
    text-align: center;
    margin: 20px;
    font-weight: bold;
}

.screen-reader-response ul {
    display: none;
}

.wpcf7-not-valid-tip {
    color: #f00;
/*    font-size: 0.8rem;*/
    display: block;
    margin-top: 5px;
}

/* 同意していない時にボタンを半透明にする（CF7標準機能用） */
.form__submit-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* ラジオボタンの横並び */
.wpcf7-list-item {
    display: inline-block;
    margin-right: 15px;
}
span.wpcf7-form-control-wrap span.wpcf7-form-control.wpcf7-acceptance span.wpcf7-list-item-label {display: none;}

/*wp*/
/*
 * WordPress Core Image Styles
 */


/* 投稿内の画像サイズ調整 */
.size-full,
.size-large,
.size-medium,
.size-thumbnail {
    max-width: 100%;
    height: auto;
    margin-bottom: 10px;
}

/* ==========================================
 * 1. 画像と配置（基本の拡張）
 * ========================================== */
.alignleft {
    float: left;
    margin: 0.5em 1.5em 1.5em 0;
}

.alignright {
    float: right;
    margin: 0.5em 0 1.5em 1.5em;
}

.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
    clear: both;
}

/* 投稿内の画像が枠からはみ出さないようにする必須設定 */
img.alignleft,
img.alignright,
img.aligncenter,
img.alignnone {
    max-width: 100%;
    height: auto;
}

/* ==========================================
 * 2. キャプション (wp-caption)
 * エディタで「キャプション」を入れた時に崩れないようにします
 * ========================================== */
.wp-caption {
    margin-bottom: 1.5em;
    max-width: 100%;
    border: 1px solid #f0f0f0;
    /* 枠線（お好みで） */
    padding: 5px;
    background: #fff;
    text-align: center;
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 100%;
    padding: 0;
}

.wp-caption-text {
    font-size: 0.85em;
    line-height: 1.5;
    margin: 5px 0 0;
    color: #666;
}

/* ==========================================
 * 3. ギャラリー (wp-gallery)
 * 標準のギャラリー機能を使った時のカラム分け設定
 * ========================================== */
.gallery {
    margin: 0 auto 1.5em;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.gallery-item {
    display: inline-block;
    text-align: center;
    vertical-align: top;
    width: 100%;
    /* デフォルト */
}

/* カラム数に応じた幅計算（3カラムの例） */
.gallery-columns-3 .gallery-item {
    max-width: 30%;
}

.gallery-columns-2 .gallery-item {
    max-width: 45%;
}

.gallery-caption {
    display: block;
    font-size: 0.8em;
    line-height: 1.3;
}

/* ==========================================
 * 4. 引用 (blockquote)
 * エディタの「引用」ボタン用
 * ========================================== */
blockquote {
    margin: 1.5em 1em;
    padding: 0.5em 1.5em;
    border-left: 4px solid #ccc;
    color: #555;
    font-style: italic;
}

blockquote p {
    margin-bottom: 0.5em;
}

blockquote cite {
    font-size: 0.8em;
    color: #888;
}

/* ==========================================
 * 5. その他・お掃除 (Clearing)
 * float（左寄せ・右寄せ）を解除するための設定
 * ========================================== */
.clear {
    clear: both;
}

/* 記事本文の親要素にこれを当てておくと安心 */
.entry-content::after {
    content: "";
    display: table;
    clear: both;
}

.news__title {
    font-size: 24px;
    line-height: 38px;
}
.news__time {
    margin-bottom: 20px;
}
.news__txt p {
    margin: 50px auto;
}
.news__txt h1 ~ p,
.news__txt h2 ~ p,
.news__txt h3 ~ p,
.news__txt h4 ~ p,
.news__txt h5 ~ p,
.news__txt h6 ~ p {
    margin-top: 20px;
}
.news__thumb {
    margin: 50px auto;
}

.news__txt p img,
.news__thumb>img {
    width: 560px;
    height: auto;
    border-radius: 20px;
    display: block;
    margin: auto;
}









.home .main {
    padding-bottom: 45px;
}
.home .footer {
    padding-top: 1px;
}
body.single .main,
body.category .main,
body#contact .main {
/*    padding-bottom: 45px;*/
}
body.single .footer,
body.category .footer,
body#contact .footer {
/*    padding-top: 45px;*/
}
.img_symbol {
    text-align: center;
    margin-top: -190px;
    margin-bottom: 190px;
}
div#symbol_1 {
    margin-top: -165px;
    margin-top: -195px;
    margin-bottom: 100px;
}
div#symbol_2 {
    margin-top: -165px;
    margin-bottom: 80px;
}
div#symbol_3 {
    margin-bottom: 100px;
}
div#symbol_4 {
    margin-top: -180px;
    margin-bottom: 90px;
}
div#symbol_6 {
    margin-bottom: 110px;
}
div#symbol_7 {
    margin-top: -180px;
    margin-bottom: 130px;
}
section#sec1 {
    padding-bottom: 120px;
    padding-top: 20px;
}
section#sec4 {
    padding-bottom: 130px;
}
section#sec5 {
    padding-bottom: 170px;
}



.sp-hamburger {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px; /* 線同士の間隔 */
  width: 55px;
  height: 56px;
  background: #62C83F;
  border: none;
  cursor: pointer;
  z-index: 10001;
  position: relative; /* 子要素の基準にするために必須 */
}

.sp-hamburger span {
  width: 25px;
  height: 2px;
  background: #fff;
  transition: all 0.3s ease; /* 滑らかに動かす */
  display: block;
}

/* --- 「×」になる時の動き --- */
.sp-hamburger.is-active span {
  position: absolute; /* 親(ボタン)に対して絶対配置にする */
}

.sp-hamburger.is-active span:nth-child(1) {
  transform: rotate(45deg);
}

.sp-hamburger.is-active span:nth-child(2) {
  opacity: 0; /* 消す */
}

.sp-hamburger.is-active span:nth-child(3) {
  transform: rotate(-45deg);
}

.sp-menu {
    position: static;
    margin-right: 20px;
}
.sp-menu ul {
    display: flex;
  display: flex;
  gap: 45px;
  list-style: none;
}
.sp-hamburger {
    display: none;
}
.sp-menu.is-open {
  right: 0;
}
.sp-menu li {
    position: relative;
}
.sp-menu li ~ li:before {
    position: absolute;
    content: "";
    width: 15px;
    height: 1px;
    top: 0;
    bottom: 0;
    left: -30px;
    background: #343434;
    margin: auto;
    z-index: 9;
}
.sp-menu li a {
    color: #009A3A;
    font-size: 14px;
    font-weight: bold;
}

.notfound {
  width: 980px;
  max-width: 100%;
}

.img_symbol img {
    width: 100px;
}

#iframe_1 {
/*    margin-top: 40px;*/
    max-width: calc(100% - 40px);
    max-width: 100%;
    width: 670px;
    height: auto;
    aspect-ratio: 1848 / 847;
    aspect-ratio: 16 / 9;
}
