@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

:root {
    --color-base: #444444;
    /* ベースカラー */
    --color-main: #0257AC;
    /* メインカラー */
    --color-sub: #039E89;
    /* サブカラー */
}

.fit-content {
    width: fit-content !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* font-family */
.font-en {
    font-family: 'Quicksand', sans-serif;
}

button#pagetop {
    border: clamp(10px, 1.5vw, 16px) solid rgb(28, 156, 189);
    width: clamp(60px, 8vw, 100px);
    height: clamp(60px, 8vw, 100px);
    background: #fafaf6;
}

@media (min-width: 960px) {
    .hov-bg-main:hover {
        background-color:#fafaf6 !important;
        color: rgb(28, 156, 189) !important;
    }
}

/* 見出し */
h2.heading2 {
    font-size: clamp(27px, 4.8vw, 38px);
    font-weight: 600;
    margin-bottom: 1.5em;
    text-align: center;

    small {
        font-size: clamp(12px, 2vw, 15px) !important;
        font-weight: 500;
        /* フォントカラーをグラデーションに */
        background: linear-gradient(to bottom, #039E89, #0257AC);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
        display: block;
        margin-bottom: 1em;
    }
}

h3.heading3 {
    font-size: clamp(21px, 4vw, 24px) !important;
    font-weight: 600;
    margin-top: 0;
    margin-bottom: 0.5em;
}

/* インナー幅 */
.inner-s{
    max-width: 700px;
    margin-inline: auto;
}

.bg-blue::after {
    content: "";
    display: block;
    width: 100vw;
    height: calc(100% + 160px);
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    background-color: #F1F6F9 !important;
    z-index: -1;
}

/* ----------------------------------------
HEADER 
---------------------------------------- */
.l-header {
    /* グラデーション背景 */
    background: linear-gradient(45deg,
            #15A98B 0%,
            #2E9EC6 100%);
    left: 0;
    top: 0;
    z-index: 100;
}

/* ヘッダーのmax-widthを解除 */
.l-header__inner {
    max-width: none;

}

/* ヘッダー高さ調整 */
.l-header__inner.l-container {
    height: 100px;
}

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

    /* ヘッダー高さ調整 */
    .l-header__inner.l-container {
        height: 80px;
    }

}

/* ヘッダー固定 */
@media screen and (min-width:960px) {

    /* 常時表示のフィックスヘッダーを非表示にする　*/
    .l-fixHeader {
        display: none;
    }

    /* 通常のヘッダーをトップに固定する　ヘッダーの高さ指定*/
    .l-header {
        position: sticky;
        position: -webkit-sticky;
        top: var(--swl-adminbarH, 0);
    }
}

/*PCメニュー消す*/
.l-header__gnav {
    display: none;
}

/* pcハンバーガーメニュー表示 */
@media screen and (min-width: 961px) {
    .l-header__menuBtn.sp_ {
        display: block !important;
        position: absolute;
        top: 50%;
        translate: 0 -50%;
        right: var(--swl-pad_container, 0);
    }

    .p-spMenu {
        display: block !important;
    }
}

/*SPメニュー*/
.p-spMenu__inner {
    max-width: 500px;
}

/* ハンバーガーメニュータイトル */
.c-widget__title.-spmenu {
    padding: .5em .75em;
}

/* ハンバーガーメニュー下線消す */
.c-spnav a {
    border-bottom: 0px solid var(--color_border);
    display: block;
}

/* ハンバーガーメニューアイコンサイズ */
i.c-iconBtn__icon.icon-menu-thin {
    font-size: 30px;
}

/* ハンバーガーメニュー閉じるボタンサイズ */
.p-spMenu__closeBtn .c-iconBtn__icon {
    font-size: 30px;
}

/* ヘッダーロゴの調整 */
@media not all and (min-width: 960px) {
    .c-headLogo {
        height: 60px;
    }
}

/* 会社ロゴを出す */
.l-header::before {
    content: "";
    display: block;
    width: clamp(100px, 30vw, 250px);
    height: 50px;
    background: url(https://universal.fkr268.jp/wp-content/uploads/2026/02/logo_kanko.png) no-repeat center/contain;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 100;
}

/* 会社ロゴはSP時は非表示 */
@media screen and (max-width:768px) {
    .l-header::before {
        display: none;
    }
}

/* 電話番号の追加（ウィジェット） */
a.tel-box {
    color: #fff !important;
    font-size: clamp(20px, 2.5vw, 36px) !important;
    font-family: 'Quicksand', sans-serif;
    font-weight: 700;
    text-decoration: none !important;
    position: absolute;
    right: calc(var(--swl-pad_container, 0) + 1.5em);
    top: 50%;
    translate: 0 -50%;
    position: relative;
}

/* アイコンを疑似要素で左側に追加 */
a.tel-box::before {
    content: "";
    display: block;
    width: 1em;
    height: 1em;
    background: url(../swell_child/assets/img/icon_phone.svg) no-repeat center/contain;
    position: absolute;
    top: 50%;
    left: -1.2em;
    transform: translate(0, -50%);
}

/* ----------------------------------------
MV 
---------------------------------------- */
/* スクロールダウン */
.p-mainVisual__scroll {
    color: #1C9CBD;
    opacity: 1;
    text-align: center;
    border: 26px solid #1C9CBD;
    border-radius: 999px;
    background: #FAFAF6;
    padding: 20px;
    height: 150px;
    aspect-ratio: 1;
    position: absolute;
    left: 58%;
    bottom: -1%;
    translate: 0 -10%;
    z-index: 9;
    opacity: 1;

    svg:not([fill]) {
        fill: #1C9CBD;
    }

    .p-mainVisual__scrollLabel {
        color: #1C9CBD;
        font-weight: 900;
        line-height: 1.25;
        letter-spacing: 0;
    }
}

picture.p-mainVisual__imgLayer.c-filterLayer__img {
    width: 60%;
    height: calc(100vh - 110px);
    min-height: 660px;
    max-height: 800px;
    margin-top: 72px;
    border-radius: 0 40px 40px 0;
    overflow: hidden;
}

/* 波のモチーフ */
picture.p-mainVisual__imgLayer.c-filterLayer__img::after {
    content: "";
    background: url(../swell_child/assets/img/illust_wave.svg) no-repeat center / contain;
    width: clamp(100px, 15vw, 200px);
    height: auto;
    aspect-ratio: 125 / 75;
    position: absolute;
    bottom: 27%;
    left: -30px;
    z-index: 10;
    translate: 0 100%;
}

/* メインビジュアルの高さ制限 */
.p-mainVisual__inner {
    min-height: 780px;
    max-height: 900px;
}

/* 円のモチーフ */
.p-mainVisual__inner::before {
    content: "";
    background: url(../swell_child/assets/img/illust_circle-double.svg
) no-repeat center/contain;
    width: clamp(100px, 20vw, 226px);
    height: auto;
    aspect-ratio: 226/158;
    position: absolute;
    top: 2.5vw;
    right: 2.5vw;
    z-index: 2;
}

/* 文字グループの位置 */
.p-mainVisual__textLayer {
    z-index: 3;
    transform: unset;
    left: 54%;
    top: 44%;
    width: 46%;
    height: fit-content;
    padding: 0;
    translate: 0 -50%;
}

.fv_copy div {
    display: flex;
    flex-direction: column;
    gap: 0.5em;

    p {
        margin: 0;
    }
}

.fv_copy {
    width: fit-content;
    margin-bottom: 5vh !important;
}

.fv_copy p {
    font-size: clamp(30px, 3.8vw, 54px) !important;
    font-weight: 600;
    text-shadow: none !important;
    letter-spacing: 0.1em;
    line-height: 1.4;
    padding: 10px 20px !important;
    width: fit-content;
}

.fv_copy-sub {
font-size: clamp(18px, 1.45vw, 20px) !important;
    font-weight: 700;
    line-height: 2.3;
    letter-spacing: 0.1em;
    text-shadow: none !important;
    width: clamp(300px, 34.72vw, 610px);
    position: relative;
    left: 8vw;
}

/* 右下の波 */
.home #content::after {
    content: "";
    background: url(../swell_child/assets/img/illust_wave-transparent.svg) no-repeat center / contain;
    width: clamp(300px, 25vw, 600px);
    height: auto;
    aspect-ratio: 370 / 170;
    position: absolute;
    /* bottom: 0; */
    right: -30px;
    z-index: 2;
    translate: 0 -100%;
    top: 0;
    margin-right: calc(50% - 50vw);
}

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

    /* スクロールダウン */
    .p-mainVisual__scroll {
        display: none;
    }

    /* メインビジュアル下の余白削除 */
    .top #content {
        padding-top: 0;
    }

    /* メインビジュアルの高さ調整 - heightを削除してautoに */
    .-height-full .p-mainVisual__slide,
    .-height-set .p-mainVisual__slide {
        height: auto;
        /* 100vhから変更 */
    }

    /* メインビジュアルの高さ制限 */
    .p-mainVisual__inner {
        min-height: unset;
        max-height: unset;
        height: auto;
        /* 追加 */
        display: flex;
        /* 追加 */
        flex-direction: column;
        /* 追加 */
        justify-content: flex-start;
        /* 追加 */
        padding: 40px 0 80px;
        /* 追加: 上下の余白を固定 */
    }

    /* メインビジュアル画像 */
    picture.p-mainVisual__imgLayer.c-filterLayer__img {
        position: relative;
        width: 95%;
        margin-top: 0;
        height: calc(50vh - 80px - 40px);
        display: inline-block;
        min-height: 490px;
        max-height: unset;
    }

    /* 波のモチーフ */
    picture.p-mainVisual__imgLayer.c-filterLayer__img::after {
        content: "";
        background: url(../swell_child/assets/img/illust_wave.svg) no-repeat center / contain;
        width: clamp(100px, 30vw, 200px);
        height: auto;
        aspect-ratio: 125 / 75;
        position: absolute;
        bottom: 27%;
        left: -30px;
        z-index: 10;
        translate: 0 100%;
    }

    /* 文字グループの位置 */
    .p-mainVisual__textLayer {
        position: relative;
        /* absoluteから変更 */
        left: unset;
        top: unset;
        width: 100%;
        height: fit-content;
        padding: 0;
        right: unset;
        margin-top: -50px;
        /* 追加: 画像との間隔 */
		translate: 0;
    }

    .fv_copy div {
        gap: 0;
        align-items: flex-end;

        p {
            margin: 0;
        }
    }

    .fv_copy {
        width: 100%;
        margin-bottom: 2vh !important;
    }

    /* 波のモチーフ */
    .home #content::after {
        content:unset;
    }

    .fv_copy p {
        font-size: clamp(27px, 5vw, 49px) !important;
        font-weight: 600;
        text-shadow: none !important;
        letter-spacing: 0.1em;
        line-height: 1.4;
        padding: 10px 20px !important;
        width: fit-content;
        background-color: #F8F8F8 !important;
    }

    .fv_copy-sub {
        width: 100%;
        left: 0;
        letter-spacing: 0.1em;
        padding-inline: 4vw;
        text-align: justify;
        position: static;
        /* relativeから変更 */
    }
}



