@charset "utf-8";

/*------------------------------------------------------------------------------
 共通
 -------------------------------------------------------------------------------*/
body {
    margin: 0;
    padding: 0;
    background-color:#ffe;
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 500;
    background:#fff url(../img/bg.webp) repeat left top;
    color: #4a4021;
}

.container {
    max-width: 1000px;
    margin: 0 auto;
}

.container img {
    max-width: 100%;
    vertical-align: bottom;
}

@media all and (max-width:750px) {
    .container {
        width: 100%;
    }
}

p {
    line-height: 2.3em;
    font-size: min(1.8vw, 18px);
}

@media all and (max-width:768px) {
    p {
        font-size: max(1.86vw, 14px);
    }
}

a:link, a:visited {
    text-decoration: none;
}

.txt_red {
    color: #b3334e;
}

.txt_blue {
    color: #36b8c4;
}


.sp{
    display: none;
}

.pc{
    display: block;
}

@media all and (max-width:750px) {
    .sp{
        display: block;
    }
    
    .pc{
        display: none;
    }
}

.ct_wrap {
    padding: min(10vw, 100px) min(8.5vw, 85px);
}

@media all and (max-width:750px) {
    .ct_wrap {
        padding: min(10vw, 100px) min(8vw, 60px);
    }    
}

/* 商品画像と説明部分 */
.item_wrap {
    display: flex;
    gap: min(4vw, 40px);
    .item_txt {
        font-size: min(2vw, 20px);
        line-height: 2.3em;
        text-align: left;
    }
    .item_img {
        width: min(39.5vw, 395px);
    }
    .item_img,.item_txt {
        flex: 1;
    }
}

@media all and (max-width:750px) {
    .item_wrap {
        display: block;
        .item_txt {
            margin-bottom: min(5vw, 50px);
            font-size: min(3.59vw, 27px);
            text-align: center;
        }
        .item_img {
            width: min(72vw, 540px);
            margin: 0 auto;
        }
    }
}

/* 〜の詳細はこちら部分 */
.link_more {
    margin-top: min(6vw, 60px);
    img {
        width: min(82.3vw, 824px);
    }
    a{
        position: relative;
        display: inline-block;
        padding: min(3vw, 30px);
        color: #4a4021;
        font-size: min(2.8vw, 28px);
        letter-spacing: .1em;
    }
    a::after {
        content: "";
        position: absolute;
        top: 50%;
        right: -9%;
        transform: translateY(-50%);
        width: min(3.1vw, 31px);
        aspect-ratio: 31 / 33;
        background: url(../img/link_arrow_bottom.webp) no-repeat center;
        background-size: contain; 
    }
}

@media all and (max-width:750px) {
    .link_more {
        margin-top: min(6.66vw, 50px);
        img {
            width: min(83.8vw, 629px);
        }
        a {
            font-size: max(2.26vw, 17px);
            padding: max(4vw, 30px);
        }
        a:after {
            right: 0;
            width: max(2.53vw, 19px);
        }
    }
}


/*------------------------------------------------------------------------------
 MVエリア
 -------------------------------------------------------------------------------*/
#mv {
    max-width: 1000px;
    margin: 0 auto;
    text-align: center;
    z-index:-9999;
    .mv_body img {
        width: 100%;
        vertical-align: bottom;
    }
}

@media all and (max-width:750px) {
    #mv {
        width: 100%;
        height: auto;
        .mv_body img{
            width: 100%;
            height: auto;
        }
    }
}

.information {
    margin: 0 auto;
    max-width: 1100px;
    text-align: center;
    .information_body {
        margin: 0 auto;
    }
}

/*------------------------------------------------------------------------------
 商品説明エリア
 -------------------------------------------------------------------------------*/
.overview {
    position: relative;
    background:#f4f0de url(../img/bg_overview.webp) repeat left top;
    /* 区切り線 */
    .separator {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
    }
    /* 装飾 */
    .deco {
        width: min(26.9vw, 269px);
        margin-bottom: min(5.6vw, 56px);
    }
    /* 見出し */
    h2 {
        font-size: min(3.5vw, 35px);
        font-family: "Noto Serif JP", serif;
        font-weight: bold;
        margin-bottom: min(5vw, 50px);
        line-height: 1.4em;
        letter-spacing: .1em;
    }
}

