/* --------------------------------------------------------
* reset-core.css
--------------------------------------------------------*/

/* @group @reset */

html{
overflow-x: clip;
-webkit-text-size-adjust: 100%;text-size-adjust: 100%;
tap-highlight-color: hsl(0deg 0% 0% / 0%);
}

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

dd{margin-left:0;}

img, iframe {max-width: 100%;height: auto;border: 0;vertical-align: bottom;}

video{max-width: 100%;}

audio,canvas,iframe,img,svg,video,object{vertical-align: middle;}

em{font-style: normal;}

iframe,svg:not(:root){overflow: hidden;}

a svg, button svg {transition: inherit;}

a,a:hover,a:focus,a:active{text-decoration: none;}

a:focus,button:focus,label:focus{outline:none;}

th,:where(td) dt,em{font-style: normal;}

[hidden],template{display:none;}

label{margin-bottom:0;transition:none;}

label img{pointer-events:none;}

button{box-sizing:border-box;margin:0;padding:0;background:transparent;border-radius:0;font-size:inherit;line-height:inherit;border:0;cursor:pointer;vertical-align:baseline;appearance:none;outline:none;}

button:disabled{cursor:not-allowed;opacity:.5;}

button::-moz-focus-inner{padding:0;border:0}
figure,blockquote{margin-inline:0;}

img[width],[height],
input[type="image"][width],[height],
video[width],[height],
embed[width],[height],
iframe[width],[height],
marquee[width],[height],
object[width],[height] {
aspect-ratio: attr(width) / attr(height); 
}

a,[title]{text-decoration: none;}

a,a:hover{will-change:opacity;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:hsla(0,0%,0%,0);tap-highlight-color:hsla(0,0%,0%,0);}

a:hover{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-callout:none;}

p, li, dt, dd, th, td {word-wrap: break-word;}

/* @end @reset */

/* --------------------------------------------------------*/

/* @group @reset-support */

@supports (scroll-behavior:smooth) {

html {
scroll-behavior: smooth;
scroll-padding-top: 1.5rem;
}

@media (width < 48em) { /* 0 -> 767px */

html {
scroll-padding-top: 6rem;
}

}

}

/* @end @reset-support */

/* font core --------------------------------------------------------*/

/* @group @font core */

html {
-webkit-font-smoothing: antialiased;
font-smoothing: antialiased;
text-rendering: optimizeLegibility;
}

/* @end @font core */

/* @group @base font-size */

html {
font-size: clamp(16px, calc(16px + (20 - 16) * ((100vw - 320px) / (1280 - 320))), 20px);
font-size: clamp(100%, calc(16px + (20 - 16) * ((100vw - 320px) / (1280 - 320))), 112.5%);
}

/* @end @base font-size */

/* @group @variables font-family */

:root {
--font-family-heading: 'Noto Serif JP', serif;
--font-family-default: 'Hiragino Sans', 'BIZ UDPGothic', system-ui, -apple-system, 'Meiryo', sans-serif;
--font-family-inherit: inherit;
}

/* @end @variables - text-block */

/* -------------------------------------------------------- */

/* @group @variables */

body {
font-family: var(--font-family);
color: var(--color);
font-weight: var(--font-weight);
font-variation-settings: var(--font-variation-settings, "wght" var(--font-weight));
}

@supports (word-break: auto-phrase) {

body {
word-break: auto-phrase;
}

}

section, aside, header, footer, p, ul, ol, li, dl, dt, dd, table, tr, th, td, figure, figure, figcaption, time, blockquote, pre, input, textarea, label, select, button, pre, code {
font-family: var(--font-family, inherit);
font-size: var(--font-size, inherit);
line-height: var(--line-height, inherit);
font-weight: var(--font-weight);
font-variation-settings: var(--font-variation-settings, "wght" var(--font-weight));
color: var(--color, inherit);
text-align: var(--text-align, inherit);
letter-spacing: var(--letter-spacing, inherit);
}

