@charset "UTF-8";
/* ========================================================================== */
/* Normalize */
/* ========================================================================== */
/* normalize.scss v0.1.0 | MIT License | based on git.io/normalize */
/* -------------------------------------------------------------------------- */
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

/* normalize: html5 display definitions */
/* -------------------------------------------------------------------------- */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden],
template {
  display: none;
}

/* normalize: links */
/* -------------------------------------------------------------------------- */
a {
  background-color: transparent;
}

a:active,
a:hover {
  outline: 0;
}

/* normalize: text-level semantics */
/* -------------------------------------------------------------------------- */
abbr[title] {
  border-bottom: 1px dotted;
}

b,
strong {
  font-weight: bold;
}

dfn {
  font-style: italic;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

mark {
  background: #ff0;
  color: #000;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* normalize: embedded content */
/* -------------------------------------------------------------------------- */
img {
  border: 0;
}

svg:not(:root) {
  overflow: hidden;
}

/* normalize: grouping content */
/* -------------------------------------------------------------------------- */
figure {
  margin: 1em 40px;
}

hr {
  box-sizing: content-box;
  height: 0;
}

pre {
  overflow: auto;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* normalize: forms */
/* -------------------------------------------------------------------------- */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled],
html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input {
  line-height: normal;
}

input[type=checkbox],
input[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  height: auto;
}

input[type=search] {
  -webkit-appearance: textfield;
  box-sizing: content-box;
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
}

optgroup {
  font-weight: bold;
}

/* normalize: tables */
/* -------------------------------------------------------------------------- */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

/* ========================================================================== */
/* Initialize */
/* ========================================================================== */
/* initialize: base */
/* -------------------------------------------------------------------------- */
*,
*::after,
*::before {
  box-sizing: border-box;
}

html {
  overflow-x: hidden;
  box-sizing: border-box;
}

body {
  overflow-x: hidden;
  background-color: #fff;
  font-feature-settings: "palt" 1;
  font-family: "TsukuGoPr5-L", sans-serif;
  font-weight: 300;
  font-size: 1vw;
  line-height: 1.6;
  letter-spacing: 0.2em;
  color: #3d3d3d;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  body {
    font-size: 2.8vw;
  }
}
@media print {
  body {
    zoom: 64%;
    font-size: 0.64vw;
    -webkit-print-color-adjust: exact;
  }
}

/* initialize: divider */
/* -------------------------------------------------------------------------- */
hr {
  width: 70%;
  margin: 0 auto;
  border: 0;
  border-top: 1px solid #d1c395;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  hr {
    width: 80%;
  }
}

/* initialize: link */
/* -------------------------------------------------------------------------- */
a {
  text-decoration: none;
  color: #3d3d3d;
}

main a {
  border-bottom: 1px solid #d1c395;
}

.isnt-touch a:focus, .isnt-touch a:hover {
  color: #d1c395;
}

/* initialize: list */
/* -------------------------------------------------------------------------- */
ol,
ul {
  list-style: none;
  margin-top: 0;
  padding-left: 0;
}

dl {
  margin-top: 0;
}
dl dd {
  margin-left: 0;
}

/* initialize: media */
/* -------------------------------------------------------------------------- */
figure {
  margin: 0;
}
figure figcaption {
  margin-top: 1em;
}

img,
svg {
  width: 100%;
  height: auto;
  vertical-align: bottom;
  -ms-interpolation-mode: bicubic;
}

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

/* initialize: spacing */
/* -------------------------------------------------------------------------- */
button,
dd,
dt,
li {
  margin-bottom: 1em;
}

fieldset,
input,
select,
textarea {
  margin-bottom: 1.5em;
}

blockquote,
dl,
figure,
form,
ol,
p,
pre,
table,
ul {
  margin-bottom: 2em;
}

/* initialize: table */
/* -------------------------------------------------------------------------- */
table {
  width: 100%;
}
table th,
table td {
  text-align: left;
  vertical-align: top;
}

/* initialize: typography */
/* -------------------------------------------------------------------------- */
b,
strong {
  font-weight: 400;
}

em {
  font-style: italic;
  font-weight: 400;
  color: #cc496c;
}

address {
  font-style: normal;
}

p {
  margin-top: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 300;
  margin-top: 0;
  margin-bottom: 2em;
  line-height: 1.6;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-size: 2vw;
  }
}

/* ========================================================================== */
/* Elements */
/* ========================================================================== */
/* elements: accordion */
/* -------------------------------------------------------------------------- */
.accordion-trigger {
  position: relative;
  padding: 1em 3em 1em 1.5em;
  border: 1px solid #ebebeb;
  background-color: #fff;
  cursor: pointer;
  transition-property: padding, border-color, background-color;
  transition-duration: 0.2s;
}
.accordion-trigger small {
  position: absolute;
  top: 1.75em;
  right: 5em;
  font-size: 66.666%;
  color: #a3a3a3;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .accordion-trigger small {
    display: none;
  }
}
.accordion-trigger .trigger-icon {
  position: absolute;
  top: 1em;
  right: 1em;
  width: 1.5em;
  height: 1.5em;
  transform: translateX(0);
  transition-property: background-color, color;
  transition-duration: 0.2s;
}
.accordion-trigger .trigger-icon::before, .accordion-trigger .trigger-icon::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: calc(50% - 1px);
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #e0e0e0;
  transition-property: transform, background-color;
  transition-duration: 0.2s;
  transition-timing-function: ease-out;
}
.accordion-trigger .trigger-icon::after {
  transform: rotate(90deg);
}
.accordion-trigger.open {
  background-color: #f5f5f5;
}
.accordion-trigger.open .trigger-icon::before {
  transform: rotate(45deg);
  background-color: #e0e0e0;
}
.accordion-trigger.open .trigger-icon::after {
  transform: rotate(-45deg);
  background-color: #e0e0e0;
}

.isnt-touch .accordion-trigger:focus, .isnt-touch .accordion-trigger:hover {
  background-color: #f5f5f5;
}
.isnt-touch .accordion-trigger:focus .trigger-icon::before, .isnt-touch .accordion-trigger:focus .trigger-icon::after, .isnt-touch .accordion-trigger:hover .trigger-icon::before, .isnt-touch .accordion-trigger:hover .trigger-icon::after {
  background-color: #3d3d3d;
}

.accordion-target {
  display: none;
}
.accordion-target.border-block {
  border-top: 0;
}

/* elements: block */
/* -------------------------------------------------------------------------- */
.border-block {
  padding: 1.75em;
  border: 1px solid #ebebeb;
}

.base-block {
  padding: 1.75em;
  background-color: #f5f5f5;
}
.base-block.primary {
  background-color: #3d3d3d;
  color: #fff;
}
.base-block.secondary {
  background-color: #d1c395;
  color: #fff;
}
.base-block.tertiary {
  background-color: #a2d6f9;
}
.base-block.quaternary {
  background-color: #faea82;
}
.base-block.quinary {
  background-color: #cc496c;
}

/* elements: button */
/* -------------------------------------------------------------------------- */
.button {
  display: inline-block;
  position: relative;
  overflow: hidden;
  padding: 1.25em 2.5em;
  border-width: 0;
  background-color: #3d3d3d;
  vertical-align: middle;
  white-space: nowrap;
  text-align: center;
  text-decoration: none;
  line-height: 1;
  appearance: none;
}
.button__text {
  display: inline-block;
  position: relative;
  color: #fff;
  transition: color 0.2s ease-out;
}
.button::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #d1c395;
  transform: skewX(-45deg) scaleX(1.5) translateX(-150%);
  transition: transform 0.2s ease-out;
}
.button--qui {
  background-color: #cc496c;
}

.isnt-touch .button:focus .button__text, .isnt-touch .button:hover .button__text {
  color: #3d3d3d;
}
.isnt-touch .button:focus::before, .isnt-touch .button:hover::before {
  transform: skewX(-45deg) scaleX(1.5) translateX(0);
}

@keyframes shiny {
  0% {
    transform: skewX(-45deg) scaleX(1) translateX(-150%);
  }
  50% {
    transform: skewX(-45deg) scaleX(1) translateX(-150%);
  }
  100% {
    transform: skewX(-45deg) scaleX(1) translateX(150%);
  }
}
.button--shiny {
  background-color: #cc496c;
}
.button--shiny::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.5) 100%);
  transform: skewX(-45deg) scaleX(1) translateX(-150%);
  animation-name: shiny;
  animation-duration: 3s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}

/* elements: color */
/* -------------------------------------------------------------------------- */
.c-ini {
  color: #fff;
}

.c-pri {
  color: #3d3d3d;
}

.c-sec {
  color: #d1c395;
}

.c-ter {
  color: #a2d6f9;
}

.c-qua {
  color: #faea82;
}

.c-qui {
  color: #cc496c;
}

.c-g98 {
  color: #fafafa;
}

.c-g96 {
  color: #f5f5f5;
}

.c-g92 {
  color: #ebebeb;
}

.c-g88 {
  color: #e0e0e0;
}

.c-g80 {
  color: #cccccc;
}

.c-g72 {
  color: #b8b8b8;
}

.c-g64 {
  color: #a3a3a3;
}

.c-g56 {
  color: #8f8f8f;
}

.c-g48 {
  color: #7a7a7a;
}

.c-g40 {
  color: #666666;
}

.c-g32 {
  color: #525252;
}

.c-g24 {
  color: #3d3d3d;
}

.c-g16 {
  color: #292929;
}

.c-g08 {
  color: #141414;
}

/* elements: bg-color */
/* -------------------------------------------------------------------------- */
.bg-ini {
  background-color: #fff;
}

.bg-pri {
  background-color: #3d3d3d;
}

.bg-sec {
  background-color: #d1c395;
}

.bg-ter {
  background-color: #a2d6f9;
}

.bg-qua {
  background-color: #faea82;
}

.bg-qui {
  background-color: #cc496c;
}

.bg-g98 {
  background-color: #fafafa;
}

.bg-g96 {
  background-color: #f5f5f5;
}

.bg-g92 {
  background-color: #ebebeb;
}

.bg-g88 {
  background-color: #e0e0e0;
}

.bg-g80 {
  background-color: #cccccc;
}

.bg-g72 {
  background-color: #b8b8b8;
}

.bg-g64 {
  background-color: #a3a3a3;
}

.bg-g56 {
  background-color: #8f8f8f;
}

.bg-g48 {
  background-color: #7a7a7a;
}

.bg-g40 {
  background-color: #666666;
}

.bg-g32 {
  background-color: #525252;
}

.bg-g24 {
  background-color: #3d3d3d;
}

.bg-g16 {
  background-color: #292929;
}

.bg-g08 {
  background-color: #141414;
}

/* elements: form */
/* -------------------------------------------------------------------------- */
label {
  display: inline-block;
  margin-bottom: 1.5em;
  font-size: 1.25em;
}
label.title {
  display: block;
}

input::placeholder {
  font-family: sans-serif;
}

textarea {
  overflow: auto;
  resize: vertical;
  border-radius: 0.333em;
  font-family: sans-serif;
}

button, input {
  overflow: visible;
}

input[type=radio],
input[type=checkbox] {
  margin-bottom: 0;
}

input[type=text],
input[type=tel],
input[type=email],
input[type=search],
input[type=url],
input[type=password],
input[type=datetime],
input[type=date],
input[type=month],
input[type=week],
input[type=time],
input[type=datetime-local],
input[type=number],
input[type=range],
input[type=color] {
  border-radius: 0.333em;
  font-family: sans-serif;
}

img.captcha {
  max-width: 150px;
  margin-bottom: 2em;
}

.badge {
  display: inline-block;
  padding: 0 0.5em;
  font-size: 75%;
  line-height: 2;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
}

.badge-danger {
  transform: translateY(-0.1em);
  margin-left: 1em;
  background-color: #d1c395;
  color: #fff;
}

.alert {
  position: relative;
  padding: 0.75em 1.25em;
  margin-bottom: 1em;
  border: 1px solid transparent;
  border-radius: 0.333em;
}

.alert-heading {
  color: inherit;
}

.alert-dismissible {
  padding-right: 4rem;
}
.alert-dismissible .close {
  position: absolute;
  top: 0;
  right: 0;
  padding: 0.75rem 1.25rem;
  color: inherit;
}

.alert-primary {
  color: #004085;
  background-color: #cce5ff;
  border-color: #b8daff;
}
.alert-primary hr {
  border-top-color: #9fcdff;
}
.alert-primary .alert-link {
  color: #002752;
}

.alert-secondary {
  color: #383d41;
  background-color: #e2e3e5;
  border-color: #d6d8db;
}
.alert-secondary hr {
  border-top-color: #c8cbcf;
}
.alert-secondary .alert-link {
  color: #202326;
}

.alert-success {
  color: #155724;
  background-color: #d4edda;
  border-color: #c3e6cb;
}
.alert-success hr {
  border-top-color: #b1dfbb;
}
.alert-success .alert-link {
  color: #0b2e13;
}

.alert-info {
  color: #0c5460;
  background-color: #d1ecf1;
  border-color: #bee5eb;
}
.alert-info hr {
  border-top-color: #abdde5;
}
.alert-info .alert-link {
  color: #062c33;
}

.alert-warning {
  border-color: #f5c6cb;
}
.alert-warning hr {
  border-top-color: #ffe8a1;
}
.alert-warning .alert-link {
  color: #533f03;
}

.alert-danger {
  color: #721c24;
  background-color: #f8d7da;
  border-color: #f5c6cb;
}
.alert-danger hr {
  border-top-color: #f1b0b7;
}
.alert-danger .alert-link {
  color: #491217;
}

.alert-light {
  color: #818182;
  background-color: #fefefe;
  border-color: #fdfdfe;
}
.alert-light hr {
  border-top-color: #ececf6;
}
.alert-light .alert-link {
  color: #686868;
}

.alert-dark {
  color: #1b1e21;
  background-color: #d6d8d9;
  border-color: #c6c8ca;
}
.alert-dark hr {
  border-top-color: #b9bbbe;
}
.alert-dark .alert-link {
  color: #040505;
}

.form-control {
  display: inline-block;
  width: 100%;
  padding: 0.375em 0.75em;
  font-size: 1.25em;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #e0e0e0;
}

.form-group {
  padding: 2em 0;
  border-top: 1px solid #e0e0e0;
}
@media all and (min-width: 768px) {
  .form-group.column {
    display: flex;
    justify-content: space-between;
  }
  .form-group.column .form-item {
    width: calc(50% - 0.75em);
  }
}

form.alert {
  padding: 0;
  border: 0;
}

.form-group.alert {
  padding: 2em 0;
  border: 0;
  border-top: 1px solid #e0e0e0;
}

form #error_message {
  margin-bottom: 3em;
}
form #captcha {
  max-width: 10em;
}

.form-group .frame-box {
  width: 100%;
  height: 16em;
  overflow-y: scroll;
  padding: 1.5em;
  border: 1px solid #e0e0e0;
  border-radius: 0.333em;
  background-color: #fff;
  -webkit-overflow-scrolling: touch;
}

.form-group.submit {
  padding-top: 3em;
  text-align: center;
}
.form-group.submit .button {
  font-size: 1.5em;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .form-group.submit .button {
    width: 100%;
  }
}