@media all and (max-width:750px) {
    .overview {
        .deco {
            width: min(26.6vw, 200px);
            margin-bottom: min(6.66vw, 50px);
        }
        h2 {
            font-size: min(5.3vw, 35px);
            margin-bottom: min(5vw, 50px);
            line-height: 1.5em;
            letter-spacing: unset;
        }
    }
}


/*------------------------------------------------------------------------------
ボイスエリア
-------------------------------------------------------------------------------*/
.voice-wrap {
    position: relative;
    background:#f4f0de url(../img/bg_special_voice.webp) repeat left top;
    .voice_lin_deco_top {
        position: absolute;
        top: 0;
        left: 0;
    }
    .voice_lin_deco_bottom{
        position: absolute;
        bottom: 0;
        left: 0;
    }
    /* 録り下ろしボイスエリア */
    .special_voice {
        h2 {
            width: min(83.8vw, 838px);
        }
        p {
            font-size: min(2vw,20px);
        }
        p:first-of-type {
            margin-top: min(7vw, 70px);
        }
        p:last-of-type {
            margin-top: min(5vw, 50px);
        }

    }
    /* サンプルボイスエリア */
    .sample_voice {
        margin-top: min(6vw, 60px);
        h2 {
            width: min(51.2vw, 512px);
            margin: 0 auto;
        }
        .voice_mode {
            width: min(34.1vw, 341px);
            margin: 0 auto;
            margin-top: min(7vw, 70px);
            margin-bottom: min(1.5vw, 15px);
        }
        .voice_btn {
            ul {
                list-style: none;
                display: flex;
                justify-content: space-between;
                align-items: center;
                gap: min(2vw, 20px);
            }
            img {
                transition: opacity .4s ease;
            }
            img:hover {
                cursor: pointer;
                opacity: .8;
            }
        }
    }

    /* 試し聞きスライドエリア */
    .splide {
        position: relative;
        margin-top: min(5vw, 50px);
        .splide__arrow  {
            width: min(6vw, 60px);
            height: min(6vw, 60px);
            border: none;
            transition: opacity .1s ease;
            &:hover {
                cursor: pointer;
                opacity: .8;
            }
        }
        .splide__arrow svg {
            display: none;
        }
        .splide__arrow--prev {
            position: absolute;
            left: -3%;
            top: 50%;
            transform: translateY(-50%);
            background: url('../img/arrow-left.webp') center / contain no-repeat;
            z-index: 100;
            &:disabled,
            &.is-disabled {
                opacity: 0.5;
                cursor: default;
            }
        }
        .splide__arrow--next {
            position: absolute;
            right: -3%;
            top: 50%;
            transform: translateY(-50%);
            background: url('../img/arrow-right.webp') center / contain no-repeat;
            z-index: 100;
            &:disabled,
            &.is-disabled {
                opacity: 0.3;
                cursor: default;
            }
        }
        .splide__list {
            .splide__slide{
                position: relative;
                .voice_play_btn_wrap {
                    position: absolute;
                    width: 100%;
                    height: auto;
                    display: flex;
                    justify-content: center;
                    bottom: 3%;
                    left: 50%;
                    transform: translateX(-50%);
                    img {
                        width: min(24.5vw, 245px);
                    }
                }
                .voice_list_badge {
                    position: absolute;
                    right: 5.9%;
                    bottom: 19%;
                    width: min(14.7vw, 147px);
                }
                a,.voice_list_modal {
                    transition: opacity .1s ease;
                }
                a:hover,
                .voice_list_modal:hover {
                    cursor: pointer;
                    opacity: .8;
                }
            }
        }

        /*収録ボイス一覧画像表示エリア */
        .voice_list_wrap {
            display: none;
            &.is-active {
                position: fixed;
                top: 0;
                left: 0;
                display: flex;
                justify-content: center;
                align-items: center;
                width: 100vw;
                height: 100dvh;
                background: rgba(0, 0, 0, 0.7);
                z-index: 9999;
            }
            .voice_list_img {
                position: relative;
                .list-img {
                    height: 90dvh;
                    img {
                        width: auto;
                        height: 100%;
                    }
                }
                .close_btn {
                    position: absolute;
                    top: min(1vw, 10px);
                    right: min(1vw, 10px);
                    width: min(5vw, 50px);
                    height: min(5vw, 50px);
                    border-radius: 50px;
                    background: rgba(0, 0, 0, 0.7);
                    cursor: pointer;
                    transition: opacity .1s ease;
                    span {
                        position: absolute;
                        top: 50%;
                        transform: translateX(-50%);
                        left: 50%;
                        width: min(3vw, 30px);
                        height: min(0.4vw, 4px);
                        background: #fff;
                        border-radius: 10px;     
                    }
                    .top{
                        transform: translate(-50%, -50%) rotate(45deg);
            
                    }
                    .bottom{
                        transform: translate(-50%, -50%) rotate(-45deg);             
                    }
                    &:hover {
                        opacity: .8;
                    }
                }
            }

        }
    }

    .link_more {
        a::after {
            right: -2%;
        }
    }
}

