/************* 共通 ***********************/
/************* 共通 ***********************/

body {
    color: #5b5b5b;
    letter-spacing: 2px;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 100px;
}

.sp-br {
    display: none;
}

@media screen and (max-width: 500px) {
    .sp-br {
        display: block;
    }

    .pc-br {
        display: none;
    }
}


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

/* .header {
    background-color: #13ae67;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 99999;
}

.header__inner {
    max-width: 1080px;
    margin: 0 auto;
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 10px;
    align-items: center;
}

.header__logo a {
    width: 130px;
}

.header__logo a img {
    width: 130px;
}

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

.header__items--item {
    margin-right: 28px;
    text-align: center;
}

.header__items--item a {
    font-family: "vdl-v7marugothic", sans-serif;
    font-weight: 800;
    font-style: normal;
    color: #ffffff;
} */

/* 固定ヘッダー分の余白（ヘッダー高さに合わせて調整） */
body {
    padding-top: 64px;
}

/* トグル本体は非表示 */
.nav-toggle {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

/* ===== Header base ===== */
.header {
    background-color: #13ae67;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 99999;
}

.header__inner {
    max-width: 1080px;
    margin: 0 auto;
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 10px 16px;
    align-items: center;
    box-sizing: border-box;
}

.header__logo a {
    width: 130px;
    display: inline-block;
}

.header__logo a img {
    width: 130px;
    height: auto;
    display: block;
}

/* PCナビ */
.header__items {
    display: flex;
    align-items: center;
}

.header__items--item {
    margin-right: 28px;
    text-align: center;
}

.header__items--item:last-child {
    margin-right: 0;
}

.header__items--item a,
.modal__item a {
    font-family: "vdl-v7marugothic", sans-serif;
    font-weight: 800;
    font-style: normal;
    color: #ffffff;
    text-decoration: none;
}

/* ===== Hamburger (SP only) ===== */
.hamburger {
    display: none;
    width: 36px;
    height: 28px;
    position: relative;
    cursor: pointer;
}

.hamburger span {
    position: absolute;
    left: 0;
    right: 0;
    height: 3px;
    background: #fff;
    border-radius: 2px;
    transition: transform .25s ease, top .25s ease, opacity .2s ease;
}

.hamburger span:nth-child(1) {
    top: 4px;
}

.hamburger span:nth-child(2) {
    top: 12px;
}

.hamburger span:nth-child(3) {
    top: 20px;
}

/* チェック時にハンバーガー→× */
.nav-toggle:checked~.header .hamburger span:nth-child(1) {
    top: 12px;
    transform: rotate(45deg);
}

.nav-toggle:checked~.header .hamburger span:nth-child(2) {
    opacity: 0;
}

.nav-toggle:checked~.header .hamburger span:nth-child(3) {
    top: 12px;
    transform: rotate(-45deg);
}

/* ===== Modal (SP menu) ===== */
.header__modal {
    position: fixed;
    inset: 0;
    pointer-events: none;
    opacity: 0;
    transition: opacity .25s ease;
}

.modal__overlay {
    position: absolute;
    inset: 0;
    /* background: rgba(0, 0, 0, .35); */
    cursor: pointer;
    display: block;
    opacity: 0;
    transition: opacity .25s ease;
}

.modal__panel {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(86vw, 420px);
    background: #13ae67;
    transform: translateX(100%);
    transition: transform .3s ease;
    display: flex;
    flex-direction: column;
    padding: 12px 16px 24px;
    box-sizing: border-box;
    z-index: 9999999;
}

.modal__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 4px 0 8px;
}

.modal__logo img {
    width: 120px;
    height: auto;
    display: block;
}

.modal__close {
    font-size: 28px;
    line-height: 1;
    color: #fff;
    cursor: pointer;
    padding: 8px;
}

.modal__nav {
    margin-top: 8px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.modal__items {
    list-style: none;
    margin: 0;
    padding: 16px 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.modal__item a {
    display: block;
    padding: 14px 10px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.08);
    text-align: left;
    font-size: 16px;
}

/* ===== Responsive ===== */
@media (max-width: 1023px) {

    /* SP：PCナビ隠してハンバーガー表示 */
    .header__items {
        display: none;
    }

    .hamburger {
        display: inline-block;
    }

    /* チェック時にモーダル開く */
    .nav-toggle:checked~.header .header__modal {
        pointer-events: auto;
        opacity: 1;
    }

    .nav-toggle:checked~.header .modal__panel {
        transform: translateX(0);
    }

    .nav-toggle:checked~.header .modal__overlay {
        opacity: 1;
    }
}

/* ちょいホバー（任意） */
@media (hover: hover) {

    .header__items--item a:hover,
    .modal__item a:hover {
        text-decoration: underline;
    }
}


/************* TOPページfv ***********************/

#image-slider {
    max-width: 980px;
    width: 100%;
    pointer-events: none;
    padding: 60px 0;
}

.splide {
    margin: 0 auto;
}

.splide__list {
    width: 100%;
}

.splide__slide {
    overflow: hidden;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
    height: 65vh;
}

.splide__arrows {
    display: none;
}

@media (max-width: 768px) {
    .splide__slide {
        height: 35vh;
    }
}

.splide__slide img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}



/************* TOPページmessage ***********************/

.top-message {
    text-align: center;
    font-family: "07YasashisaAntique", "07YasashisaAntique 90ms-RKSJ-H", "07 Yasashisa Antique", sans-serif;
}

.top-message__title {
    background-color: #13ae67;
    color: #ffffff;
    padding: 16px;
    font-size: 40px;
}

.top-message__textbox {
    padding: 30px;
    background-color: #efefef;
}

.top-message__textbox--title {
    font-size: 32px;
    color: #13ae67;
    margin-bottom: 24px;
}

.top-message__textbox--text {
    font-size: 24px;
}

@media (max-width: 768px) {
    .top-message__title {
        font-size: 24px;
    }

    .top-message__textbox--title {
        font-size: 22px;
    }

    .top-message__textbox--text {
        font-size: 18px;
    }
}


/************* TOPページ スコーレライブの特徴 ***********************/

.top-feature__inner {
    max-width: 1080px;
    margin: 100px auto;
    width: 100%;
}

.top-feature__bar {
    width: 60%;
    margin: 0 auto;
}

.top-feature__bar img {
    width: 100%;
}

.top-feature__title {
    text-align: center;
    font-family: "07YasashisaAntique", "07YasashisaAntique 90ms-RKSJ-H", "07 Yasashisa Antique", sans-serif;
    font-size: 30px;
}

.top-feature__image {
    margin: 50px 0;
    width: 100%;
}

.top-feature__image img {
    width: 100%;
}

.top-feature__image-sp {
    margin: 50px auto;
    width: 80%;
}

.top-feature__image-sp img {
    width: 100%;
}

@media (max-width: 768px) {
    .top-feature__bar {
        width: 90%;
    }

    .top-feature__title {
        font-size: 24px;
    }

    .top-message__textbox {
        padding: 30px 16px;
    }
}


/************* TOPページ 料金プラン ***********************/

.top-price {
    background-color: #efefef;
    padding: 100px 0;
    max-width: 980px;
    width: 100%;
    margin: 0 auto;
    position: relative;
}

.top-price__circle {
    position: absolute;
    bottom: -5px;
    right: 0;
    width: 20px;
}

.top-price__circle img {
    width: 100%;
}

.top-price__inner {
    max-width: 1080px;
    margin: 0px auto;
    width: 100%;
}

.top-price__titlebox {
    background-color: #fff;
    width: 60%;
    margin: 0 auto;
    position: relative;
    text-align: center;
    font-family: "07YasashisaAntique", "07YasashisaAntique 90ms-RKSJ-H", "07 Yasashisa Antique", sans-serif;
    font-size: 30px;
}