/* ----------------------------------------
メッセージセクション
---------------------------------------- */
.top-message {

    &::after {
        content: "";
        display: block;
        width: min(45vw, 700px);
        height: auto;
        aspect-ratio: 567 / 203;
        position: absolute;
        bottom: -20%;
        left: -1%;
        background: url(../swell_child/assets/img/bingo-fukuyama.svg) no-repeat center / cover;
        z-index: -1;
        opacity: 0.05;
        margin-left: calc(50% - 50vw);
    }

    .top-message__title {
        font-size: clamp(24px, 3.5vw, 40px) !important;
        font-weight: 600;
        line-height: 1.6;
        margin-bottom: 0.5em;
        color: #1C9CBD;
    }

    .top-message__text {
        font-size: clamp(16px, 2.5vw, 18px) !important;
        line-height: 2;
    }

    strong {
        font-size: clamp(18px, 2.5vw, 40px) !important;
        line-height: 1.8;
        color: #1C9CBD;
    }

    @media (width < 1108px) {
        &::after {
            left: auto;
            right: 0;
            margin-right: calc(50% - 50vw);
        }
    }

    @media (width < 600px) {
        &::after {
            left: auto;
            right: 0;
            margin-right: calc(50% - 50vw);
            bottom: 0;
            translate: 0 80%;
            width: 80%;
        }
    }
}

