    @charset "utf-8";

    .clearfix {
        display: block;
    }

    .sp {
        display: none;
    }

    html {
        overflow-x: hidden;
    }

    body {
        font-family: "Noto Sans JP", sans-serif;
        color: #000;
        letter-spacing: 1px;
        overflow-x: hidden;
        font-size: clamp(12px, 5vw, 24px);
    }

    /* 動き */
    .fuwafuwa {
        display: inline-block;
        position: relative;
    }

    .fuwafuwa .inner {
        display: inline-block;
        animation-name: fuwafuwaMove;
        animation-timing-function: ease-in-out;
        animation-iteration-count: infinite;
    }

    @keyframes fuwafuwaMove {
        0% {
            transform: translateY(0);
        }

        50% {
            transform: translateY(-15px);
        }

        100% {
            transform: translateY(0);
        }
    }

    .kakakaka .inner {
        display: inline-block;
        transform-origin: center bottom;
        animation-name: tiltKataKataPause;
        animation-timing-function: ease-in-out;
        animation-iteration-count: infinite;
    }



    /* ⏱ カタカタ → 休み → カタカタ → 休み */
    @keyframes tiltKataKataPause {
        0% {
            transform: rotate(0deg);
        }

        5% {
            transform: rotate(-5deg);
        }

        10% {
            transform: rotate(5deg);
        }

        15% {
            transform: rotate(-5deg);
        }

        20% {
            transform: rotate(5deg);
        }

        25% {
            transform: rotate(0deg);
        }

        100% {
            transform: rotate(0deg);
        }

        /* 残り75%は静止 */
    }

    .pukupuku {
        display: inline-block;
        animation-name: pukuMotion;
        animation-timing-function: ease-in-out;
        animation-iteration-count: infinite;
        transform-origin: center center;
    }

    @keyframes pukuMotion {
        0% {
            transform: scale(1);
        }

        30% {
            transform: scale(1.03);
        }

        60% {
            transform: scale(0.97);
        }

        100% {
            transform: scale(1);
        }
    }

    /* fv */
    #fv {
        width: 100%;
        background-image: url(../images/fv_bg.webp);
        background-position: center top;
        background-repeat: no-repeat;
        background-size: cover;
    }

    #fv_wrapper {
        position: relative;
        width: 90%;
        max-width: 1900px;
        margin: 0 auto;
        height: auto;
    }

    #fv_wrapper h1 {
        position: absolute;
        top: 10px;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        max-width: 174px;
        width: 10%;
    }

    #fv_photo01 {
        position: absolute;
        left: 1%;
        top: 1%;
        width: 30%;
        max-width: 418px;
    }

    #fv_photo02 {
        position: absolute;
        left: 3%;
        top: 53%;
        width: 28%;
        max-width: 510px;
    }

    #fv_photo03 {
        position: absolute;
        left: 50%;
        top: 28%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        width: 35%;
        max-width: 729px;
    }

    #fv_photo04 {
        position: absolute;
        right: 1%;
        top: 0;
        width: 30%;
        max-width: 501px;
    }

    #fv_photo05 {
        position: absolute;
        right: 1%;
        top: 46%;
        width: 30%;
        max-width: 544px;
    }

    #fv_human01 {
        position: absolute;
        left: 10%;
        top: 30%;
        width: 16%;
        max-width: 316px;
    }

    #fv_human02 {
        position: absolute;
        left: 25%;
        top: 31%;
        width: 16%;
        max-width: 265px;
    }

    #fv_human03 {
        position: absolute;
        right: 25%;
        top: 54%;
        width: 12%;
        max-width: 220px;
    }

    #fv_human04 {
        position: absolute;
        right: 9%;
        top: 27%;
        width: 12%;
        max-width: 179px;
    }

    #fv_text {
        position: absolute;
        left: 50%;
        top: 15%;
        width: 35%;
        max-width: 732px;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
    }

    #fv_btn {
        position: absolute;
        left: 46%;
        bottom: -7%;
        width: 45%;
        max-width: 949px;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
    }

    #fv_img01 {
        position: absolute;
        left: 24%;
        top: 11%;
        width: 11%;
        max-width: 230px;
    }

    #fv_img02 {
        position: absolute;
        right: 22%;
        top: 32%;
        width: 9%;
        max-width: 185px;
    }

    /* box01 */
    #box01 {
        background-image: url(../images/box01_bg.webp);
        background-position: center top;
        background-repeat: no-repeat;
        background-size: cover;
    }

    #box01_wrapper {
        max-width: 1080px;
        margin: 0 auto;
        padding: 6% 0 5%;
        width: 90%;
    }

    #box01_title {
        position: relative;
        margin: 0 0 5%;
    }

    #box01_title div {
        position: absolute;
        top: 31%;
        right: 26%;
        max-width: 165px;
        width: 75%;
    }

    #box01_wrapper article {
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: space-between;
        justify-content: space-between;
    }

    #box01_wrapper article p {
        font-size: clamp(16px, 0.9vw + 0.7rem, 24px);
        line-height: 2;
        font-weight: 500;
        margin: 0 0 7%;
    }

    #box01_wrapper article h3 {
        font-size: clamp(23.3px, 1.2vw + 0.8rem, 35px);
        line-height: 2;
        font-weight: 900;
    }

    #box01_wrapper article h3 span {
        color: #ff7e00;
        font-size: clamp(33.3px, 1.4vw + 1rem, 50px);
        line-height: 1.5;
    }

    #box01_wrapper article figure {
        width: 45%;
    }

    /* box02 */
    #box02 {
        width: 90%;
        max-width: 1080px;
        margin: 0 auto;
        text-align: center;
        padding: 0 0 6%;
    }

    #box02 h2 {
        text-align: center;
        margin: 0 0 2%;
    }

    /* 初期状態は透明＆小さめ */
    #box02 article {
        opacity: 0;
        transform: scale(0.8);
        transition: opacity 0.5s ease-out;
    }

    /* 表示されたらフェードイン */
    #box02 article.visible {
        opacity: 1;
        animation: biyoBounce 1.8s ease forwards;
        /* 繰り返したい場合は infinite に */
    }

    /* びよーん！余韻が揺れる拡大縮小 */
    @keyframes biyoBounce {
        0% {
            transform: scale(0.8);
        }

        40% {
            transform: scale(1.15);
        }

        60% {
            transform: scale(0.9);
        }

        80% {
            transform: scale(1.05);
        }

        100% {
            transform: scale(1);
        }
    }

    #box02_01,
    #box02_02 {
        position: relative;
        margin: 0 0 5%;
    }

    #box02_01 figure {
        position: absolute;
        top: 38%;
        left: 19%;
        max-width: 216px;
        width: 21%;
    }

    #box02_02 figure {
        position: absolute;
        top: 63%;
        left: 42%;
        max-width: 152px;
        width: 13%;
    }

    /* box03 */
    #box03_title {
        background-image: url(../images/box03_title_bg.webp);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        text-align: center;
        margin: 0 0 5%;
    }

    #box03_title img {
        width: 42%;
        margin: 0 auto;
        padding: 1% 0;
    }

    #box03>ul {
        width: 94%;
        max-width: 1900px;
        margin: 0 auto;
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        gap: 1%;
    }

    #box03>ul li:nth-child(2n) {
        padding: 5% 0 0;
    }

    #box03>figure {
        opacity: 0;
        transform: translateY(50px);
        transition: all 0.8s ease-out;
        will-change: transform, opacity;
        text-align: center;
        position: relative;
        z-index: 0;
    }

    #box03>figure.visible {
        opacity: 1;
        transform: translateY(0);
    }

    .slider {
        overflow: hidden;
        width: 100%;
    }

    .track {
        display: flex;
        gap: 16px;
        white-space: nowrap;
        will-change: transform;
    }

    .track img {
        flex: 0 0 auto;
    }

    #box03 article {
        width: 90%;
        max-width: 1080px;
        margin: 0 auto 1%;
        padding: 1%;
        border-radius: clamp(8px, 3vw, 20px);
        border-style: solid;
        border-width: clamp(1px, 0.5vw, 5px);
        box-sizing: border-box;
    }

    #box03 article:last-of-type {
        margin: 0 auto 5%;
    }

    #box03 article h3 {
        position: relative;
        cursor: pointer;
        user-select: none;
        text-align: center;
        font-size: clamp(24px, 5vw, 48px);
    }

    /* 黒い三角（閉じている時・下向き） */
    #box03 article h3::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 6px;
        width: 0;
        height: 0;
        border-left: 20px solid transparent;
        border-right: 20px solid transparent;
        border-top: 20px solid black;
        transform: translateY(-50%);
        transition: transform 0.3s ease;
    }

    /* 開いているときは上向き三角に回転 */
    #box03 article.open h3::after {
        transform: translateY(-50%) rotate(180deg);
    }

    /* 下のdivは初期は非表示 */
    #box03 article>div {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.4s ease;
    }

    /* 開いているときはmax-heightを十分な値に */
    #box03 article.open>div {
        max-height: 1000px;
        margin-top: 8px;
    }

    #box03_01 {
        border-color: #4fb4e8;
    }

    #box03_02 {
        border-color: #90c21a;
    }

    #box03_03 {
        border-color: #f5cf00;
    }

    #box03_04 {
        border-color: #e24d23;
    }

    #box03_05 {
        border-color: #f09601;
    }

    #box03 article div h4 {
        text-align: center;
        color: #e24d23;
        font-size: clamp(18px, 5vw, 30px);
        margin: 0 0 2%;
    }

    #box03_01 figure,
    #box03_03 figure {
        text-align: center;
        padding: 0 0 3%;
    }

    #box03_02 p {
        text-align: center;
        font-size: clamp(16px, 0.9vw + 0.7rem, 24px);
        margin: 0 0 3%;
    }

    #box03_02 figure {
        margin: 0 0 3%;
        text-align: center;
    }

    #box03_02_box {
        display: -webkit-flex;
        display: flex;
        margin: 0 auto 2%;
        width: 94%;
    }

    #box03_02_box h5 {
        background-color: #00b4e9;
        color: #fff;
        width: 30%;
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-align-items: center;
        align-items: center;
        font-size: clamp(16px, 0.9vw + 0.7rem, 24px);
        box-sizing: border-box;
        margin: 0;
    }

    #box03_02_box div {
        width: 70%;
        background-color: #eee;
        padding: 3%;
        box-sizing: border-box;
        font-size: clamp(16px, 0.9vw + 0.7rem, 24px);
    }

    #box03_04_box {
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: space-between;
        justify-content: space-between;
    }

    #box03_04_box div {
        width: 50%;
        text-align: center;
    }

    #box03_04_box div figure {
        padding: 5% 0 5%;
    }

    #box03_05_box {
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        -webkit-align-items: center;
        align-items: center;
    }

    #box03_05_box div:first-of-type {
        width: 60%;
    }

    #box03_05_box div p {
        color: #fff;
        font-size: clamp(16px, 0.9vw + 0.7rem, 24px);
        padding: 3% 5%;
        border-radius: 20px;
        margin: 0 0 2%;
        text-align: left;
    }

    #box03_05_box div p:nth-child(1) {
        background-color: #e94729;
    }

    #box03_05_box div p:nth-child(2) {
        background-color: #00b4e9;
    }

    #box03_05_box div p:nth-child(3) {
        background-color: #fdd000;
    }

    /* box04 */
    #box04_bg {
        background-image: url(../images/box04_bg.webp);
        background-position: center;
        background-size: cover;
        padding: 8% 0;
    }

    #cta {
        width: 90%;
        max-width: 1080px;
        margin: 0 auto;
    }

    #cta h2 {
        text-align: center;
        margin: 0 0 5%;
    }

    #cta ul {
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: space-between;
        justify-content: space-between;
    }

    #box04 {
        padding: 5% 0;
        width: 90%;
        margin: 0 auto;
    }

    #box04 h2 {
        text-align: center;
    }

    .swiper-slide img.sp {
        display: none;
    }

    .swiper {
        width: 100%;
        height: 100%;
        margin: 0 auto;
        box-sizing: border-box;
        max-width: 1050px;
    }

    .swiper-wrapper {
        width: 90%;
        max-width: 910px;
        margin: 0 auto;
    }

    .swiper-slide img {
        display: block;
        text-align: center;
    }

    .swiper-button-prev::after,
    .swiper-button-next::after {
        display: none;
    }

    /* 共通スタイル */
    .swiper-button-prev,
    .swiper-button-next {
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        width: 50px;
        height: 50px;
        top: 50%;
        transform: translateY(-50%);
        z-index: 10;
        position: absolute !important;
        z-index: 9999 !important;
    }

    /* 左矢印 */
    .custom-prev {
        background-image: url('../images/arrow-left.webp');

    }

    /* 右矢印 */
    .custom-next {
        background-image: url('../images/arrow-right.webp');

    }

    /* box05 */
    #box05 {
        background-image: url(../images/box05_bgtop.webp), url(../images/box05_bgbottom.webp);
        background-position: center top, center bottom;
        background-repeat: no-repeat, no-repeat;
        background-color: #f8f8f8;
        padding: 8% 0;
        background-size: contain;
    }

    #box05 h2 {
        width: 90%;
        margin: 0 auto 3%;
        text-align: center;
    }

    #box05 article {
        width: 90%;
        max-width: 1080px;
        margin: 0 auto 3%;
    }

    .box05_more {
        padding: 3% 0 0;
    }

    .box05_more div {
        margin: 0 0 .5%;
        display: -webkit-flex;
        display: flex;
    }

    .box05_more div h4 {
        background-color: #eee;
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-align-items: center;
        align-items: center;
        width: 25%;
        padding: 1%;
        box-sizing: border-box;
        font-size: clamp(16px, 0.9vw + 0.7rem, 24px);
    }

    .box05_more div p {
        width: 75%;
        padding: 1% 2%;
        font-size: clamp(16px, 0.9vw + 0.7rem, 24px);
    }

    .box05_more.box05_01 div p {
        background-color: #ffe9ee;
    }

    .box05_more.box05_02 div p {
        background-color: #ffeed5;
    }

    .box05_more.box05_03 div p {
        background-color: #ccf0f8;
    }

    .box05_more.box05_04 div p {
        background-color: #def2dc;
    }

    .box05_more.box05_05 div p {
        background-color: #dce1f2;
    }

    .box05_more {
        display: none;
        overflow: hidden;
    }

    .box05_title {
        position: relative;
        cursor: pointer;
    }

    .toggle-icon {
        position: absolute;
        right: 2%;
        top: 63%;
        transform: translateY(-50%);
        width: 50px;
        height: 50px;
        background: white;
        border-radius: 50%;
    }

    .toggle-icon::before,
    .toggle-icon::after {
        content: "";
        position: absolute;
        background-color: #000;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        transition: all 0.3s ease;
    }

    /* 横棒（常に表示） */
    .toggle-icon::before {
        width: 20px;
        height: 3px;
    }

    /* 縦棒（プラスのときだけ表示） */
    .toggle-icon::after {
        width: 3px;
        height: 20px;
    }

    /* 開いた状態では縦棒を消してマイナスに */
    .box05_title.open .toggle-icon::after {
        height: 0;
    }

    /* box06 */
    #box06 {
        background-image: url(../images/box06_bg.webp);
        background-repeat: no-repeat;
        background-position: top;
    }

    #box06 .wrapper {
        width: 90%;
        max-width: 1080px;
        margin: 0 auto;
    }

    #faq {
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        -webkit-align-items: flex-start;
        align-items: flex-start;
        padding: 8% 0;
    }

    #faq h2 {
        width: 25%;
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: center;
        justify-content: center;
    }

    #faq>div {
        width: 75%;
        padding: 5% 0 0;
    }

    #faq div article:first-of-type {
        border-top: #000 2px dashed;

    }

    #faq div article {
        border-bottom: #000 2px dashed;
    }

    .question {
        padding: 2%;
        font-size: clamp(16px, 0.9vw + 0.7rem, 24px);
        position: relative;
        cursor: pointer;
    }

    .question h3 {
        font-weight: normal;
    }

    .answer {
        padding: 2% 2% 4%;
        font-size: clamp(16px, 0.9vw + 0.7rem, 24px);
        display: none;
    }

    /* プラス／マイナスの丸いアイコン */
    .question .toggle-icon {
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        width: 30px;
        height: 30px;
        background: #00b4e9;
        border-radius: 50%;
    }

    .question .toggle-icon::before,
    .question .toggle-icon::after {
        content: "";
        position: absolute;
        background-color: #fff;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        transition: all 0.3s ease;
    }

    /* 横棒（常に表示） */
    .question .toggle-icon::before {
        width: 15px;
        height: 2px;
    }

    /* 縦棒（プラスのときだけ表示） */
    .question .toggle-icon::after {
        width: 2px;
        height: 15px;
    }

    /* 開いたらマイナスにする（縦棒を非表示） */
    .question.open .toggle-icon::after {
        height: 0;
    }

    /* box07 */
    #box07 {
        background-color: #fff;
        border: #3ac8c6 3px solid;
        padding: 5%;
        box-sizing: border-box;
    }

    #box07 h2 {
        text-align: center;
        margin: 0 0 5%;
    }

    #box07 table {
        margin: 0 0 5%;
        width: 100%;
    }

    #box07 table tr {
        border-bottom: #cccccc 2px solid;
    }

    #box07 table tr th {
        width: 35%;
        padding: 2%;
        box-sizing: border-box;
        font-size: clamp(16px, 0.9vw + 0.7rem, 24px);
        font-weight: bold;
    }

    #box07 table tr td {
        width: 65%;
        padding: 2%;
        box-sizing: border-box;
        font-size: clamp(16px, 0.9vw + 0.7rem, 24px);
        font-weight: bold;
    }

    #box07_btn {
        text-align: center;
    }

    #map {
        width: 100%;
        margin: 0 0 3%;
    }

    #map iframe {
        width: 100%;
        height: 400px;
    }

    /* box08 */
    #box08 {
        width: 90%;
        margin: 0 auto;
        padding: 8% 0;
    }

    #box08_title {
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-align-items: center;
        align-items: center;
        gap: 2%;
        margin: 0 0 3%;
    }

    #box08_main {
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: center;
        justify-content: center;
        gap: 1%;
        max-width: 1800px;
        width: 100%;
        margin: 0 auto;
    }

    #box08_main article {
        width: 30%;
    }

    #box08_main article figure {
        margin: 0 0 8%;
    }

    #box08_main article h3 {
        text-align: center;
        margin: 0 0 5%;
    }

    #box08_main article p {
        font-size: clamp(16px, 0.9vw + 0.7rem, 24px);
    }

    /* contact */
    #contact {
        width: 90%;
        max-width: 1080px;
        margin: 0 auto;
        padding: 0 0 10%;
    }

    #contact h2 {
        text-align: center;
        margin: 0 0 3%;
    }

    .contact_toptext {
        text-align: center;
        padding: 1em 0 3em;
    }

    /* footer */
    footer {
        width: 100%;
        text-align: center;
        padding: 3%;
        box-sizing: border-box;
        border-top: #cccccc 1px solid;
    }

    footer a {
        color: #000;
        text-decoration: none;
    }

    #right_btn {
        position: fixed;
        bottom: 50%;
        right: 0;
        transform: translateY(50%);
    }

    #right_btn ul li:first-of-type {
        margin: 0 0 10px;
        display: block;
    }

    #video {
        width: 100%;
        max-width: 900px;
        margin: 0 auto 5%;
    }

    #video video {
        width: 100%;
    }

    .contact_topbtn {
        text-align: center;
        margin: 0 0 1em;
    }


    /*タブレット
------------------------------*/
    @media screen and (max-width: 1024px) {
        #right_btn {
            position: static;
            display: none;
        }

        #box01_title div {
            position: absolute;
            top: 31%;
            right: 26%;
            max-width: 165px;
            width: 65%;
        }

        #fv_wrapper {
            width: 100%;
        }

        .track img {
            width: 25%;
        }

        #box02 h2 img {
            height: 130px;
        }

        #box03>figure.visible img {
            height: 220px;
        }

        #cta h2 img {
            height: 142px;
        }

        #box04 h2 img {
            height: 240px;
        }

        #box05 h2 img {
            height: 70px;
        }

        #contact h2 img {
            height: 78%;
        }
    }

    /*スマホ
------------------------------*/

    @media screen and (max-width: 800px) {
        .pc {
            display: none;
        }

        .sp {
            display: block;
        }

        /* fv */
        #fv {
            width: 100%;
            background-image: url(../images/fv_bg.webp);
            background-position: center top;
            background-repeat: no-repeat;
            background-size: cover;
        }

        #fv_wrapper {
            position: relative;
            width: 90%;
            max-width: 1900px;
            margin: 0 auto;
            height: auto;
        }

        #fv_wrapper h1 {
            width: 25%;
        }

        #fv_photo01 {
            left: -11%;
            top: 5%;
            width: 45%;
        }

        #fv_photo02 {
            left: -5%;
            top: 48%;
            width: 39%;
            z-index: 99;
        }

        #fv_photo03 {
            left: 50%;
            top: 28%;
            width: 75%;
        }

        #fv_photo04 {
            position: absolute;
            right: -16%;
            top: 0;
            width: 48%;
            max-width: 501px;
        }

        #fv_photo05 {
            right: -19%;
            top: 47%;
            width: 48%;
        }

        #fv_human01 {
            position: absolute;
            left: -2%;
            top: 36%;
            width: 30%;
            z-index: 80;
        }

        #fv_human02 {
            left: -10%;
            top: 60%;
            width: 39%;
            z-index: 100;
        }

        #fv_human03 {
            right: -8%;
            top: 67%;
            width: 25%;
        }

        #fv_human04 {
            right: -10%;
            top: 30%;
            width: 30%;
        }

        #fv_text {
            left: 50%;
            top: 11%;
            width: 100%;
            z-index: 110;
        }

        #fv_btn {
            width: 100%;
            bottom: 0;
            z-index: 110;
        }

        #fv_img01 {
            left: 14%;
            top: 29%;
            width: 20%;
        }

        #fv_img02 {
            right: 17%;
            top: 57%;
            width: 15%;
        }

        /* box01 */
        #box01_wrapper {
            padding: 15% 0 8%;
        }

        #box01 {
            background-repeat: repeat-y;
            background-size: contain;
        }

        #box01_title div {
            top: -3%;
            right: -2%;
            width: 52%;
        }

        #box01_wrapper article {
            display: -webkit-flex;
            display: flex;
            -webkit-flex-direction: column;
            flex-direction: column;
        }


        #box01_wrapper article figure {
            width: 100%;
            margin: 0 0 5%;
        }

        /* box02 */
        #box02 h2 {
            margin: 0 0 5%;
        }

        #box02 h2 img {
            height: auto;
        }

        #box02_01 figure {
            top: 9%;
            left: 74%;
            width: 29%;
        }

        #box02_02 figure {
            top: 43%;
            left: 76%;
            width: 25%;
        }

        /* box03 */
        #box03_title {
            background-image: none;
            margin: 0 auto 10%;
            width: 100%;
        }

        #box03_title img {
            width: 100%;
            padding: 0;
        }

        #box03>ul {
            width: 90%;
            display: -webkit-flex;
            display: flex;
            -webkit-flex-wrap: wrap;
            flex-wrap: wrap;
            -webkit-justify-content: center;
            justify-content: center;
            gap: 5%;
        }


        #box03>ul li {
            width: 45%;
        }

        #box03>ul li:nth-child(2n) {
            padding: 0;
        }

        .slider {
            overflow: hidden;
            width: 100%;
        }

        .track {
            gap: 5px;
        }

        .track img {
            width: 40%;
        }

        #box03>figure.visible img {
            height: 190px;
        }

        #box03 article {
            margin: 0 auto 3%;
            padding: 5%;
        }

        #box03 article:last-of-type {
            margin: 0 auto 10%;
        }

        #box03 article h3 {
            font-size: 20px;
        }

        /* 黒い三角（閉じている時・下向き） */
        #box03 article h3::after {
            border-left: 10px solid transparent;
            border-right: 10px solid transparent;
            border-top: 10px solid black;
        }








        #box03 article div h4 {
            text-align: center;
            color: #e24d23;
            font-size: clamp(18px, 4.8vw, 30px);
            margin: 0 0 5%;
        }

        #box03_01 figure,
        #box03_03 figure {
            text-align: center;
            padding: 0 0 3%;
        }

        #box03_02 p {
            text-align: left;
            margin: 0 0 5%;
        }

        #box03_02 figure {
            margin: 0 0 5%;
        }

        #box03_02_box {
            display: -webkit-flex;
            display: flex;
            -webkit-flex-direction: column;
            flex-direction: column;
            margin: 0 auto;
            width: 100%;
        }

        #box03_02_box h5 {
            width: 100%;
            display: -webkit-flex;
            display: flex;
            -webkit-justify-content: center;
            justify-content: center;
            -webkit-align-items: center;
            align-items: center;
            margin: 0;
            padding: 5% 0;
        }

        #box03_02_box div {
            width: 100%;
            padding: 5%;
            box-sizing: border-box;
        }

        #box03_04_box {
            display: -webkit-flex;
            display: flex;
            -webkit-flex-direction: column;
            flex-direction: column;
        }

        #box03_04_box div {
            width: 100%;
            box-sizing: border-box;
        }

        #box03_04_box div figure {
            padding: 0;
        }

        #box03_05_box {
            display: -webkit-flex;
            display: flex;
            -webkit-flex-direction: column;
            flex-direction: column;
        }

        #box03_05_box div:first-of-type {
            width: 100%;
        }

        #box03_05_box div p {
            padding: 5%;
            border-radius: 10px;
            margin: 0 0 3%;
            text-align: left;
        }

        #box03_05_box div:last-of-type {
            padding: 5%;
        }


        /* box04 */
        #box04_bg {
            padding: 15% 0 0;
        }

        #cta ul {
            display: -webkit-flex;
            display: flex;
            -webkit-flex-direction: column;
            flex-direction: column;
        }

        #cta ul li:first-of-type {
            margin: 0 0 3%;
        }

        #box04 h2 {
            margin: 0 0 3%;
        }

        #box04 h2 img,
        #cta h2 img {
            height: auto;
        }

        .swiper-slide img.pc {
            display: none;
        }

        .swiper-slide img.sp {
            display: block;
        }

        /* box05 */
        #box05 {
            padding: 13% 0;
            background-size: contain;
        }

        #box05 h2 img {
            height: auto;
        }

        .box05_more div {
            margin: 0 0 2%;
            display: -webkit-flex;
            display: flex;
            -webkit-flex-direction: column;
            flex-direction: column;
        }

        .box05_more div h4 {
            width: 100%;
            padding: 3%;
            box-sizing: border-box;
        }

        .box05_more div p {
            width: 100%;
            padding: 5%;
            box-sizing: border-box;
        }

        .toggle-icon {
            top: 63%;
            width: 25px;
            height: 25px;
        }


        /* 横棒（常に表示） */
        .toggle-icon::before {
            width: 10px;
            height: 1px;
        }

        /* 縦棒（プラスのときだけ表示） */
        .toggle-icon::after {
            width: 1px;
            height: 10px;
        }

        /* 開いた状態では縦棒を消してマイナスに */
        .box05_title.open .toggle-icon::after {
            height: 0;
        }

        /* box06 */
        #box06 {
            background-size: 300%;
        }

        #faq {
            display: -webkit-flex;
            display: flex;
            -webkit-flex-direction: column;
            flex-direction: column;
            padding: 15% 0;
        }

        #faq h2 {
            width: 100%;
        }

        #faq>div {
            width: 100%;
            padding: 8% 0 0;
        }

        #faq div article:first-of-type {
            border-top: #000 1px dashed;

        }

        #faq div article {
            border-bottom: #000 1px dashed;
        }

        .question {
            padding: 3% 12% 3% 2%;
        }

        .question .toggle-icon {
            width: 25px;
            height: 25px;
        }

        .question .toggle-icon::before {
            width: 10px;
            height: 1px;
        }

        .question .toggle-icon::after {
            width: 1px;
            height: 10px;
        }

        .question.open .toggle-icon::after {
            height: 0;
        }

        /* box07 */
        #box07 {
            padding: 8% 5%;
        }

        #box07 table {
            margin: 0 0 5%;
            width: 100%;
        }

        #box07 table tr {
            border-bottom: #cccccc 1px solid;
        }

        #box07 table tr th {
            width: 100%;
            display: block;
            padding: 5% 2%;
            background-color: #f8f8f8;
            border-bottom: 1px dotted #ccc;
        }

        #box07 table tr td {
            width: 100%;
            display: block;
            padding: 5% 2%;
            font-weight: normal;
        }


        #map iframe {
            height: 180px;
        }

        /* box08 */
        #box08_title {
            margin: 0 0 5%;
        }

        #box08_main {
            display: -webkit-flex;
            display: flex;
            -webkit-flex-direction: column;
            flex-direction: column;
            gap: 0%;
        }

        #box08_main article {
            width: 100%;
            margin: 0 0 10%;
        }


        /* contact */
        #contact h2 img {
            height: auto;
        }

        /* footer */
        footer {
            padding: 3% 3% 17%;
            font-size: 12px;
        }

        #right_btn {
            position: fixed;
            bottom: 0;
            right: 0;
            transform: translateY(0%);
            display: block;
            z-index: 9999;
        }

        #right_btn ul {
            display: -webkit-flex;
            display: flex;
            -webkit-justify-content: space-between;
            justify-content: space-between;
            width: 100%;
        }

        #right_btn ul li:first-of-type {
            margin: 0;
            display: block;
        }

        #right_btn ul li {
            width: 50%;
        }
    }