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: normal; }

img { width: 100%; }

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

body { font-family: aktiv-grotesk, YuGothic, "Yu Gothic", dnp-shuei-gothic-kin-std, sans-serif; color: #211613; font-weight: 500; }
body.is-loaded #wrapper { opacity: 1 !important; transition: opacity 2s 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 .color-bar a { height: 100%; display: flex; flex-direction: column; justify-content: space-between; }
body #wrapper .color-bar a span { display: block; top: 0; left: 0; right: 0; }
body #wrapper .color-bar.black a span { background: #211613; }
body #wrapper .color-bar.khaki a span { background: #86684D; }
body #wrapper .color-bar.navy a span { background: #192350; }
body #wrapper header { position: relative; }
body #wrapper header .logo { position: absolute; top: 22px; left: 20px; width: 66px; z-index: 9; }
body #wrapper header #menu-open { position: fixed; top: 20px; right: 20px; color: #ffffff; font-size: 1.95rem; z-index: 99; }
body #wrapper header #menu-wrapper { position: fixed; top: 0; right: 0; background: rgba(255, 255, 255, 0.9); padding: 48px 20px 30px; z-index: 999; transform: translate(101%, 0); transition: transform .4s ease 0s; }
body #wrapper header #menu-wrapper #menu-close { position: absolute; top: 13px; right: 10px; width: 27px; }
body #wrapper header #menu-wrapper #menu-close a { display: block; padding: 5px; }
body #wrapper header #menu-wrapper nav > ul > li { font-size: 2rem; }
body #wrapper header #menu-wrapper nav > ul > li .level-2 { display: flex; margin: 25px 0 0; }
body #wrapper header #menu-wrapper nav > ul > li .level-2 .color-bar { width: 44px; height: 61px; }
body #wrapper header #menu-wrapper nav > ul > li .level-2 .color-bar span { height: 5px; }
body #wrapper header #menu-wrapper nav > ul > li .level-2 .color-bar span:nth-child(2) { height: 14px; }
body #wrapper header #menu-wrapper nav > ul > li .level-2 .color-bar:nth-child(2) { margin: 0 12px; }
body #wrapper header #menu-wrapper nav > ul > li + li { margin: 20px 0 0; }
body #wrapper header #menu-wrapper.is-open { transform: none; }

@media screen and (min-width: 768px) { body #wrapper header .logo { top: 40px; left: 34px; width: 106px; }
  body #wrapper header #menu-open { top: 35px; right: 40px; font-size: 2.6rem; }
  body #wrapper header #menu-wrapper { padding: 40px 35px; }
  body #wrapper header #menu-wrapper #menu-close { top: 20px; right: 20px; width: 32px; }
  body #wrapper header #menu-wrapper nav > ul > li { font-size: 2.3rem; }
  body #wrapper header #menu-wrapper nav > ul > li .level-2 { margin: 30px 0 0; }
  body #wrapper header #menu-wrapper nav > ul > li .level-2 .color-bar { width: 50px; height: 69px; }
  body #wrapper header #menu-wrapper nav > ul > li .level-2 .color-bar span:nth-child(2) { height: 16px; }
  body #wrapper header #menu-wrapper nav > ul > li .level-2 .color-bar:nth-child(2) { margin: 0 23px; }
  body #wrapper header #menu-wrapper nav > ul > li + li { margin: 30px 0 0; } }
/* --------------------------------------------------
Footer
-------------------------------------------------- */
body #wrapper footer { background: rgba(0, 0, 0, 0.9); text-align: center; color: #ffffff; padding: 60px 0 10px; }
body #wrapper footer .logo { width: 144px; margin: 0 auto 22px; }
body #wrapper footer .instagram { width: 22px; margin: 0 auto 20px; }
body #wrapper footer .footer_nav { max-width: 330px; display: flex; justify-content: center; flex-wrap: wrap; margin: 0 auto 10px; }
body #wrapper footer .footer_nav li { font-size: 1.1rem; line-height: 2.27; }
body #wrapper footer .footer_nav li + li::before { display: inline-block; content: "|"; margin: 0 .5em; }
body #wrapper footer .footer_nav li:nth-child(5)::before { display: none; }
body #wrapper footer small { font-size: .85rem; }

@media screen and (min-width: 768px) { body #wrapper footer { padding: 105px 0 25px; }
  body #wrapper footer .logo { width: 205px; margin: 0 auto 30px; }
  body #wrapper footer .instagram { width: 31px; margin: 0 auto 45px; }
  body #wrapper footer .footer_nav { max-width: 100%; margin: 0 auto 25px; }
  body #wrapper footer .footer_nav li { font-size: 1.3rem; line-height: 1; }
  body #wrapper footer .footer_nav li:nth-child(5)::before { display: inline-block; }
  body #wrapper footer small { font-size: 1.05rem; } }
