*{
    margin: 0;
    padding: 0;
    z-index: 50;

    --color-primary-green: 101, 154, 53;
    --color-secondary-green: 51, 147, 64;
    --color-bright-green: 144, 205, 80;
    --color-white: 255,255,255;
    --color-cream-white: 251, 250, 246;
    --color-black: 0,0,0;
    --color-gray: 188, 188, 188;
    --color-dark-gray: 113, 113, 113;


    --general-max-width: 1600px;
    --general-border-radius: 30px;
    --general-contents-box-padding: 10rem;
    --general-contents-box-padding-smt: clamp(2rem, -2rem + 20vw, 2.5rem);
    color: rgb(var(--color-black));
    font-family: "Noto Sans JP";
}

:root{
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 18px;
    width: 100%;
}


html{
    width: 100vh;
    padding: 0;
    background-color: var(--color-white);
}

body{
    width: 100%;
    display: flex;
    flex-direction: column;
}

h1,h2,h3,h4,.font_barlow{
    font-family: "Barlow";
    font-family: "Noto Sans JP";
    font-weight: 500;
}

p,li,span,a{
    font-size: 0.8rem;
}
ul{
    list-style: disc;
    list-style-position: inside;
}
li{
    padding-left: 0;
    display: flex;
}
ul li::before{
    content: "・";
    margin-right: 0.8rem;
    flex: 0 0 auto;
}
a{
    text-decoration: none;
    color: rgb(var(--color-black));
    transition: color ease-in-out .3s;
    border-style: solid;
    border-bottom-width: 0;
    border-color: rgb(var(--color-white));
}
a:hover{
    color: rgb(var(--color-gray));
}

input[type="text"],
input[type="email"],
textarea{
    color: rgb(var(--color-black));
    margin: 0;
    font-size: 0.7rem;
    padding: 0.8rem 1rem;
    border-radius: 0.3rem;
    background-color: rgb(var(--color-white));
    border: 0.1rem solid rgb(var(--color-black));
    width: 100%;
}

textarea{
    height: 10rem;
    resize: none;
    overflow-y: auto;
}


/* Template Parts */
a.temp-link_button{
    padding: 1.8rem;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    column-gap: 0.8rem;
    min-width: 22rem;
    background-color: rgb(var(--color-white));
    border: 3px solid rgb(var(--color-bright-green));
    border-radius: 1.8rem;
    transition: background-color ease-in-out .3s, border-color ease-in-out .3s;
}

a.temp-link_button span.text{
    font-size: 0.8rem;
    margin-bottom: 0.15rem;
}

a.temp-link_button span.icon{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.7rem;
    aspect-ratio: 1;
    border-radius: 100rem;
    transition: background-color ease-in-out .3s;
}

a.temp-link_button span.icon::before{
    content: "";
    display: inline-block;
    mask-image: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8"%3F><svg id="arrow" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 512 512"><path d="M425.7,243.5H106.7l101.4-101.4c4.7-4.7,4.7-12.3,0-17l-.7-.7c-2.3-2.3-5.3-3.5-8.5-3.5s-6.2,1.2-8.5,3.5l-123.1,123.1c-4.7,4.7-4.7,12.3,0,17l123.1,123.1c2.3,2.3,5.4,3.5,8.5,3.5,3.1,0,6.1-1.2,8.5-3.5l.7-.7c2.3-2.3,3.5-5.3,3.5-8.5,0-3.2-1.2-6.2-3.5-8.5l-101.4-101.4h318.9c6.6,0,12-5.4,12-12v-1c0-6.6-5.4-12-12-12Z"/></svg>');
    --webkit-mask-image: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8"%3F><svg id="arrow" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 512 512"><path d="M425.7,243.5H106.7l101.4-101.4c4.7-4.7,4.7-12.3,0-17l-.7-.7c-2.3-2.3-5.3-3.5-8.5-3.5s-6.2,1.2-8.5,3.5l-123.1,123.1c-4.7,4.7-4.7,12.3,0,17l123.1,123.1c2.3,2.3,5.4,3.5,8.5,3.5,3.1,0,6.1-1.2,8.5-3.5l.7-.7c2.3-2.3,3.5-5.3,3.5-8.5,0-3.2-1.2-6.2-3.5-8.5l-101.4-101.4h318.9c6.6,0,12-5.4,12-12v-1c0-6.6-5.4-12-12-12Z"/></svg>');
    background-color: rgb(var(--color-bright-green));
    width: 1rem;
    aspect-ratio: 1;
    transition: background-color ease-in-out .3s;
}