/* elements: icon */
/* -------------------------------------------------------------------------- */
.icon {
  position: relative;
  padding-left: 1.5em;
}
.icon::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: calc(50% - 0.5em);
  left: 0;
  width: 1em;
  height: 1em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}
.icon.new-window::before {
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="%23d0c294"><polygon class="a" points="20 20 4 20 4 4 12 4 12 2 2 2 2 22 22 22 22 12 20 12 20 20"/><polygon class="a" points="14 2 14 4 18.59 4 11.29 11.29 12.71 12.71 20 5.41 20 10 22 10 22 2 14 2"/></svg>');
}
.icon.instagram::before {
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="%233d3d3d"><path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z" /></svg>');
}
.icon.twitter::before {
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="%233d3d3d"><path d="M24 4.557c-.883.392-1.832.656-2.828.775 1.017-.609 1.798-1.574 2.165-2.724-.951.564-2.005.974-3.127 1.195-.897-.957-2.178-1.555-3.594-1.555-3.179 0-5.515 2.966-4.797 6.045-4.091-.205-7.719-2.165-10.148-5.144-1.29 2.213-.669 5.108 1.523 6.574-.806-.026-1.566-.247-2.229-.616-.054 2.281 1.581 4.415 3.949 4.89-.693.188-1.452.232-2.224.084.626 1.956 2.444 3.379 4.6 3.419-2.07 1.623-4.678 2.348-7.29 2.04 2.179 1.397 4.768 2.212 7.548 2.212 9.142 0 14.307-7.721 13.995-14.646.962-.695 1.797-1.562 2.457-2.549z"/></svg>');
}
.icon.facebook::before {
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="%233d3d3d"><path d="m9 8h-3v4h3v12h5v-12h3.642l.358-4h-4v-1.667c0-.955.192-1.333 1.115-1.333h2.885v-5h-3.808c-3.596 0-5.192 1.583-5.192 4.615z"/></svg>');
}
.icon.line::before {
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24" viewBox="0 0 24 24" clip-rule="evenodd" fill-rule="evenodd" fill="%233d3d3d"><path d="m24 10.304c0-5.369-5.383-9.738-12-9.738-6.616 0-12 4.369-12 9.738 0 4.814 4.269 8.846 10.036 9.608.391.084.922.258 1.057.592.121.303.079.778.039 1.085l-.171 1.027c-.053.303-.242 1.186 1.039.647 1.281-.54 6.911-4.069 9.428-6.967 1.739-1.907 2.572-3.843 2.572-5.992zm-18.988-2.595c.129 0 .234.105.234.234v4.153h2.287c.129 0 .233.104.233.233v.842c0 .129-.104.234-.233.234h-3.363c-.063 0-.119-.025-.161-.065l-.001-.001-.002-.002-.001-.001-.003-.003c-.04-.042-.065-.099-.065-.161v-5.229c0-.129.104-.234.233-.234zm14.992 0c.129 0 .233.105.233.234v.842c0 .129-.104.234-.233.234h-2.287v.883h2.287c.129 0 .233.105.233.234v.842c0 .129-.104.234-.233.234h-2.287v.884h2.287c.129 0 .233.105.233.233v.842c0 .129-.104.234-.233.234h-3.363c-.063 0-.12-.025-.162-.065l-.003-.004-.003-.003c-.04-.042-.066-.099-.066-.161v-5.229c0-.062.025-.119.065-.161l.004-.004.003-.003c.042-.04.099-.066.162-.066h3.363zm-10.442.001c.129 0 .234.104.234.233v5.229c0 .128-.105.233-.234.233h-.842c-.129 0-.234-.105-.234-.233v-5.229c0-.129.105-.233.234-.233zm2.127 0h.008l.012.001.013.001.01.001.013.003.008.003.014.004.008.003.013.006.007.003.013.007.007.004.012.009.006.004.013.011.004.004.014.014.002.002.018.023 2.396 3.236v-3.106c0-.129.105-.233.234-.233h.841c.13 0 .234.104.234.233v5.229c0 .128-.104.233-.234.233h-.841l-.06-.008-.004-.001-.015-.005-.007-.003-.012-.004-.011-.006-.007-.003-.014-.009-.002-.002-.06-.058-2.399-3.24v3.106c0 .128-.104.233-.234.233h-.841c-.129 0-.234-.105-.234-.233v-5.229c0-.129.105-.233.234-.233z"/></svg>');
}
.icon.x::before {
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill="%233d3d3d"><path d="m18.979 13.55 11.656-13.55h-2.762l-10.121 11.765-8.084-11.765h-9.324l12.224 17.791-12.224 14.209h2.762l10.688-12.424 8.537 12.424h9.324l-12.678-18.45zm-14.877-11.471h4.243l19.53 27.936h-4.243z"/></svg>');
}

.isnt-touch .icon:focus.instagram::before, .isnt-touch .icon:hover.instagram::before {
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="%23d1c395"><path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z" /></svg>');
}
.isnt-touch .icon:focus.twitter::before, .isnt-touch .icon:hover.twitter::before {
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="%23d1c395"><path d="M24 4.557c-.883.392-1.832.656-2.828.775 1.017-.609 1.798-1.574 2.165-2.724-.951.564-2.005.974-3.127 1.195-.897-.957-2.178-1.555-3.594-1.555-3.179 0-5.515 2.966-4.797 6.045-4.091-.205-7.719-2.165-10.148-5.144-1.29 2.213-.669 5.108 1.523 6.574-.806-.026-1.566-.247-2.229-.616-.054 2.281 1.581 4.415 3.949 4.89-.693.188-1.452.232-2.224.084.626 1.956 2.444 3.379 4.6 3.419-2.07 1.623-4.678 2.348-7.29 2.04 2.179 1.397 4.768 2.212 7.548 2.212 9.142 0 14.307-7.721 13.995-14.646.962-.695 1.797-1.562 2.457-2.549z"/></svg>');
}
.isnt-touch .icon:focus.facebook::before, .isnt-touch .icon:hover.facebook::before {
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="%23d1c395"><path d="m9 8h-3v4h3v12h5v-12h3.642l.358-4h-4v-1.667c0-.955.192-1.333 1.115-1.333h2.885v-5h-3.808c-3.596 0-5.192 1.583-5.192 4.615z"/></svg>');
}
.isnt-touch .icon:focus.line::before, .isnt-touch .icon:hover.line::before {
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24" viewBox="0 0 24 24" clip-rule="evenodd" fill-rule="evenodd" fill="%23d1c395"><path d="m24 10.304c0-5.369-5.383-9.738-12-9.738-6.616 0-12 4.369-12 9.738 0 4.814 4.269 8.846 10.036 9.608.391.084.922.258 1.057.592.121.303.079.778.039 1.085l-.171 1.027c-.053.303-.242 1.186 1.039.647 1.281-.54 6.911-4.069 9.428-6.967 1.739-1.907 2.572-3.843 2.572-5.992zm-18.988-2.595c.129 0 .234.105.234.234v4.153h2.287c.129 0 .233.104.233.233v.842c0 .129-.104.234-.233.234h-3.363c-.063 0-.119-.025-.161-.065l-.001-.001-.002-.002-.001-.001-.003-.003c-.04-.042-.065-.099-.065-.161v-5.229c0-.129.104-.234.233-.234zm14.992 0c.129 0 .233.105.233.234v.842c0 .129-.104.234-.233.234h-2.287v.883h2.287c.129 0 .233.105.233.234v.842c0 .129-.104.234-.233.234h-2.287v.884h2.287c.129 0 .233.105.233.233v.842c0 .129-.104.234-.233.234h-3.363c-.063 0-.12-.025-.162-.065l-.003-.004-.003-.003c-.04-.042-.066-.099-.066-.161v-5.229c0-.062.025-.119.065-.161l.004-.004.003-.003c.042-.04.099-.066.162-.066h3.363zm-10.442.001c.129 0 .234.104.234.233v5.229c0 .128-.105.233-.234.233h-.842c-.129 0-.234-.105-.234-.233v-5.229c0-.129.105-.233.234-.233zm2.127 0h.008l.012.001.013.001.01.001.013.003.008.003.014.004.008.003.013.006.007.003.013.007.007.004.012.009.006.004.013.011.004.004.014.014.002.002.018.023 2.396 3.236v-3.106c0-.129.105-.233.234-.233h.841c.13 0 .234.104.234.233v5.229c0 .128-.104.233-.234.233h-.841l-.06-.008-.004-.001-.015-.005-.007-.003-.012-.004-.011-.006-.007-.003-.014-.009-.002-.002-.06-.058-2.399-3.24v3.106c0 .128-.104.233-.234.233h-.841c-.129 0-.234-.105-.234-.233v-5.229c0-.129.105-.233.234-.233z"/></svg>');
}
.isnt-touch .icon:focus.x::before, .isnt-touch .icon:hover.x::before {
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill="%23d1c395"><path d="m18.979 13.55 11.656-13.55h-2.762l-10.121 11.765-8.084-11.765h-9.324l12.224 17.791-12.224 14.209h2.762l10.688-12.424 8.537 12.424h9.324l-12.678-18.45zm-14.877-11.471h4.243l19.53 27.936h-4.243z"/></svg>');
}

/* elements: legacy-alert */
/* -------------------------------------------------------------------------- */
.legacy-alert {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  padding: 10px 0;
  background-color: red;
  text-align: center;
  font-size: 1.2rem;
  line-height: 1.6;
  color: white;
}

/* elements: label */
/* ---------------------------------------------------------------- */
.label {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  padding: 1em 1.5em;
  font-family: "DINNextLTPro-Light", sans-serif;
  font-size: 1em;
  line-height: 1.6;
}

/* elements: list */
/* ---------------------------------------------------------------- */
ol.list {
  counter-reset: number;
  padding-left: 2em;
}
ol.list > li {
  position: relative;
}
ol.list > li::before {
  counter-increment: number;
  content: counter(number) ".";
  position: absolute;
  top: 0.25em;
  right: calc(100% + 0.5em);
  font-family: "DINNextLTPro-Light", sans-serif;
  color: #d1c395;
}

ul.list > li {
  margin-left: 1em;
  text-indent: -1em;
}
ul.list > li::before {
  content: "";
  display: inline-block;
  width: 0.5em;
  height: 0.5em;
  margin-right: 0.5em;
  border: solid 1px #d1c395;
  transform: translateY(-0.1em);
}

dl.list {
  margin-top: 0;
}
dl.list dd {
  margin-left: 1.5em;
  text-indent: -1.5em;
}
dl.list dd::before {
  content: "";
  display: inline-block;
  width: 0.5em;
  height: 0.5em;
  margin-right: 1em;
  border: solid 1px #d1c395;
  transform: translateY(-0.1em);
}

.check-list > li {
  position: relative;
  padding-left: 2em;
}
.check-list > li::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0.3em;
  left: 0;
  width: 1em;
  height: 1em;
  border: 1px solid #d1c395;
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="m3 11h6l2 2 12-13h1v1l-13 18z" fill="%23d0c294" fill-rule="evenodd"/></svg>');
  background-size: 100%;
}

/* elements: cloud-number */
/* -------------------------------------------------------------------------- */
.number {
  display: inline-block;
  position: relative;
  width: 2em;
  padding: 0.6em 0 0.4em;
  border: 1px solid #d1c395;
  text-align: center;
  font-family: "DINNextLTPro-Light", sans-serif;
  line-height: 1;
  letter-spacing: 0;
  color: #d1c395;
}

/* elements: scroll-assist */
/* -------------------------------------------------------------------------- */
.scroll-assist {
  position: absolute;
  top: 50%;
  right: 2.5%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
}
.scroll-assist .text {
  transform: translateX(-0.2em);
  margin-bottom: 2em;
  writing-mode: vertical-rl;
  font-family: "DINNextLTPro-Light", sans-serif;
  font-size: 0.875em;
  color: #fff;
  letter-spacing: 0.4em;
}
.scroll-assist .bar {
  position: relative;
  width: 1px;
  height: 8em;
  background-color: #fff;
}
.scroll-assist .bar::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: -2px;
  transform: translateY(-2px) scale(3);
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: #fff;
  opacity: 0;
  animation: scroll-grip 2s infinite ease-out;
}

@keyframes scroll-grip {
  0% {
    top: 0;
    transform: translateY(-2px) scale(3);
    opacity: 0;
  }
  20% {
    top: 0;
    opacity: 1;
    transform: translateY(-2px) scale(1);
  }
  60% {
    top: 100%;
    opacity: 1;
    transform: translateY(-2px) scale(1);
  }
  80% {
    top: 100%;
    opacity: 0;
    transform: translateY(-2px) scale(0);
  }
  100% {
    top: 100%;
    opacity: 0;
    transform: translateY(-2px) scale(0);
  }
}
/* elements: scroll-top */
/* -------------------------------------------------------------------------- */
.scroll-top {
  position: fixed;
  inset: auto 1.5em 3em auto;
  z-index: 9;
  transform: translateY(8em);
  transition: transform 0.6s ease-out;
}
.scroll-top__anchor {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 4em;
  height: 4em;
  background-color: rgba(60, 60, 60, 0.1);
}
.scroll-top__anchor::before {
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  border-top: 0.15em solid rgba(60, 60, 60, 0.5);
  border-right: 0.15em solid rgba(60, 60, 60, 0.5);
  transform: translateY(0.333em) rotate(-45deg);
}

.add-scroll-top .scroll-top {
  transform: translateY(0);
}

.isnt-touch .scroll-top__anchor {
  transition: background-color 0.2s ease-out;
}
.isnt-touch .scroll-top__anchor::before {
  transition: border-color 0.2s ease-out;
}
.isnt-touch .scroll-top__anchor:hover {
  background-color: #d1c395;
}
.isnt-touch .scroll-top__anchor:hover::before {
  border-color: #fff;
}

/* elements: slick-slide */
/* -------------------------------------------------------------------------- */
/* elements: slick-list */
/* -------------------------------------------------------------------------- */
/* elements: slick-arrow */
/* -------------------------------------------------------------------------- */
.slick-arrow {
  position: absolute;
  top: calc(50% - 2em);
  width: 4em;
  height: 4em;
  overflow: hidden;
  z-index: 1;
  margin-bottom: 0;
  padding: 0;
  border: 0;
  outline: none;
  appearance: none;
  background-color: transparent;
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 48 48"><g fill="none" stroke="%23d1c395" stroke-width="1"><polyline points="24,1 47,24 24,47" /><polyline points="0,24 47,24" /></g></svg>');
  background-repeat: no-repeat;
  background-position: 55% center;
  background-size: 100%;
  appearance: none;
  text-indent: 100%;
  opacity: 0;
  transition-property: background-color, opacity, left, right;
  transition-duration: 0.1s;
  transition-timing-function: ease-out;
}
.slick-arrow.slick-prev {
  left: -2em;
  transform: scaleX(-1);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .slick-arrow.slick-prev {
    left: -3em;
  }
}
.slick-arrow.slick-next {
  right: -2em;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .slick-arrow.slick-next {
    right: -3em;
  }
}

