@charset "UTF-8";

/* resset.dev • v5.0.2 */
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  /* Prevent adjustments of font size after orientation changes in iOS */
  word-break: normal;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
}

*,
::before,
::after {
  background-repeat: no-repeat;
  /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  box-sizing: inherit;
}

::before,
::after {
  text-decoration: inherit;
  /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
}

* {
  padding: 0;
  /* Reset `padding` and `margin` of all elements */
  margin: 0;
}

hr {
  overflow: visible;
  /* Show the overflow in Edge and IE */
  height: 0;
  /* Add the correct box sizing in Firefox */
  color: inherit;
  /* Correct border color in Firefox. */
}

details,
main {
  display: block;
  /* Render the `main` element consistently in IE. */
}

summary {
  display: list-item;
  /* Add the correct display in all browsers */
}

small {
  font-size: 80%;
  /* Set font-size to 80% in `small` elements */
}

[hidden] {
  display: none;
  /* Add the correct display in IE */
}

abbr[title] {
  border-bottom: none;
  /* Remove the bottom border in Chrome 57 */
  /* Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari */
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

a {
  background-color: transparent;
  /* Remove the gray background on active links in IE 10 */
}

a:active,
a:hover {
  outline-width: 0;
  /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  /* Specify the font family of code elements */
}

pre {
  font-size: 1em;
  /* Correct the odd `em` font sizing in all browsers */
}

b,
strong {
  font-weight: bolder;
  /* Add the correct font weight in Chrome, Edge, and Safari */
}

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

table {
  border-color: inherit;
  /* Correct border color in all Chrome, Edge, and Safari. */
  text-indent: 0;
  /* Remove text indentation in Chrome, Edge, and Safari */
}

iframe {
  border-style: none;
}

input {
  border-radius: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
  /* Correct the cursor style of increment and decrement buttons in Chrome */
}

[type=search] {
  -webkit-appearance: textfield;
  /* Correct the odd appearance in Chrome and Safari */
  appearance: textfield;
  outline-offset: -2px;
  /* Correct the outline style in Safari */
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
  /* Remove the inner padding in Chrome and Safari on macOS */
  appearance: none;
}

textarea {
  overflow: auto;
  /* Internet Explorer 11+ */
  resize: vertical;
  /* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
  font: inherit;
  /* Specify font inheritance of form elements */
}

optgroup {
  font-weight: bold;
  /* Restore the font weight unset by the previous rule */
}

button {
  overflow: visible;
  /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

button,
select {
  text-transform: none;
  /* Firefox 40+, Internet Explorer 11- */
}

/* Apply cursor pointer to button elements */
button,
[type=button],
[type=reset],
[type=submit],
[role=button] {
  cursor: pointer;
}

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
  /* Correct the inability to style clickable types in iOS */
  appearance: button;
}

/* Remove the default button styling in all browsers */
button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
  outline-width: 0;
}

/* Style select like a standard input */
select {
  -moz-appearance: none;
  /* Firefox 36+ */
  -webkit-appearance: none;
  /* Chrome 41+ */
  appearance: none;
}

select::-ms-expand {
  display: none;
  /* Internet Explorer 11+ */
}

select::-ms-value {
  color: currentColor;
  /* Internet Explorer 11+ */
}

legend {
  border: 0;
  /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit;
  /* Correct the color inheritance from `fieldset` elements in IE */
  display: table;
  /* Correct the text wrapping in Edge and IE */
  max-width: 100%;
  /* Correct the text wrapping in Edge and IE */
  white-space: normal;
  /* Correct the text wrapping in Edge and IE */
  max-width: 100%;
  /* Correct the text wrapping in Edge 18- and IE */
}

::-webkit-file-upload-button {
  /* Correct the inability to style clickable types in iOS and Safari */
  -webkit-appearance: button;
  color: inherit;
  font: inherit;
  /* Change font properties to `inherit` in Chrome and Safari */
}

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default;
}

img {
  border-style: none;
  /* Remove border when inside `a` element in IE 8/9/10 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress {
  vertical-align: baseline;
}

/* Specify the progress cursor of updating elements */
[aria-busy=true] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled=true] {
  cursor: default;
}





/* ============================================================================= */
/* 独自リセット設定 
/* ============================================================================= */
a {
  cursor: pointer;
  color: currentColor;
  text-decoration: none;
  word-break: break-all;
}

span {
  display: inline-block;
}

em {
  font-style: normal;
}

code,
kbd,
pre,
samp {
  font-family: "Shippori Mincho B1", serif;
}

ul,
li,
ol {
  list-style: none;
}

picture,
figure {
  max-width: 100%;
  line-height: 0;
  margin: 0;
}

svg {
  position: relative;
  width: 100%;
}

img {
  width: 100%;
  height: auto;
  max-width: 100%;
}

svg>use {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  max-width: 100%;
}

legend,
fieldset {
  all: unset;
}

fieldset {
  display: block;
  border: none;
}

fieldset+fieldset {
  padding: 0;
}

fieldset+fieldset+fieldset {
  background-clip: content-box;
}


.screen-reader-text {
  clip: rect(1px, 1px, 1px 1px);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.dont-touch {
  pointer-events: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-touch-callout: none;
  -moz-user-select: none;
  user-select: none;
}



/* ============================================================================= */
/*TOP 
/* ============================================================================= */


html {
  cursor: url(assets/images/cursor.webp), auto;
  font-size: 10px;
  scroll-behavior: smooth;
  scroll-padding-top: 0;

}

@media screen and (max-width: 768px) {
  html {
    font-size: 2.2vw;
    scroll-padding-top: 6.4rem;
  }
}

a {
  cursor: url(assets/images/cursor_hover.webp), auto;
}

body {
  min-width: 110rem;
  color: #524E40;
  font-family: "Shippori Mincho B1", serif;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: 1.5;
  text-align: center;
}

body::before {
  content: "";
  display: block;
  position: fixed;
  top: 0px;
  left: 0px;
  z-index: -1;
  width: 100%;
  height: 100vh;
  background-image: url(assets/images/bg_body.webp);
  background-size: cover;
  background-repeat: no-repeat;
}

@media screen and (max-width: 768px) {
  body {
    min-width: 100%;
    background-size: auto 100%;
    font-size: 1.5rem;
  }
}


/* common ==============================================================*/

.common__container {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 100%;
}

.common__inner {
  width: 110rem;
}

@media screen and (max-width: 768px) {
  .common__inner {
    width: 100%;
  }
}

.common__heading--en {
  font-family: "Cinzel Decorative";
  font-size: 6.4rem;
  font-weight: 500;
  letter-spacing: 0.4em;
}

.common__heading--ja {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
}

.common__heading--ja::after,
.common__heading--ja::before {
  content: '';
  border-style: solid;
  border-top: 0.4rem solid transparent;
  border-bottom: 0.4rem solid transparent;
  border-left: 0;
  border-right: 0;
}

.common__heading--ja::after {
  border-left: 1.9rem solid #adaba5;
}

.common__heading--ja::before {
  border-right: 1.9rem solid #adaba5;
}

@media screen and (max-width: 768px) {
  .common__heading--en {
    font-size: 3.2rem;
  }

  .common__heading--ja {
    font-size: 1.3rem;
  }

  .common__heading--ja::after,
  .common__heading--ja::before {
    border-top: 0.3rem solid transparent;
    border-bottom: 0.3rem solid transparent;
  }

  .common__heading--ja::after {
    border-left: 1.4rem solid #adaba5;
  }

  .common__heading--ja::before {
    border-right: 1.4rem solid #adaba5;
  }
}

/* loading ==============================================================*/

.loading {
  overflow: hidden;
  position: fixed;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: #f0f0ef;
  font-family: "Cinzel Decorative";
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 0.4rem;
  z-index: 9999;
}

.loading__inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 1.6rem;
  width: 100%;
  height: 100%;
  text-align: center;
}