@media all and (max-width:750px) {
    .voice-wrap {
        background:#f4f0de url(../img/bg_special_voice.webp) repeat left top;
        /* 録り下ろしボイス */
        .special_voice {
            h2 {
                width: min(83.3vw, 625px);
            }
            p {
                font-size: min(3.33vw, 25px);
            }
            p:first-of-type {
                margin-top: min(7vw, 70px);
            }
            p:last-of-type {
                margin-top: min(5vw, 50px);
            }
        }
        .link_more a {
            padding: min(2.66vw,20px);
            line-height: 1.3em;
        }
        /* サンプルボイスエリア */
        .sample_voice {
            margin-top: min(6.66vw, 50px);
            h2 {
                width: min(57.1vw, 429px);
            }
        }

        /* 試し聞きスライドエリア */
        .splide {
            .splide__arrow  {
                width: min(8vw, 60px);
                height: min(8vw, 60px);
            }
            .splide__track {
                overflow: unset;
                overflow-x: clip;
            }
            .splide__slide {
                margin-bottom: 20%;
            }
            .voice_list_modal {
                position: absolute;
                width: 100%;
                background-color: #4a4021;
                bottom: -11%;
                left: 0;
                padding: 3% 0;
                p {
                    position: relative;
                    color: #fff;
                    font-size: min(4vw, 30px);
                    &::before {
                        position: absolute;
                        content: '＋';
                        top: 50%;
                        transform: translateY(-50%);
                        left: 5%;
                    }
                }
            }

            /*収録ボイス一覧画像表示エリア */
            .voice_list_wrap {
                .voice_list_img {
                    width: min(83.33vw, 500px);
                    .list-img {
                        width: 100%;
                        height: auto;
                        img {
                            max-width: 100%;
                            height: auto;
                        }
                    }
                    .close_btn {
                        top: min(1.33vw, 10px);
                        right: min(1.33vw, 10px);
                        width: min(8vw, 60px);
                        height: min(8vw, 60px);
                        span {
                            width: min(4vw, 40px);
                            height: min(0.66vw, 5px); 
                        }
                    }
                }
                
            }
        }

    }
}

/*------------------------------------------------------------------------------
デザイン・パッケージ・予約情報エリア
-------------------------------------------------------------------------------*/
.service_info_wrap {
    background: #f4f0de url(../img/bg_overview.webp) repeat left top;
}

.service_info_ct {
    margin-bottom: min(7vw, 70px);
    h2 {
        margin-bottom: min(5vw, 50px);
    }
    .caution {
        margin-top: min(10vw, 100px);
        font-size: min(1.5vw, 15px);
        line-height: 1.4em;
        font-weight: normal;
        color: #4a4021;
    }
    /* 予約情報 */
    ul {
        list-style: none;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: min(2vw, 20px);
    }
    &.reservation_wrap {
        margin-bottom: 0;
        p{
            margin-top: min(1vw, 10px);
        }   
    }
}

@media all and (max-width:750px) {
    .service_info_ct {
        h2 {
            margin-bottom: min(7vw, 70px);
        }
        .caution {
            margin-top: 0;
            font-size: min(2.4vw, 18px);
        }
        .item_wrap {
            display: flex;
            flex-direction: column-reverse;
            p {
                font-size: min(3.33vw, 25px);
            }
        }
        /* 予約情報 */
        ul {
            display: block;
            li:first-child {
                margin-bottom: min(4vw, 30px);
            }
        }
        &.reservation_wrap {
            margin-bottom: 0;
            p{
                margin-top: min(2.66vw, 20px);
            }   
        }
    }
}