.isnt-touch .slick-slider:focus .slick-arrow, .isnt-touch .slick-slider:hover .slick-arrow {
  opacity: 1;
}
.isnt-touch .slick-slider:focus .slick-prev, .isnt-touch .slick-slider:hover .slick-prev {
  left: -3em;
}
.isnt-touch .slick-slider:focus .slick-next, .isnt-touch .slick-slider:hover .slick-next {
  right: -3em;
}
.isnt-touch .slick-arrow:focus, .isnt-touch .slick-arrow:hover {
  cursor: pointer;
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 48 48"><g fill="none" stroke="%233d3d3d" stroke-width="1"><polyline points="24,1 47,24 24,47" /><polyline points="0,24 47,24" /></g></svg>');
}

.is-touch .slick-slider .slick-arrow {
  opacity: 1;
}

/* elements: slick-dots */
/* -------------------------------------------------------------------------- */
.slick-dots {
  display: flex;
  width: 100%;
  margin-bottom: 0;
}
.slick-dots li {
  position: relative;
  width: 3em;
  height: 2em;
  margin-bottom: 0;
}
.slick-dots button {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2em;
  transform-origin: bottom;
  overflow: hidden;
  margin-bottom: 0;
  padding: 0;
  border: 0;
  border-bottom: 1px solid #3d3d3d;
  outline: none;
  background: transparent;
  opacity: 0.1;
  text-indent: 100%;
  appearance: none;
  transition-property: height, background-color;
  transition-duration: 0.1s;
  transition-timing-function: ease-out;
}
.slick-dots .slick-active button {
  border-color: #d1c395;
  opacity: 1;
}

.isnt-touch .slick-slider:focus .slick-dots button, .isnt-touch .slick-slider:hover .slick-dots button {
  border-width: 3px;
}
.isnt-touch .slick-dots li:focus button, .isnt-touch .slick-dots li:hover button {
  cursor: pointer;
  opacity: 1;
}

.is-touch .slick-slider .slick-dots button {
  height: 1em;
}

/* elements: primary-table */
/* -------------------------------------------------------------------------- */
.primary-table {
  border-top: 2px solid #d1c395;
}
.primary-table th,
.primary-table td {
  padding: 1.5em;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .primary-table th,
  .primary-table td {
    padding: 1em;
  }
}
.primary-table th {
  border-bottom: 1px solid #e0e0e0;
  background-color: #3d3d3d;
  background-color: #f5f5f5;
  white-space: nowrap;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .primary-table th {
    width: 3em;
  }
  .primary-table th .text {
    display: inline-block;
    writing-mode: vertical-rl;
    line-height: 1;
  }
}
.primary-table td {
  border-bottom: 1px solid #e0e0e0;
  background-color: #fafafa;
}
.primary-table thead th,
.primary-table thead td {
  border-bottom: 1px solid #7a7a7a;
  background-color: #3d3d3d;
  text-align: center;
  color: #fff;
  white-space: nowrap;
}

/* elements: secondary-table */
/* -------------------------------------------------------------------------- */
.secondary-table {
  border-bottom: 1px solid #e0e0e0;
}
.secondary-table th,
.secondary-table td {
  border-top: 1px solid #e0e0e0;
  padding: 1em 0;
}
.secondary-table th {
  padding-right: 1em;
  white-space: nowrap;
}
.secondary-table thead th,
.secondary-table thead td {
  border-top: 0;
}

table ol,
table ul {
  margin-bottom: 0;
}
table p {
  margin-bottom: 0.5em;
}

/* elements: section-number-title */
/* -------------------------------------------------------------------------- */
.header-number-title {
  position: absolute;
  top: 9em;
  left: 2.5%;
  margin: 0;
  writing-mode: vertical-rl;
  white-space: nowrap;
  font-family: "DINNextLTPro-Light", sans-serif;
  font-weight: 400;
  font-size: 1em;
  line-height: 1;
  letter-spacing: 0.4em;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .header-number-title {
    top: 7em;
    right: 5%;
    left: auto;
  }
}
.header-number-title .sep {
  display: inline-block;
  margin: 0.5em 0;
  color: #d1c395;
}

/* elements: section-number-title */
/* -------------------------------------------------------------------------- */
.section-number-title {
  position: absolute;
  top: 10em;
  left: 2.5%;
  margin: 0;
  writing-mode: vertical-rl;
  white-space: nowrap;
  font-family: "DINNextLTPro-Light", sans-serif;
  font-weight: 400;
  font-size: 1em;
  line-height: 1;
  letter-spacing: 0.4em;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .section-number-title {
    top: 8em;
  }
}
.section-number-title .sep {
  display: inline-block;
  margin: 0.5em 0;
  color: #d1c395;
}

/* elements: page-title */
/* -------------------------------------------------------------------------- */
.page-title {
  white-space: nowrap;
  font-family: "TsukuMinPr6-L", sans-serif;
  font-size: 3em;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .page-title {
    font-size: 2.5em;
  }
}

/* elements: section-title */
/* -------------------------------------------------------------------------- */
.section-title {
  white-space: nowrap;
  font-family: "TsukuMinPr6-L", sans-serif;
  font-size: 4em;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .section-title {
    font-size: 3em;
  }
}

/* elements: number-title */
/* -------------------------------------------------------------------------- */
.number-title {
  display: flex;
  align-items: center;
  gap: 1em;
  font-size: 2em;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .number-title {
    font-size: 1.5em;
  }
}
.number-title__number {
  min-width: 2em;
  padding: 0.6em 0 0.4em;
  border: 1px solid #d1c395;
  text-align: center;
  font-family: "DINNextLTPro-Light", sans-serif;
  font-weight: 400;
  font-size: 150%;
  letter-spacing: 0;
  line-height: 1;
  color: #d1c395;
}
.number-title__text {
  font-family: "TsukuMinPr6-L", sans-serif;
  letter-spacing: 0.2em;
}

/* ========================================================================== */
/* common */
/* ========================================================================== */
/* animsition */
/* -------------------------------------------------------------------------- */
.animsition {
  position: relative;
}

/* page-main */
/* -------------------------------------------------------------------------- */
@media all and (min-width: 768px) {
  .page-main {
    padding-top: 7.5em;
  }
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .page-main {
    padding-top: 6em;
  }
}

/* page-header */
/* -------------------------------------------------------------------------- */
.page-header {
  position: relative;
}
@media all and (min-width: 768px) {
  .page-header {
    padding: 8em 15%;
  }
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .page-header {
    padding: 6em 10%;
  }
}

/* page-section */
/* -------------------------------------------------------------------------- */
.page-section {
  position: relative;
}
@media all and (min-width: 768px) {
  .page-section {
    padding: 8em 15%;
  }
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .page-section {
    padding: 6em 10%;
  }
}

/* block-section */
/* -------------------------------------------------------------------------- */
.block-section + .block-section {
  padding-top: 8em;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .block-section + .block-section {
    padding-top: 6em;
  }
}

/* page-aside */
/* -------------------------------------------------------------------------- */
.page-aside {
  position: relative;
}
@media all and (min-width: 768px) {
  .page-aside {
    padding: 8em 15% 0;
  }
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .page-aside {
    padding: 6em 10% 0;
  }
}

/* page-navi */
/* -------------------------------------------------------------------------- */
.page-navi {
  position: relative;
}
@media all and (min-width: 768px) {
  .page-navi {
    padding: 8em 15% 0;
  }
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .page-navi {
    padding: 6em 10% 0;
  }
}

/* ========================================================================== */
/* site header */
/* ========================================================================== */
/* site-header */
/* ------------------------------------- */
.site-header {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  padding: 2.5em 2.5%;
}
@media all and (min-width: 768px) {
  .site-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .site-header.fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding: 0 0 0 2.5%;
    background-color: #f5f5f5;
    background-color: #fff;
    animation: anime 0.2s;
  }
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .site-header {
    padding: 2em 2.5%;
  }
}
.site-header * {
  margin-bottom: 0;
}
.site-header a {
  border-bottom-width: 0;
}

@keyframes anime {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0);
  }
}
/* site-title */
/* ------------------------------------- */
.site-title {
  width: 12.5em;
  font-size: 1em;
}
.site-title .secondary {
  display: none;
}

@media all and (min-width: 768px) {
  .site-header.fixed .site-title {
    width: 10em;
  }
}
/* site-navi */
/* ------------------------------------- */
@media all and (min-width: 768px) {
  .site-navi .navi-item {
    font-size: 1em;
  }
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .site-navi .navi-item {
    position: relative;
    font-size: 1.75em;
    letter-spacing: 0.5em;
    line-height: 3;
  }
}

@media all and (min-width: 768px) {
  .isnt-touch .site-header.fixed .site-navi a:focus,
  .isnt-touch .site-header.fixed .site-navi a:hover {
    color: #d1c395;
  }
}
.site-navi {
  display: flex;
}
@media all and (min-width: 768px) {
  .site-navi {
    gap: 1.5em;
  }
  .site-navi .navi-item.top {
    display: none;
  }
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .site-navi {
    flex-direction: column;
    align-items: flex-start;
    position: fixed;
    top: 0;
    left: 100vw;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    padding: 20vh 20% 0;
  }
  .site-navi::before {
    content: "";
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: #fff;
    transform-origin: right;
    transform: scaleX(0);
    transition-property: transform;
    transition-duration: 0.3s;
    transition-timing-function: ease-out;
  }
  .site-navi .navi-item {
    opacity: 0;
    transform: translateX(-2em);
    transition-property: transform, opacity;
    transition-duration: 0.2s;
    transition-timing-function: ease-out;
  }
  .site-navi .navi-item:nth-of-type(1) {
    transition-delay: 0.3s;
  }
  .site-navi .navi-item:nth-of-type(2) {
    transition-delay: 0.32s;
  }
  .site-navi .navi-item:nth-of-type(3) {
    transition-delay: 0.34s;
  }
  .site-navi .navi-item:nth-of-type(4) {
    transition-delay: 0.36s;
  }
  .site-navi .navi-item:nth-of-type(5) {
    transition-delay: 0.38s;
  }
  .site-navi .navi-item:nth-of-type(6) {
    transition-delay: 0.4s;
  }
  .site-navi .navi-item:nth-of-type(7) {
    transition-delay: 0.42s;
  }
  .site-navi .navi-item:nth-of-type(8) {
    transition-delay: 0.44s;
  }
  .site-navi .navi-item:nth-of-type(9) {
    transition-delay: 0.46s;
  }
  .site-navi .navi-item:nth-of-type(10) {
    transition-delay: 0.48s;
  }
  .site-navi .navi-item.top {
    position: absolute;
    top: 1.15em;
    left: 2.5%;
    line-height: 1;
    width: 7.166em;
  }
  .site-navi.navi-open {
    left: 0;
  }
  .site-navi.navi-open::before {
    transform: scaleX(1);
  }
  .site-navi.navi-open a {
    opacity: 1;
    transform: translateX(0);
  }
}

/* site-contact */
/* ------------------------------------- */
@media screen and (max-width: 768px) and (orientation: portrait) {
  .site-contact {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 11;
    width: 100%;
  }
}
.site-contact .button {
  padding: 1em 2em;
  font-size: 1em;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .site-contact .button {
    width: 100%;
    padding: 1.5em;
    font-size: 1.5em;
  }
}

.site-header.fixed .site-contact .button {
  padding: 1.5em 2em;
}

/* navi-trigger */
/* -------------------------------------------------------------------------- */
.navi-trigger {
  display: block;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 10;
  width: 6em;
  height: 6em;
  background-color: #fff;
  cursor: pointer;
}
@media all and (min-width: 768px) {
  .navi-trigger {
    display: none;
  }
}
.navi-trigger .line {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 33.333%;
  width: 33.333%;
  height: 0.1em;
  background-color: #d1c395;
  background-color: #3d3d3d;
  transition: transform 0.2s ease-out;
}
.navi-trigger .line:nth-of-type(1) {
  transform: translateY(-500%);
}
.navi-trigger .line:nth-of-type(3) {
  transform: translateY(500%);
}
.navi-trigger.navi-close {
  background-color: #fff;
}
.navi-trigger.navi-close .line:nth-of-type(1) {
  transform: rotate(-135deg);
}
.navi-trigger.navi-close .line:nth-of-type(2) {
  opacity: 0;
}
.navi-trigger.navi-close .line:nth-of-type(3) {
  transform: rotate(135deg);
}

/* current */
/* -------------------------------------------------------------------------- */
.service-content .site-navi .navi-item.service {
  position: relative;
}
.service-content .site-navi .navi-item.service::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(100% + 0.5em);
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #d1c395;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .service-content .site-navi .navi-item.service::after {
    top: auto;
    bottom: 0;
  }
}

.feature-content .site-navi .navi-item.feature {
  position: relative;
}
.feature-content .site-navi .navi-item.feature::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(100% + 0.5em);
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #d1c395;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .feature-content .site-navi .navi-item.feature::after {
    top: auto;
    bottom: 0;
  }
}

.works-content .site-navi .navi-item.works {
  position: relative;
}
.works-content .site-navi .navi-item.works::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(100% + 0.5em);
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #d1c395;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .works-content .site-navi .navi-item.works::after {
    top: auto;
    bottom: 0;
  }
}

.process-content .site-navi .navi-item.process {
  position: relative;
}
.process-content .site-navi .navi-item.process::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(100% + 0.5em);
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #d1c395;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .process-content .site-navi .navi-item.process::after {
    top: auto;
    bottom: 0;
  }
}

.price-content .site-navi .navi-item.price {
  position: relative;
}
.price-content .site-navi .navi-item.price::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(100% + 0.5em);
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #d1c395;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .price-content .site-navi .navi-item.price::after {
    top: auto;
    bottom: 0;
  }
}

.company-content .site-navi .navi-item.company {
  position: relative;
}
.company-content .site-navi .navi-item.company::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(100% + 0.5em);
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #d1c395;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .company-content .site-navi .navi-item.company::after {
    top: auto;
    bottom: 0;
  }
}

.faq-content .site-navi .navi-item.faq {
  position: relative;
  position: relative;
}
.faq-content .site-navi .navi-item.faq::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(100% + 0.5em);
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #d1c395;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .faq-content .site-navi .navi-item.faq::after {
    top: auto;
    bottom: 0;
  }
}
.faq-content .site-navi .navi-item.faq::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(100% + 0.5em);
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #d1c395;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .faq-content .site-navi .navi-item.faq::after {
    top: auto;
    bottom: 0;
  }
}

.column-content .site-navi .navi-item.column {
  position: relative;
}
.column-content .site-navi .navi-item.column::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(100% + 0.5em);
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #d1c395;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .column-content .site-navi .navi-item.column::after {
    top: auto;
    bottom: 0;
  }
}

/* ========================================================================== */
/* site footer */
/* ========================================================================== */
.site-footer {
  position: relative;
  padding: 5em 0 10em;
  text-align: center;
}
.site-footer .sns-official {
  font-family: "DINNextLTPro-Light", sans-serif;
}
.site-footer .sns-official .icon {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  padding-left: 0;
}
.site-footer .sns-official .icon::before {
  position: relative;
  top: auto;
  left: auto;
  width: 4em;
  height: 4em;
  margin-bottom: 1.5em;
}
.site-footer .sns-share {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 6em;
}
.site-footer .sns-share .caption {
  width: 100%;
  margin-bottom: 3em;
  font-family: "DINNextLTPro-Light", sans-serif;
  font-size: 1em;
  letter-spacing: 0.4em;
}
.site-footer .sns-share .icon {
  width: 1em;
  height: 1em;
  margin: 0 0.5em;
  padding: 0;
  font-size: 2.5em;
}
.site-footer .sns-share .icon::before {
  margin: 0;
}
.site-footer .links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 6em;
}
.site-footer .links .link {
  margin: 0 1em;
  font-family: "DINNextLTPro-Light", sans-serif;
  font-size: 1em;
}
.site-footer .credit {
  margin-top: 6em;
}
.site-footer .credit .copyright {
  font-family: "DINNextLTPro-Light", sans-serif;
  font-size: 1em;
  letter-spacing: 0.1em;
}