:where(p, ul, dl, table) em {
font-size: var(--emphasis-font-size, inherit);
line-height: var(--emphasis-line-height, inherit);
color: var(--emphasis-color, inherit);
font-weight: var(--emphasis-font-weight);
font-variation-settings: var(--emphasis-font-variation-settings, "wght" var(--emphasis--font-weight));
}

:where(p, ul, dl, table) span {
font-size: var(--span-font-size, inherit);
line-height: var(--span-line-height, inherit);
color: var(--span-color, inherit);
font-weight: var(--span-font-weight, inherit);
font-variation-settings: var(--span-font-variation-settings, "wght" var(--span-font-weight));
}

rt {
font-size: var(--ruby-text-font-size);
line-height: var(--ruby-text-line-height);
color: var(--ruby-text-color, inherit);
font-weight: var(--ruby-text-font-weight, inherit);
font-variation-settings: var(--ruby-text-font-variation-settings, "wght" var(--ruby-text-font-weight));
}

p, ul, ol, dl, table, blockquote, pre, figure {
margin-top: var(--margin-top);
margin-bottom: var(--margin-bottom);
word-break: var(--word-break);
overflow-wrap: var(--overflow-wrap);
}

small {
font-size: var(--small-font-size, inherit);
line-height: var(--small-line-height, inherit);
color: var(--small-color, inherit);
word-break: var(--word-break);
overflow-wrap: var(--overflow-wrap);
}

/* @end @variables */

/* -------------------------------------------------------- */

/* @group @variables - @h1 */

h1 {
margin-top: var(--head-1-margin-top);
margin-bottom: var(--head-1-margin-bottom);
font-family: var(--head-1-font-family);
font-size: var(--head-1-font-size);
line-height: var(--head-1-line-height);
color: var(--head-1-color, var(--color));
font-weight: var(--head-1-font-weight, var(--font-weight));
font-variation-settings: var(--head-1-font-variation-settings, "wght" var(--head-1-font-weight));
text-transform: var(--head-1-text-transform);
word-break: var(--head-1-word-break, var(--word-break));
overflow-wrap: var(--head-1-overflow-wrap, var(--overflow-wrap));
text-align: var(--head-1-text-align, var(--text-align));
}

h1 em {
font-family: var(--head-1-emphasis-font-family);
font-size: var(--head-1-emphasis-font-size);
line-height: var(--head-1-emphasis-line-height);
color: var(--head-1-emphasis-color, var(--color));
font-weight: var(--head-1-emphasis-font-weight, var(--font-weight));
font-variation-settings: var(--head-1-emphasis-font-variation-settings, "wght" var(--head-1-emphasis-font-weight));
}

/* @end @variables - @h1 */

/* @group @variables - @h2 */

h2 {
margin-top: var(--head-2-margin-top);
margin-bottom: var(--head-2-margin-bottom);
font-family: var(--head-2-font-family);
font-size: var(--head-2-font-size);
line-height: var(--head-2-line-height);
color: var(--head-2-color, var(--color));
font-weight: var(--head-2-font-weight, var(--font-weight));
font-variation-settings: var(--head-2-font-variation-settings, "wght" var(--head-2-font-weight));
text-transform: var(--head-2-text-transform);
font-style: var(--head-2-font-style);
word-break: var(--head-2-word-break, var(--word-break));
overflow-wrap: var(--head-2-overflow-wrap, var(--overflow-wrap));
text-align: var(--head-2-text-align, var(--text-align));
}

h2 em {
font-family: var(--head-2-emphasis-font-family);
font-size: var(--head-2-emphasis-font-size);
line-height: var(--head-2-emphasis-line-height);
color: var(--head-2-emphasis-color, var(--color));
font-weight: var(--head-2-emphasis-font-weight, var(--head-2-font-weight));
font-variation-settings: var(--head-2-emphasis-font-variation-settings, "wght" var(--head-2-emphasis-font-weight));
}

/* @end @variables - @h2 */

/* @group @variables - @h3 */

