@charset "UTF-8";
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, 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; }

/* 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; }

main { display: block; }

/* --------------------------------------------------
Common
-------------------------------------------------- */
html { height: 100%; font-size: 10px; }
@media screen and (min-width: 768px) { html { font-size: 10px; } }

body { height: 100%; font-weight: 400; -webkit-text-size-adjust: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }

input, button, textarea, select { -webkit-appearance: none; -moz-appearance: none; appearance: none; border-radius: 0; position: relative; }

select::-ms-expand { display: none; }

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

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

li { list-style: none; }

a { color: inherit; text-decoration: none; }

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

img { width: 100%; }

@media screen and (max-width: 767px) { .pc { display: none !important; } }
@media screen and (min-width: 768px) { .sp { display: none !important; } }
/* --------------------------------------------------
Common
-------------------------------------------------- */
body { font-family: "Yu Mincho Light", "YuMincho", "Yu Mincho", "游明朝体", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", sans-serif; color: #000000; }
body.is-loaded { opacity: 1 !important; transition: opacity 1s ease 0s; }

/* --------------------------------------------------
Header
-------------------------------------------------- */
body #wrapper header { position: absolute; top: 0; left: 0; right: 0; padding: 20px 24px; z-index: 99; font-family: "Michroma", sans-serif; }
body #wrapper header .inner { position: relative; }
body #wrapper header .inner #menu-toggle { position: fixed; z-index: 99; left: 24px; top: 20px; }
body #wrapper header .inner #menu-toggle a { position: relative; width: 25px; height: 16px; display: block; }
body #wrapper header .inner #menu-toggle a::before, body #wrapper header .inner #menu-toggle a::after { display: block; content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: #fff; transition: all .6s ease 0s; }
body #wrapper header .inner #menu-toggle a::after { top: 14px; }
body #wrapper header .inner #menu-toggle a i::before { display: block; content: ""; position: absolute; left: 0; right: 0; top: 7px; height: 2px; background: #fff; transition: all .6s ease 0s; }
body #wrapper header .inner h1 { width: 83px; margin: 0 auto; }
body #wrapper header #menu-wrapper { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 9; background: #fff; display: none; padding: 105px 0 70px; }
body #wrapper header #menu-wrapper .menu-container { height: 100%; display: flex; justify-content: center; align-items: center; text-align: center; }
body #wrapper header #menu-wrapper .menu-container .inner { position: static; }
body #wrapper header #menu-wrapper .menu-container .inner .logoarea { position: absolute; top: 67px; left: 0; right: 0; }
body #wrapper header #menu-wrapper .menu-container .inner .logoarea .logo { width: 145px; margin: 0 auto; }
body #wrapper header #menu-wrapper .menu-container .inner nav ul li { font-size: 1.5rem; }
body #wrapper header #menu-wrapper .menu-container .inner nav ul li + li { margin: 30px 0 0; }
body #wrapper header #menu-wrapper .menu-container .inner small { font-family: "Quattrocento", serif; position: absolute; bottom: 55px; left: 0; right: 0; font-size: 1rem; }
body #wrapper.menu-open header #menu-toggle a::before, body #wrapper.menu-open header #menu-toggle a::after { top: 50%; transform: translate(0, -50%) rotate(135deg); background: #000000; }
body #wrapper.menu-open header #menu-toggle a::after { transform: translate(0, -50%) rotate(225deg); }
body #wrapper.menu-open header #menu-toggle a i::before { opacity: 0; }
body.is-scroll #wrapper header .title { opacity: 1; }
body.is-scroll #wrapper header #menu-toggle a::before, body.is-scroll #wrapper header #menu-toggle a::after { background: #000000; }
body.is-scroll #wrapper header #menu-toggle a i::before { background: #000000; }

@media screen and (min-width: 768px) { body #wrapper header { padding: 44px 37px; }
  body #wrapper header .inner #menu-toggle { left: 37px; top: 44px; }
  body #wrapper header .inner #menu-toggle a { width: 49px; height: 29px; }
  body #wrapper header .inner #menu-toggle a::before, body #wrapper header .inner #menu-toggle a::after { height: 3px; }
  body #wrapper header .inner #menu-toggle a::after { top: 26px; }
  body #wrapper header .inner #menu-toggle a i::before { height: 3px; top: 13px; }
  body #wrapper header .inner h1 { position: absolute; top: 0; right: 0; width: 165px; }
  body #wrapper header #menu-wrapper { top: 110px; right: auto; bottom: auto; left: 37px; background: none; color: #fff; padding: 0; }
  body #wrapper header #menu-wrapper .menu-container { display: block; text-align: left; }
  body #wrapper header #menu-wrapper .menu-container .inner .logoarea { display: none; }
  body #wrapper header #menu-wrapper .menu-container .inner nav { margin: 0; }
  body #wrapper header #menu-wrapper .menu-container .inner nav ul li { font-size: 1.3rem; }
  body #wrapper header #menu-wrapper .menu-container .inner nav ul li a { transition: opacity .4s ease 0s; }
  body #wrapper header #menu-wrapper .menu-container .inner nav ul li a:hover { opacity: .6; }
  body #wrapper header #menu-wrapper .menu-container .inner nav ul li + li { margin: 12px 0 0; }
  body #wrapper header #menu-wrapper .menu-container .inner small { display: none; }
  body #wrapper.menu-open header #menu-toggle a::before, body #wrapper.menu-open header #menu-toggle a::after { top: 50%; background: #fff; }
  body.is-scroll #wrapper header #menu-wrapper { color: #000000; }
  body.is-scroll #wrapper.menu-open header #menu-toggle a::before, body.is-scroll #wrapper.menu-open header #menu-toggle a::after { background: #000000; } }
/* --------------------------------------------------
Contents
-------------------------------------------------- */
body #wrapper #contents { padding: 0 0 105px; }

@media screen and (min-width: 768px) { body #wrapper #contents { padding: 0 0 268px; }
  body #wrapper #contents a { transition: opacity .4s ease 0s; }
  body #wrapper #contents a:hover { opacity: .5; } }
/* --------------------------------------------------
Footer
-------------------------------------------------- */
body #wrapper #foot_contents { text-align: center; }
body #wrapper #foot_contents footer { padding: 90px 0 30px; }
body #wrapper #foot_contents footer .instagram_link { font-family: "Quattrocento", serif; color: #AF6B2C; font-size: 1.35rem; margin: 0 0 50px; }
body #wrapper #foot_contents footer .instagram_link img { display: block; width: 16px; margin: 0 auto 5px; }
body #wrapper #foot_contents footer .totop { width: 144px; color: #fff; font-size: 1.4rem; margin: 0 auto 26px; font-family: "Quattrocento", serif; transform: scale(0.5); }
body #wrapper #foot_contents footer .totop a { display: block; padding: 10px 0; background: #AF6B2C; }
body #wrapper #foot_contents footer small { display: block; font-size: .7rem; margin: 0 0 10px; }
body #wrapper #foot_contents footer .onward { width: 55px; margin: 0 auto; }

@media screen and (min-width: 768px) { body #wrapper #foot_contents a { transition: opacity .4s ease 0s; }
  body #wrapper #foot_contents a:hover { opacity: .5; }
  body #wrapper #foot_contents footer { padding: 120px 0 76px; }
  body #wrapper #foot_contents footer .instagram_link { font-size: 3.3rem; margin: 0 0 120px; }
  body #wrapper #foot_contents footer .instagram_link a { display: block; height: 100%; }
  body #wrapper #foot_contents footer .instagram_link img { width: 39px; }
  body #wrapper #foot_contents footer .totop { width: 176px; font-size: 1.8rem; margin: 0 auto 32px; transform: none; }
  body #wrapper #foot_contents footer .totop a { padding: 12px 0; }
  body #wrapper #foot_contents footer small { font-size: 1.7rem; margin: 0 0 25px; }
  body #wrapper #foot_contents footer .onward { width: 133px; } }