.sns-link {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3em;
  line-height: 1;
}
.sns-link__anchor {
  display: flex;
  align-items: center;
  gap: 1.5em;
}
.sns-link__anchor__pri {
  width: 4em;
}
.sns-link__anchor__sec {
  font-size: 1.5em;
}

/* ========================================================================== */
/* bg-container */
/* ========================================================================== */
.bg-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: -1;
}
.bg-container .bg-item {
  position: absolute;
}
.bg-container .bg-item.symbol {
  width: 300vw;
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 100%;
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg viewBox="0 0 256 138" xmlns="http://www.w3.org/2000/svg"><g fill="%23f5f5f5"><path d="m64 137.95-55.43-32 183.43-105.9 55.43 32z"/><path d="m110.85 32.05-55.42-32-55.43 32v64z"/><path d="m256 41.95v64l-55.43 32-55.42-32z"/></g></svg>');
}
.bg-container .bg-item.symbol::before {
  content: "";
  display: block;
  padding-top: 53.90625%;
}
.bg-container .bg-item.symbol.t1 {
  left: -100vw;
  opacity: 0.25;
}
.bg-container .bg-item.symbol.t2 {
  left: -50vw;
  opacity: 0.25;
}
.bg-container .bg-item.symbol.s1 {
  top: 0;
}
.bg-container .bg-item.symbol.s2 {
  top: 156vw;
}
.bg-container .bg-item.symbol.s3 {
  top: 312vw;
}
.bg-container .bg-item.symbol.s4 {
  top: 468vw;
}
.bg-container .bg-item.symbol.s5 {
  top: 624vw;
}
.bg-container .bg-item.symbol.s6 {
  top: 780vw;
}
.bg-container .bg-item.symbol.s7 {
  top: 936vw;
}
.bg-container .bg-item.symbol.s8 {
  top: 1092vw;
}
.bg-container .bg-item.symbol.s9 {
  top: 1248vw;
}
.bg-container .bg-item.symbol.s10 {
  top: 1404vw;
}
.bg-container .bg-item.symbol.s11 {
  top: 1560vw;
}
.bg-container .bg-item.symbol.s12 {
  top: 1716vw;
}
.bg-container .bg-item.symbol.s13 {
  top: 1872vw;
}
.bg-container .bg-item.symbol.s14 {
  top: 2028vw;
}
.bg-container .bg-item.symbol.s15 {
  top: 2184vw;
}
.bg-container .bg-item.symbol.s16 {
  top: 2340vw;
}
.bg-container .bg-item.symbol.s17 {
  top: 2496vw;
}
.bg-container .bg-item.symbol.s18 {
  top: 2652vw;
}
.bg-container .bg-item.symbol.s19 {
  top: 2808vw;
}
.bg-container .bg-item.symbol.s20 {
  top: 2964vw;
}

/* ========================================================================== */
/* number-card */
/* ========================================================================== */
.number-card {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.number-card__number {
  min-width: 2em;
  padding: 0.6em 0 0.4em;
  border: 1px solid #d1c395;
  text-align: center;
  font-family: "DINNextLTPro-Light", sans-serif;
  font-weight: 400;
  font-size: 150%;
  letter-spacing: 0;
  line-height: 1;
  color: #d1c395;
}
.number-card__image {
  padding: 0 0.5em;
}
.number-card__title {
  text-align: center;
  font-size: 1.25em;
}
.number-card__list {
  margin-bottom: 0;
  font-size: 1.25em;
}
.number-card__list li {
  margin-bottom: 0.5em;
}
.number-card__list li:last-of-type {
  margin-bottom: 0;
}

a.number-card {
  position: relative;
  padding-bottom: 2em;
  border-bottom: 0;
}
a.number-card::after {
  content: "〉";
  display: block;
  position: absolute;
  inset: auto auto -0.5em calc(50% - 0.5em);
  transform: rotate(90deg);
  width: 1em;
  height: 0.375em;
  color: #d1c395;
  font-size: 1.5em;
  line-height: 0;
  letter-spacing: 0;
}

/* ========================================================================== */
/* works-card */
/* ========================================================================== */
.works-card {
  display: flex;
  align-items: center;
  gap: 3em;
  padding: 3em;
  background-color: #fff;
  border: 1px solid #ebebeb;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .works-card {
    flex-direction: column;
    padding: 1.5em;
    padding-bottom: 3em;
  }
}
.works-card__image {
  position: relative;
  flex: 1;
}
.works-card__logo {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  inset: auto 1em 1em auto;
  width: 6em;
  height: 6em;
  border-radius: 50%;
  background-color: #fff;
}
.works-card__logo img {
  width: 66.666%;
}
.works-card__content {
  flex: 1;
}
.works-card__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2em;
}
.works-card__title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1em;
}
.works-card__title__pri {
  margin-bottom: 0;
  font-size: 2em;
}
.works-card__title__sec {
  font-size: 1.125em;
  letter-spacing: 0.1em;
}
.works-card__title__ul {
  border-bottom: 1px solid #d1c395;
}
.works-card__read {
  text-align: justify;
  font-size: 1.125em;
  line-height: 2;
}
.works-card--vertical {
  flex-direction: column;
  gap: 1.5em;
  padding: 1.5em 1.5em 3em 1.5em;
}
.works-card--vertical .works-card__title__pri {
  font-size: 1.5em;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .works-card--vertical .works-card__title__pri {
    font-size: 2em;
  }
}
.works-card--vertical .works-card__title__sec {
  font-size: 1em;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .works-card--vertical .works-card__title__sec {
    font-size: 1.25em;
  }
}
.works-card--vertical .works-card__read {
  font-size: 1em;
}
.works-card--other {
  flex-direction: column;
  gap: 1.5em;
  padding: 2em;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .works-card--other {
    padding: 1.5em;
  }
}
.works-card--other .works-card__head {
  display: flex;
  align-items: flex-start;
  gap: 1.5em;
}
.works-card--other .works-card__image {
  flex: auto;
  width: calc(40% - 0.75em);
  aspect-ratio: 1/1;
}
.works-card--other .works-card__image img {
  height: 100%;
  object-fit: cover;
}
.works-card--other .works-card__content {
  flex: auto;
}
.works-card--other .works-card__title {
  width: calc(60% - 0.75em);
}
.works-card--other .works-card__title__pri {
  font-size: 1.5em;
}
.works-card--other .works-card__read {
  width: 100%;
  letter-spacing: 0.1em;
}

a.works-card {
  position: relative;
}
a.works-card::after {
  content: "";
  display: block;
  position: absolute;
  inset: auto 0 0 auto;
  width: 3em;
  height: 3em;
  background-color: #d1c395;
  background-image: url(../images/common/ico_arrow_02.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.5em;
}

.isnt-touch a.works-card:focus, .isnt-touch a.works-card:hover {
  border-color: #d1c395;
}

/* ========================================================================== */
/* column-container */
/* ========================================================================== */
.column-container {
  display: flex;
  flex-wrap: wrap;
}
.column-container .col-item {
  position: relative;
  margin-bottom: 2em;
}
.column-container .col-item .number {
  display: block;
  margin: 0 auto;
  font-size: 1.5em;
}
.column-container .col-item .image {
  margin: 1.5em 0;
  text-align: center;
}
.column-container .col-item .image img {
  width: 10em;
}
.column-container.col-2 .col-item {
  width: 50%;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .column-container.col-2 .col-item {
    width: 100%;
  }
}
.column-container.col-3 .col-item {
  width: 33.333%;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .column-container.col-3 .col-item {
    width: 50%;
  }
}
.column-container.col-4 .col-item {
  width: 25%;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .column-container.col-4 .col-item {
    width: 50%;
  }
}
.column-container.col-5 .col-item {
  width: 20%;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .column-container.col-5 .col-item {
    width: 50%;
  }
}
.column-container.col-2.gap {
  gap: 2em;
}
.column-container.col-2.gap .col-item {
  width: calc(50% - 1em);
  margin-bottom: 0;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .column-container.col-2.gap .col-item {
    width: 100%;
  }
}
.column-container.col-3.gap {
  gap: 2em;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .column-container.col-3.gap {
    gap: 1em;
  }
}
.column-container.col-3.gap .col-item {
  width: calc(33.333% - 1.333em);
  margin-bottom: 0;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .column-container.col-3.gap .col-item {
    width: calc(50% - 0.5em);
  }
}
.column-container.col-4.gap {
  gap: 1em;
}
.column-container.col-4.gap .col-item {
  width: calc(25% - 0.75em);
  margin-bottom: 0;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .column-container.col-4.gap .col-item {
    width: calc(50% - 0.5em);
  }
}
.column-container.col-5.gap {
  gap: 0.5em;
}
.column-container.col-5.gap .col-item {
  width: calc(20% - 0.4em);
  margin-bottom: 0;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .column-container.col-5.gap .col-item {
    width: calc(50% - 0.5em);
  }
}
.column-container.col-img {
  justify-content: space-between;
  align-items: flex-start;
}
@media all and (min-width: 768px) {
  .column-container.col-img {
    flex-direction: row-reverse;
  }
}
.column-container.col-img .col-item {
  margin: 0;
  padding: 0;
  background-color: transparent;
}
@media all and (min-width: 768px) {
  .column-container.col-img .col-item.image {
    width: 32%;
  }
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .column-container.col-img .col-item.image {
    width: 75%;
    margin: 0 auto 2em;
  }
}
.column-container.col-img .col-item.image.double {
  position: relative;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .column-container.col-img .col-item.image.double {
    margin: 0 auto 6em;
  }
}
.column-container.col-img .col-item.image.double img {
  position: relative;
  z-index: 1;
}
.column-container.col-img .col-item.image.double img + img {
  position: absolute;
  top: 20%;
  left: 20%;
  z-index: 0;
}
@media all and (min-width: 768px) {
  .column-container.col-img .col-item.content {
    width: 64%;
  }
}

/* ========================================================================== */
/* Column Container */
/* ========================================================================== */
/* column: default */
/* -------------------------------------------------------------------------- */
.column {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 0;
}
.column .column__item {
  margin-bottom: 0;
}

/* column: gap */
/* -------------------------------------------------------------------------- */
.column--g-1 {
  gap: 1em;
}
.column--g-2 {
  gap: 2em;
}
.column--g-3 {
  gap: 3em;
}
.column--g-4 {
  gap: 4em;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
  .column--sp-g-1 {
    gap: 1em;
  }
  .column--sp-g-2 {
    gap: 2em;
  }
  .column--sp-g-3 {
    gap: 3em;
  }
  .column--sp-g-4 {
    gap: 4em;
  }
}
/* column: number and width */
/* -------------------------------------------------------------------------- */
.column--col-2 .column__item {
  width: 50%;
}
.column--col-3 .column__item {
  width: 33.333%;
}
.column--col-4 .column__item {
  width: 25%;
}
.column--col-5 .column__item {
  width: 20%;
}

.column--g-1.column--col-2 .column__item {
  width: calc(50% - 0.5em);
}
.column--g-1.column--col-3 .column__item {
  width: calc(33.333% - 0.666em);
}
.column--g-1.column--col-4 .column__item {
  width: calc(25% - 0.75em);
}
.column--g-1.column--col-5 .column__item {
  width: calc(20% - 0.8em);
}

.column--g-2.column--col-2 .column__item {
  width: calc(50% - 1em);
}
.column--g-2.column--col-3 .column__item {
  width: calc(33.333% - 1.333em);
}
.column--g-2.column--col-4 .column__item {
  width: calc(25% - 1.5em);
}
.column--g-2.column--col-5 .column__item {
  width: calc(20% - 1.6em);
}

.column--g-3.column--col-2 .column__item {
  width: calc(50% - 1.5em);
}
.column--g-3.column--col-3 .column__item {
  width: calc(33.333% - 2em);
}
.column--g-3.column--col-4 .column__item {
  width: calc(25% - 2.25em);
}
.column--g-3.column--col-5 .column__item {
  width: calc(20% - 2.4em);
}

.column--g-4.column--col-2 .column__item {
  width: calc(50% - 2em);
}
.column--g-4.column--col-3 .column__item {
  width: calc(33.333% - 2.666em);
}
.column--g-4.column--col-4 .column__item {
  width: calc(25% - 3em);
}
.column--g-4.column--col-5 .column__item {
  width: calc(20% - 3.2em);
}

@media screen and (max-width: 768px) and (orientation: portrait) {
  .column--sp-col-1 .column__item {
    width: 100%;
  }
  .column--sp-col-2 .column__item {
    width: 50%;
  }
  .column--g-1.column--sp-col-1 .column__item,
  .column--sp-g-1.column--sp-col-1 .column__item {
    width: 100%;
  }
  .column--g-1.column--sp-col-2 .column__item,
  .column--sp-g-1.column--sp-col-2 .column__item {
    width: calc(50% - 0.5em);
  }
  .column--g-2.column--sp-col-1 .column__item,
  .column--sp-g-2.column--sp-col-1 .column__item {
    width: 100%;
  }
  .column--g-2.column--sp-col-2 .column__item,
  .column--sp-g-2.column--sp-col-2 .column__item {
    width: calc(50% - 1em);
  }
  .column--g-3.column--sp-col-1 .column__item,
  .column--sp-g-3.column--sp-col-1 .column__item {
    width: 100%;
  }
  .column--g-3.column--sp-col-2 .column__item,
  .column--sp-g-3.column--sp-col-2 .column__item {
    width: calc(50% - 1.5em);
  }
  .column--g-4.column--sp-col-1 .column__item,
  .column--sp-g-4.column--sp-col-1 .column__item {
    width: 100%;
  }
  .column--g-4.column--sp-col-2 .column__item,
  .column--sp-g-4.column--sp-col-2 .column__item {
    width: calc(50% - 2em);
  }
}
/* column: flex-direction */
/* -------------------------------------------------------------------------- */
.column--fd-row {
  flex-direction: row;
}
.column--fd-row-reverse {
  flex-direction: row-reverse;
}
.column--fd-column {
  flex-direction: column;
}
.column--fd-column-reverse {
  flex-direction: column-reverse;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .column--sp-fd-row {
    flex-direction: row;
  }
  .column--sp-fd-row-reverse {
    flex-direction: row-reverse;
  }
  .column--sp-fd-column {
    flex-direction: column;
  }
  .column--sp-fd-column-reverse {
    flex-direction: column-reverse;
  }
}

/* column: justify-content */
/* -------------------------------------------------------------------------- */
.column--jc-flex-start {
  justify-content: flex-start;
}
.column--jc-center {
  justify-content: center;
}
.column--jc-flex-end {
  justify-content: flex-end;
}
.column--jc-space-around {
  justify-content: space-around;
}
.column--jc-space-between {
  justify-content: space-between;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .column--sp-jc-flex-start {
    justify-content: flex-start;
  }
  .column--sp-jc-center {
    justify-content: center;
  }
  .column--sp-jc-flex-end {
    justify-content: flex-end;
  }
  .column--sp-jc-space-around {
    justify-content: space-around;
  }
  .column--sp-jc-space-between {
    justify-content: space-between;
  }
}

/* column: align-items */
/* -------------------------------------------------------------------------- */
.column--ai-baseline {
  align-items: baseline;
}
.column--ai-flex-start {
  align-items: flex-start;
}
.column--ai-center {
  align-items: center;
}
.column--ai-flex-end {
  align-items: flex-end;
}
.column--ai-stretch {
  align-items: stretch;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .column--sp-ai-baseline {
    align-items: baseline;
  }
  .column--sp-ai-flex-start {
    align-items: flex-start;
  }
  .column--sp-ai-center {
    align-items: center;
  }
  .column--sp-ai-flex-end {
    align-items: flex-end;
  }
  .column--sp-ai-stretch {
    align-items: stretch;
  }
}

/* ========================================================================== */
/* feature-read */
/* ========================================================================== */
.feature-read {
  margin-bottom: 0;
  text-align: justify;
  font-size: 2.75em;
  line-height: 2;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .feature-read {
    font-size: 1.75em;
  }
  .feature-read br {
    display: none;
  }
}
.feature-read__strong {
  display: inline;
  background: linear-gradient(to bottom, transparent 0%, transparent 75%, #d1c395 75%, #d1c395 85%, transparent 85%);
}

/* ========================================================================== */
/* jicoo-widget */
/* ========================================================================== */
.jicoo-widget {
  max-width: 960px;
  overflow: hidden;
  margin: 0 auto;
  border-radius: 15px;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .jicoo-widget {
    border-radius: 0;
  }
}

/* ========================================================================== */
/* logo-container */
/* ========================================================================== */
.logo-container {
  display: flex;
  flex-wrap: wrap;
}
.logo-container a {
  border-bottom: 0;
}
.logo-container figure {
  margin-bottom: 0;
}
@media all and (min-width: 768px) {
  .logo-container .logo-item {
    width: 16.666%;
  }
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .logo-container .logo-item {
    width: 33.333%;
  }
}

/* ========================================================================== */
/* management-chart */
/* ========================================================================== */
.management-chart {
  position: relative;
  width: 100%;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .management-chart {
    width: 120%;
    margin-left: -10%;
  }
}
.management-chart__base {
  position: absolute;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: rgba(209, 195, 149, 0.1);
}
.management-chart__base:nth-of-type(1) {
  inset: 18% auto auto 18%;
  width: 64%;
}
.management-chart__base:nth-of-type(2) {
  inset: 10% auto auto 10%;
  width: 80%;
}
.management-chart__base:nth-of-type(3) {
  inset: 2% auto auto 2%;
  width: 96%;
}
.management-chart__core {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 3em;
  position: absolute;
  inset: 32% auto auto 32%;
  width: 36%;
  height: 36%;
  border-radius: 50%;
  background-color: #3d3d3d;
  letter-spacing: 0.1em;
  color: #fff;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .management-chart__core {
    font-size: 0.5em;
  }
}
.management-chart__core__title {
  border-bottom: 1px solid #fff;
  text-align: center;
  font-family: "DINNextLTPro-Light", sans-serif;
  font-size: 1.25em;
}
.management-chart__core__manager {
  text-align: center;
  font-family: "DINNextLTPro-Light", sans-serif;
  font-size: 2.5em;
  line-height: 1;
}
.management-chart__core__list {
  margin-bottom: 0;
  font-size: 1.25em;
}
.management-chart__core__list li {
  margin-bottom: 0.5em;
}
.management-chart__core__list li:last-of-type {
  margin-bottom: 0;
}
.management-chart__wrapper {
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 100%;
}
.management-chart__item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: absolute;
  aspect-ratio: 1/1;
  border: 1px dotted #3d3d3d;
  border-radius: 50%;
}
.management-chart__item__text {
  text-align: center;
  font-size: 1.25em;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .management-chart__item__text {
    font-size: 0.75em;
  }
}