h3 {
margin-top: var(--head-3-margin-top);
margin-bottom: var(--head-3-margin-bottom);
font-family: var(--head-3-font-family);
font-size: var(--head-3-font-size);
line-height: var(--head-3-line-height);
color: var(--head-3-color, var(--color));
font-weight: var(--head-3-font-weight, var(--font-weight));
font-variation-settings: var(--head-3-font-variation-settings, "wght" var(--head-3-font-weight));
text-transform: var(--head-3-text-transform);
word-break: var(--head-3-word-break, var(--word-break));
overflow-wrap: var(--head-3-overflow-wrap, var(--overflow-wrap));
text-align: var(--head-3-text-align, var(--text-align));
}

h3 em {
font-family: var(--head-3-emphasis-font-family);
font-size: var(--head-3-emphasis-font-size);
line-height: var(--head-3-emphasis-line-height);
font-weight: var(--head-3-emphasis-font-weight, var(--head-3-font-weight));
color: var(--head-3-emphasis-color, var(--color));
font-variation-settings: var(--head-3-emphasis-font-variation-settings, "wght" var(--head-3-emphasis-font-weight));
}

/* @end @variables - @h3 */

/* @group @variables - @h4 */

h4 {
margin-top: var(--head-4-margin-top);
margin-bottom: var(--head-4-margin-bottom);
font-family: var(--head-4-font-family);
font-size: var(--head-4-font-size);
line-height: var(--head-4-line-height);
color: var(--head-4-color, var(--color));
font-weight: var(--head-4-font-weight, var(--font-weight));
font-variation-settings: var(--head-4-font-variation-settings, "wght" var(--head-4-font-weight));
text-transform: var(--head-4-text-transform);
word-break: var(--head-4-word-break, var(--word-break));
overflow-wrap: var(--head-4-overflow-wrap, var(--overflow-wrap));
text-align: var(--head-4-text-align, var(--text-align));
}

h4 em {
font-family: var(--head-4-emphasis-font-family);
font-size: var(--head-4-emphasis-font-size);
line-height: var(--head-4-emphasis-line-height);
color: var(--head-4-emphasis-color, var(--color));
font-weight: var(--head-4-emphasis-font-weight, var(--head-4-font-weight));
font-variation-settings: var(--head-4-emphasis-font-variation-settings, "wght" var(--head-4-emphasis-font-weight));
}

/* @end @variables - @h4 */

/* @group @variables - @h5 */

h5 {
overflow: var(--head-5-overflow);
margin-top: var(--head-5-margin-top);
margin-bottom: var(--head-5-margin-bottom);
font-family: var(--head-5-font-family);
font-size: var(--head-5-font-size);
line-height: var(--head-5-line-height);
color: var(--head-5-color, var(--color));
font-weight: var(--head-5-font-weight, var(--font-weight));
font-variation-settings: var(--head-5-font-variation-settings, "wght" var(--head-5-font-weight));
text-transform: var(--head-5-text-transform);
word-break: var(--head-5-word-break, var(--word-break));
overflow-wrap: var(--head-5-overflow-wrap, var(--overflow-wrap));
text-align: var(--head-5-text-align, var(--text-align));
}

/* @end @variables - @h5 */

/* -------------------------------------------------------- */

/* @group @variables - @link */

a {
color: var(--link-color, hsl(197.5deg 55% 47.5%));
font-weight: var(--font-weight, var(--font-weight));
font-variation-settings: var(--font-variation-settings, "wght" var(--font-weight));
}

a:focus {
color: var(--link-action-color, hsl(197.5deg 55% 42.5%));
}

@media (hover: hover) {

a:hover {
color: var(--link-action-color, hsl(197.5deg 55% 42.5%));
}

}

a:active {
color: var(--link-active-color, hsl(197.5deg 55% 37.5%));
}

a:disabled {
color: var(--link-disabled-color, hsl(197.5deg 55% 47.5% / 50%));
}

/* @end @variables - @link */

/* @group @variables - @button */

button {
color: var(--button-color);
font-weight: var(--font-weight, var(--font-weight));
font-variation-settings: var(--font-variation-settings, "wght" var(--font-weight));
}

button:focus {
color: var(--button-action-color);
}

@media (hover: hover) {

button:hover {
color: var(--button-action-color);
}

}

button:active {
color: var(--button-active-color);
}