a.temp-link_button:hover{
    background-color: rgb(var(--color-bright-green));
    border-color: rgb(var(--color-bright-green));
}

a.temp-link_button:hover span.icon{
    background-color: rgb(var(--color-white));
}

a.temp-link_button:hover span.icon::before{
    background-color: rgb(var(--color-bright-green));
}

/* content box */
.content_box_wrapper{
    position: relative;
    width: 100%;
    min-height: 20rem;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: 2rem 0;
    row-gap: 1rem;
    align-items: center;
}

.content_box{
    width: 100%;
    max-width: var(--general-max-width);
    padding: 0 var(--general-contents-box-padding);
    display: flex;
    flex-direction: column;
    row-gap: 1rem;
}


header{
    position: fixed;
    top: 0;
    width: 100%;
    display: flex;
    row-gap: 1rem;
    flex-direction: column;
    align-items: center;
    overflow: visible;
    z-index: 100;
    background: rgb(var(--color-white));
}

header div.content_box.header-title_box{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding-top: 1rem;
    padding-bottom: 1rem;

}

header div.content_box.header-title_box .logo_box{
    display: flex;
    flex-direction: row;
    align-items: center;
    column-gap: 0.5rem;
}

header div.content_box.header-title_box .logo_box img{
    width: 2rem;
    height: 2rem;
    border-radius: 100rem;
}

header div.content_box.header-title_box .logo_box span{
    font-size: 1.3rem;
    font-weight: 500;
    letter-spacing: 0.3rem;
    margin-top: -0.2rem;
}

header div.content_box.header-title_box .contact_box_list{
    display: flex;
    flex-direction: row;
    column-gap: 1rem;
}

header div.content_box.header-title_box .contact_box_list .contact_box.address_tel_box{
    display: flex;
    flex-direction: column;
    align-items: center;
}

header div.content_box.header-title_box .contact_box_list .contact_box.address_tel_box a.tel{
    display: flex;
    flex-direction: row;
    align-items: end;
    column-gap: 0.4rem;
    font-size: 1.5rem;
    font-weight: 400;
}
header div.content_box.header-title_box .contact_box_list .contact_box.address_tel_box a.tel::before{
    content:"";
    display: inline-block;
    height: 1.2rem;
    width: 1.2rem;
    margin-bottom: 0.15rem;
    mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path d="M224.2 89C216.3 70.1 195.7 60.1 176.1 65.4L170.6 66.9C106 84.5 50.8 147.1 66.9 223.3C104 398.3 241.7 536 416.7 573.1C493 589.3 555.5 534 573.1 469.4L574.6 463.9C580 444.2 569.9 423.6 551.1 415.8L453.8 375.3C437.3 368.4 418.2 373.2 406.8 387.1L368.2 434.3C297.9 399.4 241.3 341 208.8 269.3L253 233.3C266.9 222 271.6 202.9 264.8 186.3L224.2 89z"/></svg>');
    --webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path d="M224.2 89C216.3 70.1 195.7 60.1 176.1 65.4L170.6 66.9C106 84.5 50.8 147.1 66.9 223.3C104 398.3 241.7 536 416.7 573.1C493 589.3 555.5 534 573.1 469.4L574.6 463.9C580 444.2 569.9 423.6 551.1 415.8L453.8 375.3C437.3 368.4 418.2 373.2 406.8 387.1L368.2 434.3C297.9 399.4 241.3 341 208.8 269.3L253 233.3C266.9 222 271.6 202.9 264.8 186.3L224.2 89z"/></svg>');
    mask-repeat: no-repeat;
    background-color: rgb(var(--color-primary-green));
}

header div.content_box.header-title_box .contact_box_list .contact_box.address_tel_box span.address{
    font-size: 0.7rem;
    font-weight: 400;
    width: 100%;
    text-align-last: justify;
}

header div.content_box.header-title_box .contact_box_list .contact_box.contact_button {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}

