@charset "UTF-8";

*:where(:not(html,iframe,canvas,img,svg,video,audio):not(svg *,symbol *)) { all:unset; display:revert; box-sizing:border-box; }

html, body { overflow-x:hidden; }
html { background:#fff; }
body { line-height:1.6; font-size:1.4rem; font-family:"Noto Sans JP",sans-serif; font-optical-sizing:auto; font-weight:400; font-style:normal; }
img { width:100%; max-width:100%; height:auto; line-height:0; }

h1,h2,h3,h4,h5,h6,p { margin:0; padding:0; font-weight:400; }
ul,li { margin:0; padding:0; list-style:none; }
a { cursor:pointer; }

.pc { display:block; }
.sp { display:none; }
.flexbox01 { display:flex; flex-direction:row; flex-wrap:wrap; }
.flexbox02 { display:flex; flex-direction:row; flex-wrap:wrap; justify-content:flex-end; }
.flexbox03 { display:flex; flex-direction:row; flex-wrap:nowrap; justify-content:space-between; }
.flexbox04 { display:flex; flex-direction:row; flex-wrap:wrap; justify-content:space-between; }


.fonten { font-family:"Baskervville",serif; font-optical-sizing:auto; font-weight:500; font-style:normal; }
.fonten_bd { font-family:"Baskervville",serif; font-optical-sizing:auto; font-weight:600; font-style:normal; }
.fonten_num { font-family: "Inter", sans-serif; font-optical-sizing:auto; font-weight:400; font-style:normal;}

.cl_wh { color:var(--color-white); }
.cl_gr01 { color:var(--color-green01); }


.bg_wh { background-color:var(--color-white); }
.bg_gr01 { background-color:var(--color-green01); }



:root {
--vw:100%;

--color-white:#fff;
--color-bkk:#000;
--color-gray:#D9D9D9;

--font-size-SS:0.55em;
--font-size-S:0.65em;
--font-size-R:0.85em;
--font-size-M:1.2em;
--font-size-L:2em;
--font-size-TTL:2.4em;

--font-size-contact:0.75em;
}






@media only screen and (max-width: 843px) {

.pc { display:none; }
.sp { display:block; }

.flexbox01 { display:flex; flex-direction:row; flex-wrap:wrap; }
.flexbox02 { display:flex; flex-direction:row; flex-wrap:wrap; justify-content:space-between; }
.flexbox03 { display:flex; flex-direction:row; flex-wrap:wrap; justify-content:space-between; }
.flexbox04 { display:flex; flex-direction:row; flex-wrap:wrap; justify-content:space-between; }

:root {
--vw:100vw;
--vw-inner:100%;

--font-size-SS:clamp(0.563rem, 0.415rem + 0.25vw, 0.625rem);
--font-size-S:3.5vw;
--font-size-M:3.9vw;
--font-size-L:4.5vw;
--font-size-TTL:5.5vw;
}







@media only screen and (max-width: 520px) {
}
