:root {
   --min-width-icon-instagram: 29px;
   --min-width-icon-twitter: 32px;
   --min-width-icon-youtube: 20px;
   --min-width-icon-line-pc: 20px;
   --min-width-icon-line-sp: 40px;

   --layer-logo: 1;
   --layer-article: 3;
   --layer-modal-btn: 210;
   --layer-modal: 200;
   --layer-ham: 120;
   --layer-search-box-btn: 111;
   --layer-search-box: 110;
   --layer-header: 100;
   --layer-float-menu: 110;
   --layer-footer: 190;

   --margin-main-top: 15px;
   --margin-main-top-sp: 25px;

   /* タイプスケール - major third x 1.250 */
   --font-size-xxs: 0.625rem;
   --font-size-xs: 0.8125rem;
   --font-size-s: 1rem;
   --font-size-m: 1.25rem;
   --font-size-l: 1.5625rem;
   --font-size-xl: 1.9375rem;
   --font-size-xxl: 2.4375rem;
   --font-size-xxxl: 3.0625rem;
   --font-size-xxxxl: 3.8125rem;
   --font-size-xxxxxl: 4.75rem;
   --font-size-xxxxxxl: 5.9375rem;

   /* 色彩 */
   --color-primary: #2b5b45;
   --color-primary-rgb: 43, 91, 69;
   --color-blue: #1b2e40;
   --color-thin-gray: #d9d9d9;
   --color-gray: #d9d9d9;
   --color-accent-yellow: #f7d224;
   --color-accent-yellow-rgb: 247, 210, 36;
   --color-accent-pink: #ffc3cb;
   --color-accent-blue: #8bc1db;
   --color-published: #479d80;
   --color-published-rgb: 71, 157, 128;
   --color-active: #db6a00;
   --color-secondary: #F2F6F4;
   --color-body: #242422;
   --color-golden: #DAAF08;
   --color-golden-rgb: 218, 175, 8;

   --color-main-background: #fff;
   --color-sidebar-background-mobile: #f3f0d8;
   --color-link-general: rgba(5, 20, 58, 0.8);
   --color-link-visited: rgb(52, 0, 136);
   --color-twitter: #1DA1F2;
   --color-twitter-rgb: 29, 161, 242;
   --color-line: #06c755;
   --color-background-soft-green: #d9e9e1;
   --color-background-news: #d9e9e1;
   --color-bar-white: rgb(240, 240, 240);
   --color-background-menu: #949494f5;

   --color-auth: #d7cfcf;
   --color-auth-rgb: 215, 207, 207;
   --color-auth-accent: #6a4d4d;
   --color-auth-reset: rgb(16, 16, 133);
   --color-auth-reset-hover: rgba(16, 16, 133, 0.8);

   --color-ultra-thin-black: rgba(0, 0, 0, 0.1);
   --color-meaningless-gray: #393636;
   --color-meaningless-gray-rgb: 57, 54, 54;

   --color-btn-gray: #524f4d;
   --color-btn--gray-disabled: #7e7e7ed2;
   --color-btn-gray-rgb: 114, 109, 105;

   --color-greeting: #E9EFEC;
   --color-news: #BC9E78;
   --color-news-secondary: #A38258;

   --color-alert: #a70000;
   --color-alert-rgb: 167, 0, 0;
   --color-footer: #004308;

   --color-background: #fffefc;
   --color-background-rgb: 255, 254, 252;
   --color-placeholder-text: #e1e1e1;

   --color-white-offwhite: #f8f9fa;
   --color-white-offwhite-rgb: 248, 249, 250;
   --color-white-lightgray: #f0f0f0;
   --color-white-cream: #fffdd0;
   --color-white-ivory: #fffff0;

   --color-gray-blue: #6A7E9B;
   --color-gray-blue-rgb: 106, 126, 155;
   --color-gray-subtle: #d9d9d9;
   --color-gray-thin: #7f7f7f;
   --color-gray-white: #6f6f6f;
   --color-gray-lighter: #333333;
   --color-gray-light: #303030;
   --color-gray-middle: #2B2B2B;
   --color-gray-normal: #1F1F1F;
   --color-gray-dark: #1B1B1B;
   --color-gray-black: #1A1A1A;

   /* worka */
   --color-primary-worka: #f8f8e4;
   --color-primary-worka-rgb: 248, 248, 228;
}

html {
   line-height: 1.5;
   color: var(--color-body, var(--color-gray-dark));
   box-sizing: border-box;
   max-width: 100% !important;
   height: auto;
   scroll-behavior: smooth;
   -webkit-overflow-scrolling: touch;
   -webkit-text-size-adjust: 100%;
}

body {
   position: relative;
   width: 100%;
   max-width: 100%;
   min-height: 100vh;
   min-height: calc(var(--vh, 1vh) * 100);
   min-height: 100dvh;
   margin: 0 auto;
   padding: 0;
   color: var(--color-body, var(--color-gray-dark));
   font-size: 16px;
   font-weight: lighter;
   font-variant: normal;
   font-feature-settings: "palt"1;
   letter-spacing: 0.2px;
   text-rendering: optimizeLegibility;
   hyphens: auto;
   line-break: strict;
   word-wrap: break-word;
   overflow-y: scroll;
   -webkit-overflow-scrolling: touch;
   box-sizing: border-box;
   background-color: var(--color-main-background, #fff);
}

/**
* 320px以上、570px以下
*/
@media (min-width: 320px) and (max-width: 569px) {
   html, body {
      font-size: 14px;
   }
}

/**
* 320px以下
*/
@media (max-width: 319px) {
   html, body {
      font-size: 8px;
   }
}

/*スクロールバー非表示*/
html,
html * {
   -ms-overflow-style: none;
   scrollbar-width: none;
}

html::-webkit-scrollbar,
html *::-webkit-scrollbar {
   display: none;
}

/* セーフエリア対応 */
main {
   padding-right: constant(safe-area-inset-right);
   padding-left: constant(safe-area-inset-left);
   padding-right: env(safe-area-inset-right);
   padding-left: env(safe-area-inset-left);
}

/* その他 */
a {
   filter: grayscale(0) brightness(100%);
   text-decoration: none;
   color: var(--color-link-general, #000);
   tnrasiiton-duration: 0.3s;
}

button {
   filter: grayscale(0) brightness(100%);
   tnrasiiton-duration: 0.3s;
}

a:visited {
   color: var(--color-link-visited, blue);
}

a:hover,
button:hover {
   filter: grayscale(4%) brightness(90%);
   tnrasiiton-duration: 0.3s;
}

a.pointer_evenets_none:hover {
   opacity: 1;
}

/* パラグラフ標準 */
p {
   line-height: 1.6;
   letter-spacing: 1px;
   font-size: 106%;
   text-align: left;
   margin: 0 auto 16px;
}

div, span, p, a, li, td {
   font-family: "source-han-sans-jp-variable", sans-serif;
   font-variation-settings: "wght"300;
}

blockquote p {
   margin-bottom: 5px;
}

pre {
   white-space: pre-wrap;
   color: #000;
}

/* 色彩 */
span, p, div, input, textarea, select, button, a {
   color: var(--color-gray-black);
   font-weight: 300;
}

/* メイン */
main {
   margin-top: 60px;
}