/* @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Thai&family=Sarabun&display=swap'); */

:root {
    font-size: 62.5%;
    -moz-text-size-adjust: none;
    -webkit-text-size-adjust: none;
    text-size-adjust: none;
    --color_1:#FCF8E8;
    --color_2:#ECDFC8;
    --color_3:#ECB390;
    --color_4:#DF7861;
    --color_5: #000;

    /* --color_1:#F7FD04;
    --color_2:#F9B208;
    --color_3:#F98404;
    --color_4:#FC5404; */

    /* --color_1:#FCECDD;
    --color_2:#FFC288;
    --color_3:#FEA82F;
    --color_4:#FF6701; */
}


@font-face {
    font-family: "Noto Sans Thai";
    src: url(NotoSansThai-Regular.ttf);
}


.noto-sans {
    font-family: "Noto Sans Thai", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-variation-settings: "wdth" 100;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    text-decoration: none;
}

html {
    background-color: var(--color_3);
    font-family: "Noto Sans Thai", sans-serif;
    max-width: 100%;
    overflow-x: hidden;
}

div.page-container {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

header {
    width: 100%;
    height: 21rem;
    top: 0; left: 0; right: 0;
    z-index: 10;
    background: var(--color_2);
    padding-inline: 3%;
    padding-bottom: 2rem;
}

header div.logo-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-inline: 13%;
    height: 15rem;
}

.logo-row .logo img {
    aspect-ratio: 60/13;
}

header div.logo-row .sns {
    display: flex;
    background: var(--color_4);
    padding: 1rem;
    padding-top: 1.2rem;
    border-radius: 2rem;
}

header div.logo-row .sns .first-row {
    display: flex;
    width: 30rem;
}

header .sns a.logo {
    min-width: 4rem;
    min-height: 4rem;
    max-width: 4rem;
    max-height: 4rem;
    margin-left: 1rem;
}

header .sns a.logo img {
    min-width: 4rem;
    min-height: 4rem;
    max-width: 4rem;
    max-height: 4rem;
    background: var(--color_3);
    border-radius: 1.2rem;
    padding: 0.5rem;
    aspect-ratio: 1 / 1;

    transition: 0.3s;
}

header .sns a.logo img:hover {
    background: var(--color_4);
    border: 3px solid var(--color_5);
    transform: translateY(-0.2rem);
}

header div.logo-row .sns .tel {
    display: flex;
    margin-inline: 0.5rem;
}

header div.logo-row .sns a.text {
    font-size: 2.5rem;
    background: var(--color_3);
    min-height: 4rem;
    max-height: 4rem;
    line-height: 4rem;
    border-top-right-radius: 1.2rem;
    border-bottom-right-radius: 1.2rem;
    color: var(--color_5);
    padding-inline: 1.5rem;

    transition: all 0.3s;
}

header div.logo-row .sns .tel img {
    aspect-ratio: 1/1;
}

header div.logo-row .sns .tel a.text {
    text-align: center;
    width: 20rem;
}

header div.logo-row .sns a.text:hover {
    background: var(--color_4);
    border: 3px solid var(--color_5);
    transform: translateY(-0.2rem);
}

div.num {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

header nav.navbar {
    display: flex;
    justify-content: space-between;
    margin-inline: 13%;
}

header nav.navbar a{
    position: relative;
    font-size: 1.7rem;
    border-radius: 1.5rem;
    padding: .5rem 1.5rem;
    color: var(--color_5);

    transition: all 0.3s;
}

header nav.navbar a img{
    max-height: 5.5rem;
    display: none;
    transition: all 0.3s;
}

header nav.navbar a.active,
header nav.navbar a:hover{
    color: var(--color_2);
    background: var(--color_5);
}

header nav.navbar a.active img,
header nav.navbar a:hover img{
    position: absolute;
    display: block;
    top: -1.5rem;
    right: -1.2rem;
}

header div.icons {
    display: flex;
    margin-right: 13%;
}

header div.icons a {
    display: flex;
    cursor: pointer;
    margin-left: .5rem;
    padding-top: 0.7rem;
    width: 5.5rem;
    height: 5.5rem;
    text-align: center;
    font-size: 2.5rem;
    color: var(--color_4);
    border-radius: 25%;
    background: var(--color_5);

    transition: all 0.3s;
}

header div.icons a:hover,
header div.icons a.active {
    color: var(--color_2);
    background-color: var(--color_4);
}

header div.icons #menu-bars{
    display: none;
}