@media (width < 600px) {
#top-whill a.swell-block-button__link {
    width: 100%;
}
}

/* ----------------------------------------
ツアー紹介
---------------------------------------- */

h2#top-info {
    margin-top: 2em;
}

.top-info__text {
    font-size: clamp(16px, 2.5vw, 20px);
    line-height: 2;
}

.info-number {
    color: #fff;
    background: #15A98B;
    border-radius: 999px;
    width: 5em;
    height: 5em;
    margin-bottom: 1em;
    line-height: 1;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    white-space: nowrap;


    span:first-child {
        font-size: clamp(14px, 1.2vw, 18px) !important;
        font-weight: 600;
        display: block;
    }

    span:last-child {
        font-size: clamp(27px, 2.5vw, 36px) !important;
        font-weight: 600;
        color: #fff !important;
        display: block;
    }
}


@media not all and (min-width: 960px) {
	div#top-features {
    padding-bottom: 0 !important;
}
}

@media screen and (max-width: 600px) {
	
    .info-number {
        color: #fff;
        background: #15A98B;
        border-radius: 999px;
        width: 5em;
        height: 5em;
        margin-bottom: 1em;
        line-height: 1;
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        position: absolute;
        top: 0;
        left: 4px;
        translate: 0 -30%;
    }
}