/*------------------------------------------------------------------------------
製品情報エリア
-------------------------------------------------------------------------------*/
.product_wrap {
    position: relative;
    background: #f4f0de url(../img/bg_special_voice.webp) repeat left top;
    .product_line_deco_top {
        position: absolute;
        top: 0;
        left: 0;
    }
    .product_line_deco_bottom {
        position: absolute;
        bottom: 0;
        left: 0;
    }
    h2 {
        width: min(62.9vw, 629px);
        margin: 0 auto;
        margin-bottom: min(5vw, 50px);
    }
}

@media all and (max-width:750px) {
    .product_wrap {
        h2 {
            width: min(83.86vw, 629px);
        }
    }
}

/* 製品情報エリア */
.product_ct {
    h3 {
        margin-top: min(5vw, 50px);
        margin-bottom: min(5vw, 50px);
        font-size: min(3.5vw, 35px);
        line-height: 1.3em;
    }
    .product_info {
        display: flex;
        justify-content: center;
        dl div {
            display: flex;
            gap: min(2vw, 20px);
            font-size: min(3vw, 30px);
            margin-top: min(1vw, 10px);
            dt {
                width: min(12vw, 120px);
                text-align: right;
            }
        }
    }
}

@media all and (max-width:750px) {
    .product_ct {
        h3 {
            font-size: min(4.93vw, 37px);
            margin-top: min(6.66vw, 50px);
            margin-bottom: min(4vw, 30px);
            line-height: 1.3em;
        }
        .product_info {
            dl div {
                font-size: min(4vw, 30px);
                margin-top: min(1vw, 10px);
                line-height: 1.3em;
                dt {
                    width: min(16vw, 120px);
                    text-align: right;
                }
            }
        }
    }
}

/* 製品画像エリア */
.product_image_wrap {
    display: flex;
    justify-content: center;
    gap: min(2vw,20px);
    .splide {
        width: min(46.2vw,462px);
    }
    .thumbnail {
        width: min(11.2vw,112px);
        list-style: none;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        .select {
            position: relative;
            &::after {
                content: "";
                position: absolute;
                inset: 0;
                background: #e8c053;
                mix-blend-mode: multiply;
                opacity: 0.35;
            }
        }
        li {
            position: relative;
            cursor: pointer;
            &::after {
                content: "";
                position: absolute;
                inset: 0;
                background: #e8c053;
                mix-blend-mode: multiply;
                opacity: 0;
                transition: opacity .3s ease;
            }
        }
        li:hover::after {
            opacity: .35;
        }
    }
}

@media all and (max-width:750px) {
    .product_image_wrap {
        display: block;
        .splide {
            width: min(72.13vw,541px);
            margin: 0 auto;
        }
        .thumbnail {
            width:  min(72.13vw,541px);
            margin: 0 auto;
            margin-top: min(1.33vw,10px);
            gap: min(1.33vw,10px) ;
            list-style: none;
            display: flex;
            flex-direction: unset;
            justify-content: space-between;
        }
    }
}


/* ベースモデルエリア */
.base_model_wrap {
    margin-top: min(7vw,70px);
}
.base_model_ct {
    width: 90%;
    margin: 0 auto;
    img {
        width: min(29.5vw,295px);
        float: right;
        padding-left: min(50vw, 50px);
        padding-right: min(10vw, 10px);
    }
    h3 {
        text-align: left;
        font-size: min(2.5vw, 25px);
        margin-top: unset;
        margin-bottom: min(30vw,30px);
        padding-top: min(5vw, 50px);
        letter-spacing: .17vw;
        span{
            font-size: min(5vw,50px);
        }
    }
    p {
        text-align: left;
        font-size: min(2vw, 20px);
        sup {
            font-size: 0.6em;
            vertical-align: super;
        }
    }
    /* 注意事項 */
    .base_modelcaution {
        margin-top: min(3vw, 30px);
        margin-bottom: min(3vw, 30px);
        dl {
            display: flex;
            font-size: min(1.5vw, 15px);
            line-height: 1.4em;
            font-weight: normal;
            color: #4a4021;
            dd {
                margin-left: 1em;
                text-align: left;
            }
        }
    }
    /* 公式サイトはこちらボタン */
    .aviot_site_link {
        img {
            width: min(83.89vw, 839px);
            margin-bottom: min(3vw, 30px);
        }
        a:hover{
            cursor: pointer;
            opacity: .8;
        }
    }
}