.management-chart__wrapper--pri .management-chart__item {
  inset: 42% auto auto 42%;
  width: 16%;
}
.management-chart__wrapper--pri .management-chart__item:nth-child(1) {
  transform: rotate(24deg) translateY(-262%);
}
.management-chart__wrapper--pri .management-chart__item:nth-child(1) .management-chart__item__text {
  transform: rotate(-24deg);
}
.management-chart__wrapper--pri .management-chart__item:nth-child(2) {
  transform: rotate(48deg) translateY(-262%);
}
.management-chart__wrapper--pri .management-chart__item:nth-child(2) .management-chart__item__text {
  transform: rotate(-48deg);
}
.management-chart__wrapper--pri .management-chart__item:nth-child(3) {
  transform: rotate(72deg) translateY(-262%);
}
.management-chart__wrapper--pri .management-chart__item:nth-child(3) .management-chart__item__text {
  transform: rotate(-72deg);
}
.management-chart__wrapper--pri .management-chart__item:nth-child(4) {
  transform: rotate(96deg) translateY(-262%);
}
.management-chart__wrapper--pri .management-chart__item:nth-child(4) .management-chart__item__text {
  transform: rotate(-96deg);
}
.management-chart__wrapper--pri .management-chart__item:nth-child(5) {
  transform: rotate(120deg) translateY(-262%);
}
.management-chart__wrapper--pri .management-chart__item:nth-child(5) .management-chart__item__text {
  transform: rotate(-120deg);
}
.management-chart__wrapper--pri .management-chart__item:nth-child(6) {
  transform: rotate(144deg) translateY(-262%);
}
.management-chart__wrapper--pri .management-chart__item:nth-child(6) .management-chart__item__text {
  transform: rotate(-144deg);
}
.management-chart__wrapper--pri .management-chart__item:nth-child(7) {
  transform: rotate(168deg) translateY(-262%);
}
.management-chart__wrapper--pri .management-chart__item:nth-child(7) .management-chart__item__text {
  transform: rotate(-168deg);
}
.management-chart__wrapper--pri .management-chart__item:nth-child(8) {
  transform: rotate(192deg) translateY(-262%);
}
.management-chart__wrapper--pri .management-chart__item:nth-child(8) .management-chart__item__text {
  transform: rotate(-192deg);
}
.management-chart__wrapper--pri .management-chart__item:nth-child(9) {
  transform: rotate(216deg) translateY(-262%);
}
.management-chart__wrapper--pri .management-chart__item:nth-child(9) .management-chart__item__text {
  transform: rotate(-216deg);
}
.management-chart__wrapper--pri .management-chart__item:nth-child(10) {
  transform: rotate(240deg) translateY(-262%);
}
.management-chart__wrapper--pri .management-chart__item:nth-child(10) .management-chart__item__text {
  transform: rotate(-240deg);
}
.management-chart__wrapper--pri .management-chart__item:nth-child(11) {
  transform: rotate(264deg) translateY(-262%);
}
.management-chart__wrapper--pri .management-chart__item:nth-child(11) .management-chart__item__text {
  transform: rotate(-264deg);
}
.management-chart__wrapper--pri .management-chart__item:nth-child(12) {
  transform: rotate(288deg) translateY(-262%);
}
.management-chart__wrapper--pri .management-chart__item:nth-child(12) .management-chart__item__text {
  transform: rotate(-288deg);
}
.management-chart__wrapper--pri .management-chart__item:nth-child(13) {
  transform: rotate(312deg) translateY(-262%);
}
.management-chart__wrapper--pri .management-chart__item:nth-child(13) .management-chart__item__text {
  transform: rotate(-312deg);
}
.management-chart__wrapper--pri .management-chart__item:nth-child(14) {
  transform: rotate(336deg) translateY(-262%);
}
.management-chart__wrapper--pri .management-chart__item:nth-child(14) .management-chart__item__text {
  transform: rotate(-336deg);
}
.management-chart__wrapper--pri .management-chart__item:nth-child(15) {
  transform: rotate(360deg) translateY(-262%);
}
.management-chart__wrapper--pri .management-chart__item:nth-child(15) .management-chart__item__text {
  transform: rotate(-360deg);
}

.management-chart__wrapper--sec .management-chart__item {
  inset: 43% auto auto 43%;
  width: 14%;
}
.management-chart__wrapper--sec .management-chart__item .management-chart__item__text {
  font-size: 1em;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .management-chart__wrapper--sec .management-chart__item .management-chart__item__text {
    white-space: nowrap;
    font-size: 0.625em;
  }
}
.management-chart__wrapper--sec .management-chart__item:nth-child(1) {
  transform: rotate(36deg) translateY(-188%);
}
.management-chart__wrapper--sec .management-chart__item:nth-child(1) .management-chart__item__text {
  transform: rotate(-36deg);
}
.management-chart__wrapper--sec .management-chart__item:nth-child(2) {
  transform: rotate(72deg) translateY(-188%);
}
.management-chart__wrapper--sec .management-chart__item:nth-child(2) .management-chart__item__text {
  transform: rotate(-72deg);
}
.management-chart__wrapper--sec .management-chart__item:nth-child(3) {
  transform: rotate(108deg) translateY(-188%);
}
.management-chart__wrapper--sec .management-chart__item:nth-child(3) .management-chart__item__text {
  transform: rotate(-108deg);
}
.management-chart__wrapper--sec .management-chart__item:nth-child(4) {
  transform: rotate(144deg) translateY(-188%);
}
.management-chart__wrapper--sec .management-chart__item:nth-child(4) .management-chart__item__text {
  transform: rotate(-144deg);
}
.management-chart__wrapper--sec .management-chart__item:nth-child(5) {
  transform: rotate(180deg) translateY(-188%);
}
.management-chart__wrapper--sec .management-chart__item:nth-child(5) .management-chart__item__text {
  transform: rotate(-180deg);
}
.management-chart__wrapper--sec .management-chart__item:nth-child(6) {
  transform: rotate(216deg) translateY(-188%);
}
.management-chart__wrapper--sec .management-chart__item:nth-child(6) .management-chart__item__text {
  transform: rotate(-216deg);
}
.management-chart__wrapper--sec .management-chart__item:nth-child(7) {
  transform: rotate(252deg) translateY(-188%);
}
.management-chart__wrapper--sec .management-chart__item:nth-child(7) .management-chart__item__text {
  transform: rotate(-252deg);
}
.management-chart__wrapper--sec .management-chart__item:nth-child(8) {
  transform: rotate(288deg) translateY(-188%);
}
.management-chart__wrapper--sec .management-chart__item:nth-child(8) .management-chart__item__text {
  transform: rotate(-288deg);
}
.management-chart__wrapper--sec .management-chart__item:nth-child(9) {
  transform: rotate(324deg) translateY(-188%);
}
.management-chart__wrapper--sec .management-chart__item:nth-child(9) .management-chart__item__text {
  transform: rotate(-324deg);
}
.management-chart__wrapper--sec .management-chart__item:nth-child(10) {
  transform: rotate(360deg) translateY(-188%);
}
.management-chart__wrapper--sec .management-chart__item:nth-child(10) .management-chart__item__text {
  transform: rotate(-360deg);
}

/* ========================================================================== */
/* service-flow */
/* ========================================================================== */
.service-flow {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  letter-spacing: 0;
  font-size: 1.125em;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .service-flow {
    font-size: 1.25em;
  }
}
.service-flow__item {
  display: flex;
  align-items: center;
  gap: 1em;
  position: relative;
  width: calc(25% - 0.75em);
  border: 1px solid #d1c395;
  min-height: 5em;
  padding: 1em;
  text-align: left;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .service-flow__item {
    width: 100%;
  }
}
.service-flow__number {
  transform: translateY(0.1em);
  font-family: "DINNextLTPro-Light", sans-serif;
  font-size: 200%;
  color: #d1c395;
}
.service-flow__title {
  white-space: nowrap;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .service-flow__title br {
    display: none;
  }
}
.service-flow__item:nth-of-type(n+9):nth-child(-n+11) {
  background-color: rgba(209, 195, 149, 0.4);
}
.service-flow__item:nth-of-type(n+12):nth-child(-n+16) {
  background-color: rgba(209, 195, 149, 0.8);
}
.service-flow__item:nth-of-type(n+12):nth-child(-n+16) .service-flow__number {
  color: #fff;
}

/* ========================================================================== */
/* visual-container */
/* ========================================================================== */
.visual-container {
  position: relative;
}
.visual-container figure {
  margin: 0;
}
.visual-container::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-color: #7a7a7a;
  opacity: 0.5;
}
.visual-container .visual-slide__item {
  aspect-ratio: 2/1;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .visual-container .visual-slide__item {
    aspect-ratio: 1/1;
  }
}
.visual-container .visual-slide__item img {
  height: 100%;
  object-fit: cover;
}
.visual-container .en-title {
  display: flex;
  align-items: center;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  font-family: "DINNextLTPro-Light", sans-serif;
  font-size: 2em;
  color: #fff;
  letter-spacing: 0.5em;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .visual-container .en-title {
    flex-direction: column;
    justify-content: center;
  }
}
@media all and (min-width: 768px) {
  .visual-container .en-title .text {
    transform: translateY(0.1em);
  }
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .visual-container .en-title .text {
    transform: translateX(0.2em);
  }
}
.visual-container .en-title .text.symbol {
  margin: 0 0.75em;
  color: #d1c395;
}
.visual-container .en-title .logo {
  width: 7.5em;
}
@media all and (min-width: 768px) {
  .visual-container .en-title .logo {
    margin-left: 1.75em;
  }
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .visual-container .en-title .logo {
    margin-top: 2em;
  }
}
.visual-container .scroll-assist {
  z-index: 2;
}

/* ========================================================================== */
/* works-detail */
/* ========================================================================== */
.works-detail__title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-size: 2em;
  line-height: 2;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .works-detail__title {
    font-size: 1.375em;
  }
}
.works-detail__title__pri {
  font-family: "TsukuMinPr6-L", sans-serif;
  font-size: 150%;
}
.works-detail__title__sec {
  border-bottom: 1px solid #d1c395;
}
.works-detail__subtitle {
  display: flex;
  align-items: flex-start;
  gap: 1em;
  margin-bottom: 1.5em;
  font-family: "TsukuMinPr6-L", sans-serif;
  font-size: 2em;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .works-detail__subtitle {
    font-size: 1.75em;
  }
}
.works-detail__subtitle__pri {
  transform: translateY(0.333em);
  padding: 0 0.5em 0.25em 0.5em;
  background-color: #3d3d3d;
  font-size: 75%;
  color: #fff;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .works-detail__subtitle__pri {
    padding: 0.5em 0.25em;
    writing-mode: vertical-rl;
  }
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .works-detail__subtitle__sec br {
    display: none;
  }
}
.works-detail__intro {
  text-align: justify;
  font-size: 1.5em;
  line-height: 2.4;
}
.works-detail__intro:last-of-type {
  margin-bottom: 0;
}
.works-detail__read {
  text-align: justify;
  font-size: 1.25em;
  line-height: 2.4;
}
.works-detail__read:last-of-type {
  margin-bottom: 0;
}

