@charset "UTF-8";

:root{
    --font-gothic:"Noto Sans JP", "メイリオ", "Hiragino Kaku Gothic ProN", sans-serif;
    --font-m-plus-rounded-1c:"M PLUS Rounded 1c", sans-serif;
    --font-en:montserrat, arial, sans-serif;
    --color:#5F3D27;
    --noscript:2000;
    --dialog:1001;
    --modalbackdrop:1000;
    --dialog-of-inert:999;
}

:lang(en){
    font-family:var(--font-en);
}

.is-focus, :focus:not(:focus-visible){
    outline:0;
}

*, ::before, ::after{
    box-sizing:border-box;
}

html{
    height:100%;
    font-family:var(--font-gothic);
    font-size:0.625em;
    /*scroll-behavior:smooth;*/
    /*scroll-padding-top:186px;*/
    -webkit-text-size-adjust:100%;
            text-size-adjust:100%;
}

html::after{
        display:block;
        content:"";
        position:fixed;
        z-index:-1;
        inset:0;
        margin:auto;
        background-color:rgb(0, 0, 0, 0.5);
        visibility:hidden;
        opacity:0;
        transition:visibility 0.3s, opacity 0.3s;
    }

html.is-modal{
        overflow:hidden;
        scroll-behavior:auto;
    }

html.is-modal::after{
            z-index:var(--modalbackdrop);
            visibility:visible;
            opacity:1;
        }

body{
    margin:auto;
    min-width:320px;
    font-size:1.4rem;
    line-height:1.5;
    color:var(--color);
    background-color:#fff;
}

html.is-modal body{
        overflow:hidden;
    }

main{
    display:block;
}

h1, h2, h3, h4, h5, h6{
    font-size:2rem;
    font-weight:400;
    line-height:inherit;
}

figure, p{
    margin:0;
}

ul, ol{
    padding:0;
    list-style:none;
}

dl dt,dl dd{
        padding:0;
        margin:0;
    }

ul ul, ul ol, ol ol, ol dl, dl ol, dl ul, dl dl{
    margin:0;
}

table{
    border-collapse:collapse;
    border-spacing:0;
}

table th,table td{
        word-break:break-all;
    }

em{
    font-style:normal;
    font-weight:700;
}

strong{
    font-style:normal;
    font-weight:700;
}

small, kbd, samp{
    font-family:inherit;
}

code{
    color:var(--color);
    -webkit-user-select:all;
            user-select:all;
}

abbr[title]{
    -webkit-text-decoration:none;
    text-decoration:none;
}

address{
    font-style:normal;
}

img{
    max-width:100%;
    height:auto;
    border-style:none;
}

:link, :visited{
    color:#0042a0;
    -webkit-text-decoration:underline;
    text-decoration:underline;
}

a{
    word-break:break-all;
}

a:not([href],
[role="button"]){
    cursor:default;
    -webkit-text-decoration:none;
    text-decoration:none;
}

[href^="tel:"]{
    -webkit-text-decoration:none;
    text-decoration:none;
    word-break:break-word;
}

button, input[type="button"], input[type="submit"], input[type="reset"], [role="button"]:not([aria-disabled="true"]), [role="tab"]:not([aria-selected="true"]){
    cursor:pointer;
}

button{
    overflow:visible;
    padding:0;
    border:0;
    margin:auto;
    background:transparent;
    color:inherit;
    font-family:inherit;
    font-size:inherit;
    line-height:inherit;
    word-break:break-all;
}

button:disabled,button[aria-disabled="true"]{
        cursor:default;
    }

::placeholder{
    opacity:1;
}

iframe{
    border:0;
}

p:has(> small){
    font-size:1.2rem;
}

p:has( > small) small{
        font-size:inherit;
    }

:is(.p-regionIntro__inner,.p-intro-box__areaTitle,.p-intro-box__areaText,.p-intro-box__areaImage) > :first-child{
        margin-top:0 !important;
    }

:is(.p-regionIntro__inner,.p-intro-box__areaTitle,.p-intro-box__areaText,.p-intro-box__areaImage) > :last-child{
        margin-bottom:0 !important;
    }