.top-price__bar01 {
    position: absolute;
    top: -30px;
    left: 0;
    right: 0;
    width: 100%;
}

.top-price__bar01 img {
    width: 100%;
}

.top-price__bar02 {
    position: absolute;
    top: 30px;
    left: 0;
    right: 0;
    width: 100%;
}

.top-price__bar02 img {
    width: 100%;
}

.top-price__title {
    padding: 8px 0;
}

.top-price__text {
    font-size: 22px;
    text-align: center;
    font-family: "07YasashisaAntique", "07YasashisaAntique 90ms-RKSJ-H", "07 Yasashisa Antique", sans-serif;
    margin: 30px 0 48px;
}

.top-price__image {
    width: 80%;
    margin: 0 auto 50px;
}

.top-price__image img {
    width: 100%;
}

.top-price__image-sp {
    width: 40%;
    margin: 0 auto 30px;
}

.top-price__image-sp img {
    width: 100%;
}

.top-price__btn {
    text-align: center;
}

.top-price__btn a {
    cursor: pointer;
    display: inline-block;
    width: 300px;
    height: 40px;
    text-align: center;
    font-size: 26px;
    border: 2px solid #13ae67;
    background-color: #fff;
    border-radius: 5px;
    padding: 16px 0;
    color: #13ae67;
    font-weight: bold;
    font-family: "07YasashisaAntique", "07YasashisaAntique 90ms-RKSJ-H", "07 Yasashisa Antique", sans-serif;
}

.top-price__btn a:hover {
    background-color: #13ae67;
    color: #ffffff;
}

@media (max-width: 768px) {
    .top-price__titlebox {
        width: 90%;
        font-size: 24px;
    }

    .top-price__text {
        font-size: 18px;
    }

    .top-price__image {
        width: 96%;
    }

    .top-price__btn a {
        font-size: 20px;
        height: 30px;
        width: 240px;
    }
}



/************* TOPページ 行事別・制作の特徴  ***********************/


.top-event {
    padding: 100px 0;
}

.top-event__inner {
    max-width: 980px;
    margin: 0px auto;
    width: 100%;
}

.top-event__titlebox {
    background-color: #fff;
    width: 60%;
    margin: 0 auto 48px;
    position: relative;
    text-align: center;
    font-family: "07YasashisaAntique", "07YasashisaAntique 90ms-RKSJ-H", "07 Yasashisa Antique", sans-serif;
    font-size: 30px;
}

.top-event__bar01 {
    position: absolute;
    top: -30px;
    left: 0;
    right: 0;
    width: 100%;
}

.top-event__bar01 img {
    width: 100%;
}

.top-event__bar02 {
    position: absolute;
    top: 30px;
    left: 0;
    right: 0;
    width: 100%;
}

.top-event__bar02 img {
    width: 100%;
}

.top-event__title {
    padding: 8px 0;
}

.top-event__items--item {
    display: flex;
    align-items: center;
    margin-bottom: 32px;
    background-color: #efefef;
    font-family: "vdl-v7marugothic", sans-serif;
    position: relative;
}

.top-event__items--item::after {
    position: absolute;
    right: 2px;
    bottom: -5px;
    width: 20px;
    content: url(../image/triangle.png);
}

.top-event__items--item-img {
    width: 300px;
}

.top-event__items--item-img img {
    width: 100%;
}

.top-event__items--item-text {
    width: calc(100% - 300px);
    padding: 24px;
    color: #231815;
}

.top-event__items--item-text-ttl {
    font-size: 24px;
    color: #13ae67;
    font-weight: bold;
    font-weight: 800;
    margin-bottom: 16px;
}

.top-event__items--item-text-dis {
    font-weight: normal;
}

.top-event__sample {
    display: flex;
    font-size: 20px;
    justify-content: center;
    border: 2px solid #13ae67;
    padding: 16px;
    font-family: "07YasashisaAntique", "07YasashisaAntique 90ms-RKSJ-H", "07 Yasashisa Antique", sans-serif;
    position: relative;
}

.top-event__sample ::after {
    position: absolute;
    right: 0px;
    bottom: -8px;
    width: 20px;
    content: url(../image/triangle.png);
}


.top-event__sample--ttl {
    color: #13ae67;
    margin-right: 8px;
}

.top-event__sample--dis span {
    text-decoration: underline;
    text-underline-offset: -0.2em;
    text-decoration-thickness: 0.5em;
    text-decoration-color: #faed00;
    text-decoration-skip-ink: none;
}


@media (max-width: 768px) {


    .top-event__titlebox {
        width: 90%;
        font-size: 24px;
    }

    .top-event__sample {
        flex-direction: column;
        width: calc(100% - 48px);
        margin: 0 auto;
    }

    .top-event__items--item {
        flex-direction: column;
    }

    .top-event__items--item-img {
        width: 100%;
    }

    .top-event__items--item-text {
        width: 100%;
    }

    .top-event__items--item-text-ttl {
        font-size: 20px;
    }

}


/************* TOPページ 依頼条件  ***********************/

.top-request {
    background-color: #efefef;
    padding: 100px 0;
    max-width: 980px;
    width: 100%;
    margin: 0 auto;
    font-family: "07YasashisaAntique", "07YasashisaAntique 90ms-RKSJ-H", "07 Yasashisa Antique", sans-serif;
    position: relative;
}

.top-request__circle {
    position: absolute;
    bottom: -5px;
    right: 0;
    width: 20px;
}

.top-request__circle img {
    width: 100%;
}

.top-request__inner {
    max-width: 1080px;
    margin: 0px auto;
    width: 100%;
}

.top-request__titlebox {
    background-color: #fff;
    width: 60%;
    margin: 0 auto 48px;
    position: relative;
    text-align: center;
    font-family: "07YasashisaAntique", "07YasashisaAntique 90ms-RKSJ-H", "07 Yasashisa Antique", sans-serif;
    font-size: 30px;
}

.top-request__bar01 {
    position: absolute;
    top: -30px;
    left: 0;
    right: 0;
    width: 100%;
}

.top-request__bar01 img {
    width: 100%;
}

.top-request__bar02 {
    position: absolute;
    top: 30px;
    left: 0;
    right: 0;
    width: 100%;
}

.top-request__bar02 img {
    width: 100%;
}

.top-request__title {
    padding: 8px 0;
}

.top-request__ul {
    max-width: 800px;
    margin: 0 auto 48px;
}

.top-request__li {
    font-size: 21px;
    margin-bottom: 16px;
    list-style: circle;
}

.top-request__li span {
    font-size: 17px;
}

.top-request__btn {
    text-align: center;
}

.top-request__btn a {
    cursor: pointer;
    display: inline-block;
    width: 300px;
    height: 40px;
    text-align: center;
    font-size: 26px;
    border: 2px solid #13ae67;
    background-color: #fff;
    border-radius: 5px;
    padding: 16px 0;
    color: #13ae67;
    font-weight: bold;
    font-family: "07YasashisaAntique", "07YasashisaAntique 90ms-RKSJ-H", "07 Yasashisa Antique", sans-serif;
}

.top-request__btn a:hover {
    background-color: #13ae67;
    color: #ffffff;
}

@media (max-width: 768px) {
    .top-request__titlebox {
        width: 90%;
        font-size: 24px;
    }

    .top-request__ul {
        padding: 0 24px;
    }

    .top-request__li {
        font-size: 16px;
    }

    .top-request__li span {
        font-size: 14px;
    }

    .top-request__btn a {
        font-size: 20px;
        height: 30px;
        width: 240px;
    }
}


/************* 共通ページ プラン選択・お問い合わせ  ***********************/

.common-select {
    padding: 100px 0;
    font-family: "07YasashisaAntique", "07YasashisaAntique 90ms-RKSJ-H", "07 Yasashisa Antique", sans-serif;

}