h1.heading {
    color: var(--color_5);
    margin-inline: 15%;
    font-size: 2.3rem;
    padding-top: 2.5rem;
    text-align: center;
}

h1.heading span {
    color: var(--color_5);
}

h2.heading {
    color: var(--color_5);
    margin-inline: 15%;
    font-size: 1.7rem;
    border-bottom: 1px solid var(--color_5);
    text-align: center;
}

h2.product {
    color: var(--color_5);
    margin-inline: 15%;
    font-size: 2.3rem;
    text-align: center;
}

h2.product span {
    color: var(--color_5);
}

h3.product {
    color: var(--color_5);
    margin-inline: 15%;
    font-size: 1.7rem;
    text-align: center;
}

div.container {
    max-width: 70%;
    position: relative;
    margin: auto;
    margin-bottom: 1rem;
    margin-top: 2rem;
}

div.slider-wrapper {
    aspect-ratio: 925 / 398;
    border-radius: 2rem;
    overflow: hidden;
}

.slide {
    display: none;
}

.container .slider-wrapper .slide img {
    width: 100%;
    height: 100%;
    aspect-ratio: 925 / 398;
}

.prev, .next {
    cursor: pointer;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: auto;
    padding: 1.5rem;
    color: var(--color_4);
    font-weight: bold;
    font-size: 1.5rem;
    transition: 0.6s ease;
    border-radius: 0 3px 3px 0;
    user-select: none;
}

.next {
    right: 0;
    border-radius: 3px 0 0 3px;
}
  
.prev:hover, .next:hover {
    background-color: var(--color_3);
    color: var(--color_5);
}

.dots {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(-90%);
    height: 10%;
}

.dot {
    cursor: pointer;
    min-height: 1rem;
    min-width: 1rem;
    max-height: 1rem;
    max-width: 1rem;
    margin: 1rem;
    background: var(--color_3);
    border-radius: 50%;
    display: inline-block;

    transition: background-color 0.6s ease;
}
  
.dots .active , .dots .dot:hover {
    background-color: var(--color_4);
    min-width: 4rem;
    max-width: 4rem;
    border-radius: 2rem;
}

.fade {
    animation-name: fade;
    animation-duration: 1s;
}

div.hero {
    display: flex;
    justify-content: center;
}

div.video-container {
    overflow: hidden;
}

video {
    background: var(--color_5);
    margin-left: 50%;
    transform: translateX(-50%);
    max-width: 50%;
}

.hero .hero-img-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(50%, 1fr));
}

.hero .hero-img-container img {
    width: 100%;
    aspect-ratio: 1 / 1;
}

@keyframes fade {
    from {opacity: .4}
    to {opacity: 1}
}

.products-list {
    display: flex;
    justify-content: center;
    margin-bottom: 2rem;
}

label.products {
    color: var(--color_5);
    font-size: 2rem;
    margin-right: 0.8rem;
}

ul.options-list {
    display: flex;
    justify-content: center;
    font-size: 1.5rem;
    list-style-type: none;
}

ul.options-list li {
    margin-inline: 0.5rem;
}

li.main-list span{
    border-left: 5px solid var(--color_4);
    border-bottom: 2px solid var(--color_4);
    background: var(--color_5);
    color: var(--color_4);
    padding-inline: 3.5rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    border-top-right-radius: 1rem;
    border-bottom-right-radius: 1rem;
}

ul.sub-list {
    padding-top: 0.5rem;
    list-style-type: none;
    border-left: 5px solid var(--color_4);
}

div.db-sub-list .sub-list{
    margin-bottom: 1rem;
}

input[type="radio"] {
    display: none;
}

label {
    cursor: pointer;
    position: relative;
    padding: 0.4rem;
    display: flex;
    align-items: center;

    transition: all 0.5s;
}

label:hover {
    background: var(--color_2);
    border-radius: 1rem;
}

