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, hgroup, menu, nav, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; }

body { line-height: 1; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }

nav ul { list-style: none; }

blockquote, q { quotes: none; }

blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }

a { margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent; color: inherit; text-decoration: none; }

/* change colours to suit your needs */
ins { background-color: #ff9; color: #000; text-decoration: none; }

/* change colours to suit your needs */
mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }

del { text-decoration: line-through; }

abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }

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

/* change border colour to suit your needs */
hr { display: block; height: 1px; border: 0; border-top: 1px solid #cccccc; margin: 1em 0; padding: 0; }

input, button, textarea, select { margin: 0; padding: 0; background: none; border: none; border-radius: 0; outline: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; }

textarea { resize: none; }

html, body { -webkit-text-size-adjust: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }

img, video { vertical-align: bottom; max-width: 100%; height: auto; }

img[src$=".svg"] { width: 100%; }

li { list-style: none; }

main { display: block; }

h1, h2, h3, h4, h5 { font-weight: inherit; }

img { width: 100%; }

/* --------------------------------------------------
Common
-------------------------------------------------- */
html, body { height: 100%; font-size: 10px; }

body { font-family: futura-pt, dnp-shuei-gothic-kin-std, sans-serif; color: #000000; }
body.is-loaded #wrapper { opacity: 1 !important; transition: opacity .5s ease 0s; }

@media screen and (max-width: 767px) { .pc { display: none !important; } }
@media screen and (min-width: 768px) { .sp { display: none !important; } }
/* --------------------------------------------------
Header
-------------------------------------------------- */
body #wrapper #contents_wrapper { position: relative; z-index: 1; }
body #wrapper #contents_wrapper header h1 { position: fixed; top: 25px; left: 0; right: 0; width: 114px; margin: 0 auto; z-index: 9; }
body #wrapper #contents_wrapper header nav { position: fixed; bottom: 25px; left: 0; right: 0; z-index: 9; }
body #wrapper #contents_wrapper header nav ul { display: flex; justify-content: center; }
body #wrapper #contents_wrapper header nav ul li { font-size: 1.3rem; letter-spacing: .09em; }
body #wrapper #contents_wrapper header nav ul li.is-current { color: #A3A3A3; }
body #wrapper #contents_wrapper header nav ul li.has-child { position: relative; }
body #wrapper #contents_wrapper header nav ul li.has-child .child-menu { display: none; position: absolute; bottom: 13px; left: 0; }
body #wrapper #contents_wrapper header nav ul li.has-child .child-menu ul { display: block; }
body #wrapper #contents_wrapper header nav ul li.has-child .child-menu ul li { white-space: nowrap; color: #000000; margin: 0 0 10px; }
body #wrapper #contents_wrapper header nav ul li.has-child .child-menu ul li sup { font-size: .5em; vertical-align: top; letter-spacing: .09em; }
body #wrapper #contents_wrapper header nav ul li.has-child .child-menu ul li::after { display: none; }
body #wrapper #contents_wrapper header nav ul li:not(.has-child).is-current a { pointer-events: none; }
body #wrapper #contents_wrapper header nav ul li::after { display: inline; content: ","; margin: 0 .5em 0 0; }
body #wrapper #contents_wrapper header nav ul li:last-child::after { content: "."; margin: 0 0 0 -0.3em; }

@media screen and (orientation: landscape) { body #wrapper #contents_wrapper header h1 { top: 40px; width: 9.9vw; }
  body #wrapper #contents_wrapper header nav { bottom: 40px; }
  body #wrapper #contents_wrapper header nav ul li { font-size: 1vw; letter-spacing: .11em; }
  body #wrapper #contents_wrapper header nav ul li.has-child .child-menu { bottom: 0; }
  body #wrapper #contents_wrapper header nav ul li.has-child .child-menu ul { display: flex; }
  body #wrapper #contents_wrapper header nav ul li.has-child .child-menu ul li { margin: 0; }
  body #wrapper #contents_wrapper header nav ul li.has-child .child-menu ul li:nth-child(1)::after { display: inline-block; content: "/"; margin: 0 .25em; }
  body #wrapper #contents_wrapper header nav ul li.has-child.is-open > a { opacity: 0; pointer-events: none; }
  body #wrapper #contents_wrapper header nav ul li.has-child.is-open::after { opacity: 0; } }