/* 画像に角丸 */
.wp-block-media-text.is-image-fill-element>.wp-block-media-text__media img {
    height: 100%;
    object-fit: cover;
    width: 100%;
    border-radius: 40px;
}

.wp-block-media-text {
    gap: 5vw !important;
}


/* swiper */

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform;
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 4 / 3;

    img {
        object-fit: cover;
        width: 100%;
        height: 100%;
    }
}

/* ----------------------------------------
プラン
---------------------------------------- */

div#top-plan {
    margin-bottom: 0 !important;
    padding-bottom: 19em !important;
}

.top-plan .swell-block-accordion__title {
    align-items: center;
    background: hsl(167.52deg 78.84% 37.06%);
    cursor: pointer;
    display: flex;
    font-weight: 400;
    justify-content: space-between;
    padding: 1.6em 1em;
    position: relative;
    border-radius: 10px;
    font-size: 1.2rem;
}

.top-plan img {
    border-radius: 24px;
    max-width: 400px;
    width: 100%;
    border: 6px solid #42b59a45;
}

h3.top-plan-title3{
    font-weight: 600;
    line-height: 1.6;
    margin-bottom: 1em !important;
    padding: 1.5em 1em;
    color: #fff;
    background-color: #14a98a;
    border-radius: 10px;
}

/* .top-plan h3.wp-block-heading {
    border-left: none;
    border-radius: 10px;
    padding: 1em;
} */

.top-plan h4.wp-block-heading {
    border-left: none;
    padding: 1em 0 0;
    margin-bottom: 0.5em;
    padding: 1em 4em;
    border: 1px solid currentColor;
    border-radius: 10px;
    width: 100%;
    text-align: center;
}

.top-plan .swell-block-step p {
    margin-left: 1.5em;
}

.top-plan .swell-block-step .swell-block-columns {
    margin-left: 2em;
}

/* スケジュールの円 */
.top-plan .swell-block-step__number .__shape {
    border: 6px solid;
    box-sizing: border-box;
    height: 1.2rem;
    margin-right: 8px;
    width: 1.2rem;
}

/* スケジュールの線 */
.top-plan .is-style-small .swell-block-step__item:before {
    border-left: 6px dotted var(--color_border);
    height: calc(100% - 20px);
    left: 6px;
    top: 16px;
}

/* スケジュールのタイトルの調整 */
.top-plan .is-style-small [data-hide]+.swell-block-step__title {
    margin-top: calc(-1.24em);
    margin-left: 0.5em;
}