.loading__logo {
  width: 40rem;
}

.footprints {
  position: relative;
  width: 30rem;
  height: 8rem;
}

.foot {
  width: 4rem;
  height: 4rem;
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 0;
  animation: step 1.8s infinite;
}

.foot.left {
  background-image: url("assets/images/illust_loading_left.svg");
  transform: rotate(-20deg) scale(0.6);
}

.foot.right {
  background-image: url("assets/images/illust_loading_right.svg");
  transform: rotate(20deg) scale(0.6);
}

.foot:nth-child(1) {
  left: 0rem;
  top: 4rem;
}

.foot:nth-child(2) {
  left: 5rem;
  top: 2rem;
}

.foot:nth-child(3) {
  left: 10rem;
  top: 4rem;
}

.foot:nth-child(4) {
  left: 15rem;
  top: 2rem;
}

.foot:nth-child(5) {
  left: 20rem;
  top: 4rem;
}

.foot:nth-child(6) {
  left: 25rem;
  top: 2rem;
}

/* ▼ アニメのタイミング（ペタペタ） */
.foot:nth-child(1) {
  animation-delay: 0s;
}

.foot:nth-child(2) {
  animation-delay: 0.2s;
}

.foot:nth-child(3) {
  animation-delay: 0.4s;
}

.foot:nth-child(4) {
  animation-delay: 0.6s;
}

.foot:nth-child(5) {
  animation-delay: 0.8s;
}

.foot:nth-child(6) {
  animation-delay: 1s;
}

@keyframes step {
  0% {
    opacity: 0;
    transform: translateY(10px) scale(0.6);
  }

  20% {
    opacity: 1;
    transform: translateY(0) scale(0.6);
  }

  80% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}


/* menu ==============================================================*/

.menu {
  position: fixed;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 7.2rem;
  width: 100%;
  color: #524E40;
  font-family: "Cinzel Decorative";
  font-weight: 400;
  letter-spacing: 0.1em;
  padding: 0 4rem;
  z-index: 9998;
}

.menu.change-color {
  background-color: #f1f1f15e;
  backdrop-filter: blur(0.4rem);
  -webkit-backdrop-filter: blur(0.4rem);
  transition: background 1s ease, backdrop-filter 1s ease;
}

.menu__logo {
  line-height: 1;
}

.menu__logo img {
  height: 4rem;
}

.menu__contents {
  display: flex;
  align-items: center;
  gap: 2.4rem;
  height: 100%;
}

.menu__x {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  background-color: #000000;
  border-radius: 0.8rem;
  transition: 0.3s;
}

@media (hover: hover) and (pointer: fine) {
  .menu__x:hover {
    background-color: #524E40;
  }
}

.menu__x img {
  width: 2.4rem;
}

.menu__list {
  display: flex;
  align-items: stretch;
  height: 100%;
}

.menu__list>li>a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  border-bottom: 2px solid transparent;
  padding: 0 1.6rem;
  transition: 0.3s;
}

.menu__list>li:focus>a {
  border-bottom: 2px solid #524E40;
}

@media (hover: hover) and (pointer: fine) {
  .menu__list>li:hover>a {
    border-bottom: 2px solid #524E40;
  }
}

.menu__hamburger {
  display: none;
}

@media screen and (max-width: 1100px) {

  .menu {
    justify-content: space-between;
    flex-direction: row;
    height: 6.4rem;
    width: 100%;
    padding: 0 2.4rem;
  }

  .menu__x {
    position: absolute;
    right: 8rem;
  }

  .menu__list {
    position: fixed;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4rem;
    top: 0;
    left: 0;
    height: 100dvh;
    width: 100%;
    background: #f0f0ef;
    font-size: 2.4rem;
    letter-spacing: 0.5em;
    padding: 0 2.4rem 4rem;
    opacity: 0;
    transform: translateY(-100%);
    transition: all 0.2s ease-in-out;
    z-index: 1;
  }

  .menu__list.toggle {
    transform: translateY(0);
    opacity: 1;
  }

  .menu__list>li>a {
    flex-direction: row;
    align-items: center;
    gap: 0.8rem;
  }

  .menu__hamburger {
    cursor: pointer;
    position: relative;
    display: block;
    height: 3rem;
    width: 3rem;
    transition: transform 0.5s;
    z-index: 9900;
  }

  .menu__hamburger>span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #524E40;
    transform-origin: 50% 50%;
    transition: 0.5s;
  }

  .menu__hamburger>span:nth-child(1) {
    top: 0;
  }

  .menu__hamburger>span:nth-child(2) {
    top: calc(50% - 2px);
  }

  .menu__hamburger>span:nth-child(3) {
    top: calc(100% - 4px);
  }

  .menu__hamburger.open {
    transform: rotate(90deg);
  }

  .menu__hamburger.open>span {
    top: calc(50% - 0.25rem);
  }

  .menu__hamburger.open>span:nth-child(1) {
    transform: rotate(-135deg);
  }

  .menu__hamburger.open>span:nth-child(2) {
    opacity: 0;
  }

  .menu__hamburger.open>span:nth-child(3) {
    transform: rotate(135deg);
  }
}

/* 固定Xフォローボタン ==============================================================*/
.x__cta {
  position: fixed;
  right: 0;
  bottom: 0;
  display: inline-flex;
  align-items: center;
  gap: 1.6rem;
  background-color: #403D32;
  color: #F4F2ED;
  padding: 1.6rem;
  transition: 0.3s;
  z-index: 8000;
}

@media (hover: hover) and (pointer: fine) {
  .x__cta:hover {
    background-color: #7F7450;
  }
}

.x__cta--logo {
  width: 2.8rem;
}

.x__cta--id {
  font-size: 1.2rem;
  font-weight: 400;
}

.x__cta::after {
  content: '';
  border-style: solid;
  border-top: 0.4rem solid transparent;
  border-bottom: 0.4rem solid transparent;
  border-left: 1.9rem solid #e5e2db;
  border-right: 0;
}

@media screen and (max-width: 768px) {
  .x__cta {
    width: 100%;
    justify-content: center;
    padding: 2rem 0 2rem 0.4rem;
  }

  .x__cta--logo {
    width: 2rem;
  }
}

/* fv ==============================================================*/