header div.content_box.header-title_box .contact_box_list .contact_box.contact_button a{
    padding: 0.2rem 2em;
    min-width: 10rem;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 100rem;
    color: rgb(var(--color-white));
    background-color: rgb(var(--color-primary-green));
    border: 0.1rem solid rgb(var(--color-primary-green));
    font-size: 1rem;
    font-family: "Inter", "Noto Sans JP";
    font-weight: 400;
    transition: background-color ease-in-out .3s, color ease-in-out .3s;
}

header div.content_box.header-title_box .contact_box_list .contact_box.contact_button a:hover{
    background-color: rgb(var(--color-white));
    color: rgb(var(--color-primary-green));
}

header div.content_box.header-title_box .contact_box_list .contact_box.contact_button.secondary_color a{
    background-color: rgb(var(--color-secondary-green));
    border-color: rgb(var(--color-secondary-green));
}

header div.content_box.header-title_box .contact_box_list .contact_box.contact_button.secondary_color a:hover{
    background-color: rgb(var(--color-white));
    border-color: rgb(var(--color-secondary-green));
}

header nav.content_box.header-menu_box{
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    align-items: start;
    overflow-y: hidden;
    
    column-gap: 1rem;
    padding-bottom: 1rem;
}

header nav.content_box.header-menu_box div.menu_separator{
    display: flex;
    height: 2rem;
}
header nav.content_box.header-menu_box div.menu_separator::after{
    content: "";
    width: 1px;
    height: 2.5rem;
    background-color: rgba(var(--color-black), 0.1);
}

header nav.content_box.header-menu_box .menu_list_wrapper{
    display: flex;
    flex-direction: row;
    justify-content: center;
    column-gap: 2rem;
    overflow-y: visible;
    flex-grow: 1;
}

header nav.content_box.header-menu_box .menu_list_wrapper .menu_header{
    display: flex;
    flex-direction: column;
    row-gap: 0.6rem;
    align-items: center;
}

header nav.content_box.header-menu_box .menu_list_wrapper .menu_header span{
    font-size: 0.9rem;
    font-weight: 400;
}

header nav.content_box.header-menu_box .menu_list_wrapper .menu_header::after{
    content: "";
    -webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Pro v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2026 Fonticons, Inc.--><path d="M297.4 438.6C309.9 451.1 330.2 451.1 342.7 438.6L502.7 278.6C515.2 266.1 515.2 245.8 502.7 233.3C490.2 220.8 469.9 220.8 457.4 233.3L320 370.7L182.6 233.4C170.1 220.9 149.8 220.9 137.3 233.4C124.8 245.9 124.8 266.2 137.3 278.7L297.3 438.7z"/></svg>');
    mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Pro v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2026 Fonticons, Inc.--><path d="M297.4 438.6C309.9 451.1 330.2 451.1 342.7 438.6L502.7 278.6C515.2 266.1 515.2 245.8 502.7 233.3C490.2 220.8 469.9 220.8 457.4 233.3L320 370.7L182.6 233.4C170.1 220.9 149.8 220.9 137.3 233.4C124.8 245.9 124.8 266.2 137.3 278.7L297.3 438.7z"/></svg>');
    -webkit-mask-size: contain;
    mask-size: contain;

    background-color: rgb(var(--color-secondary-green));
    display: inline-block;
    width: 1rem;
    height: 1rem;

    transition: rotate ease-in-out .2s;
}

header nav.content_box.header-menu_box .menu_list_wrapper .menu_aligner{
    position: relative;
}

header nav.content_box.header-menu_box .menu_list_wrapper .menu_list_box{
    width: 0;
    text-wrap: nowrap;
    overflow: visible;
    opacity: 0;
    max-height: 0;

    display: flex;
    flex-direction: column;
    row-gap: 1.2rem;

    transition: max-height ease-in-out .3s, opacity ease-in-out .2s .1s, padding ease-in-out .3s;
}


header nav.content_box.header-menu_box .menu_list_wrapper .menu_list_box a{
    font-size: 1.1rem;
    font-weight: 400;

}

header nav.content_box.header-menu_box .menu_list_wrapper:hover .menu_header::after{
    rotate: -180deg;
}

header nav.content_box.header-menu_box .menu_list_wrapper.no_rotate:hover .menu_header::after{
    rotate: 0deg;
}