.common-select__inner {
    max-width: 880px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

.common-select__plan {
    width: 46%;
    padding: 48px 0;
    background-color: #efefef;
    border: 2px solid #13ae67;
    text-align: center;
    position: relative;
}

.common-select__plan ::after {
    position: absolute;
    right: 0px;
    bottom: -8px;
    width: 20px;
    content: url(../image/triangle.png);
}

.common-select__plan-ttl {
    font-size: 18px;
    margin-bottom: 16px;
}

.common-select__plan-btn {
    text-align: center;
}

.common-select__plan-btn a {
    cursor: pointer;
    display: inline-block;
    width: 300px;
    height: 40px;
    text-align: center;
    font-size: 26px;
    border: 2px solid #13ae67;
    background-color: #13ae67;
    border-radius: 5px;
    padding: 16px 0;
    color: #ffffff;
    font-weight: bold;
    font-family: "07YasashisaAntique", "07YasashisaAntique 90ms-RKSJ-H", "07 Yasashisa Antique", sans-serif;
}

.common-select__plan-btn a:hover {
    color: #13ae67;
    background-color: #ffffff;
}

@media (max-width: 768px) {

    .common-select {
        padding: 50px 24px;
    }

    .common-select__inner {
        flex-direction: column;
    }

    .common-select__plan {
        width: 100%;
        margin-bottom: 24px;
    }

    .common-select__plan-btn a {
        width: 240px;
        height: 30px;
        font-size: 20px;
    }

}

/************* 共通ページ 関連サービス  ***********************/

.common-related {
    padding: 50px 0px;
    max-width: 1080px;
    width: 100%;
    margin: 0 auto;
    font-family: "07YasashisaAntique", "07YasashisaAntique 90ms-RKSJ-H", "07 Yasashisa Antique", sans-serif;
}

.common-related__inner {
    max-width: 1080px;
    margin: 0px auto;
    width: 100%;
}

.common-related__titlebox {
    background-color: #fff;
    width: 60%;
    margin: 0 auto 48px;
    position: relative;
    text-align: center;
    font-family: "07YasashisaAntique", "07YasashisaAntique 90ms-RKSJ-H", "07 Yasashisa Antique", sans-serif;
    font-size: 30px;

}

.common-related__bar01 {
    position: absolute;
    top: -30px;
    left: 0;
    right: 0;
    width: 100%;
}

.common-related__bar01 img {
    width: 100%;
}

.common-related__bar02 {
    position: absolute;
    top: 30px;
    left: 0;
    right: 0;
    width: 100%;
}

.common-related__bar02 img {
    width: 100%;
}

.common-related__title {
    padding: 8px 0;
}

.common-related__items {
    display: flex;
    justify-content: space-between;
}

.common-related__items--item {
    width: 48%;
    display: flex;
    padding: 48px 0;
    position: relative;
}

.common-related__items--item-img {
    width: 200px;
    margin-right: 24px;
}

.common-related__items--item-img img {
    width: 100%;
}

.common-related__items--item-text {
    width: calc(100% - 224px);
}

.common-related__items--item-text-ttl {
    font-size: 16px;
    margin-bottom: 16px;
}

.common-related__items--item-text-logo {
    width: 180px;
    height: 50px;
    margin-bottom: 16px;
}

.common-related__items--item-text-logo img {
    width: 100%;
    height: 50px;
    vertical-align: middle;
    object-fit: contain;
}

.common-related__items--item-text-dis {
    font-size: 12px;
}

.common-related__items--item-text-btn,
.common-related__items--item-text-btn2 {
    margin: 16px 0;
}

.common-related__items--item-text-btn a {
    width: 200px;
    height: 38px;
    line-height: 38px;
    display: inline-block;
    background-color: #27a7e1;
    color: #ffffff;
    border-radius: 50px;
    text-align: center;
}

.common-related__items--item-text-btn2 a {
    width: 200px;
    height: 38px;
    line-height: 38px;
    display: inline-block;
    background-color: #2e608e;
    color: #ffffff;
    border-radius: 50px;
    text-align: center;
}


@media (max-width: 768px) {

    .common-related {
        padding: 50px 24px;
    }

    .common-related__items {
        flex-direction: column;
    }

    .common-related__items--item {
        width: 100%;
        flex-direction: column;
        padding: 0 0 24px 0;
    }

    .common-related__items--item-img {
        width: 100%;
    }

    .common-related__items--item-text {
        width: 100%;
    }
}

/************* 料金ページ ***********************/

.page-price {
    padding: 50px 0;
    background-color: #efefef;
}

.page-price__inner {
    max-width: 1080px;
    margin: 0px auto;
    width: 100%;
}

.page-price__titlebox {
    background-color: #fff;
    width: 70%;
    margin: 0 auto 48px;
    position: relative;
    text-align: center;
    font-family: "07YasashisaAntique", "07YasashisaAntique 90ms-RKSJ-H", "07 Yasashisa Antique", sans-serif;
    font-size: 50px;
}

.page-price__bar01 {
    position: absolute;
    top: -50px;
    left: 0;
    right: 0;
    width: 100%;
}

.page-price__bar01 img {
    width: 100%;
}

.page-price__bar02 {
    position: absolute;
    top: 77px;
    left: 0;
    right: 0;
    width: 100%;
}

.page-price__bar02 img {
    width: 100%;
}

.page-price__title {
    padding: 30px 0;
}


@media (max-width: 768px) {


    .page-price__bar01 {
        top: -21px;
    }

    .page-price__title {
        padding: 20px 0;
        font-size: 26px;
    }

    .page-price__bar02 {
        top: 55px;
    }
}





/* 撮影プラン */

.page-price__shooting-plan {
    background-color: #efefef;
    font-family: "vdl-v7marugothic", sans-serif;
}

.page-price__shooting-plan__inner {
    max-width: 1080px;
    width: 100%;
    margin: 0 auto;
}

.page-price__shooting-plan__ttl {
    text-align: center;
    color: #ffffff;
    font-size: 26px;
    padding: 8px 0;
    margin-bottom: 48px;
    background-color: #13ae67;
}

.page-price__shooting-plan__items--item {
    background-color: #efefef;
    max-width: 980px;
    width: 100%;
    margin: 0 auto 32px;
}

.page-price__shooting-plan__items--item {
    display: flex;
    align-items: center;
    border: 3px solid #272d48;
    border-radius: 4px;
    position: relative;
}

.shooting-plan-bg1 {
    background-color: #b4dee2;
}

.shooting-plan-bg2 {
    background-color: #cae4c5;
}

.shooting-plan-bg3 {
    background-color: #f7e28b;
}

.page-price__shooting-plan__items--item-num {
    position: absolute;
    top: -10px;
    left: -20px;
    width: 100px;
}

.page-price__shooting-plan__items--item-num img {
    width: 100%;
}

.page-price__shooting-plan__items--item-img {
    width: 300px;
    background-color: #fff;
    padding: 24px;
    text-align: center;
}

.page-price__shooting-plan__items--item-img-img {
    width: 100px;
    margin: 16px auto;
}

.page-price__shooting-plan__items--item-img-img img {
    width: 100%;
}

.page-price__shooting-plan__items--item-img-price {
    font-size: 40px;
    letter-spacing: 0;
    font-weight: 500;
    font-style: normal;
}

.shooting-plan-color1 {
    color: #69acaf;
}

.shooting-plan-color2 {
    color: #71b264;
}

.shooting-plan-color3 {
    color: #ffb31a;
}

.page-price__shooting-plan__items--item-img-price .yen {
    font-size: 18px;
}

.page-price__shooting-plan__items--item-img-price .tax {
    font-size: 14px;
}

.page-price__shooting-plan__items--item-text {
    width: calc(100% - 300px);
    padding: 24px;
    color: #231815;
    font-size: 16px;
}

.page-price__shooting-plan__items--item-text li {
    margin-bottom: 8px;
}

.page-price__shooting-plan__items--att {
    text-align: end;
    margin-right: 44px;

}


@media (max-width: 768px) {

    .page-price__shooting-plan__inner {
        padding: 0 24px;
    }

    .page-price__titlebox {
        width: 80%;
        font-size: 20px;
    }

    .page-price__shooting-plan__ttl {
        font-size: 18px;
    }

    .page-price__shooting-plan__items--item {
        flex-direction: column;
    }

    .page-price__shooting-plan__items--item-text {
        width: 100%;
        font-size: 14px;
    }

    .page-price__shooting-plan__items--item-num {
        top: -15px;
        left: 20px;
        width: 90px;
    }

    .page-price__shooting-plan__items--item-img {
        width: 100%;
    }
}


/* 納品プラン */

.page-price__delivery-format {
    background-color: #ffffff;
    font-family: "vdl-v7marugothic", sans-serif;
}

.page-price__delivery-format__inner {
    max-width: 1080px;
    width: 100%;
    margin: 0 auto;
}

.page-price__delivery-format__ttl {
    text-align: center;
    color: #ffffff;
    font-size: 26px;
    padding: 8px 0;
    margin-bottom: 48px;
    background-color: #13ae67;
}

.page-price__delivery-format__items {
    max-width: 980px;
    width: 100%;
    margin: 0 auto;

}

.page-price__delivery-format__items--item {
    display: flex;
    border: 1px solid #231815;
    align-items: center;
    background-color: #efefef;
    position: relative;
    margin-bottom: 24px;
}

.white-bg {
    background-color: #fff;
}

.page-price__delivery-format__items--item::after {
    position: absolute;
    right: 1px;
    bottom: -6px;
    width: 20px;
    content: url(../image/triangle.png);
}


.page-price__delivery-format__items--item-img {
    padding: 48px 16px;
    width: 50%;
    background-color: #fff;
    /* background-color: #0dac67; */
}

.page-price__delivery-format__items--item-img-ttl {
    font-size: 32px;
    line-height: 1;
    text-align: center;
    color: #0dac67;
    font-weight: bold;
    margin-bottom: 16px;
    font-weight: bold;
}

.page-price__delivery-format__items--item-img-ttl span {
    font-size: 20px;
    font-weight: normal;
}

.page-price__delivery-format__items--item-img-subttl {
    text-align: center;
    font-size: 24px;
}

.page-price__delivery-format__items--item-img-subttl span {
    text-decoration: underline;
    text-underline-offset: -0.2em;
    text-decoration-thickness: 0.5em;
    text-decoration-color: #faed00;
    text-decoration-skip-ink: none;
}


.page-price__delivery-format__items--item-img-img {
    width: 130px;
    margin: 16px auto;
}

.page-price__delivery-format__items--item-img-img img {
    width: 100%;
}

.page-price__delivery-format__items--item-img-ul {
    width: 86%;
    margin: 0 auto;
}

.page-price__delivery-format__items--item-img-ul li {
    font-size: 24px;
}

.page-price__delivery-format__items--item-img-ul li span {
    font-size: 21px;
}

.page-price__delivery-format__items--item-text {
    padding: 48px 16px;
    background-color: #efefef;
    width: 50%;
}

/* .page-price__delivery-format__items--item-text-ul {
    margin-left: 24px;
} */

.page-price__delivery-format__items--item-text-ul li {
    font-size: 20px;
    margin-bottom: 16px;
}

.page-price__delivery-format__items--item-text-ul li span {
    font-size: 15px;
    display: inline-block;
    padding-left: 30px;
    margin-bottom: 8px;
}

.page-price__delivery-format__items--item-text-ul li img {
    width: 30px;
}

.page-price__delivery-format__items--item-text-att {
    font-size: 21px;
}

.page-price__delivery-format__items--item-text-att span {
    text-decoration: underline;
    text-underline-offset: -0.2em;
    text-decoration-thickness: 0.5em;
    text-decoration-color: #faed00;
    text-decoration-skip-ink: none;
}

.page-price__delivery-format__items--item-text-att2 {
    line-height: 1.8;
}

.y-line {
    text-decoration: underline;
    text-underline-offset: -0.2em;
    text-decoration-thickness: 0.5em;
    text-decoration-color: #faed00;
    text-decoration-skip-ink: none;
}

.page-price__delivery-format__items--item-text-btnttl {
    text-align: center;
    margin-top: 30px;
    font-size: 20px;
}

.page-price__delivery-format__items--item-text-btn {
    text-align: center;
    margin-top: 8px;
}

.page-price__delivery-format__items--item-text-btn a {
    text-align: center;
    display: block;
    cursor: pointer;
    display: inline-block;
    width: 200px;
    height: 30px;
    text-align: center;
    font-size: 18px;
    border: 2px solid #13ae67;
    background-color: #13ae67;
    border-radius: 5px;
    padding: 8px 0;
    color: #ffffff;
    font-weight: bold;
    font-family: "07YasashisaAntique", "07YasashisaAntique 90ms-RKSJ-H", "07 Yasashisa Antique", sans-serif;
}


@media (max-width: 768px) {

    .page-price__delivery-format__inner {
        padding: 0 24px;
    }

    .page-price__delivery-format__ttl {
        font-size: 18px;
    }

    .page-price__delivery-format__items--item {
        flex-direction: column;
    }

    .page-price__delivery-format__items--item-img {
        width: 100%;
        padding: 24px;
    }

    .page-price__delivery-format__items--item-img-ttl {
        font-size: 24px;
    }

    .page-price__delivery-format__items--item-img-ttl span {
        font-size: 16px;
    }

    .page-price__delivery-format__items--item-img-ul {
        width: 100%;
    }

    .page-price__delivery-format__items--item-img-ul li {
        font-size: 16px;
    }

    .page-price__delivery-format__items--item-img-ul li span {
        font-size: 12px;
    }

    .page-price__delivery-format__items--item-text {
        width: 100%;
    }

    .page-price__delivery-format__items--item-text-ul li img {
        width: 20px;
    }

    .page-price__delivery-format__items--item-text-ul li {
        font-size: 14px;
    }

    .page-price__delivery-format__items--item-text-ul li span {
        font-size: 12px;
    }

    .page-price__delivery-format__items--item-text-att {
        font-size: 18px;
    }

    .page-price__delivery-format__ttl {
        margin: 48px 0 24px;
    }

}


/* 申し込み形式 */

.page-price__application-form {
    background-color: #ffffff;
    font-family: "vdl-v7marugothic", sans-serif;
}

.page-price__application-form__inner {
    max-width: 1080px;
    width: 100%;
    margin: 0 auto;
}

.page-price__application-form__ttl {
    text-align: center;
    color: #ffffff;
    font-size: 26px;
    padding: 8px 0;
    margin: 48px 0;
    background-color: #13ae67;
}

.page-price__application-form__items {
    max-width: 980px;
    width: 100%;
    margin: 0 auto;
}

.page-price__application-form__items--item {
    display: flex;
    border: 1px solid #231815;
    margin-bottom: 24px;
    position: relative;
}

.page-price__application-form__items--item::after {
    position: absolute;
    right: 1px;
    bottom: -6px;
    width: 20px;
    content: url(../image/triangle.png);
}

.page-price__application-form__items--item-ttl {
    display: flex;
    width: 50%;
    padding: 24px;
    align-items: center;
    justify-content: center;

}

.page-price__application-form__items--item-ttl-img {
    width: 130px;
    height: 80px;
    margin-right: 24px;
}

.page-price__application-form__items--item-ttl-img img {
    height: 100%;
    width: 100%;
    object-fit: contain;
}

.page-price__application-form__items--item-ttl-ttl {
    font-size: 28px;
    color: #13ae67;
    font-weight: bold;
    text-align: center;
}

.span-black {
    font-size: 16px;
    color: #272d48;
}

.span-red {
    font-size: 18px;
    color: #ff0000;
}

.page-price__application-form__items--item-text {
    width: 50%;
    background-color: #efefef;
    padding: 24px;
    font-size: 18px;
}

@media (max-width: 768px) {

    .page-price__application-form__inner {
        padding: 0 24px;
    }

    .page-price__application-form__ttl {
        font-size: 20px;
    }

    .page-price__application-form__items--item {
        flex-direction: column;
    }

    .page-price__application-form__items--item-ttl {
        width: 100%;
        padding: 24px 16px;
    }

    .page-price__application-form__items--item-ttl-ttl {
        font-size: 20px;
    }

    .page-price__application-form__items--item-text {
        width: 100%;
    }

    .page-price__application-form__items--item-ttl-img {
        width: 60px;
        height: auto;
    }

    .page-price__application-form__items--item-text {
        font-size: 16px;
    }

    .page-price__application-form__ttl {
        margin: 48px 0 24px;
    }
}

/* オプション */


.page-price__option {
    background-color: #efefef;
    font-family: "vdl-v7marugothic", sans-serif;
    padding-bottom: 50px;
}

.page-price__option__inner {
    max-width: 1080px;
    width: 100%;
    margin: 0 auto;
}

.page-price__option__ttl {
    text-align: center;
    color: #ffffff;
    font-size: 26px;
    padding: 8px 0;
    margin: 48px 0;
    background-color: #13ae67;
}

.page-price__option-titlebox {
    background-color: #fff;
    width: 60%;
    margin: 0 auto 48px;
    position: relative;
    text-align: center;
    font-family: "07YasashisaAntique", "07YasashisaAntique 90ms-RKSJ-H", "07 Yasashisa Antique", sans-serif;
    font-size: 30px;
}

.page-price__option-title {
    padding: 8px 0;
}

.page-price__option-bar01 {
    position: absolute;
    top: -30px;
    left: 0;
    right: 0;
    width: 100%;
}

.page-price__option-bar01 img {
    width: 100%;
}

.page-price__option-bar02 {
    position: absolute;
    top: 30px;
    left: 0;
    right: 0;
    width: 100%;
}

.page-price__option-bar02 img {
    width: 100%;
}

.page-price__option--img {
    width: 100%;
    max-width: 400px;
    margin: 0 auto 32px;
}

.page-price__option--img img {
    width: 100%;
}

.page-price__option--textbox {
    max-width: 850px;
    width: 100%;
    margin: 0 auto;
    font-size: 20px;
}

.page-price__option--text {
    margin-bottom: 32px;
}

.page-price__option--text .green {
    color: #0dac67;
    font-size: 24px;
}

.page-price__option--text .under {
    text-decoration: underline;
    text-underline-offset: -0.2em;
    text-decoration-thickness: 0.5em;
    text-decoration-color: #faed00;
    text-decoration-skip-ink: none;
}


@media (max-width: 768px) {

    .page-price__option__inner {
        padding: 0 24px;
    }

    .page-price__option__ttl {
        font-size: 20px;
    }

    .page-price__option-titlebox {
        font-size: 20px;
        width: 80%;
    }

    .page-price__option--img {
        width: 200px;
    }

    .page-price__option--textbox {
        font-size: 16px;
    }
}



.page-price__combination {
    padding: 100px 0;
}

.page-price__combination__inner {
    max-width: 1080px;
    width: 100%;
    margin: 0 auto;
}

.page-price__combination__ttl {
    text-align: center;
    font-size: 26px;
    margin-bottom: 32px;
    font-family: "07YasashisaAntique", "07YasashisaAntique 90ms-RKSJ-H", "07 Yasashisa Antique", sans-serif;
}

.page-price__combination__img {
    margin: 0 auto;
    width: 90%;
}

.page-price__combination__img img {
    width: 100%;
}

.page-price__combination__img-sp {
    margin: 0 auto;
    width: 40%;
}

.page-price__combination__img-sp img {
    width: 100%;
}


@media (max-width: 768px) {

    .page-price__combination {
        padding: 50px 24px;

    }

    .page-price__combination__ttl {

        font-size: 20px;
    }

    .page-price__combination__img {
        width: 100%;
    }
}


/************* 予約受付終了日 ***********************/

.page-reservation {
    padding: 50px 0 100px;
    background-color: #efefef;
}

.page-reservation__inner {
    max-width: 980px;
    margin: 0px auto;
    width: 100%;
}

.page-reservation__titlebox {
    background-color: #fff;
    width: 70%;
    margin: 0 auto 48px;
    position: relative;
    text-align: center;
    font-family: "07YasashisaAntique", "07YasashisaAntique 90ms-RKSJ-H", "07 Yasashisa Antique", sans-serif;
    font-size: 50px;
}

.page-reservation__bar01 {
    position: absolute;
    top: -50px;
    left: 0;
    right: 0;
    width: 100%;
}

.page-reservation__bar01 img {
    width: 100%;
}

.page-reservation__bar02 {
    position: absolute;
    top: 77px;
    left: 0;
    right: 0;
    width: 100%;
}

.page-reservation__bar02 img {
    width: 100%;
}

.page-reservation__title {
    padding: 30px 0;
}

.page-reservation__text {
    color: #231815;
    text-align: center;
    font-size: 20px;
    line-height: 1.7;
    margin-bottom: 8px;
    font-family: "vdl-v7marugothic", sans-serif;
}

.page-reservation__text span {
    color: #0dac67;
}

.page-reservation__dis {
    color: #0dac67;
    text-align: center;
    font-size: 20px;
    font-family: "vdl-v7marugothic", sans-serif;
    margin-bottom: 32px;
}

.page-reservation__end {
    padding: 24px;
    border-radius: 24px;
    background-color: #fff;
    max-width: 800px;
    width: 100%;
    margin: 0 auto;
    font-family: "vdl-v7marugothic", sans-serif;
}

.page-reservation__end__ttl {
    text-align: center;
    font-size: 18px;
}

.page-reservation__possible {
    padding: 50px 0;
}

.page-reservation__possible--inner {
    max-width: 980px;
    margin: 0px auto;
    width: 100%;
}

.page-reservation__possible--titlebox {
    background-color: #fff;
    width: 40%;
    margin: 0 auto 48px;
    position: relative;
    text-align: center;
    font-family: "07YasashisaAntique", "07YasashisaAntique 90ms-RKSJ-H", "07 Yasashisa Antique", sans-serif;
    font-size: 30px;
}

.page-reservation__possible--bar01 {
    position: absolute;
    top: -30px;
    left: 0;
    right: 0;
    width: 100%;
}

.page-reservation__possible--bar01 img {
    width: 100%;
}

.page-reservation__possible--bar02 {
    position: absolute;
    top: 30px;
    left: 0;
    right: 0;
    width: 100%;
}

.page-reservation__possible--bar02 img {
    width: 100%;
}

.page-reservation__possible--title {
    padding: 8px 0;
}

@media screen and (max-width: 768px) {
    .page-reservation__titlebox {
        width: 80%;
        font-size: 20px;
    }

    .page-reservation__text {
        font-size: 16px;
        margin-bottom: 30px;
    }

    .page-reservation__dis {
        font-size: 14px;
    }

    .page-reservation__end {
        width: 90%;
    }

    .page-reservation__possible--titlebox {
        width: 80%;
        font-size: 20px;
    }

    .page-reservation__possible {
        padding-bottom: 0;
    }

    .page-reservation__bar01 {
        top: -21px;
    }

    .page-reservation__title {
        padding: 20px 0;
        font-size: 26px;
    }

    .page-reservation__bar02 {
        top: 55px;
    }
}



/* section14 */

.section14 .inner {
    max-width: 1080px;
    margin: 0 auto;
    text-align: center;
    font-family: "07YasashisaAntique", "07YasashisaAntique 90ms-RKSJ-H", "07 Yasashisa Antique", sans-serif;

}

@media screen and (max-width: 768px) {
    .section14 .inner {
        padding: 50px 16px;
    }
}

@media screen and (max-width: 500px) {
    .section14 .inner {
        padding: 30px 16px;
    }
}

.section14 .text {
    line-height: 1.7;
}

@media screen and (max-width: 500px) {
    .section14 .text {
        font-size: 14px;
    }
}

.section14 .subtext {
    line-height: 1.7;
    margin-bottom: 30px;
    font-size: 14px;
    color: gray;
}

@media screen and (max-width: 500px) {
    .section14 .subtext {
        font-size: 12px;
    }
}

.section14 .content ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.section14 .content ul li {
    margin: 0 20px 10px;
}

@media screen and (max-width: 768px) {
    .section14 .content ul li {
        margin: 0 7px 10px;
    }
}

.section14 .content ul li a {
    display: inline-block;
    padding: 10px 20px;
    color: #fff;
    text-decoration: none;
    background-color: #0dac67;
    border-radius: 5px;
    font-weight: bold;
    font-size: 20px;
    box-shadow: 2px 2px 4px rgb(184, 184, 184);
}

@media screen and (max-width: 768px) {
    .section14 .content ul li a {
        padding: 5px 20px;
    }
}

.section14 .content ul li a:hover {
    color: #efefef;
}

.section16 .inner {
    max-width: 1080px;
    margin: 0 auto;
}

@media screen and (max-width: 768px) {
    .section16 .inner {
        padding: 0 16px;
    }
}

.section16 .inner .content {
    padding: 30px;
    margin-top: 50px;
    margin-bottom: 30px;
    background-color: #efefef;
    border-radius: 25px;
    box-shadow: 2px 2px 4px rgb(184, 184, 184);
}

@media screen and (max-width: 768px) {
    .section16 .inner .content {
        padding: 15px;
        margin-top: 30px;
    }
}

.section16 .inner .content:last-child {
    margin-bottom: 200px;
}

@media screen and (max-width: 768px) {
    .section16 .inner .content:last-child {
        margin-bottom: 100px;
    }
}

.section16 .inner .content .title {
    display: inline-block;
    padding: 10px 20px;
    color: #fff;
    text-decoration: none;
    background-color: #0dac67;
    border-radius: 5px;
    font-weight: bold;
    box-shadow: 2px 2px 4px rgb(184, 184, 184);
    margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
    .section16 .inner .content .title {
        padding: 5px 20px;
    }
}

.section16 .inner .content table {
    width: 100%;
    background-color: #fff;
    padding: 30px;
    display: block;
    border-radius: 15px;
}

@media screen and (max-width: 768px) {
    .section16 .inner .content table {
        padding: 15px;
    }
}

.section16 .inner .content table tbody {
    width: 100%;
    display: block;
}

.section16 .inner .content table tr {
    display: block;
    background-color: #efefef;
}

.section16 .inner .content table tr:nth-of-type(1) {
    background-color: #0dac67;
}

.section16 .inner .content table tr th,
.section16 .inner .content table tr td {
    display: inline-block;
    width: calc(25% - 6px);
    padding: 10px 0;
    text-align: center;
    border-right: 1px solid #efefef;
}

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

    .section16 .inner .content table tr th,
    .section16 .inner .content table tr td {
        font-size: 13px;
    }
}