button:disabled {
color: var(--button-disabled-color);
}

/* @end @variables - @button */

/* layout core --------------------------------------------------------*/

/* @group @layout core */

body {
overflow-x: clip;
height: 100vh;
min-height: 100vh;
margin: 0;
background-color: hsl(0deg 0% 100%);
font-feature-settings: "palt";
text-box-edge: ideographic;
text-box-trim: both;
text-spacing-property: trim-start;
}

@supports (min-height: 100dvh) {
body {min-height: 100dvh;}
}

/* @end @layout core */

/* -------------------------------------------------------- */

/* @group @a-ruby-flat */

[class*="a-ruby-flat"] {
display: inline;
}

[class*="a-ruby-flat"] rt,
[class*="a-ruby-flat"] rp {
display: inline;
}

/* @end @a-ruby-flat */

/* -------------------------------------------------------- */

/* @group @a-hidden */

[class*="a-hidden-primary"] {
position: absolute;
z-index: -2;
width: 0;
height: 0;
opacity: 0;
clip: rect(1px, 1px, 1px, 1px);
}

[class*="a-hidden-proto"] {
position: fixed;
z-index: -2;
width: 0;
height: 0;
opacity: 0;
clip: rect(1px, 1px, 1px, 1px);
}

/* @end @a-hidden */

/* -------------------------------------------------------- */

/* @group @a-line-break-primary */

[class*="a-line-break"] {display: inline-block;}

/* @end @a-line-break-primary */

/* @group @variables */

[class*="a-word-break-primo"] {
--font-weight: 500;
}

/* @end @variables */

/* @group @a-word-break */

[class*="a-word-break-primary"],
[class*="a-word-break-deuxieme"],
[class*="a-word-break-toryism"] {
--word-break: keep-all;
--overflow-wrap: anywhere;
}

[class*="a-word-break-premier"],
[class*="a-word-break-primo"] {
--word-break: keep-all;
--overflow-wrap: anywhere;
--text-align: center;
}

@media (width >= 48em) { /* 768px -> * */

[class*="a-word-break-proto"] {
--word-break: keep-all;
--overflow-wrap: anywhere;
}

[class*="a-word-break-deuxieme"] {
--text-align: center;
}

}

@media (width < 48em) { /* 0 -> 767px */

[class*="a-word-break-primero"] {
--word-break: keep-all;
--overflow-wrap: anywhere;
}

[class*="a-word-break-toryism"] {
--text-align: center;
}

}

/* @end @a-word-break */

/* -------------------------------------------------------- */

/* @group @variables */

[class*="a-offscreen-primary"] {
--offscreen-position: absolute;
--offscreen-left: -999em;
}

[class*="a-offscreen-proto"] {
--offscreen-position: fixed;
--offscreen-left: -999em;
}

/* @end @variables */

/* @group @a-offscreen */

[class*="a-offscreen"] {
position: var(--offscreen-position);
z-index: var(--offscreen-z-index);
left: var(--offscreen-left);
}

/* @end @a-offscreen */

/* -------------------------------------------------------- */

/* @group @variables */

[class*="a-hide-primary"] {
--display: none;
}

@media (width >= 48em) { /* 768px -> * */

[class*="a-hide-tertiary"] {
--display: none;
}

}

@media (width < 48em) { /* 0 -> 767px */

[class*="a-hide-trito"] {
--display: none;
}

}

/* @end @variables */

/* @group @a-hide */

[class*="a-hide"] {
display: var(--display);
}

/* @end @a-hide */

/* -------------------------------------------------------- */

/* @group @width / height */

[class*="a-svg-icon"],
[class*="a-svg-"] {
box-sizing: border-box;
width: var(--icon-width);
height: var(--icon-height);
margin: var(--icon-margin);
fill: var(--icon-fill, currentColor);
opacity: var(--icon-opacity);
stroke: var(--icon-stroke);
stroke-width:var(--icon-stroke-width);
stop-color: var(--icon-stop-color);
will-change: transform;
transform: var(--icon-transform);
transform-origin: center;
transition: var(--icon-transition);
}

/* @end @width / height */