header nav.content_box.header-menu_box .menu_list_wrapper:hover .menu_list_box{
    max-height: 20rem;
    opacity: 1;
    padding-top: 1.5rem;
    padding-bottom: 3.5rem;
}

header .slide_menu_toggle{
    visibility: hidden;
    position: absolute;
    bottom: calc(50% - 0.6rem);
    right: 2.5rem;
    width: 2.1rem;
    height: 1.5rem;
    z-index: 130;
}

header .slide_menu_toggle div{
    width: 100%;
    height: 1px;
    background-color: rgba(var(--color-primary-green));
    position: absolute;
    transition: top ease-in-out .5s, bottom ease-in-out .5s, opacity ease-in-out .5s, rotate ease-in-out .6s;
    border-radius: 100rem;
    user-select: none;
}
header .slide_menu_toggle div:nth-child(1){
    top: 0;
}
header .slide_menu_toggle div:nth-child(2){
    top: calc(50% - .5px);
}
header .slide_menu_toggle div:nth-child(3){
    top: calc(100% - 1px);
}

header .slide_menu_checkbox:checked ~ .slide_menu_toggle div:nth-child(1){
    top: calc(50% - 2px*0.5);
    rotate: 45deg;
}

header .slide_menu_checkbox:checked ~ .slide_menu_toggle div:nth-child(2){
    opacity: 0;
}

header .slide_menu_checkbox:checked ~ .slide_menu_toggle div:nth-child(3){
    top: calc(50% - 0.2rem*0.5);
    rotate: -45deg;
}

@media screen and (max-width: 1080px) {
    header{
        height: 6rem;
        justify-content: center;
    }

    header .slide_menu_checkbox:checked ~ nav.content_box.header-menu_box{
        visibility: visible;
        right: -20%;
    }

    header .slide_menu_toggle{
        visibility: visible;
    }

    header div.content_box.header-title_box .contact_box_list{
        display: none;
    }

    header div.content_box.header-title_box .logo_box img{
        width: 3rem;
        height: 3rem;
    }

    header div.content_box.header-title_box .logo_box span{
        font-size: 1.5rem;
    }

    header nav.content_box.header-menu_box{
        position: fixed;
        top: 0;
        right: -100%;
        width: 100%;
        height: 100lvh;
        background-color: rgb(var(--color-white));
        flex-direction: column;
        align-items: start;
        justify-content: start;
        padding-top: 10rem;
        overflow-y: auto;
        row-gap: 2rem;
        transition: right ease-in-out .5s;
    }

    header nav.content_box.header-menu_box .menu_list_wrapper{
        flex-direction: column;
        row-gap: 2rem;
        flex-grow: 0;
    }
    
    header nav.content_box.header-menu_box div.menu_separator{
        display: none;
    }

    header nav.content_box.header-menu_box .menu_list_wrapper .menu_header{
        flex-direction: row;
        column-gap: 0.5rem;
    }

    header nav.content_box.header-menu_box .menu_list_wrapper .menu_header span{
        font-size: 1.3rem;
    }

    header nav.content_box.header-menu_box a.menu_list_wrapper .menu_header::after{
        rotate: -90deg;
    }

    header nav.content_box.header-menu_box .menu_list_wrapper input[name="menu_smt_expand"]:checked ~ .menu_aligner .menu_header::after{
        rotate: -180deg;
    }

    header nav.content_box.header-menu_box .menu_list_wrapper input[name="menu_smt_expand"]:checked ~ .menu_aligner.menu_header::after{
        rotate: 0deg;
    }

    header nav.content_box.header-menu_box .menu_list_wrapper input[name="menu_smt_expand"]:checked ~ .menu_aligner .menu_list_box{
        max-height: 20rem;
        opacity: 1;
        padding-top: 1.5rem;
        padding-bottom: 3.5rem;
    }
}


footer.content_box_wrapper{
    padding-top: 4rem;
    width: 100%;
    background-color: rgb(var(--color-cream-white));
    display: flex;
    flex-direction: column;
    row-gap: 5rem;
    justify-content: center;
    align-items: center;
}

footer.content_box_wrapper div.content_box.site_map_box{
    width: 100%;
    display: flex;
    flex-direction: column;
    row-gap: 1.5rem;
}