.section16 .inner .content table tr th:last-child,
.section16 .inner .content table tr td:last-child {
    border: none;
}

.section16 .inner .content table tr th {
    font-weight: bold;
    background-color: #13ae67;
    color: #ffffff;
}

.section16 .inner .content table tr:nth-child(2n) {
    background-color: #fff;
}

/************* お問い合わせ ***********************/

.page-contact__inner {
    max-width: 1080px;
    margin: 0 auto;
    width: 100%;
    font-family: "vdl-v7marugothic", sans-serif;
    padding: 24px;
    background-color: #fff;
}

.page-contact__items--item {
    display: flex;
    font-size: 20px;
    margin-bottom: 8px;
}

.page-contact__items--item-th {
    width: 220px;
    background-color: #0dac67;
    color: #ffffff;
    padding: 8px;
    text-align: center;
    margin-right: 8px;
}

.page-contact__items--item-td {
    width: calc(100% - 216px);
}

.page-contact__items--item-td input {
    width: calc(100% - 16px);
    padding: 8px;
    border: 3px solid #efefef;
    font-size: 20px;
}

.page-contact__items--item-td textarea {
    width: calc(100% - 16px) !important;
    height: 400px !important;
    padding: 8px;
    border: 3px solid #efefef;
    font-size: 20px;
}

