@charset 'utf-8';

/* ==================== ▽ リセットCSS ▽ ==================== */
*,::before,::after { box-sizing:border-box; border-style:solid; border-width:0; min-width:0; } html { line-height:1.15; -webkit-text-size-adjust:100%; -webkit-tap-highlight-color:transparent; } body { margin:0; } main { display:block; } p, table, blockquote, address, pre, iframe, form, figure, dl { margin:0; } h1, h2, h3, h4, h5, h6 { font-size:inherit; font-weight:inherit; margin:0; } ul, ol { margin:0; padding:0; list-style:none; } dt { font-weight:bold; } dd { margin-left:0; } hr { box-sizing:content-box; height:0; overflow:visible; border-top-width:1px; margin:0; clear:both; color:inherit; } pre { font-family:monospace, monospace; font-size:inherit; } address { font-style:inherit; } a { background-color:transparent; text-decoration:none; color:inherit; } abbr[title] { text-decoration:underline dotted; } b, strong {font-weight:bolder; } code, kbd, samp { font-family:monospace, monospace; font-size:inherit; } small { font-size:80%; } sub, sup { font-size:75%; line-height:0; position:relative; vertical-align:baseline; } sub { bottom:-0.25em; } sup { top:-0.5em; } svg, img, embed, object, iframe {vertical-align:bottom; } button, input, optgroup, select, textarea { -webkit-appearance:none; appearance:none; vertical-align:middle; color:inherit; font:inherit; background:transparent; padding:0; margin:0; border-radius:0; text-align:inherit; text-transform:inherit; } button, [type="button"], [type="reset"], [type="submit"] { cursor:pointer; } button:disabled, [type="button"]:disabled, [type="reset"]:disabled, [type="submit"]:disabled { cursor:default; } :-moz-focusring { outline:auto; } select:disabled { opacity:inherit; } option { padding:0; } fieldset { margin:0; padding:0; min-width:0; } legend { padding:0; } progress { vertical-align:baseline; } textarea { overflow:auto; } [type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height:auto; } [type="search"] { outline-offset:-2px; } [type="search"]::-webkit-search-decoration { -webkit-appearance:none; } ::-webkit-file-upload-button { -webkit-appearance:button; font:inherit; } [type="number"] { -moz-appearance:textfield; } label[for] { cursor:pointer; } details { display:block; } summary { display:list-item; } [contenteditable]:focus { outline:auto; } table { border-color:inherit; border-collapse:collapse; } caption { text-align:left; } td, th { vertical-align:top; padding:0; } th { text-align:left; font-weight:bold; }


/* ==================== ▽ 基本設定CSS ▽ ==================== */

/* レスポンシブ */
.pc { display:none; visibility:hidden; }
.tab { display:none; visibility:hidden; }
.sp { display:inline-block; visibility:visible; }

/* 汎用 */
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; }
.pr075em { padding-right:.75em; }
.pr05em { padding-right:.5em; }
.pr025em { padding-right:2.5em; }
.pl2em { padding-left:2em; }
.pl1em { padding-left:1em; }
.pl075em { padding-left:.75em; }
.pl05em { padding-left:.5em; }
.pl025em { padding-left:.25em; }
.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; }

}


@media only screen and (min-width:1025px) {
/* ◆ ===== PC ===== ◆ */

/* レスポンシブ */
.pc { display:inline-block; visibility:visible; }
.tab { display:none; visibility:hidden; }
.sp { display:none; visibility:hidden; }

}


/* ==================== ▽ 色設定CSS ▽ ==================== */

/* 汎用 */
html { color:inherit; }

/* ドラッグ背景色 */
::selection { background-color:#fff462; color:#000; }

/* スクロールバー */
::-webkit-scrollbar-track { background-color:transparent; }
::-webkit-scrollbar-thumb { background-image:linear-gradient( #d4cbe4, #f5938e ); }
@-moz-document url-prefix() { html { scrollbar-color:#d4cbe4 transparent; } }

/* リンク色 */
a:link, a:visited { color:inherit; }
a:active, a:hover { color:#c7a5cc; }
.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:#ff0; }

/* フォント色 */
.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, summary { font-family:'Noto Sans JP', sans-serif; }
.maru { font-family:'Zen Maru Gothic', serif; }

/* 汎用フォント */
html { font-size:62.5%; }
h1, h2, h3, h4, h5, h6, h7, p, li, dt, dd, summary { 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, summary { 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, summary { font-size:1.6rem; }

}


@media only screen and (min-width:1025px) {
/* ◆ ===== PC ===== ◆ */

/* 汎用フォント */
h1, h2, h3, h4, h5, h6, h7, p, li, dt, dd, summary { font-size:1.8rem; }

}