label:before {
    cursor: pointer;
    content: "";
    height: 1rem;
    width: 1rem;
    border: 0.5rem solid var(--color_5);
    border-radius: 50%;
    margin-inline: 1rem;

    transition: all 0.5s;
}

input[type="radio"]:checked + label {
    cursor: pointer;
    background: var(--color_4);
    border-radius: 1rem;
    transform: translateX(-7%);
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

input[type="radio"]:checked + label::before {
    cursor: pointer;
    height: 0.5rem;
    width: 0.5rem;
    border: 0.75rem solid var(--color_3);
    background: var(--color_4);
}

div.product-nav {
    display: flex;
    justify-content: center;
    margin-bottom: 2rem;
}

div.product-nav button.search {
    font-family: "Noto Sans Thai", sans-serif;
    font-size: 1.5rem;
    padding: 0.8rem;
    padding-inline: 3rem;
    border-radius: 1.5rem;
    background: var(--color_4) ;
    margin-left: 2rem;
    box-shadow: rgba(0, 0, 0, 0.12) 0px 1px 3px, rgba(0, 0, 0, 0.24) 0px 1px 2px;
}

div.product-nav button.reset {
    font-family: "Noto Sans Thai", sans-serif;
    font-size: 1.5rem;
    padding: 0.8rem;
    border-radius: 1.5rem;
    color: var(--color_4);
    background: var(--color_2) ;
    margin-right: 2rem;
    border: none;
    box-shadow: rgba(0, 0, 0, 0.12) 0px 1px 3px, rgba(0, 0, 0, 0.24) 0px 1px 2px;
}

div.product-nav button:hover {
    color: var(--color_2);
    background: var(--color_5);
    box-shadow: none;
    transform: translateY(3px);
    box-shadow: none;

    transition: all 0.3s;
}

#box-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(20rem, 24rem));
    margin-left: 15%;
    margin-right: 15%;
    justify-content: center;
    padding-bottom: 2rem;
    opacity: 100%;

    transition: all 0.5s;
}

#box-container.transition {
    opacity: 0%;
}

#box-container .box {
    position: relative;
    background: var(--color_2);
    border: 3px solid var(--color_4);
    box-shadow: rgba(0, 0, 0, 0.12) 0px 1px 3px, rgba(0, 0, 0, 0.24) 0px 1px 2px;
    text-align: center;
    min-width: 13rem;
    min-height: 21rem;

    transition: transform 0.3s;
}

#box-container .box:hover{
    transform: translateY(-1rem);
    cursor: pointer;
    box-shadow: rgba(0, 0, 0, 0.3) 0px 19px 38px, rgba(0, 0, 0, 0.22) 0px 15px 12px;
}

.box .img-container {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 80%;
}

.box .img-container img {
    width: 100%;
    padding-bottom: 1.5rem;
}

#box-container h3 {
    font-size: 1.5rem;
    height: 5rem;
    padding: 1.5rem;
}

#box-container .box p.click {
    position: absolute;
    bottom: 0;
    width: 100%;
    padding: 0.5rem;
    font-size: 1rem;
    background: var(--color_3);
}

.home h3 {
    font-size: 1.7rem;
    margin-top: 1rem;
}

#product-detail {
    transform: translateX(0);
    position: fixed;
    left: -100%;
    width: 100%;
    height: 100%;
    background: #fcf8e800;
    z-index: 100;

    transition: all 0.5s;
}

#product-detail.transition {
    transform: translateX(100%);
    background: #fcf8e8c4;
}

#product-detail .inner-box .close {
    position: absolute;
    text-align: center;
    right: 3rem;
    top: 3rem;
    cursor: pointer;
    font-size: 3rem;
    padding-top: 0.2rem;
    background: var(--color_4);
    min-width: 5rem;
    min-height: 5rem;
    border-radius: 50%;

    transition: 0.3s;
}

#product-detail .inner-box .close:hover {
    color: var(--color_1);
    background: var(--color_5);

    transform: translateY(-0.4rem);
}