.page-contact__btn {
    text-align: center;
}

.page-contact__btn input {
    width: 300px;
    height: 50px;
    font-size: 24px;
    background-color: #0dac67;
    color: #ffffff;
    border: none;
    font-family: "vdl-v7marugothic", sans-serif;
    border-radius: 4px;
}


@media (max-width: 768px) {

    .page-contact__items--item {
        flex-direction: column;
    }

    .page-contact__items--item-th {
        width: 180px;
        font-size: 16px;
    }

    .page-contact__items--item-td {
        width: calc(100% - 20px);
    }

    .page-contact__items--item-td input {
        width: 100%;
    }

    .page-contact__items--item-td textarea {
        width: 100% !important;
    }


}

/************* プラン選択 ***********************/

.page-plan {
    padding: 50px 0;
}

.page-plan__inner {
    max-width: 980px;
    margin: 0px auto;
    width: 100%;
}

.page-plan__titlebox {
    background-color: #fff;
    width: 40%;
    margin: 0 auto 48px;
    position: relative;
    text-align: center;
    font-family: "07YasashisaAntique", "07YasashisaAntique 90ms-RKSJ-H", "07 Yasashisa Antique", sans-serif;
    font-size: 30px;
}

.page-plan__bar01 {
    position: absolute;
    top: -30px;
    left: 0;
    right: 0;
    width: 100%;
}

