@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:100%; background-color:#fff; scroll-restoration:manual; }
body { position:relative; line-height:1em; min-height:100%; font-size:var(--font-size-R); font-family:"Noto Sans JP",sans-serif; font-optical-sizing:auto; font-style:normal; font-weight:var(--font-weight-R); font-feature-settings:"palt"; letter-spacing:0.02em; display:flex; flex-direction:column; }
body.is-resizing * { transition: opacity 0.2s ease, transform 0.3s ease; }

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

h1,h2,h3,h4,h5,h6 { margin:0; padding:0; }
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; }
.flexbox05 { display:flex; flex-direction:row; flex-wrap:wrap; justify-content:center; }

.fnt_en { font-family:"Inter",sans-serif!important; font-optical-sizing:auto; font-style:normal; }
.grecaptcha-badge { visibility:hidden; }


:root {
--vw:100%;

--color-wht:#fff;
--color-blk:#000;
--color-gry:#E3E3E3;
--color-red:#FF0202;

--font-weight-L:300;
--font-weight-R:400;
--font-weight-M:500;
--font-weight-SB:600;
--font-weight-B:700;

--font-size-SS:clamp(0.688rem, 0.688rem + 0vw, 0.688rem); /*11px*/
--font-size-S:clamp(0.75rem, 0.75rem + 0vw, 0.75rem); /*12px*/
--font-size-SL:clamp(0.875rem, 0.875rem + 0vw, 0.875rem); /*14px*/
--font-size-R:clamp(1rem, 1rem + 0vw, 1rem); /*16px*/
--font-size-M:clamp(1.125rem, 1.125rem + 0vw, 1.125rem); /*18px*/
--font-size-L:clamp(1.25rem, 1.25rem + 0vw, 1.25rem); /*20px*/
--font-size-LS:clamp(1.875rem, 1.875rem + 0vw, 1.875rem); /*30px*/
--font-size-LL:clamp(2.188rem, 2.188rem + 0vw, 2.188rem); /*35px*/

--font-size-ttlSS:clamp(3.125rem, 3.125rem + 0vw, 3.125rem); /*50px*/
--font-size-ttlS:clamp(3.75rem, 3.75rem + 0vw, 3.75rem); /*60px*/
--font-size-ttlR:clamp(4.5rem, 4.5rem + 0vw, 4.5rem); /*72px*/
--font-size-ttlM:clamp(6rem, 6rem + 0vw, 6rem); /*96px*/
--font-size-ttlL:clamp(6.875rem, 6.875rem + 0vw, 6.875rem); /*110px*/

--font-size-subttl:clamp(1.25rem, 1.25rem + 0vw, 1.25rem); /*20px*/
--font-size-subttl2:clamp(1.5rem, 1.5rem + 0vw, 1.5rem); /*24px*/

--liheight-def:1em;

}






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


}







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

.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:end; }
.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%;

}

}







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

body { }

:root {
--font-size-SS: clamp(0.625rem, 2.93vw, 0.688rem); /* 11px相当 */
--font-size-S:  clamp(0.688rem, 3.2vw, 0.75rem);   /* 12px相当 */
--font-size-SL: clamp(0.75rem, 3.73vw, 0.875rem);  /* 14px相当 */
--font-size-R:  clamp(0.875rem, 4.26vw, 1rem);     /* 16px相当 */
--font-size-M:  clamp(1rem, 4.8vw, 1.125rem);      /* 18px相当 */
--font-size-L:  clamp(1.125rem, 5.33vw, 1.25rem);  /* 20px相当 */
--font-size-LS: clamp(1.5rem, 8vw, 1.875rem);      /* 30px相当 */
--font-size-LL: clamp(1.75rem, 9.33vw, 2.188rem);  /* 35px相当 */

--font-size-ttlSS: clamp(2.5rem, 13.33vw, 3.125rem); /* 50px相当 */
--font-size-ttlS:  clamp(2.8rem, 16vw, 3.75rem);     /* 60px相当 */
--font-size-ttlR:  clamp(3.2rem, 19.2vw, 4.5rem);    /* 72px相当 */
--font-size-ttlM:  clamp(4rem, 25.6vw, 6rem);        /* 96px相当 */
--font-size-ttlL:  clamp(4.5rem, 29.33vw, 6.875rem); /* 110px相当 */

--font-size-subttl:  clamp(1.125rem, 5.33vw, 1.25rem); /* 20px相当 */
--font-size-subttl2: clamp(1.25rem, 6.4vw, 1.5rem);    /* 24px相当 */
}

}