.fv {
  min-width: 100%;
  background: linear-gradient(0deg, #f0eeee 0%, #f0eeee50 20%), linear-gradient(130deg, #e4e5e2, #f0f0ef);
  padding: 7.2rem 0 0;
}

.fv__inner {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  max-height: calc(100vh - 7.2rem);
  max-width: 110rem;
  margin: 0 auto;
}

.fv__contents {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  width: 52%;
  height: 100%;
}

.fv__catch {
  font-size: 3vh;
  font-weight: 700;
  line-height: 2em;
  letter-spacing: 0.5em;
  padding: 10vh 0 8vh;
  text-align: start;
  writing-mode: vertical-rl;
}

.fv__visual {
  max-height: calc(100vh - 7.2rem);
  max-width: 44%;
  width: auto;
}

.fv__title img {
  height: 14vh;
  width: auto;
  max-width: 100%;
}



.scroll_down_container {
  position: relative;
  height: 12rem;
  margin-top: 4rem;
}

.scroll_down {
  position: absolute;
  bottom: 0px;
  left: 50%;
}

.scroll_down:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: -0.45rem;
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  background: #403D32;
  animation:
    circlemove 1.6s ease-in-out infinite,
    cirlemovehide 1.6s ease-out infinite;
}

@keyframes circlemove {
  0% {
    bottom: 12rem;
  }

  100% {
    bottom: 0;
  }
}

@keyframes cirlemovehide {
  0% {
    opacity: 0
  }

  50% {
    opacity: 1;
  }

  80% {
    opacity: 0.9;
  }

  100% {
    opacity: 0;
  }
}

.scroll_down:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 1px;
  height: 12rem;
  background: #403D32;
}

.attention {
  font-weight: 400;
  margin-top: 3.2rem;
}

@media screen and (max-width: 768px) {
  .fv {
    padding: 8rem 0 0;
  }

  .fv__inner {
    flex-direction: column;
    max-height: none;
    max-width: 100%;
  }

  .fv__contents {
    width: 100%;
    height: auto;
    gap: 34rem;
    z-index: 2;
  }

  .fv__catch {
    font-size: 1.6rem;
    padding: 0;
  }

  .fv__title img {
    height: auto;
    width: 80%;
    max-width: 100%;
  }

  .fv__visual {
    position: absolute;
    top: 16rem;
    max-height: none;
    max-width: 100%;
    width: 90%;
    z-index: 1;
  }



  .scroll_down_container {
    height: 8rem;
    margin-top: 3.2rem;
  }

  .scroll_down:before {
    left: -0.25rem;
    width: 0.7rem;
    height: 0.7rem;
    animation:
      circlemove_sp 1.6s ease-in-out infinite,
      cirlemovehide 1.6s ease-out infinite;
  }

  @keyframes circlemove_sp {
    0% {
      bottom: 8rem;
    }

    100% {
      bottom: 0;
    }
  }

  .scroll_down:after {
    height: 8rem;
  }

  .attention {
    font-size: 1.3rem;
    line-height: 2;
    margin-top: 1.6rem;
  }
}

/* movie ==============================================================*/

.movie {
  position: relative;
  overflow: hidden;
  background: url(assets/images/bg_movie_foot.svg), linear-gradient(180deg, #f0eeee 0%, #f0eeee50 20%);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  padding: 6.4rem 0;
}

.movie__inner {
  z-index: 2;
}

.movie__youtube {
  margin-top: 3.2rem;
}

.movie__penguin-bg {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.movie__penguin {
  position: absolute;
  width: 12rem;
  height: 12rem;
  background: url("assets/images/illust_movie_penguin.webp") no-repeat center / contain;
  transform-origin: center;
  will-change: transform;
}

@media screen and (max-width: 768px) {
  .movie {
    background-size: 120rem, cover;
  }

  .movie__inner {
    padding: 0 2.4rem;
  }

  .movie__youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
  }

  .movie__youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
  }

  .movie__penguin-bg {
    display: none;
  }
}

/* about ==============================================================*/

.about__section1 {
  background-image: url(assets/images/bg_white_paper.webp);
  background-size: cover;
  padding: 6.4rem 0;
}

.about__section1--contents {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 3.2rem;
}

.about__section1--book {
  width: 50rem;
}

.about__section1--text {
  line-height: 2.5em;
  text-align: start;
  writing-mode: vertical-rl;
}

.about__section1--text .big {
  font-size: 3.2rem;
  margin-left: 2.4rem;
}

.about__section1--text .middle {
  font-size: 2.4rem;
  margin-right: 2.4rem;
}

@media screen and (max-width: 768px) {
  .about__section1 {
    background-image: url(assets/images/bg_white_paper_sp.webp);
    padding: 6.4rem 2.4rem;
    text-align: center;
  }

  .about__section1--contents {
    align-items: center;
    flex-direction: column;
  }

  .about__section1--book {
    width: 32rem;
    padding-left: 4.6rem;
  }

  .about__section1--text {
    writing-mode: initial;
    font-size: 1.4rem;
    text-align: center;
  }

  .about__section1--text .big {
    font-size: 2.4rem;
    margin: 3.2rem 0 1.6rem 0.6rem;
  }

  .about__section1--text .middle {
    font-size: 1.8rem;
    margin: 1.6rem 0 0 0;
  }
}

.about__section2.darkness {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.3) 60%, rgba(0, 0, 0, 0) 75%), center / cover no-repeat url(assets/images/bg_about_darkness.webp);
}

.about__section2.kingdom {
  background: linear-gradient(-90deg, rgba(0, 0, 0, 0.6) 60%, rgba(0, 0, 0, 0) 75%), center / cover no-repeat url(assets/images/bg_about_kingdom.webp);
}

.about__section2--inner {
  display: flex;
  align-items: center;
  gap: 6.4rem;
  padding: 4rem 0;
}

.about__section2--text {
  display: flex;
  gap: 3.2rem;
  color: #ffffff;
  line-height: 2em;
  text-align: start;
}

.about__section2--title_wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.8rem;
}

.about__section2--title {
  font-size: 5.6rem;
  letter-spacing: 0.2em;
  writing-mode: vertical-rl;
}

.about__section2--icon {
  width: 5.6rem;
}

.about__section2--descr-wrapper {
  flex: 1;
}

.about__section2--english {
  font-family: "Cinzel Decorative";
  font-size: 2.4rem;
  font-weight: 400;
  letter-spacing: 0.4em;
}

.darkness .about__section2--title,
.darkness .about__section2--english {
  color: #8FCED2;
}

.kingdom .about__section2--title,
.kingdom .about__section2--english {
  color: #DBC192;
}

.about__section2--descr {
  font-weight: 400;
}

.about__section2--capture {
  height: 24rem;
  width: auto;
}

@media screen and (max-width: 768px) {

  .about__section2--inner {
    flex-direction: column;
    gap: 4rem;
    padding: 2.4rem 2.4rem 4rem;
  }

  .darkness .about__section2--inner {
    flex-direction: column-reverse;
  }

  .about__section2.darkness {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.3) 60%, rgba(0, 0, 0, 0) 75%),
      center / cover no-repeat url(assets/images/bg_about_darkness.webp);
  }

  .about__section2.kingdom {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.6) 60%, rgba(0, 0, 0, 0) 75%),
      center / cover no-repeat url(assets/images/bg_about_kingdom.webp);
  }

  .about__section2--capture {
    height: auto;
    width: 100%;
  }

  .about__section2--title {
    font-size: 4rem;
  }

  .about__section2--icon {
    width: 4.6rem;
  }

  .about__section2--english {
    font-size: 2.2rem;
  }
}

