@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 { width:100vw; height:100vh; background-color:#F1F1F0; }
body { line-height:1.6em; font-size:1.4rem; font-family:"Zen Kaku Gothic New",sans-serif; font-optical-sizing:auto; font-weight:400; font-style:normal; font-feature-settings:"palt"; }
body.topbg { background-image:url('../images/grid_bg_cl.webp'),url('../images/grid_bg.webp'); background-repeat:no-repeat,repeat; background-position:calc(50% + 15px) top,center top; }
body.innerbg { background-image:url('../images/grid_bg.webp'); background-repeat:repeat; background-position:center top; }

img { width:100%; max-width:100%; height:auto; line-height:0; }

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

.pc { display:block; }
.tab { display:none; }
.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; }
.flex_rev { flex-direction:row; }
.alctr { align-items:center; }

.fnt_inter { font-family:"Inter", sans-serif; }
.fnt_zenkaku_new { font-family: "Zen Kaku Gothic New", sans-serif; }
.fnt_zenmin { font-family: "Zen Old Mincho", serif; }
.fnt_crimson { font-family: "Crimson Pro", serif; }
.fnt_weight_lt { font-weight:300; }
.fnt_weight_rg { font-weight:400; }
.fnt_weight_md { font-weight:500; }
.fnt_weight_bd { font-weight:700; }


.cl_wh { color:var(--color-white); }
.cl_bk { color:var(--color-blk); }
.cl_org { color:var(--color-org); }
.cl_blu { color:var(--color-blu); }


.bg_wh { background-color:var(--color-white); }
.bg_bk { background-color:var(--color-blk); }
.bg_org { background-color:var(--color-org); }
.bg_blu { background-color:var(--color-blu); }



:root {
--vw:100%;

--color-white:#fff;
--color-blk:#000;
--color-gray:#F1F1F0;
--color-org:#FF430F;
--color-blu:#1431C2;

--font-weight-light:300;
--font-weight-regular:400;
--font-weight-midium:500;
--font-weight-bold:700;

--font-size-S:clamp(0.75rem, 0.639rem + 0.23vw, 0.813rem);
--font-size-R:clamp(1rem, 0.889rem + 0.23vw, 1.063rem);
--font-size-M:clamp(1.063rem, 0.951rem + 0.23vw, 1.125rem);
--font-size-L:clamp(1.438rem, 1.326rem + 0.23vw, 1.5rem);

--font-size-TTL:clamp(1.875rem, 1.579rem + 0.49vw, 2rem);
--font-size-TTLM:clamp(2.5rem, 2.5rem + 0vw, 2.5rem);
--font-size-TTLL:clamp(3.75rem, 2.639rem + 2.31vw, 4.375rem);


--font-size-RS:clamp(0.875rem, 0.764rem + 0.23vw, 0.938rem);
--font-size-ML:clamp(1.188rem, 1.076rem + 0.23vw, 1.25rem);
--font-size-LS:clamp(1.75rem, 1.528rem + 0.46vw, 1.875rem);
}






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

body { line-height:1.4em; }

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

}







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

.pc { display:none; }
.tab { 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; }
.flex_rev { flex-direction:column-reverse!important; }

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

}







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

body { line-height:1.2em; }

:root {
--font-size-S:2.8vw;
--font-size-R:3.5vw;
--font-size-M:4vw;
--font-size-L:5vw;

--font-size-TTL:5.8vw;
--font-size-TTLM:6.2vw;
--font-size-TTLL:9vw;


--font-size-RS:3.2vw;
--font-size-ML:4.2vw;
--font-size-LS:5.4vw;
}

}
