@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input,
select {
  vertical-align: middle;
  border-width: 0;
}

a {
  text-decoration: none;
}

@font-face {
  font-family: "Marcellus-Regular";
  src: url("../fonts/Manrope/Marcellus-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}
/* Circular */
@font-face {
  font-family: "Circular-Std";
  src: url("../fonts/circular-std-book.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Circular-Std-Medium";
  src: url("../fonts/circular-std-medium-500-_1_.woff") format("woff");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "Circular-Std-Medium";
  src: url("../fonts/circular-std-medium-500.woff") format("woff");
  font-weight: 500;
  font-style: normal;
}
/* Futura */
@font-face {
  font-family: "Futura-PT";
  src: url("../fonts/futura-pt-medium-oblique.woff") format("woff");
  font-weight: 500;
  font-style: oblique;
}
/* Helvetica */
@font-face {
  font-family: "Helvetica";
  src: url("../fonts/Helvetica.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Helvetica";
  src: url("../fonts/Helvetica-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
}
/* Manrope */
@font-face {
  font-family: "Manrope";
  src: url("../fonts/Manrope/Manrope-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: "Manrope";
  src: url("../fonts/Manrope/Manrope-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Manrope";
  src: url("../fonts/Manrope/Manrope-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "Manrope";
  src: url("../fonts/Manrope/Manrope-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: "Manrope";
  src: url("../fonts/Manrope/Manrope-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: "Manrope";
  src: url("../fonts/Manrope/Manrope-ExtraBold.ttf") format("truetype");
  font-weight: 800;
  font-style: normal;
}
/* Marcellus */
@font-face {
  font-family: "Marcellus";
  src: url("../fonts/Manrope/Marcellus-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}
/* Noto Sans JP */
@font-face {
  font-family: "Noto Sans JP";
  src: url("../fonts/NotoSansJP-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Noto Sans JP";
  src: url("../fonts/NotoSansJP-Light.woff") format("woff");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: "Noto Sans JP";
  src: url("../fonts/NotoSansJP-ExtraLight.woff") format("woff");
  font-weight: 200;
  font-style: normal;
}
@font-face {
  font-family: "Noto Sans JP";
  src: url("../fonts/NotoSansJP-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "Noto Sans JP";
  src: url("../fonts/NotoSansJP-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
}
/* Sweet Sans Pro */
@font-face {
  font-family: "Sweet Sans Pro";
  src: url("../fonts/SweetSansProRegular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Sweet Sans Pro";
  src: url("../fonts/SweetSansProMedium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "Sweet Sans Pro";
  src: url("../fonts/SweetSansProBold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
}
/* Termina */
@font-face {
  font-family: "Termina";
  src: url("../fonts/Termina-W00-Heavy.woff") format("woff");
  font-weight: 900;
  font-style: normal;
}
@font-face {
  font-family: "TerminaTest";
  src: url("../fonts/TerminaTest-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}
.blogBody {
  font-size: medium;
  width: 100%;
  /* children of the <head> element all have display:none */
  /* generic block-level elements */
  /* heading elements */
  /* tables */
  /* for tables without table section elements (can happen with XHTML or dynamically created tables) */
  /* lists */
  /* form elements */
  /* Form controls don't go vertical. */
  /* TODO(crbug.com/880258): Use different styles for
  `-internal-autofill-previewed` and `-internal-autofill-selected`. */
  /* meter */
  /* progress */
  /* inline elements */
  /* states */
  /* HTML5 ruby elements */
  /* other elements */
  /* TODO(foolip): In the Fullscreen spec, there's a ::backdrop block with the
  properties shared with :fullscreen::backdrop (see fullscreen.css). */
  /* page */
  /* Allows thead sections to print at the top of each page. */
}
.blogBody html,
.blogBody body,
.blogBody div,
.blogBody span,
.blogBody applet,
.blogBody object,
.blogBody iframe,
.blogBody h1,
.blogBody h2,
.blogBody h3,
.blogBody h4,
.blogBody h5,
.blogBody h6,
.blogBody p,
.blogBody blockquote,
.blogBody pre,
.blogBody a,
.blogBody button,
.blogBody abbr,
.blogBody acronym,
.blogBody address,
.blogBody big,
.blogBody cite,
.blogBody code,
.blogBody del,
.blogBody dfn,
.blogBody em,
.blogBody img,
.blogBody ins,
.blogBody kbd,
.blogBody q,
.blogBody s,
.blogBody samp,
.blogBody small,
.blogBody strike,
.blogBody strong,
.blogBody sub,
.blogBody sup,
.blogBody tt,
.blogBody var,
.blogBody b,
.blogBody u,
.blogBody i,
.blogBody center,
.blogBody dl,
.blogBody dt,
.blogBody dd,
.blogBody ol,
.blogBody ul,
.blogBody li,
.blogBody fieldset,
.blogBody form,
.blogBody label,
.blogBody legend,
.blogBody table,
.blogBody caption,
.blogBody tbody,
.blogBody tfoot,
.blogBody thead,
.blogBody tr,
.blogBody th,
.blogBody td,
.blogBody article,
.blogBody aside,
.blogBody canvas,
.blogBody details,
.blogBody embed,
.blogBody figure,
.blogBody figcaption,
.blogBody footer,
.blogBody header,
.blogBody hgroup,
.blogBody menu,
.blogBody nav,
.blogBody output,
.blogBody ruby,
.blogBody section,
.blogBody summary,
.blogBody time,
.blogBody mark,
.blogBody audio,
.blogBody video {
  font-size: medium;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
}
.blogBody html {
  display: block;
}
.blogBody head {
  display: none;
}
.blogBody meta {
  display: none;
}
.blogBody title {
  display: none;
}
.blogBody link {
  display: none;
}
.blogBody style {
  display: none;
}
.blogBody script {
  display: none;
}
.blogBody body {
  display: block;
  margin: 8px;
}
.blogBody body:-webkit-full-page-media {
  background-color: rgb(0, 0, 0);
}
.blogBody p {
  display: block;
  margin-block-start: 1em;
  margin-block-end: 1em;
  margin-inline-start: 0;
  margin-inline-end: 0;
  line-height: 2;
}
@media screen and (max-width: 480px) {
  .blogBody p {
    font-size: 14px;
  }
}
.blogBody span {
  font-size: inherit;
}
.blogBody div {
  display: block;
}
.blogBody layer {
  display: block;
}
.blogBody article,
.blogBody aside,
.blogBody footer,
.blogBody header,
.blogBody hgroup,
.blogBody main,
.blogBody nav,
.blogBody section {
  display: block;
}
.blogBody marquee {
  display: inline-block;
  width: -webkit-fill-available;
}
.blogBody address {
  display: block;
}
.blogBody blockquote {
  display: block;
  margin-block-start: 1em;
  margin-block-end: 1em;
  margin-inline-start: 40px;
  margin-inline-end: 40px;
}
.blogBody figcaption {
  display: block;
}
.blogBody figure {
  display: block;
}
.blogBody q {
  display: inline;
}
.blogBody q:before {
  content: open-quote;
}
.blogBody q:after {
  content: close-quote;
}
.blogBody center {
  display: block;
  /* special centering to be able to emulate the html4/netscape behaviour */
  text-align: -webkit-center;
}
.blogBody hr {
  display: block;
  overflow: hidden;
  unicode-bidi: isolate;
  margin-block-start: 0.5em;
  margin-block-end: 0.5em;
  margin-inline-start: auto;
  margin-inline-end: auto;
  border-style: inset;
  border-width: 1px;
}
.blogBody map {
  display: inline;
}
.blogBody video {
  -o-object-fit: contain;
     object-fit: contain;
}
.blogBody h1 {
  display: block;
  width: 100%;
  font-size: 2em;
  margin-block-start: 0.67em;
  margin-block-end: 0.67em;
  margin-inline-start: 0;
  margin-inline-end: 0;
  font-weight: bold;
}
.blogBody :-webkit-any(article, aside, nav, section) h1 {
  font-size: 1.5em;
  margin-block-start: 0.83em;
  margin-block-end: 0.83em;
}
.blogBody :-webkit-any(article, aside, nav, section) :-webkit-any(article, aside, nav, section) h1 {
  font-size: 1.17em;
  margin-block-start: 1em;
  margin-block-end: 1em;
}
.blogBody :-webkit-any(article, aside, nav, section) :-webkit-any(article, aside, nav, section) :-webkit-any(article, aside, nav, section) h1 {
  font-size: 1em;
  margin-block-start: 1.33em;
  margin-block-end: 1.33em;
}
.blogBody :-webkit-any(article, aside, nav, section) :-webkit-any(article, aside, nav, section) :-webkit-any(article, aside, nav, section) :-webkit-any(article, aside, nav, section) h1 {
  font-size: 0.83em;
  margin-block-start: 1.67em;
  margin-block-end: 1.67em;
}
.blogBody :-webkit-any(article, aside, nav, section) :-webkit-any(article, aside, nav, section) :-webkit-any(article, aside, nav, section) :-webkit-any(article, aside, nav, section) :-webkit-any(article, aside, nav, section) h1 {
  font-size: 0.67em;
  margin-block-start: 2.33em;
  margin-block-end: 2.33em;
}
.blogBody h2 {
  display: block;
  width: 100%;
  font-size: 2.3em;
  margin-block-start: 0.83em;
  margin-block-end: 0.83em;
  margin-inline-start: 0;
  margin-inline-end: 0;
  font-weight: bold;
}
@media screen and (max-width: 480px) {
  .blogBody h2 {
    font-size: 1.6em;
  }
}
.blogBody h3 {
  display: block;
  width: 100%;
  font-size: 1.17em;
  margin-block-start: 1em;
  margin-block-end: 1em;
  margin-inline-start: 0;
  margin-inline-end: 0;
  font-weight: bold;
}
.blogBody h4 {
  display: block;
  width: 100%;
  margin-block-start: 1.33em;
  margin-block-end: 1.33em;
  margin-inline-start: 0;
  margin-inline-end: 0;
  font-weight: bold;
}
.blogBody h5 {
  display: block;
  width: 100%;
  font-size: 0.83em;
  margin-block-start: 1.67em;
  margin-block-end: 1.67em;
  margin-inline-start: 0;
  margin-inline-end: 0;
  font-weight: bold;
}
.blogBody h6 {
  display: block;
  width: 100%;
  font-size: 0.67em;
  margin-block-start: 2.33em;
  margin-block-end: 2.33em;
  margin-inline-start: 0;
  margin-inline-end: 0;
  font-weight: bold;
}
.blogBody strong,
.blogBody em,
.blogBody kbd {
  font-size: 1em;
}
.blogBody table {
  display: table;
  border-color: gray;
  box-sizing: border-box;
  text-indent: initial;
}
.blogBody thead {
  display: table-header-group;
  vertical-align: middle;
  border-color: inherit;
}
.blogBody tbody {
  display: table-row-group;
  vertical-align: middle;
  border-color: inherit;
}
.blogBody tfoot {
  display: table-footer-group;
  vertical-align: middle;
  border-color: inherit;
}
.blogBody table > tr {
  vertical-align: middle;
}
.blogBody col {
  display: table-column;
}
.blogBody colgroup {
  display: table-column-group;
}
.blogBody tr {
  display: table-row;
  vertical-align: inherit;
  border-color: inherit;
}
.blogBody td,
.blogBody th {
  display: table-cell;
  vertical-align: inherit;
}
.blogBody th {
  font-weight: bold;
  text-align: -internal-center;
}
.blogBody caption {
  display: table-caption;
  text-align: -webkit-center;
}
.blogBody ul,
.blogBody menu,
.blogBody dir {
  display: block;
  list-style-type: disc;
  margin-block-start: 1em;
  margin-block-end: 1em;
  margin-inline-start: 0;
  margin-inline-end: 0;
  padding-inline-start: 40px;
}
.blogBody ol {
  display: block;
  list-style-type: decimal;
  margin-block-start: 1em;
  margin-block-end: 1em;
  margin-inline-start: 0;
  margin-inline-end: 0;
  padding-inline-start: 40px;
}
.blogBody li {
  display: list-item;
  text-align: -webkit-match-parent;
  line-height: 1.8;
}
.blogBody ul ul,
.blogBody ol ul {
  list-style-type: circle;
}
.blogBody ol ol ul,
.blogBody ol ul ul,
.blogBody ul ol ul,
.blogBody ul ul ul {
  list-style-type: square;
}
.blogBody dd {
  display: block;
  margin-inline-start: 40px;
}
.blogBody dl {
  display: block;
  margin-block-start: 1em;
  margin-block-end: 1em;
  margin-inline-start: 0;
  margin-inline-end: 0;
}
.blogBody dt {
  display: block;
}
.blogBody ol ul,
.blogBody ul ol,
.blogBody ul ul,
.blogBody ol ol {
  margin-block-start: 0;
  margin-block-end: 0;
}
.blogBody form {
  display: block;
  margin-top: 0em;
}
.blogBody :-webkit-any(table, thead, tbody, tfoot, tr) > form:-internal-is-html {
  display: none !important;
}
.blogBody label {
  cursor: default;
}
.blogBody legend {
  display: block;
  padding-inline-start: 2px;
  padding-inline-end: 2px;
  border: none;
}
.blogBody fieldset {
  display: block;
  margin-inline-start: 2px;
  margin-inline-end: 2px;
  padding-block-start: 0.35em;
  padding-inline-start: 0.75em;
  padding-inline-end: 0.75em;
  padding-block-end: 0.625em;
  min-inline-size: -moz-min-content;
  min-inline-size: min-content;
}
.blogBody button {
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
}
.blogBody input,
.blogBody textarea,
.blogBody select,
.blogBody button,
.blogBody meter,
.blogBody progress {
  -webkit-writing-mode: horizontal-tb !important;
}
.blogBody input,
.blogBody textarea,
.blogBody select,
.blogBody button {
  margin: 0em;
  font: -webkit-small-control;
  text-rendering: auto; /* FIXME: Remove when tabs work with optimizeLegibility. */
  color: -internal-light-dark(black, white);
  letter-spacing: normal;
  word-spacing: normal;
  line-height: normal;
  text-transform: none;
  text-indent: 0;
  text-shadow: none;
  display: inline-block;
  text-align: start;
}
.blogBody input[type=hidden i] {
  display: none;
}
.blogBody input {
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
  padding: 1px;
  background-color: -internal-light-dark(white, black);
  border: 2px inset;
  -webkit-rtl-ordering: logical;
  cursor: text;
}
.blogBody input[type=search i] {
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
  box-sizing: border-box;
}
.blogBody input::-webkit-textfield-decoration-container {
  display: flex !important;
  align-items: center;
  -webkit-user-modify: read-only !important;
  content: none !important;
  writing-mode: inherit !important;
  -internal-align-self-block: center;
}
.blogBody input::-webkit-clear-button {
  -webkit-appearance: auto;
          appearance: auto;
  display: inline-block;
  cursor: default;
  flex: none;
  -webkit-user-modify: read-only !important;
  margin-inline-start: 2px;
}
.blogBody input:enabled:read-write:-webkit-any(:focus, :hover)::-webkit-clear-button {
  opacity: 1;
  pointer-events: auto;
}
.blogBody input[type=search i]::-webkit-search-cancel-button {
  -webkit-appearance: auto;
          appearance: auto;
  display: block;
  cursor: default;
  flex: none;
  -webkit-user-modify: read-only !important;
  margin-inline-start: 1px;
  -webkit-user-select: none !important;
          user-select: none !important;
}
.blogBody input[type=search i]:enabled:read-write:-webkit-any(:focus,
:hover)::-webkit-search-cancel-button {
  opacity: 1;
  pointer-events: auto;
}
.blogBody input::-webkit-inner-spin-button {
  -webkit-appearance: auto;
          appearance: auto;
  display: inline-block;
  cursor: default;
  flex: none;
  align-self: stretch;
  -webkit-user-modify: read-only !important;
}
.blogBody input:enabled:read-write:-webkit-any(:focus,
:hover)::-webkit-inner-spin-button {
  opacity: 1;
  pointer-events: auto;
}
.blogBody select {
  border-radius: 5px;
}
.blogBody textarea {
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
  background-color: -internal-light-dark(white, black);
  border: 1px solid;
  -moz-column-count: initial !important;
       column-count: initial !important;
  -webkit-rtl-ordering: logical;
  flex-direction: column;
  resize: auto;
  cursor: text;
  padding: 2px;
  white-space: pre-wrap;
  word-wrap: break-word;
}
.blogBody ::-webkit-input-placeholder {
  -webkit-text-security: none;
  color: #757575;
  direction: inherit !important;
  pointer-events: none !important;
  text-orientation: inherit !important;
  writing-mode: inherit !important;
}
.blogBody input::-webkit-input-placeholder {
  text-overflow: inherit;
  line-height: initial;
  white-space: pre;
  word-wrap: normal;
  overflow: hidden;
  -webkit-user-modify: read-only !important;
}
.blogBody input::-internal-input-suggested {
  text-overflow: inherit;
  white-space: nowrap;
  overflow: hidden;
}
.blogBody input::-internal-input-suggested,
.blogBody textarea::-internal-input-suggested {
  font: -webkit-small-control !important;
  /* Prevent that overflow affects the scrollable area. Without this,
  LayoutBox::*Scroll{Height,Width}() may determine the scroll width/height
  from the scrollable area instead of from the overrides in
  LayoutTextControl{Single,Multi}Line::Scroll{Height,Width}(). */
  overflow: hidden !important;
  overflow-anchor: none;
}
.blogBody input[type=password i] {
  -webkit-text-security: disc !important;
}
.blogBody input[type=password i]::-internal-input-suggested {
  -webkit-text-security: disc !important;
}
.blogBody input[type=hidden i],
.blogBody input[type=image i],
.blogBody input[type=file i] {
  -webkit-appearance: initial; /* AutoAppearanceFor() should match to this. */
  padding: initial;
  background-color: initial;
  border: initial;
  cursor: default;
}
.blogBody input[type=file i] {
  align-items: baseline;
  color: inherit;
  overflow: hidden !important;
  text-align: start !important;
  text-overflow: ellipsis;
  white-space: pre;
}
.blogBody input[type=image i] {
  cursor: pointer;
}
.blogBody input:-internal-autofill-previewed,
.blogBody textarea:-internal-autofill-previewed,
.blogBody select:-internal-autofill-previewed {
  -webkit-appearance: menulist-button;
  background-color: #e8f0fe !important;
  background-image: none !important;
  color: -internal-light-dark(black, white) !important;
}
.blogBody input:-internal-autofill-selected,
.blogBody textarea:-internal-autofill-selected,
.blogBody select:-internal-autofill-selected {
  -webkit-appearance: menulist-button;
  background-color: #e8f0fe !important;
  background-image: none !important;
  color: -internal-light-dark(black, white) !important;
}
.blogBody input[type=radio i],
.blogBody input[type=checkbox i] {
  margin: 3px 0.5ex;
  padding: initial;
  background-color: initial;
  border: initial;
  cursor: default;
}
.blogBody input[type=button i],
.blogBody input[type=submit i],
.blogBody input[type=reset i] {
  -internal-empty-line-height: fabricated;
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
  white-space: pre;
}
.blogBody input[type=file i]::-webkit-file-upload-button {
  -webkit-appearance: auto;
          appearance: auto;
  -webkit-user-modify: read-only !important;
  white-space: nowrap;
  margin: 0;
  margin-inline-end: 4px;
  font-size: inherit;
}
.blogBody input[type=button i],
.blogBody input[type=submit i],
.blogBody input[type=reset i],
.blogBody input[type=file i]::-webkit-file-upload-button,
.blogBody button {
  align-items: flex-start;
  text-align: center;
  cursor: default;
  color: -internal-light-dark(ButtonText, #aaaaaa);
  padding: 2px 6px 3px 6px;
  border: 2px outset ButtonFace;
  background-color: ButtonFace;
  box-sizing: border-box;
}
.blogBody input[type=range i] {
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto; /* AutoAppearanceFor() should match to this. */
  padding: initial;
  border: initial;
  margin: 2px;
  color: #909090;
  cursor: default;
}
.blogBody input[type=range i]::-webkit-slider-container,
.blogBody input[type=range i]::-webkit-media-slider-container {
  -webkit-appearance: inherit;
          appearance: inherit;
  flex: 1;
  min-inline-size: 0;
  box-sizing: border-box;
  -webkit-user-modify: read-only !important;
  display: flex;
}
.blogBody input[type=range i]:-internal-has-datalist::-webkit-slider-container {
  /*
  * See LayoutThemeDefault. "22px" is
  * 2 * (SliderTickOffsetFromTrackCenter() + SliderTickSize().Height()).
  */
  min-block-size: 22px;
}
.blogBody input[type=range i]::-webkit-slider-runnable-track {
  flex: 1;
  min-inline-size: 0;
  -webkit-align-self: center;
  box-sizing: border-box;
  -webkit-user-modify: read-only !important;
  display: block;
}
.blogBody input[type=range i]::-webkit-slider-thumb,
.blogBody input[type=range i]::-webkit-media-slider-thumb {
  -webkit-appearance: auto;
          appearance: auto;
  box-sizing: border-box;
  -webkit-user-modify: read-only !important;
  display: block;
}
.blogBody input[type=button i]:disabled,
.blogBody input[type=submit i]:disabled,
.blogBody input[type=reset i]:disabled,
.blogBody input[type=file i]:disabled::-webkit-file-upload-button,
.blogBody button:disabled,
.blogBody select:disabled,
.blogBody optgroup:disabled,
.blogBody option:disabled,
.blogBody select[disabled] > option {
  color: -internal-light-dark(GrayText, #aaa);
}
.blogBody input[type=button i]:active,
.blogBody input[type=submit i]:active,
.blogBody input[type=reset i]:active,
.blogBody input[type=file i]:active::-webkit-file-upload-button,
.blogBody button:active {
  border-style: inset;
}
.blogBody input[type=button i]:active:disabled,
.blogBody input[type=submit i]:active:disabled,
.blogBody input[type=reset i]:active:disabled,
.blogBody input[type=file i]:active:disabled::-webkit-file-upload-button,
.blogBody button:active:disabled {
  border-style: outset;
}
.blogBody input:disabled,
.blogBody textarea:disabled {
  color: -internal-light-dark(#545454, #aaa);
  cursor: default;
}
.blogBody option:-internal-spatial-navigation-focus {
  outline: -internal-light-dark(black, white) dashed 1px;
  outline-offset: -1px;
}
.blogBody datalist {
  display: none;
}
.blogBody area {
  display: inline;
}
.blogBody area:-webkit-any-link {
  cursor: pointer;
}
.blogBody param {
  display: none;
}
.blogBody input[type=checkbox i] {
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
  box-sizing: border-box;
}
.blogBody input[type=radio i] {
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
  box-sizing: border-box;
}
.blogBody input[type=color i] {
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
  width: 44px;
  height: 23px;
  background-color: ButtonFace;
  /* Same as native_theme_base. */
  border: 1px #a9a9a9 solid;
  padding: 1px 2px;
  cursor: default;
}
.blogBody input[type=color i]::-webkit-color-swatch-wrapper {
  display: flex;
  padding: 4px 2px;
  box-sizing: border-box;
  -webkit-user-modify: read-only !important;
  width: 100%;
  height: 100%;
}
.blogBody input[type=color i]::-webkit-color-swatch {
  background-color: #000000;
  border: 1px solid #777777;
  flex: 1;
  min-width: 0;
  -webkit-user-modify: read-only !important;
}
.blogBody input[type=color i][list] {
  -webkit-appearance: menulist; /* AutoAppearanceFor() should match to this. */
  width: 88px;
  height: 23px;
}
.blogBody input[type=color i][list]::-webkit-color-swatch-wrapper {
  padding-inline-start: 8px;
  padding-inline-end: 24px;
}
.blogBody input[type=color i][list]::-webkit-color-swatch {
  border-color: #000000;
}
.blogBody input::-webkit-calendar-picker-indicator {
  display: inline-block;
  width: 0.66em;
  height: 0.66em;
  padding: 0.17em 0.34em;
  -webkit-user-modify: read-only !important;
  cursor: default;
}
.blogBody input::-webkit-calendar-picker-indicator:hover {
  background-color: #eee;
}
.blogBody input:enabled:read-write:-webkit-any(:focus,
:hover)::-webkit-calendar-picker-indicator,
.blogBody input::-webkit-calendar-picker-indicator:focus {
  opacity: 1;
  pointer-events: auto;
}
.blogBody input[type=date i]:disabled::-webkit-clear-button,
.blogBody input[type=date i]:disabled::-webkit-inner-spin-button,
.blogBody input[type=datetime-local i]:disabled::-webkit-clear-button,
.blogBody input[type=datetime-local i]:disabled::-webkit-inner-spin-button,
.blogBody input[type=month i]:disabled::-webkit-clear-button,
.blogBody input[type=month i]:disabled::-webkit-inner-spin-button,
.blogBody input[type=week i]:disabled::-webkit-clear-button,
.blogBody input[type=week i]:disabled::-webkit-inner-spin-button,
.blogBody input:disabled::-webkit-calendar-picker-indicator,
.blogBody input[type=date i][readonly]::-webkit-clear-button,
.blogBody input[type=date i][readonly]::-webkit-inner-spin-button,
.blogBody input[type=datetime-local i][readonly]::-webkit-clear-button,
.blogBody input[type=datetime-local i][readonly]::-webkit-inner-spin-button,
.blogBody input[type=month i][readonly]::-webkit-clear-button,
.blogBody input[type=month i][readonly]::-webkit-inner-spin-button,
.blogBody input[type=week i][readonly]::-webkit-clear-button,
.blogBody input[type=week i][readonly]::-webkit-inner-spin-button,
.blogBody input[readonly]::-webkit-calendar-picker-indicator {
  visibility: hidden;
}
.blogBody select {
  -webkit-appearance: menulist; /* AutoAppearanceFor() should match to this. */
  box-sizing: border-box;
  align-items: center;
  border: 1px solid;
  white-space: pre;
  -webkit-rtl-ordering: logical;
  color: -internal-light-dark(black, white);
  background-color: -internal-light-dark(white, black);
  cursor: default;
}
.blogBody select:not(:-internal-list-box) {
  overflow: visible !important;
}
.blogBody select:-internal-list-box {
  -webkit-appearance: listbox; /* AutoAppearanceFor() should match to this. */
  align-items: flex-start;
  border: 1px inset gray;
  border-radius: initial;
  overflow-x: hidden;
  overflow-y: scroll;
  vertical-align: text-bottom;
  white-space: nowrap;
}
.blogBody optgroup {
  font-weight: bolder;
  display: block;
}
.blogBody option {
  font-weight: normal;
  display: block;
  padding: 0 2px 1px 2px;
  white-space: nowrap;
  min-height: 1.2em;
}
.blogBody select:-internal-list-box optgroup option:before {
  content: "    ";
}
.blogBody select:-internal-list-box option,
.blogBody select:-internal-list-box optgroup {
  line-height: initial !important;
}
.blogBody select:-internal-list-box:focus option:checked {
  background-color: -internal-active-list-box-selection !important;
  color: -internal-active-list-box-selection-text !important;
}
.blogBody select:-internal-list-box:focus option:checked:disabled {
  background-color: -internal-inactive-list-box-selection !important;
}
.blogBody select:-internal-list-box option:checked {
  background-color: -internal-inactive-list-box-selection !important;
  color: -internal-inactive-list-box-selection-text !important;
}
.blogBody select:-internal-list-box:disabled option:checked,
.blogBody select:-internal-list-box option:checked:disabled {
  color: gray !important;
}
.blogBody select:-internal-list-box hr {
  border-style: none;
  margin-block-start: 0.5em;
  margin-block-end: 0;
}
.blogBody select:-internal-list-box:focus option:-internal-multi-select-focus {
  outline: auto 1px -webkit-focus-ring-color;
  outline-offset: -1px;
}
.blogBody output {
  display: inline;
}
.blogBody meter {
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
  box-sizing: border-box;
  display: inline-block;
  height: 1em;
  width: 5em;
  vertical-align: -0.2em;
  -webkit-user-modify: read-only !important;
}
.blogBody meter::-webkit-meter-inner-element {
  -webkit-appearance: inherit;
          appearance: inherit;
  box-sizing: inherit;
  display: none;
  -webkit-user-modify: read-only !important;
  height: 100%;
  width: 100%;
}
.blogBody meter::-webkit-meter-inner-element:-internal-shadow-host-has-appearance {
  display: block;
}
.blogBody meter::-internal-fallback:-internal-shadow-host-has-appearance {
  display: none;
}
.blogBody meter::-webkit-meter-bar {
  background: linear-gradient(to bottom, #ddd, #eee 20%, #ccc 45%, #ccc 55%, #ddd);
  height: 100%;
  width: 100%;
  -webkit-user-modify: read-only !important;
  box-sizing: border-box;
}
.blogBody meter::-webkit-meter-optimum-value {
  background: linear-gradient(to bottom, #ad7, #cea 20%, #7a3 45%, #7a3 55%, #ad7);
  height: 100%;
  -webkit-user-modify: read-only !important;
  box-sizing: border-box;
}
.blogBody meter::-webkit-meter-suboptimum-value {
  background: linear-gradient(to bottom, #fe7, #ffc 20%, #db3 45%, #db3 55%, #fe7);
  height: 100%;
  -webkit-user-modify: read-only !important;
  box-sizing: border-box;
}
.blogBody meter::-webkit-meter-even-less-good-value {
  background: linear-gradient(to bottom, #f77, #fcc 20%, #d44 45%, #d44 55%, #f77);
  height: 100%;
  -webkit-user-modify: read-only !important;
  box-sizing: border-box;
}
.blogBody progress {
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
  box-sizing: border-box;
  display: inline-block;
  height: 1em;
  width: 10em;
  vertical-align: -0.2em;
}
.blogBody progress::-webkit-progress-inner-element {
  box-sizing: inherit;
  -webkit-user-modify: read-only;
  height: 100%;
  width: 100%;
}
.blogBody progress::-webkit-progress-bar {
  background-color: gray;
  height: 100%;
  width: 100%;
  -webkit-user-modify: read-only !important;
  box-sizing: border-box;
}
.blogBody progress::-webkit-progress-value {
  background-color: green;
  height: 100%;
  width: 50%; /* should be removed later */
  -webkit-user-modify: read-only !important;
  box-sizing: border-box;
}
.blogBody u,
.blogBody ins {
  text-decoration: underline;
}
.blogBody abbr[title],
.blogBody acronym[title] {
  -webkit-text-decoration: dotted underline;
          text-decoration: dotted underline;
}
.blogBody strong,
.blogBody b {
  font-weight: bold;
}
.blogBody i,
.blogBody cite,
.blogBody em,
.blogBody var,
.blogBody address,
.blogBody dfn {
  font-style: italic;
}
.blogBody pre,
.blogBody xmp,
.blogBody plaintext,
.blogBody listing {
  display: block;
  white-space: pre;
  margin: 1em 0;
}
.blogBody mark {
  background-color: yellow;
  color: black;
}
.blogBody big {
  font-size: larger;
}
.blogBody small {
  font-size: smaller;
}
.blogBody s,
.blogBody strike,
.blogBody del {
  text-decoration: line-through;
}
.blogBody sub {
  vertical-align: sub;
  font-size: smaller;
}
.blogBody sup {
  vertical-align: super;
  font-size: smaller;
}
.blogBody nobr {
  white-space: nowrap;
}
.blogBody :-internal-spatial-navigation-interest {
  outline: auto 1px -webkit-focus-ring-color !important;
  box-shadow: none !important;
}
.blogBody :focus {
  outline: auto 1px -webkit-focus-ring-color;
}
.blogBody html:focus,
.blogBody body:focus {
  outline: none;
}
.blogBody embed:focus,
.blogBody iframe:focus,
.blogBody object:focus {
  outline: none;
}
.blogBody input:focus,
.blogBody textarea:focus,
.blogBody select:focus {
  outline-offset: -2px;
}
.blogBody input[type=button i]:focus,
.blogBody input[type=checkbox i]:focus,
.blogBody input[type=file i]:focus,
.blogBody input[type=hidden i]:focus,
.blogBody input[type=image i]:focus,
.blogBody input[type=radio i]:focus,
.blogBody input[type=reset i]:focus,
.blogBody input[type=submit i]:focus,
.blogBody input[type=file i]:focus::-webkit-file-upload-button {
  outline-offset: 0;
}
.blogBody a:-webkit-any-link {
  color: #0073aa;
  text-decoration: underline;
  cursor: pointer;
  word-break: break-all;
}
.blogBody p.has-text-color a {
  color: inherit;
}
.blogBody a:-webkit-any-link:active {
  color: -webkit-activelink;
}
.blogBody a:-webkit-any-link:read-write {
  cursor: text;
}
.blogBody ruby,
.blogBody rt {
  text-indent: 0; /* blocks used for ruby rendering should not trigger this */
}
.blogBody rt {
  line-height: normal;
}
.blogBody ruby > rt {
  display: block;
  font-size: 50%;
  text-align: start;
}
.blogBody rp {
  display: none;
}
.blogBody noframes {
  display: none;
}
.blogBody frameset,
.blogBody frame {
  display: block;
}
.blogBody frameset {
  border-color: inherit;
}
.blogBody iframe {
  border: 2px inset;
}
.blogBody details {
  display: block;
}
.blogBody summary {
  display: block;
}
.blogBody summary::-webkit-details-marker {
  display: inline-block;
  width: 0.66em;
  height: 0.66em;
  margin-inline-end: 0.4em;
}
.blogBody template {
  display: none;
}
.blogBody bdi,
.blogBody output {
  unicode-bidi: -webkit-isolate;
}
.blogBody bdo {
  unicode-bidi: bidi-override;
}
.blogBody textarea[dir=auto i] {
  unicode-bidi: -webkit-plaintext;
}
.blogBody dialog:not([open]) {
  display: none;
}
.blogBody dialog {
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin: auto;
  border: solid;
  padding: 1em;
  background: -internal-light-dark(white, black);
  color: -internal-light-dark(black, white);
}
.blogBody dialog:-internal-modal {
  position: fixed;
  overflow: auto;
  top: 0;
  bottom: 0;
  /* 6px + 2em = border + padding, as by default box-sizing is content-box. */
  max-width: calc(100% - 6px - 2em);
  max-height: calc(100% - 6px - 2em);
}
.blogBody dialog::backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.1);
}
.blogBody slot {
  display: contents;
}
@page {
  .blogBody {
    /* FIXME: Define the right default values for page properties. */
    size: auto;
    margin: auto;
    padding: 0px;
    border-width: 0px;
  }
}
@media print {
  .blogBody thead {
    -moz-column-break-inside: avoid;
         break-inside: avoid;
  }
  .blogBody tfoot {
    -moz-column-break-inside: avoid;
         break-inside: avoid;
  }
}
.blogBody .wp-block-pullquote {
  margin: 0 0 1em 0;
  padding: 3em 0;
  text-align: center;
  border-top: 4px solid;
  border-bottom: 4px solid;
}
.blogBody .wp-block-pullquote.alignleft,
.blogBody .wp-block-pullquote.alignright {
  max-width: 420px;
}
.blogBody .wp-block-pullquote.alignleft p,
.blogBody .wp-block-pullquote.alignright p {
  font-size: 1.25em;
}
.blogBody .wp-block-pullquote p {
  font-size: 1.75em;
  line-height: 1.6;
}
.blogBody .wp-block-pullquote cite,
.blogBody .wp-block-pullquote footer {
  position: relative;
}
.blogBody .wp-block-pullquote .has-text-color a {
  color: inherit;
}
.blogBody .wp-block-pullquote:not(.is-style-solid-color) {
  background: none;
}
.blogBody .wp-block-pullquote.is-style-solid-color {
  border: none;
}
.blogBody .wp-block-pullquote.is-style-solid-color blockquote {
  margin-left: auto;
  margin-right: auto;
  text-align: left;
  max-width: 60%;
}
.blogBody .wp-block-pullquote.is-style-solid-color blockquote p {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 2em;
}
.blogBody .wp-block-pullquote.is-style-solid-color blockquote cite {
  text-transform: none;
  font-style: normal;
}
.blogBody .wp-block-pullquote cite {
  color: inherit;
}
.blogBody .wp-block-quote {
  border-left: 0.25em solid;
  margin: 0 0 1.75em;
  padding-left: 1em;
}
.blogBody .wp-block-table td,
.blogBody .wp-block-table th {
  border: 1px solid;
}
.blogBody .wp-block-table td,
.blogBody .wp-block-table th {
  padding: 0.5em;
  border: 1px solid;
  word-break: normal;
  line-height: 1.8;
}
.blogBody .wp-block-image img {
  max-width: 100%;
  height: auto;
}
.blogBody .wp-block-columns {
  display: flex;
  margin-bottom: 2em;
  box-sizing: border-box;
  flex-wrap: wrap;
}
@media screen and (max-width: 480px) {
  .blogBody .wp-block-columns {
    flex-direction: column-reverse;
  }
}
.blogBody .wp-block-columns p {
  margin-block-start: 0;
  margin-block-end: 0;
}
.blogBody .wp-block-column {
  overflow: hidden;
}
.blogBody .size-full img {
  width: 100%;
}
.blogBody h2,
.blogBody h3,
.blogBody h4,
.blogBody h5,
.blogBody h6 {
  margin-block-start: 2em;
  margin-block-end: 2em;
}
.blogBody .wp-block-column > h1,
.blogBody .wp-block-column > h2,
.blogBody .wp-block-column > h3,
.blogBody .wp-block-column > h4,
.blogBody .wp-block-column > h5,
.blogBody .wp-block-column > h6 {
  margin-block-start: 0;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
button,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  font-size: 62.5%;
  scroll-behavior: smooth;
}

body,
html {
  background-color: white;
  font-family: "NotoSansJP", sans-serif;
  font-weight: 400;
}

.color\:black {
  color: #1b1b1b;
}

.hamburger {
  display: none;
  position: relative;
}
.hamburger.active span {
  background-color: #353535 !important;
}
.hamburger.active span:nth-of-type(1) {
  transform: translateY(2.1vw) rotate(45deg);
}
.hamburger.active span:nth-of-type(2) {
  opacity: 0;
}
.hamburger.active span:nth-of-type(3) {
  transform: translateY(-2.1vw) rotate(-45deg);
}
@media screen and (max-width: 800px) {
  .hamburger {
    display: block;
    z-index: 109000;
    cursor: pointer;
    margin-right: 1.875vw;
    width: 1.875vw;
    height: 1.25vw;
    z-index: 8;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .hamburger {
    margin-right: 6.4vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .hamburger {
    width: 6.4vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .hamburger {
    height: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .hamburger span {
    transition: all 0.5s;
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #353535;
    border-radius: 4px;
  }
  .hamburger span:nth-child(1) {
    top: 0%;
  }
  .hamburger span:nth-of-type(2) {
    top: 50%;
  }
  .hamburger span:nth-of-type(3) {
    top: 100%;
  }
}
.hamburger--news span {
  background-color: white;
}
.header--scrolled .hamburger--news span {
  background-color: #353535;
}

@font-face {
  font-family: "NotoSerifJP-Light";
  src: url("../fonts/NotoSansJP/NotoSerifJP-Light.woff") format("woff");
  font-weight: 200;
  font-style: normal;
}
@font-face {
  font-family: "NotoSerifJP-Regular";
  src: url("../fonts/NotoSansJP/NotoSerifJP-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "NotoSerifJP-Medium";
  src: url("../fonts/NotoSansJP/NotoSerifJP-Medium.woff") format("woff");
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: "NotoSerifJP-Bold";
  src: url("../fonts/NotoSansJP/NotoSerifJP-Bold.woff") format("woff");
  font-weight: 800;
  font-style: normal;
}
@font-face {
  font-family: "NotoSansJP-Bold";
  font-weight: 800;
  src: url("../fonts/NotoSansJP/NotoSansJP-Bold.woff") format("woff");
  font-style: normal;
}
@font-face {
  font-family: "SweetSansProMedium";
  font-weight: normal;
  src: url("../fonts/SweetSansProMedium.woff") format("woff");
  font-style: normal;
}
@font-face {
  font-family: "SweetSansProRegular";
  font-weight: normal;
  src: url("../fonts/SweetSansProRegular.woff") format("woff");
  font-style: normal;
}
@font-face {
  font-family: "Termina-W00-Heavy";
  font-weight: 800;
  src: url("../fonts/Termina-W00-Heavy.woff") format("woff");
  font-style: normal;
}
@font-face {
  font-family: "TerminaTest-Regular";
  font-weight: 400;
  src: url("../fonts/TerminaTest-Regular.woff") format("woff");
  font-style: normal;
}
@font-face {
  font-family: "DaysOne-Regular";
  font-weight: 400;
  src: url("../fonts/DaysOne/DaysOne-Regular.ttf") format("truetype");
  font-style: normal;
}
.drawerNav {
  width: 100%;
  padding-top: 6.25vw;
  padding-bottom: 9.375vw;
  overflow-y: auto;
  max-height: 100vh;
  box-sizing: border-box;
  z-index: 7;
}
@media screen and (max-width: 800px) {
  .drawerNav {
    padding-top: 21.3333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .drawerNav {
    padding-bottom: 32vw;
  }
}
.drawerNav {
  padding-left: 2.5vw;
  padding-right: 2.5vw;
}
@media screen and (max-width: 800px) {
  .drawerNav {
    padding-left: 8.5333333333vw;
    padding-right: 8.5333333333vw;
  }
}
.drawerNav__item a {
  color: #fff;
}
.drawerNav__black {
  border-radius: 5px;
  border: 1px solid #000;
  margin-top: 1.875vw;
  text-align: center;
  width: 80%;
}
@media screen and (max-width: 800px) {
  .drawerNav__black {
    margin-top: 6.4vw;
  }
}
.drawerNav__black {
  padding-top: 0.625vw;
  padding-bottom: 0.625vw;
}
@media screen and (max-width: 800px) {
  .drawerNav__black {
    padding-top: 2.1333333333vw;
    padding-bottom: 2.1333333333vw;
  }
}
.drawerNav__black {
  padding-left: 1.09375vw;
  padding-right: 1.09375vw;
}
@media screen and (max-width: 800px) {
  .drawerNav__black {
    padding-left: 3.7333333333vw;
    padding-right: 3.7333333333vw;
  }
}
.drawerNav__link {
  font-size: 1.09375vw;
  padding-top: 1.875vw;
  padding-bottom: 1.875vw;
  font-family: "DaysOne-Regular";
  font-weight: bold;
  text-decoration: none;
  font-weight: bold;
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}
@media screen and (max-width: 800px) {
  .drawerNav__link {
    font-size: 3.7333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .drawerNav__link {
    padding-top: 6.4vw;
  }
}
@media screen and (max-width: 800px) {
  .drawerNav__link {
    padding-bottom: 6.4vw;
  }
}
.drawerNav__link--contact {
  background-color: #fff;
  border-radius: 5px;
  border: none;
  margin-top: 1.875vw;
  text-align: center;
}
@media screen and (max-width: 800px) {
  .drawerNav__link--contact {
    margin-top: 6.4vw;
  }
}
.drawerNav__link--contact {
  padding-top: 1.25vw;
  padding-bottom: 1.25vw;
}
@media screen and (max-width: 800px) {
  .drawerNav__link--contact {
    padding-top: 4.2666666667vw;
    padding-bottom: 4.2666666667vw;
  }
}
.drawerNav__link--contact {
  padding-left: 1.09375vw;
  padding-right: 1.09375vw;
}
@media screen and (max-width: 800px) {
  .drawerNav__link--contact {
    padding-left: 3.7333333333vw;
    padding-right: 3.7333333333vw;
  }
}
.drawerNav__link--contact:hover {
  background-color: #fff;
  border: none;
}
.drawerNav__button {
  display: inline-flex !important;
  margin-top: 1.875vw;
}
@media screen and (max-width: 800px) {
  .drawerNav__button {
    margin-top: 6.4vw;
  }
}
.drawerNav__campain {
  width: 100%;
  border: 1px solid #000;
  border-radius: 999px;
}

.drawer--left .drawer-nav {
  left: -100vw;
}

.drawerNav {
  width: 100%;
  padding-top: 8.125vw;
  padding-bottom: 9.375vw;
  background-color: #fff;
  overflow-y: auto; /* スクロールを可能にする */
  max-height: 100vh;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  z-index: 100;
}
@media screen and (max-width: 800px) {
  .drawerNav {
    padding-top: 27.7333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .drawerNav {
    padding-bottom: 32vw;
  }
}
.drawerNav {
  padding-left: 2.5vw;
  padding-right: 2.5vw;
}
@media screen and (max-width: 800px) {
  .drawerNav {
    padding-left: 8.5333333333vw;
    padding-right: 8.5333333333vw;
  }
}
.drawerNav__menu {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.drawerNav__item {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.drawerNav__item a {
  box-sizing: border-box;
  color: #000;
}
.drawerNav__black {
  border-radius: 5px;
  border: 1px solid #000;
  margin-top: 1.875vw;
  text-align: center;
  width: 80%;
}
@media screen and (max-width: 800px) {
  .drawerNav__black {
    margin-top: 6.4vw;
  }
}
.drawerNav__black {
  padding-top: 0.625vw;
  padding-bottom: 0.625vw;
}
@media screen and (max-width: 800px) {
  .drawerNav__black {
    padding-top: 2.1333333333vw;
    padding-bottom: 2.1333333333vw;
  }
}
.drawerNav__black {
  padding-left: 1.09375vw;
  padding-right: 1.09375vw;
}
@media screen and (max-width: 800px) {
  .drawerNav__black {
    padding-left: 3.7333333333vw;
    padding-right: 3.7333333333vw;
  }
}
.drawerNav__link {
  width: 100%;
  font-size: 1.09375vw;
  font-weight: bold;
  text-decoration: none;
  font-weight: bold;
  color: #000;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 800px) {
  .drawerNav__link {
    font-size: 3.7333333333vw;
  }
}
.drawerNav__link {
  padding-top: 1.25vw;
  padding-bottom: 1.25vw;
}
@media screen and (max-width: 800px) {
  .drawerNav__link {
    padding-top: 4.2666666667vw;
    padding-bottom: 4.2666666667vw;
  }
}
.drawerNav__link--contact {
  margin-top: 3.125vw;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 80%;
  color: #fff !important;
  font-family: "DaysOne-Regular";
  font-weight: 700;
  background: linear-gradient(83deg, #ff9408 11.35%, #ca3f16 34.54%, #95122c 65.46%, #100c08 88.65%);
  box-shadow: 0 0.625vw 1.25vw rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}
@media screen and (max-width: 800px) {
  .drawerNav__link--contact {
    margin-top: 10.6666666667vw;
  }
}
.drawerNav__link--contact {
  padding-top: 0.9375vw;
  padding-bottom: 0.9375vw;
}
@media screen and (max-width: 800px) {
  .drawerNav__link--contact {
    padding-top: 3.2vw;
    padding-bottom: 3.2vw;
  }
}
.drawerNav__link--contact {
  padding-left: 1.796875vw;
  padding-right: 1.796875vw;
}
@media screen and (max-width: 800px) {
  .drawerNav__link--contact {
    padding-left: 6.1333333333vw;
    padding-right: 6.1333333333vw;
  }
}
.drawerNav__link--contact {
  padding-top: 0.78125vw;
  padding-bottom: 0.78125vw;
}
@media screen and (max-width: 800px) {
  .drawerNav__link--contact {
    padding-top: 2.6666666667vw;
    padding-bottom: 2.6666666667vw;
  }
}
.drawerNav__link--contact {
  padding-left: 1.796875vw;
  padding-right: 1.796875vw;
}
@media screen and (max-width: 800px) {
  .drawerNav__link--contact {
    padding-left: 6.1333333333vw;
    padding-right: 6.1333333333vw;
  }
}
.drawerNav__link--contact:hover {
  background: #353535;
  box-shadow: 0 0.3125vw 0.625vw rgba(0, 0, 0, 0.2);
}
.drawerNav__link--download {
  margin-top: 1.25vw;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 80%;
  color: #353535 !important;
  font-family: "DaysOne-Regular";
  font-weight: 700;
  border: none;
  border-radius: 5px;
  background: white;
  border: solid 1px #353535;
  box-shadow: 0 0.625vw 1.25vw rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}
@media screen and (max-width: 800px) {
  .drawerNav__link--download {
    margin-top: 4.2666666667vw;
  }
}
.drawerNav__link--download {
  padding-top: 0.9375vw;
  padding-bottom: 0.9375vw;
}
@media screen and (max-width: 800px) {
  .drawerNav__link--download {
    padding-top: 3.2vw;
    padding-bottom: 3.2vw;
  }
}
.drawerNav__link--download {
  padding-left: 1.796875vw;
  padding-right: 1.796875vw;
}
@media screen and (max-width: 800px) {
  .drawerNav__link--download {
    padding-left: 6.1333333333vw;
    padding-right: 6.1333333333vw;
  }
}
.drawerNav__link--download:hover {
  box-shadow: 0 0.3125vw 0.625vw rgba(0, 0, 0, 0.2);
}
.drawerNav__button {
  display: inline-flex !important;
  margin-top: 1.875vw;
}
@media screen and (max-width: 800px) {
  .drawerNav__button {
    margin-top: 6.4vw;
  }
}
.drawerNav__campain {
  width: 100%;
  border: 1px solid #000;
  border-radius: 999px;
}

.drawer--left .drawer-nav {
  left: -100%;
}

.about {
  position: relative;
  min-height: 300vh;
  color: #000;
  width: 100%;
  margin-left: 0;
  margin-top: 180vh;
  z-index: 2;
}
.about__background {
  position: sticky;
  top: 0;
  height: 100vh;
  width: 100%;
  background-image: url("../images/about-img.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 1;
}
.about__fade-overlay {
  position: sticky;
  top: 0;
  height: 100vh;
  width: 100%;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.6) 100%), linear-gradient(246deg, #ff9408 -0.21%, #ca3f16 29.9%, #95122c 70.04%, #100c08 100.14%);
  opacity: 0;
  transition: opacity 0.3s ease-out;
  z-index: 1;
  margin-top: -100vh;
  pointer-events: none;
}
.about__content {
  position: relative;
  z-index: 2;
  margin-top: -100vh;
  overflow-y: scroll;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.about__content::-webkit-scrollbar {
  display: none;
}
.about__body {
  padding-top: 11.484375vw;
  padding-bottom: 11.484375vw;
}
.about__body {
  padding-left: 8.75vw;
  padding-right: 8.75vw;
}
@media screen and (max-width: 800px) {
  .about__body {
    padding-left: 29.8666666667vw;
    padding-right: 29.8666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .about__body {
    padding-top: 39.2vw;
  }
}
@media screen and (max-width: 800px) {
  .about__body {
    padding-bottom: 39.2vw;
  }
}
.about__text {
  margin: 0;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  color: inherit;
  line-height: 2;
  font-weight: 500;
  letter-spacing: 0.04em;
  font-size: 1.25vw;
  text-align: left;
}
@media screen and (max-width: 800px) {
  .about__text {
    font-size: 3.7333333333vw;
  }
}
.about__text-en {
  display: block;
  font-family: "DaysOne-Regular";
  margin-bottom: 1.5rem;
  letter-spacing: 0.04em;
  font-weight: 600;
  font-size: 1.875vw;
}
@media screen and (max-width: 800px) {
  .about__text-en {
    font-size: 4.2666666667vw;
  }
}
.about__text-accent {
  display: block;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  margin-bottom: 2.5rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  font-size: 3.125vw;
}
@media screen and (max-width: 800px) {
  .about__text-accent {
    font-size: 6.4vw;
  }
}
.about__char {
  display: inline-block;
  opacity: 0.3;
  will-change: opacity;
  transition: opacity 0.3s ease-out;
  font-size: inherit;
  font-weight: inherit;
  font-family: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  white-space: pre;
}
.about__more-btn {
  display: none;
}
@media screen and (max-width: 800px) {
  .about {
    width: 100%;
    margin-left: 0;
    margin-top: 180vh;
    min-height: 250vh;
  }
  .about__background {
    background-image: url("../images/about-img-sp.webp");
  }
  .about__fade-overlay {
    position: sticky;
    top: 0;
    height: 100vh;
    width: 100%;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.6) 100%), linear-gradient(246deg, #ff9408 -0.21%, #ca3f16 29.9%, #95122c 70.04%, #100c08 100.14%);
    opacity: 0;
    transition: opacity 0.3s ease-out;
    z-index: 1;
    margin-top: -100vh;
    pointer-events: none;
  }
  .about__body {
    width: 86%;
    margin: 0 auto;
    padding-top: 4.53125vw;
    padding-bottom: 4.53125vw;
  }
  .about__body {
    padding-left: 0vw;
    padding-right: 0vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .about__body {
    padding-left: 0vw;
    padding-right: 0vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .about__body {
    padding-top: 15.4666666667vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .about__body {
    padding-bottom: 15.4666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .about__text {
    position: relative;
    overflow-y: auto;
  }
  .about__text.is-collapsed {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 16;
    line-clamp: 16;
    overflow: hidden;
  }
  .about__more-btn {
    display: block;
    color: #353535;
    text-overflow: ellipsis;
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-size: 0.9375vw;
    margin-top: 0.625vw;
    font-style: normal;
    font-weight: 500;
    line-height: 1.8;
    transition: opacity 0.3s;
    background-color: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    margin: 0;
    text-align: left;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.3em;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .about__more-btn {
    font-size: 3.2vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .about__more-btn {
    margin-top: 2.1333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .about__more-btn:hover {
    opacity: 0.7;
  }
  .about__more-btn.is-hidden {
    display: none;
  }
  .about__text.is-expanded {
    max-height: none;
  }
  .about__text.is-expanded::after {
    display: none;
  }
}

.fv {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  color: #fff;
  overflow: hidden;
  z-index: 1;
}
.fv__content {
  position: relative;
  width: 100%;
  min-height: 100vh;
  background-image: linear-gradient(180deg, rgba(115, 115, 115, 0) 0%, rgba(115, 115, 115, 0) 50%, #737373 100%), url("../images/fv-img.webp");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-attachment: scroll;
}
@media screen and (max-width: 800px) {
  .fv__content {
    background-image: linear-gradient(180deg, rgba(115, 115, 115, 0) 0%, rgba(115, 115, 115, 0) 50%, #737373 100%), url("../images/fv-img-sp.webp");
  }
}
.fv__inner {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  text-align: left;
  pointer-events: none;
  opacity: 1;
}
.fv__title {
  margin: 0;
  text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 5.625vw;
  font-style: normal;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.04em;
  margin-bottom: 5vw;
}
@media screen and (max-width: 800px) {
  .fv__title {
    font-size: 8.5333333333vw;
  }
}
.fv__title {
  padding-left: 8.75vw;
  padding-right: 8.75vw;
}
@media screen and (max-width: 800px) {
  .fv__title {
    padding-left: 6.4vw;
    padding-right: 6.4vw;
  }
}
@media screen and (max-width: 800px) {
  .fv__title {
    margin-bottom: 33.0666666667vw;
  }
}
.fv__body {
  position: absolute;
  inset: 0;
  opacity: 0;
  display: flex;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  z-index: 1;
  padding-top: 4.6875vw;
  padding-bottom: 18.75vw;
  pointer-events: none;
  background-color: rgba(53, 53, 53, 0.3647058824);
}
.fv__body {
  padding-left: 8.75vw;
  padding-right: 8.75vw;
}
@media screen and (max-width: 800px) {
  .fv__body {
    padding-left: 6.4vw;
    padding-right: 6.4vw;
  }
}
@media screen and (max-width: 800px) {
  .fv__body {
    padding-top: 21.3333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .fv__body {
    padding-bottom: 58.6666666667vw;
  }
}
.fv__text {
  z-index: 1;
  position: relative;
  margin: 0;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  color: inherit;
  line-height: 2;
  font-weight: 500;
  letter-spacing: 0.04em;
  font-size: 1.25vw;
  text-align: left;
}
@media screen and (max-width: 800px) {
  .fv__text {
    font-size: 3.7333333333vw;
  }
}
.fv__text-en {
  display: block;
  font-family: "DaysOne-Regular";
  margin-bottom: 1.5rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  font-size: 1.875vw;
}
@media screen and (max-width: 800px) {
  .fv__text-en {
    font-size: 4.2666666667vw;
  }
}
.fv__text-accent {
  display: block;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  margin-bottom: 2.5rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.04em;
  font-size: 3.125vw;
}
@media screen and (max-width: 800px) {
  .fv__text-accent {
    font-size: 6.4vw;
  }
}
.fv__char {
  display: inline-block;
  opacity: 0.3;
  will-change: opacity;
  transition: opacity 0.3s ease-out;
  font-size: inherit;
  font-weight: inherit;
  font-family: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  white-space: pre;
}
@media screen and (max-width: 800px) {
  .fv__content {
    background-size: cover;
    background-position: center center;
  }
}

.sp-only {
  display: none;
}
@media screen and (max-width: 800px) {
  .sp-only {
    display: block;
  }
}

.news {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 100%;
  background-color: #1C1C1C;
  padding-top: 5vw;
  padding-bottom: 7.5vw;
}
@media screen and (max-width: 800px) {
  .news {
    padding-top: 14.9333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .news {
    padding-bottom: 14.9333333333vw;
  }
}
.news::before {
  content: "";
  position: absolute;
  right: 0;
  top: -13%;
  width: 14.765625vw;
  height: 10.546875vw;
  background: center right/contain no-repeat url(../images/news-top-img.webp);
  z-index: 2;
}
@media screen and (max-width: 800px) {
  .news::before {
    width: 36.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .news::before {
    height: 26.1333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .news::before {
    top: -21vw;
  }
}
.news__inner {
  position: relative;
  width: 87.578125vw;
  display: flex;
  align-items: start;
  justify-content: start;
  flex-direction: column;
}
@media screen and (max-width: 800px) {
  .news__inner {
    width: 91.4666666667vw;
  }
}
.news__categories {
  display: none;
}
.news__title {
  display: flex;
  align-items: start;
  justify-content: start;
  flex-direction: column;
}
.news__title__name {
  font-size: 6.25vw;
  font-weight: 700;
  color: #fff;
  font-family: "Circular", sans-serif;
}
@media screen and (max-width: 800px) {
  .news__title__name {
    font-size: 14.9333333333vw;
  }
}
.news__title__subtitle {
  position: relative;
  font-size: 1.25vw;
  padding-left: 1.484375vw;
  font-weight: 700;
  color: #fff;
}
@media screen and (max-width: 800px) {
  .news__title__subtitle {
    font-size: 3.7333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .news__title__subtitle {
    padding-left: 5.0666666667vw;
  }
}
.news__title__subtitle::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 0.859375vw;
  height: 1px;
  background-color: #fff;
}
@media screen and (max-width: 800px) {
  .news__title__subtitle::before {
    width: 2.9333333333vw;
  }
}
.news__btn {
  position: absolute;
  right: 0;
  top: 9vw;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1019607843);
  padding-bottom: 1.5625vw;
}
@media screen and (max-width: 800px) {
  .news__btn {
    padding-bottom: 2.1333333333vw;
  }
}
.news__btn p {
  font-size: 1.25vw;
  font-weight: 700;
  color: #fff;
}
@media screen and (max-width: 800px) {
  .news__btn p {
    font-size: 3.7333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .news__btn {
    top: auto;
    bottom: 0;
  }
  .news__btn .btn01 {
    gap: 0.9375vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .news__btn .btn01 {
    gap: 3.2vw;
  }
}
@media screen and (max-width: 800px) {
  .news__btn .btn01 img {
    width: 1.953125vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .news__btn .btn01 img {
    width: 6.6666666667vw;
  }
}
.news__list {
  display: flex;
  align-items: start;
  justify-content: start;
  padding-top: 4.0625vw;
  gap: 3.125vw;
}
@media screen and (max-width: 800px) {
  .news__list {
    padding-top: 10.6666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .news__list {
    gap: 10.6666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .news__list {
    flex-direction: column;
    padding-bottom: 7.03125vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .news__list {
    padding-bottom: 24vw;
  }
}
.news__list-item {
  display: flex;
  align-items: start;
  justify-content: start;
  flex-direction: column;
  width: 27.109375vw;
}
@media screen and (max-width: 800px) {
  .news__list-item {
    width: 91.2vw;
  }
}
.news__list-item__img {
  width: 100%;
  height: 27.109375vw;
  overflow: hidden;
}
@media screen and (max-width: 800px) {
  .news__list-item__img {
    height: 91.2vw;
  }
}
.news__list-item__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  transition: transform 0.3s ease;
}
.news__list-item__details {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding-top: 1.25vw;
}
@media screen and (max-width: 800px) {
  .news__list-item__details {
    padding-top: 4.2666666667vw;
  }
}
.news__list-item__details-date {
  font-size: 1.25vw;
  font-weight: 500;
  color: #fff;
  opacity: 0.4;
}
@media screen and (max-width: 800px) {
  .news__list-item__details-date {
    font-size: 4.2666666667vw;
  }
}
.news__list-item__details-category {
  font-size: 0.9375vw;
  font-weight: 400;
  color: #000;
  background-color: #fff;
  border-radius: 60px;
}
@media screen and (max-width: 800px) {
  .news__list-item__details-category {
    font-size: 3.2vw;
  }
}
.news__list-item__details-category {
  padding-top: 0.546875vw;
  padding-bottom: 0.546875vw;
}
@media screen and (max-width: 800px) {
  .news__list-item__details-category {
    padding-top: 1.8666666667vw;
    padding-bottom: 1.8666666667vw;
  }
}
.news__list-item__details-category {
  padding-left: 1.875vw;
  padding-right: 1.875vw;
}
@media screen and (max-width: 800px) {
  .news__list-item__details-category {
    padding-left: 6.4vw;
    padding-right: 6.4vw;
  }
}
.news__list-item__title {
  width: 100%;
  padding-top: 1.25vw;
}
@media screen and (max-width: 800px) {
  .news__list-item__title {
    padding-top: 4.2666666667vw;
  }
}
.news__list-item__title-text {
  width: 100%;
  font-size: 1.25vw;
  font-weight: 500;
  color: #fff;
}
@media screen and (max-width: 800px) {
  .news__list-item__title-text {
    font-size: 4.2666666667vw;
  }
}
.news__list-item__not-found {
  font-size: 1.25vw;
  font-weight: 500;
  color: #fff;
}
@media screen and (max-width: 800px) {
  .news__list-item__not-found {
    font-size: 4.2666666667vw;
  }
}
.news__list-item:hover .news__list-item__img img {
  transform: scale(1.1);
}
.news__pagination {
  display: none;
}

.page-news .news {
  background: none;
  padding-top: 4.375vw;
  padding-bottom: 8.75vw;
}
@media screen and (max-width: 800px) {
  .page-news .news {
    padding-top: 8.8vw;
  }
}
@media screen and (max-width: 800px) {
  .page-news .news {
    padding-bottom: 21.3333333333vw;
  }
}
.page-news .news::before {
  display: none;
}
.page-news .news__title {
  display: none;
}
.page-news .news__btn {
  display: none;
}
.page-news .news__categories {
  display: flex;
  align-items: center;
  justify-content: start;
  gap: 20px;
}
.page-news .news__categories span {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 1.40625vw;
  width: 2px;
  background-color: #000000;
}
@media screen and (max-width: 800px) {
  .page-news .news__categories span {
    height: 4.8vw;
  }
}
.page-news .news__categories-item {
  font-size: 0.9375vw;
  font-weight: 400;
  color: #000000;
}
@media screen and (max-width: 800px) {
  .page-news .news__categories-item {
    font-size: 3.2vw;
  }
}
.page-news .news__list {
  flex-wrap: wrap;
  row-gap: 4.375vw;
  -moz-column-gap: 3.125vw;
       column-gap: 3.125vw;
  padding-top: 4.375vw;
  padding-bottom: 0vw;
}
@media screen and (max-width: 800px) {
  .page-news .news__list {
    row-gap: 14.9333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .page-news .news__list {
    -moz-column-gap: 10.6666666667vw;
         column-gap: 10.6666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .page-news .news__list {
    padding-top: 10.6666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .page-news .news__list {
    padding-bottom: 19.2vw;
  }
}
.page-news .news__list-item__details-date {
  color: rgba(0, 0, 0, 0.4);
}
.page-news .news__list-item__details-category {
  background-color: #D93924;
  color: #fff;
}
.page-news .news__list-item__title-text {
  color: #000;
}
.page-news .news__pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding-top: 4.375vw;
}
@media screen and (max-width: 800px) {
  .page-news .news__pagination {
    padding-top: 0vw;
  }
}
.page-news .news__pagination ul {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.25vw;
}
@media screen and (max-width: 800px) {
  .page-news .news__pagination ul {
    gap: 4.2666666667vw;
  }
}
.page-news .news__pagination ul li {
  display: flex;
  align-items: center;
  justify-content: center;
}
.page-news .news__pagination ul li a, .page-news .news__pagination ul li span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.359375vw;
  height: 3.359375vw;
  border-radius: 50%;
  border: 1px solid #D93924;
  color: #D93924;
  font-size: 1.25vw;
  font-weight: 500;
  font-family: "Circular", sans-serif;
}
@media screen and (max-width: 800px) {
  .page-news .news__pagination ul li a, .page-news .news__pagination ul li span {
    width: 8.5333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .page-news .news__pagination ul li a, .page-news .news__pagination ul li span {
    height: 8.5333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .page-news .news__pagination ul li a, .page-news .news__pagination ul li span {
    font-size: 3.2vw;
  }
}
.page-news .news__pagination ul li a.current, .page-news .news__pagination ul li span.current {
  background-color: #D93924;
  color: #fff;
}
.page-news .news__pagination ul li a img, .page-news .news__pagination ul li span img {
  width: 0.9375vw;
  height: auto;
}
@media screen and (max-width: 800px) {
  .page-news .news__pagination ul li a img, .page-news .news__pagination ul li span img {
    width: 2.6666666667vw;
  }
}

body {
  overflow: hidden;
}
body.is-sub-active {
  overflow: auto;
}
body.is-active {
  animation: body 1s ease-in-out forwards;
}

.main {
  transition: opacity 0.8s ease-in-out;
}

body:not(.is-content-visible) .header,
body:not(.is-content-visible) .main {
  opacity: 0 !important;
}

body.is-content-visible .header,
body.is-content-visible .main {
  opacity: 1 !important;
}

.loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 99999;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}
.loading__media {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.loading__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  opacity: 1;
  transition: opacity 0.8s ease-in-out;
}
.loading__image img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.loading__video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: 1;
  transition: opacity 0.9s ease;
}
.loading__video-media {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.loading.is-active {
  animation: visibility 1s ease forwards;
}
.loading.is-active .loading__video {
  opacity: 0;
}

.loading-blur {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  backdrop-filter: blur(0px);
  -webkit-backdrop-filter: blur(0px);
  opacity: 0;
  pointer-events: none;
  z-index: 1;
  will-change: filter, opacity;
}
.loading-blur.is-active {
  animation: blurFade 0.8s ease-in-out forwards;
}

.loading__logo {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 43.75vw;
  padding: 24px;
  opacity: 0;
}
@media screen and (max-width: 800px) {
  .loading__logo {
    width: 64vw;
  }
}
.loading__logo img {
  width: 100%;
  height: auto;
  display: block;
}

.loading.is-logo-visible .loading__logo {
  animation: logoFade 1.4s ease forwards 0.2s;
}

.loading.is-logo-visible.is-video-ready .loading__logo {
  animation: logoFadeOut 0.6s ease forwards;
}

.loading.is-video-ready .loading__image {
  opacity: 0;
}

@keyframes visibility {
  0% {
    visibility: visible;
    opacity: 1;
  }
  100% {
    visibility: hidden;
    opacity: 0;
  }
}
@keyframes body {
  0% {
    overflow: hidden;
  }
  99% {
    overflow: hidden;
  }
  100% {
    overflow: auto;
  }
}
@keyframes blurFade {
  0% {
    backdrop-filter: blur(0px);
    -webkit-backdrop-filter: blur(0px);
    opacity: 0;
  }
  100% {
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    opacity: 1;
  }
}
@keyframes logoFade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes logoFadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.single-post {
  position: relative;
  width: 100%;
  padding-top: 11.25vw;
  z-index: 1;
}
@media screen and (max-width: 800px) {
  .single-post {
    padding-top: 30.4vw;
  }
}
.single-post__img01 {
  position: absolute;
  top: 0;
  left: 0;
  width: 20.3125vw;
  height: auto;
  z-index: -1;
}
@media screen and (max-width: 800px) {
  .single-post__img01 {
    width: 68vw;
  }
}
.single-post__img02 {
  position: absolute;
  top: 0;
  right: 0;
  margin-top: 13.90625vw;
  width: 20.3125vw;
  height: auto;
  z-index: -1;
}
@media screen and (max-width: 800px) {
  .single-post__img02 {
    margin-top: 47.4666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .single-post__img02 {
    width: 68vw;
  }
}
@media screen and (max-width: 800px) {
  .single-post__img02 {
    display: none;
  }
}
.single-post__inner {
  width: 78.125vw;
  margin: 0 auto;
}
@media screen and (max-width: 800px) {
  .single-post__inner {
    width: 80vw;
  }
}
.single-post__meta {
  display: flex;
  align-items: center;
  justify-content: start;
  gap: 1.25vw;
  margin-bottom: 1.25vw;
}
@media screen and (max-width: 800px) {
  .single-post__meta {
    gap: 2.1333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .single-post__meta {
    margin-bottom: 7.2vw;
  }
}
.single-post__date {
  color: rgba(0, 0, 0, 0.4);
  font-size: 1.25vw;
}
@media screen and (max-width: 800px) {
  .single-post__date {
    font-size: 4.2666666667vw;
  }
}
.single-post__category {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.46875vw;
}
@media screen and (max-width: 800px) {
  .single-post__category {
    gap: 1.6vw;
  }
}
.single-post__category-item {
  background: #d93924;
  border-radius: 60px;
  font-size: 0.9375vw;
  color: #fff;
}
.single-post__category-item {
  padding-left: 1.875vw;
  padding-right: 1.875vw;
}
@media screen and (max-width: 800px) {
  .single-post__category-item {
    padding-left: 6.4vw;
    padding-right: 6.4vw;
  }
}
.single-post__category-item {
  padding-top: 0.546875vw;
  padding-bottom: 0.546875vw;
}
@media screen and (max-width: 800px) {
  .single-post__category-item {
    padding-top: 1.8666666667vw;
    padding-bottom: 1.8666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .single-post__category-item {
    font-size: 3.2vw;
  }
}
.single-post__title {
  position: relative;
  font-size: 2.5vw;
  font-weight: 700;
  padding-bottom: 3.75vw;
  margin-bottom: 4.375vw;
  line-height: 1.4;
}
@media screen and (max-width: 800px) {
  .single-post__title {
    font-size: 5.3333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .single-post__title {
    padding-bottom: 10.6666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .single-post__title {
    margin-bottom: 10.6666666667vw;
  }
}
.single-post__title::before {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  transform: none;
  width: 100%;
  height: 1px;
  background: rgba(0, 0, 0, 0.1019607843);
}
.single-post__content {
  width: 52.34375vw;
  margin: 0 auto;
}
@media screen and (max-width: 800px) {
  .single-post__content {
    width: 80vw;
  }
}
.single-post__body * {
  font-size: 1.25vw;
}
@media screen and (max-width: 800px) {
  .single-post__body * {
    font-size: 4.2666666667vw;
  }
}
.single-post__body p {
  margin-bottom: 2.5vw;
}
@media screen and (max-width: 800px) {
  .single-post__body p {
    margin-bottom: 10.6666666667vw;
  }
}
.single-post__body img {
  max-width: 100%;
  height: auto;
  margin-bottom: 2.5vw;
}
@media screen and (max-width: 800px) {
  .single-post__body img {
    margin-bottom: 10.6666666667vw;
  }
}
.single-post__body h2 {
  font-weight: 700;
  margin-bottom: 2.5vw;
}
@media screen and (max-width: 800px) {
  .single-post__body h2 {
    margin-bottom: 10.6666666667vw;
  }
}
.single-post__body h3 {
  font-weight: 700;
  margin-bottom: 2.5vw;
}
@media screen and (max-width: 800px) {
  .single-post__body h3 {
    margin-bottom: 10.6666666667vw;
  }
}
.single-post__body ul,
.single-post__body ol {
  margin-bottom: 2.5vw;
}
@media screen and (max-width: 800px) {
  .single-post__body ul,
  .single-post__body ol {
    margin-bottom: 10.6666666667vw;
  }
}
.single-post__body li {
  margin-bottom: 2.5vw;
}
@media screen and (max-width: 800px) {
  .single-post__body li {
    margin-bottom: 10.6666666667vw;
  }
}
.single-post__back {
  display: flex;
  justify-content: center;
  align-items: center;
}
.single-post__back {
  padding-top: 6.25vw;
  padding-bottom: 6.25vw;
}
@media screen and (max-width: 800px) {
  .single-post__back {
    padding-top: 17.0666666667vw;
    padding-bottom: 17.0666666667vw;
  }
}
.single-post__back-btn {
  display: inline-block;
  background: #d93924;
  color: #fff;
  border-radius: 7px;
  font-size: 1.25vw;
  font-weight: 700;
  transition: opacity 0.3s;
}
.single-post__back-btn {
  padding-left: 4.84375vw;
  padding-right: 4.84375vw;
}
@media screen and (max-width: 800px) {
  .single-post__back-btn {
    padding-left: 16.5333333333vw;
    padding-right: 16.5333333333vw;
  }
}
.single-post__back-btn {
  padding-top: 1.015625vw;
  padding-bottom: 1.015625vw;
}
@media screen and (max-width: 800px) {
  .single-post__back-btn {
    padding-top: 3.4666666667vw;
    padding-bottom: 3.4666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .single-post__back-btn {
    font-size: 4.2666666667vw;
  }
}
.single-post__back-btn:hover {
  opacity: 0.8;
}

.service {
  width: 100%;
  min-height: 100vh;
  position: relative;
  overflow: hidden;
}
.service.is-sticky {
  overflow: visible;
  height: var(--service-scroll-height, 100vh);
}
.service.is-sticky .container {
  position: sticky;
  top: 0;
  height: 100vh;
}
.service.is-sticky .left-section {
  overflow-y: hidden;
}
@media screen and (max-width: 768px) {
  .service.is-sticky {
    overflow: visible;
    height: var(--service-scroll-height, 100vh);
  }
  .service.is-sticky .container {
    position: sticky;
    top: 0;
    height: 100vh;
  }
  .service.is-sticky .left-section {
    overflow-y: hidden;
  }
}
.service .container {
  display: flex;
  height: 100vh;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .service .container {
    flex-direction: column;
    height: 100vh;
    min-height: 100vh;
    gap: 0;
  }
}
.service .left-section {
  width: 60%;
  height: 100vh;
  overflow-y: scroll;
  scroll-snap-type: y mandatory;
  scrollbar-width: none;
}
@media screen and (max-width: 768px) {
  .service .left-section {
    width: 100%;
    flex: 0 0 40vh;
    height: 40vh;
    order: 1;
    overflow-y: hidden;
    padding: 0;
  }
}
.service .left-section::-webkit-scrollbar {
  display: none;
}
.service .image-panel {
  width: 100%;
  height: 100vh;
  scroll-snap-align: start;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
}
@media screen and (max-width: 768px) {
  .service .image-panel {
    height: 100%;
    padding: 0;
  }
}
.service .image-panel img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .service .image-panel img {
    width: 100%;
    height: 100%;
  }
}
.service .right-section {
  width: 40%;
  height: 100vh;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.6) 100%), linear-gradient(246deg, #ff9408 -0.21%, #ca3f16 29.9%, #95122c 70.04%, #100c08 100.14%);
  position: relative;
  overflow: hidden;
  padding-top: 5.46875vw;
  padding-bottom: 3.75vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
}
@media screen and (max-width: 800px) {
  .service .right-section {
    padding-top: 10.6666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .service .right-section {
    padding-bottom: 10.6666666667vw;
  }
}
.service .right-section {
  padding-left: 2.8125vw;
  padding-right: 2.8125vw;
}
@media screen and (max-width: 800px) {
  .service .right-section {
    padding-left: 5.3333333333vw;
    padding-right: 5.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .service .right-section {
    width: 100%;
    flex: 0 0 60vh;
    height: 60vh;
    padding: 32px 20px 44px;
    order: 2;
    overflow: visible;
    justify-content: flex-start;
  }
}
.service .content-wrapper {
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: space-between;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .service .content-wrapper {
    justify-content: flex-start;
    overflow: visible;
  }
}
.service .content-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
}
.service .service-label {
  color: #fff;
  font-family: "DaysOne-Regular";
  font-size: 1.875vw;
  font-style: normal;
  font-weight: 600;
  line-height: 1.5;
}
@media screen and (max-width: 800px) {
  .service .service-label {
    font-size: 3.7333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .service .service-label {
    letter-spacing: 0.12em;
  }
}
.service .number-container {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}
@media screen and (max-width: 768px) {
  .service .number-container {
    gap: 10px;
  }
}
.service .number-track {
  position: relative;
  height: 120px;
  min-width: 170px;
  width: min(14vw, 220px);
  overflow: hidden;
  padding-right: 10px;
}
@media screen and (max-width: 768px) {
  .service .number-track {
    height: 80px;
    min-width: 110px;
    width: auto;
    padding-right: 0;
  }
}
.service .number {
  position: absolute;
  font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  top: 0;
  left: 0;
  font-size: 8.75vw;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.2);
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.6s;
  transform: translateY(100%);
  opacity: 0;
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  line-height: 0.9;
  z-index: 1;
}
@media screen and (max-width: 800px) {
  .service .number {
    font-size: 17.0666666667vw;
  }
}
.service .number.exit-up {
  transform: translateY(-100%);
  opacity: 0;
}
.service .number.exit-down {
  transform: translateY(100%);
  opacity: 0;
}
.service .number.active {
  transform: translateY(0);
  opacity: 1;
}
.service .number.enter-down {
  transform: translateY(100%);
  opacity: 0;
}
.service .number.enter-up {
  transform: translateY(-100%);
  opacity: 0;
}
.service .page-count {
  color: #fff;
  font-size: 2.5vw;
  font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  line-height: 1.5;
  opacity: 0.2;
}
@media screen and (max-width: 800px) {
  .service .page-count {
    font-size: 4.8vw;
  }
}
@media screen and (max-width: 768px) {
  .service .page-count {
    font-size: 14px;
    padding-top: 6px;
  }
}
.service .service-text {
  position: relative;
  margin-top: 5.46875vw;
  padding-top: 7.1875vw;
}
@media screen and (max-width: 800px) {
  .service .service-text {
    margin-top: 42.6666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .service .service-text {
    padding-top: 19.2vw;
  }
}
@media screen and (max-width: 768px) {
  .service .service-text {
    display: flex;
    flex-direction: column;
    margin-top: 0;
    padding-top: 0;
    gap: 16px;
  }
}
.service .title-container {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4.6875vw;
  overflow: hidden;
}
@media screen and (max-width: 800px) {
  .service .title-container {
    height: 13.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .service .title-container {
    position: relative;
    height: 48px;
    min-height: 48px;
  }
}
.service .title {
  position: absolute;
  font-size: 2.5vw;
  font-weight: 700;
  color: #fff;
  text-transform: uppercase;
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.6s;
  transform: translateY(100%);
  opacity: 0;
}
@media screen and (max-width: 800px) {
  .service .title {
    font-size: 6.4vw;
  }
}
.service .title.exit-up {
  transform: translateY(-100%);
  opacity: 0;
}
.service .title.exit-down {
  transform: translateY(100%);
  opacity: 0;
}
.service .title.active {
  transform: translateY(0);
  opacity: 1;
}
.service .title.enter-down {
  transform: translateY(100%);
  opacity: 0;
}
.service .title.enter-up {
  transform: translateY(-100%);
  opacity: 0;
}
.service .description-container {
  position: relative;
  overflow: hidden;
  transition: height 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}
@media screen and (max-width: 768px) {
  .service .description-container {
    padding-right: 8px;
  }
}
.service .description {
  position: absolute;
  font-size: 14px;
  line-height: 2;
  color: rgba(255, 255, 255, 0.6);
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.6s;
  transform: translateY(100%);
  opacity: 0;
}
@media screen and (max-width: 768px) {
  .service .description {
    font-size: 13px;
    line-height: 1.8;
  }
}
.service .description.exit-up {
  transform: translateY(-100%);
  opacity: 0;
}
.service .description.exit-down {
  transform: translateY(100%);
  opacity: 0;
}
.service .description.active {
  transform: translateY(0);
  opacity: 1;
}
.service .description.enter-down {
  transform: translateY(100%);
  opacity: 0;
}
.service .description.enter-up {
  transform: translateY(-100%);
  opacity: 0;
}
.service .content-footer {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  border-bottom: 2px solid rgba(255, 255, 255, 0.12);
  padding-bottom: 16px;
  justify-content: space-between;
}
@media screen and (max-width: 800px) {
  .service .content-footer {
    gap: 16px;
    margin-top: 12px;
  }
}
.service .content-footer img {
  margin-right: 0.625vw;
}
@media screen and (max-width: 800px) {
  .service .content-footer img {
    margin-right: 2.1333333333vw;
  }
}
.service .content-footer.is-hidden {
  display: none;
}
.service .view-more {
  color: #fff;
  font-family: "Yu Gothic", sans-serif;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  font-weight: 700;
  font-size: 1.09375vw;
  opacity: 0.5;
  transition: opacity 0.3s;
}
@media screen and (max-width: 800px) {
  .service .view-more {
    font-size: 3.2vw;
  }
}
.service .view-more:hover {
  opacity: 1;
}

.company {
  color: #353535;
}
.company__visual {
  width: 100%;
  margin-left: 0;
  overflow: hidden;
  background-color: #111;
  position: relative;
}
.company__visual::before {
  display: block;
  content: "";
  padding-top: 56.25%;
}
.company__visual > * {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.company__inner {
  width: min(1200px, 92vw);
  margin: 0 auto;
  padding-top: 10.9375vw;
  padding-bottom: 10.9375vw;
}
@media screen and (max-width: 800px) {
  .company__inner {
    padding-top: 21.3333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .company__inner {
    padding-bottom: 21.3333333333vw;
  }
}
.company__content {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: clamp(32px, 5vw, 120px);
}
.company__header {
  flex: 0 0 clamp(200px, 24vw, 280px);
}
@media screen and (max-width: 800px) {
  .company__header {
    flex: 0;
    margin-left: 0.625vw;
    margin-right: 0.625vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .company__header {
    margin-left: 2.1333333333vw;
    margin-right: 2.1333333333vw;
  }
}
.company__label {
  display: block;
  margin-bottom: 1.25vw;
  font-family: "DaysOne-Regular";
  color: #353535;
  font-size: 1.875vw;
  font-weight: 600;
  line-height: normal;
}
@media screen and (max-width: 800px) {
  .company__label {
    margin-bottom: 2.1333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .company__label {
    font-size: 3.7333333333vw;
  }
}
.company__title {
  margin: 0;
  font-family: YuGothic, "Yu Gothic", sans-serif;
  font-weight: 700;
  line-height: 1.5;
  font-size: 3.125vw;
}
@media screen and (max-width: 800px) {
  .company__title {
    font-size: 8.5333333333vw;
  }
}
.company__details {
  flex: 1 1 auto;
  margin: 0;
}
@media screen and (max-width: 800px) {
  .company__details {
    flex: 0;
    margin-left: 0.625vw;
    margin-right: 0.625vw;
    width: 95%;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .company__details {
    margin-left: 2.1333333333vw;
    margin-right: 2.1333333333vw;
  }
}
.company__row {
  display: grid;
  grid-template-columns: minmax(160px, 220px) 1fr;
  gap: clamp(24px, 3vw, 72px);
  padding: clamp(28px, 3vw, 48px) 0;
  border-top: 1px solid rgba(28, 28, 28, 0.12);
}
.company__row:last-child {
  border-bottom: 1px solid rgba(28, 28, 28, 0.12);
}
.company__term {
  margin: 0;
  line-height: 1.5;
  font-weight: 700;
  font-size: 1.25vw;
}
@media screen and (max-width: 800px) {
  .company__term {
    font-size: 3.7333333333vw;
  }
}
.company__description {
  margin: 0;
  line-height: 1.5;
  font-weight: 400;
  font-size: 1.25vw;
}
@media screen and (max-width: 800px) {
  .company__description {
    font-size: 3.7333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .company__content {
    flex-direction: column;
    gap: 40px;
  }
  .company__header {
    width: 100%;
  }
  .company__row {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
@media screen and (max-width: 480px) {
  .company__inner {
    width: 92vw;
    padding: 72px 0;
  }
  .company__label {
    margin-bottom: 0.75rem;
  }
  .company__title {
    font-size: 2.8125vw;
  }
}
@media screen and (max-width: 480px) and (max-width: 800px) {
  .company__title {
    font-size: 7.4666666667vw;
  }
}
@media screen and (max-width: 480px) {
  .company__row {
    padding: 20px 0;
  }
}

.contact {
  width: 100%;
  margin-bottom: 5vw;
  position: relative;
  z-index: 101;
}
@media screen and (max-width: 800px) {
  .contact {
    margin-bottom: 12.8vw;
  }
}
.contact-inner {
  display: flex;
  align-items: center;
  width: 75%;
  color: #fff;
  background-color: #383838;
  background-image: url("../images/contact-img.webp");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-attachment: scroll;
}
.contact-inner {
  padding-left: 8.75vw;
  padding-right: 8.75vw;
}
@media screen and (max-width: 800px) {
  .contact-inner {
    padding-left: 5.3333333333vw;
    padding-right: 5.3333333333vw;
  }
}
.contact-inner {
  padding-top: 5vw;
  padding-bottom: 5vw;
}
@media screen and (max-width: 800px) {
  .contact-inner {
    padding-top: 5.3333333333vw;
    padding-bottom: 5.3333333333vw;
  }
}
.contact-content {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 3vw, 32px);
  width: 100%;
}
.contact-title {
  display: flex;
  flex-direction: column;
}
.contact-title h2 {
  font-size: 1.5625vw;
  margin-bottom: 1.25vw;
  font-weight: 600;
  color: inherit;
}
@media screen and (max-width: 800px) {
  .contact-title h2 {
    font-size: 3.7333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .contact-title h2 {
    margin-bottom: 2.1333333333vw;
  }
}
.contact-title p {
  font-size: 5.625vw;
  font-weight: 700;
  line-height: 1.1;
  color: inherit;
  font-family: "DaysOne-Regular";
}
@media screen and (max-width: 800px) {
  .contact-title p {
    font-size: 8.5333333333vw;
  }
}
.contact-text {
  font-size: 1.25vw;
  line-height: 1.5;
  color: inherit;
}
@media screen and (max-width: 800px) {
  .contact-text {
    font-size: 2.6666666667vw;
  }
}
.contact-button {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.contact-button .btn01 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 5vw;
  height: 5vw;
  aspect-ratio: 1/1;
  background-color: #fff;
  transition: background-color 0.3s ease, transform 0.3s ease;
}
@media screen and (max-width: 800px) {
  .contact-button .btn01 {
    width: 8.5333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .contact-button .btn01 {
    height: 8.5333333333vw;
  }
}
.contact-button .btn01 img {
  width: clamp(20px, 2.5vw, 28px);
  height: auto;
}
.contact-button .btn01:hover {
  background-color: #ffffff;
  transform: translateX(4px);
}
@media screen and (max-width: 800px) {
  .contact-inner {
    width: 85%;
    gap: clamp(20px, 6vw, 32px);
  }
  .contact-inner {
    padding-left: 1.875vw;
    padding-right: 1.875vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .contact-inner {
    padding-left: 4.2666666667vw;
    padding-right: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .contact-button {
    align-self: flex-end;
  }
}

.header {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 130;
  background-color: transparent;
  transition: background-color 0.3s ease, opacity 0.8s ease-in-out;
}
.header--news .header__left__navtext {
  color: white;
}
.header--news .header__right__navtext--contact {
  color: #fff;
}
.header--news .header__right__navtext--demo {
  color: #fff;
}
.header--news .header__logo img {
  filter: brightness(0) invert(1);
  transition: filter 0.3s ease;
}
.header--default .header__left__navtext {
  color: black;
}
.header--scrolled {
  background-color: rgba(255, 255, 255, 0.5);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.header--scrolled .header__left__navtext {
  color: #333;
}
.header--scrolled .header__logo img {
  filter: none;
}
.header__inner {
  position: relative;
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 95%;
}
.header__inner {
  padding-left: 1.25vw;
  padding-right: 1.25vw;
}
@media screen and (max-width: 800px) {
  .header__inner {
    padding-left: 0vw;
    padding-right: 0vw;
  }
}
.header__inner {
  padding-top: 1.5625vw;
  padding-bottom: 1.5625vw;
}
@media screen and (max-width: 800px) {
  .header__inner {
    padding-top: 3.2vw;
    padding-bottom: 3.2vw;
  }
}
@media screen and (max-width: 800px) {
  .header__inner {
    z-index: 8;
    padding-left: 1.25vw;
    width: 100%;
    border: none;
    background-color: transparent;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .header__inner {
    padding-left: 4.2666666667vw;
  }
}
.header__nav-group {
  display: flex;
  align-items: center;
  gap: 2.8125vw;
}
@media screen and (max-width: 800px) {
  .header__nav-group {
    display: none;
  }
}
.header__logo {
  display: flex;
  align-items: center;
}
.header__logoImg {
  height: 2.5vw;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 800px) {
  .header__logoImg {
    height: 5.3333333333vw;
  }
}
.header__left {
  display: flex;
  align-items: center;
  border: 1px solid #fff;
  border-radius: 0.390625vw;
}
@media screen and (max-width: 800px) {
  .header__left {
    width: auto;
    display: none;
  }
}
.header__left--page {
  border: none;
}
.header__left__nav {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2.5vw;
}
.header__left__nav li {
  display: flex;
  justify-content: center;
  align-items: center;
}
.header__left__nav li a {
  transition: all ease-in 0.25s;
  cursor: pointer;
}
.header__left__nav li a:hover {
  opacity: 0.5;
}
@media screen and (max-width: 800px) {
  .header__left__nav {
    display: none;
  }
}
.header__left__navtext {
  color: #000;
  font-size: 1.09375vw;
  font-family: "DaysOne-Regular";
  font-weight: 600;
}
@media screen and (max-width: 800px) {
  .header__left__navtext {
    font-size: 3.7333333333vw;
  }
}
.header__right {
  display: flex;
  align-items: center;
  border: 1px solid #fff;
  border-radius: 0.390625vw;
}
@media screen and (max-width: 800px) {
  .header__right {
    width: auto;
    display: none;
  }
}
.header__right--page {
  border: none;
}
.header__right__nav {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2.5vw;
}
.header__right__nav li {
  display: flex;
  justify-content: center;
  align-items: center;
}
.header__right__nav li a {
  transition: all 0.3s ease;
  cursor: pointer;
}
@media screen and (max-width: 800px) {
  .header__right__nav {
    display: none;
  }
}
.header__right__navtext {
  font-size: 1.09375vw;
  font-family: "DaysOne-Regular";
  font-weight: 600;
  min-width: 7.8125vw;
}
@media screen and (max-width: 800px) {
  .header__right__navtext {
    font-size: 3.7333333333vw;
  }
}
.header__right__navtext--contact {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  background: linear-gradient(83deg, #ff9408 11.35%, #ca3f16 34.54%, #95122c 65.46%, #100c08 88.65%);
  box-shadow: 0 0.625vw 1.25vw rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}
.header__right__navtext--contact {
  padding-top: 0.78125vw;
  padding-bottom: 0.78125vw;
}
@media screen and (max-width: 800px) {
  .header__right__navtext--contact {
    padding-top: 2.6666666667vw;
    padding-bottom: 2.6666666667vw;
  }
}
.header__right__navtext--contact {
  padding-left: 1.796875vw;
  padding-right: 1.796875vw;
}
@media screen and (max-width: 800px) {
  .header__right__navtext--contact {
    padding-left: 6.1333333333vw;
    padding-right: 6.1333333333vw;
  }
}
.header__right__navtext--contact:hover {
  box-shadow: 0 0.3125vw 0.625vw rgba(0, 0, 0, 0.2);
}
.header__right__navtext--download {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #353535;
  border: solid 1px #353535;
  box-shadow: 0 0.625vw 1.25vw rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}
.header__right__navtext--download {
  padding-top: 0.78125vw;
  padding-bottom: 0.78125vw;
}
@media screen and (max-width: 800px) {
  .header__right__navtext--download {
    padding-top: 2.6666666667vw;
    padding-bottom: 2.6666666667vw;
  }
}
.header__right__navtext--download {
  padding-left: 1.796875vw;
  padding-right: 1.796875vw;
}
@media screen and (max-width: 800px) {
  .header__right__navtext--download {
    padding-left: 6.1333333333vw;
    padding-right: 6.1333333333vw;
  }
}
.header__right__navtext--download:hover {
  box-shadow: 0 0.3125vw 0.625vw rgba(0, 0, 0, 0.2);
}
.header__menu-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 13.515625vw;
  height: 4.6875vw;
  background-color: red;
  border: 2px solid white;
  border-radius: 999px;
  cursor: pointer;
  transition: all 0.3s ease;
}
@media screen and (max-width: 800px) {
  .header__menu-toggle {
    width: 23.2vw;
  }
}
@media screen and (max-width: 800px) {
  .header__menu-toggle {
    height: 9.3333333333vw;
  }
}
.header__menu-toggle:hover {
  background-color: white;
  border-color: red;
}
.header__menu-toggle:hover .header__menu-text {
  color: red;
}
.header__menu-toggle:hover .header__menu-icon-line {
  background-color: red;
}
.header__menu-text {
  font-size: 1.5625vw;
  color: white;
  font-family: "futura-pt-medium-oblique", sans-serif;
  font-weight: 600;
  margin-right: 2.5vw;
  margin-top: 0.15625vw;
  transition: color 0.3s ease;
}
@media screen and (max-width: 800px) {
  .header__menu-text {
    font-size: 3.2vw;
  }
}
@media screen and (max-width: 800px) {
  .header__menu-text {
    margin-top: 0.5333333333vw;
  }
}
.header__menu-icon {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 1.09375vw;
  height: 0.9375vw;
}
@media screen and (max-width: 800px) {
  .header__menu-icon {
    width: 2.1333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .header__menu-icon {
    height: 2.1333333333vw;
  }
}
.header__menu-icon-line {
  width: 100%;
  height: 0.15625vw;
  background-color: white;
  border-radius: 999px;
  transition: all 0.3s ease;
}
@media screen and (max-width: 800px) {
  .header__menu-icon-line {
    height: 0.2666666667vw;
  }
}
.header__menu-icon-line:nth-child(1) {
  transform-origin: top left;
}
.header__menu-icon-line:nth-child(3) {
  transform-origin: bottom left;
}
.header__menu-toggle.is-active {
  background-color: white;
  border-color: red;
}
.header__menu-toggle.is-active .header__menu-text {
  color: red;
}
.header__menu-toggle.is-active .header__menu-icon-line {
  background-color: red;
}
.header__menu-toggle.is-active .header__menu-icon-line:nth-child(1) {
  transform: translateY(0.0234375vw) rotate(45deg);
}
.header__menu-toggle.is-active .header__menu-icon-line:nth-child(2) {
  opacity: 0;
}
.header__menu-toggle.is-active .header__menu-icon-line:nth-child(3) {
  transform: translateY(-0.0234375vw) rotate(-45deg);
}
@media (max-width: 768px) {
  .header__menu-toggle.is-active .header__menu-icon-line:nth-child(1) {
    transform: translateY(0.203125vw) rotate(45deg);
  }
  .header__menu-toggle.is-active .header__menu-icon-line:nth-child(2) {
    opacity: 0;
  }
  .header__menu-toggle.is-active .header__menu-icon-line:nth-child(3) {
    transform: translateY(-0.203125vw) rotate(-45deg);
  }
}
.header__fixedButton {
  z-index: 7;
  position: fixed;
  bottom: 32px;
  right: 2.5%;
  width: 21.40625vw;
  height: 4.765625vw;
  background-color: rgba(34, 190, 72, 0.8);
  filter: drop-shadow(2px 4px 4px rgba(0, 0, 0, 0.25));
  border: 2px solid #fff;
  box-sizing: border-box;
  overflow: hidden;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 800px) {
  .header__fixedButton {
    width: 80vw;
  }
}
@media screen and (max-width: 800px) {
  .header__fixedButton {
    height: 11.2vw;
  }
}
@media screen and (max-width: 800px) {
  .header__fixedButton {
    width: 100%;
    bottom: 0%;
    right: 0%;
    border: none;
    background-color: #22be48;
  }
}
.header__bannerText {
  font-size: 1.5625vw;
  padding-right: 0.625vw;
  color: #fff;
  font-family: "NotoSerifJP-Medium";
  font-weight: 700;
}
@media screen and (max-width: 800px) {
  .header__bannerText {
    font-size: 3.7333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .header__bannerText {
    padding-right: 2.1333333333vw;
  }
}
.header__bannerCampaign {
  display: flex;
  justify-content: center;
  background: transparent;
  border: none;
  align-items: center;
  transition: all 0.25s ease-in;
}
.header__bannerCampaign:hover {
  opacity: 40%;
}
@media screen and (max-width: 800px) {
  .header__circle {
    width: 1.5625vw;
    height: 1.5625vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .header__circle {
    width: 5.3333333333vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .header__circle {
    height: 5.3333333333vw;
  }
}
.header__bannerArrow {
  width: 1.25vw;
  height: 1.25vw;
}
@media screen and (max-width: 800px) {
  .header__bannerArrow {
    width: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .header__bannerArrow {
    height: 4.2666666667vw;
  }
}

.nav {
  position: fixed;
  top: -100%;
  right: 0;
  width: 86%;
  height: 100vh;
  border-radius: 15px 0px 0px 15px;
  background: rgba(34, 190, 72, 0.8);
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
  transition: top 0.3s ease;
  overflow-y: auto;
  z-index: 12;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 800px) {
  .nav {
    width: 100%;
    top: -130%;
  }
}
.nav.is-open {
  top: 0;
  border-radius: 0px 0px 0px 0px;
}
.nav__inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 90%;
  padding-top: 12.5vw;
}
@media screen and (max-width: 800px) {
  .nav__inner {
    padding-top: 29.8666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .nav__inner {
    flex-direction: column;
    width: 80%;
  }
}
.nav__list {
  list-style-type: none;
  padding: 0;
  margin: 0;
  text-align: left;
  flex-grow: 1;
}
.nav__item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 21.875vw;
  border-bottom: 1px solid white;
}
@media screen and (max-width: 800px) {
  .nav__item {
    width: 80vw;
  }
}
.nav__item {
  padding-top: 1.71875vw;
  padding-bottom: 1.71875vw;
}
@media screen and (max-width: 800px) {
  .nav__item {
    padding-top: 4.2666666667vw;
    padding-bottom: 4.2666666667vw;
  }
}
.nav__item:first-child {
  border-top: 1px solid white;
}
.nav__item--none {
  border-bottom: none;
}
@media screen and (max-width: 800px) {
  .nav__item--sp {
    border-bottom: none;
  }
}
.nav__link {
  color: white;
  font-size: 1.25vw;
  text-decoration: none;
  transition: opacity 0.3s ease;
  font-family: "NotoSerifJP-Bold";
  font-weight: 800;
}
@media screen and (max-width: 800px) {
  .nav__link {
    font-size: 4.2666666667vw;
  }
}
.nav__link--medium {
  font-size: 1.25vw;
  font-weight: 500;
  margin-top: 1.25vw;
}
@media screen and (max-width: 800px) {
  .nav__link--medium {
    font-size: 3.2vw;
  }
}
@media screen and (max-width: 800px) {
  .nav__link--medium {
    margin-top: 4.2666666667vw;
  }
}
.nav__link--medium--none {
  margin-top: 0;
}
.nav__link:hover {
  opacity: 0.7;
}
@media screen and (max-width: 800px) {
  .nav__link--sp {
    padding-bottom: 7.5vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .nav__link--sp {
    padding-bottom: 25.6vw;
  }
}
.nav__contact-btn {
  display: inline-block;
  background-color: white;
  color: red;
  text-decoration: none;
  border-radius: 5px;
  transition: background-color 0.3s ease, color 0.3s ease;
  font-size: 1.5625vw;
  font-weight: 700;
  width: 21.875vw;
  text-align: center;
}
.nav__contact-btn {
  padding-top: 0.78125vw;
  padding-bottom: 0.78125vw;
}
@media screen and (max-width: 800px) {
  .nav__contact-btn {
    padding-top: 2.6666666667vw;
    padding-bottom: 2.6666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .nav__contact-btn {
    font-size: 5.3333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .nav__contact-btn {
    width: 80vw;
  }
}
.nav__contact-btn:hover {
  background-color: rgb(229.5, 229.5, 229.5);
  color: #cc0000;
}
.nav__end {
  display: flex;
  justify-content: flex-end;
  width: 82%;
  margin-top: 1.875vw;
  padding-bottom: 0vw;
}
@media screen and (max-width: 800px) {
  .nav__end {
    margin-top: 6.4vw;
  }
}
@media screen and (max-width: 800px) {
  .nav__end {
    padding-bottom: 10.6666666667vw;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.nav.is-open .nav__item,
.nav.is-open .nav__contact-btn {
  animation: fadeIn 0.5s ease forwards;
  opacity: 0;
}
.nav.is-open .nav__item:nth-child(1) {
  animation-delay: 0.2s;
}
.nav.is-open .nav__item:nth-child(2) {
  animation-delay: 0.3s;
}
.nav.is-open .nav__item:nth-child(3) {
  animation-delay: 0.4s;
}
.nav.is-open .nav__item:nth-child(4) {
  animation-delay: 0.5s;
}
.nav.is-open .nav__item:nth-child(5) {
  animation-delay: 0.6s;
}
.nav.is-open .nav__item:nth-child(6) {
  animation-delay: 0.7s;
}
.nav.is-open .nav__contact-btn {
  animation-delay: 0.8s;
}

.footer {
  background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.68) 30%, rgba(0, 0, 0, 0.86) 50%, rgba(0, 0, 0, 0.94) 65%, rgba(0, 0, 0, 0.98) 80%, #000 90%, #000 100%), url("../images/footer-img.webp");
  background-size: contain;
  background-position: left bottom;
  background-repeat: no-repeat;
  background-color: #000000;
  color: #fff;
  position: relative;
  z-index: 10;
  padding-top: 4.375vw;
}
@media screen and (max-width: 800px) {
  .footer {
    padding-top: 14.9333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .footer {
    background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.68) 30%, rgba(0, 0, 0, 0.86) 50%, rgba(0, 0, 0, 0.94) 65%, rgba(0, 0, 0, 0.98) 80%, #000 90%, #000 100%), url("../images/footer-img-sp.webp");
    background-size: cover;
  }
}
.footer__top {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8.828125vw;
  padding-bottom: 2.8125vw;
}
@media screen and (max-width: 800px) {
  .footer__top {
    gap: 6.4vw;
  }
}
@media screen and (max-width: 800px) {
  .footer__top {
    padding-bottom: 6.4vw;
  }
}
@media screen and (max-width: 800px) {
  .footer__top {
    flex-direction: column;
    align-items: flex-start;
    gap: clamp(32px, 5vw, 48px);
  }
}
.footer__inner {
  width: 87.5vw;
  margin-inline: auto;
  display: column;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 800px) {
  .footer__inner {
    width: 87.2vw;
  }
}
.footer__logo {
  display: inline-flex;
  align-items: flex-start;
  justify-content: center;
  height: auto;
  width: 62.5vw;
}
@media screen and (max-width: 800px) {
  .footer__logo {
    width: 90.6666666667vw;
  }
}
.footer__logo img {
  margin-top: -4.6875vw;
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 800px) {
  .footer__logo img {
    margin-top: -11.2vw;
  }
}
.footer__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(48px, 6vw, 72px);
  flex: 1;
}
@media screen and (max-width: 800px) {
  .footer__body {
    width: 100%;
    gap: clamp(32px, 5vw, 40px);
  }
}
.footer__body-top {
  width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: clamp(48px, 7vw, 160px);
}
@media screen and (max-width: 800px) {
  .footer__body-top {
    flex-direction: column;
    gap: clamp(32px, 5vw, 48px);
  }
}
.footer__section {
  display: flex;
  flex-direction: column;
  gap: 1.5625vw;
  flex: 1 1 0;
}
@media screen and (max-width: 800px) {
  .footer__section {
    gap: 4.2666666667vw;
  }
}
.footer__section-heading {
  font-size: 0.9375vw;
  font-family: "DaysOne-Regular";
  letter-spacing: 0.12em;
  color: rgba(255, 255, 255, 0.6);
}
@media screen and (max-width: 800px) {
  .footer__section-heading {
    font-size: 2.6666666667vw;
  }
}
.footer__section--nav {
  width: 100%;
}
.footer__section--nav .footer__nav {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.footer__section--address {
  width: 100%;
  padding-left: 0;
}
.footer__nav {
  display: flex;
  width: 100%;
  gap: clamp(56px, 7vw, 140px);
  padding-top: 1.5625vw;
}
@media screen and (max-width: 800px) {
  .footer__nav {
    padding-top: 7.4666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .footer__nav {
    flex-direction: flex;
    gap: 3.59375vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .footer__nav {
    gap: 8.5333333333vw;
  }
}
.footer__nav-column {
  display: flex;
  flex-direction: column;
  gap: 1.25vw;
  list-style: none;
  padding: 0;
  margin: 0;
}
@media screen and (max-width: 800px) {
  .footer__nav-column {
    gap: 3.2vw;
  }
}
.footer__nav-column li a {
  font-size: 1.25vw;
  font-family: "DaysOne-Regular";
  font-weight: 600;
  letter-spacing: 0.08em;
  color: #fff;
  text-decoration: none;
  display: inline-flex;
  text-transform: uppercase;
  transition: opacity 0.2s ease;
}
@media screen and (max-width: 800px) {
  .footer__nav-column li a {
    font-size: 3.7333333333vw;
  }
}
.footer__nav-column li a:hover, .footer__nav-column li a:focus-visible {
  opacity: 0.6;
}
.footer__address-text {
  font-size: 1.25vw;
  font-weight: 500;
  letter-spacing: 0.08em;
  margin: 0;
  padding-top: clamp(20px, 2.5vw, 36px);
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}
@media screen and (max-width: 800px) {
  .footer__address-text {
    font-size: 3.7333333333vw;
  }
}
.footer__bottom {
  width: 100%;
  padding-top: 1.875vw;
  padding-bottom: 1.875vw;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  gap: clamp(20px, 4vw, 28px);
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}
@media screen and (max-width: 800px) {
  .footer__bottom {
    padding-top: 6.4vw;
  }
}
@media screen and (max-width: 800px) {
  .footer__bottom {
    padding-bottom: 6.4vw;
  }
}
.footer__legal {
  display: flex;
  align-items: center;
  gap: clamp(32px, 4vw, 48px);
}
.footer__legal a {
  font-size: 0.9375vw;
  font-family: "DaysOne-Regular";
  font-weight: 500;
  letter-spacing: 0.08em;
  color: #fff;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
@media screen and (max-width: 800px) {
  .footer__legal a {
    font-size: 3.2vw;
  }
}
.footer__legal a:hover, .footer__legal a:focus-visible {
  opacity: 0.6;
}
@media screen and (max-width: 800px) {
  .footer__legal {
    flex-wrap: wrap;
    gap: clamp(16px, 4vw, 24px);
    justify-content: flex-start;
  }
}
.footer__copyright {
  font-size: 0.9375vw;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.7);
}
@media screen and (max-width: 800px) {
  .footer__copyright {
    font-size: 3.2vw;
  }
}
.footer__back-to-top {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  align-self: flex-end;
  background: none;
  border: none;
  color: #fff;
  cursor: pointer;
  padding: 0;
  gap: 0.9375vw;
  transition: opacity 0.2s ease;
  width: 5.46875vw;
  margin-top: 7.8125vw;
}
@media screen and (max-width: 800px) {
  .footer__back-to-top {
    gap: 3.2vw;
  }
}
@media screen and (max-width: 800px) {
  .footer__back-to-top {
    width: 18.6666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .footer__back-to-top {
    margin-top: 21.3333333333vw;
  }
}
.footer__back-to-top:hover, .footer__back-to-top:focus-visible {
  opacity: 0.7;
}
@media screen and (max-width: 800px) {
  .footer__back-to-top {
    align-self: flex-start;
  }
}
.footer__back-to-top-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.8125vw;
  height: 2.8125vw;
}
@media screen and (max-width: 800px) {
  .footer__back-to-top-icon {
    width: 6.4vw;
  }
}
@media screen and (max-width: 800px) {
  .footer__back-to-top-icon {
    height: 6.4vw;
  }
}
.footer__back-to-top-icon .footer__back-to-top-svg {
  width: 100%;
  height: 100%;
  display: block;
}
.footer__back-to-top-text {
  display: inline-flex;
  font-size: 0.78125vw;
  font-family: "DaysOne-Regular";
  font-weight: 500;
}
@media screen and (max-width: 800px) {
  .footer__back-to-top-text {
    font-size: 2.1333333333vw;
  }
}
.footer__social {
  display: flex;
  align-items: center;
  gap: 42.96875vw;
}
@media screen and (max-width: 800px) {
  .footer__social {
    gap: 24vw;
  }
}

.main {
  display: flex;
  justify-content: start;
  align-items: center;
  width: 100%;
  flex-direction: column;
  position: relative;
  background: center top/contain repeat-y url("../images/bg-sp.webp");
  background-attachment: scroll;
}
@media screen and (max-width: 800px) {
  .main {
    background: center top/contain repeat-y url("../images/bg-sp.webp");
  }
}
.main__inner {
  display: flex;
  justify-content: start;
  align-items: center;
  flex-direction: column;
  width: 100%;
  position: relative;
  z-index: 1;
}

.main .service {
  z-index: 100;
}

a {
  transition: opacity 0.3s ease;
}
a:hover {
  opacity: 0.6;
}

body {
  position: relative;
}
body > #logo {
  position: absolute;
  top: 3vw;
  left: 5%;
  width: 10.703125vw;
  z-index: 10;
}
@media screen and (max-width: 800px) {
  body > #logo {
    width: 36.5333333333vw;
  }
}
body > #logo a {
  display: flex;
  justify-content: center;
  align-items: center;
}
body > #logo a img {
  width: 100%;
  height: auto;
}

.legal {
  width: 100%;
  color: #1b1b1b;
}
.legal__inner {
  width: 100%;
  display: flex;
  flex-direction: column;
}
.legal__header {
  width: 100%;
  max-width: 960px;
  position: relative;
  padding-top: 10vw;
  padding-bottom: 2.5vw;
}
@media screen and (max-width: 800px) {
  .legal__header {
    padding-top: 21.3333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .legal__header {
    padding-bottom: 6.4vw;
  }
}
.legal__header {
  padding-left: 8.75vw;
  padding-right: 8.75vw;
}
@media screen and (max-width: 800px) {
  .legal__header {
    padding-left: 6.4vw;
    padding-right: 6.4vw;
  }
}
.legal__heading {
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  row-gap: 0.5em;
  align-items: flex-start;
}
.legal__heading-en {
  margin: 0;
  font-family: "DaysOne-Regular";
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.2;
  color: #353535;
  font-size: 1.71875vw;
}
@media screen and (max-width: 800px) {
  .legal__heading-en {
    font-size: 3.2vw;
  }
}
.legal__heading-ja {
  margin: 0;
  font-family: YuGothic, "Yu Gothic", "游ゴシック", sans-serif;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.4;
  color: #1b1b1b;
  font-size: 3.75vw;
  position: relative;
  display: inline-block;
  padding-bottom: 0.6em;
}
@media screen and (max-width: 800px) {
  .legal__heading-ja {
    font-size: 6.9333333333vw;
  }
}
.legal__heading-ja::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background: rgba(27, 27, 27, 0.16);
}
.legal__content {
  width: 100%;
  display: flex;
  justify-content: center;
  padding-top: 5.625vw;
  padding-bottom: 9.375vw;
}
@media screen and (max-width: 800px) {
  .legal__content {
    padding-top: 6.4vw;
  }
}
@media screen and (max-width: 800px) {
  .legal__content {
    padding-bottom: 21.3333333333vw;
  }
}
.legal__content-inner {
  width: 100%;
  display: flex;
  justify-content: center;
}
.legal__content-inner {
  padding-left: 8.75vw;
  padding-right: 8.75vw;
}
@media screen and (max-width: 800px) {
  .legal__content-inner {
    padding-left: 6.4vw;
    padding-right: 6.4vw;
  }
}
.legal__body {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
}
.legal__body .blogBody__inner {
  padding: 0;
  font-family: YuGothic, "Yu Gothic", "游ゴシック", sans-serif;
  color: inherit;
  line-height: 2;
  letter-spacing: 0.04em;
}
.legal__body .blogBody__inner > *:first-child {
  margin-top: 0;
}
.legal__body p {
  color: inherit;
  margin-bottom: 2.5vw;
}
@media screen and (max-width: 800px) {
  .legal__body p {
    margin-bottom: 6.4vw;
  }
}
.legal__body a {
  color: #d93924;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.3em;
}
.legal__body a:hover {
  opacity: 0.7;
}
.legal__body h2 {
  position: relative;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.6;
  font-size: 2.1875vw;
  margin-bottom: 2.5vw;
  padding-bottom: 1.25vw;
}
@media screen and (max-width: 800px) {
  .legal__body h2 {
    font-size: 5.3333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .legal__body h2 {
    margin-bottom: 6.4vw;
  }
}
@media screen and (max-width: 800px) {
  .legal__body h2 {
    padding-bottom: 3.2vw;
  }
}
.legal__body h2:not(:first-child) {
  margin-top: 5vw;
}
@media screen and (max-width: 800px) {
  .legal__body h2:not(:first-child) {
    margin-top: 12.8vw;
  }
}
.legal__body h2::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 160px;
  max-width: 40%;
  height: 2px;
  background: #d93924;
}
.legal__body h3 {
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.6;
  font-size: 1.71875vw;
  margin-top: 3.75vw;
  margin-bottom: 1.5625vw;
}
@media screen and (max-width: 800px) {
  .legal__body h3 {
    font-size: 4.8vw;
  }
}
@media screen and (max-width: 800px) {
  .legal__body h3 {
    margin-top: 9.6vw;
  }
}
@media screen and (max-width: 800px) {
  .legal__body h3 {
    margin-bottom: 4.2666666667vw;
  }
}
.legal__body ul,
.legal__body ol {
  margin-bottom: 2.5vw;
  padding-left: 1.6em;
  list-style-position: outside;
}
@media screen and (max-width: 800px) {
  .legal__body ul,
  .legal__body ol {
    margin-bottom: 6.4vw;
  }
}
.legal__body ul li,
.legal__body ol li {
  margin-bottom: 1.25vw;
}
@media screen and (max-width: 800px) {
  .legal__body ul li,
  .legal__body ol li {
    margin-bottom: 3.2vw;
  }
}
.legal__body ul li:last-child,
.legal__body ol li:last-child {
  margin-bottom: 0;
}
.legal__body ul ul {
  margin-top: 0.4em;
}
.legal__body blockquote {
  margin: 0;
  margin-top: 2.5vw;
  margin-bottom: 2.5vw;
  padding-left: 1.4em;
  border-left: 3px solid #d93924;
  font-style: normal;
}
@media screen and (max-width: 800px) {
  .legal__body blockquote {
    margin-top: 6.4vw;
  }
}
@media screen and (max-width: 800px) {
  .legal__body blockquote {
    margin-bottom: 6.4vw;
  }
}
.legal__body table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 2.5vw;
  border: 1px solid rgba(0, 0, 0, 0.12);
}
@media screen and (max-width: 800px) {
  .legal__body table {
    margin-top: 6.4vw;
  }
}
.legal__body table th,
.legal__body table td {
  padding: 1em 1.2em;
  text-align: left;
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
  letter-spacing: 0.04em;
}
.legal__body table th {
  font-weight: 600;
}
.legal__body table tr:last-child th,
.legal__body table tr:last-child td {
  border-bottom: none;
}
.legal__body dl {
  margin-top: 2.5vw;
}
@media screen and (max-width: 800px) {
  .legal__body dl {
    margin-top: 6.4vw;
  }
}
.legal__body dl dt {
  font-weight: 600;
  letter-spacing: 0.05em;
  margin-bottom: 0.9375vw;
}
@media screen and (max-width: 800px) {
  .legal__body dl dt {
    margin-bottom: 2.1333333333vw;
  }
}
.legal__body dl dd {
  margin: 0;
  margin-bottom: 1.875vw;
  padding-left: 1.2em;
  border-left: 2px solid rgba(27, 27, 27, 0.12);
}
@media screen and (max-width: 800px) {
  .legal__body dl dd {
    margin-bottom: 4.2666666667vw;
  }
}
.legal__lead {
  margin: 0;
  font-family: YuGothic, "Yu Gothic", "游ゴシック", sans-serif;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.8;
  font-size: 1.5625vw;
  margin-bottom: 2.5vw;
}
@media screen and (max-width: 800px) {
  .legal__lead {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .legal__lead {
    margin-bottom: 6.4vw;
  }
}
.legal__entry {
  display: flex;
  flex-direction: column;
  gap: 1.875vw;
}
@media screen and (max-width: 800px) {
  .legal__entry {
    gap: 5.3333333333vw;
  }
}
.legal__entry > *:last-child {
  margin-bottom: 0;
}
.legal__content--lead {
  padding-bottom: 5vw;
}
@media screen and (max-width: 800px) {
  .legal__content--lead {
    padding-bottom: 12.8vw;
  }
}

.contact {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.contact__top {
  display: flex;
  align-items: center;
  width: 58%;
  margin-top: 6.25vw;
}
@media screen and (max-width: 800px) {
  .contact__top {
    margin-top: 21.3333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .contact__top {
    flex-direction: column;
    width: 100%;
  }
}
.contact__inner {
  display: flex;
  flex-direction: column;
  width: 58%;
  z-index: 2;
  padding-bottom: 8.75vw;
}
@media screen and (max-width: 800px) {
  .contact__inner {
    padding-bottom: 21.3333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .contact__inner {
    width: 80%;
  }
}
.contact__title {
  color: #1b1b1b;
  font-size: 1.875vw;
  margin-right: 1.25vw;
  font-weight: 800;
}
@media screen and (max-width: 800px) {
  .contact__title {
    font-size: 5.3333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .contact__title {
    margin-right: 4.2666666667vw;
  }
}
.contact__subtitle {
  color: #1b1b1b;
  font-size: 1.25vw;
  font-weight: 500;
  line-height: 2; /* 32px */
}
@media screen and (max-width: 800px) {
  .contact__subtitle {
    font-size: 3.7333333333vw;
  }
}
.contact__link {
  font-size: 1.25vw;
  margin-top: 0.625vw;
  text-decoration: underline;
  color: black;
  transition: all 0.25s ease-in;
}
@media screen and (max-width: 800px) {
  .contact__link {
    font-size: 3.7333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .contact__link {
    margin-top: 2.1333333333vw;
  }
}
.contact__link:hover {
  opacity: 40%;
}
.contact__set {
  display: flex;
  align-items: center;
}
.contact__col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  width: 100%;
  margin-top: 2.5vw;
}
@media screen and (max-width: 800px) {
  .contact__col {
    margin-top: 6.4vw;
  }
}
.contact__col--mt0 {
  margin-top: 0vw;
}
@media screen and (max-width: 800px) {
  .contact__col--mt0 {
    margin-top: 0vw;
  }
}
.contact__col textarea {
  resize: none;
}
.contact__col--a {
  align-items: flex-start;
  margin-bottom: 0vw;
}
@media screen and (max-width: 800px) {
  .contact__col--a {
    margin-bottom: 0vw;
  }
}
.contact__col--contents {
  align-items: flex-start;
}
.contact__col--center {
  align-items: center;
}
@media screen and (max-width: 800px) {
  .contact__col {
    flex-direction: column;
    align-items: flex-start;
  }
}
.contact__row {
  display: flex;
}
.contact__name {
  font-size: 1.25vw;
  color: #1b1b1b;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 800px) {
  .contact__name {
    font-size: 4.2666666667vw;
  }
}
.contact__required {
  font-size: 1.25vw;
  margin-bottom: 0.46875vw;
  margin-top: 0.546875vw;
  opacity: 60%;
  color: red;
  font-weight: 500;
}
@media screen and (max-width: 800px) {
  .contact__required {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .contact__required {
    margin-bottom: 1.6vw;
  }
}
@media screen and (max-width: 800px) {
  .contact__required {
    margin-top: 1.8666666667vw;
  }
}
.contact__required--privacy {
  width: 6.25vw;
  margin-top: 1.875vw;
}
@media screen and (max-width: 800px) {
  .contact__required--privacy {
    width: 21.3333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .contact__required--privacy {
    margin-top: 6.4vw;
  }
}
.contact__content {
  position: relative;
  width: 61.40625vw;
  margin-top: 1.25vw;
  color: #1b1b1b;
  font-size: 1.25vw;
  font-weight: 500;
  line-height: 1.5; /* 24px */
  border: 1px solid #1b1b1b;
}
@media screen and (max-width: 800px) {
  .contact__content {
    width: 71.4666666667vw;
  }
}
.contact__content {
  padding-left: 1.25vw;
  padding-right: 1.25vw;
}
@media screen and (max-width: 800px) {
  .contact__content {
    padding-left: 4.2666666667vw;
    padding-right: 4.2666666667vw;
  }
}
.contact__content {
  padding-top: 1.25vw;
  padding-bottom: 1.25vw;
}
@media screen and (max-width: 800px) {
  .contact__content {
    padding-top: 4.2666666667vw;
    padding-bottom: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .contact__content {
    margin-top: 2.1333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .contact__content {
    font-size: 4.2666666667vw;
  }
}
.contact__content::-moz-placeholder {
  font-family: "Shippori Mincho", serif;
}
.contact__content::placeholder {
  font-family: "Shippori Mincho", serif;
}
.contact__content--a {
  height: 16.953125vw;
  margin-bottom: 6.25vw;
}
@media screen and (max-width: 800px) {
  .contact__content--a {
    height: 57.8666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .contact__content--a {
    margin-bottom: 21.3333333333vw;
  }
}
.contact__text {
  position: absolute;
  top: 39%;
  left: 1%;
  font-size: 0.625vw;
  opacity: 50%;
}
@media screen and (max-width: 800px) {
  .contact__text {
    font-size: 2.1333333333vw;
  }
}
.contact__text--a {
  top: 3%;
}
.contact__innerText {
  margin-left: 1.25vw;
  color: #1b1b1b;
}
@media screen and (max-width: 800px) {
  .contact__innerText {
    margin-left: 4.2666666667vw;
  }
}
.contact__viewbutton {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 4.375vw;
}
@media screen and (max-width: 800px) {
  .contact__viewbutton {
    margin-top: 14.9333333333vw;
  }
}
.contact .contact__viewbutton input:not(.contact__viewmore) {
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Shippori Mincho", serif;
  width: 17.5vw;
  height: 4.375vw;
  font-size: 1.09375vw;
  line-height: 1.3;
  font-weight: 700;
  transition: all 0.5s ease-in-out;
}
@media screen and (max-width: 800px) {
  .contact .contact__viewbutton input:not(.contact__viewmore) {
    width: 48vw;
  }
}
@media screen and (max-width: 800px) {
  .contact .contact__viewbutton input:not(.contact__viewmore) {
    height: 10.6666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .contact .contact__viewbutton input:not(.contact__viewmore) {
    font-size: 3.2vw;
  }
}
.contact .contact__viewbutton input:not(.contact__viewmore) {
  padding-top: 0vw;
  padding-bottom: 0vw;
}
@media screen and (max-width: 800px) {
  .contact .contact__viewbutton input:not(.contact__viewmore) {
    padding-top: 0vw;
    padding-bottom: 0vw;
  }
}
.contact .contact__viewbutton input:not(.contact__viewmore):hover {
  color: #1b1b1b;
  background: #fff;
  border: 1px solid #1b1b1b;
}
.contact__viewmore {
  width: 15.625vw;
  color: white;
  text-align: center;
  font-size: 1.25vw;
  transition: all 0.25s ease-in;
  background: linear-gradient(83deg, #ff9408 11.35%, #ca3f16 34.54%, #95122c 65.46%, #100c08 88.65%);
}
@media screen and (max-width: 800px) {
  .contact__viewmore {
    width: 53.3333333333vw;
  }
}
.contact__viewmore {
  padding-top: 1.25vw;
  padding-bottom: 1.25vw;
}
@media screen and (max-width: 800px) {
  .contact__viewmore {
    padding-top: 4.2666666667vw;
    padding-bottom: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .contact__viewmore {
    font-size: 4.2666666667vw;
  }
}
.contact__viewmore:hover {
  color: #fff;
  background: linear-gradient(83deg, #ff9408 11.35%, #ca3f16 34.54%, #95122c 65.46%, #100c08 88.65%);
  opacity: 0.6;
}
.contact__time {
  display: flex;
  align-items: flex-end;
}
@media screen and (max-width: 800px) {
  .contact__time {
    flex-direction: column;
    align-items: flex-start;
  }
}
.contact__hour {
  font-size: 1.25vw;
  margin-right: 2.5vw;
}
@media screen and (max-width: 800px) {
  .contact__hour {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .contact__hour {
    margin-right: 8.5333333333vw;
  }
}
.contact .contact__checkBox {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 1.875vw;
  height: 1.875vw;
  border: 1px solid rgba(53, 53, 53, 0.6);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  transition: all 0.25s ease-in;
  position: relative;
}
@media screen and (max-width: 800px) {
  .contact .contact__checkBox {
    width: 6.4vw;
  }
}
@media screen and (max-width: 800px) {
  .contact .contact__checkBox {
    height: 6.4vw;
  }
}
@media screen and (max-width: 800px) {
  .contact .contact__checkBox {
    margin-top: -0.078125vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .contact .contact__checkBox {
    margin-top: -0.2666666667vw;
  }
}
.contact .contact__checkBox:after {
  content: "";
  position: absolute;
  left: 8px;
  top: 2px;
  width: 6px;
  height: 12px;
  border: solid #322a28;
  border-width: 0 3px 3px 0;
  transform: rotate(45deg);
  opacity: 0;
  transition: opacity 0.25s ease-in;
}
.contact .contact__checkBox:checked:after {
  opacity: 1;
}
.contact .contact__checkBox:focus {
  outline: none;
  border-color: #322a28;
}
.contact__upload {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.625vw;
}
.contact__file {
  position: relative;
  width: 100%;
  font-size: 1.25vw;
  font-weight: 500;
  color: #1b1b1b;
  gap: 1.875vw;
}
@media screen and (max-width: 800px) {
  .contact__file {
    font-size: 3.7333333333vw;
  }
}
.contact__file::-webkit-file-upload-button {
  position: relative;
  display: inline-block;
  padding: 0.9375vw 1.875vw;
  color: #1b1b1b;
  background-color: #f5f5f5;
  border: 1px solid #ddd;
  cursor: pointer;
}
.contact__note {
  color: #1b1b1b;
  font-weight: 500;
  font-size: 1.09375vw;
}
@media screen and (max-width: 800px) {
  .contact__note {
    font-size: 3.2vw;
  }
}

.wpcf7-form-control-wrap {
  margin-right: 0.625vw;
}
@media screen and (max-width: 800px) {
  .wpcf7-form-control-wrap {
    margin-right: 2.1333333333vw;
  }
}

.wpcf7 {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  margin-top: 3.125vw;
}
@media screen and (max-width: 800px) {
  .wpcf7 {
    margin-top: 10.6666666667vw;
  }
}

.wpcf7-spinner {
  display: none !important;
  visibility: hidden !important;
}

/* 成功時のメッセージの色 */
.wpcf7 form.sent .wpcf7-response-output {
  border: none !important;
  text-align: center;
  color: #1b1b1b !important;
  font-size: 0.9375vw;
}
@media screen and (max-width: 800px) {
  .wpcf7 form.sent .wpcf7-response-output {
    font-size: 3.2vw;
  }
}

/* 失敗時のメッセージの色 */
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
  border: none !important;
  text-align: center;
  color: red !important;
  font-size: 0.9375vw;
}
@media screen and (max-width: 800px) {
  .wpcf7 form.invalid .wpcf7-response-output,
  .wpcf7 form.unaccepted .wpcf7-response-output,
  .wpcf7 form.payment-required .wpcf7-response-output {
    font-size: 3.2vw;
  }
}

.wpcf7-list-item-label {
  font-size: 1.25vw;
}
@media screen and (max-width: 800px) {
  .wpcf7-list-item-label {
    font-size: 4.2666666667vw;
  }
}

.wpcf7-list-item-label span {
  font-size: 1.25vw;
  color: red;
}
@media screen and (max-width: 800px) {
  .wpcf7-list-item-label span {
    font-size: 4.2666666667vw;
  }
}

.wpcf7-select {
  font-size: 1.25vw;
  padding: 1.25vw;
  background-color: rgba(0, 0, 0, 0.05);
}
@media screen and (max-width: 800px) {
  .wpcf7-select {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .wpcf7-select {
    padding: 4.2666666667vw;
  }
}

.contact__col span {
  margin-top: 0vw;
  font-size: 0.9375vw;
  margin-right: 0;
}
@media screen and (max-width: 800px) {
  .contact__col span {
    margin-top: 0vw;
  }
}
@media screen and (max-width: 800px) {
  .contact__col span {
    font-size: 3.2vw;
  }
}

.wpcf7-form-control option {
  color: #353535;
}

.wpcf7-acceptance {
  background: none !important;
}

.wpcf7-checkbox {
  background: none !important;
}

.wpcf7-form-control-wrap[data-name=desired-type] {
  margin-top: 1.875vw;
}
@media screen and (max-width: 800px) {
  .wpcf7-form-control-wrap[data-name=desired-type] {
    margin-top: 4.2666666667vw;
  }
}

.wpcf7-form-control-wrap[data-name=desired-type] span {
  margin-top: 0vw;
}
@media screen and (max-width: 800px) {
  .wpcf7-form-control-wrap[data-name=desired-type] span {
    margin-top: 0vw;
  }
}
@media screen and (max-width: 800px) {
  .wpcf7-form-control-wrap[data-name=desired-type] span {
    display: flex;
    align-items: center;
  }
}

.wpcf7-list-item {
  margin: 0 !important;
  margin-right: 1.25vw;
}
@media screen and (max-width: 800px) {
  .wpcf7-list-item {
    margin-right: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .wpcf7-list-item {
    padding-top: 0.46875vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .wpcf7-list-item {
    padding-top: 1.6vw;
  }
}

.wpcf7-list-item label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.625vw;
  color: #1b1b1b;
  font-size: 1.25vw;
  font-weight: 500;
  line-height: 1.5; /* 24px */
}
@media screen and (max-width: 800px) {
  .wpcf7-list-item label {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .wpcf7-list-item label {
    align-items: flex-start;
  }
}

.wpcf7-list-item-label {
  margin-right: 1.25vw;
  opacity: 60%;
}
@media screen and (max-width: 800px) {
  .wpcf7-list-item-label {
    margin-right: 0vw;
  }
}

.contact__checkboxTop .wpcf7-list-item-label {
  width: 3.90625vw;
}
@media screen and (max-width: 800px) {
  .contact__checkboxTop .wpcf7-list-item-label {
    width: 21.3333333333vw;
  }
}

.contact__checkboxTop {
  margin-top: 1.875vw;
}
@media screen and (max-width: 800px) {
  .contact__checkboxTop {
    margin-top: 6.4vw;
  }
}

.contact__checkboxTop input {
  display: none;
}

.contact__checkboxTop input + span {
  padding-left: 28px;
  display: inline-block;
  position: relative;
}

.contact__checkboxTop input + span::after,
.contact__checkboxTop input + span::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
}

.contact__checkboxTop input + span::before {
  border: 1px solid #322a28;
  background-color: #ebe6e2;
  height: 20px;
  width: 20px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.contact__checkboxTop input + span::after {
  content: "";
  display: none;
  position: absolute;
  top: 42%;
  left: 11px;
  width: 5px;
  height: 10px;
  border: solid #322a28;
  border-width: 0 2px 2px 0;
  transform: translate(-50%, -50%) rotate(45deg);
}

.contact__checkboxTop input:checked + span::after {
  display: block;
}

/* 選択前のスタイル */
.placeholder-select {
  opacity: 0.6 !important;
  color: #1b1b1b;
  font-size: 1.25vw;
  font-weight: 500;
  line-height: 1.5; /* 24px */
  background-color: transparent !important;
}
@media screen and (max-width: 800px) {
  .placeholder-select {
    font-size: 4.2666666667vw;
  }
}

/* 選択後のスタイル */
.placeholder-select option:checked {
  color: rgb(53, 53, 53) !important;
  font-size: 16px;
  background-color: rgba(50, 42, 40, 0.05) !important;
}

@media screen and (max-width: 800px) {
  .contactForm__radioButton {
    display: flex;
    flex-direction: column;
    align-items: baseline;
  }
}

@media screen and (max-width: 800px) {
  .wpcf7-list-item input[type=radio] {
    margin-top: 0.390625vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .wpcf7-list-item input[type=radio] {
    margin-top: 1.3333333333vw;
  }
}

.wpcf7-form.init {
  width: 100%;
}

::-moz-placeholder {
  color: #1b1b1b;
  opacity: 0.6;
}

::placeholder {
  color: #1b1b1b;
  opacity: 0.6;
}

.fade-in {
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.fade-in.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}