.about__section3 {
  background-color: #ffffff;
  padding: 4rem 0;
}

.about__section3--inner {
  display: flex;
  gap: 6.4rem;
}

.about__section3--item {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  padding: 0.8rem 0;
}

.about__section3--label {
  background-color: #e5e2db;
  font-size: 1.5rem;
  font-weight: 500;
  padding: 0.4rem 0.8rem;
}

@media screen and (max-width: 768px) {
  .about__section3--inner {
    flex-direction: column;
    gap: 0;
    text-align: start;
  }

  .about__section3--label {
    font-size: 1.4rem;
  }
}

.about__section4 {
  overflow: hidden;
  background: linear-gradient(180deg, #FFFFFF 0%, rgba(255, 255, 255, 0) 100%);
  padding: 4rem 0 8rem;
}

.about__section4--inner {
  position: relative;
  height: 40rem;
}

.about__section4--contents {
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3.2rem;
  z-index: 10;
}

.about__section4--catch img {
  width: 70rem;
}

.about__section4--book {
  width: 27rem;
}

.about__section4--keyword_container {
  position: absolute;
  display: flex;
  justify-content: center;
  width: 100%;
  color: #00000030;
  font-size: 2.4rem;
  line-height: 4;
  white-space: nowrap;
}

.about__section4--keyword_container p {
  text-align: start;
  writing-mode: vertical-rl;
}

.op-10 {
  color: #00000010;
}

.op-20 {
  color: #00000020;
}

.op-30 {
  color: #00000030;
}

@media screen and (max-width: 768px) {
  .about__section4--keyword_container {
    overflow: hidden;
    line-height: 2;
  }

  .about__section4--catch img {
    width: 70%;
  }
}

/* character ==============================================================*/

.character {
  position: relative;
  padding: 0 0 6.4rem;
  z-index: 3;
}

.character__inner {
  background-image: url(assets/images/bg_white_paper.webp);
  background-size: cover;
  padding: 3.2rem 4rem 4rem;
  filter: drop-shadow(0 0.8rem 2rem rgba(0, 0, 0, 0.2));
}

.character__heading--decoration {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  height: 1.2rem;
  margin: 2.4rem 0;
}

.character__heading--decoration span {
  height: 0.2rem;
  width: 100%;
  background-color: #e5e2db;
}

.character__heading--decoration::before,
.character__heading--decoration::after {
  content: '';
  height: 1.2rem;
  width: 1.2rem;
  background-color: #cac6bd;
}

.character__list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2.4rem;
}

.character__list:first-of-type {
  margin-bottom: 2.4rem;
}

.character__face {
  width: 14rem;
  border-radius: 7rem;
}

@media screen and (max-width: 768px) {
  .character {
    padding: 0;
  }

  .character__inner {
    background-image: url(assets/images/bg_white_paper_sp.webp);
    padding: 6.4rem 2.4rem;
    filter: none;
  }

  .character__heading--decoration::before,
  .character__heading--decoration::after {
    height: 0.8rem;
    width: 0.8rem;
  }

  .character__list {
    gap: 0.8rem;
  }

  .character__face {
    width: 10rem;
    border-radius: 5rem;
  }

  .character__face.big {
    width: 12rem;
    border-radius: 6rem;
    margin: 0 1.6rem;
  }
}

/* feature ==============================================================*/


.feature {
  padding: 6.4rem 0;
}

.feature__main--descr {
  font-weight: 400;
  line-height: 2;
  padding: 1.6rem 0 5.6rem;
}

.feature__list {
  counter-reset: counter;
  font-weight: 600;
  line-height: 2;
}

.feature__item {
  display: flex;
  align-items: center;
  gap: 4rem;
  margin-bottom: 5.6rem;
  text-align: start;
}

.feature__text {
  display: flex;
  align-items: center;
  gap: 3.2rem;
  border-top: solid 2px #999482;
  border-bottom: solid 2px #999482;
  padding: 2.4rem 1.6rem 2.4rem 0.8rem;
}

.feature__number {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-family: "Cinzel Decorative";
  font-size: 8rem;
  font-weight: 400;
  letter-spacing: 0em;
  line-height: 1;
}

.feature__number span::before {
  content: '0';
}

.feature__number span::after {
  content: counter(counter);
  counter-increment: counter;
}

.feature__number::after,
.feature__number::before {
  content: '';
  border-style: solid;
  border-left: 0.4rem solid transparent;
  border-right: 0.4rem solid transparent;
  border-top: 0;
  border-bottom: 0;
}

.feature__number::after {
  border-top: 1.9rem solid #999482;
}

.feature__number::before {
  border-bottom: 1.9rem solid #999482;
}

.feature__capture {
  height: 24rem;
  width: auto;
}

@media screen and (max-width: 768px) {
  .feature {
    padding: 6.4rem 2.4rem;
  }

  .feature__item {
    flex-direction: column-reverse;
    gap: 0;
    margin-bottom: 2.4rem;
  }

  .feature__item:nth-child(even) {
    flex-direction: column;
  }

  .feature__text {
    flex-direction: column;
    gap: 0.4rem;
    border-top: solid 1px #999482;
    border-bottom: none;
    padding: 2.4rem 1.6rem;
  }

  .feature__number {
    flex-direction: row;
    gap: 0.8rem;
    font-size: 4rem;
    letter-spacing: 0.1em;
  }

  .feature__number::after,
  .feature__number::before {
    border-top: 0.4rem solid transparent;
    border-bottom: 0.4rem solid transparent;
    border-left: 0;
    border-right: 0;
  }

  .feature__number::after {
    border-left: 1.9rem solid #999482;
  }

  .feature__number::before {
    border-right: 1.9rem solid #999482;
  }

  .feature__main--descr {
    padding: 1.6rem 0 4rem;
  }

  .feature__capture {
    height: auto;
    width: 100%;
  }
}

/* creator ==============================================================*/

.creator {
  background-image: url(assets/images/bg_white_paper.webp);
  background-size: cover;
  padding: 6.4rem 0;
}

.creator__item {
  margin-top: 3.2rem;
}

.creator__info {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
}

.creator__label {
  font-size: 1.8rem;
}

.creator__name {
  font-size: 3.2rem;
  font-weight: 900;
}

.creator__name2 {
  font-size: 2.4rem;
  font-weight: 900;
}

.creator__x {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.2rem;
  height: 3.2rem;
  background-color: #000000;
  border-radius: 1.6rem;
  margin-top: 0.8rem;
  transition: 0.3s;
}

@media (hover: hover) and (pointer: fine) {
  .creator__x:hover {
    background-color: #524E40;
  }
}

.creator__x img {
  width: 1.6rem;
}

@media screen and (max-width: 768px) {
  .creator {
    background-size: auto 100%;
  }

  .creator__label {
    font-size: 1.4rem;
  }

  .creator__name {
    font-size: 2.4rem;
  }

  .creator__name2 {
    font-size: 2rem;
  }

  .creator__x {
    margin-top: 0;
  }
}

/* contact ==============================================================*/

.contact {
  padding: 6.4rem 0;
}

