/* ヘッダー */
/* ハンバーガーメニュー */
.mobileBtn {
    transition: all 0.8s ease;
    position: relative;
    z-index: 101;
    background-color: unset;
    width: 30px;
    height: 30px;
    display: none;
    margin-right: 20px;
}

.mobileBtn__bar {
    width: 100%;
    height: 2px;
    content: "";
    position: absolute;
    transform: translateY(-50%);
    transition: all 0.8s ease;
    background-color: black;
    left: 0;
}

.mobileBtn__bar:nth-child(1) {
    top: 25%;
}

.mobileBtn__bar:nth-child(2) {
    top: 50%;
}

.mobileBtn__bar:nth-child(3) {
    top: 75%;
}

.mobileBtn__bar.rotate:nth-child(1), .mobileBtn__bar.rotate:nth-child(3) {
    top: 50%;
}

.mobileBtn__bar.rotate:nth-child(1) {
    transform: rotate(-225deg);
}

.mobileBtn__bar.rotate:nth-child(2) {
    transform: translate(0%, -50%) scale(0);
}

.mobileBtn__bar.rotate:nth-child(3) {
    transform: rotate(225deg);
}

.mobile {
    overflow: scroll;
    width: 100vw;
    height: 100vh;
    background-color: white;
    background-size: cover;
    position: fixed;
    top: -200vh;
    right: 0;
    z-index: 98;
    transition: all 0.5s ease;
}

.mobile.down {
    top: 0;
}

.mobile__inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    position: relative;
    margin: 110px auto 0;
}

.mobile__ul {
    width: 90%;
    margin: 0 auto;
}

.mobile__li {
    font-size: 14px;
    margin: 0;
}
.mobile__li > a {
    border-bottom: 2px solid black;
    padding: 15px;
}

@media (max-width: 768px) {
    .mobileBtn {
        display: block;
    }
}