#product-detail .inner-box {
    position: fixed;
    display: flex;
    justify-content: center;
    left: 50%;
    top: 50%;
    margin-top: -25rem;
    margin-left: -50rem;
    height: 50rem;
    width: 100rem;

    border-radius: 2rem;
    box-shadow: rgb(38, 57, 77) 0px 20px 30px -10px;
}

#product-detail .inner-box .img-container {
    min-width: 50rem;
    height: 50rem;
    background: white;
    overflow: hidden;
    border-top-left-radius: 2rem;
    border-bottom-left-radius: 2rem;
    border-right: 0px;
}

#product-detail .inner-box .img-container img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}

#product-detail .inner-box .detail-container {
    min-width: 50rem;
    height: 50rem;
    display: flex;
    flex-direction: column;
    padding: 8rem;
    background: var(--color_1);
    border-top-right-radius: 2rem;
    border-bottom-right-radius: 2rem;
    border-left: 0px;
}

#product-detail .inner-box .detail-container h2 {
    font-size: 3rem;
    color: var(--color_5);
}

#product-detail .inner-box .detail-container h3 {
    font-size: 2rem;
    border-bottom: 1px solid var(--color_2);
    max-width: 40%;
    color: var(--color_3);
}

#product-detail .inner-box .detail-container p {
    font-size: 1.5rem;
    color: var(--color_4);
}

#product-detail .right-tab {
    position: fixed;
    top: 0;
    right: 0;
    height: 100%;
    width: 5%;
    text-align: center;
    font-size: 3rem;
    background: var(--color_4);
    cursor: pointer;
    box-shadow: rgba(6, 24, 44, 0.4) 0px 0px 0px 2px, rgba(6, 24, 44, 0.65) 0px 4px 6px -1px, rgba(255, 255, 255, 0.08) 0px 1px 0px inset;

    transition: all 0.3s;
}

#product-detail .right-tab:hover{
    background: var(--color_5);
    color: var(--color_1);
    width: 6%;
}

#product-detail .right-tab span{
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
}

#myBtn {
    display: none;
    position: fixed;
    bottom: 7rem;
    right: 7rem;
    z-index: 99;
    border: none;
    background-color: var(--color_1);
    color: var(--color_4);
    cursor: pointer;
    border-radius: 50%;
    font-size: 3.5rem;
    min-width: 5rem;
    min-height: 5rem;
    opacity: 0.8;

    transition: all 0.3s;
}
  
#myBtn:hover {
    background-color: var(--color_4);
    color: var(--color_1);
}

footer {
    margin-top: auto;
    width: 100%;
    position: relative;
}

footer .contact-container{
    margin-top: 1.5rem;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(12rem, 60rem));
    justify-content: start;
    align-items: center;
    background-color: var(--color_1);
}

footer .contact-container .contact {
    padding: 1.5rem;
    font-size: 1.7rem;
    color: var(--color_5);
}

footer .contact-container .contact a{
    padding: .5rem 0;
    font-size: 1.5rem;
    color: var(--color_5);
}

footer .contact-container .contact a:hover{
    text-decoration: underline;
    color: var(--color_5);
}

footer .credit {
    display: flex;
    bottom: 0rem;
    right: 0;
    z-index: 60;
    align-items: center;
    justify-content: end;
    font-size: 1.7rem;
    color: var(--color_1);
}

footer .credit p{
    padding-left: 3rem;
    padding-block: 1rem;
    background-color: var(--color_5);
    border-left: 3px solid var(--color_4);
    width: 100%;
}

footer .credit span {
    color: var(--color_4);
}

p.description {
    font-size: 1.8rem;
    padding: 1.5rem;
    max-width: 1080px;
    margin-left: 50%;
    transform: translateX(-50%);
}


div.iframe {
    margin-top: 1.5rem;
    max-width: 100%;
    display: flex;
    justify-content: center;
}

div.production {
    display: flex;
    justify-content: center;
    align-items: center;
}

div.production div.img-prod {
    display: flex;
    justify-content: center;
}

div.production img {
    margin: 1.5rem;
    border-radius: 1.5rem;
    max-width: 75%;
    margin: 0;
    aspect-ratio: 1 / 1;
}

div.production p {
    margin-left: 0;
    transform: translateX(0);
    min-width: 30%;
}