@media all and (max-width:750px) {
    .base_model_ct {
        width: 100%;
        margin-top: min(4.26vw, 32px);
        img {
            padding-left: min(2.66vw, 20px);
            width: min(44.28vw, 295px);
            padding-right: 0;
        }
        h3 {
            font-size: min(4vw, 30px);
            line-height: 1.7em;
            margin-bottom: min(4vw, 30px);
            span{
                font-size: min(8vw, 60px);
            }
        }
        p {
            font-size: min(3.33vw, 25px);
            line-height: 2em;
        }
        /* 注意事項 */
        .base_modelcaution {
            margin-top: min(6.66vw, 50px);
            margin-bottom: min(6.66vw, 50px);
            dl {
                font-size: min(2.4vw, 18px);
            }
        }
    }
}

/*------------------------------------------------------------------------------
対応機能エリア
-------------------------------------------------------------------------------*/
.function_wrap{
    position: relative;
    background: #f4f0de url(../img/bg_overview.webp) repeat left top;
    h2 {
        margin-bottom: min(5vw, 50px);
    }
}

/* 対応機能 */
.function_list {
    display: flex;
    flex-wrap: wrap;
    border: 1px solid #786f54;
    background-color: #fff;
    .item {
        display: flex;
        justify-content: center;
        align-items: center;
        width: calc(100% / 6);
        aspect-ratio: 1 / 1;
        border-left: 1px solid #ddd;
        border-bottom: 1px solid #ddd;
        box-sizing: border-box;
        .item_wrap{
            width: min(10vw,100px);
            height: min(10vw,100px);
        }
        &:nth-last-child(-n + 6) {
            border-bottom: none;
        }
        &:nth-child(6n + 1) {
            border-left: none;
        }
        img {
            width: 100%;
            height: 100%;
            object-fit: contain;
        }
    }
}

@media all and (max-width:750px) {
    .function_list {
        .item {
            width: calc(100% / 2);
            padding: 30px;
            .item_wrap{
                width: min(26.66vw, 200px);
                height: min(26.66vw, 200px);
            }
            &.sensor {
                padding: 10px;
                .item_wrap{
                    width: min(29.33vw, 220px);
                    height: min(29.33vw, 220px);
                }
            }
            &.onoff {
                .item_wrap{
                    width: min(24vw, 180px);
                    height: min(24vw, 180px);
                }
            }
            &:nth-last-child(-n + 6) {
                border-bottom: 1px solid #ddd;
            }
            &:nth-last-child(-n + 2) {
                border-bottom: none;
            }
            &:nth-child(2n + 1) {
                border-left: none;
            }
        }
    }
}

/* アプリケーションダウンロードエリア */
.application_wrap {
    margin-top: min(50vw,50px);
    margin-bottom: min(50vw,50px);
    /* 説明エリア */
    .application_detail {
        margin-bottom: min(50vw,50px);
        h3 {
            font-size: min(1.8vw, 18px);
            margin-top: min(4vw, 40px);
            margin-bottom: min(2vw, 20px);
            line-height: 1.8em;
            letter-spacing: .1em;
            span {
                font-size: min(3vw, 30px);
            }
        }
        p {
            line-height: 2em;
        }
    }
    /* イヤホン探知機能エリア */
    .detection {
        margin-bottom: min(30vw,30px);
        h3 {
            font-size: min(2.5vw, 25px);
            margin-bottom: min(10vw,10px);
        }
        p {
            line-height: 2em;
        }
    }
    .txt {
        margin-bottom: min(30vw,30px);
    }
    /* ダウンロードボタン */
    .download {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: min(3vw, 30px);
        margin-bottom: min(4vw, 40px);
        .store_link:first-child img {
            width: min(16.7vw,167px);
        }
        .store_link:last-child img {
            width: min(20.7vw,207px);
        }
        a:hover {
            cursor: pointer;
            opacity: .8;
        }
    }
}