.top-plan .is-style-small .swell-block-step__item {
    padding: 0 0 5em 24px;
}



.top-plan .top-price h3.wp-block-heading {
    border-left: none;
    border-radius: unset;
    padding: 0em;
}

.top-price .swell-block-column.swl-has-mb--s {
    margin-inline: auto;
}



.top-price__title4{
        border-left: none;
    border-radius: unset;
    padding: 0em;
}

h4.wp-block-heading.top-price__title4 {
    border: 0;
    text-align: left;
    padding: 0;
    margin-bottom: 1em;
    margin-top: 6em;
}





/* ----------------------------------------
オーダーメイド旅行
---------------------------------------- */

.top-order__text {
    font-size: clamp(16px, 2vw, 20px);
    line-height: 2;
}


/* ----------------------------------------
代金
---------------------------------------- */

.is-style-emboss_box {
    border: 2px solid var(--color_main);
    box-shadow: var(--swl-box_shadow);
    padding: var(--swl-box_padding);
    border-radius: 20px;
}

.top-price {
    position: relative;

    .-list-under-dashed>li,
    .border_bottom>li {
        border-bottom: none !important;
        margin-bottom: 0;
        padding-bottom: 0;
    }

    .is-style-clmn-border>.swell-block-columns__inner>.swell-block-column {
        border: none !important;
        border-radius: 12px;
        background-color: #fff;
    }
}

/* スライダー */

.top-slider {
    position: relative;


    &::before {
        content: "";
        display: block;
        width: min(45vw, 500px);
        height: auto;
        aspect-ratio: 226 / 158;
        position: absolute;
        top: 0;
        left: -1%;
        translate: 0 -80%;
        background: url(../swell_child/assets/img/illust_circle-double.svg) no-repeat center / cover;
        z-index: 1;
        opacity: 0.05;
        margin-left: calc(50% - 50vw);
        rotate: 180deg;
    }

}
/* ----------------------------------------
モデルルート
---------------------------------------- */
.route_price {
    max-width: 700px;
    margin-inline: auto;

    p.has-text-align-center.u-mb-ctrl.u-mb-10 {
        line-height: 1.3;
    }
}


/* ----------------------------------------
パートナー
---------------------------------------- */
.top-partner h3 {
    margin: 1em 0 2em;
}

/* ----------------------------------------
ホテル
---------------------------------------- */

.top-hotel {

    h3 {
        display: flex;
        align-items: center;
        gap: 0.5em;
    }

    h3::before {
        content: "";
        display: block;
        width: 2em;
        height: auto;
        aspect-ratio: 1;
        background: url(../swell_child/assets/img/icon_kurumaisu.svg) no-repeat center / cover;
        position: static;
        opacity: 0.8;

    }

    img {
        border-radius: 40px;
    }
}



/* CONTACTFORM7の基本設定
-----------------------------------------*/
.contact-body p {
    text-align: left;
}

.contact-body p:has(.wpcf7-form-control-wrap, .btn) {
    text-align: center;
}

.form-wrapper {
    margin: 0 auto;
}

.wpcf7-response-output {
    text-align: center;
}

.wpcf7-form-control-wrap {
    color: #403734;
    display: inline-block;
}

input:-internal-autofill-selected {
    background-color: #F8F5E4 !important;
}

/* リセット */
/* メッセージの表示を制御 */
.wpcf7-mail-sent-ok,
.wpcf7-response-output.wpcf7-mail-sent-ok {
    display: none !important;
}

/* フォームレイアウト
-----------------------------------------*/
.form-box {
    width: 100%;
}

.form-box dl {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: stretch;
    margin-bottom: 40px;
}

.form-box dl:last-of-type {
    margin-bottom: 30px;
}

.form-box dt {
    --font-min: 16;
    --font-max: 24;
    font-size: var(--font-size);
    font-weight: var(--wght-regular);
    line-height: 1;
    text-align: left;
    padding-bottom: 18px;
}

.form-box dt .message {
    padding-top: 10px;
    vertical-align: top;
}

.form-box dd P {
    display: flex;
}