p.description span {
    color: var(--color_4);
}

.contact div.contact{
    display: flex;
    align-items: center;
    justify-content: center;
}

.contact div p {
    margin-left: 0;
    transform: translateX(0);
}

.contact div p a{
    color: var(--color_5);
}

.contact div p a:hover{
    color: var(--color_4);
    text-decoration: underline;
}

div.map {
    min-height: 46rem;
    min-width: 50rem;
}

div.map iframe {
    min-width: 40rem;
    max-width: 40rem;
    border: none;
}

u {
    text-decoration: underline;
}

div.article-topic-container {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    margin-block: 1rem;
    padding: 1.5rem;
    margin-inline: 15%;
    border-radius: 2rem;
    background: var(--color_2);
}

div.article-topic-container h1 {
    border-bottom: 0.2rem solid black;
    padding-top: 0;
    margin: 0;
    margin-left: 3%;
    text-align: left;
}

div.article-topic-container a {
    font-size: 2rem;
    color: var(--color_5);
    background: var(--color_4);
    padding: 1rem;
    border-radius: 2rem;
    margin-right: 2%;
    min-width: 12rem;
}

div.article-topic-container a:hover {
    color: var(--color_4);
    background: var(--color_5);
}

div.article-container {
    align-items: center;
    margin-block: 1rem;
    padding: 1.5rem;
    margin-inline: 15%;
    border-radius: 2rem;
    background: var(--color_2);
}

div.article-container h2 {
    text-align: left; 
    margin-inline: 3%; 
    padding-top: 1rem;
    font-size: 2.1rem;
}

div.article-container p.description {
    transition: all 0.3s;
    max-width: 100%;
    text-align: left; 
    margin-left: 0; 
    transform: translateX(0);
    margin-inline: 2%;
}

div.article-container p.click {
    margin-top: 1rem;
    font-size: 1.5rem;
    text-align: center;
    cursor: pointer;
    border-radius: 2rem;
    width: 15%;
    padding: 1rem;
    margin-left: 100%;
    transform: translateX(-100%);
    background: var(--color_4);

    transition: all 0.3s;
}

div.article-container p.click:hover {
    background: var(--color_5);
    color: var(--color_2);
}

.article-dir {
    margin-left: 3%;
    margin-top: 1rem;
}

.article-dir a {
    color: black;
}

.article-dir a:hover {
    text-decoration: underline;
}

.art-footer {
    text-align: center;
    font-size: 1.8rem;
    padding: 2rem;
    border-top: 0.2rem solid var(--color_3);
}

.art-footer p a {
    color: black;
    text-decoration: underline;
}

.art-footer .back-to-art {
    color: black;
    padding: 2rem;
    background: var(--color_4);
    border-radius: 4rem;

    transition: 0.3s;
}

.art-footer .back-to-art:hover {
    color: var(--color_4);
    padding: 2rem;
    background: var(--color_5);
    border-radius: 4rem;
}

@media (max-width:1500px) {
    :root {
        font-size: 55%;
        -moz-text-size-adjust: none;
        -webkit-text-size-adjust: none;
        text-size-adjust: none;
    }
}

@media (max-width:1200px) {
    :root {
        font-size: 45%;
        -moz-text-size-adjust: none;
        -webkit-text-size-adjust: none;
        text-size-adjust: none;
    }

    header a.logo img {
        max-width: 25rem;
        margin-left: 5%;
    }
}