.contact__mail--descr {
  font-size: 1.8rem;
  font-weight: 500;
  padding: 2.4rem 0 1.6rem;
}

.contact__mail--descr span {
  font-size: 1.4rem;
}

.contact__mail--address {
  display: inline-block;
  background-color: #ffffff60;
  border-radius: 4rem;
  font-size: 2.4rem;
  font-weight: 800;
  padding: 0.8rem 3.2rem 1.2rem;
}

.contact__mail--address a {
  transition: 0.3s;
}

@media (hover: hover) and (pointer: fine) {
  .contact__mail--address a:hover {
    color: #7F7450;
  }
}

.contact__x {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.6rem;
  padding-top: 4.8rem;
}

.contact__x--descr {
  font-weight: 700;
}

.contact__x--descr span {
  color: #A16C11;
}

.contact__x--cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  background-color: #000000;
  color: #ffffff;
  padding: 1rem 1.6rem;
  transition: 0.3s;
}

@media (hover: hover) and (pointer: fine) {
  .contact__x--cta:hover {
    background-color: #524E40;
  }
}

.contact__x--cta img {
  width: 2.4rem;
}

.contact__x--cta::after {
  content: '';
  border-style: solid;
  border-top: 0.4rem solid transparent;
  border-bottom: 0.4rem solid transparent;
  border-left: 1.9rem solid #ffffff;
  border-right: 0;
}

@media screen and (max-width: 768px) {
  .contact {
    padding: 4.8rem 2.4rem;
  }

  .contact__mail--descr {
    font-size: 1.5rem;
  }

  .contact__mail--descr span {
    font-size: 1.2rem;
  }

  .contact__mail--address {
    font-size: 2rem;
    padding: 0.8rem 2.4rem 1.2rem;
  }

  .contact__x {
    padding-top: 3.2rem;
    flex-direction: column;
  }
}

/* footer ==============================================================*/

.footer {
  background: #524E40;
  padding: 3.2rem 0 4rem;
}

.footer__logo {
  width: 28rem;
}

@media screen and (max-width: 768px) {
  .footer {
    padding: 3.2rem 0 10rem;
  }

  .footer__logo {
    width: 20rem;
  }
}










/* 個別設定 */

.u-text__en {
  font-family: "Cinzel Decorative", "Shippori Mincho B1", serif;
}

.u-text__ja {
  font-family: "Shippori Mincho B1", serif;
}

.u-text__secret {
  font-family: "Redacted Script", "Shippori Mincho B1", serif;
}

.u-text__align--center {
  text-align: center;
}

.u-text__align--left {
  text-align: left;
}

.u-text__align--right {
  text-align: right;
}

.u-text__w100 {
  font-weight: 100;
}

.u-text__w200 {
  font-weight: 200;
}

.u-text__w300 {
  font-weight: 300;
}

.u-text__w400 {
  font-weight: 400;
}

.u-text__w500 {
  font-weight: 500;
}

.u-text__w600 {
  font-weight: 600;
}

.u-text__w700 {
  font-weight: 700;
}

.u-text__w800 {
  font-weight: 800;
}

.u-text__w900 {
  font-weight: 900;
}

.u-text__s10 {
  font-size: 1rem;
}

.u-text__s11 {
  font-size: 1.1rem;
}

.u-text__s12 {
  font-size: 1.2rem;
}

.u-text__s13 {
  font-size: 1.3rem;
}

.u-text__s14 {
  font-size: 1.4rem;
}

.u-text__s15 {
  font-size: 1.5rem;
}

.u-text__s16 {
  font-size: 1.6rem;
}

.u-text__s17 {
  font-size: 1.7rem;
}

.u-text__s18 {
  font-size: 1.8rem;
}

.u-text__s20 {
  font-size: 2rem;
}

.u-text__s24 {
  font-size: 2.4rem;
}

.u-text__s32 {
  font-size: 3.2rem;
}

.u-text__s40 {
  font-size: 4rem;
}

.u-display__flex {
  display: flex;
  align-items: flex-start;
}

.u-display__flex--box1 {
  flex: 1;
}

.u-display__flex--box2 {
  flex: 2;
}

.u-display__flex--box3 {
  flex: 3;
}

.u-display__flex--box4 {
  flex: 4;
}

.u-display__flex--box5 {
  flex: 5;
}

.u-display__flex--grow1 {
  flex-grow: 1;
}

.u-display__flex--grow2 {
  flex-grow: 2;
}

.u-display__flex--grow3 {
  flex-grow: 3;
}

.u-display__flex--grow4 {
  flex-grow: 4;
}

.u-display__flex--grow5 {
  flex-grow: 5;
}

.u-display__flex--fd-row {
  flex-direction: row;
}

.u-display__flex--fd-column {
  flex-direction: column;
}

@media screen and (max-width: 768px) {
  .u-display__flex--fd-column-mb {
    flex-direction: column;
    align-items: center;
  }
}

.u-display__flex--fw-nowrap {
  flex-wrap: nowrap;
}

.u-display__flex--fw-wrap {
  flex-wrap: wrap;
}

.u-display__flex--ac-center {
  align-content: center;
}

.u-display__flex--ac-start {
  align-content: flex-start;
}

.u-display__flex--ac-end {
  align-content: flex-end;
}

.u-display__flex--ac-around {
  align-content: space-around;
}

.u-display__flex--ac-between {
  align-content: space-between;
}

.u-display__flex--ac-stretch {
  align-content: stretch;
}

.u-display__flex--jc-center {
  justify-content: center;
}

.u-display__flex--jc-start {
  justify-content: flex-start;
}

.u-display__flex--jc-end {
  justify-content: flex-end;
}

.u-display__flex--jc-around {
  justify-content: space-around;
}

.u-display__flex--jc-between {
  justify-content: space-between;
}

.u-display__flex--jc-stretch {
  justify-content: space-evenly;
}

.u-display__flex--ai-center {
  align-items: center;
}

.u-display__flex--ai-start {
  align-items: flex-start;
}

.u-display__flex--ai-end {
  align-items: flex-end;
}

.u-display__flex--ai-baseline {
  align-items: baseline;
}

.u-display__flex--ai-stretch {
  align-items: stretch;
}

.u-display__flex--gap4 {
  gap: 0.4rem;
}

.u-display__flex--gap6 {
  gap: 0.6rem;
}

.u-display__flex--gap8 {
  gap: 0.8rem;
}

.u-display__flex--gap12 {
  gap: 1.2rem;
}

.u-display__flex--gap16 {
  gap: 1.6rem;
}

.u-display__flex--gap24 {
  gap: 2.4rem;
}

.u-display__flex--gap32 {
  gap: 3.2rem;
}

.u-display__flex--gap40 {
  gap: 4rem;
}

.u-display__flex--gap48 {
  gap: 4.8rem;
}

.u-display__flex--gap56 {
  gap: 5.6rem;
}

.u-display__flex--gap64 {
  gap: 6.4rem;
}

.u-display__flex--gap72 {
  gap: 7.2rem;
}

.u-display__flex--gap80 {
  gap: 8rem;
}

.u-display__flex--gap88 {
  gap: 8.8rem;
}

.u-display__flex--gap96 {
  gap: 9.6rem;
}