@media (max-width: 800px) {
    .form-box dt {
        padding-bottom: 0.75em;
        font-weight: var(--wght-bold);
    }

    .form-box dd {
        width: 100%;
    }
}

/* フィールド共通スタイル
-----------------------------------------*/

form input[type=text],
form input[type=email],
form input[type=tel],
form textarea {
    border-radius: 5px;
    background-color: #F4F4F5;
    padding: 0.5em 0.5em;
    font-size: 16px;
    width: 100%;
    box-sizing: border-box;
}

/* placeholder */
.form-box input::placeholder,
.form-box textarea::placeholder {
    color: #A8A8A8;
}

/* 必須・任意バッジ
-----------------------------------------*/
.form-box dt .required {
    display: flex;
    align-items: center;
    gap: 0.5em;
}

.form-box dt .required:after {
    content: "必須";
    display: inline-block;
    padding-left: 0.5em;
    color: white;
    line-height: 1;
    font-size: 12px;
    background: var(--color-base);
    padding: 4px 5px 5px;
    border-radius: 5px;
    margin-top: 0.1em;
}

/* チェックボックス（プライバシーポリシー同意用）
-----------------------------------------*/
.accept-wrap {
    text-align: center;
    --font-min: 14;
    --font-max: 18;
    font-size: var(--font-size);
}

.wpcf7-acceptance input[type="checkbox"] {
    position: relative;
    border: 1px solid var(--color-base);
    border-radius: 4px;
    vertical-align: -0.2em;
    opacity: 1;
    pointer-events: auto;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
    background-color: #fff;
    transition: all 0.2s;
    padding: 0.5em;
}

.wpcf7-acceptance input[type="checkbox"]:checked {
    background-color: var(--color-base);
    border-color: var(--color-base);
}

.wpcf7-acceptance input[type="checkbox"]:checked:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -60%) rotate(45deg);
    width: 6px;
    height: 12px;
    border-right: 2px solid white;
    border-bottom: 2px solid white;
}

.wpcf7-form-control-wrap .wpcf7-acceptance {
    display: inline-block;
}

.wpcf7-form-control-wrap .wpcf7-acceptance .wpcf7-list-item {
    margin: 0 1em 0 0;
}

/* 個人情報の取り扱い */
.privacy-notice {
    padding: 1em;
    margin: 2em 0 2em;
    border: 1px solid #D9D9D9;
    text-align: center;
}

.privacy-notice__title {
    margin-bottom: 1em;
}

.privacy-notice__text {
    margin-bottom: 1em;
}

.privacy-link {
    color: var(--color-main);
    text-decoration: underline;
}

.privacy-link:hover {
    text-decoration: none;
}

/* privacy-notice内のチェックボックス */
.privacy-notice .accept-wrap {
    text-align: center;
}

.form__text {
    text-align: center;
    font-size: clamp(12px, 2.5vw, 14px);
}

/* 送信ボタン
-----------------------------------------*/
.submit-wrap {
    text-align: center;
}

input.wpcf7-submit.has-spinner.btn,
input.wpcf7-submit.has-spinner.btn:disabled {
    width: min(100%, 400px);
    text-align: center;
    color: white;
    --font-min: 16;
    --font-max: 24;
    font-size: var(--font-size);
    background-color: var(--color-base);
    border-radius: 999px;
    padding: 1em 2em;
    margin-inline: auto;
    transition: 0.3s;
    margin-top: 2em;
}

input.wpcf7-submit.has-spinner.btn:disabled {
    background-color: #C4C4C4;
}

.wpcf7-spinner {
    display: none;
}

/* バリデーション
-----------------------------------------*/
.wpcf7-not-valid-tip {
    text-align: left;
}

/* レスポンシブ対応
-----------------------------------------*/
@media (max-width: 768px) {

    .form-box .radio-btn-label,
    .form-box .wpcf7-list-item-label {
        padding: 0.6em 1.2em;
        font-size: 14px;
    }
}

/* ----------------------------------------
FOOTER
---------------------------------------- */
/* フッター上部角丸 */
.l-footer {
    border-radius: 80px 80px 0 0;
    overflow: hidden;
}

/* フッター前の余白の削除 */
.l-content {
    margin-bottom: 8px;
}