@media (max-width:991px) {
    header {
        display: flex;
        height: 13rem;
        justify-content: space-between;
        align-items: center;
        padding: 0;
    }

    header a.logo {
        margin-left: 5%;
    }

    header a.logo img {
        max-width: 20rem;
        max-height: 20rem;
        margin-left: 5%;
    }

    header div.icons {
        margin-right: 3%;
    }

    header div.logo-row {
        display: flex;
        width: 83%;
        margin-inline: 0;
    }

    /* header div.logo-row .sns {
        display: block;
    } */
    

    /* header div.logo-row .sns .first-row {
        width: 27rem;
        margin-left: 0.5rem;
    }

    header .sns a.logo img {
        margin-inline: 0;
    }
    
    header div.logo-row .sns a.text {
        font-size: 1.5rem;
        width: 9.5rem;
        text-align: center;
        margin-inline: 0;
    }
    
    header div.logo-row .sns .tel{
        display: flex;
        align-items: center;
        margin-top: 0.5rem;
    }
    
    header div.logo-row .sns .tel a.text {
        width: 20.5rem;
    } */

    header div.icons #menu-bars{
        display: inline-block;
    } 

    header nav.navbar {
        display: block;
        text-align: center;
        position: absolute;
        top: 13rem; left: 0; right: 0;
        width: 100%;
        background: var(--color_1);
        border-top: .1rem solid black;
        border-bottom: .1rem solid black;
        padding: 1rem;
        clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
        margin-inline: 0;

        transition: all 0.3s;
    }

    header nav.navbar.active {
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    }

    header nav.navbar a{
        display: block;
        padding: 1.5rem;
        margin: 1rem;
        font-size: 2rem;
        background: var(--color_2);
    }

    header nav.navbar a img{
        max-height: 10rem;
    }

    header nav.navbar a.active img,
    header nav.navbar a:hover img{
        position: absolute;
        display: block;
        top: -3rem;
        right: -2rem;
    }

    h1.heading {
        padding-top: 1rem;
    }

    #box-container {
        margin-left: 2rem;
        margin-right: 2rem;
    }

    div.container {
        max-width: 95%;
    }

    footer .contact-container .contact {
        margin-left: 3%;
    }

    p.description {
        min-width: 80%;
    }

    div.production {
        display: block;
    }

    div.production p{
        margin-left: 50%;
        min-width: 80%;
        transform: translateX(-50%);
    }

    .contact div.contact{
        display: block;
    }

    .contact div p {
        margin-left: 50%;
        transform: translateX(-50%);
        text-align: center;
    }
    
    div.map {
        min-height: 44rem;
    }

    #product-detail .inner-box {
        display: block;
        width: 40rem;
        height: 80rem;
        margin-top: -40rem;
        margin-left: -20rem;
    }

    #product-detail .inner-box .close {
        right: 1.5rem;
        top: 1.5rem;
    }

    #product-detail .inner-box .img-container{
        min-width: 40rem;
        height: 40rem;
        border-top-right-radius: 2rem;
        border-bottom-left-radius: 0rem;
    }

    #product-detail .inner-box .detail-container{
        padding: 6rem;
        min-width: 40rem;
        height: 40rem;
        border-top-right-radius: 0rem;
        border-bottom-left-radius: 2rem;
    }

    #product-detail .inner-box .detail-container h2{
        font-size: 2rem;
    }
    
    #product-detail .inner-box .detail-container h3{
        font-size: 1.5rem;
    }
    
    #product-detail .inner-box .detail-container p{
        font-size: 1.5rem;
    }

    #product-detail {
        position: fixed;
        transform: translateX(100%) translateY(-100%);
        top: -100%;
    }
    
    #product-detail.transition {
        transform: translateX(100%) translateY(100%);
        background: #fcf8e8c4;
    }

    #product-detail .close span{
        display: none;    
    }

    #product-detail .right-tab {
        top: auto;
        bottom: 0;
        height: 5%;
        width: 100%;
        padding-top: 0.8rem;
    }

    #product-detail .close:after {
        content: "\21A5";
    }

    #product-detail .right-tab:hover {
        height: 6%;
        width: 100%;
    }

    div.article-container p.click {
        width: 40%;
    }

    div.article-container {
        margin-inline: 5%;
    }
}
    

@media (max-width:768px) {
    :root {
        font-size: 50%;
        -moz-text-size-adjust: none;
        -webkit-text-size-adjust: none;
        text-size-adjust: none;
    }

    header {
        height: 18rem;
    }

    header div.logo-row {
        flex-direction: column;
        justify-content: center;
    }

    header a.logo img {
        max-width: 20rem;
        max-height: 20rem;
        margin-left: 5%;
    }

    header nav.navbar {
        top: 18rem;
    }

    #box-container .box img {
        width: 12rem;
    }

    #box-container .box img.icon {
        width: 3rem;
    }

    #box-container {
        grid-template-columns: repeat(auto-fit, minmax(12rem, 16rem));
    }
}