.page-plan__bar01 img {
    width: 100%;
}

.page-plan__bar02 {
    position: absolute;
    top: 30px;
    left: 0;
    right: 0;
    width: 100%;
}

.page-plan__bar02 img {
    width: 100%;
}

.page-plan__title {
    padding: 8px 0;
}

.page-plan__text {
    color: #231815;
    text-align: center;
    font-size: 20px;
    line-height: 1.7;
    margin-bottom: 8px;
    font-family: "vdl-v7marugothic", sans-serif;
}

.page-plan__text span {
    color: #0dac67;
}

@media (max-width: 768px) {

    .page-plan__titlebox {
        width: 80%;
        font-size: 20px;
    }

    .page-plan__text {
        font-size: 16px;
    }


}





.tile-form {
    font-family: "vdl-v7marugothic", sans-serif;

    --radius: 14px;
    --brand: #eaeaea;
    --accent: #3c3c3c;
    --checked: #fff6c8;
    max-width: 1080px;
    width: 100%;
    margin: 0 auto 30px;
}

.sr-only {
    text-align: center;
    background-color: #efefef;
    font-size: 22px;
    padding: 16px 0;
}

.tile-form fieldset {
    border: 0;
    padding: 0;
}

.tile-form legend {
    font-weight: 700;
    font-size: clamp(18px, 2.2vw, 22px);
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.tile-form legend::before,
.tile-form legend::after {
    content: "◆";
    color: #333;
    font-size: .9em;
}

.tile-grid {
    /* display: grid;
    gap: var(--gap);
    grid-template-columns: repeat(5, minmax(140px, 1fr)); */
    margin-bottom: 16px;
}

.wpcf7-list-item {
    margin: 0 !important;
/*     padding: 30px; */
    border: 1px solid #efefef;
}

.wpcf7-list-item-label {
    display: block;
    text-align: center;
    font-size: 20px;
}

.wpcf7-form-control.wpcf7-radio.select1 {
    display: grid;
    gap: var(--gap);
    grid-template-columns: repeat(5, minmax(140px, 1fr));
}

@media (max-width: 980px) {
    .tile-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 560px) {
    .tile-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .tile-form fieldset {
        padding: 0 16px;
    }
}

/* タイル（共通） */
.tile {
    position: relative;
    border: 1px solid #ddd;
    background: #fff;
    padding: 22px 14px;
    text-align: center;
    cursor: pointer;
    transition: transform .05s ease, box-shadow .15s ease, background .15s ease;
    min-height: 120px;
    display: grid;
    place-items: center;
}

.tile:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, .06);
    transform: translateY(-1px);
}