.p-main-visual__main{
    margin:0;
}

.p-main-visual__inner{
    position:relative;
}

.p-main-visual__image{
    width:100%;
    vertical-align:bottom;
}

.p-main-visual__placeLinkJa{
    position:absolute;
    top:15.2vw;
    right:3.2vw;
    margin:0;
    width:25.6vw;
    height:6.93333vw;
    text-align:right;
}

.l-main-content{
    position:relative;
    background-color:#FEEBBE;
}

.l-main-content::before,.l-main-content::after{
        content:"";
        display:block;
        position:absolute;
        inset:0;
        z-index:0;
        opacity:0.4;
        background-image:url(../img/index_bg_pattern.svg);
        background-size:16.61333vw 21.26133vw;
        pointer-events:none;
    }

.l-main-content::before{
        background-position:0.64vw -3.46667vw;
    }

.l-main-content::after{
        background-position:-7.68vw 7.164vw;
    }

.l-main-content__inner{
    position:relative;
    z-index:1;
}

.p-regionIntro{
    padding-inline:20px;
    background-color:#F39800;
}

.p-regionIntro__inner{
    padding-block:20px;
}

.p-intro-box{
    border-radius:8px;
    padding:20px;
    margin-inline:auto;
    max-width:860px;
    background-color:#fff;
}

.p-intro-box__layout{
    display:grid;
    grid-template-rows:auto 1fr;
    grid-template-columns:max(32vw, 120px) 1fr;
    gap:10px 20px;
    margin-inline:auto;
    max-width:700px;
}

.p-intro-box__areaTitle{
    grid-row:1 / 2;
    grid-column:1 / 2;
    text-align:center;
}

.p-intro-box__areaText{
    grid-row:1 / 3;
    grid-column:2 / 3;
    color:#7F441E;
}

.p-intro-box__areaImage{
    grid-row:2 / 3;
    grid-column:1 / 2;
    text-align:center;
}

.p-intro-box__textMark{
    position:relative;
}

.p-intro-box__textMark::before{
        content:"";
        display:block;
        position:absolute;
        top:-0.14286em;
        left:0;
        right:0;
        border-radius:50%;
        margin:auto;
        width:0.14286em;
        height:0.14286em;
        background-color:currentcolor;
    }

@media (hover: hover){
        :is(:link,:visited):hover{
            -webkit-text-decoration:none;
            text-decoration:none;
        }
        .p-main-visual__linkJa:any-link{
            background-color:#fff;
            filter:drop-shadow(0 0 3px #fff);
            opacity:0;
            transition:opacity 0.5s;
        }

            .p-main-visual__linkJa:any-link:hover{
                opacity:0.4;
            }
}

@media (min-width: 768.02px){
    html{
        height:100%;
        scroll-padding-top:calc(max(calc(104 / 1205 * 100vw), 104px) + 80px);
    }

    body{
        font-size:1.6rem;
    }
    p:has(> small){
        font-size:1.4rem;
    }
    .p-main-visual__placeLinkJa{
        top:4.16667vw;
        right:1.5625vw;
        width:9.375vw;
        height:2.60417vw;
    }
        .l-main-content::before,.l-main-content::after{
            background-size:83px 107px;
        }

        .l-main-content::before{
            background-position:1.5px -50px;
        }

        .l-main-content::after{
            background-position:-40px 3.5px;
        }
    .p-intro-box__layout{
        grid-template-rows:auto auto;
        grid-template-columns:145px 1fr;
        gap:15px 30px;
    }

    .p-intro-box__areaTitle{
        grid-row:1 / 2;
        grid-column:2 / 3;
        align-self:end;
        text-align:left;
    }

    .p-intro-box__areaText{
        grid-row:2 / 3;
        grid-column:2 / 3;
    }

    .p-intro-box__areaImage{
        grid-row:1 / 3;
        grid-column:1 / 2;
    }
}

@media (scripting: enabled){
    [href^="#dialog-"]{
        pointer-events:none;
    }
}