.u-display__flex--gap100 {
  gap: 10rem;
}

.u-display__flex--gap120 {
  gap: 12rem;
}

.u-display__flex--gap140 {
  gap: 14rem;
}

.u-display__flex--gap160 {
  gap: 16rem;
}

.u-display__flex--gap180 {
  gap: 18rem;
}

.u-display__flex--gap200 {
  gap: 20rem;
}

.u-size__w--auto {
  width: auto;
}

.u-size__w10per {
  width: 10%;
}

.u-size__w20per {
  width: 20%;
}

.u-size__w30per {
  width: 30%;
}

.u-size__w40per {
  width: 40%;
}

.u-size__w45per {
  width: 45%;
}

.u-size__w50per {
  width: 50%;
}

.u-size__w60per {
  width: 60%;
}

.u-size__w70per {
  width: 70%;
}

.u-size__w80per {
  width: 80%;
}

.u-size__w90per {
  width: 90%;
}

.u-size__w100per {
  width: 100%;
}

.u-size__w4 {
  width: 0.4rem;
}

.u-size__w6 {
  width: 0.6rem;
}

.u-size__w8 {
  width: 0.8rem;
}

.u-size__w12 {
  width: 1.2rem;
}

.u-size__w16 {
  width: 1.6rem;
}

.u-size__w24 {
  width: 2.4rem;
}

.u-size__w32 {
  width: 3.2rem;
}

.u-size__w40 {
  width: 4rem;
}

.u-size__w48 {
  width: 4.8rem;
}

.u-size__w56 {
  width: 5.6rem;
}

.u-size__w64 {
  width: 6.4rem;
}

.u-size__w72 {
  width: 7.2rem;
}

.u-size__w80 {
  width: 8rem;
}

.u-size__w88 {
  width: 8.8rem;
}

.u-size__w96 {
  width: 9.6rem;
}

.u-size__w100 {
  width: 10rem;
}

.u-size__w120 {
  width: 12rem;
}

.u-size__w140 {
  width: 14rem;
}

.u-size__w160 {
  width: 16rem;
}

.u-size__w180 {
  width: 18rem;
}

.u-size__w200 {
  width: 20rem;
}

.u-size__w220 {
  width: 22rem;
}

.u-size__w240 {
  width: 24rem;
}

.u-size__w260 {
  width: 26rem;
}

.u-size__w280 {
  width: 28rem;
}

.u-size__w300 {
  width: 30rem;
}

.u-size__w320 {
  width: 32rem;
}

.u-size__w340 {
  width: 34rem;
}

.u-size__w360 {
  width: 36rem;
}

.u-size__w380 {
  width: 38rem;
}

.u-size__w400 {
  width: 40rem;
}

.u-size__w420 {
  width: 42rem;
}

.u-size__w440 {
  width: 44rem;
}

.u-size__w460 {
  width: 46rem;
}

.u-size__w480 {
  width: 48rem;
}

.u-size__w500 {
  width: 50rem;
}

.u-size__w520 {
  width: 52rem;
}

.u-size__w540 {
  width: 54rem;
}

.u-size__w560 {
  width: 56rem;
}

.u-size__w580 {
  width: 58rem;
}

.u-size__w600 {
  width: 60rem;
}

.u-size__w620 {
  width: 62rem;
}

.u-size__w640 {
  width: 64rem;
}

.u-size__w660 {
  width: 66rem;
}

.u-size__w680 {
  width: 68rem;
}

.u-size__w700 {
  width: 70rem;
}

.u-size__w720 {
  width: 72rem;
}

.u-size__w740 {
  width: 74rem;
}

.u-size__w760 {
  width: 76rem;
}

.u-size__w780 {
  width: 78rem;
}

.u-size__w800 {
  width: 80rem;
}

.u-size__w820 {
  width: 82rem;
}

.u-size__w840 {
  width: 84rem;
}

.u-size__w860 {
  width: 86rem;
}

.u-size__w880 {
  width: 88rem;
}

.u-size__h--auto {
  height: auto;
}

.u-size__h10per {
  height: 10%;
}

.u-size__h20per {
  height: 20%;
}

.u-size__h30per {
  height: 30%;
}

.u-size__h40per {
  height: 40%;
}

.u-size__h50per {
  height: 50%;
}

.u-size__h60per {
  height: 60%;
}

.u-size__h70per {
  height: 70%;
}

.u-size__h80per {
  height: 80%;
}

.u-size__h90per {
  height: 90%;
}

.u-size__h100per {
  height: 100%;
}

.u-size__h4 {
  height: 0.4rem;
}

.u-size__h6 {
  height: 0.6rem;
}

.u-size__h8 {
  height: 0.8rem;
}

.u-size__h12 {
  height: 1.2rem;
}

.u-size__h16 {
  height: 1.6rem;
}

.u-size__h24 {
  height: 2.4rem;
}

.u-size__h32 {
  height: 3.2rem;
}

.u-size__h40 {
  height: 4rem;
}

.u-size__h48 {
  height: 4.8rem;
}

.u-size__h56 {
  height: 5.6rem;
}

.u-size__h64 {
  height: 6.4rem;
}

.u-size__h72 {
  height: 7.2rem;
}

.u-size__h80 {
  height: 8rem;
}

.u-size__h88 {
  height: 8.8rem;
}

.u-size__h96 {
  height: 9.6rem;
}

.u-size__h100 {
  height: 10rem;
}

.u-size__h120 {
  height: 12rem;
}

.u-size__h140 {
  height: 14rem;
}

.u-size__h160 {
  height: 16rem;
}

.u-size__h180 {
  height: 18rem;
}

.u-size__h200 {
  height: 20rem;
}

.u-size__h220 {
  height: 22rem;
}

.u-size__h240 {
  height: 24rem;
}

.u-size__h260 {
  height: 26rem;
}

.u-size__h280 {
  height: 28rem;
}

.u-size__h300 {
  height: 30rem;
}

.u-size__h320 {
  height: 32rem;
}

.u-size__h340 {
  height: 34rem;
}

.u-size__h360 {
  height: 36rem;
}

.u-size__h380 {
  height: 38rem;
}

.u-size__h400 {
  height: 40rem;
}

.u-size__h420 {
  height: 42rem;
}

.u-size__h440 {
  height: 44rem;
}

.u-size__h460 {
  height: 46rem;
}

.u-size__h480 {
  height: 48rem;
}

.u-size__h500 {
  height: 50rem;
}

.u-size__h520 {
  height: 52rem;
}

.u-size__h540 {
  height: 54rem;
}

.u-size__h560 {
  height: 56rem;
}

.u-size__h580 {
  height: 58rem;
}

.u-size__h600 {
  height: 60rem;
}

.u-size__h620 {
  height: 62rem;
}

.u-size__h640 {
  height: 64rem;
}

.u-size__h660 {
  height: 66rem;
}

.u-size__h680 {
  height: 68rem;
}

.u-size__h700 {
  height: 70rem;
}

.u-size__h720 {
  height: 72rem;
}

.u-size__h740 {
  height: 74rem;
}

.u-size__h760 {
  height: 76rem;
}

.u-size__h780 {
  height: 78rem;
}

.u-size__h800 {
  height: 80rem;
}