.header {
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    width: calc((1320 / 1440)* 100vw);
    padding: 0 calc((40 / 1440)* 100vw);
    z-index: 9999;
    height: calc((95 / 1440)* 100vw);
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
    border-bottom-left-radius: calc((40 / 1440)* 100vw);
    border-bottom-right-radius: calc((40 / 1440)* 100vw);
    background-color: white;

}
.header__inner {
    height: 100%;
    height: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.header__logo {
    width: calc((100 / 1440)* 100vw);
}
.header__ul {
    display: flex;
    align-items: center;
}
.header__li > a {
    margin: 0 calc((15 / 1440)* 100vw);
}

.header__li-ctt > a {
    width: calc((180 / 1440)* 100vw);
    height: calc((60 / 1440)* 100vw);
    background-color: #F4A84C;
}

.header__li-ctt > a > img {
    display: block;
    width: calc((23 / 1440)* 100vw);
    margin-left: calc((20 / 1440)* 100vw);
}


@media (max-width: 768px) {
    .header {
        height: 50px;
    }
    .header__logo {
        width: 110px;
    }
    .header__ul {
        display: none;
    }
}

/* fvセクション */
.fv__top {
    padding: calc((140 / 1440)* 100vw) 0 calc((30 / 1440)* 100vw);
}

.fv__people {
    width: calc((1040 / 1440)* 100vw);
    z-index: 2;
    top: calc((-141 / 1440)* 100vw);
}

/* fvスライダー */
.fv .swiper-pagination {
    position: static !important;
    padding: calc((20 / 1440)* 100vw) 0 calc((30 / 1440)* 100vw);
}

.fv .swiper-pagination-bullet {
    width: calc((15 / 1440)* 100vw) !important;
    height: calc((15 / 1440)* 100vw) !important;
    background-color: #a8a8a8 !important;
}

.fv .swiper-pagination-bullet-active {
    background-color: #FEDF66 !important;
}

/* aboutセクション */
.about {
    background-image: url(../img/about-bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    padding-bottom: calc((450 / 1440)* 100vw);
}

.about__txt {
    letter-spacing: 0.12em;
}

.about__img:nth-of-type(1) {
    width: calc((687 / 1440)* 100vw);
    left: calc((-64 / 1440)* 100vw);
    top: 11%;
}
.about__img:nth-of-type(2) {
    width: calc((646 / 1440)* 100vw);
    right: calc((-64 / 1440)* 100vw);
    top: 11%;
}

/* proセクション */
.pro {
    background-color: #F5F5F5;
}

.pro__container {
    width: calc(100% - calc((440 / 1440) * 100vw));
    background-color: white;
    padding: calc((140 / 1440)* 100vw) calc((100 / 1440)* 100vw);
    box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.08);
    margin-top: calc((-140 / 1440)* 100vw);
}

.pro__cat > p {
    padding: calc((8 / 1440)* 100vw) calc((25 / 1440)* 100vw);
    background-color: #D9D9D9;
    color: white;
    margin: 0 calc((10 / 1440)* 100vw);
    cursor: pointer;
}
.pro__cat > p.active {
    background-color: #FB891F;
}

.pro__content > span {
    background-color: #FEC7C1;
    padding: calc((5 / 1440)* 100vw) calc((10 / 1440)* 100vw);
}

.cta {
    width: calc((1200 / 1440)* 100vw);
    height: calc((310 / 1440)* 100vw);
    background-color: white;
}

.cta > img {
    width: calc((887 / 1440)* 100vw);
    top: calc((-100 / 1440)* 100vw);
}


.cta-a {
    opacity: 1;
    transition: 0.3s all;
    bottom: calc((54 / 1440)* 100vw);
}
.cta-a.posi-re {
    bottom: unset;
}
.cta-a:hover {
    opacity: 0.6;
}
.cta-a > form > input {
    background-color: unset;
    border: unset;
    font-family: "M PLUS Rounded 1c", sans-serif;
    color: #591F19;
    font-weight: 800;
    width: calc((250 / 1440)* 100vw);
    height: calc((80 / 1440)* 100vw);
    box-shadow: 0 calc((10 / 1440)* 100vw) 0 #FB891F;
    border: 3px solid #FB891F;
    border-radius: calc((40 / 1440)* 100vw);
    background-color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: calc((16 / 1440)* 100vw);
}

.cta-a > img {
    position: absolute;
    display: block;
    width: calc((40 / 1440)* 100vw);
    right: calc((20 / 1440)* 100vw);
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
}

/* newsセクション */
.news {
    background-image: url(../img/news-bg.png);
    background-repeat: no-repeat;
    background-size: cover;
}

.news__inner {
    width: calc(100% - calc((460 / 1440) * 100vw));
    margin: 0 auto;
}

.news__content {
    background-color: white;
    border-radius: calc((40 / 1440)* 100vw);
    padding: calc((25 / 1440)* 100vw) calc((30 / 1440)* 100vw);
}

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

.news__top > span {
    background-color: #FEC7C1;
    padding: calc((5 / 1440)* 100vw) calc((10 / 1440)* 100vw);
    margin-right: 15px;
}

/* comセクション */
.com {
    margin-bottom: calc((-112 / 1440)* 100vw);
    margin-top: calc((-90 / 1440)* 100vw);
    background-color: white;
    padding-bottom: calc((50 / 1440)* 100vw);
    z-index: 1;
}

.com__bottom-inner {
    width: calc((550 / 1440)* 100vw);
    margin-right: calc((50 / 1440)* 100vw);
}

.com__logo {
    width: calc((370 / 1440)* 100vw);
}

/* comスライダー */
.com .swiper-pagination-com {
    position: static !important;
    padding: calc((20 / 1440)* 100vw) 0 calc((30 / 1440)* 100vw);
}

.com .swiper-pagination-bullet {
    width: calc((15 / 1440)* 100vw) !important;
    height: calc((15 / 1440)* 100vw) !important;
    background-color: #591F19 !important;
}

.com .swiper-pagination-bullet-active {
    background-color: #FB891F !important;
}

/* bottomセクション */
.bottom {
    background-image: url(../img/bottom-bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: calc((260 / 1440)* 100vw);
    z-index: 0;
}

.bottom__a-wrp {
    margin-bottom: calc((200 / 1440)* 100vw);
}

.bottom__a-wrp > a {
    width: calc((580 / 1440)* 100vw);
    margin: 0 calc((20 / 1440)* 100vw);
}

/* footer */

.footer {
    padding: calc((120 / 1440)* 100vw) 0 calc((65 / 1440)* 100vw);
    background-color: rgba(255, 255, 255, 0.5);
    border-top-left-radius: calc((20 / 1440)* 100vw);
    border-top-right-radius: calc((20 / 1440)* 100vw);
    border-top: calc((18 / 1440)* 100vw) solid #F3D582;
    border-left: calc((18 / 1440)* 100vw) solid #F3D582;
    border-right: calc((18 / 1440)* 100vw) solid #F3D582;
    margin-top: calc((270 / 1440)* 100vw);
}

.footer__logo {
    width: calc((300 / 1440)* 100vw);
}

.footer__li {
    margin: calc((20 / 1440)* 100vw);
}

.footer__bottom > a {
    margin-right: calc((440 / 1440)* 100vw);
}
.footer__bottom > a > img {
    width: calc((30 / 1440)* 100vw);
    margin-left: calc((5 / 1440)* 100vw);
}


/* contactセクション */
.contact {
    padding-top: calc((150 / 1400) * 100vw);
}

.contact__inner {
    margin: 0 auto;
    width: calc((900 / 1400) * 100vw);
}

.contact__dt {
    width: calc(35% - ((20 / 1400) * 100vw));
    margin-right: calc((20 / 1400) * 100vw);
    margin-bottom: calc((50 / 1400) * 100vw);
    display: flex;
    line-height: 2.5;
}

.contact__dt::after {
    content: "必須";
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: calc((11 / 1400)* 100vw);
    width: calc((40 / 1400) * 100vw);
    height: calc((20 / 1400) * 100vw);
    background-color: white;
    color: #D56527;
    margin-left: calc((15 / 1400) * 100vw);
    position: relative;
    top: calc((8 / 1400)* 100vw);
}
.contact__dt.not-must::after {
    opacity: 0;
}

.contact__dd {
    width: 65%;
}

/* 注意テキスト修正 */
.wpcf7-response-output, .wpcf7-not-valid-tip {
    border: unset !important;
    color: red  !important;
}

.wpcf7-not-valid-tip {
    font-size: calc((14 / 1400)* 100vw) !important;
    font-family: "heisei-kaku-gothic-std", sans-serif;
    font-weight: 400;
}

/* 確認するボタン修正 */
.contact__btn.prev-btn:after {
    right: auto;
    transform: translateY(-50%) rotate(180deg);
}

/* ddラジオパターン */
.wpcf7-radio {
    display: flex;
    flex-direction: column;
    margin-bottom: calc((25 / 1400)* 100vw);
}
/* ラジオボタンのデフォルト表示を非表示にする */
.wpcf7-radio input[type="radio"] {
    display: none;
}

/* 疑似要素でカスタムラジオボタンを作成 */
.wpcf7-radio .wpcf7-list-item-label {
    font-size: calc((14 / 1400)* 100vw);
    position: relative;
    padding-left: calc((30 / 1400) * 100vw); /* 画像とテキストの間隔調整 */
    cursor: pointer;
    display: inline-block;
    color: white;
    margin-bottom: calc((22 / 1400)* 100vw);
}

/* 通常時の画像 */
.wpcf7-radio .wpcf7-list-item-label::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: calc((20 / 1400) * 100vw); /* 画像の幅 */
    height: calc((20 / 1400) * 100vw); /* 画像の高さ */
    background-image: url('../img/radio-off.png'); /* 通常時の画像URL */
    background-size: cover;
    background-position: center;
    transition: all 0.3s ease;
}

/* チェック時の画像 */
.wpcf7-radio input[type="radio"]:checked + .wpcf7-list-item-label::before {
  background-image: url('../img/'); /* チェック時の画像URL */
}


/* ddフォームパターン */
.contact__dd.dd-input > p > span > input {
    padding: calc((10 / 1400) * 100vw) calc((20 / 1400) * 100vw);
    width: calc(100% - calc((40 / 1400) * 100vw));
    background-color: #f6f3f0;
    border: none;
}
.contact__dd.dd-input > p > span > input::placeholder {
    color: #D3D3D3;
    font-weight: 700;
}

/* ddテキストエリアパターン */
.contact__dd.dd-txtara > p > span > textarea {
    padding: calc((10 / 1400) * 100vw) calc((20 / 1400) * 100vw);
    width: calc(100% - calc((40 / 1400) * 100vw));
    background-color: #f6f3f0;
    border: none;
    height: calc((150 / 1400) * 100vw)
}
.contact__dd.dd-txtara > p > span > textarea::placeholder {
    color: #D3D3D3;
    font-weight: 700;
}

/* 送信ボタン */
.contact__btn > p > input, .contact__btn-t {
    border: 0;
    -webkit-appearance: none;
    border-radius: 0;
    background-color: #d56123;
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc((575 / 1400) * 100vw);
    height: calc((63 / 1400) * 100vw);
    color: white;
    margin: calc((105 / 1400) * 100vw) auto 0;
    font-size: calc((18 / 1400) * 100vw);
    font-family: "M PLUS Rounded 1c", serif;
    font-weight: 700;
    position: relative;
    cursor: pointer;
    letter-spacing: 0.1em;
}

.contact__btn {
    width: fit-content;
    margin: 0 auto;
    position: relative;
}

.contact__btn::after {
    content: "";
    display: block;
    background-image: url(../img/a-arrow.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: calc((32 / 1400) * 100vw);
    height: calc((22 / 1400) * 100vw);
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

.contact__thanks {
	padding-top: calc((100 / 1440)* 100vw);;
}

.contact__a-thanks {
    font-size: calc((20 / 1400)* 100vw);
    width: calc((300 / 1400)* 100vw);
    height: calc((60 / 1400)* 100vw);
    background-color: white;
    color: #D56527;
    margin: 0 auto;
}

.wpcf7-spinner {
    display: none !important;
}

@media (max-width: 768px) {
    .header {
        width: 100%;
        padding: 2px 0;
        height: auto;
        border-bottom-left-radius: unset;
        border-bottom-right-radius: unset;

    }
    .header__logo {
        width: 60px;
        padding-left: 15px;
    }

    .header__ul {
        display: none;
    }

    /* fvセクション */
    .fv__top {
        padding: 110px 0 82px;
    }
    .fv__top > p:nth-child(1) {
        font-size: 22px;
    }
    .fv__top > p:nth-child(2) {
        margin-top: -5px;
        font-size: 18px;
    }

    .fv__people {
        width: 343px;
        top: -64px;
    }

    /* fvスライダー */
    .fv .swiper-pagination {
        padding: 20px 0;
    }

    .fv .swiper-pagination-bullet {
        width: 8px !important;
        height: 8px !important;
    }

    /* aboutセクション */
    .about {
        background-position-x: center;
        padding-bottom: 80px;
    }

    .about__txt {
        font-size: 21px;
        margin-bottom: 30px;
    }

    .about__bottom-p {
        font-size: 16px;
        margin-bottom: 60px;
    }

    /* proセクション */
    .pro__container {
        width: calc(100% - 40px);
        padding: 100px 20px;
        margin-top: -67px;
        margin-bottom: 120px;
    }

    .pro__cat {
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .pro__cat > p {
        padding: 5px 10px;
        margin: 5px;
        font-size: 14px;
    }

    .pro__content > span {
        padding: 5px 10px;
    }

    .cta {
        width: calc(100% - 40px);
        margin: 0 auto;
        height: 184px;
    }

    .cta > img {
        width: 300px;
        top: -50px;
    }


    .cta-a {
        bottom: 50px
    }
    .cta-a > form > input {
        width: 200px;
        height: 56px;
        box-shadow: 0 5px 0 #FB891F;
        border: 2px solid #FB891F;
        border-radius: 40px;
        font-size: 16px;
    }

    .cta-a > img {
        width: 30px;
        right: 20px;
    }

    /* newsセクション */

    .news__inner {
        width: calc(100% - 40px);
    }

    .news__content {
        background-color: white;
        border-radius: 20px;
        padding: 20px;
    }

    .news__top > span {
        padding: 5px 10px;
        margin-right: 15px;
    }
    .news__content > h3 {
        font-size: 16px;
    }

    /* comセクション */
    .com {
        margin-bottom: -52px;
        margin-top: -39px;
        padding-bottom: 20px;
    }

    .com__top {
        font-size: 18px;
    }

    .com__bottom {
        flex-direction: column;
    }

    .com__bottom-inner {
        width: 100%;
        margin-right: 0;
    }
    .com__bottom-inner > h3 {
        font-size: 21px;
        text-align: center;
        margin-bottom: 47px;
    }
    .com__bottom-inner > a {
        margin: 0 auto 50px;
    }

    .com__logo {
        width: 200px;
        margin: 0 auto;
    }

    /* comスライダー */
    .com .swiper-pagination-com {
        padding: 30px 0;
    }

    .com .swiper-pagination-bullet {
        width: 8px !important;
        height: 8px !important;
    }

    /* bottomセクション */
    .bottom {
        padding-top: 120px;
    }

    .bottom__a-wrp {
        margin-bottom: 90px;
        flex-direction: column;
    }

    .bottom__a-wrp > a {
        width: 300px;
        margin: 0 auto 30px;
    }
    .bottom__a-wrp > a:nth-child(2) {
        top: 0;
    }

    /* footer */

    .footer {
        padding: 50px 0;
        border-top-left-radius: 20px;
        border-top-right-radius: 20px;
        border-top: 10px solid #F3D582;
        border-left: 10px solid #F3D582;
        border-right: 10px solid #F3D582;
        margin-top: 100px;
    }

    .footer__logo {
        width: 200px;
    }

    .footer__ul {
        flex-direction: column;
        margin-bottom: 50px;
    }

    .footer__li {
        margin: 10px 0;
        font-size: 16px;
    }

    .footer__bottom > a {
        margin-right: 50px;
    }
    .footer__bottom > a > img {
        width: 30px;
        margin-left: 5px;
    }

    /* contactセクション */
    .contact {
        padding: 100px 0 0;
    }

    .contact__inner {
        width: calc(100% - 40px);
    }

    .contact__dl {
        margin-bottom: 30px;
    }

    .contact__dt {
        width: 100%;
        margin-right: 20px;
        margin-bottom: 10px;
        line-height: 1;
    }

    .contact__dt::after {
        font-size: 10px;
        width: 40px;
        height: 20px;
        margin-left: 15px;
        top: -1px;
    }

    .contact__dd {
        width: calc(100% - 20px);
    }

    /* 確認するボタン修正 */
    .contact__btn.prev-btn:after {
        right: auto;
        transform: translateY(-50%) rotate(180deg);
    }


    /* ddフォームパターン */
    .contact__dd.dd-input > p > span > input {
        padding: 10px;
        width: 100%;
    }
    /* ddテキストエリアパターン */
    .contact__dd.dd-txtara > p > span > textarea {
        padding: 10px;
        width: 100%;
        height: calc((200 / 375) * 100vw)
    }

    /* 送信ボタン */
    .contact__btn > p > input, .contact__btn-t {
        width: 300px;
        height: 60px;
        margin: 50px auto 0;
        font-size: 18px;
    }

    .contact__thanks {
        padding-top: 80px;
        font-size: 18px !important;
    }

    .contact__a-thanks {
        font-size: 18px;
        width: 300px;
        height: 60px;
    }
}