@media all and (max-width:750px) {
    .application_wrap {
        /* 説明エリア */
        .application_detail {
            margin-bottom: min(5.33vw, 40px);
            h3 {
                font-size: min(3.06vw, 23px);
                margin-top: min(4vw, 30px);
                margin-bottom: min(4vw, 30px);
                line-height: 1.9em;
                letter-spacing: unset;
                span {
                    font-size: min(5.33vw, 40px);
                }
            }
            p {
                font-size: min(3.33vw, 25px);
            }
        }
        /* イヤホン探知機能エリア */
        .detection {
            margin-bottom: min(5.33vw, 40px);
            h3 {
                font-size: min(4.26vw, 30px);
                margin-bottom: min(10vw,10px);
            }
            p {
                font-size: min(3.33vw, 25px);
            }
        }
        .txt {
            font-size: min(3.33vw, 25px);
            margin-bottom: 0;
            line-height: 1.8em;
        }
        /* ダウンロードボタン */
        .download {
            margin-top: min(5.33vw, 40px);
            margin-bottom: min(5.33vw, 40px);
            gap: min(6.66vw, 50px);
            .store_link:first-child img {
                width: max(22.26vw,167px);
            }
            .store_link:last-child img {
                width: max(27.6vw,207px);
            }
        }
    }
}

/* 製品仕様 */
.product_detail_wrap {
    margin-bottom: min(15vw,150px);
}
.product_detail_ct {
    &:not(:first-child){
        margin-top: min(50vw, 50px);
    }
    h3 {
        text-align: left;
        font-family: "Noto Serif JP", serif;
        font-size: min(3vw,30px);
    }
    .product_detail_flexbox {
        display: flex;
        gap: min(2vw,20px);
        margin-top: min(2vw,20px);
        .product_detail_list {
            width: 50%;
            height: auto;
        }
        .one_line { /* ラインを繋げる場合 */
            display: flex;
            flex-wrap: wrap;
            width: 100%;
            height: auto;
            dl,dd {
                width: 50%;
                height: auto;
            }
            & dl:last-of-type {
                width: 100%;
                dt {
                    flex:0 0 14em;
                }
            }
        }
        .product_detail_list dl {
            display: flex;
            text-align: left;
            font-size: min(1.5vw,15px);
            dt {
                flex: 1;
                border-bottom: 1px solid #4a4021;
                padding-top: min(1vw,10px);
                padding-bottom: min(1vw,10px);
                line-height: 1.5em;
            }
            dd {
                flex: 1;
                border-bottom: 1px solid #4a4021;
                padding-top: min(1vw,10px);
                padding-bottom: min(1vw,10px);
                line-height: 1.5em;
            }
            .same_height {
                min-height: 3em;
            }
            .caution {
                font-weight: 400;
                font-size: min(1.3vw, 13px);
            }
        }
        .product_detail_list .border_none {
            dt,dd {
                border-bottom: none;
            }
        }
    }
    .product_detail_flexbox.sp {
        display: none;!important
    }
    .caution {
        margin-top: min(3vw, 30px);
        margin-bottom: min(3vw, 30px);
        dl {
            display: flex;
            font-size: min(1.5vw, 15px);
            line-height: 1.4em;
            font-weight: normal;
            dd {
                margin-left: 1em;
                text-align: left;
            }
        }
    }
}

@media all and (max-width:750px) {
    .product_detail_wrap {
        margin-bottom: min(40vw, 300px);
    }
    .product_detail_ct {
        h3 {
            font-size: min(5.33vw,40px);
        }
        &:not(:first-child){
            margin-top: min(50vw, 50px);
        }
        /* pc版非表示 */
        .product_detail_flexbox {
            display: none;
        }
        .product_detail_flexbox.sp {
            display: block;
            margin-top: min(4vw,30px);
            .product_detail_list {
                width: 100%;
                height: auto;
            }
            .product_detail_list dl {
                font-size: min(2.66vw,20px);
                dt {
                    flex-basis: 40%;
                    border-bottom: 1px solid #4a4021;
                    padding-top: min(1.33vw,10px);
                    padding-bottom: min(1.33vw,10px);
                    line-height: 1.5em;
                }
                dd {
                    flex-basis: 60%;
                    border-bottom: 1px solid #4a4021;
                    padding-top: min(1.33vw,10px);
                    padding-bottom: min(1.33vw,10px);
                    line-height: 1.5em;
                }
                &.product_detail_list-size {
                    dt {
                        flex-basis: 15%;
                    }
                    dd {
                        flex-basis: 85%;
                        span {
                            margin-right: 1em;
                        }
                    }
                }
            }
            .product_detail_list .border_none {
                dt,dd {
                    border-bottom: none;
                }
            }
            .caution_sp {
                font-weight: 400;
                font-size: min(2.4vw,18px);
                line-height: 1.2em;
            }
        }
        .caution {
            margin-top: min(6.66vw, 50px);
            margin-bottom: min(6.66vw, 50px);
            dl {
                font-size: min(2.4vw, 18px);
            }
        }
    }
}