footer.content_box_wrapper div.content_box.site_map_box span,
footer.content_box_wrapper div.content_box.site_map_box a{
    font-size: 1rem;
    font-weight: 400;
}

footer.content_box_wrapper div.content_box.site_map_box div.category_list_wrapper{
    width: 100%;
    display: flex;
    flex-direction: row;
    column-gap: 3rem;
}


footer.content_box_wrapper div.content_box.site_map_box div.category_list_wrapper div.category_list{
    display: flex;
    flex-direction: column;
    row-gap: 0.8rem;
}

footer.content_box_wrapper div.content_box.site_map_box div.category_list_wrapper div.category_list{
    display: flex;
    flex-direction: column;
    row-gap: 0.8rem;
}

footer div.content_box.bottom_bar{
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: end;
}

footer div.content_box.bottom_bar .logo_box{
    display: flex;
    flex-direction: row;
    align-items: center;
    column-gap: 0.5rem;
}

footer div.content_box.bottom_bar .logo_box img{
    width: 3rem;
    height: 3rem;
    border-radius: 100rem;
}

footer div.content_box.bottom_bar .logo_box div{
    display: flex;
    flex-direction: column;
    row-gap: 0.4rem;
}

footer div.content_box.bottom_bar .logo_box span.address{
    font-size: 0.86rem;
    width: 97%;
    text-align-last: justify;
}

footer div.content_box.bottom_bar .logo_box span.name{
    font-size: 2rem;
    font-weight: 500;
    letter-spacing: 0.4rem;
    margin-top: -0.2rem;
}

footer div.content_box.bottom_bar .contact_box{
    display: flex;
    flex-direction: column;
    align-items: end;
    row-gap: 0.5rem;
}

footer div.content_box.bottom_bar .contact_box a.link_instagram{
    mask-image: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8"%3F><svg id="_レイヤー_1" data-name="レイヤー_1" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 449 449"><!-- Generator: Adobe Illustrator 30.2.1, SVG Export Plug-In . SVG Version: 2.1.1 Build 1) --><path d="M224.8,109.5c-63.5-.2-115.1,51.2-115.3,114.7s51.2,115.1,114.7,115.3,115.1-51.2,115.3-114.7-51.2-115.1-114.7-115.3ZM224.2,149.9c41.2-.2,74.7,33.1,74.9,74.3.2,41.2-33.1,74.7-74.3,74.9-41.2.2-74.7-33.1-74.9-74.3-.2-41.2,33.1-74.7,74.3-74.9ZM317.6,104.8c0-14.8,12-26.8,26.8-26.8s26.8,12,26.8,26.8-12,26.8-26.8,26.8-26.8-12-26.8-26.8ZM447.3,132c-1.7-35.9-9.9-67.7-36.2-93.9C384.9,11.9,353.1,3.7,317.2,1.9,280.2-.2,169.3-.2,132.3,1.9c-35.8,1.7-67.6,9.9-93.9,36.1C12.1,64.2,4,96,2.2,131.9,0,168.9,0,279.8,2.2,316.8c1.7,35.9,9.9,67.7,36.2,93.9,26.3,26.2,58,34.4,93.9,36.2,37,2.1,147.9,2.1,184.9,0,35.9-1.7,67.7-9.9,93.9-36.2,26.2-26.2,34.4-58,36.2-93.9,2.1-37,2.1-147.8,0-184.8ZM399.5,356.5c-7.8,19.6-22.9,34.7-42.6,42.6-29.5,11.7-99.5,9-132.1,9s-102.7,2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7,9-132.1c7.8-19.6,22.9-34.7,42.6-42.6,29.5-11.7,99.5-9,132.1-9s102.7-2.6,132.1,9c19.6,7.8,34.7,22.9,42.6,42.6,11.7,29.5,9,99.5,9,132.1s2.7,102.7-9,132.1Z"/></svg>');
    --webkit-mask-image: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8"%3F><svg id="_レイヤー_1" data-name="レイヤー_1" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 449 449"><!-- Generator: Adobe Illustrator 30.2.1, SVG Export Plug-In . SVG Version: 2.1.1 Build 1) --><path d="M224.8,109.5c-63.5-.2-115.1,51.2-115.3,114.7s51.2,115.1,114.7,115.3,115.1-51.2,115.3-114.7-51.2-115.1-114.7-115.3ZM224.2,149.9c41.2-.2,74.7,33.1,74.9,74.3.2,41.2-33.1,74.7-74.3,74.9-41.2.2-74.7-33.1-74.9-74.3-.2-41.2,33.1-74.7,74.3-74.9ZM317.6,104.8c0-14.8,12-26.8,26.8-26.8s26.8,12,26.8,26.8-12,26.8-26.8,26.8-26.8-12-26.8-26.8ZM447.3,132c-1.7-35.9-9.9-67.7-36.2-93.9C384.9,11.9,353.1,3.7,317.2,1.9,280.2-.2,169.3-.2,132.3,1.9c-35.8,1.7-67.6,9.9-93.9,36.1C12.1,64.2,4,96,2.2,131.9,0,168.9,0,279.8,2.2,316.8c1.7,35.9,9.9,67.7,36.2,93.9,26.3,26.2,58,34.4,93.9,36.2,37,2.1,147.9,2.1,184.9,0,35.9-1.7,67.7-9.9,93.9-36.2,26.2-26.2,34.4-58,36.2-93.9,2.1-37,2.1-147.8,0-184.8ZM399.5,356.5c-7.8,19.6-22.9,34.7-42.6,42.6-29.5,11.7-99.5,9-132.1,9s-102.7,2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7,9-132.1c7.8-19.6,22.9-34.7,42.6-42.6,29.5-11.7,99.5-9,132.1-9s102.7-2.6,132.1,9c19.6,7.8,34.7,22.9,42.6,42.6,11.7,29.5,9,99.5,9,132.1s2.7,102.7-9,132.1Z"/></svg>');
    width: 2rem;
    height: 2rem;
    background-color: rgb(var(--color-black));
    background-size: contain;
    mask-repeat: no-repeat;
}

