@charset "utf-8";

/* Reset CSS ------------------------------ */
*, *::before, *::after { box-sizing: border-box; }

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, main, menu, nav, section, summary,
time, mark, audio, video, picture {
    margin: 0; padding: 0;
}

article, aside, details, figcaption, figure, footer, header, main, menu, nav, section { display: block; }
html { -webkit-text-size-adjust: 100%; font-size: 62.5%; /* <- 10px ＝ 1rem に */ overflow-x: hidden; }
body { font-family: var(--font_sans); overflow-x: hidden; -webkit-text-size-adjust: 100%; }
ul, ol, li { list-style-type: none; }
table { border-collapse: collapse; border-spacing: 0; }
a { text-decoration: none; color: black; }
h1, h2, h3, h4, h5, h6, dt, dd, li, p, pre, a { font-size: 1.6rem; font-weight: normal; }
th, td, caption, figcaption { font-size: 1.2rem; font-weight: normal; }
img, input, select, textarea { vertical-align: middle; }
address { font-style: normal; }

/* 短コンテンツ時、フッターをブラウザ下へ ---------- */
body, main { height: 100%; }
.body_wrapper { font-size: 0; /* <- 隙間防止 */ display: grid; grid-template-rows: auto 1fr auto; /* <- header, main, footer */ min-height: 100vh; }

/* 画像 ------------------------------ */
img, picture { border: 0; max-width: 100%; height: auto; pointer-events: none; /* <- 画像の右クリック保存・ドラッグ保存を禁止 */ }
img, picture { -webkit-touch-callout: none; -moz-touch-callout: none; touch-callout: none; -webkit-user-select: none; -moz-user-select: none; user-select: none; } /* スマホ。画像保存禁止 */

/* フォーム ------------------------------ */
input[type='text'], input[type='email'], input[type='tel'], input[type='submit'], button, textarea { margin: 0; padding: 0; font: inherit; color: inherit; background: transparent; border: none; border-radius: 0; outline: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; }
textarea { resize: none; }
input[type='submit'], input[type='button'], label, button, select { cursor: pointer; }
select::-ms-expand { display: none; } /* IE：select要素のデザインを無効に？ */