.tile .label-main {
    display: grid;
    gap: 4px;
    font-weight: 700;
    line-height: 1.25;
    font-size: 20px;
    padding-top: 30px;
}

.tile .label-sub {
    font-size: 13px;
    opacity: .9;
}

.tile .price {
    font-weight: 800;
    margin-top: 4px;
}

/* 入力は見えないがフォーカス可 */
.tile-input {
    position: absolute;
    inset: 0;
    opacity: 0;
    pointer-events: none;
}

/* キーボードフォーカス用 */
.tile-input:focus-visible+.tile {
    outline: 3px solid #9ecbff;
    outline-offset: 2px;
}

/* チェック状態 */
.tile-input:checked+.tile {
    background: var(--checked);
    border-color: #f0d96a;
}

.tile-input:checked+.tile::after {
    content: "✓";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    font-weight: 800;
    font-size: 40px;
}

/* セクションの補助UI */
.note {
    font-size: 13px;
    color: #666;
    margin: 8px 0 4px;
}

.textarea-wrap {
    width: 100%;
    margin-bottom: 48px;
}

.textarea-wrap textarea {
    width: calc(100% - 24px);
    border: 1px solid #231815;
    min-height: 90px;
    padding: 12px;
    font: inherit;
    resize: vertical;
    background: #fff;
}

/* 見出し帯の見た目（参考：画像に近いグレー帯） */
.section-head {
    background: #efefef;
    border-radius: 10px;
    padding: 12px 14px;
    margin-bottom: 14px;
    font-weight: 800;
    display: inline-flex;
    gap: 10px;
    align-items: center;
}


.select2 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 960px) {
    .select2 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .select2 {
        grid-template-columns: 1fr;
    }
}

/* タイル共通設定 */
.plan-tile {
    position: relative;
    border: 1px solid #ddd;
    background: #fff;
    padding: 24px 14px;
    text-align: center;
    cursor: pointer;
    transition: all 0.15s ease;
    min-height: 120px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
}

.plan-tile:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
    transform: translateY(-2px);
}

.plan-input {
    position: absolute;
    inset: 0;
    opacity: 0;
    pointer-events: none;
}

/* フォーカス対応 */
.plan-input:focus-visible+.plan-tile {
    outline: 3px solid #9ecbff;
    outline-offset: 2px;
}

/* チェック時 */
.plan-input:checked+.plan-tile {
    background: #fff8d7;
    border-color: #f1ce5b;
}

.plan-input:checked+.plan-tile::after {
    content: "✓";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    font-weight: 800;
    font-size: 40px;
}

.shoot-plan {
    margin-bottom: 48px;
}

/* ラベル内要素 */
.plan-label {
    font-weight: 700;
    line-height: 1.3;
    padding-top: 30px;
    font-size: 20px;
}

.plan-name {
    display: block;
}

.plan-price {
    display: block;
    font-weight: 800;
    margin-top: 4px;
}

.option-group {
    margin-bottom: 48px;
}

.select3 {
    display: grid;
    grid-template-columns: repeat(2, minmax(260px, 1fr));
    justify-content: center;
    justify-items: center;
}

@media (max-width: 600px) {

    .select3 {
        grid-template-columns: 1fr;
    }
}

.option-tile {
    position: relative;
    border: 1px solid #ddd;
    background: #fff;
    /* padding: 24px 14px; */
    text-align: center;
    cursor: pointer;
    transition: all 0.15s ease;
    min-height: 130px;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 400px;
    min-width: 200px;
    width: 100%;
    /* padding-top: 30px; */
}

.option-tile:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
    transform: translateY(-1px);
}

.option-input {
    position: absolute;
    inset: 0;
    opacity: 0;
    pointer-events: none;
}

.option-input:focus-visible+.option-tile {
    outline: 3px solid #9ecbff;
    outline-offset: 2px;
}

.option-input:checked+.option-tile {
    background: #fff9d9;
    border-color: #f0d96a;
}

.option-input:checked+.option-tile::after {
    content: "✓";
    position: absolute;
    top: -7px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-weight: 800;
    font-size: 40px;
}

.option-label {
    font-weight: 700;
    line-height: 1.4;
    font-size: 20px;
}

.option-label small {
    font-size: 18px;
    color: #444;
    font-weight: 500;
    display: block;
    margin-top: 4px;
}


.section-head::before,
.section-head::after {
    content: "◆";
    color: #333;
    font-size: 0.9em;
}

/* 中央でピタッと結合させる */
.select3 {
    display: grid;
    grid-template-columns: repeat(2, minmax(260px, 1fr));
    column-gap: 0;
    justify-content: center;
    align-items: stretch;
    justify-items: stretch;
}

/* 左タイル：右角を丸めない */
.option-grid--joined>label:first-child .option-tile {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    margin-left: auto;
}

/* 右タイル：左角を丸めない＆中央の二重線防止で左ボーダー消す */
.option-grid--joined>label:last-child .option-tile {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    /* 中央は1pxだけに */
}

/* スマホは1列に戻す：角丸も復活、左境界線も復活 */
@media (max-width: 600px) {
    .option-grid--joined {
        grid-template-columns: 1fr;
        column-gap: 20px;
        /* 1列化時の見た目安定用（なくてもOK） */
    }

    .option-grid--joined>label .option-tile {
        border-left: 1px solid #ddd;
    }
}

/* 既存の .option-tile などはそのままでOK（選択時の背景/✓も効きます） */

.request-form {
    width: 100%;
    padding: 0 24px;
}

.form-box {
    background: #efefef;
    padding: 22px 14px;
    border-radius: 8px;
    max-width: 1080px;
    margin: 0 auto;
}

.form-row {
    display: grid;
    grid-template-columns: 220px 1fr;
    /* 左：ラベル / 右：入力 */
    gap: 18px;
    align-items: center;
    margin: 16px 0;
}

.form-label {
    text-align: right;
    font-weight: 600;
    line-height: 1.6;
    font-size: 18px;
}

.form-required {
    color: #d9534f;
    font-weight: 700;
}

.form-field input,
.form-field textarea {
    width: calc(100% - 60px);
    background: #fff;
    border: 2px solid #333;
    border-radius: 0;
    padding: 10px 12px;
    font: inherit;
}

.form-field textarea {
    resize: vertical;
}

/* メール確認UI（緑枠で再現） */
.confirm-wrap {
    position: relative;
    border: 2px solid #37d44a;
    background: #fff;
}

.confirm-wrap input {
    border: 0;
    width: 100%;
    padding: 12px 46px 12px 12px;
}

.confirm-mark {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #37d44a;
    font-weight: 700;
}

/* フッターメモ・ボタン */
.form-note {
    text-align: right;
    color: #8a8a8a;
    margin-top: 6px;
    font-size: 20px;
}

.form-note span {
    color: #d9534f;
}

.form-actions {
    display: flex;
    justify-content: center;
    margin: 22px 0 6px;
}