/* フッターの|の削除 */
.l-footer__nav li a {
    border: none !important;
}

/* フッター１、フッター２に入れた場合のスタイル */
footer .l-container {
    max-width: 1400px;
    padding: 0 2em;
    column-gap: 1em;
}

.l-footer__widgetArea {
    padding-top: 5em;
    padding-bottom: 5em;
}

@media (min-width: 960px) {
    .w-footer__box {
        flex: unset;
        width: fit-content;
        padding: 1em;
    }
}

/* フッター１ */

.w-footer.-col2 img {
    width: clamp(240px, 50vw, 260px);
}

.footer_contents h3 {
    font-size: 18px;
    font-weight: bold;
}

.footer_address {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em;
    align-items: center;
    margin-bottom: 1.5em;
    font-style: normal !important;
}

address {
    font-style: normal !important;
}

.footer_contents address {
    display: inline-block;
    font-size: 14px;
}

.footer_contents .googlemap {
    margin-left: 0.5em;
    font-size: 10px;
    border: 1px solid #fff;
    padding: 0.5em 1em;
    text-decoration: none;
}

.footer_contents .tel {
    font-size: 40px;
    font-weight: 700;
    font-family: 'Quicksand', sans-serif;
    text-decoration: none !important;
    display: block;
}

.footer_contents .tel span {
    font-size: 16px;
    display: block;

}

.footer_tel-text {
    font-size: 12px;
}

/* フッター２ フッターnavi */
.widget_nav_menu,
.menu-footer-menu-container {
    height: 100%;
}

ul#menu-footer-menu {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    max-width: 300px;
    margin-right: 0;
    margin-left: auto;
}

.menu-menu-container .menu {
    display: grid;
    grid-auto-flow: column;
    grid-template-rows: repeat(7, auto);
    column-gap: 2rem;
    row-gap: 0;
    min-width: 400px;
    justify-content: center;
}

.c-listMenu a {
    border-bottom: unset !important;
}

/* >を削除 */
footer .c-gnav .sub-menu a:before,
footer .c-listMenu a:before {
    content: none;
}

footer .c-listMenu a:hover {
    background-color: unset !important;
}

@media screen and (min-width: 1108px) {
    .alignwide.common_contact {
        left: 0px !important;
        width: unset !important;
        padding: 80px 0 80px;
    }

}

@media not all and (min-width: 960px) {
    .w-footer__box {
        padding: 1em 0;
        flex: 1;
        width: 50%;
    }
}



@media not all and (min-width: 960px) {
    .w-footer__box+.w-footer__box {
        margin-top: 0em;
    }
}

@media screen and (min-width: 960px) and (max-width: 1199px) {
    .common_contact_col1::before {
        margin-left: -32px;
    }
}

@media screen and (min-width: 600px) and (max-width: 959px) {

    /* この範囲のスクリーンサイズに適用されるCSS */
    .l-container.w-footer.-col2 {
        display: flex;
        justify-content: space-between;
    }

    .common_contact_col1::before {
        margin-left: -4vw;
    }
}

@media screen and (max-width: 599px) {
    .w-footer__box {
        width: 100%;
    }


    .l-container.w-footer.-col2 {
        display: flex;
        flex-direction: column-reverse;
        justify-content: center;
        align-items: center;
        gap: 3em;
    }


    .w-footer.-col2 .widget_media_image {
        text-align: center;
    }

    .w-footer.-col2 img {
        width: clamp(240px, 80vw, 260px);
        margin-inline: auto;
    }

    figure.wp-block-image.size-full.footer_logo.u-lb-off {
        margin: 0 auto;
    }

    .footer_contents {
        text-align: center;
    }

    .footer_address {
        justify-content: center;
        flex-direction: column;
    }

    .footer_contents p {
        display: inline-block;
        padding-left: 1em;
    }

    ul#menu-footer-menu {
        max-width: unset;
    }

    /* 余白調整 */
    footer .c-listMenu a {
    padding: .75em 1em .75em 1em;
    transition: padding .25s;
}

    .common_contact_col1::before {
        margin-left: -4vw;
        width: 8px;
    }
}