.works-image {
  display: flex;
  gap: 0.5em;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .works-image {
    flex-direction: column;
  }
}
.works-image__group {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
}
.works-image__group--wide {
  flex: 3;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .works-image__group--wide {
    flex: 1;
  }
}
.works-image__item {
  margin-bottom: 0;
}
.works-image__item img {
  height: 100%;
  object-fit: cover;
}
.works-image__item--half {
  width: calc(50% - 0.25em);
}
.works-image__item--middle {
  width: calc(33.333% - 0.333em);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .works-image__item--middle {
    width: calc(50% - 0.25em);
  }
}
.works-image__item--mini {
  width: calc(25% - 0.4em);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .works-image__item--mini {
    width: calc(50% - 0.25em);
  }
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .works-image__item--sp-half {
    width: calc(50% - 0.25em);
  }
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .works-image__item--sp-wide {
    width: 100%;
  }
}
.works-image__item--1-1 {
  aspect-ratio: 1/1;
}
.works-image__item--2-1 {
  aspect-ratio: 2/1;
}
.works-image__item--3-1 {
  aspect-ratio: 3/1;
}
.works-image__item--3-2 {
  aspect-ratio: 3/2;
}
.works-image__item--3-4 {
  aspect-ratio: 3/4;
}
.works-image__item--9-4 {
  aspect-ratio: 9/4;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .works-image__item--9-4 {
    aspect-ratio: 3/2;
  }
}
.works-image__caption {
  margin: 0.25em 0 0.5em;
  font-size: 1.125em;
}

/* ========================================================================== */
/* Home content */
/* ========================================================================== */
/* -------------------------------------------------------------------------- */
.slide.images .image {
  margin: 0;
}
.slide.images .image .caption {
  margin-top: 2em;
  font-feature-settings: "palt" 1;
  font-size: 1em;
}

/* -------------------------------------------------------------------------- */
#concept .catch-copy {
  margin-bottom: 1.5em;
  white-space: nowrap;
  font-family: "TsukuMinPr6-L", sans-serif;
  font-weight: 100;
  line-height: 1.6;
}
@media all and (min-width: 768px) {
  #concept .catch-copy {
    font-feature-settings: "palt" 1;
    font-size: 3em;
    letter-spacing: 0.2em;
  }
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  #concept .catch-copy {
    font-size: 2.5em;
    letter-spacing: 0.1em;
  }
}

/* -------------------------------------------------------------------------- */
#concept .read-block {
  font-feature-settings: "palt" 1;
  white-space: nowrap;
  font-size: 1.375em;
  line-height: 2;
}

/* -------------------------------------------------------------------------- */
#concept-promotion .column-container .col-item {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* -------------------------------------------------------------------------- */
#works .works-slide__item {
  width: 25em;
  margin-right: 1em;
}

/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
#works {
  padding: 8em 7.5%;
  background-color: rgba(0, 0, 0, 0.02);
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  #works {
    padding: 6em 10%;
  }
}

/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
.content-list {
  display: flex;
  flex-wrap: wrap;
  gap: 3em;
  margin-bottom: 0;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .content-list {
    flex-direction: column;
    gap: 1em;
  }
}
.content-list__item {
  width: calc(25% - 1.5em);
  margin-bottom: 0;
  font-size: 1.5em;
  line-height: 3;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .content-list__item {
    width: 100%;
  }
}
.content-list__anchor {
  display: inline-block;
  position: relative;
  width: 100%;
  border-bottom: 1px solid #e0e0e0;
}
.content-list__anchor::before {
  content: "";
  display: block;
  position: absolute;
  inset: calc(50% - 0.5em) 0 auto auto;
  width: 1em;
  height: 1em;
  line-height: 1;
  letter-spacing: 0;
  background-image: url(../images/common/ico_arrow_01.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}

.isnt-touch .content-list__anchor::after {
  content: "";
  display: block;
  position: absolute;
  inset: auto auto -1px 0;
  width: 100%;
  height: 2px;
  background-color: #d1c395;
  transform-origin: left;
  transform: scaleX(0);
  transition: transform 0.2s ease;
}
.isnt-touch .content-list__anchor:focus::after, .isnt-touch .content-list__anchor:hover::after {
  transform: scaleX(1);
}

/* -------------------------------------------------------------------------- */
/* 20250613 */
/* -------------------------------------------------------------------------- */
.footer-logo{
  text-align: center;
}
/* -------------------------------------------------------------------------- */
/* 20251223 */
/* -------------------------------------------------------------------------- */
.breadcrumbs ol{
  display: flex;
  flex-wrap: wrap;
  list-style: none;
}
.breadcrumbs ol li:not(:last-of-type)::after {
  content: "›";
  margin: 0 .6em;
  color: #777;
}

/* ========================================================================== */
/* Service content */
/* ========================================================================== */
/* page-header */
/* -------------------------------------------------------------------------- */
.service-content .page-header {
  padding-bottom: 0;
}
.service-content .page-title {
  margin-bottom: 0;
}

/* page-section */
/* -------------------------------------------------------------------------- */
.service-content .page-section {
  padding-bottom: 0;
}

/* column-container */
/* -------------------------------------------------------------------------- */
.service-content #promotion .column-container .col-item {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* ========================================================================== */
/* Feature content */
/* ========================================================================== */
/* page-header */
/* -------------------------------------------------------------------------- */
.feature-content .page-header {
  padding-bottom: 0;
}

/* page-section */
/* -------------------------------------------------------------------------- */
.feature-content .page-section {
  padding-bottom: 0;
}

/* column */
/* -------------------------------------------------------------------------- */
/* slick */
/* -------------------------------------------------------------------------- */
@media screen and (max-width: 768px) and (orientation: portrait) {
  .feature-content #planning .slick-arrow {
    top: 62vw;
  }
}
@media all and (min-width: 768px) {
  .feature-content #visual .slick-arrow {
    top: calc(23.25vw - 3em);
  }
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .feature-content #visual .slick-arrow {
    top: calc(26.6665vw - 2em);
  }
}

/* ========================================================================== */
/* works content */
/* ========================================================================== */
/* page-header */
/* -------------------------------------------------------------------------- */
.works-content .page-header {
  padding-bottom: 0;
}

/* page-section */
/* -------------------------------------------------------------------------- */
.works-content .page-section {
  padding-bottom: 0;
}

/* slick */
/* -------------------------------------------------------------------------- */
@media all and (min-width: 768px) {
  .works-content .slick-arrow {
    top: calc(23.25vw - 3em);
  }
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .works-content .slick-arrow {
    top: calc(26.6665vw - 2em);
  }
}

/* list */
/* -------------------------------------------------------------------------- */
@media all and (min-width: 768px) {
  .works-content .column-container .list {
    padding-left: 10%;
  }
}

/* ========================================================================== */
/* Process content */
/* ========================================================================== */
/* page-header */
/* -------------------------------------------------------------------------- */
.process-content .page-header {
  padding-bottom: 0;
}

/* page-section */
/* -------------------------------------------------------------------------- */
.process-content .page-section {
  padding-bottom: 0;
}

/* image */
/* -------------------------------------------------------------------------- */
.process-content .column-container .image img {
  width: 12em;
}

/* ========================================================================== */
/* Price content */
/* ========================================================================== */
/* page-header */
/* -------------------------------------------------------------------------- */
.price-content .page-header {
  padding-bottom: 0;
}

/* page-section */
/* -------------------------------------------------------------------------- */
.price-content .page-section {
  padding-bottom: 0;
}

/* accordion */
/* -------------------------------------------------------------------------- */
.price-content .accordion-trigger {
  color: #a3a3a3;
}
.price-content .accordion-trigger strong {
  color: #3d3d3d;
}
@media all and (min-width: 768px) {
  .price-content .accordion-trigger {
    font-size: 1.75em;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .price-content .accordion-trigger {
    white-space: nowrap;
    font-size: 1.5em;
    letter-spacing: 0;
  }
}
.price-content .accordion-target {
  border-width: 0 1px 1px 1px;
  border-style: solid;
  border-color: #ebebeb;
}
@media all and (min-width: 768px) {
  .price-content .accordion-target {
    padding: 3em;
  }
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .price-content .accordion-target {
    padding: 2em;
  }
}
.price-content .joint {
  position: relative;
  width: 3em;
  height: 3em;
  margin: 1.5em auto;
}
.price-content .joint::before, .price-content .joint::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 0.25em;
  background-color: #d1c395;
}
.price-content .joint::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

/* ========================================================================== */
/* Company content */
/* ========================================================================== */
/* page-header */
/* -------------------------------------------------------------------------- */
.company-content .page-header {
  padding-bottom: 0;
}
.company-content .page-title {
  margin-bottom: 0;
}

/* page-section */
/* -------------------------------------------------------------------------- */
.company-content .page-section {
  padding-bottom: 0;
}

/* table */
/* -------------------------------------------------------------------------- */
.company-content table th,
.company-content table td {
  padding: 1em 0;
}
.company-content table th {
  width: 6em;
  padding-right: 1.5em;
  white-space: nowrap;
}
.company-content dl.list dt {
  white-space: nowrap;
}
.company-content dl.list dd {
  margin-bottom: 0;
}

/* list */
/* -------------------------------------------------------------------------- */
@media all and (min-width: 768px) {
  .company-content #partners ul.list {
    display: flex;
    flex-wrap: wrap;
    gap: 1em 1.5em;
  }
  .company-content #partners ul.list li {
    margin-bottom: 0;
  }
}

/* ========================================================================== */
/* FAQ content */
/* ========================================================================== */
/* page-header */
/* -------------------------------------------------------------------------- */
.faq-content .page-header {
  padding-bottom: 0;
}
.faq-content .page-title {
  margin-bottom: 0;
}

/* page-section */
/* -------------------------------------------------------------------------- */
.faq-content .page-section {
  padding-bottom: 0;
}

/* accordion */
/* -------------------------------------------------------------------------- */
.faq-content .accordion-trigger .number,
.faq-content .accordion-target .number {
  position: absolute;
  top: 0.8em;
  left: 0.8em;
  background-color: #fff;
}
.faq-content .accordion-trigger {
  padding-left: 4em;
}
.faq-content .accordion-target {
  position: relative;
  padding: 1.5em;
  padding-left: 4em;
}
.faq-content .accordion-target .number {
  top: 1.6em;
}

.entry-card {
  display: flex;
  letter-spacing: 0.1em;
}
.entry-card__anchor {
  display: flex;
  flex-direction: column;
  gap: 1.5em;
  width: 100%;
  padding: 1.5em;
  border: 1px solid #ebebeb;
  background-color: #fff;
  text-decoration: none;
}
.entry-card__image img {
  aspect-ratio: 16/9;
  object-fit: cover;
}
.entry-card__content {
  display: flex;
  flex-direction: column;
  gap: 1em;
}
.entry-card__title {
  font-size: 1.5em;
}
.entry-card__author {
  display: flex;
  align-items: center;
  gap: 1em;
  font-size: 0.875em;
}
.entry-card__author__wrapper {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 1em;
}
.entry-card__avatar {
  width: 3em;
  min-width: 3em;
}
.entry-card__avatar img {
  border-radius: 50%;
}
.entry-card__name {
  color: #a3a3a3;
}
.entry-card__date {
  color: #a3a3a3;
}

.entry-content {
  display: flex;
  gap: 5em;
  padding: 8em 5%;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .entry-content {
    flex-direction: column;
  }
}
.entry-content__wrapper {
  flex: 3;
}
.entry-content__sidebar {
  flex: 1;
}
.entry-content__body {
  padding: 3em 0;
}
.entry-content__title {
  margin-bottom: 1em;
  font-size: 2em;
}
.entry-content__author {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1em;
  letter-spacing: 0.1em;
  font-size: 0.875em;
}
.entry-content__avatar {
  width: 3em;
}
.entry-content__avatar img {
  border-radius: 50%;
}
.entry-content__name {
  color: #a3a3a3;
}
.entry-content__date {
  color: #a3a3a3;
}
.entry-content__profile {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  width: 100%;
  padding: 1.5em;
  background-color: #f5f5f5;
}
.entry-content__profile p:last-of-type {
  margin-bottom: 0;
}
.entry-content__profile::before {
  content: "";
  display: block;
  position: absolute;
  inset: -1em auto auto 4em;
  width: 1em;
  height: 1em;
  background-color: #f5f5f5;
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
}
.entry-content__taxonomy {
  display: flex;
  gap: 1.5em;
  margin-bottom: 1.5em;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .entry-content__taxonomy {
    flex-direction: column;
  }
}
.entry-content__category, .entry-content__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
}
.entry-content__category a, .entry-content__tags a {
  display: inline-block;
  padding: 0.5em 1em;
  border-bottom: 0;
  border-radius: 0.25em;
  background-color: #3d3d3d;
  letter-spacing: 0.1em;
  color: #fff;
}
.entry-content__category a {
  background-color: #525252;
  color: #fff;
}
.entry-content__tags a {
  background-color: #f5f5f5;
  color: #3d3d3d;
}
.entry-content__tags a::before {
  content: "#";
  display: inline;
  margin-right: 0.25em;
}

@media all and (min-width: 768px) {
  .column-content .page-header {
    padding: 6em 10% 0;
  }
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .column-content .page-header {
    padding: 4em 5% 0;
  }
}
.column-content .page-header .page-title {
  margin-bottom: 0;
}
@media all and (min-width: 768px) {
  .column-content .page-section {
    padding: 6em 10% 0;
  }
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .column-content .page-section {
    padding: 4em 5% 0;
  }
}
.column-content .section-header {
  display: flex;
  gap: 1.5em;
  margin-bottom: 3em;
  padding-top: 2em;
  border-top: 1px solid #d1c395;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .column-content .section-header {
    flex-direction: column;
  }
}
.column-content .section-header__title {
  flex: 1;
  margin-bottom: 0;
  white-space: nowrap;
  font-size: 2em;
}
.column-content .section-header__read {
  flex: 3;
  margin-bottom: 0;
  text-align: justify;
  font-size: 1.25em;
  line-height: 1.8;
}
.column-content .section-footer {
  display: flex;
  justify-content: center;
  margin-top: 3em;
}

.entry-slide {
  width: 200%;
  margin-left: -50% !important;
  padding-bottom: 4em !important;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .entry-slide {
    width: 250%;
    margin-left: -75% !important;
  }
}
.entry-slide img {
  aspect-ratio: 16/9;
  object-fit: cover;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .entry-slide img {
    aspect-ratio: 3/2;
  }
}
.entry-slide__anchor {
  border-bottom: 0;
}

:root {
  --swiper-theme-color: $c-sec !important;
}

.swiper-pagination-bullet {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 1.5em !important;
  height: 1.5em !important;
  background: transparent !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  opacity: 1 !important;
}
.swiper-pagination-bullet::after {
  content: "";
  display: block;
  width: 0.75em;
  height: 0.75em;
  border-radius: 50%;
  background-color: rgba(0, 0, 0, 0.1);
}

.swiper-pagination-bullet-active::after {
  background-color: #d1c395;
}

.isnt-touch .swiper-pagination-bullet::after {
  transform: scale(1);
  transition-property: background-color, transform;
  transition-duration: 0.2s;
}
.isnt-touch .swiper-pagination-bullet:focus::after, .isnt-touch .swiper-pagination-bullet:hover::after {
  background-color: #3d3d3d;
  transform: scale(2);
}

