@charset 'utf-8';

/* ==================== ▽ リセットCSS ▽ ==================== */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}:where([hidden]:not([hidden='until-found'])){display:none!important}:where(html){-webkit-text-size-adjust:none;color-scheme:dark light}@media (prefers-reduced-motion:no-preference){:where(html:focus-within){scroll-behavior:smooth}}:where(body){line-height:1.5;font-family:system-ui,sans-serif;-webkit-font-smoothing:antialiased}:where(input,button,textarea,select){font:inherit;color:inherit}:where(textarea){resize:vertical;resize:block}:where(button,label,select,summary,[role='button'],[role='option']){cursor:pointer}:where(:disabled){cursor:not-allowed}:where(label:has(>input:disabled),label:has(+input:disabled)){cursor:not-allowed}:where(button){border-style:solid}:where(a){color:inherit;text-underline-offset:.2ex}:where(ul,ol){list-style:none}:where(img,svg,video,canvas,audio,iframe,embed,object){display:block}:where(img,picture,svg){max-inline-size:100%;block-size:auto}:where(p,h1,h2,h3,h4,h5,h6){overflow-wrap:break-word}:where(h1,h2,h3){line-height:calc(1em + 0.5rem)}:where(hr){border:none;border-block-start:1px solid;color:inherit;block-size:0;overflow:visible}:where(:focus-visible){outline:3px solid Highlight;outline-offset:2px;scroll-margin-block:10vh}:where(.visually-hidden:not(:focus-within,:active)){clip-path:inset(50%)!important;height:1px!important;width:1px!important;overflow:hidden!important;position:absolute!important;white-space:nowrap!important;border:0!important}


/* ==================== ▽ 基本設定CSS ▽ ==================== */

/* レスポンシブ */
.pc { display:none; visibility:hidden; }
.tab { display:none; visibility:hidden; }
.sp { display:inline-block; visibility:visible; }
.sp.block { display:block; }
.tab.block { display:none; }
.pc.block { display:none; }

/* 汎用 */
html { overflow-x:hidden; min-height:100vh; height:100%; width:100vw; }
.clear { clear:both; }
.center { text-align:center; }
.right { text-align:right; }
.left { text-align:left; }
strong, .b { font-weight:bold; }
img { height:auto; max-width:100%; width:auto; }

/* スクロールバー */
::-webkit-scrollbar { width:6px; }
::-webkit-scrollbar-thumb { border-radius:6px; }
@-moz-document url-prefix() { html { scrollbar-width:thin; } }

/* リンク */
a { text-decoration:none; }
a.a_underline, .a_underline a { text-decoration:underline; }
a:link, a:visited, a:active, a:hover { transition:.3s; }
a.opacity:link, a.opacity:visited { opacity:1; }
a.opacity:active, a.opacity:hover { opacity:.5; }

/* 縦配置 */
div.table { display:table; width:100%; }
div.tcell { display:table-cell; height:100%; vertical-align:middle; }

/* 間隔制御 */
.m_auto { margin:auto; }
.mt2em { margin-top:2em; }
.mt1em { margin-top:1em; }
.mt075em { margin-top:.75em; }
.mt05em { margin-top:.5em; }
.mt025em { margin-top:.25em; }
.mb2em { margin-bottom:2em; }
.mb1em { margin-bottom:1em; }
.mb075em { margin-bottom:.75em; }
.mb05em { margin-bottom:.5em; }
.mb025em { margin-bottom:.25em; }
.mr2em { margin-right:2em; }
.mr1em { margin-right:1em; }
.ml2em { margin-left:2em; }
.ml1em { margin-left:1em; }
.mtb1em { margin:1em auto; }
.mlr1em { margin:auto 1em; }
.pt2em { padding-top:2em; }
.pt1em { padding-top:1em; }
.pt075em { padding-top:.75em; }
.pt05em { padding-top:.5em; }
.pt025em { padding-top:.25em; }
.pb2em { padding-bottom:2em; }
.pb1em { padding-bottom:1em; }
.pb075em { padding-bottom:.75em; }
.pb05em { padding-bottom:.5em; }
.pb025em { padding-bottom:.25em; }
.pr2em { padding-right:2em; }
.pr1em { padding-right:1em; }
.pl2em { padding-left:2em; }
.pl1em { padding-left:1em; }
.ptb1em { padding:1em 0; }
.plr1em { padding:0 1em; }

