@charset "utf-8";

/* ****************************************************************************************************
   * common
**************************************************************************************************** */

* { max-width:100%; text-shadow:none; outline:none; box-sizing:border-box; }

body { margin:0; padding:0; word-break:break-all; -webkit-text-size-adjust:none; }

/* ****************************************************************************************************
   * element
**************************************************************************************************** */

article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, small, address { margin:0; padding:0; display:block; }

small, address, figcaption { margin:0; padding:0; font-size:100%; font-weight:normal; font-style:normal; }

figcaption { margin:0.5em auto; display:table; }

/* ****************************************************************************************************
   * link
**************************************************************************************************** */

a { text-decoration:none; -webkit-tap-highlight-color:rgba( 0, 0, 0, 0 ); }

a:hover { text-decoration:underline; }

a img { transition:opacity 0.5s ease-in-out 0.0s; }

a:hover img { opacity:0.7; }

/* ****************************************************************************************************
   * title
**************************************************************************************************** */

h1, h2, h3, h4, h5, h6 { margin:0; padding:0; font-size:100%; font-weight:normal; font-style:normal; }

/* ****************************************************************************************************
   * text
**************************************************************************************************** */

p { margin:0; padding:0; }

p + * { margin-top:1em; }

* + p { margin-top:1em; }

/* ****************************************************************************************************
   * image
**************************************************************************************************** */

img { height:auto; border:none; vertical-align:bottom; }

/* ****************************************************************************************************
   * table
**************************************************************************************************** */

table { font-size:inherit; font:100%; empty-cells:show; }

/* ****************************************************************************************************
   * form
**************************************************************************************************** */

form { margin:0; padding:0; }

form button:hover,
form input[type="submit"]:hover,
form input[type="image"]:hover { opacity:0.8; }

input,
textarea,
select,
button { vertical-align:middle; }