footer div.content_box.bottom_bar .contact_box .addr_tel{
    display: flex;
    row-gap: 0.2rem;
    flex-direction: column;
    align-items: center;
}
footer div.content_box.bottom_bar .contact_box .addr_tel a.tel{
    display: flex;
    flex-direction: row;
    align-items: end;
    column-gap: 0.4rem;
    font-size: 2rem;
    font-weight: 400;
}

footer div.content_box.bottom_bar .contact_box .addr_tel a.tel::before{
    content:"";
    display: inline-block;
    height: 1.8rem;
    width: 1.8rem;
    margin-bottom: 0.1rem;
    mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path d="M224.2 89C216.3 70.1 195.7 60.1 176.1 65.4L170.6 66.9C106 84.5 50.8 147.1 66.9 223.3C104 398.3 241.7 536 416.7 573.1C493 589.3 555.5 534 573.1 469.4L574.6 463.9C580 444.2 569.9 423.6 551.1 415.8L453.8 375.3C437.3 368.4 418.2 373.2 406.8 387.1L368.2 434.3C297.9 399.4 241.3 341 208.8 269.3L253 233.3C266.9 222 271.6 202.9 264.8 186.3L224.2 89z"/></svg>');
    --webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path d="M224.2 89C216.3 70.1 195.7 60.1 176.1 65.4L170.6 66.9C106 84.5 50.8 147.1 66.9 223.3C104 398.3 241.7 536 416.7 573.1C493 589.3 555.5 534 573.1 469.4L574.6 463.9C580 444.2 569.9 423.6 551.1 415.8L453.8 375.3C437.3 368.4 418.2 373.2 406.8 387.1L368.2 434.3C297.9 399.4 241.3 341 208.8 269.3L253 233.3C266.9 222 271.6 202.9 264.8 186.3L224.2 89z"/></svg>');
    mask-repeat: no-repeat;
    background-color: rgb(var(--color-primary-green));
}

footer div.content_box.bottom_bar .contact_box .addr_tel a.address{
    display: inline-block;
    font-size: 1.1rem;
    font-weight: 400;
    width: 100%;
    text-align: justify;
    text-align-last: justify;
    text-justify: inter-character;
}

