@charset "UTF-8";
@font-face { font-family: 'Lutz Headline'; src: url("../fonts/LutzHeadline-Regular.woff"); }
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; font-feature-settings: "palt"; -webkit-font-feature-settings: "palt"; 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%; }

*:focus { outline: none; }

/* --------------------------------------------------
Common
-------------------------------------------------- */
:root { font-size: 10px; --font-body-family: 'ヒラギノ角ゴシック','Hiragino Sans','ＭＳ ゴシック', sans-serif; --font-body-en: 'Helvetica','Arial', sans-serif; --font-body-weight: 600; --font-body-size: 1.3rem; --font-body-lh: 1.69; --font-jp-serif: 'ヒラギノ明朝 ProN','Hiragino Mincho ProN','ＭＳ 明朝', 'MS Mincho', sans-serif; --font-en-head: 'Lutz Headline', sans-serif; --font-en-text: futura-pt, sans-serif; --font-en-serif: adobe-caslon-pro, serif; --font-en-serif2: "berthold-baskerville-pro", sans-serif; --primary-color: #000000; --white-color: #FFFFFF; --bg-color: #FFFFFF; --acc-color: #0044BD; --text-align: justify; --ease: cubic-bezier(0.46, 0.1, 0.29, 1); --bounce: cubic-bezier(0.68, -0.6, 0.32, 1.6); --padding-base: 1rem; }
@media screen and (min-width: 768px) and (max-width: 1025px) { :root { font-size: 7px; } }
@media screen and (min-width: 768px) { :root { --font-body-size: 1.6rem; --font-body-lh: 2.06; --padding-base: 2.2%; } }

body { font-family: var(--font-body-family); font-weight: var(--font-body-weight); font-size: var(--font-body-size); line-height: var(--font-body-lh); letter-spacing: var(--font-body-ls); background: var(--bg-color); color: var(--primary-color); text-align: var(--text-align); }
body.isLoaded { opacity: 1 !important; transition: opacity 1s ease 0s; }

a { vertical-align: middle; }

* { box-sizing: border-box; }

@media screen and (max-width: 767px) { .pc { display: none !important; } }
@media screen and (min-width: 768px) { .sp { display: none !important; }
  p a:hover { color: var(--acc-color); } }
/* --------------------------------------------------
Parts
-------------------------------------------------- */
#wrapper[data-language="jp"] .textEn { display: none; }
#wrapper[data-language="en"] .textJp { display: none; }

.textEn { font-family: var(--font-body-en); letter-spacing: 0; text-align: left; }

.img--logo { aspect-ratio: 1000 / 103; }
.img--logoMark { aspect-ratio: 500 / 240; }

.icon { display: block; background: currentColor; mask-repeat: no-repeat; mask-size: contain; mask-position: center; }
.icon--instagram { aspect-ratio: 100 / 100; mask-image: url("../images/icon-instagram.svg"); }
.icon--glass { aspect-ratio: 100 / 47; mask-image: url("../images/icon-glass.svg"); }
.icon--arrow { aspect-ratio: 100 / 44; mask-image: url("../images/icon-arrow.svg"); }
.icon--close { aspect-ratio: 100 / 100; mask-image: url("../images/icon-close.svg"); }
.icon--map { aspect-ratio: 100 / 137; mask-image: url("../images/icon-map.svg"); }
.icon--website { aspect-ratio: 100 / 100; mask-image: url("../images/icon-website.svg"); }

.align--center { text-align: center; }
.align--right { text-align: right; }
@media screen and (min-width: 768px) { .align--lc { text-align: center; } }

.color--white { color: var(--white-color); }
.color--acc { color: var(--acc-color); }

.font--jpSerif { font-family: var(--font-jp-serif); }
.font--enHead { font-family: var(--font-en-head); font-weight: 400; line-height: 1; letter-spacing: 0.06em; }
.font--enText { font-family: var(--font-en-text); line-height: 1; }
.font--enSerif { font-family: var(--font-en-serif); line-height: 1; }
.font--enSerif2 { font-family: var(--font-en-serif2); }

.filter--dropShadow { filter: drop-shadow(0.3rem 0.3rem 0.5rem rgba(0, 0, 0, 0.3)); }

.toggleBtn { text-align: center; }
.toggleBtn__link { display: inline-flex; flex-direction: column; align-items: center; column-gap: 0.5rem; }
.toggleBtn__link.isOpen .toggleBtn__text--open { display: none; }
.toggleBtn__link.isOpen .toggleBtn__text--close { display: inline; }
.toggleBtn__link.isOpen .toggleBtn__icon { transform: scale(1, -1); }
.toggleBtn__text { font-family: var(--font-en-head); font-size: 1.4rem; letter-spacing: 0.05em; white-space: nowrap; }
.toggleBtn__text--close { display: none; }
.toggleBtn__icon { width: 6.3rem; transition: transform 0.4s var(--ease) 0s; }

.wp-pagenavi { display: flex; justify-content: center; font-family: var(--font-body-en); column-gap: 1.5rem; font-size: 1.5rem; }
.wp-pagenavi .current { color: var(--acc-color); }
.wp-pagenavi .first, .wp-pagenavi .last { text-decoration: underline; text-decoration-thickness: 0.2rem; text-underline-offset: 0.3rem; }

@media screen and (min-width: 768px) { .filter--dropShadow { filter: drop-shadow(0.3rem 0.3rem 1rem rgba(0, 0, 0, 0.3)); }
  .toggleBtn__link { column-gap: 0.8rem; }
  .toggleBtn__text { font-size: 2.1rem; }
  .toggleBtn__icon { width: 8.1rem; }
  .wp-pagenavi { column-gap: 2rem; font-size: 2rem; } }
/* --------------------------------------------------
Header
-------------------------------------------------- */
.header__topBar { position: fixed; left: 0; right: 0; top: 0; background: rgba(255, 255, 255, 0.9); height: 5rem; padding: 0 calc(var(--padding-base) * 2); display: flex; align-items: center; z-index: 99; }
.header__topBarColumn { width: 5rem; }
.header__topBarToggleMenu { width: 3.6rem; }
.header__topBarToggleMenuLink { aspect-ratio: 1; display: flex; justify-content: center; align-items: center; transition: transform 0.4s var(--ease) 0s; }
#wrapper.isMenuOpen .header__topBarToggleMenuLink { transform: rotate(90deg); }
.header__topBarLogo { flex: 1; }
.header__topBarLogo img { width: 18rem; }
.header__topBarToggleLang { width: 2.8rem; aspect-ratio: 1; font-size: 1.3rem; margin: 0 0 0 auto; }
.header__topBarToggleLangType { height: 100%; display: block; border-radius: 50%; }
.header__topBarToggleLangTypeLink { height: 100%; display: flex; justify-content: center; align-items: center; }
.header__topBarToggleLangType--en { background: var(--white-color); }
#wrapper[data-language="en"] .header__topBarToggleLangType--en { display: none; }
.header__topBarToggleLangType--jp { background: var(--primary-color); color: var(--white-color); }
#wrapper[data-language="jp"] .header__topBarToggleLangType--jp { display: none; }
.header__menu { position: fixed; left: 0; top: 5rem; bottom: 0; width: 23rem; background: rgba(255, 255, 255, 0.9); z-index: 99; overflow: auto; transform: translate(-101%, 0); transition: transform 0.4s var(--ease) 0s; }
.header__menuInner { padding: calc(var(--padding-base) * 2.5); display: flex; flex-direction: column; row-gap: 3.5rem; }
.header__menuNav { display: flex; flex-direction: column; row-gap: 3.5rem; }
.header__menuNavList { display: flex; flex-direction: column; row-gap: 2.5rem; }
.header__menuNavListItem { font-size: 2rem; letter-spacing: 0.06em; }
.header__menuNavList--sub .header__menuNavListItem { font-size: 1.8rem; }
.header__menuExternalNavList { display: flex; flex-direction: column; row-gap: 2.5rem; }
.header__menuExternalNavListItem { font-size: 1.7rem; letter-spacing: 0.06em; }
.header__menuExternalNavListItemLink { display: inline-flex; align-items: center; column-gap: 0.5rem; }
.header__menuExternalNavListItemLinkIcon { width: 1.9rem; }
#wrapper.isMenuOpen .header__menu { transform: none; }

@media screen and (min-width: 768px) { .header__topBar { height: 6rem; padding: 0 var(--padding-base); }
  .header__topBarLogo img { width: 23.5rem; }
  .header__topBarToggleLang { width: 3.6rem; font-size: 1.7rem; }
  .header__menu { top: 6rem; width: 34rem; }
  .header__menuInner { padding: 3.5rem 6rem; row-gap: 5rem; }
  .header__menuNav { row-gap: 5rem; }
  .header__menuNavList { row-gap: 3.5rem; }
  .header__menuNavListItem { font-size: 2.1rem; }
  .header__menuExternalNavListItem { font-size: 1.8rem; }
  .header__menuExternalNavListItemLinkIcon { width: 2.3rem; } }
/* --------------------------------------------------
Contents
-------------------------------------------------- */
.contents { position: relative; z-index: 3; }

/* --------------------------------------------------
Footer
-------------------------------------------------- */
.footer { padding: 10rem 0 1rem; }
.footer__inner { padding: 0 calc(var(--padding-base) * 3); }
.footer__nav { color: var(--acc-color); font-family: var(--font-en-head); font-weight: 400; line-height: 1; letter-spacing: 0.06em; display: flex; flex-direction: column; flex-wrap: wrap; max-height: 31rem; }
.footer__navGroup { display: contents; }
.footer__navGroupList { display: contents; }
.footer__navGroupListItem { width: 50%; white-space: nowrap; }
.footer__navGroup--main .footer__navGroupListItem { font-size: 1.8rem; letter-spacing: 0.06em; margin: 0 0 2.5rem; }
.footer__navGroup--sub .footer__navGroupListItem { font-size: 1.5rem; letter-spacing: 0.06em; margin: 0 0 2rem; }
.footer__navGroup--sub .footer__navGroupListItem:last-child { margin: 0 0 3rem; }
.footer__navGroup--external .footer__navGroupTitle { font-size: 1.3rem; letter-spacing: 0.06em; margin: 0 0 1.5rem; }
.footer__navGroup--external .footer__navGroupListItem { font-size: 1.5rem; letter-spacing: 0.06em; margin: 0 0 1.5rem; }
.footer__navGroup--external .footer__navGroupListItemLink { display: inline-flex; align-items: center; column-gap: 0.6rem; }
.footer__navGroup--external .footer__navGroupListItemLinkIcon { width: 1.6rem; }
.footer__copyrightText { font-family: var(--font-body-en); font-size: 1rem; }

@media screen and (min-width: 768px) { .footer { padding: 16rem 0 1rem; }
  .footer__inner { padding: 0 calc(var(--padding-base) * 5); }
  .footer__nav { flex-direction: row; max-height: none; margin: 0 0 6rem; }
  .footer__navGroup { display: block; }
  .footer__navGroupList { display: flex; flex-direction: column; }
  .footer__navGroupListItem { width: 100%; }
  .footer__navGroup--main { width: 54%; }
  .footer__navGroup--main .footer__navGroupList { display: grid; grid-auto-flow: column; grid-template-rows: repeat(3, auto); row-gap: 3rem; }
  .footer__navGroup--main .footer__navGroupListItem { font-size: 2.2rem; margin: 0; }
  .footer__navGroup--sub { width: 18%; }
  .footer__navGroup--sub .footer__navGroupList { height: 100%; justify-content: space-between; }
  .footer__navGroup--sub .footer__navGroupListItem { font-size: 2rem; margin: 0; }
  .footer__navGroup--sub .footer__navGroupListItem:last-child { margin: 0; }
  .footer__navGroup--external { display: flex; flex-direction: column; }
  .footer__navGroup--external .footer__navGroupTitle { font-size: 1.9rem; margin: 0 0 3rem; }
  .footer__navGroup--external .footer__navGroupList { flex: 1; justify-content: space-between; }
  .footer__navGroup--external .footer__navGroupListItem { font-size: 1.9rem; margin: 0; }
  .footer__navGroup--external .footer__navGroupListItemLink { column-gap: 0.8rem; }
  .footer__navGroup--external .footer__navGroupListItemLinkIcon { width: 2.4rem; }
  .footer__copyrightText { font-size: 1.2rem; } }