.u-size__h820 {
  height: 82rem;
}

.u-size__h840 {
  height: 84rem;
}

.u-size__h860 {
  height: 86rem;
}

.u-size__h880 {
  height: 88rem;
}

.u-margin__0auto {
  margin: 0 auto !important;
}

.u-margin__auto {
  margin: auto !important;
}

.u-margin__top0 {
  margin-top: 0 !important;
}

.u-margin__top2 {
  margin-top: 0.2rem !important;
}

.u-margin__top4 {
  margin-top: 0.4rem !important;
}

.u-margin__top6 {
  margin-top: 0.6rem !important;
}

.u-margin__top8 {
  margin-top: 0.8rem !important;
}

.u-margin__top12 {
  margin-top: 1.2rem !important;
}

.u-margin__top16 {
  margin-top: 1.6rem !important;
}

.u-margin__top20 {
  margin-top: 2rem !important;
}

.u-margin__top24 {
  margin-top: 2.4rem !important;
}

.u-margin__top32 {
  margin-top: 3.2rem !important;
}

.u-margin__top40 {
  margin-top: 4rem !important;
}

.u-margin__top48 {
  margin-top: 4.8rem !important;
}

.u-margin__top56 {
  margin-top: 5.6rem !important;
}

.u-margin__top64 {
  margin-top: 6.4rem !important;
}

.u-margin__top72 {
  margin-top: 7.2rem !important;
}

.u-margin__top80 {
  margin-top: 8rem !important;
}

.u-margin__top88 {
  margin-top: 8.8rem !important;
}

.u-margin__top96 {
  margin-top: 9.6rem !important;
}

.u-margin__top100 {
  margin-top: 10rem !important;
}

.u-margin__top120 {
  margin-top: 12rem !important;
}

.u-margin__top140 {
  margin-top: 14rem !important;
}

.u-margin__top160 {
  margin-top: 16rem !important;
}

.u-margin__top180 {
  margin-top: 18rem !important;
}

.u-margin__top200 {
  margin-top: 20rem !important;
}

.u-margin__bottom2 {
  margin-bottom: 0.2rem !important;
}

.u-margin__bottom4 {
  margin-bottom: 0.4rem !important;
}

.u-margin__bottom6 {
  margin-bottom: 0.6rem !important;
}

.u-margin__bottom8 {
  margin-bottom: 0.8rem !important;
}

.u-margin__bottom12 {
  margin-bottom: 1.2rem !important;
}

.u-margin__bottom16 {
  margin-bottom: 1.6rem !important;
}

.u-margin__bottom20 {
  margin-bottom: 2rem !important;
}

.u-margin__bottom24 {
  margin-bottom: 2.4rem !important;
}

.u-margin__bottom32 {
  margin-bottom: 3.2rem !important;
}

.u-margin__bottom40 {
  margin-bottom: 4rem !important;
}

.u-margin__bottom48 {
  margin-bottom: 4.8rem !important;
}

.u-margin__bottom56 {
  margin-bottom: 5.6rem !important;
}

.u-margin__bottom64 {
  margin-bottom: 6.4rem !important;
}

.u-margin__bottom72 {
  margin-bottom: 7.2rem !important;
}

.u-margin__bottom80 {
  margin-bottom: 8rem !important;
}

.u-margin__bottom88 {
  margin-bottom: 8.8rem !important;
}

.u-margin__bottom96 {
  margin-bottom: 9.6rem !important;
}

.u-margin__bottom100 {
  margin-bottom: 10rem !important;
}

.u-margin__bottom120 {
  margin-bottom: 12rem !important;
}

.u-margin__bottom140 {
  margin-bottom: 14rem !important;
}

.u-margin__bottom160 {
  margin-bottom: 16rem !important;
}

.u-margin__bottom180 {
  margin-bottom: 18rem !important;
}

.u-margin__bottom200 {
  margin-bottom: 20rem !important;
}

.u-margin__left2 {
  margin-left: 0.2rem !important;
}

.u-margin__left4 {
  margin-left: 0.4rem !important;
}

.u-margin__left6 {
  margin-left: 0.6rem !important;
}

.u-margin__left8 {
  margin-left: 0.8rem !important;
}

.u-margin__left12 {
  margin-left: 1.2rem !important;
}

.u-margin__left16 {
  margin-left: 1.6rem !important;
}

.u-margin__left20 {
  margin-left: 2rem !important;
}

.u-margin__left24 {
  margin-left: 2.4rem !important;
}

.u-margin__left32 {
  margin-left: 3.2rem !important;
}

.u-margin__left40 {
  margin-left: 4rem !important;
}

.u-margin__left48 {
  margin-left: 4.8rem !important;
}

.u-margin__left56 {
  margin-left: 5.6rem !important;
}

.u-margin__left64 {
  margin-left: 6.4rem !important;
}

.u-margin__left72 {
  margin-left: 7.2rem !important;
}

.u-margin__left80 {
  margin-left: 8rem !important;
}

.u-margin__left88 {
  margin-left: 8.8rem !important;
}

.u-margin__left96 {
  margin-left: 9.6rem !important;
}

.u-margin__left100 {
  margin-left: 10rem !important;
}

.u-margin__left120 {
  margin-left: 12rem !important;
}

.u-margin__left140 {
  margin-left: 14rem !important;
}

.u-margin__left160 {
  margin-left: 16rem !important;
}

.u-margin__left180 {
  margin-left: 18rem !important;
}

.u-margin__left200 {
  margin-left: 20rem !important;
}

.u-margin__right2 {
  margin-right: 0.2rem !important;
}

.u-margin__right4 {
  margin-right: 0.4rem !important;
}

.u-margin__right6 {
  margin-right: 0.6rem !important;
}

.u-margin__right8 {
  margin-right: 0.8rem !important;
}

.u-margin__right12 {
  margin-right: 1.2rem !important;
}

.u-margin__right16 {
  margin-right: 1.6rem !important;
}

.u-margin__right20 {
  margin-right: 2rem !important;
}

.u-margin__right24 {
  margin-right: 2.4rem !important;
}

.u-margin__right32 {
  margin-right: 3.2rem !important;
}

.u-margin__right40 {
  margin-right: 4rem !important;
}

.u-margin__right48 {
  margin-right: 4.8rem !important;
}

.u-margin__right56 {
  margin-right: 5.6rem !important;
}

.u-margin__right64 {
  margin-right: 6.4rem !important;
}

.u-margin__right72 {
  margin-right: 7.2rem !important;
}

.u-margin__right80 {
  margin-right: 8rem !important;
}

.u-margin__right88 {
  margin-right: 8.8rem !important;
}

.u-margin__right96 {
  margin-right: 9.6rem !important;
}

.u-margin__right100 {
  margin-right: 10rem !important;
}

.u-margin__right120 {
  margin-right: 12rem !important;
}

.u-margin__right140 {
  margin-right: 14rem !important;
}

.u-margin__right160 {
  margin-right: 16rem !important;
}

.u-margin__right180 {
  margin-right: 18rem !important;
}

.u-margin__right200 {
  margin-right: 20rem !important;
}

.u-padding__top2 {
  padding-top: 0.2rem !important;
}