/* 角丸 */
.rc1em { border-radius:1em; }
.rc075em { border-radius:.75em; }
.rc05em { border-radius:.5em; }
.rc025em { border-radius:.25em; }

@media only screen and (min-width:600px) {
/* ◆ ===== タブレット ===== ◆ */

/* レスポンシブ */
.pc { display:none; visibility:hidden; }
.tab { display:inline-block; visibility:visible; }
.sp { display:none; visibility:hidden; }
.sp.block { display:none; }
.tab.block { display:block; visibility:visible; }
.pc.block { display:none; }

}


@media only screen and (min-width:1025px) {
/* ◆ ===== PC ===== ◆ */

/* レスポンシブ */
.pc { display:inline-block; visibility:visible; }
.tab { display:none; visibility:hidden; }
.sp { display:none; visibility:hidden; }
.sp.block { display:none; }
.tab.block { display:none; }
.pc.block { display:block; }

}


/* ==================== ▽ 色設定CSS ▽ ==================== */

/* 汎用 */
html { background-color:#fff; color:inherit; }

/* ドラッグ背景色 */
::selection { background-color:#000; color:#fff; }

/* スクロールバー */
::-webkit-scrollbar-track { background-color:transparent; }
::-webkit-scrollbar-thumb { background-image:linear-gradient( #555, #555 ); }
@-moz-document url-prefix() { html { scrollbar-color:#555 transparent; } }

/* リンク色 */
a:link, a:visited { color:inherit; }
a:active, a:hover { color:#e8383d; }
.a_blue a:link, .a_blue a:visited, a.a_blue :link, a.a_blue :visited { color:#00f; }
.a_blue a:active, .a_blue a:hover, a.a_blue :active, a.a_blue :hover { color:#e8383d; }

/* フォント色 */
.color_fff { color:#fff; }
.color_000 { color:#000; }

@media only screen and (min-width:600px) {
/* ◆ ===== タブレット ===== ◆ */

}


@media only screen and (min-width:1025px) {
/* ◆ ===== PC ===== ◆ */

}


/* ==================== ▽ フォント設定CSS ▽ ==================== */

/* フォントファミリー */
html, h1, h2, h3, h4, h5, h6, h7, p, li, dt, dd, a { font-family:'Zen Maru Gothic', serif; }

/* 汎用フォント */
html { font-size:62.5%; }
h1, h2, h3, h4, h5, h6, h7, p, li, dt, dd, a { font-size:1.4rem; font-weight:500; line-height:1.61; text-rendering:optimizeLegibility; }
@-moz-document url-prefix() { h1, h2, h3, h4, h5, h6, h7, p, li, dt, dd, a { font-weight:400; } }

/* フォントサイズ */
.fs30 { font-size:3rem; } /* 30px */
.fs25 { font-size:2.5rem; } /* 25px */
.fs20 { font-size:2rem; } /* 20px */
.fs18 { font-size:1.8rem; } /* 18px */
.fs16 { font-size:1.6rem; } /* 16px */
.fs14 { font-size:1.4rem; } /* 14px */
.fs12 { font-size:1.2rem; } /* 12px */

/* フォントの太さ */
.fw800 { font-weight:800; }
.fw600 { font-weight:600; }
.fw500 { font-weight:500; }
.fw400 { font-weight:400; }

/* 行間 */
.lh2, .lh2 p { line-height:2; }
.lh18, .lh18 p { line-height:1.8; }

@media only screen and (min-width:600px) { 
/* ◆ ===== タブレット ===== ◆ */

/* 汎用フォント */
h1, h2, h3, h4, h5, h6, h7, p, li, dt, dd, a { font-size:1.6rem; }

}


@media only screen and (min-width:1025px) {
/* ◆ ===== PC ===== ◆ */

/* 汎用フォント */
h1, h2, h3, h4, h5, h6, h7, p, li, dt, dd, a { font-size:1.8rem; }

}
