@charset "UTF-8";
:root {
   /* フォント */
   --font-family: YakuHanMP, "tbudmincho-std", serif;
   --font-family_heading: YakuHanMP, "ibm-plex-mono", monospace, var(--font-family); /* ← 見出し用*/
   --font-family_alphanumeric: YakuHanMP, "ibm-plex-mono";
   --font-family_icon: 'remixicon';
   --font-weight: 500;
   --font-weight_bold: 800;
   --font-size: 16px;
   --font-size_xs: clamp(12px, 1.5vw, 13px);
   --font-size_s: clamp(14px, 1.8vw, 15px);
   --font-size_l: clamp(17px, 2.5vw, 18px);
   --font-size_xl: clamp(18px, 3vw, 20px);

   /* スペース */
   --space_xs: .2em;
   --space_s: .4em;
   --space_m: .8em;
   --space_l: 1.2em;
   --space_xl: 2.4em;
   --space_2xl: 4em;

   /* 装飾 */
   --border-radius: .6em;
}

/* デバッグ用：どの要素がはみ出してるか確認 */
/* *{outline: 1px solid rgba(255, 0, 0, 0.2);}html,body{background: #fee;} */

/* ======================================
   reset.css(ress.css)
========================================= */
html{box-sizing:border-box;-webkit-text-size-adjust:100%;word-break:normal;-moz-tab-size:4;tab-size:4}*,::before,::after{background-repeat:no-repeat;box-sizing:inherit}::before,::after{text-decoration:inherit;vertical-align:inherit}*{padding:0;margin:0}hr{overflow:visible;height:0;color:inherit}details,main{display:block}summary{display:list-item}small{font-size:80%}[hidden]{display:none}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}a{background-color:transparent}a:active,a:hover{outline-width:0}code,kbd,pre,samp{font-family:monospace,monospace}pre{font-size:1em}b,strong{font-weight:bolder}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:inherit;text-indent:0}iframe{border-style:none}input{border-radius:0}[type='number']::-webkit-inner-spin-button,[type='number']::-webkit-outer-spin-button{height:auto}[type='search']{-webkit-appearance:textfield;outline-offset:-2px}[type='search']::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto;resize:vertical}button,input,optgroup,select,textarea{font:inherit}optgroup{font-weight:700}button{overflow:visible}button,select{text-transform:none}button,[type='button'],[type='reset'],[type='submit'],[role='button']{cursor:pointer}button::-moz-focus-inner,[type='button']::-moz-focus-inner,[type='reset']::-moz-focus-inner,[type='submit']::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type='button']::-moz-focus-inner,[type='reset']::-moz-focus-inner,[type='submit']::-moz-focus-inner{outline:1px dotted ButtonText}button,html [type='button'],[type='reset'],[type='submit']{-webkit-appearance:button}button,input,select,textarea{background-color:transparent}button,input,select,{border-style:none}a:focus,button:focus,input:focus,select:focus,textarea:focus{outline-width:0}select{-moz-appearance:none;-webkit-appearance:none}select::-ms-expand{display:none}select::-ms-value{color:currentColor}legend{border:0;color:inherit;display:table;max-width:100%;white-space:normal;max-width:100%}::-webkit-file-upload-button{-webkit-appearance:button;color:inherit;font:inherit}[disabled]{cursor:default}img{border-style:none}progress{vertical-align:baseline}[aria-busy='true']{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled='true']{cursor:default}

/* ======================================
   共通
========================================= */
*,
*::before,
*::after {
   box-sizing: border-box;
}
html {
   touch-action: manipulation;
   word-break: break-all;
}
html,
body {
   height: 100%;
}
body {
   font-family: var(--font-family);
}
body,
button,
input,
textarea,
select {
   font-size: var(--font-size);
}
h1, h2, h3, h4, h5 {
   font-family: var(--font-family_heading);
}
h1, h2, h3 {
   font-weight: var(--font-weight_bold);
}
h1, h2 {
   font-size: var(--font-size_xl);
}
a {
   cursor: pointer;
   transition: .5s;
   -webkit-transition: .5s;
}
a[role=button] {
   display: block;
}
a.screen-reader-text {
   border: 1px solid;
   border-radius: var(--border-radius);
   display: block;
   left: 0;
   margin: 0;
   opacity: 0;
   padding: .2em .4em;
   pointer-events: none;
   position: absolute;
   text-decoration: none;
   top: 0;
}
a.screen-reader-text:focus-visible {
   opacity: 1;
}
button:focus-visible,
input:focus-visible {
   outline: auto;
}
li {
   list-style: none;
}
strong,
mark {
   font-weight: var(--font-weight_bold);
}
textarea {
   margin-block: .4em;
   min-height: 10em;
   padding: .2em .4em;
}
iframe {
   max-width: 100%;
}

/* .text- */
.text-left {
   text-align: left;
}
.text-center {
   text-align: center;
}
.text-right {
   text-align: right;
}
.text-italic {
   font-style: italic;
}
.text-small {
   font-size: var(--font-size_s);
}
.text-exsmall {
   font-size: var(--font-size_xs);
}
.en.text-capitalize {
   text-transform: capitalize;
}