@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; scroll-behavior:auto; height:100%; width:100vw; }
html body { scroll-behavior:auto; }
.clear { clear:both; }
.center { text-align:center; }
.right { text-align:right; }
.left { text-align:left; }
.m_auto { margin:auto; }
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; }

/* 全体 */
div.site { display:flex; flex-direction:column; min-height:100vh; }
footer { margin-top:auto; }


@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 { background-color:#f4f0e4; color:#333; }

/* ドラッグ背景色 */
::selection { background-color:#00a968; color:#fff; }

/* スクロールバー */
::-webkit-scrollbar-track { background-color:transparent; }
::-webkit-scrollbar-thumb { background-image:linear-gradient( #00a968, #a7d28d ); }
@-moz-document url-prefix() { html { scrollbar-color:#00a968 transparent; } }

/* リンク色 */
a:link, a:visited { color:inherit; }
a:active, a:hover { color:#226a73; }
.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:#226a73; }

@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 { font-family:'Noto Sans JP', sans-serif; font-optical-sizing:auto; font-style:normal; }

/* 汎用フォント */
html { font-size:62.5%; }
h1, h2, h3, h4, h5, h6, h7, p, li, dt, dd { font-size:14px; 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 { font-weight:400; } }


@media only screen and (min-width:600px) { 
/* ◆ ===== タブレット ===== ◆ */

/* 汎用フォント */
h1, h2, h3, h4, h5, h6, h7, p, li, dt, dd { font-size:16px; }

}


@media only screen and (min-width:1025px) {
/* ◆ ===== PC ===== ◆ */

/* 汎用フォント */
h1, h2, h3, h4, h5, h6, h7, p, li, dt, dd { font-size:18px; }

}
