/* ============================== */
/* リセットCSS（destyle.css） */
/* ============================== */
*,::before,::after{border-style:solid;border-width:0;box-sizing:border-box;min-width:0}html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;line-height:1.15}body{margin:0}main{display:block}address,blockquote,dl,figure,form,iframe,p,pre,table{margin:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}ol,ul{list-style:none;margin:0;padding:0}dt,th{font-weight:700}dd{margin-left:0}hr{border-top-width:1px;box-sizing:content-box;clear:both;color:inherit;height:0;margin:0;overflow:visible}code,kbd,pre,samp{font-family:monospace,monospace;font-size:inherit}address{font-style:inherit}a{background-color:transparent;color:inherit;text-decoration:none}abbr[title]{text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}embed,iframe,img,object,svg{vertical-align:bottom}button,input,optgroup,select,textarea{-webkit-appearance:none;appearance:none;background:transparent;border-radius:0;color:inherit;font:inherit;margin:0;padding:0;text-align:inherit;text-transform:inherit;vertical-align:middle}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}fieldset,legend,option{padding:0}fieldset{margin:0;min-width:0}progress{vertical-align:baseline}textarea{overflow:auto}[type="number"]{-moz-appearance:textfield}[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}label[for]{cursor:pointer}details{display:block}summary{display:list-item}[contenteditable]:focus{outline:auto}table{border-collapse:collapse;border-color:inherit}caption{text-align:left}td,th{padding:0;vertical-align:top}th{text-align:left}


/* ============================== */
/* ベース */
/* ============================== */

/* 基礎 */
html { -webkit-tap-highlight-color:transparent; block-size:100%; box-sizing:border-box; overflow-x:clip; text-size-adjust:100%; text-spacing-trim:trim-start; word-break:normal; }
body { display:flex; flex-direction:column; font-feature-settings:"palt"; font-kerning:normal; hanging-punctuation:allow-end; letter-spacing:0.02em; margin:0; min-block-size:100%; overflow-wrap:anywhere; overflow-x:clip; text-align:justify; text-justify:inter-character; text-underline-offset:0.2em; text-wrap:pretty; }

/* 視覚的にのみ非表示（スクリーンリーダーには読ませる） */
.sr-only { block-size:1px; border:0; clip-path:inset(50%); inline-size:1px; margin:-1px; overflow:hidden; padding:0; position:absolute; white-space:nowrap; }

/* ============================== */
/* テキスト */
/* ============================== */

/* 文字寄せ */
.center { text-align:center; }
.left { text-align:left; }
.right { text-align:right; }

/* ============================== */
/* レイアウト */
/* ============================== */

/* display */
.block { display:block; }
.flex { display:flex; }
.grid { display:grid; }
.contents { display:contents; }
.hidden { display:none; }

/* flex-direction */
.flex-col { flex-direction:column; }

/* 表示・非表示 */
.visible { visibility:visible; }
.invisible { visibility:hidden; }

/* テキスト省略 */
.truncate { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* ============================== */
/* リンク */
/* ============================== */

/* モーション */
a:link, a:visited, a:active, a:hover { transition:all .3s; }

/* 汎用 */
a.common-link, .common-link a { color:#00f; text-decoration:underline; }