.btn-confirm {
    appearance: none;
    border: none;
    background: #44a268;
    color: #fff;
    font-weight: 700;
    padding: 12px 28px;
    border-radius: 4px;
    cursor: pointer;
}

.btn-confirm:hover {
    filter: brightness(0.95);
}

/* レスポンシブ */
@media (max-width: 720px) {
    .form-row {
        grid-template-columns: 1fr;
    }

    .form-label {
        text-align: left;
    }

    .sp-only {
        display: inline;
    }

    .form-field input,
    .form-field textarea {
        width: calc(100% - 32px);
    }
}

@media (min-width: 721px) {
    .sp-only {
        display: none;
    }
}

/* 視覚的フォーカス（アクセシビリティ） */
.form-field input:focus,
.form-field textarea:focus {
    outline: 3px solid #9ecbff;
    outline-offset: 1px;
}


.footer {
    background-color: #13ae67;
    color: #fff;
    padding: 60px 20px;
    font-family: "vdl-v7marugothic", sans-serif;
}

.footer__inner {
    max-width: 980px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 40px;
    align-items: end;
}

.footer__left {
    flex: 1 1 320px;
}

.footer__logo img {
    width: 300px;
    margin-bottom: 30px;
}

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

.footer__nav li {
    margin-bottom: 12px;
}

.footer__nav a {
    color: #fff;
    text-decoration: none;
    font-weight: 800;
    transition: opacity 0.3s ease;

}

.footer__nav a:hover {
    opacity: 0.8;
}

.footer__tag {
    display: inline-block;
    border: 2px solid #fff;
    padding: 4px 10px;
    margin-bottom: 15px;
    font-size: 16px;
    font-weight: bold;
}

.footer__company {
    width: 250px;
}

.footer__company img {
    width: 100%;
}

.footer__address,
.footer__tel,
.footer__link,
.footer__mail {
    margin-bottom: 5px;
}

.footer__link a,
.footer__mail a {
    color: #fff;
    text-decoration: underline;
}

@media screen and (max-width: 768px) {
    .footer__inner {
        flex-direction: column;
        align-items: flex-start;
    }

    .footer__left,
    .footer__right {
        flex: 1 1 100%;
    }

    .footer__logo img {
        width: 160px;
    }

    .footer__company {
        font-size: 18px;
    }
}



/* ご利用ガイド */


/************* プラン選択 ***********************/

.page-guide {
    padding: 50px 0;
}

.page-guide__inner {
    max-width: 980px;
    margin: 0px auto;
    width: 100%;
}

.page-guide__titlebox {
    background-color: #fff;
    width: 70%;
    margin: 0 auto 48px;
    position: relative;
    text-align: center;
    font-family: "07YasashisaAntique", "07YasashisaAntique 90ms-RKSJ-H", "07 Yasashisa Antique", sans-serif;
    font-size: 50px;
}

.page-guide__bar01 {
    position: absolute;
    top: -50px;
    left: 0;
    right: 0;
    width: 100%;
}

.page-guide__bar01 img {
    width: 100%;
}

.page-guide__bar02 {
    position: absolute;
    top: 77px;
    left: 0;
    right: 0;
    width: 100%;
}

.page-guide__bar02 img {
    width: 100%;
}

.page-guide__title {
    padding: 30px 0;
}

.page-guide__text {
    color: #231815;
    text-align: center;
    font-size: 20px;
    line-height: 1.7;
    margin-bottom: 8px;
    font-family: "vdl-v7marugothic", sans-serif;
}

.page-guide__text span {
    color: #0dac67;
}

@media (max-width: 768px) {

    .page-guide__titlebox {
        width: 80%;
        font-size: 20px;
    }

    .page-guide__text {
        font-size: 16px;
    }
}

.page-guide__attention__inner {
    max-width: 1080px;
    margin: 0 auto;
    width: 100%;
    color: #231815;
    font-family: "vdl-v7marugothic", sans-serif;
    line-height: 1.8;

}

.page-guide__attention__item {
    margin-bottom: 50px;
}

.page-guide__attention__item--title {
    font-size: 22px;
    text-align: center;
    background-color: #dff4e9;
    padding: 16px 8px;
    margin-bottom: 24px;
}

.page-guide__attention__item--box {
    /* text-align: center; */
    font-size: 20px;
    padding: 0 24px;
    margin-bottom: 48px;
}

.page-guide__attention__item--box-li {
    margin-bottom: 16px;
    display: flex;
    align-items: baseline;
}

.page-guide__attention__item--box-li img {
    width: 30px;
    vertical-align: bottom;
}

.page-guide__attention__item--box-li .left {
    color: #13ae67;
    font-size: 24px;
}

.page-guide__attention__item--box-li .left span {
    color: #231815;
}

.page-guide__attention__item--box-li .right {
    font-size: 19px;
}

.page-guide__attention__item--box-li .right .red {
    color: #ff0000;
}

.page-guide__attention__cancel {
    width: 100%;
    background-color: #efefef;
    padding: 24px;

}

.page-guide__attention__cancel-li {
    max-width: 550px;
    width: 100%;
    margin: 0 auto 8px;
    font-size: 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.page-guide__attention__cancel-li .day {
    white-space: nowrap;
}

.page-guide__attention__cancel-li .bar {
    flex: 1;
    border-bottom: 2px solid #000;
    margin: 0 12px;
}

.page-guide__attention__cancel-li .percent {
    width: 100px;
}

@media (max-width: 768px) {

    .page-guide__attention__item--title {
        font-size: 18px;
    }

    .page-guide__attention__item--box {
        font-size: 16px;
    }

    .page-guide__attention__item--box-li {
        display: flex;
        flex-direction: column;
    }

    .page-guide__attention__item--box-li img {
        width: 30px;
    }

    .page-guide__attention__item--box-li .left {
        font-size: 20px;
        margin-bottom: 8px;
    }

    .page-guide__attention__item--box-li .right {
        font-size: 16px;
    }

    .page-guide__attention__item--box-li .right .red {
        color: #ff0000;
    }

    .page-guide__attention__cancel {
        padding: 24px 12px 12px;
    }

    .page-guide__attention__cancel-li {
        font-size: 16px;
        max-width: 300px;
    }

    .page-guide__attention__cancel-li .percent {
        width: 60px;
    }


    .page-guide__bar01 {
        top: -21px;
    }

    .page-guide__title {
        padding: 20px 0;
        font-size: 26px;
    }

    .page-guide__bar02 {
        top: 55px;
    }
}


.wpcf7 form.spam .wpcf7-response-output {
    text-align: center !important;
}


/* CF7の選択肢カード：未選択の見た目（白にする） */
.wpcf7-list-item label {
  display: block;
  background: #fff;            /* ← 未選択は白 */
  cursor: pointer;
	padding:30px;
  transition: 0.2s ease;
}

/* 選択されたカードだけ背景色を変える（Chrome/Safari/EdgeならOK） */
.wpcf7-list-item label:has(input[type="radio"]:checked),
.wpcf7-list-item label:has(input[type="checkbox"]:checked) {
  background: #fffbd2         /* ← ここを好きな色に */
}

.wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: 12px;
	flex-direction: column;
}


/* ラジオ本体は隠す */
.wpcf7-list-item input[type="radio"] {
  display: none;
}


/* 未選択アイコン */
.wpcf7-list-item label::before {
  content: "";
  width: 22px;
  height: 22px;
  background: url("../image/icon-check-off.png") no-repeat center / contain;
  flex-shrink: 0;
}

/* 選択時アイコン */
.wpcf7-list-item label:has(input[type="radio"]:checked)::before {
  background-image: url("../image/icon-check-off.png");
}

/* 選択時の背景 */
.wpcf7-list-item label:has(input[type="radio"]:checked) {
  background: #fffbd2 ;

}