@media (max-width:540px) {
    :root {
        font-size: 30%;
        -moz-text-size-adjust: none;
        -webkit-text-size-adjust: none;
        text-size-adjust: none;
    }

    h1 {
        font-size: 5rem !important;
    }
    
    h2 {
        font-size: 4rem !important;
    }

    h3 {
        font-size: 3rem !important;
    }

    p {
        font-size: 3rem !important;
    }

    a {
        font-size: 3rem !important;
    }

    header div.logo-row .sns a.text {
        min-width: 17rem;
        min-height: 8rem;
        display: flex;
        align-items: center;
        justify-content: center;

        height: 8rem;
    }

    header div.logo-row .sns {
        display: block;
    }
    

    header div.logo-row .sns .first-row {
        width: 27rem;
        margin-left: 0.5rem;
    }

    header .sns a.logo img {
        margin-inline: 0;
    }
    
    header div.logo-row .sns a.text {
        font-size: 1.5rem;
        width: 9.5rem;
        text-align: center;
        margin-inline: 0;
    }
    
    header div.logo-row .sns .tel{
        display: flex;
        align-items: center;
        margin-top: 0.5rem;
    }
    
    header div.logo-row .sns .tel a.text {
        width: 20.5rem;
    }

    header div.logo-row .sns .tel a.text {
        width: 35.5rem;
        font-size: 5rem !important;
        line-height: 5rem;
    }

    .icons .bars {
        width: 10.5rem;
        height: 10.5rem;
        font-size: 5.5rem !important;
        line-height: 9.7rem;
    }

    #box-container .box {
        position: relative;
        background: var(--color_2);
        border: 3px solid var(--color_4);
        box-shadow: rgba(0, 0, 0, 0.12) 0px 1px 3px, rgba(0, 0, 0, 0.24) 0px 1px 2px;
        text-align: center;
        min-width: 13rem;
        min-height: 21rem;
    
        transition: transform 0.3s;
    }

    #product-detail .inner-box {
        width: 80rem;
        height: 160rem;
        margin-top: -80rem;
        margin-left: -40rem;
    }

    #product-detail .inner-box .close {
        min-width: 10rem;
        min-height: 10rem;
        font-size: 6rem;
    }

    #product-detail .inner-box .img-container {
        height: 80rem;
    }
    
    #product-detail .inner-box .detail-container {
        height: 80rem;
    }

    #box-container {
        display: grid;
        grid-template-columns: auto auto auto auto;
    }

    #box-container .box {
        height: 40rem;
    }

    .products-list {
        display: block;
    }

    ul.options-list {
        display: grid;
        grid-template-columns: auto auto auto;
        font-size: 3.5rem;
    }

    div.product-nav button.search {
        font-size: 3.5rem;
        padding-inline: 5rem;
        padding-block: 2rem;

    }
    
    div.product-nav button.reset {
        font-size: 3.5rem;
        padding-inline: 3rem;
    }

    footer .contact-container {
        display: block;
    }

    header {
        height: 30rem;
    }

    header div.logo-row {
        height: 20rem;
    }
    
    header div.logo-row .sns {
        height: 20rem;
    }

    header div.logo-row .sns .first-row {
        height: 8rem;
    }

    header .sns a.logo {
        min-width: 8rem;
        min-height: 8rem;
        max-width: 8rem;
        max-height: 8rem;
        margin-left: 1rem;
    }
    
    header .sns a.logo img {
        min-width: 8rem;
        min-height: 8rem;
        max-width: 8rem;
        max-height: 8rem;
    }
    
    header div.logo-row .sns .tel{
        display: flex;
        margin-inline: 0.5rem;
    }

    header nav.navbar {
        top: 30rem;
    }

    header nav.navbar a {
        font-size: 4rem !important;
    }
}

@media (max-width:330px) {
    :root {
        font-size: 25%;
        -moz-text-size-adjust: none;
        -webkit-text-size-adjust: none;
        text-size-adjust: none;
    }

    header div.logo-row .sns a.text {
        line-height: 4.5rem;
    }
}