@media screen and (max-width: 1080px) {
    footer.content_box_wrapper{
        justify-content: end;
    }
    footer.content_box_wrapper div.content_box.site_map_box{
        display: none;
    }
    footer div.content_box.bottom_bar .logo_box{
        display: none;
    }
    footer div.content_box.bottom_bar{
        width: 100%;
        display: flex;
        flex-direction: row;
        justify-content: end;
        align-items: end;
    }

}

/* Template - Bright */
body.temp-bright-wrapper{
    padding-top: 10rem;
    position: relative;
    background-color: rgb(var(--color-cream-white));
}

body.temp-bright-wrapper div.temp-bright-decoration_green{
    position: fixed;
    top: 30vh;
    left: 5rem;
    z-index: 20;
    width: 30rem;
    height: 30rem;
    translate: -50% -50%;
    opacity: 0.7;
    background-image: radial-gradient(circle at 50% 50%, rgba(var(--color-primary-green), 0.5) 0%, rgba(var(--color-primary-green), 0) 70%);
    animation: temp-bright-decoration-animation 10s ease-in-out infinite;
}

body.temp-bright-wrapper div.temp-bright-decoration_yellow{
    position: fixed;
    top: 80vh;
    right: 10rem;
    z-index: 20;
    width: 30rem;
    height: 30rem;
    translate: 50% -50%;
    opacity: 0.3;
    background-image: radial-gradient(circle at 50% 50%, rgba(255, 191, 0, 0.959) 0%, rgba(240, 228, 193, 0) 70%);
    animation: temp-bright-decoration-animation 10s ease-in-out infinite;
}

@keyframes temp-bright-decoration-animation {
    0% {
        transform: translateX(0), translateY(0);
    }
    35% {
        transform: translateX(3rem), translateY(1rem);        
    }
    70% {
        transform: translateX(-1.5rem), translateY(-1.5rem);
    }
    100% {
        transform: translateX(0), translateY(0);
    }

}

@media screen and (max-width: 1080px) {
    body.temp-bright-wrapper{
        padding-top: 6rem;

    }
}

section.temp-breadcrumbs{
    min-height: auto;
    padding-top: 3rem;
}

section.temp-breadcrumbs div.content_box{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    column-gap: 0.7rem;
    row-gap: 0.5rem;
}

section.temp-breadcrumbs div.content_box a{
    display: flex;
    flex-direction: row;
    align-items: center;
    column-gap: 0.7rem;
    font-size: 0.6rem;
    color: rgb(var(--color-dark-gray));
}

section.temp-breadcrumbs div.content_box a::before{
    content: "";
    display: inline-block;
    width: 0.2rem;
    aspect-ratio: 1;
    border-radius: 100rem;
    background-color: rgb(var(--color-primary-green));
}

section.temp-breadcrumbs div.content_box a:nth-child(1)::before{
    display: none;
}

section.temp-breadcrumbs div.content_box a:nth-last-child(1){
    color: rgb(var(--color-primary-green));
}

@media screen and (max-width: 1080px) {
    section.temp-breadcrumbs div.content_box{
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        column-gap: 0.7rem;
        row-gap: 0.5rem;
    }

    section.temp-breadcrumbs div.content_box a{
        display: flex;
        flex-direction: row;
        align-items: center;
        column-gap: 0.7rem;
        font-size: 0.8rem;
        color: rgb(var(--color-dark-gray));
    }

    section.temp-breadcrumbs div.content_box a::before{
        content: "";
        display: inline-block;
        width: 0.33em;
        aspect-ratio: 1;
        border-radius: 100rem;
        background-color: rgb(var(--color-primary-green));
    }
}

section.temp-page_title{
    min-height: auto;
}
section.temp-page_title div.content_box{
    row-gap: 1.7rem;
}
section.temp-page_title div.content_box h1{
    font-size: 1.6rem;
}

section.temp-page_title div.content_box p{
    font-size: 1.1rem;
}

@media screen and (max-width: 1080px) {
    section.temp-page_title{
        padding-top: 1rem;
    }
}

/* Misc */

.smt_show{
    display: none !important;
}

@media screen and (max-width: 1080px) {
	/* CSS for SmartPhones */
    :root{
        font-size: 14px;
    }

    .content_box{
        padding: 0 var(--general-contents-box-padding-smt);
    }   

    .smt_hide{
        display: none !important;
    }
    
    .smt_show{
        display: inherit !important;
    }
}