.u-padding__top4 {
  padding-top: 0.4rem !important;
}

.u-padding__top6 {
  padding-top: 0.6rem !important;
}

.u-padding__top8 {
  padding-top: 0.8rem !important;
}

.u-padding__top12 {
  padding-top: 1.2rem !important;
}

.u-padding__top16 {
  padding-top: 1.6rem !important;
}

.u-padding__top20 {
  padding-top: 2rem !important;
}

.u-padding__top24 {
  padding-top: 2.4rem !important;
}

.u-padding__top32 {
  padding-top: 3.2rem !important;
}

.u-padding__top40 {
  padding-top: 4rem !important;
}

.u-padding__top48 {
  padding-top: 4.8rem !important;
}

.u-padding__top56 {
  padding-top: 5.6rem !important;
}

.u-padding__top64 {
  padding-top: 6.4rem !important;
}

.u-padding__top72 {
  padding-top: 7.2rem !important;
}

.u-padding__top80 {
  padding-top: 8rem !important;
}

.u-padding__top88 {
  padding-top: 8.8rem !important;
}

.u-padding__top96 {
  padding-top: 9.6rem !important;
}

.u-padding__top100 {
  padding-top: 10rem !important;
}

.u-padding__top120 {
  padding-top: 12rem !important;
}

.u-padding__top140 {
  padding-top: 14rem !important;
}

.u-padding__top160 {
  padding-top: 16rem !important;
}

.u-padding__top180 {
  padding-top: 18rem !important;
}

.u-padding__top200 {
  padding-top: 20rem !important;
}

.u-padding__bottom2 {
  padding-bottom: 0.2rem !important;
}

.u-padding__bottom4 {
  padding-bottom: 0.4rem !important;
}

.u-padding__bottom6 {
  padding-bottom: 0.6rem !important;
}

.u-padding__bottom8 {
  padding-bottom: 0.8rem !important;
}

.u-padding__bottom12 {
  padding-bottom: 1.2rem !important;
}

.u-padding__bottom16 {
  padding-bottom: 1.6rem !important;
}

.u-padding__bottom20 {
  padding-bottom: 2rem !important;
}

.u-padding__bottom24 {
  padding-bottom: 2.4rem !important;
}

.u-padding__bottom32 {
  padding-bottom: 3.2rem !important;
}

.u-padding__bottom40 {
  padding-bottom: 4rem !important;
}

.u-padding__bottom48 {
  padding-bottom: 4.8rem !important;
}

.u-padding__bottom56 {
  padding-bottom: 5.6rem !important;
}

.u-padding__bottom64 {
  padding-bottom: 6.4rem !important;
}

.u-padding__bottom72 {
  padding-bottom: 7.2rem !important;
}

.u-padding__bottom80 {
  padding-bottom: 8rem !important;
}

.u-padding__bottom88 {
  padding-bottom: 8.8rem !important;
}

.u-padding__bottom96 {
  padding-bottom: 9.6rem !important;
}

.u-padding__bottom100 {
  padding-bottom: 10rem !important;
}

.u-padding__bottom120 {
  padding-bottom: 12rem !important;
}

.u-padding__bottom140 {
  padding-bottom: 14rem !important;
}

.u-padding__bottom160 {
  padding-bottom: 16rem !important;
}

.u-padding__bottom180 {
  padding-bottom: 18rem !important;
}

.u-padding__bottom200 {
  padding-bottom: 20rem !important;
}

.u-padding__left2 {
  padding-left: 0.2rem !important;
}

.u-padding__left4 {
  padding-left: 0.4rem !important;
}

.u-padding__left6 {
  padding-left: 0.6rem !important;
}

.u-padding__left8 {
  padding-left: 0.8rem !important;
}

.u-padding__left12 {
  padding-left: 1.2rem !important;
}

.u-padding__left16 {
  padding-left: 1.6rem !important;
}

.u-padding__left20 {
  padding-left: 2rem !important;
}

.u-padding__left24 {
  padding-left: 2.4rem !important;
}

.u-padding__left32 {
  padding-left: 3.2rem !important;
}

.u-padding__left40 {
  padding-left: 4rem !important;
}

.u-padding__left48 {
  padding-left: 4.8rem !important;
}

.u-padding__left56 {
  padding-left: 5.6rem !important;
}

.u-padding__left64 {
  padding-left: 6.4rem !important;
}

.u-padding__left72 {
  padding-left: 7.2rem !important;
}

.u-padding__left80 {
  padding-left: 8rem !important;
}

.u-padding__left88 {
  padding-left: 8.8rem !important;
}

.u-padding__left96 {
  padding-left: 9.6rem !important;
}

.u-padding__left100 {
  padding-left: 10rem !important;
}

.u-padding__left120 {
  padding-left: 12rem !important;
}

.u-padding__left140 {
  padding-left: 14rem !important;
}

.u-padding__left160 {
  padding-left: 16rem !important;
}

.u-padding__left180 {
  padding-left: 18rem !important;
}

.u-padding__left200 {
  padding-left: 20rem !important;
}

.u-padding__right2 {
  padding-right: 0.2rem !important;
}

.u-padding__right4 {
  padding-right: 0.4rem !important;
}

.u-padding__right6 {
  padding-right: 0.6rem !important;
}

.u-padding__right8 {
  padding-right: 0.8rem !important;
}

.u-padding__right12 {
  padding-right: 1.2rem !important;
}

.u-padding__right16 {
  padding-right: 1.6rem !important;
}

.u-padding__right20 {
  padding-right: 2rem !important;
}

.u-padding__right24 {
  padding-right: 2.4rem !important;
}

.u-padding__right32 {
  padding-right: 3.2rem !important;
}

.u-padding__right40 {
  padding-right: 4rem !important;
}

.u-padding__right48 {
  padding-right: 4.8rem !important;
}

.u-padding__right56 {
  padding-right: 5.6rem !important;
}

.u-padding__right64 {
  padding-right: 6.4rem !important;
}

.u-padding__right72 {
  padding-right: 7.2rem !important;
}

.u-padding__right80 {
  padding-right: 8rem !important;
}

.u-padding__right88 {
  padding-right: 8.8rem !important;
}

.u-padding__right96 {
  padding-right: 9.6rem !important;
}

.u-padding__right100 {
  padding-right: 10rem !important;
}

.u-padding__right120 {
  padding-right: 12rem !important;
}

.u-padding__right140 {
  padding-right: 14rem !important;
}

.u-padding__right160 {
  padding-right: 16rem !important;
}

.u-padding__right180 {
  padding-right: 18rem !important;
}

.u-padding__right200 {
  padding-right: 20rem !important;
}


@media screen and (min-width: 767px) {
  .only-mb {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .only-pc {
    display: none;
  }
}

.link-gray a {
  color: #ad540f;
  text-decoration: underline;
  transition: ease-in-out 0.3s;
}

@media (hover: hover) and (pointer: fine) {
  .link-gray a:hover {
    color: #c2c2c2;
  }
}

.shadow-a {
  filter: drop-shadow(0 0 1.6rem rgba(0, 0, 0, 0.0823529412));
}

.shadow-b {
  filter: drop-shadow(0 0 2rem rgba(0, 0, 0, 0.1254901961));
}