.column-banner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4em;
}
.column-banner__anchor {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1em;
  border-bottom: 0;
}
.column-banner__caption {
  text-align: center;
  font-size: 1.125em;
}

.column-sort {
  display: flex;
  align-items: flex-start;
  gap: 1.5em;
  margin-bottom: 2em;
  padding: 1.5em;
  background-color: #f5f5f5;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .column-sort {
    flex-direction: column;
  }
}
.column-sort__group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  margin-bottom: 0;
}
.column-sort__group--pri {
  flex: 2;
}
.column-sort__group--sec {
  flex: 4;
}
.column-sort__title {
  margin-bottom: 0.5em;
  width: 100%;
  font-size: 1.25em;
}
.column-sort__item {
  margin-bottom: 0;
}

.taxonomy-label {
  display: inline-block;
  padding: 0.5em 1em;
  border-bottom: 0;
  border-radius: 0.25em;
  background-color: #3d3d3d;
  letter-spacing: 0.1em;
  color: #fff;
}
.taxonomy-label--category {
  background-color: #525252;
  color: #fff;
}
.taxonomy-label--tag {
  background-color: #ebebeb;
  color: #3d3d3d;
}
.taxonomy-label--tag::before {
  content: "#";
  display: inline;
  margin-right: 0.25em;
}

.entry-content .addtoany_share_save_container {
  margin: 0 auto;
}
.entry-content .addtoany_share_save_container.addtoany_content_top {
  margin-bottom: 3em;
  padding-bottom: 3em;
  border-bottom: 1px solid #d1c395;
}
.entry-content .addtoany_share_save_container.addtoany_content_bottom {
  margin-top: 3em;
  padding-top: 3em;
  border-top: 1px solid #d1c395;
}

/* ========================================================================== */
/* Block Editor */
/* ========================================================================== */
/* headding */
/* -------------------------------------------------------------------------- */
h2.wp-block-heading {
  font-size: 2em;
}

h3.wp-block-heading {
  font-size: 1.75em;
}

h4.wp-block-heading {
  font-size: 1.5em;
}

h5.wp-block-heading {
  font-size: 1.375em;
}

h6.wp-block-heading {
  font-size: 1.25em;
}

h2.wp-block-heading,
h3.wp-block-heading,
h4.wp-block-heading,
h5.wp-block-heading,
h6.wp-block-heading {
  margin-bottom: 1em;
  font-weight: 600;
}

* + h2.wp-block-heading,
* + h3.wp-block-heading,
* + h4.wp-block-heading,
* + h5.wp-block-heading,
* + h6.wp-block-heading {
  margin-top: 1.5em;
}

/* separator */
/* -------------------------------------------------------------------------- */
.wp-block-separator {
  width: 100%;
  margin: 4em auto;
  border: 0;
  border-top: 1px solid #d1c395;
}

/* button */
/* -------------------------------------------------------------------------- */
.wp-block-buttons {
  margin-bottom: 1.5em;
}

.wp-block-button__link {
  padding: 1em 2em;
  padding: 1.25em 2.5em;
  border-width: 0;
  border-radius: 0;
  background-color: #3d3d3d;
  vertical-align: middle;
  white-space: nowrap;
  text-align: center;
  text-decoration: none;
  line-height: 1;
  appearance: none;
  color: #fff;
}
.isnt-touch .wp-block-button__link {
  cursor: pointer;
  transition-property: background-color, color;
  transition-duration: 0.2s;
  transition-timing-function: ease-out;
}
.isnt-touch .wp-block-button__link:focus, .isnt-touch .wp-block-button__link:hover {
  background-color: #d1c395;
  color: #fff;
}

/* image */
/* -------------------------------------------------------------------------- */
.wp-block-image {
  margin-bottom: 1.5em;
  font-size: 1.25em;
}
.wp-block-image.is-style-rounded img {
  border-radius: 0.5em;
}
.wp-block-image figcaption {
  margin-bottom: 0;
  text-align: center;
}

/* caption */
/* -------------------------------------------------------------------------- */
.wp-element-caption {
  margin-top: 0.5em;
  margin-bottom: 0;
  font-size: 90%;
}

/* table */
/* -------------------------------------------------------------------------- */
.wp-block-table {
  margin-bottom: 1.5em;
  font-size: 1.25em;
}
.wp-block-table table {
  width: auto;
  margin-bottom: 0;
  border-collapse: separate;
  border-spacing: 0 0.25em;
}
.wp-block-table table th,
.wp-block-table table td {
  padding: 1em;
  border: 0;
  vertical-align: top;
  line-height: 1.8;
}
.wp-block-table table tbody th {
  border-left: 0.2em solid #d1c395;
  background-color: rgba(0, 0, 0, 0.04);
}
.wp-block-table table tbody td {
  background-color: rgba(0, 0, 0, 0.02);
}
.wp-block-table table tbody td:first-of-type {
  width: 1em;
  border-left: 0.2em solid #d1c395;
  background-color: rgba(0, 0, 0, 0.04);
  white-space: nowrap;
  font-weight: 600;
}
.wp-block-table table thead th,
.wp-block-table table thead td {
  background-color: rgba(0, 0, 0, 0.68);
  color: #fff;
}
.wp-block-table table tfoot th,
.wp-block-table table tfoot td {
  background-color: rgba(0, 0, 0, 0.08);
  font-weight: 600;
}
.wp-block-table.is-style-stripes {
  border-bottom: 0;
}
.wp-block-table.is-style-stripes table tbody tr:nth-child(odd) {
  background-color: transparent;
}
.wp-block-table.is-style-stripes table tbody tr > * {
  background-color: rgba(0, 0, 0, 0.04);
}
.wp-block-table.is-style-stripes table tbody tr > *:first-of-type {
  background-color: rgba(0, 0, 0, 0.04);
}
.wp-block-table.is-style-stripes table tbody tr:nth-of-type(even) > * {
  background-color: rgba(0, 0, 0, 0.08);
}

/* group */
/* -------------------------------------------------------------------------- */
.wp-block-group {
  margin-bottom: 0;
}
.wp-block-group.has-background {
  margin-bottom: 1.875em;
  padding: 1.875em;
  border-radius: 0.625em;
}

/* column */
/* -------------------------------------------------------------------------- */
.wp-block-columns {
  margin-bottom: 0;
}
.wp-block-columns.has-background {
  margin-bottom: 1.875em;
  padding: 1.875em;
  border-radius: 0.625em;
}

/* media-text */
/* -------------------------------------------------------------------------- */
.wp-block-media-text {
  grid-template-columns: 16% 1fr;
}
.wp-block-media-text .wp-block-media-text__content {
  margin-left: 4%;
  padding: 0;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .wp-block-media-text .wp-block-media-text__media {
    width: 50%;
    margin: 0 auto 1.5em;
  }
}

.widget-area .wp-block-heading {
  font-size: 1.5em;
  margin-bottom: 1em;
}
.widget-area .wp-block-separator {
  margin: 3em auto;
}

.wp-block-search {
  margin-bottom: 0;
}
.wp-block-search__label {
  font-size: 1.5em;
  margin-bottom: 1em;
}
.wp-block-search__input {
  margin-bottom: 0;
  border: 0;
  background-color: #f5f5f5;
}
.wp-block-search__button {
  margin-bottom: 0;
  padding: 1em;
  border-width: 0;
  background-color: #3d3d3d;
  text-align: center;
  line-height: 1;
  appearance: none;
  color: #fff;
}

.wp-block-latest-posts__list,
.wp-block-archives {
  display: flex;
  flex-direction: column;
  gap: 1em;
  margin-bottom: 0;
}
.wp-block-latest-posts__list li,
.wp-block-archives li {
  margin-bottom: 0;
  margin-left: 1em;
  text-indent: -1em;
  font-size: 1.125em;
}
.wp-block-latest-posts__list li::before,
.wp-block-archives li::before {
  content: "";
  display: inline-block;
  width: 0.5em;
  height: 0.5em;
  margin-right: 0.5em;
  border: solid 1px #d1c395;
  transform: translateY(-0.1em);
}
.wp-block-latest-posts__list a,
.wp-block-archives a {
  border-bottom: 0;
}

.wp-block-categories-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  margin-bottom: 0;
}
.wp-block-categories-list .cat-item {
  margin-bottom: 0;
}
.wp-block-categories-list .cat-item a {
  display: inline-block;
  padding: 0.5em 1em;
  border-bottom: 0;
  border-radius: 0.25em;
  background-color: #525252;
  letter-spacing: 0.1em;
  color: #fff;
}

.wp-block-tag-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  margin-bottom: 0;
}
.wp-block-tag-cloud a {
  display: inline-block;
  margin-right: 0;
  border-bottom: 0;
  padding: 0.5em 1em;
  border-radius: 0.25em;
  background-color: #ebebeb;
  letter-spacing: 0.1em;
  color: #3d3d3d;
}
.wp-block-tag-cloud a::before {
  content: "#";
  display: inline;
  margin-right: 0.25em;
}

/* ========================================================================== */
/* Entry Content */
/* ========================================================================== */
/* paragraph */
/* -------------------------------------------------------------------------- */
.entry-content__body p {
  text-align: justify;
  font-size: 1.25em;
  line-height: 2;
}

/* -------------------------------------------------------------------------- */
em {
  margin-right: 0.125em;
  font-style: italic;
  color: #d1c395;
}

/* -------------------------------------------------------------------------- */
.entry-content__body ul {
  font-size: 1.25em;
  line-height: 1.8;
}
.entry-content__body ul > li {
  position: relative;
  margin-left: 1em;
  text-indent: -1em;
}
.entry-content__body ul > li::before {
  content: "";
  display: inline-block;
  width: 0.5em;
  height: 0.5em;
  margin-right: 0.5em;
  border: solid 1px #d1c395;
  transform: translateY(-0.1em);
}
.entry-content__body ul > li ul li::before {
  content: "○";
}
.entry-content__body ul li:last-of-type {
  margin-bottom: 0;
}

/* -------------------------------------------------------------------------- */
.entry-content__body ol {
  counter-reset: number;
  padding-left: 2em;
  font-size: 1.25em;
  line-height: 1.8;
}
.entry-content__body ol > li {
  position: relative;
}
.entry-content__body ol > li::before {
  counter-increment: number;
  content: counter(number) ".";
  position: absolute;
  top: 0.25em;
  right: calc(100% + 0.5em);
  font-family: "DINNextLTPro-Light", sans-serif;
  color: #d1c395;
}
.entry-content__body ol li:last-of-type {
  margin-bottom: 0;
}

/* -------------------------------------------------------------------------- */
.entry-content__body dl {
  margin-top: 0;
  font-size: 1.25em;
}
.entry-content__body dl dt {
  font-weight: 600;
}
.entry-content__body dl dd {
  margin-left: 1em;
  text-indent: -1em;
}
.entry-content__body dl dd::before {
  content: "";
  display: inline-block;
  width: 0.5em;
  height: 0.5em;
  margin-right: 0.5em;
  border-radius: 50%;
  background-color: #d1c395;
  transform: translateY(-0.1em);
}
.entry-content__body dl dd:last-of-type {
  margin-bottom: 0;
}

/* js-scrollable */
/* -------------------------------------------------------------------------- */
@media screen and (max-width: 768px) and (orientation: portrait) {
  .entry-content__body .js-scrollable img {
    min-width: 40em;
  }
  .entry-content__body .js-scrollable table {
    white-space: nowrap;
  }
}

/* font-size */
/* -------------------------------------------------------------------------- */
.entry-content__body .has-extra-small-font-size {
  font-size: 1em;
}
.entry-content__body .has-small-font-size {
  font-size: 1.125em;
}
.entry-content__body .has-normal-font-size {
  font-size: 1.25em;
}
.entry-content__body .has-large-font-size {
  font-size: 1.375em;
}
.entry-content__body .has-extra-large-font-size {
  font-size: 1.5em;
}
.entry-content__body .has-huge-font-size {
  font-size: 1.75em;
}
.entry-content__body .has-gigantic-font-size {
  font-size: 2em;
}

/* color */
/* -------------------------------------------------------------------------- */
.entry-content__body .has-initial-color {
  color: #fff;
}
.entry-content__body .has-primary-color {
  color: #3d3d3d;
}
.entry-content__body .has-secondary-color {
  color: #d1c395;
}
.entry-content__body .has-tertiary-color {
  color: #a2d6f9;
}
.entry-content__body .has-quaternary-color {
  color: #faea82;
}
.entry-content__body .has-quinary-color {
  color: #cc496c;
}
.entry-content__body .has-senary-color {
  color: #f6f3ea;
}
.entry-content__body .has-septenary-color {
  color: #ede7d5;
}
.entry-content__body .has-octonary-color {
  color: #e3dbbf;
}
.entry-content__body .has-novenary-color {
  color: #dacfaa;
}
.entry-content__body .has-gray-98-color {
  color: #fafafa;
}
.entry-content__body .has-gray-96-color {
  color: #f5f5f5;
}
.entry-content__body .has-gray-92-color {
  color: #ebebeb;
}
.entry-content__body .has-gray-88-color {
  color: #e0e0e0;
}
.entry-content__body .has-gray-80-color {
  color: #cccccc;
}
.entry-content__body .has-gray-72-color {
  color: #b8b8b8;
}
.entry-content__body .has-gray-64-color {
  color: #a3a3a3;
}
.entry-content__body .has-gray-56-color {
  color: #8f8f8f;
}
.entry-content__body .has-gray-48-color {
  color: #7a7a7a;
}
.entry-content__body .has-gray-32-color {
  color: #525252;
}
.entry-content__body .has-gray-24-color {
  color: #3d3d3d;
}
.entry-content__body .has-gray-20-color {
  color: #333333;
}
.entry-content__body .has-gray-16-color {
  color: #292929;
}
.entry-content__body .has-gray-08-color {
  color: #141414;
}

/* text-align */
/* -------------------------------------------------------------------------- */
.entry-content__body .has-text-align-left {
  text-align: left;
}
.entry-content__body .has-text-align-center {
  text-align: center;
}
.entry-content__body .has-text-align-right {
  text-align: right;
}

/* background-color */
/* -------------------------------------------------------------------------- */
.entry-content__body .has-initial-background-color {
  background-color: #fff;
}
.entry-content__body .has-primary-background-color {
  background-color: #3d3d3d;
}
.entry-content__body .has-secondary-background-color {
  background-color: #d1c395;
}
.entry-content__body .has-tertiary-background-color {
  background-color: #a2d6f9;
}
.entry-content__body .has-quaternary-background-color {
  background-color: #faea82;
}
.entry-content__body .has-quinary-background-color {
  background-color: #cc496c;
}
.entry-content__body .has-senary-background-color {
  background-color: #f6f3ea;
}
.entry-content__body .has-septenary-background-color {
  background-color: #ede7d5;
}
.entry-content__body .has-octonary-background-color {
  background-color: #e3dbbf;
}
.entry-content__body .has-novenary-background-color {
  background-color: #dacfaa;
}
.entry-content__body .has-gray-98-background-color {
  background-color: #fafafa;
}
.entry-content__body .has-gray-96-background-color {
  background-color: #f5f5f5;
}
.entry-content__body .has-gray-92-background-color {
  background-color: #ebebeb;
}
.entry-content__body .has-gray-88-background-color {
  background-color: #e0e0e0;
}
.entry-content__body .has-gray-80-background-color {
  background-color: #cccccc;
}
.entry-content__body .has-gray-72-background-color {
  background-color: #b8b8b8;
}
.entry-content__body .has-gray-64-background-color {
  background-color: #a3a3a3;
}
.entry-content__body .has-gray-56-background-color {
  background-color: #8f8f8f;
}
.entry-content__body .has-gray-48-background-color {
  background-color: #7a7a7a;
}
.entry-content__body .has-gray-32-background-color {
  background-color: #525252;
}
.entry-content__body .has-gray-24-background-color {
  background-color: #3d3d3d;
}
.entry-content__body .has-gray-20-background-color {
  background-color: #333333;
}
.entry-content__body .has-gray-16-background-color {
  background-color: #292929;
}
.entry-content__body .has-gray-08-background-color {
  background-color: #141414;
}

