@charset "UTF-8";
* { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro','YuGothic','Yu Gothic','游ゴシック','Meiryo','メイリオ', sans-serif; font-size: 14px; }

*:focus { outline: none; }

*:hover { transition: .3s; }

html { height: 100%; }

body { color: #333; height: 100%; letter-spacing: 1.2px; }

h1, h2, h3, h4, h5 { font-size: 1rem; }

img { display: block; font-size: 0; line-height: 0; border: 0; width: 100%; pointer-events: none; user-select: none; }

a { color: #444; display: inline-block; text-decoration: none; }

button { display: block; background: transparent; border: 0; cursor: pointer; }

input, select, textarea { -webkit-appearance: none; appearance: none; color: #444; border: 0; box-shadow: none; font-size: 16px; transform-origin: left center; transform: scale(0.85); width: 115%; }

textarea { resize: none; line-height: 1.5; }

table { border-spacing: 0; border-collapse: collapse; }

#wrapper { position: relative; width: 100%; min-height: 100vh; display: flex; flex-direction: column; }

#wrapper main { display: block; }

.bgBase { background: #ffc101; }

.bgBase * { color: white; }

.bgBaseLight { background: #f5dd93; }

.bgLightGry { background: #f7f6f0; }

ruby rt { font-size: .7rem; font-weight: normal; }

.tx-c { text-align: center; }

.tx-r { text-align: right; }

.fx { display: flex; }

.fx-a { display: flex; justify-content: space-around; align-items: center; }

.fx-b { display: flex; justify-content: space-between; align-items: center; }

.fx-c { display: flex; justify-content: center; align-items: center; }

@media all and (max-width: 320px) { * { font-size: 12px; } }