/* 製品サポート・お問い合わせ */
.support {
    padding-top: min(20vw,20px);
    h3 {
        text-align: left;
        font-family: "Noto Serif JP", serif;
        font-size: min(3vw,30px);
    }
    p {
        text-align: left;
        margin-top: min(2vw, 20px);
    }
    a:hover {
        cursor: pointer;
        opacity: .8;
    }
    ul {
        list-style: none;
        display: flex;
        justify-content: space-between;
        gap:min(2vw,20px);
    }
}

@media all and (max-width:750px) {
    .support {
        h3 {
            font-size: min(5.33vw,40px);
        }
        p {
            font-size: min(3.33vw, 25px);
            line-height: 1.5em;
            margin-top: min(5.33vw, 40px);
            margin-bottom: min(1.33vw,10px);
        }
        a:hover {
            cursor: pointer;
            opacity: .8;
        }
        ul {
            list-style: none;
            display: flex;
            justify-content: space-between;
            gap:min(2vw,20px);
        }
    }
}

/* TOPへ戻るボタン */
.top_btn {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    button {
        all: unset;
        cursor: pointer;
        img {
            width: min(16.4vw,164px);
        }
    }
}

@media all and (max-width:750px) {
    .top_btn {
        button {
            img {
                width: min(31.73vw, 238px);
            }
        }
    }
}

/* footer */
footer {
    padding:0 20px;
    background:#fff url(../img/footer_bg.webp);
    h2 {
        width: min(22.5vw,225px);
        margin: 0 auto;
    }
    /* シェアボタン */
    .footer_share {
        display: flex;
        align-items: center;
        justify-content: center;
        list-style: none;
        margin-top: 24px;
        & li:not(:last-child) {
            margin-right: min(2.5vw,25px);
        }
        li img {
            width: min(6.8vw,68px);
        }
        a:hover {
            cursor: pointer;
            opacity: .8;
        }
    }
    /* バナー画像エリア */
    .footer_menu  {
        width: 80%;
        margin: 0 auto;
        margin-top: min(8vw,80px);
        list-style: none;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: min(2vw,20px);
        box-sizing: border-box;
        li {
            width: calc((100% - 20px) / 2);
            height: auto;
        }
        a:hover {
            cursor: pointer;
            opacity: .8;
        }
    }
    .aviot_logo {
        margin-top: min(20vw,200px);
        img {
            width: min(19.1vw,191px);
        }
    }
    .footer_copy {
        display: inline-block;
        font-size: min(1.2vw,12px);
        color: #fff;
        margin: 25px 0 146px 0;
    }
}

@media all and (max-width:750px) {
    footer {
        h2 {
            width: min(45.06vw, 338px);
            margin-top: min(5.33vw,40px);
        }
        /* シェアボタン */
        .footer_share {
            margin-top: 24px;
            & li:not(:last-child) {
                margin-right: min(5.33vw,40px);
            }
            li img {
                width: min(13.73vw, 103px);
            }
        }
        /* バナー画像エリア */
        .footer_menu  {
            width: 100%;
            margin: 0 auto;
            margin-top: min(13.33vw,100px);
            display: block;
            li {
                width: 100%;
                margin-bottom: min(2.66vw,20px);
            }
        }
        .aviot_logo {
            margin-top: min(13.33vw,100px);
            img {
                width: min(25.46vw,191px);
            }
        }
        .footer_copy {
            margin-top: min(4vw,30px);
            font-size:12px;
        }
    }
}

/* 購入ボタン */
.buy_btn {
    display: none;
    position: fixed;
    width: 100%;
    background:url(../img/buy_bg.webp);
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    padding: 40px 0;
    z-index: 999;
}

.buy_btn img {
    max-width: 400px;
    width: 100%;
}

@media all and (max-width:750px) {
    .buy_btn {
        padding: 30px 0;
        background-size: 21%;
    }

    .buy_btn img {
        max-width: 300px;
    }
}