/* ========================================================================== */
/* Layout */
/* ========================================================================== */
/* layout: wrapper */
/* -------------------------------------------------------------------------- */
@media all and (min-width: 768px) {
  .w-full {
    width: 100%;
  }
}

@media all and (min-width: 768px) {
  .w-wide {
    width: 66.666%;
  }
}

@media all and (min-width: 768px) {
  .w-half {
    width: 50%;
  }
}

@media all and (min-width: 768px) {
  .w-narrow {
    width: 33.333%;
  }
}

@media all and (min-width: 768px) {
  .w-90 {
    width: 90%;
  }
}

@media all and (min-width: 768px) {
  .w-80 {
    width: 80%;
  }
}

@media all and (min-width: 768px) {
  .w-70 {
    width: 70%;
  }
}

@media all and (min-width: 768px) {
  .w-60 {
    width: 60%;
  }
}

@media all and (min-width: 768px) {
  .w-50 {
    width: 50%;
  }
}

@media all and (min-width: 768px) {
  .w-40 {
    width: 40%;
  }
}

@media all and (min-width: 768px) {
  .w-30 {
    width: 30%;
  }
}

@media all and (min-width: 768px) {
  .w-20 {
    width: 20%;
  }
}

/* layout: padding */
/* -------------------------------------------------------------------------- */
.p-0 {
  padding: 0 !important;
}

.p-05 {
  padding: 0.5em !important;
}

.p-1 {
  padding: 1em !important;
}

.p-2 {
  padding: 2em !important;
}

.p-3 {
  padding: 3em !important;
}

.p-4 {
  padding: 4em !important;
}

.p-5 {
  padding: 5em !important;
}

.p-6 {
  padding: 6em !important;
}

.p-7 {
  padding: 7em !important;
}

.p-8 {
  padding: 8em !important;
}

.p-9 {
  padding: 9em !important;
}

.p-10 {
  padding: 10em !important;
}

/* layout: padding top */
/* -------------------------------------------------------------------------- */
.pt-0 {
  padding-top: 0 !important;
}

.pt-05 {
  padding-top: 0.5em !important;
}

.pt-1 {
  padding-top: 1em !important;
}

.pt-2 {
  padding-top: 2em !important;
}

.pt-3 {
  padding-top: 3em !important;
}

.pt-4 {
  padding-top: 4em !important;
}

.pt-5 {
  padding-top: 5em !important;
}

.pt-6 {
  padding-top: 6em !important;
}

.pt-7 {
  padding-top: 7em !important;
}

.pt-8 {
  padding-top: 8em !important;
}

.pt-9 {
  padding-top: 9em !important;
}

.pt-10 {
  padding-top: 10em !important;
}

/* layout: padding right */
/* -------------------------------------------------------------------------- */
.pr-0 {
  padding-right: 0em !important;
}

.pr-05 {
  padding-right: 0.5em !important;
}

.pr-1 {
  padding-right: 1em !important;
}

.pr-2 {
  padding-right: 2em !important;
}

.pr-3 {
  padding-right: 3em !important;
}

.pr-4 {
  padding-right: 4em !important;
}

.pr-5 {
  padding-right: 5em !important;
}

.pr-6 {
  padding-right: 6em !important;
}

.pr-7 {
  padding-right: 7em !important;
}

.pr-8 {
  padding-right: 8em !important;
}

.pr-9 {
  padding-right: 9em !important;
}

.pr-10 {
  padding-right: 10em !important;
}

/* layout: padding bottom */
/* -------------------------------------------------------------------------- */
.pb-0 {
  padding-bottom: 0em !important;
}

.pb-05 {
  padding-bottom: 0.5em !important;
}

.pb-1 {
  padding-bottom: 1em !important;
}

.pb-2 {
  padding-bottom: 2em !important;
}

.pb-3 {
  padding-bottom: 3em !important;
}

.pb-4 {
  padding-bottom: 4em !important;
}

.pb-5 {
  padding-bottom: 5em !important;
}

.pb-6 {
  padding-bottom: 6em !important;
}

.pb-7 {
  padding-bottom: 7em !important;
}

.pb-8 {
  padding-bottom: 8em !important;
}

.pb-9 {
  padding-bottom: 9em !important;
}

.pb-10 {
  padding-bottom: 10em !important;
}

/* layout: padding left */
/* -------------------------------------------------------------------------- */
.pl-0 {
  padding-left: 0em !important;
}

.pl-05 {
  padding-left: 0.5em !important;
}

.pl-1 {
  padding-left: 1em !important;
}

.pl-2 {
  padding-left: 2em !important;
}

.pl-3 {
  padding-left: 3em !important;
}

.pl-4 {
  padding-left: 4em !important;
}

.pl-5 {
  padding-left: 5em !important;
}

.pl-6 {
  padding-left: 6em !important;
}

.pl-7 {
  padding-left: 7em !important;
}

.pl-8 {
  padding-left: 8em !important;
}

.pl-9 {
  padding-left: 9em !important;
}

.pl-10 {
  padding-left: 10em !important;
}

/* layout: position */
/* -------------------------------------------------------------------------- */
.p-relative {
  position: relative;
}

/* layout: margin auto */
/* -------------------------------------------------------------------------- */
.m-auto {
  margin: auto !important;
}

/* layout: margin top */
/* -------------------------------------------------------------------------- */
.mt-0 {
  margin-top: 0 !important;
}

.mt-05 {
  margin-top: 0.5em !important;
}

.mt-1 {
  margin-top: 1em !important;
}

.mt-2 {
  margin-top: 2em !important;
}

.mt-3 {
  margin-top: 3em !important;
}

.mt-4 {
  margin-top: 4em !important;
}

.mt-5 {
  margin-top: 5em !important;
}

.mt-6 {
  margin-top: 6em !important;
}

.mt-7 {
  margin-top: 7em !important;
}

.mt-8 {
  margin-top: 8em !important;
}

.mt-9 {
  margin-top: 9em !important;
}

.mt-10 {
  margin-top: 10em !important;
}

/* layout: margin right */
/* -------------------------------------------------------------------------- */
.mr-0 {
  margin-right: 0 !important;
}

.mr-05 {
  margin-right: 0.5em !important;
}

.mr-1 {
  margin-right: 1em !important;
}

.mr-2 {
  margin-right: 2em !important;
}

.mr-3 {
  margin-right: 3em !important;
}

.mr-4 {
  margin-right: 4em !important;
}

.mr-5 {
  margin-right: 5em !important;
}

.mr-6 {
  margin-right: 6em !important;
}

.mr-7 {
  margin-right: 7em !important;
}

.mr-8 {
  margin-right: 8em !important;
}

.mr-9 {
  margin-right: 9em !important;
}

.mr-10 {
  margin-right: 10em !important;
}

/* layout: margin bottom */
/* -------------------------------------------------------------------------- */
.mb-0 {
  margin-bottom: 0 !important;
}

.mb-05 {
  margin-bottom: 0.5em !important;
}

.mb-1 {
  margin-bottom: 1em !important;
}

.mb-2 {
  margin-bottom: 2em !important;
}

.mb-3 {
  margin-bottom: 3em !important;
}

.mb-4 {
  margin-bottom: 4em !important;
}

.mb-5 {
  margin-bottom: 5em !important;
}

.mb-6 {
  margin-bottom: 6em !important;
}

.mb-7 {
  margin-bottom: 7em !important;
}

.mb-8 {
  margin-bottom: 8em !important;
}

.mb-9 {
  margin-bottom: 9em !important;
}

.mb-10 {
  margin-bottom: 10em !important;
}

/* layout: margin left */
/* -------------------------------------------------------------------------- */
.ml-0 {
  margin-left: 0 !important;
}

.ml-05 {
  margin-left: 0.5em !important;
}

.ml-1 {
  margin-left: 1em !important;
}

.ml-2 {
  margin-left: 2em !important;
}

.ml-3 {
  margin-left: 3em !important;
}

.ml-4 {
  margin-left: 4em !important;
}

.ml-5 {
  margin-left: 5em !important;
}

.ml-6 {
  margin-left: 6em !important;
}

.ml-7 {
  margin-left: 7em !important;
}

.ml-8 {
  margin-left: 8em !important;
}

.ml-9 {
  margin-left: 9em !important;
}

.ml-10 {
  margin-left: 10em !important;
}

/* ========================================================================== */
/* Typography */
/* ========================================================================== */
/* typography: feature-settings */
/* -------------------------------------------------------------------------- */
.sf-plat {
  font-feature-settings: "palt" 1;
}

/* typography: font-family */
/* -------------------------------------------------------------------------- */
.ff-serif {
  font-family: "TsukuMinPr6-L", sans-serif;
}

.ff-barlow {
  font-family: "Barlow", sans-serif;
}

.ff-din {
  font-family: "DINNextLTPro-Light", sans-serif;
}

/* typography: font-size */
/* -------------------------------------------------------------------------- */
.fz-minimum {
  font-size: 50%;
}

.fz-small {
  font-size: 75%;
}

.fz-large {
  font-size: 125%;
}

.fz-big {
  font-size: 150%;
}

.fz-10 {
  font-size: 0.625em;
}

.fz-12 {
  font-size: 0.75em;
}

.fz-14 {
  font-size: 0.875em;
}

.fz-16 {
  font-size: 1em;
}

.fz-18 {
  font-size: 1.125em;
}

.fz-20 {
  font-size: 1.25em;
}

.fz-22 {
  font-size: 1.375em;
}

.fz-24 {
  font-size: 1.5em;
}

.fz-28 {
  font-size: 1.75em;
}

.fz-32 {
  font-size: 2em;
}

.fz-36 {
  font-size: 2.25em;
}

.fz-40 {
  font-size: 2.5em;
}

.fz-44 {
  font-size: 2.75em;
}

.fz-48 {
  font-size: 3em;
}

.fz-52 {
  font-size: 3.25em;
}

.fz-56 {
  font-size: 3.5em;
}

.fz-60 {
  font-size: 3.75em;
}

.fz-64 {
  font-size: 4em;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
  .sp-fz-10 {
    font-size: 0.625em;
  }
  .sp-fz-12 {
    font-size: 0.75em;
  }
  .sp-fz-14 {
    font-size: 0.875em;
  }
  .sp-fz-16 {
    font-size: 1em;
  }
  .sp-fz-18 {
    font-size: 1.125em;
  }
  .sp-fz-20 {
    font-size: 1.25em;
  }
  .sp-fz-22 {
    font-size: 1.375em;
  }
  .sp-fz-24 {
    font-size: 1.5em;
  }
  .sp-fz-28 {
    font-size: 1.75em;
  }
  .sp-fz-32 {
    font-size: 2em;
  }
  .sp-fz-36 {
    font-size: 2.25em;
  }
  .sp-fz-40 {
    font-size: 2.5em;
  }
  .sp-fz-44 {
    font-size: 2.75em;
  }
  .sp-fz-48 {
    font-size: 3em;
  }
  .sp-fz-52 {
    font-size: 3.25em;
  }
  .sp-fz-56 {
    font-size: 3.5em;
  }
  .sp-fz-60 {
    font-size: 3.75em;
  }
  .sp-fz-64 {
    font-size: 4em;
  }
}
/* typography: font-style */
/* -------------------------------------------------------------------------- */
.fs-normal {
  font-style: normal;
}

.fs-italic {
  font-style: italic;
}

/* typography: font-weight */
/* -------------------------------------------------------------------------- */
.fw-tin {
  font-weight: 100;
}

.fw-light {
  font-weight: 300;
}

.fw-normal {
  font-weight: 400;
}

.fw-bold {
  font-weight: 700;
}

.fw-100 {
  font-weight: 100;
}

.fw-200 {
  font-weight: 200;
}

.fw-300 {
  font-weight: 300;
}

.fw-400 {
  font-weight: 400;
}

.fw-700 {
  font-weight: 700;
}

/* typography: letter-spacing */
/* -------------------------------------------------------------------------- */
.ls-0 {
  letter-spacing: 0;
}

.ls-05 {
  letter-spacing: 0.05em;
}

.ls-1 {
  letter-spacing: 0.1em;
}

.ls-2 {
  letter-spacing: 0.2em;
}

.ls-3 {
  letter-spacing: 0.3em;
}

.ls-4 {
  letter-spacing: 0.4em;
}

/* typography: br */
/* -------------------------------------------------------------------------- */
@media screen and (min-width: 768px) {
  br.pc-br {
    display: inline;
  }
  br.sp-br {
    display: none;
  }
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  br.pc-br {
    display: none;
  }
  br.sp-br {
    display: inline;
  }
}
@media print {
  br.sp-br {
    display: none;
  }
}
/* typography: line-height */
/* -------------------------------------------------------------------------- */
.lh-10 {
  line-height: 1;
}

.lh-12 {
  line-height: 1.2;
}

.lh-14 {
  line-height: 1.4;
}

.lh-16 {
  line-height: 1.6;
}

.lh-18 {
  line-height: 1.8;
}

.lh-20 {
  line-height: 2;
}

.lh-22 {
  line-height: 2.2;
}

.lh-24 {
  line-height: 2.4;
}

.lh-26 {
  line-height: 2.6;
}

.lh-28 {
  line-height: 2.8;
}

.lh-30 {
  line-height: 3;
}

.lh-32 {
  line-height: 3.2;
}

/* typography: text-align */
/* -------------------------------------------------------------------------- */
.ta-left {
  text-align: left;
}

.ta-center {
  text-align: center;
}

.ta-right {
  text-align: right;
}

.ta-justify {
  text-align: justify;
}

@media screen and (max-width: 40em) {
  .sp-ta-left {
    text-align: left !important;
  }
  .sp-ta-center {
    text-align: center !important;
  }
  .sp-ta-right {
    text-align: right !important;
  }
  .sp-ta-justify {
    text-align: justify !important;
  }
}
/* typography: decoration */
/* -------------------------------------------------------------------------- */
.td-none {
  text-decoration: none;
}

.td-underline {
  text-decoration: underline;
}

.td-overline {
  text-decoration: overline;
}

a.td-none {
  border-bottom: 0;
}

/* typography: white-space */
/* -------------------------------------------------------------------------- */
.ws-normal {
  white-space: normal;
}

.ws-nowrap {
  white-space: nowrap;
}

/* typography: white-space */
/* -------------------------------------------------------------------------- */
.wm-v-rl {
  writing-mode: vertical-rl;
}

/*@ sourceMappingURL=style.css.map */
/*# sourceMappingURL=style.css.map */