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

* { box-sizing: border-box; }

/* --------------------------------------------------
Common
-------------------------------------------------- */
:root { font-size: 10px; --font-body-family: neue-haas-grotesk-text, sans-serif; --font-mix: neue-haas-grotesk-text, dnp-shuei-gothic-gin-std, sans-serif; --font-body-weight: 400; --font-body-size: calc(var(--vw) * (0.016 * 100)); --font-body-lh: 1.25; --font-body-ls: 0; --primary-color: #000000; --white-color: #FFFFFF; --bg-color: #FFFFFF; --ease: cubic-bezier(0.25, 0.1, 0.25, 1); --easein: cubic-bezier(0.32, 0, 0.67, 0); --easeout: cubic-bezier(0.33, 1, 0.68, 1); --easeinout: cubic-bezier(0.55, 0.05, 0.22, 0.99); --bounce: cubic-bezier(0.68, -0.6, 0.32, 1.6); --back: cubic-bezier(0.34, 1.56, 0.64, 1); }
@media screen and (orientation: landscape) { :root { --font-body-size: calc(var(--vw) * (0.0083 * 100)); } }

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

@media screen and (orientation: portrait) { .pc { display: none !important; } }
@media screen and (orientation: landscape) { .sp { display: none !important; } }
/* --------------------------------------------------
Contents
-------------------------------------------------- */
html { -ms-overflow-style: none; scrollbar-width: none; }
html::-webkit-scrollbar { display: none; }

body { overflow: hidden; touch-action: none; }
body #wrapper .mv { position: fixed; inset: 0; z-index: 999; }
body #wrapper .mv .imagearea { height: 50%; }
body #wrapper .mv .imagearea img { height: 100%; object-fit: cover; }
body #wrapper .mv .logo { width: 13.33%; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); filter: invert(1); }
body #wrapper .container { width: calc(var(--vw) * (4.4853 * 100)); aspect-ratio: 3364 / 5744; position: relative; opacity: 0; }
body #wrapper .container .panel > * { position: absolute; }
body #wrapper .container .panel .header { position: fixed; width: calc(var(--vw) * (0.1333 * 100)); left: calc(var(--vw) * (0.1413 * 100)); top: calc(var(--vw) * (0.192 * 100)); z-index: 9; }
body #wrapper .container .panel .header .logo { margin: 0 0 50%; }
body #wrapper .container .panel .header .menu ul li:not(:last-child) { margin: 0 0 25%; }
body #wrapper .container .panel .imagearea--01 { width: 12.37%; left: 4.34%; top: 6.28%; }
body #wrapper .container .panel .imagearea--02 { width: 12.01%; left: 18.7%; top: 11.32%; }
body #wrapper .container .panel .imagearea--03 { width: 15.43%; left: 35.7%; top: 2.4%; }
body #wrapper .container .panel .imagearea--04 { width: 12.01%; left: 57.37%; top: 7.45%; }
body #wrapper .container .panel .imagearea--05 { width: 14.09%; left: 74.76%; top: 3.39%; }
body #wrapper .container .panel .imagearea--06 { width: 11.44%; left: 84.6%; top: 17.13%; }
body #wrapper .container .panel .imagearea--07 { width: 13.32%; left: 5.08%; top: 24.11%; }
body #wrapper .container .panel .imagearea--08 { width: 14.77%; left: 23.07%; top: 28.81%; }
body #wrapper .container .panel .imagearea--09 { width: 12.93%; left: 36.95%; top: 16.59%; }
body #wrapper .container .panel .imagearea--10 { width: 14.09%; left: 45.93%; top: 28.71%; }
body #wrapper .container .panel .imagearea--11 { width: 14.09%; left: 63.64%; top: 19.67%; }
body #wrapper .container .panel .imagearea--12 { width: 17.45%; left: 77.11%; top: 33.39%; }
body #wrapper .container .panel .imagearea--13 { width: 17.45%; left: 5.08%; top: 43.63%; }
body #wrapper .container .panel .imagearea--14 { width: 12.01%; left: 7.82%; top: 64.55%; }
body #wrapper .container .panel .imagearea--15 { width: 13.05%; left: 34.22%; top: 42.31%; }
body #wrapper .container .panel .imagearea--16 { width: 18.31%; left: 27.62%; top: 54.75%; }
body #wrapper .container .panel .imagearea--17 { width: 13.32%; left: 58.17%; top: 41.3%; }
body #wrapper .container .panel .imagearea--18 { width: 15.31%; left: 53.57%; top: 54.75%; }
body #wrapper .container .panel .imagearea--19 { width: 11.39%; left: 77.11%; top: 51.04%; }
body #wrapper .container .panel .imagearea--20 { width: 13.29%; left: 64.45%; top: 69.92%; }
body #wrapper .container .panel .imagearea--21 { width: 12.57%; left: 81.48%; top: 63.37%; }
body #wrapper .container .panel .imagearea--22 { width: 15.16%; left: 6.51%; top: 79.65%; }
body #wrapper .container .panel .imagearea--23 { width: 15.31%; left: 26.55%; top: 84.61%; }
body #wrapper .container .panel .imagearea--24 { width: 11.39%; left: 48.84%; top: 74.67%; }
body #wrapper .container .panel .imagearea--25 { width: 12.57%; left: 29.67%; top: 71.78%; }
body #wrapper .container .panel .imagearea--26 { width: 13.32%; left: 51.52%; top: 86.93%; }
body #wrapper .container .panel .imagearea--27 { width: 21.28%; left: 73.28%; top: 82.16%; }
body #wrapper .container .panel .textarea { display: flex; flex-direction: column; row-gap: 10em; }
body #wrapper .container .panel .textarea p { width: 100%; }
body #wrapper .container .panel .textarea p span { font-family: "Inter", sans-serif; }
body #wrapper .container .panel .textarea--01 { width: 18.85%; left: 19.47%; top: 3.93%; }
body #wrapper .container .panel .textarea--02 { width: 15.61%; left: 4.99%; top: 18.28%; }
body #wrapper .container .panel .textarea--03 { width: 13.5%; left: 58.56%; top: 34.8%; }
body #wrapper .container .panel .textarea--04 { width: 10.05%; left: 49.35%; top: 70.18%; }
body #wrapper .container .panel .textarea--05 { width: 12.31%; left: 17.51%; top: 60.36%; }
body #wrapper .container .panel .copyright { white-space: nowrap; left: 44.56%; top: 99.04%; }
body #wrapper .modal-container { position: fixed; inset: 0; z-index: 99; display: none; }
body #wrapper .modal-container .contact-modal { width: 100%; height: 100%; background: var(--white-color); font-size: 1.2rem; overflow: auto; }
body #wrapper .modal-container .contact-modal .inner { padding: 3rem; }
body #wrapper .modal-container .contact-modal .inner .modal-close { width: 3rem; border: 0.1rem solid; border-radius: 50%; margin: 0 0 3rem auto; }
body #wrapper .modal-container .contact-modal .inner .title { margin: 0 0 3rem; }
body #wrapper .modal-container .contact-modal .inner .form { font-family: var(--font-mix); }
body #wrapper .modal-container .contact-modal .inner .form .input-group { margin: 0 0 2rem; }
body #wrapper .modal-container .contact-modal .inner .form .input-group .label { margin: 0 0 1rem; }
body #wrapper .modal-container .contact-modal .inner .form .input-group .input input, body #wrapper .modal-container .contact-modal .inner .form .input-group .input textarea { font-family: var(--font-mix); display: block; width: 100%; border: 0.1rem solid; font-size: 1.2rem; padding: 0.5rem; }
body #wrapper .modal-container .contact-modal .inner .form .input-group .wpcf7-not-valid-tip { color: #A51010; font-size: 0.9rem; margin: 0.5rem 0 0; }
body #wrapper .modal-container .contact-modal .inner .form .send-btn { display: flex; flex-direction: column; row-gap: 2rem; }
body #wrapper .modal-container .contact-modal .inner .form .send-btn .btnarea input { color: var(--primary-color); font-family: var(--font-body-family); width: 14rem; display: flex; justify-content: center; align-items: center; height: 2.8rem; border: 0.1rem solid var(--primary-color); border-radius: 1.4rem; }
body #wrapper .modal-container .contact-modal .inner .form .send-btn .btnarea p { display: flex; }
body #wrapper .modal-container .contact-modal .inner .form .send-btn .textarea { width: 100%; font-size: 0.9rem; }
body #wrapper .modal-container .contact-modal .inner .form .send-btn .textarea .wpcf7-response-output { margin: 2rem 0 0; padding: 0; border: none; color: #A51010; }
body.is-loaded { overflow: visible; touch-action: auto; }
body.is-loaded #wrapper .container { opacity: 1; transition: opacity 2s var(--ease) 0s; }

@media screen and (orientation: landscape) { body #wrapper .mv { display: flex; }
  body #wrapper .mv .imagearea { width: 50%; height: 100%; }
  body #wrapper .mv .logo { width: 6.94%; }
  body #wrapper .container { cursor: move; width: calc(var(--vw) * (3.2757 * 100)); aspect-ratio: 4717 / 4012; }
  body #wrapper .container .panel .header { width: calc(var(--vw) * (0.0694 * 100)); left: calc(var(--vw) * (0.1097 * 100)); top: calc(var(--vw) * (0.0771 * 100)); }
  body #wrapper .container .panel .header .logo { margin: 0 0 50%; }
  body #wrapper .container .panel .imagearea--01 { width: 8.82%; left: 6.93%; top: 6.93%; }
  body #wrapper .container .panel .imagearea--02 { width: 10.83%; left: 18.3%; top: 11.94%; }
  body #wrapper .container .panel .imagearea--03 { width: 12.44%; left: 44.73%; top: 3.54%; }
  body #wrapper .container .panel .imagearea--04 { width: 8.12%; left: 60.53%; top: 6.93%; }
  body #wrapper .container .panel .imagearea--05 { width: 10.05%; left: 72.74%; top: 2.74%; }
  body #wrapper .container .panel .imagearea--06 { width: 7.34%; left: 88.87%; top: 10.12%; }
  body #wrapper .container .panel .imagearea--07 { width: 9.5%; left: 2.18%; top: 35%; }
  body #wrapper .container .panel .imagearea--08 { width: 10.92%; left: 15.31%; top: 36.54%; }
  body #wrapper .container .panel .imagearea--09 { width: 10.83%; left: 31.67%; top: 19.89%; }
  body #wrapper .container .panel .imagearea--10 { width: 10.05%; left: 49.08%; top: 26.42%; }
  body #wrapper .container .panel .imagearea--11 { width: 10.05%; left: 64.74%; top: 23.13%; }
  body #wrapper .container .panel .imagearea--12 { width: 12.44%; left: 84.74%; top: 27.84%; }
  body #wrapper .container .panel .imagearea--13 { width: 12.44%; left: 5.85%; top: 55.13%; }
  body #wrapper .container .panel .imagearea--14 { width: 7.84%; left: 23.83%; top: 58.2%; }
  body #wrapper .container .panel .imagearea--15 { width: 7.84%; left: 30.93%; top: 42.67%; }
  body #wrapper .container .panel .imagearea--16 { width: 13.06%; left: 42.51%; top: 47.01%; }
  body #wrapper .container .panel .imagearea--17 { width: 9.5%; left: 60.55%; top: 44.24%; }
  body #wrapper .container .panel .imagearea--18 { width: 10.92%; left: 59.13%; top: 61.74%; }
  body #wrapper .container .panel .imagearea--19 { width: 8.12%; left: 73.33%; top: 41.03%; }
  body #wrapper .container .panel .imagearea--20 { width: 8.12%; left: 76.3%; top: 61.12%; }
  body #wrapper .container .panel .imagearea--21 { width: 6.42%; left: 86.6%; top: 54.19%; }
  body #wrapper .container .panel .imagearea--22 { width: 10.81%; left: 1.53%; top: 75.95%; }
  body #wrapper .container .panel .imagearea--23 { width: 10.92%; left: 18.3%; top: 76.92%; }
  body #wrapper .container .panel .imagearea--24 { width: 8.12%; left: 35.32%; top: 71.96%; }
  body #wrapper .container .panel .imagearea--25 { width: 8.97%; left: 47.85%; top: 80.36%; }
  body #wrapper .container .panel .imagearea--26 { width: 9.5%; left: 65.3%; top: 81.63%; }
  body #wrapper .container .panel .imagearea--27 { width: 12.89%; left: 82.79%; top: 76.92%; }
  body #wrapper .container .panel .textarea { row-gap: 8em; }
  body #wrapper .container .panel .textarea--01 { width: 13.44%; left: 25.33%; top: 7.55%; }
  body #wrapper .container .panel .textarea--02 { width: 11.13%; left: 4.62%; top: 25.62%; }
  body #wrapper .container .panel .textarea--03 { width: 8.73%; left: 80.37%; top: 23.13%; }
  body #wrapper .container .panel .textarea--04 { width: 7.17%; left: 44.27%; top: 42.67%; }
  body #wrapper .container .panel .textarea--05 { width: 8.69%; left: 23.36%; top: 72.76%; }
  body #wrapper .container .panel .copyright { left: 47.85%; top: 98.5%; }
  body #wrapper .modal-container { background: rgba(0, 0, 0, 0.5); }
  body #wrapper .modal-container .contact-modal { width: 94.4rem; max-width: 90%; height: auto; max-height: 90vh; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }
  body #wrapper .modal-container .contact-modal .inner { padding: 5rem 0; width: 37.8rem; margin: 0 auto; position: relative; }
  body #wrapper .modal-container .contact-modal .inner .modal-close { margin: 0; position: absolute; left: calc(100% + 5.5rem); top: 5.5rem; }
  body #wrapper .modal-container .contact-modal .inner .title { margin: 0 0 5rem; }
  body #wrapper .modal-container .contact-modal .inner .form .input-group { margin: 0 0 1.5rem; }
  body #wrapper .modal-container .contact-modal .inner .form .input-group .label { margin: 0 0 0.5rem; }
  body #wrapper .modal-container .contact-modal .inner .form .send-btn { flex-direction: row; column-gap: 3rem; }
  body #wrapper .modal-container .contact-modal .inner .form .send-btn .btnarea { width: 14rem; }
  body #wrapper .modal-container .contact-modal .inner .form .send-btn .btnarea input { width: 100%; transition: background 0.4s var(--easeout) 0s, color 0.4s var(--easeout) 0s; }
  body #wrapper .modal-container .contact-modal .inner .form .send-btn .btnarea input:hover { background: var(--primary-color); color: var(--white-color); }
  body #wrapper .modal-container .contact-modal .inner .form .send-btn .btnarea p { display: block; }
  body #wrapper .modal-container .contact-modal .inner .form .send-btn .textarea { width: auto; flex: 1; padding: 1rem 0 0; } }
