@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/Marcellus-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: black;
}
.blogBody p {
  display: block;
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
  -webkit-margin-after: 1em;
          margin-block-end: 1em;
  -webkit-margin-start: 0;
          margin-inline-start: 0;
  -webkit-margin-end: 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;
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
  -webkit-margin-after: 1em;
          margin-block-end: 1em;
  -webkit-margin-start: 40px;
          margin-inline-start: 40px;
  -webkit-margin-end: 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: -webkit-isolate;
  unicode-bidi: -moz-isolate;
  unicode-bidi: isolate;
  -webkit-margin-before: 0.5em;
          margin-block-start: 0.5em;
  -webkit-margin-after: 0.5em;
          margin-block-end: 0.5em;
  -webkit-margin-start: auto;
          margin-inline-start: auto;
  -webkit-margin-end: 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;
  font-size: 2em;
  -webkit-margin-before: 0.67em;
          margin-block-start: 0.67em;
  -webkit-margin-after: 0.67em;
          margin-block-end: 0.67em;
  -webkit-margin-start: 0;
          margin-inline-start: 0;
  -webkit-margin-end: 0;
          margin-inline-end: 0;
  font-weight: bold;
}
.blogBody :-webkit-any(article, aside, nav, section) h1 {
  font-size: 1.5em;
  -webkit-margin-before: 0.83em;
          margin-block-start: 0.83em;
  -webkit-margin-after: 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;
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
  -webkit-margin-after: 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;
  -webkit-margin-before: 1.33em;
          margin-block-start: 1.33em;
  -webkit-margin-after: 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;
  -webkit-margin-before: 1.67em;
          margin-block-start: 1.67em;
  -webkit-margin-after: 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;
  -webkit-margin-before: 2.33em;
          margin-block-start: 2.33em;
  -webkit-margin-after: 2.33em;
          margin-block-end: 2.33em;
}
.blogBody h2 {
  display: block;
  font-size: 2.3em;
  -webkit-margin-before: 0.83em;
          margin-block-start: 0.83em;
  -webkit-margin-after: 0.83em;
          margin-block-end: 0.83em;
  -webkit-margin-start: 0;
          margin-inline-start: 0;
  -webkit-margin-end: 0;
          margin-inline-end: 0;
  font-weight: bold;
}
@media screen and (max-width: 480px) {
  .blogBody h2 {
    font-size: 1.6em;
  }
}
.blogBody h3 {
  display: block;
  font-size: 1.17em;
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
  -webkit-margin-after: 1em;
          margin-block-end: 1em;
  -webkit-margin-start: 0;
          margin-inline-start: 0;
  -webkit-margin-end: 0;
          margin-inline-end: 0;
  font-weight: bold;
}
.blogBody h4 {
  display: block;
  -webkit-margin-before: 1.33em;
          margin-block-start: 1.33em;
  -webkit-margin-after: 1.33em;
          margin-block-end: 1.33em;
  -webkit-margin-start: 0;
          margin-inline-start: 0;
  -webkit-margin-end: 0;
          margin-inline-end: 0;
  font-weight: bold;
}
.blogBody h5 {
  display: block;
  font-size: 0.83em;
  -webkit-margin-before: 1.67em;
          margin-block-start: 1.67em;
  -webkit-margin-after: 1.67em;
          margin-block-end: 1.67em;
  -webkit-margin-start: 0;
          margin-inline-start: 0;
  -webkit-margin-end: 0;
          margin-inline-end: 0;
  font-weight: bold;
}
.blogBody h6 {
  display: block;
  font-size: 0.67em;
  -webkit-margin-before: 2.33em;
          margin-block-start: 2.33em;
  -webkit-margin-after: 2.33em;
          margin-block-end: 2.33em;
  -webkit-margin-start: 0;
          margin-inline-start: 0;
  -webkit-margin-end: 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;
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
  -webkit-margin-after: 1em;
          margin-block-end: 1em;
  -webkit-margin-start: 0;
          margin-inline-start: 0;
  -webkit-margin-end: 0;
          margin-inline-end: 0;
  -webkit-padding-start: 40px;
          padding-inline-start: 40px;
}
.blogBody ol {
  display: block;
  list-style-type: decimal;
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
  -webkit-margin-after: 1em;
          margin-block-end: 1em;
  -webkit-margin-start: 0;
          margin-inline-start: 0;
  -webkit-margin-end: 0;
          margin-inline-end: 0;
  -webkit-padding-start: 40px;
          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;
  -webkit-margin-start: 40px;
          margin-inline-start: 40px;
}
.blogBody dl {
  display: block;
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
  -webkit-margin-after: 1em;
          margin-block-end: 1em;
  -webkit-margin-start: 0;
          margin-inline-start: 0;
  -webkit-margin-end: 0;
          margin-inline-end: 0;
}
.blogBody dt {
  display: block;
}
.blogBody ol ul,
.blogBody ul ol,
.blogBody ul ul,
.blogBody ol ol {
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 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;
  -webkit-padding-start: 2px;
          padding-inline-start: 2px;
  -webkit-padding-end: 2px;
          padding-inline-end: 2px;
  border: none;
}
.blogBody fieldset {
  display: block;
  -webkit-margin-start: 2px;
          margin-inline-start: 2px;
  -webkit-margin-end: 2px;
          margin-inline-end: 2px;
  -webkit-padding-before: 0.35em;
          padding-block-start: 0.35em;
  -webkit-padding-start: 0.75em;
          padding-inline-start: 0.75em;
  -webkit-padding-end: 0.75em;
          padding-inline-end: 0.75em;
  -webkit-padding-after: 0.625em;
          padding-block-end: 0.625em;
  min-inline-size: -webkit-min-content;
  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;
  -webkit-margin-start: 2px;
          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;
  -webkit-margin-start: 1px;
          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;
  -webkit-margin-end: 4px;
          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 {
  -webkit-padding-start: 8px;
          padding-inline-start: 8px;
  -webkit-padding-end: 24px;
          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;
  -webkit-margin-before: 0.5em;
          margin-block-start: 0.5em;
  -webkit-margin-after: 0;
          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;
  -webkit-margin-end: 0.4em;
          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: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: -webkit-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::-webkit-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.1);
}
.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 {
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 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 {
  -webkit-margin-before: 2em;
          margin-block-start: 2em;
  -webkit-margin-after: 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 {
  -webkit-margin-before: 0;
          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: #e9f2f5;
  font-family: "Noto Sans JP";
  font-weight: 400;
}

@font-face {
  font-family: "NotoSerifJP-Light";
  src: url("../fonts/NotoSansJP/NotoSerifJP-Light.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: 400;
  font-style: normal;
}
@font-face {
  font-family: "NotoSerifJP-Regular";
  src: url("../fonts/NotoSerifJP/NotoSerifJP-Regular.woff") format("woff");
  font-weight: normal;
  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: "SweetSansProBold";
  font-weight: 700;
  src: url("../fonts/SweetSansProBold.woff") format("woff");
  font-style: bold;
}
@font-face {
  font-family: "CircularStd-Book";
  font-weight: 800;
  src: url("../fonts/CircularStd-Book.woff") format("woff");
  font-style: normal;
}
@font-face {
  font-family: "ZenMaruGothic";
  font-weight: 400;
  src: url("../fonts/ZenMaruGothic/ZenMaruGothic-Regular.ttf") format("truetype");
  font-style: normal;
}
@font-face {
  font-family: "ZenMaruGothic";
  font-weight: 500;
  src: url("../fonts/ZenMaruGothic/ZenMaruGothic-Medium.ttf") format("truetype");
  font-style: normal;
}
@font-face {
  font-family: "ZenMaruGothic";
  font-weight: 300;
  src: url("../fonts/ZenMaruGothic/ZenMaruGothic-Light.ttf") format("truetype");
  font-style: normal;
}
@font-face {
  font-family: "ZenMaruGothic";
  font-weight: 700;
  src: url("../fonts/ZenMaruGothic/ZenMaruGothic-Bold.ttf") format("truetype");
  font-style: normal;
}
.color\:black {
  color: #1b1b1b;
}

:root {
  --gradient: linear-gradient(97deg, #dd262b 0%, #f58020 99.49%);
}

.header {
  position: fixed;
  z-index: 5;
  margin-top: 2.5vw;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}
@media screen and (max-width: 800px) {
  .header {
    margin-top: 8.5333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .header {
    position: fixed;
  }
}
.header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 90%;
  background-color: white;
  box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.15);
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
  border-radius: 999px;
  height: 4.609375vw;
}
@media screen and (max-width: 800px) {
  .header__inner {
    height: 12.8vw;
  }
}
@media screen and (max-width: 800px) {
  .header__inner {
    align-items: center;
  }
}
.header__left {
  width: 15.625vw;
  height: 3.125vw;
  margin-left: 1.25vw;
  margin-top: 0vw;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 800px) {
  .header__left {
    width: 29.3333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .header__left {
    height: 8vw;
  }
}
@media screen and (max-width: 800px) {
  .header__left {
    margin-left: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .header__left {
    margin-top: 0.8vw;
  }
}
.header__logoText {
  width: 12.890625vw;
  height: 1.875vw;
}
@media screen and (max-width: 800px) {
  .header__logoText {
    width: 44vw;
  }
}
@media screen and (max-width: 800px) {
  .header__logoText {
    height: 6.4vw;
  }
}
.header__nav {
  display: flex;
  align-items: center;
  gap: 1.875vw;
  text-align: right;
  transition: all 0.25s ease-in;
}
@media screen and (max-width: 800px) {
  .header__nav {
    display: none;
  }
}
.header__nav--under {
  position: relative;
  flex-direction: row;
  top: 0.78125vw;
}
@media screen and (max-width: 800px) {
  .header__nav {
    display: none;
  }
}
.header__navItem {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  align-self: stretch;
  transition: all 0.25s ease-in;
}
.header__navItem--arrow {
  padding-top: 1.71875vw;
  padding-bottom: 1.71875vw;
}
@media screen and (max-width: 800px) {
  .header__navItem--arrow {
    padding-top: 5.8666666667vw;
    padding-bottom: 5.8666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .header__navItem--arrow {
    display: none;
  }
}
.header__navItem::after {
  content: "";
  display: block;
  transition: all 0.25s ease-in;
  background-image: url("../images/header_arrow.png");
  background-size: cover;
  width: 0.625vw;
  height: 0.3125vw;
  position: absolute;
  left: 50%;
  bottom: 0.859375vw;
  transform: translateX(-50%);
  color: #1b1b1b;
  transition: transform 0.3s ease;
}
@media screen and (max-width: 800px) {
  .header__navItem::after {
    width: 2.1333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .header__navItem::after {
    height: 1.0666666667vw;
  }
}
.header__navItem:hover::after {
  transform: translateX(-50%) rotate(180deg);
}
.header__navItem:hover .dropDown {
  display: block;
  opacity: 1;
}
.header__navtext {
  position: relative;
  color: black;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.09375vw;
  transition: all 0.25s ease-in;
}
@media screen and (max-width: 800px) {
  .header__navtext {
    font-size: 3.7333333333vw;
  }
}
.header__navtext:hover {
  opacity: 40%;
}
.header__navtext--recruit {
  margin-left: 5vw;
}
@media screen and (max-width: 800px) {
  .header__navtext--recruit {
    margin-left: 17.0666666667vw;
  }
}
.header__navtext--contact {
  color: white;
  border-radius: 24.5px;
  background: var(--gradient);
  padding-top: 1.09375vw;
  padding-bottom: 1.09375vw;
  padding-left: 1.71875vw;
  padding-right: 1.71875vw;
  margin-right: 0.390625vw;
  border-radius: 999px;
  transition: all 0.25s ease-in;
}
@media screen and (max-width: 800px) {
  .header__navtext--contact {
    padding-top: 3.7333333333vw;
    padding-bottom: 3.7333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .header__navtext--contact {
    padding-left: 5.8666666667vw;
    padding-right: 5.8666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .header__navtext--contact {
    margin-right: 1.3333333333vw;
  }
}
.header__navtext--contact:hover {
  opacity: 60%;
}
.header__dropdown {
  display: none;
  position: absolute;
  z-index: -1;
  top: 5vw;
  left: 0;
  width: 100%;
  background-color: #ebe6e2;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3);
  opacity: 0;
  transition: all 0.5s ease;
}
.header__dropdownText {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 0.625vw;
  padding-bottom: 0.625vw;
  padding-left: 1.25vw;
  padding-right: 1.25vw;
  font-size: 0.78125vw;
  color: #1b1b1b;
  font-style: normal;
  font-weight: 400;
  text-align: center;
}
@media screen and (max-width: 800px) {
  .header__dropdownText {
    padding-top: 2.1333333333vw;
    padding-bottom: 2.1333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .header__dropdownText {
    padding-left: 4.2666666667vw;
    padding-right: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .header__dropdownText {
    font-size: 2.6666666667vw;
  }
}
.header__dropdownText:hover {
  background-color: #322a28;
  color: #ebe6e2;
}
.header__dropdownText--underline {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.about {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 1;
  padding-top: 6.25vw;
}
@media screen and (max-width: 800px) {
  .about {
    padding-top: 10.6666666667vw;
  }
}
.about--archive {
  margin-top: 4.6875vw;
  width: 100%;
}
@media screen and (max-width: 800px) {
  .about--archive {
    margin-top: 21.3333333333vw;
  }
}
.about__top {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.about__title {
  font-size: 5vw;
  font-family: "SweetSansProMedium";
  font-weight: 700;
  background: linear-gradient(97deg, #004c71 0%, #3c7ce1 99.49%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 800px) {
  .about__title {
    font-size: 12.8vw;
  }
}
.about__title--archive {
  color: #1e1e1e;
  font-family: "SweetSansProMedium";
  font-size: 3.75vw;
  font-style: normal;
  font-weight: 700;
  line-height: 2;
}
@media screen and (max-width: 800px) {
  .about__title--archive {
    font-size: 8.5333333333vw;
  }
}
.about__subtitle {
  font-size: 1.25vw;
}
@media screen and (max-width: 800px) {
  .about__subtitle {
    font-size: 4.2666666667vw;
  }
}
.about__inner {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  width: 80%;
}
.about__inner--archive {
  width: 100%;
}
.about__content {
  display: flex;
  justify-content: space-between;
  margin-top: 5vw;
  width: 100%;
}
@media screen and (max-width: 800px) {
  .about__content {
    margin-top: 10.6666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .about__content {
    flex-direction: column;
    align-items: center;
  }
}
.about__left {
  font-size: 2.5vw;
  margin-left: 6.25vw;
  line-height: 2;
  font-family: "Noto Sans JP";
  font-weight: 700;
  background: linear-gradient(97deg, #004c71 0%, #3c7ce1 99.49%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 800px) {
  .about__left {
    font-size: 6.4vw;
  }
}
@media screen and (max-width: 800px) {
  .about__left {
    margin-left: 0vw;
  }
}
.about__left--archive {
  color: #1e1e1e;
  font-family: "Hiragino Sans";
  font-size: 2.5vw;
  margin-left: 6.25vw;
  font-style: normal;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 1.6px;
}
@media screen and (max-width: 800px) {
  .about__left--archive {
    font-size: 6.4vw;
  }
}
@media screen and (max-width: 800px) {
  .about__left--archive {
    margin-left: 0vw;
  }
}
.about__right {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 36.640625vw;
}
@media screen and (max-width: 800px) {
  .about__right {
    width: 80vw;
  }
}
@media screen and (max-width: 800px) {
  .about__right {
    margin-top: 3.125vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .about__right {
    margin-top: 10.6666666667vw;
  }
}
.about__text {
  font-size: 1.25vw;
  line-height: 2;
}
@media screen and (max-width: 800px) {
  .about__text {
    font-size: 4.2666666667vw;
  }
}
.about__text:not(:first-of-type) {
  margin-top: 2.5vw;
}
@media screen and (max-width: 800px) {
  .about__text:not(:first-of-type) {
    margin-top: 8.5333333333vw;
  }
}
.about__button {
  display: flex;
  align-items: center;
  gap: 3.75vw;
  width: 20.078125vw;
  height: 4.53125vw;
  margin-top: 4.375vw;
  border-radius: 999px;
  background: var(--gradient);
  transition: all 0.25s ease-in;
}
@media screen and (max-width: 800px) {
  .about__button {
    width: 61.3333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .about__button {
    height: 15.4666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .about__button {
    margin-top: 14.9333333333vw;
  }
}
.about__button:hover {
  opacity: 60%;
}
.about__end {
  display: flex;
  justify-content: flex-end;
  width: 100%;
}
.about__buttonText {
  font-size: 1.09375vw;
  color: white;
  margin-left: 3.125vw;
}
@media screen and (max-width: 800px) {
  .about__buttonText {
    font-size: 3.7333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .about__buttonText {
    margin-left: 10.6666666667vw;
  }
}
@-webkit-keyframes backgroundAnimation {
  0% {
    background: var(--gradient);
  }
  100% {
    background: linear-gradient(to right, #dd262b, #f8b400);
  }
}
@keyframes backgroundAnimation {
  0% {
    background: var(--gradient);
  }
  100% {
    background: linear-gradient(to right, #dd262b, #f8b400);
  }
}

.footer {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 2;
  padding-top: 3.125vw;
  padding-bottom: 3.125vw;
}
@media screen and (max-width: 800px) {
  .footer {
    padding-top: 12.8vw;
    padding-bottom: 12.8vw;
  }
}
.footer__inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  width: 75%;
}
.footer__top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
}
@media screen and (max-width: 800px) {
  .footer__top {
    flex-direction: column;
  }
}
.footer__sitemap {
  display: flex;
  flex-direction: column;
  width: 45%;
}
@media screen and (max-width: 800px) {
  .footer__sitemap {
    width: 100%;
  }
  .footer__sitemap:last-child {
    margin-top: 3.125vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .footer__sitemap:last-child {
    margin-top: 10.6666666667vw;
  }
}
.footer__sitemapTitle {
  font-size: 1.875vw;
  background: var(--gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: "SweetSansProMedium";
  font-weight: normal;
}
@media screen and (max-width: 800px) {
  .footer__sitemapTitle {
    font-size: 6.4vw;
  }
}
.footer__link {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(4, auto);
  grid-gap: 1.25vw 0;
  margin-top: 1.25vw;
  padding-top: 1.25vw;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 800px) {
  .footer__link {
    margin-top: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .footer__link {
    padding-top: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .footer__link {
    display: none;
  }
}
.footer__linkSp {
  display: none;
}
@media screen and (max-width: 800px) {
  .footer__linkSp {
    display: flex;
    justify-content: flex-start;
    margin-top: 1.25vw;
    padding-top: 1.25vw;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .footer__linkSp {
    margin-top: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .footer__linkSp {
    padding-top: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .footer__linkSpFlex {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 50%;
  }
}
.footer__page {
  font-size: 0.9375vw;
  color: #1e1e1e;
  transition: all 0.25s ease-in;
}
@media screen and (max-width: 800px) {
  .footer__page {
    font-size: 3.2vw;
  }
}
.footer__page:hover {
  opacity: 60%;
}
@media screen and (max-width: 800px) {
  .footer__page {
    margin-top: 1.25vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .footer__page {
    margin-top: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .footer__page:first-of-type {
    margin-top: 0vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .footer__page:first-of-type {
    margin-top: 0vw;
  }
}
.footer .phone-number {
  font-size: 0.9375vw;
  color: #1e1e1e;
  transition: all 0.25s ease-in;
}
@media screen and (max-width: 800px) {
  .footer .phone-number {
    font-size: 3.2vw;
  }
}
.footer .phone-number:hover {
  opacity: 60%;
}
.footer__adress {
  display: flex;
  flex-direction: column;
  gap: 1.25vw;
  margin-top: 1.25vw;
  padding-top: 1.25vw;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 800px) {
  .footer__adress {
    margin-top: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .footer__adress {
    padding-top: 4.2666666667vw;
  }
}
.footer__flex {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
}
@media screen and (max-width: 800px) {
  .footer__flex:last-child {
    margin-top: 1.875vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .footer__flex:last-child {
    margin-top: 6.4vw;
  }
}
.footer__button {
  position: relative;
  margin-bottom: -7%;
  width: 3.28125vw;
  height: 3.28125vw;
  border-radius: 999px;
  transition: all 0.25s ease-in;
  margin-top: 5vw;
}
@media screen and (max-width: 800px) {
  .footer__button {
    width: 11.2vw;
  }
}
@media screen and (max-width: 800px) {
  .footer__button {
    height: 11.2vw;
  }
}
@media screen and (max-width: 800px) {
  .footer__button {
    margin-top: 0vw;
  }
}
@media screen and (max-width: 800px) {
  .footer__button {
    display: none;
  }
}
.footer__button:hover {
  color: #1b1b1b;
  background-color: white;
}
.footer__arrow {
  position: absolute;
  width: 3.28125vw;
  height: 3.28125vw;
  -o-object-fit: contain;
     object-fit: contain;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 800px) {
  .footer__arrow {
    width: 11.2vw;
  }
}
@media screen and (max-width: 800px) {
  .footer__arrow {
    height: 11.2vw;
  }
}
.footer__border {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.footer__buttonSp {
  display: none;
  position: relative;
}
@media screen and (max-width: 800px) {
  .footer__buttonSp {
    display: block;
    width: 2.8125vw;
    height: 2.8125vw;
    border-radius: 999px;
    transition: all 0.25s ease-in;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .footer__buttonSp {
    width: 9.6vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .footer__buttonSp {
    height: 9.6vw;
  }
}
.footer__buttonSp:hover {
  color: #1b1b1b;
  background-color: white;
}
@media screen and (max-width: 800px) {
  .footer__arrowSp {
    position: absolute;
    width: 2.8125vw;
    height: 2.8125vw;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .footer__arrowSp {
    width: 9.6vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .footer__arrowSp {
    height: 9.6vw;
  }
}
@media screen and (max-width: 800px) {
  .footer__borderSp {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 2.8125vw;
    height: 2.8125vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .footer__borderSp {
    width: 9.6vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .footer__borderSp {
    height: 9.6vw;
  }
}
.footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin-top: 5vw;
  padding-top: 3.125vw;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 800px) {
  .footer__bottom {
    margin-top: 12.8vw;
  }
}
@media screen and (max-width: 800px) {
  .footer__bottom {
    padding-top: 0vw;
  }
}
@media screen and (max-width: 800px) {
  .footer__bottom {
    flex-direction: column;
    border-top: 0px solid rgba(0, 0, 0, 0.1);
  }
}
.footer__logoFlex {
  display: flex;
  align-items: center;
  gap: 3.125vw;
}
@media screen and (max-width: 800px) {
  .footer__logoFlex {
    display: none;
  }
}
.footer__logoFlexSp {
  display: none;
  gap: 2.5vw;
}
@media screen and (max-width: 800px) {
  .footer__logoFlexSp {
    display: block;
    gap: 16px;
  }
}
.footer__logo {
  width: 15.625vw;
  height: 3.90625vw;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 800px) {
  .footer__logo {
    width: 43.7333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .footer__logo {
    height: 5.8666666667vw;
  }
}
.footer__privacyLogo {
  width: 4.84375vw;
  height: 4.84375vw;
}
@media screen and (max-width: 800px) {
  .footer__privacyLogo {
    width: 10.6666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .footer__privacyLogo {
    height: 10.6666666667vw;
  }
}
.footer__logoSp {
  display: none;
}
@media screen and (max-width: 800px) {
  .footer__logoSp {
    display: block;
    width: 23.59375vw;
    height: 3.125vw;
    -o-object-fit: contain;
       object-fit: contain;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .footer__logoSp {
    width: 43.7333333333vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .footer__logoSp {
    height: 10.6666666667vw;
  }
}
.footer__flexSp {
  display: none;
}
@media screen and (max-width: 800px) {
  .footer__flexSp {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
  }
}
.footer__inc {
  font-size: 0.9375vw;
  color: rgba(30, 30, 30, 0.6);
}
@media screen and (max-width: 800px) {
  .footer__inc {
    font-size: 3.2vw;
  }
}
@media screen and (max-width: 800px) {
  .footer__inc {
    margin-top: 1.25vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .footer__inc {
    margin-top: 4.2666666667vw;
  }
}
.footer__snsIcons {
  display: flex;
  gap: 1.875vw;
  margin-top: 1.25vw;
}
@media screen and (max-width: 800px) {
  .footer__snsIcons {
    margin-top: 6.4vw;
  }
}
@media screen and (max-width: 800px) {
  .footer__snsIcons {
    gap: 2.5vw;
  }
}
.footer__snsIcon {
  width: 1.875vw;
  height: 1.875vw;
}
@media screen and (max-width: 800px) {
  .footer__snsIcon {
    width: 6.4vw;
  }
}
@media screen and (max-width: 800px) {
  .footer__snsIcon {
    height: 6.4vw;
  }
}

:root {
  --gradient: linear-gradient(97deg, #004c71 0%, #3c7ce1 99.49%);
  --text-color: #004c71;
}

body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}

.background-video {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 0;
  opacity: 60%;
}
@media screen and (max-width: 800px) {
  .background-video {
    display: none;
  }
}
.background-video__img {
  display: none;
}
@media screen and (max-width: 800px) {
  .background-video__img {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    z-index: 0;
    opacity: 60%;
  }
}

.hidden {
  display: none;
}

.fv {
  position: relative;
  overflow: hidden;
  height: 100vh;
  padding-bottom: 27.34375vw;
  z-index: 2;
  opacity: 1;
}
@media screen and (max-width: 800px) {
  .fv {
    padding-bottom: 18.6666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .fv {
    height: 46.875vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .fv {
    height: 160vw;
  }
}
.fv__content {
  position: absolute;
  top: 0%;
  left: 50%;
  transform: translate(-50%, 0);
  margin-top: 15.390625vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
}
@media screen and (max-width: 800px) {
  .fv__content {
    margin-top: 42.6666666667vw;
  }
}
.fv__title {
  font-size: 6.25vw;
  font-family: "Hiragino Sans";
  font-weight: 600;
}
@media screen and (max-width: 800px) {
  .fv__title {
    font-size: 10.6666666667vw;
  }
}
.fv__title .char {
  display: inline-block;
  font-size: 6.25vw;
  font-family: "Hiragino Sans";
  font-weight: 600;
  background: var(--gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  transform: translateY(100px);
  opacity: 0;
  transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
@media screen and (max-width: 800px) {
  .fv__title .char {
    font-size: 15.4666666667vw;
  }
}
.fv__title .char.animate {
  transform: translateY(0);
  opacity: 1;
}
.fv__title .line-break {
  display: none;
}
@media screen and (max-width: 800px) {
  .fv__title .line-break {
    display: initial;
  }
}
.fv__title:not(.js-animated) {
  opacity: 0;
  transform: translateY(40px);
  transition: transform 0.8s ease, opacity 0.8s ease;
  background: var(--gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.fv__text {
  font-size: 1.875vw;
  margin-top: 1.875vw;
  color: black;
  opacity: 0;
  transform: translateY(40px);
  transition: transform 0.8s ease, opacity 0.8s ease;
  transition-delay: 1.2s;
}
@media screen and (max-width: 800px) {
  .fv__text {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .fv__text {
    margin-top: 6.4vw;
  }
}
@media screen and (max-width: 800px) {
  .fv__text {
    width: 90%;
  }
}
.fv.show .fv__title:not(.js-animated) {
  transform: translateY(0);
  opacity: 1;
  transition-delay: 0.3s;
}
.fv.show .fv__text {
  transform: translateY(0);
  opacity: 1;
}
.fv__img {
  position: relative;
  margin-top: 6.25vw;
}
@media screen and (max-width: 800px) {
  .fv__img {
    margin-top: 10.6666666667vw;
  }
}
.fv__svg {
  position: absolute;
  top: -9%;
  right: 10.4%;
  width: 100%;
  height: auto;
  width: 11.484375vw;
  height: 11.484375vw;
  transition: all 0.25s ease-in;
  cursor: pointer;
}
@media screen and (max-width: 800px) {
  .fv__svg {
    width: 12vw;
  }
}
@media screen and (max-width: 800px) {
  .fv__svg {
    height: 12vw;
  }
}
.fv__svg:hover {
  opacity: 40%;
}
@media screen and (max-width: 800px) {
  .fv__svg {
    top: 5%;
    right: 9.8%;
  }
}
.fv__underImg {
  width: 95vw;
  height: 37.65625vw;
  margin-top: 2.34375vw;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 800px) {
  .fv__underImg {
    width: 109.0666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .fv__underImg {
    height: 45.3333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .fv__underImg {
    margin-top: 8vw;
  }
}
.fv__arrowBox {
  position: absolute;
  top: 45%;
  right: 11.2%;
}
.fv__arrow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

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

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

.headerAnother {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 5.078125vw;
  box-shadow: 6px 6px 12px rgba(252, 202, 1, 0.3);
}
@media screen and (max-width: 800px) {
  .headerAnother {
    height: 17.3333333333vw;
  }
}
.headerAnother__imglogo {
  width: 7.34375vw;
  margin-left: 2.65625vw;
}
@media screen and (max-width: 800px) {
  .headerAnother__imglogo {
    width: 25.0666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .headerAnother__imglogo {
    margin-left: 9.0666666667vw;
  }
}
.headerAnother__navbox {
  display: flex;
  align-items: center;
  gap: 1.875vw;
  margin-right: 1.328125vw;
}
@media screen and (max-width: 800px) {
  .headerAnother__navbox {
    margin-right: 4.5333333333vw;
  }
}
.headerAnother__nav {
  display: flex;
  justify-content: flex-end;
  gap: 1.875vw;
}
.headerAnother__navtext {
  color: black;
  font-size: 0.9375vw;
}
@media screen and (max-width: 800px) {
  .headerAnother__navtext {
    font-size: 3.2vw;
  }
}
.headerAnother__buttons {
  display: flex;
  gap: 1.875vw;
}
.headerAnother__button {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 1.875vw;
  width: 9.53125vw;
  padding-top: 1.09375vw;
  padding-bottom: 1.09375vw;
  background-color: #fcd475;
  filter: drop-shadow(0px 3px 6px rgba(252, 202, 1, 0.16));
}
@media screen and (max-width: 800px) {
  .headerAnother__button {
    width: 32.5333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .headerAnother__button {
    padding-top: 3.7333333333vw;
    padding-bottom: 3.7333333333vw;
  }
}
.headerAnother__button--white {
  background-color: white;
  color: #fcd475;
  border: 0.078125vw solid #fcd475;
}
.headerAnother__buttontext {
  font-size: 0.9375vw;
  color: white;
}
@media screen and (max-width: 800px) {
  .headerAnother__buttontext {
    font-size: 3.2vw;
  }
}
.headerAnother__buttontext--black {
  color: black;
}

.footerContact {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 2;
  margin-top: 8.75vw;
}
@media screen and (max-width: 800px) {
  .footerContact {
    margin-top: 29.8666666667vw;
  }
}
.footerContact::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(97deg, #004c71 0%, #3c7ce1 99.49%);
  z-index: -1;
}
.footerContact__inner {
  width: 78.4375vw;
  padding-top: 6.25vw;
  padding-bottom: 6.25vw;
}
@media screen and (max-width: 800px) {
  .footerContact__inner {
    width: 80vw;
  }
}
@media screen and (max-width: 800px) {
  .footerContact__inner {
    padding-top: 21.3333333333vw;
    padding-bottom: 21.3333333333vw;
  }
}
.footerContact__contact {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 800px) {
  .footerContact__contact {
    flex-direction: column;
    align-items: flex-start;
  }
}
.footerContact__left {
  width: 33.4375vw;
}
@media screen and (max-width: 800px) {
  .footerContact__left {
    width: 80vw;
  }
}
@media screen and (max-width: 800px) {
  .footerContact__left {
    margin-bottom: 3.125vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .footerContact__left {
    margin-bottom: 10.6666666667vw;
  }
}
.footerContact__title {
  font-size: 3.75vw;
  color: #fff;
  font-family: "SweetSansProMedium";
  font-style: normal;
  font-weight: 700;
}
@media screen and (max-width: 800px) {
  .footerContact__title {
    font-size: 12.8vw;
  }
}
.footerContact__subtitle {
  font-size: 1.25vw;
  color: #fff;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.8px;
}
@media screen and (max-width: 800px) {
  .footerContact__subtitle {
    font-size: 4.2666666667vw;
  }
}
.footerContact__text {
  font-size: 1.25vw;
  margin-top: 1.25vw;
  line-height: 2;
  color: white;
}
@media screen and (max-width: 800px) {
  .footerContact__text {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .footerContact__text {
    margin-top: 4.2666666667vw;
  }
}
.footerContact__num {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-top: 0.625vw;
}
@media screen and (max-width: 800px) {
  .footerContact__num {
    margin-top: 2.1333333333vw;
  }
}
.footerContact__tel {
  color: white;
  font-size: 1.25vw;
}
@media screen and (max-width: 800px) {
  .footerContact__tel {
    font-size: 4.2666666667vw;
  }
}
.footerContact__number {
  color: #1b1b1b;
  font-size: 2.5vw;
  font-weight: 600;
  font-family: "Manrope-Bold";
  color: white;
}
@media screen and (max-width: 800px) {
  .footerContact__number {
    font-size: 6.4vw;
  }
}
.footerContact__number a {
  font-size: inherit;
  font-family: inherit;
  color: inherit;
}
.footerContact__number span {
  font-size: 0.9375vw;
  font-weight: 600;
  font-family: "Manrope-Bold";
  color: white;
}
@media screen and (max-width: 800px) {
  .footerContact__number span {
    font-size: 3.2vw;
  }
}
.footerContact__viewbutton {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 800px) {
  .footerContact__viewbutton {
    flex-direction: column;
  }
}
@media screen and (max-width: 800px) {
  .footerContact__right {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
  }
}
.footerContact__end {
  display: flex;
  justify-content: flex-end;
  width: 100%;
}
@media screen and (max-width: 800px) {
  .footerContact__end {
    margin-top: 1.875vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .footerContact__end {
    margin-top: 6.4vw;
  }
}
.footerContact__button {
  display: flex;
  align-items: center;
  gap: 3.75vw;
  width: 17.1875vw;
  height: 4.53125vw;
  margin-top: 0.625vw;
  border-radius: 999px;
  border: 1px solid white;
  transition: all 0.25s ease-in;
}
@media screen and (max-width: 800px) {
  .footerContact__button {
    width: 50.6666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .footerContact__button {
    height: 15.4666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .footerContact__button {
    margin-top: 2.1333333333vw;
  }
}
.footerContact__button:hover {
  background-color: white;
}
.footerContact__button:hover .footerContact__buttonText {
  background: var(--gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.footerContact__buttonText {
  font-size: 1.09375vw;
  color: white;
  margin-left: 3.125vw;
  transition: all 0.25s ease-in;
}
@media screen and (max-width: 800px) {
  .footerContact__buttonText {
    font-size: 3.7333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .footerContact__buttonText {
    margin-left: 10.6666666667vw;
  }
}
.footerContact__svg {
  transition: all 0.25s ease-in;
}
.footerContact .footerContact__svg.hover-svg {
  display: none;
}
.footerContact .footerContact__button:hover .footerContact__svg.original-svg {
  display: none;
}
.footerContact .footerContact__button:hover .footerContact__svg.hover-svg {
  display: block;
}

.service {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 6.25vw;
  z-index: 1;
}
@media screen and (max-width: 800px) {
  .service {
    padding-top: 29.8666666667vw;
  }
}
.service__inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 80%;
}
.service__top {
  display: flex;
  align-items: center;
  gap: 1.25vw;
}
.service__title {
  font-size: 1.09375vw;
  font-family: "SweetSansProRegular";
  font-weight: normal;
}
@media screen and (max-width: 800px) {
  .service__title {
    font-size: 3.7333333333vw;
  }
}
.service__content {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin-top: 4.375vw;
}
@media screen and (max-width: 800px) {
  .service__content {
    margin-top: 2.1333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .service__content {
    flex-direction: column;
  }
}
.service__left {
  font-size: 5vw;
  font-family: "SweetSansProMedium";
  font-weight: 700;
  background: linear-gradient(97deg, #004c71 0%, #3c7ce1 99.49%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 800px) {
  .service__left {
    font-size: 12.8vw;
  }
}
.service__right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  width: 45.46875vw;
}
@media screen and (max-width: 800px) {
  .service__right {
    width: 80vw;
  }
}
@media screen and (max-width: 800px) {
  .service__right {
    margin-top: 3.125vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .service__right {
    margin-top: 10.6666666667vw;
  }
}
.service__text {
  font-size: 1.25vw;
  line-height: 2;
}
@media screen and (max-width: 800px) {
  .service__text {
    font-size: 4.2666666667vw;
  }
}
.service__button {
  display: flex;
  align-items: center;
  gap: 3.75vw;
  width: 20.078125vw;
  height: 4.53125vw;
  margin-top: 4.375vw;
  border-radius: 999px;
  background: var(--gradient);
  transition: all 0.25s ease-in;
}
@media screen and (max-width: 800px) {
  .service__button {
    width: 68.5333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .service__button {
    height: 15.4666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .service__button {
    margin-top: 14.9333333333vw;
  }
}
.service__button:hover {
  opacity: 60%;
}
.service__buttonText {
  font-size: 1.09375vw;
  color: white;
  margin-left: 2.578125vw;
}
@media screen and (max-width: 800px) {
  .service__buttonText {
    font-size: 3.7333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .service__buttonText {
    margin-left: 8.8vw;
  }
}

.serviceArchive {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-top: 12.5vw;
}
@media screen and (max-width: 800px) {
  .serviceArchive {
    padding-top: 42.6666666667vw;
  }
}
.serviceArchive__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 80%;
}
.serviceArchive__title {
  font-size: 9.375vw;
  background: var(--gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  width: 100%;
  text-align: start;
  font-family: "SweetSansProMedium";
  font-weight: 700;
}
@media screen and (max-width: 800px) {
  .serviceArchive__title {
    font-size: 13.8666666667vw;
  }
}
.serviceArchive__title .char {
  display: inline-block;
  font-size: 9.375vw;
  font-family: "SweetSansProMedium";
  font-weight: 700;
  background: var(--gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  transform: translateY(100px);
  opacity: 0;
  transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
@media screen and (max-width: 800px) {
  .serviceArchive__title .char {
    font-size: 13.8666666667vw;
  }
}
.serviceArchive__title .char.animate {
  transform: translateY(0);
  opacity: 1;
}
.serviceArchive__title:not(.js-animated) {
  opacity: 0;
  transform: translateY(40px);
  transition: transform 0.8s ease, opacity 0.8s ease;
}
.serviceArchive.show .archive-about__title:not(.js-animated) {
  transform: translateY(0);
  opacity: 1;
  transition-delay: 0.3s;
}
.serviceArchive__subtitle {
  font-size: 1.5625vw;
  width: 100%;
  text-align: start;
}
@media screen and (max-width: 800px) {
  .serviceArchive__subtitle {
    font-size: 4.2666666667vw;
  }
}
.serviceArchive__content {
  display: flex;
  justify-content: space-between;
  margin-top: 5vw;
  width: 100%;
}
@media screen and (max-width: 800px) {
  .serviceArchive__content {
    margin-top: 10.6666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .serviceArchive__content {
    flex-direction: column;
    align-items: center;
  }
}
.serviceArchive__left {
  font-size: 2.5vw;
  line-height: 2;
  font-family: "Noto Sans JP";
  font-weight: 700;
  background: linear-gradient(97deg, #004c71 0%, #3c7ce1 99.49%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 800px) {
  .serviceArchive__left {
    font-size: 6.4vw;
  }
}
.serviceArchive__right {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 36.640625vw;
}
@media screen and (max-width: 800px) {
  .serviceArchive__right {
    width: 80vw;
  }
}
@media screen and (max-width: 800px) {
  .serviceArchive__right {
    margin-top: 3.125vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .serviceArchive__right {
    margin-top: 10.6666666667vw;
  }
}
.serviceArchive__text {
  font-size: 1.25vw;
  line-height: 2;
}
@media screen and (max-width: 800px) {
  .serviceArchive__text {
    font-size: 4.2666666667vw;
  }
}
.serviceArchive__text:not(:first-of-type) {
  margin-top: 2.5vw;
}
@media screen and (max-width: 800px) {
  .serviceArchive__text:not(:first-of-type) {
    margin-top: 8.5333333333vw;
  }
}
.serviceArchive__button {
  display: flex;
  align-items: center;
  gap: 3.75vw;
  width: 20.078125vw;
  height: 4.53125vw;
  margin-top: 4.375vw;
  border-radius: 999px;
  background: var(--gradient);
  transition: all 0.25s ease-in;
}
@media screen and (max-width: 800px) {
  .serviceArchive__button {
    width: 61.3333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .serviceArchive__button {
    height: 15.4666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .serviceArchive__button {
    margin-top: 14.9333333333vw;
  }
}
.serviceArchive__button:hover {
  opacity: 60%;
}
.serviceArchive__end {
  display: flex;
  justify-content: flex-end;
  width: 100%;
}
.serviceArchive__buttonText {
  font-size: 1.09375vw;
  color: white;
  margin-left: 3.125vw;
}
@media screen and (max-width: 800px) {
  .serviceArchive__buttonText {
    font-size: 3.7333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .serviceArchive__buttonText {
    margin-left: 10.6666666667vw;
  }
}
@keyframes backgroundAnimation {
  0% {
    background: var(--gradient);
  }
  100% {
    background: linear-gradient(to right, #dd262b, #f8b400);
  }
}

.news {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 4.6875vw;
  overflow: hidden;
}
@media screen and (max-width: 800px) {
  .news {
    margin-top: 16vw;
  }
}
.news__inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 80%;
}
.news__top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
}
@media screen and (max-width: 800px) {
  .news__top {
    flex-direction: column;
    align-items: flex-start;
  }
}
.news__flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2.5vw;
}
.news__title {
  font-size: 5vw;
  font-family: "SweetSansProMedium";
  font-weight: 700;
  background: linear-gradient(97deg, #004c71 0%, #3c7ce1 99.49%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 800px) {
  .news__title {
    font-size: 12.8vw;
  }
}
.news__button {
  display: flex;
  align-items: center;
  gap: 3.75vw;
  width: 20.078125vw;
  height: 4.53125vw;
  border-radius: 999px;
  background: var(--gradient);
  transition: all 0.25s ease-in;
}
@media screen and (max-width: 800px) {
  .news__button {
    width: 61.3333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .news__button {
    height: 15.4666666667vw;
  }
}
.news__button:hover {
  opacity: 60%;
}
@media screen and (max-width: 800px) {
  .news__button {
    margin-top: 1.875vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .news__button {
    margin-top: 6.4vw;
  }
}
.news__article {
  display: flex;
  margin-top: 6.25vw;
}
@media screen and (max-width: 800px) {
  .news__article {
    margin-top: 10.6666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .news__article--blog {
    margin-top: 4.375vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .news__article--blog {
    margin-top: 14.9333333333vw;
  }
}
.news__content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 26.171875vw;
  height: 31.953125vw;
  background-color: white;
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
  border-bottom-left-radius: 16px;
  border-bottom-right-radius: 16px;
  overflow: hidden;
}
@media screen and (max-width: 800px) {
  .news__content {
    width: 80vw;
  }
}
@media screen and (max-width: 800px) {
  .news__content {
    height: 109.0666666667vw;
  }
}
.news__imgWrapper {
  position: relative;
  width: 100%;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.news__imgWrapper::before {
  display: block;
  content: "";
  padding-top: 52.5373134328%;
}
.news__imgWrapper > * {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.news__img {
  width: 100%;
  height: 100%;
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
  -o-object-fit: contain;
     object-fit: contain;
  transition: transform 0.3s ease;
  -o-object-fit: cover;
     object-fit: cover;
}
.news__link {
  padding-top: 2.5vw;
  padding-bottom: 2.5vw;
  padding-left: 2.5vw;
  padding-right: 2.5vw;
}
@media screen and (max-width: 800px) {
  .news__link {
    padding-top: 8.5333333333vw;
    padding-bottom: 8.5333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .news__link {
    padding-left: 8.5333333333vw;
    padding-right: 8.5333333333vw;
  }
}
.news__date {
  font-size: 1.25vw;
  color: #98a1ac;
}
@media screen and (max-width: 800px) {
  .news__date {
    font-size: 4.2666666667vw;
  }
}
.news__column {
  font-size: 1.25vw;
  line-height: 1.5;
  margin-top: 1.25vw;
  color: black;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  line-clamp: 3;
  box-orient: vertical;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
@media screen and (max-width: 800px) {
  .news__column {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .news__column {
    margin-top: 4.2666666667vw;
  }
}
.news__termBox {
  position: absolute;
  bottom: 0;
  margin-bottom: 2.5vw;
  width: 19.53125vw;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 800px) {
  .news__termBox {
    margin-bottom: 8.5333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .news__termBox {
    width: 66.6666666667vw;
  }
}
.news__term {
  color: #98a1ac;
  font-size: 1.09375vw;
}
@media screen and (max-width: 800px) {
  .news__term {
    font-size: 3.7333333333vw;
  }
}

.swiper-container {
  position: relative;
  padding-bottom: 6.25vw;
}
@media screen and (max-width: 800px) {
  .swiper-container {
    padding-bottom: 21.3333333333vw;
  }
}

.swiper-horizontal > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute;
  left: 0;
  z-index: 3;
  height: 5px;
  width: 84%;
}

.swiper-scrollbar {
  position: absolute;
  top: 95%;
  left: 0;
  width: 84%;
  height: 4px;
  background: #e0e0e0;
}

.swiper-scrollbar-drag {
  background: linear-gradient(97deg, #004c71 0%, #3c7ce1 99.49%);
  height: 100%;
  position: absolute;
  left: 0;
  /* 位置を左に固定 */
  width: 0;
  transition: width 0.3s, transform 0.3s;
  /* transformの変更にアニメーションを適用 */
}

.swiper-scrollbar-drag::after {
  content: "";
  position: absolute;
  right: -10px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background-color: white;
  border-radius: 999px;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
}

.swiper-button-next,
.swiper-button-prev {
  width: 48px;
  height: 48px;
  background: #fff;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 95%;
  z-index: 3;
  font-size: 20px;
  color: #000;
}

.swiper-button-next::after,
.swiper-button-prev::after {
  content: "←";
  font-size: 13px;
}

.swiper-button-next::after {
  transform: rotate(180deg);
}

.swiper-button-next {
  right: 0;
}

.swiper-button-prev {
  left: 90%;
}

@media (max-width: 768px) {
  .swiper-horizontal > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
    position: absolute;
    left: 0;
    z-index: 3;
    height: 5px;
    width: 65%;
  }

  .swiper-scrollbar {
    top: 94%;
  }

  .swiper-button-next,
.swiper-button-prev {
    width: 30px;
    height: 30px;
  }

  .swiper-button-prev {
    left: 75%;
  }
}
.newsUnder {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 12.5vw;
}
@media screen and (max-width: 800px) {
  .newsUnder {
    padding-top: 42.6666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .newsUnder {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}
.newsUnder__inner {
  display: flex;
  flex-direction: column;
  z-index: 1;
  width: 80%;
}
.newsUnder__titleBox {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.newsUnder__title {
  font-size: 9.375vw;
  background: var(--gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: "SweetSansProMedium";
  font-weight: 700;
  letter-spacing: 1.6px;
}
@media screen and (max-width: 800px) {
  .newsUnder__title {
    font-size: 13.8666666667vw;
  }
}
.newsUnder__title .char {
  display: inline-block;
  font-size: 9.375vw;
  font-family: "SweetSansProMedium";
  font-weight: 700;
  background: var(--gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  transform: translateY(100px);
  opacity: 0;
  transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
@media screen and (max-width: 800px) {
  .newsUnder__title .char {
    font-size: 13.8666666667vw;
  }
}
.newsUnder__title .char.animate {
  transform: translateY(0);
  opacity: 1;
}
.newsUnder__title:not(.js-animated) {
  opacity: 0;
  transform: translateY(40px);
  transition: transform 0.8s ease, opacity 0.8s ease;
}
.newsUnder.show .archive-about__title:not(.js-animated) {
  transform: translateY(0);
  opacity: 1;
  transition-delay: 0.3s;
}
.newsUnder__subtitle {
  font-size: 1.5625vw;
  color: black;
}
@media screen and (max-width: 800px) {
  .newsUnder__subtitle {
    font-size: 4.2666666667vw;
  }
}
.newsUnder__titleLine {
  width: 13.28125vw;
  height: 2.34375vw;
  background: linear-gradient(90deg, #ffba27 0%, rgba(255, 187, 41, 0) 80.73%);
  margin-top: 0;
}
@media screen and (max-width: 800px) {
  .newsUnder__titleLine {
    width: 45.3333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .newsUnder__titleLine {
    height: 4.2666666667vw;
  }
}
.newsUnder__terms {
  display: flex;
  gap: 1.25vw;
  flex-wrap: wrap;
  margin-top: 9.375vw;
  transition: all 0.2s ease-in;
}
@media screen and (max-width: 800px) {
  .newsUnder__terms {
    margin-top: 10.6666666667vw;
  }
}
.newsUnder__term {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 999px;
  border: 1px solid rgba(30, 30, 30, 0.4);
  cursor: pointer;
  transition: all 0.2s ease-in;
}
.newsUnder__term.selected {
  background: white;
  border: 1px solid var(--text-color);
}
.newsUnder__term.selected a {
  color: black;
  transition: all 0.2s ease-in;
}
.newsUnder__term:hover {
  opacity: 40%;
}
.newsUnder__termLink {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-left: 1.25vw;
  padding-right: 1.25vw;
  padding-top: 0.625vw;
  padding-bottom: 0.625vw;
  color: black;
  transition: all 0.2s ease-in;
}
@media screen and (max-width: 800px) {
  .newsUnder__termLink {
    padding-left: 4.2666666667vw;
    padding-right: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .newsUnder__termLink {
    padding-top: 2.1333333333vw;
    padding-bottom: 2.1333333333vw;
  }
}
.newsUnder__name {
  width: 7.578125vw;
  padding-top: 0.625vw;
  padding-bottom: 0.625vw;
  border: 0.078125vw solid rgba(255, 255, 255, 0.3);
  border-radius: 78.046875vw;
  text-align: center;
  color: #1b1b1b;
  font-size: 0.78125vw;
}
@media screen and (max-width: 800px) {
  .newsUnder__name {
    width: 25.8666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .newsUnder__name {
    padding-top: 2.1333333333vw;
    padding-bottom: 2.1333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .newsUnder__name {
    font-size: 2.6666666667vw;
  }
}
.newsUnder__contents {
  margin-top: 4.375vw;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
@media screen and (max-width: 800px) {
  .newsUnder__contents {
    margin-top: 14.9333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .newsUnder__contents {
    grid-template-columns: 1fr;
  }
}
.newsUnder__content {
  margin-bottom: 1.875vw;
  padding-bottom: 2.5vw;
  border-bottom: 0.078125vw solid rgba(255, 255, 255, 0.3);
}
@media screen and (max-width: 800px) {
  .newsUnder__content {
    margin-bottom: 6.4vw;
  }
}
@media screen and (max-width: 800px) {
  .newsUnder__content {
    padding-bottom: 8.5333333333vw;
  }
}
.newsUnder__date {
  font-size: 1.25vw;
  margin-bottom: 1.25vw;
  color: #1b1b1b;
  opacity: 30%;
}
@media screen and (max-width: 800px) {
  .newsUnder__date {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .newsUnder__date {
    margin-bottom: 4.2666666667vw;
  }
}
.newsUnder__text {
  color: #1b1b1b;
  font-size: 1.25vw;
  padding-bottom: 2.5vw;
}
@media screen and (max-width: 800px) {
  .newsUnder__text {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .newsUnder__text {
    padding-bottom: 8.5333333333vw;
  }
}
.newsUnder__arrow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1.5625vw;
}
@media screen and (max-width: 800px) {
  .newsUnder__arrow {
    width: 5.3333333333vw;
  }
}
.newsUnder__pages {
  position: relative;
  gap: 1.25vw;
}
.newsUnder__pages ul {
  display: flex;
  align-items: center;
  padding: 0;
  list-style: none;
  gap: 1.25vw;
}
.newsUnder__pages ul li {
  position: relative;
}
.newsUnder__pages ul li a,
.newsUnder__pages ul li span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 4.375vw;
  height: 4.375vw;
  font-size: 1.25vw;
  border: 0.078125vw solid rgba(0, 0, 0, 0.1);
  border-radius: 78.046875vw;
  color: #1b1b1b;
  cursor: pointer;
  transition: all 0.25s ease-in;
}
@media screen and (max-width: 800px) {
  .newsUnder__pages ul li a,
.newsUnder__pages ul li span {
    width: 14.9333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .newsUnder__pages ul li a,
.newsUnder__pages ul li span {
    height: 14.9333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .newsUnder__pages ul li a,
.newsUnder__pages ul li span {
    font-size: 4.2666666667vw;
  }
}
.newsUnder__pages ul li a:hover,
.newsUnder__pages ul li span:hover {
  border: 0.078125vw solid var(--text-color);
}
.newsUnder__pages ul li span.current {
  border: 0.078125vw solid var(--text-color);
}
.newsUnder__pagenation {
  display: flex;
  gap: 1.25vw;
  align-items: center;
  justify-content: center;
}
.newsUnder__prev {
  position: relative;
  width: 4.140625vw;
  height: 4.140625vw;
  border: 0.078125vw solid rgba(255, 255, 255, 0.3);
  border-radius: 78.046875vw;
}
@media screen and (max-width: 800px) {
  .newsUnder__prev {
    width: 14.1333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .newsUnder__prev {
    height: 14.1333333333vw;
  }
}
.newsUnder__next {
  position: relative;
  width: 4.140625vw;
  height: 4.140625vw;
  border: 0.078125vw solid rgba(255, 255, 255, 0.3);
  border-radius: 78.046875vw;
}
@media screen and (max-width: 800px) {
  .newsUnder__next {
    width: 14.1333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .newsUnder__next {
    height: 14.1333333333vw;
  }
}
.newsUnder__white {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: white;
  border-radius: 78.046875vw;
}
.newsUnder__pages {
  position: relative;
  margin-top: 6.25vw;
  gap: 1.25vw;
}
@media screen and (max-width: 800px) {
  .newsUnder__pages {
    margin-top: 21.3333333333vw;
  }
}
.newsUnder__num {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 1.25vw;
  color: #ebe6e2;
}
@media screen and (max-width: 800px) {
  .newsUnder__num {
    font-size: 4.2666666667vw;
  }
}
.newsUnder__page1 {
  position: relative;
  width: 4.140625vw;
  height: 4.140625vw;
  border: 0.078125vw solid rgba(255, 255, 255, 0.3);
  border-radius: 78.046875vw;
}
@media screen and (max-width: 800px) {
  .newsUnder__page1 {
    width: 14.1333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .newsUnder__page1 {
    height: 14.1333333333vw;
  }
}
.newsUnder__page2 {
  position: relative;
  width: 4.140625vw;
  height: 4.140625vw;
  border: 0.078125vw solid rgba(255, 255, 255, 0.3);
  border-radius: 78.046875vw;
}
@media screen and (max-width: 800px) {
  .newsUnder__page2 {
    width: 14.1333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .newsUnder__page2 {
    height: 14.1333333333vw;
  }
}
.newsUnder__page3 {
  position: relative;
  width: 4.140625vw;
  height: 4.140625vw;
  border: 0.078125vw solid rgba(255, 255, 255, 0.3);
  border-radius: 78.046875vw;
}
@media screen and (max-width: 800px) {
  .newsUnder__page3 {
    width: 14.1333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .newsUnder__page3 {
    height: 14.1333333333vw;
  }
}

.blogBody {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.blogBody__inner {
  display: flex;
  align-items: center;
  width: 78.4375vw;
  padding-top: 9.375vw;
}
@media screen and (max-width: 800px) {
  .blogBody__inner {
    width: 80vw;
  }
}
@media screen and (max-width: 800px) {
  .blogBody__inner {
    padding-top: 32vw;
  }
}

.blog {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 8.75vw;
  overflow: hidden;
}
@media screen and (max-width: 800px) {
  .blog {
    margin-top: 29.8666666667vw;
  }
}
.blog__inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 80%;
}
.blog__top {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin-top: 4.375vw;
}
@media screen and (max-width: 800px) {
  .blog__top {
    margin-top: 2.1333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .blog__top {
    flex-direction: column;
  }
}
.blog__title {
  font-size: 5vw;
  font-family: "SweetSansProMedium";
  font-weight: 700;
  background: linear-gradient(97deg, #004c71 0%, #3c7ce1 99.49%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 800px) {
  .blog__title {
    font-size: 12.8vw;
  }
}
.blog__right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  width: 45.46875vw;
}
@media screen and (max-width: 800px) {
  .blog__right {
    width: 80vw;
  }
}
.blog__text {
  font-size: 1.25vw;
  line-height: 1.5;
}
@media screen and (max-width: 800px) {
  .blog__text {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .blog__text {
    margin-top: 1.25vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .blog__text {
    margin-top: 4.2666666667vw;
  }
}
.blog__button {
  display: flex;
  align-items: center;
  gap: 3.75vw;
  width: 20.078125vw;
  height: 4.53125vw;
  margin-top: 4.375vw;
  border-radius: 999px;
  background: var(--gradient);
  transition: all 0.25s ease-in;
}
@media screen and (max-width: 800px) {
  .blog__button {
    width: 61.3333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .blog__button {
    height: 15.4666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .blog__button {
    margin-top: 8.5333333333vw;
  }
}
.blog__button:hover {
  opacity: 60%;
}

.swiper-container-blog {
  position: relative;
  padding-bottom: 6.25vw;
  /* Assuming this is a mixin you want to keep */
}
@media screen and (max-width: 800px) {
  .swiper-container-blog {
    padding-bottom: 21.3333333333vw;
  }
}

.swiper-horizontal > .swiper-scrollbar-blog,
.swiper-scrollbar-blog.swiper-scrollbar-horizontal {
  position: absolute;
  left: 0;
  z-index: 3;
  height: 5px;
  width: 84%;
}

.swiper-scrollbar-blog {
  position: absolute;
  top: 95%;
  left: 0;
  width: 84%;
  height: 4px;
  background: #e0e0e0;
}

.swiper-scrollbar-blog-drag {
  background: linear-gradient(97deg, #004c71 0%, #3c7ce1 99.49%);
  height: 100%;
  position: absolute;
  left: 0;
  /* 位置を左に固定 */
  width: 0;
  /* 初期幅をゼロに設定 */
  transition: width 0.3s, transform 0.3s;
  /* transformの変更にアニメーションを適用 */
}

.swiper-scrollbar-blog-drag::after {
  content: "";
  position: absolute;
  right: -10px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background-color: white;
  border-radius: 999px;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
}

.swiper-button-next-blog,
.swiper-button-prev-blog {
  width: 48px;
  height: 48px;
  background: #fff;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 91%;
  z-index: 3;
  font-size: 20px;
  color: #000;
}

.swiper-button-next-blog::after,
.swiper-button-prev-blog::after {
  content: "←";
  font-size: 13px;
}

.swiper-button-next-blog::after {
  transform: rotate(180deg);
}

.swiper-button-next-blog {
  right: 0;
}

.swiper-button-prev-blog {
  left: 90%;
}

.swiper-button-next-blog.swiper-button-disabled,
.swiper-button-prev-blog.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

@media (max-width: 768px) {
  .swiper-horizontal > .swiper-scrollbar-blog,
.swiper-scrollbar-blog.swiper-scrollbar-horizontal {
    position: absolute;
    left: 0;
    z-index: 3;
    height: 5px;
    width: 65%;
  }

  .swiper-scrollbar-blog {
    top: 94%;
  }

  .swiper-button-next-blog,
.swiper-button-prev-blog {
    width: 30px;
    height: 30px;
  }

  .swiper-button-prev-blog {
    left: 75%;
  }

  .swiper-scrollbar-blog-drag::after {
    width: 15px;
    height: 15px;
  }
}
.banner {
  position: relative;
  display: flex;
  gap: 1.25vw;
  margin-top: 6.25vw;
  overflow: hidden;
}
@media screen and (max-width: 800px) {
  .banner {
    margin-top: 21.3333333333vw;
  }
}
.banner__inner {
  display: flex;
  -webkit-animation: scroll 40s linear infinite;
          animation: scroll 40s linear infinite;
  gap: 1.25vw;
}
.banner__imgWrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 14.0625vw;
  height: 5.625vw;
  background-color: white;
  border-radius: 10px;
}
@media screen and (max-width: 800px) {
  .banner__imgWrapper {
    width: 48vw;
  }
}
@media screen and (max-width: 800px) {
  .banner__imgWrapper {
    height: 19.2vw;
  }
}
.banner__img {
  max-width: 90%;
  max-height: 90%;
  width: auto;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

.contact {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding-top: 12.5vw;
}
@media screen and (max-width: 800px) {
  .contact {
    padding-top: 42.6666666667vw;
  }
}
.contact__box {
  width: 80%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.contact__box--sdgs {
  margin-left: 10%;
}
.contact__inner {
  display: flex;
  flex-direction: column;
  width: 65.625vw;
  z-index: 2;
  margin-top: 4.375vw;
}
@media screen and (max-width: 800px) {
  .contact__inner {
    width: 80vw;
  }
}
@media screen and (max-width: 800px) {
  .contact__inner {
    margin-top: 0vw;
  }
}
.contact__title {
  color: #1b1b1b;
  font-size: 9.375vw;
  background: var(--gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: "SweetSansProMedium";
  font-weight: 700;
  letter-spacing: 1.6px;
}
@media screen and (max-width: 800px) {
  .contact__title {
    font-size: 13.8666666667vw;
  }
}
.contact__title--sdgs {
  font-size: 9.375vw;
}
@media screen and (max-width: 800px) {
  .contact__title--sdgs {
    font-size: 12.8vw;
  }
}
.contact__title .char {
  display: inline-block;
  font-size: 9.375vw;
  font-family: "SweetSansProMedium";
  font-weight: 700;
  background: var(--gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  transform: translateY(100px);
  opacity: 0;
  transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
@media screen and (max-width: 800px) {
  .contact__title .char {
    font-size: 13.8666666667vw;
  }
}
.contact__title .char.animate {
  transform: translateY(0);
  opacity: 1;
}
.contact__title:not(.js-animated) {
  opacity: 0;
  transform: translateY(40px);
  transition: transform 0.8s ease, opacity 0.8s ease;
}
.contact.show .archive-about__title:not(.js-animated) {
  transform: translateY(0);
  opacity: 1;
  transition-delay: 0.3s;
}
.contact__subtitle {
  font-size: 1.5625vw;
  margin-top: 1.25vw;
  color: black;
}
@media screen and (max-width: 800px) {
  .contact__subtitle {
    font-size: 5.3333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .contact__subtitle {
    margin-top: 4.2666666667vw;
  }
}
.contact__set {
  display: flex;
  align-items: center;
}
.contact__col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  margin-top: 2.5vw;
}
@media screen and (max-width: 800px) {
  .contact__col {
    margin-top: 8.5333333333vw;
  }
}
.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: #353535;
}
@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;
  color: red;
}
@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;
  padding-left: 1.25vw;
  padding-right: 1.25vw;
  padding-top: 1.25vw;
  padding-bottom: 1.25vw;
  margin-top: 1.25vw;
  background-color: rgba(0, 0, 0, 0.05);
  border: none;
}
@media screen and (max-width: 800px) {
  .contact__content {
    width: 71.4666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .contact__content {
    padding-left: 4.2666666667vw;
    padding-right: 4.2666666667vw;
  }
}
@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: 4.2666666667vw;
  }
}
.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__privacyPolicy {
  font-size: 1.25vw;
  color: black;
  text-decoration: underline;
  transition: all 0.25s ease-in;
}
@media screen and (max-width: 800px) {
  .contact__privacyPolicy {
    font-size: 3.7333333333vw;
  }
}
.contact__privacyPolicy:hover {
  opacity: 60%;
}
.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;
  width: 100%;
}
@media screen and (max-width: 800px) {
  .contact__innerText {
    margin-left: 4.2666666667vw;
  }
}
.contact__viewbutton {
  align-items: center;
  text-align: center;
  margin-top: 3.125vw;
  margin-bottom: 1.875vw;
}
@media screen and (max-width: 800px) {
  .contact__viewbutton {
    margin-top: 10.6666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .contact__viewbutton {
    margin-bottom: 6.4vw;
  }
}
.contact .contact__viewbutton input {
  border-radius: 999px;
  border: 1px solid var(--red, #dd262b);
}
.contact__viewmore {
  display: inline-block;
  width: 18.75vw;
  padding-top: 1.25vw;
  padding-bottom: 1.25vw;
  background: var(--gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-align: center;
  font-size: 1.25vw;
  transition: all 0.25s ease-in;
  cursor: pointer;
}
@media screen and (max-width: 800px) {
  .contact__viewmore {
    width: 48vw;
  }
}
@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 {
  opacity: 40%;
}
.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 {
  width: 1.875vw;
  height: 1.875vw;
  margin-bottom: 0.46875vw;
  border: 1px solid rgba(53, 53, 53, 0.6);
  border-radius: 5px;
  -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-bottom: 1.6vw;
  }
}
.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;
}

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

.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: 1.875vw;
}
@media screen and (max-width: 800px) {
  .wpcf7 {
    margin-top: 6.4vw;
  }
}

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

/* 成功時のメッセージの色 */
.wpcf7 form.sent .wpcf7-response-output {
  border: none !important;
  text-align: center;
  color: green !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;
  }
}

.wpcf7-form-control {
  margin-top: 1.25vw;
  background-color: rgba(50, 42, 40, 0.05);
}
@media screen and (max-width: 800px) {
  .wpcf7-form-control {
    margin-top: 4.2666666667vw;
  }
}

.wpcf7-form-control-wrap span {
  background-color: none !important;
}

.wpcf7-form-control wpcf7-validates-as-required {
  width: 100%;
}

.contact__col span {
  font-size: 1.25vw;
}
@media screen and (max-width: 800px) {
  .contact__col span {
    font-size: 3.7333333333vw;
  }
}

.contact__col span select {
  width: 163%;
}
@media screen and (max-width: 800px) {
  .contact__col span select {
    width: 100%;
  }
}

.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;
  }
}

.wpcf7-list-item label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.625vw;
}

.wpcf7-list-item label input {
  margin: 0 !important;
}

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

.contact__checkboxTop .wpcf7-list-item-label {
  width: 3.90625vw;
}
@media screen and (max-width: 800px) {
  .contact__checkboxTop .wpcf7-list-item-label {
    width: 13.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;
  border-radius: 5px;
  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: 1 !important;
  color: rgba(53, 53, 53, 0.6) !important;
  font-size: 16px;
  background-color: rgba(50, 42, 40, 0.05) !important;
}

.placeholder-select option:checked {
  color: #353535 !important;
  font-size: 16px;
  background-color: rgba(50, 42, 40, 0.05) !important;
}

.wpcf7-radio {
  background-color: #e9f2f5;
}

.newsSingle {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding-top: 15.390625vw;
}
@media screen and (max-width: 800px) {
  .newsSingle {
    padding-top: 37.3333333333vw;
  }
}
.newsSingle__top {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  width: 100%;
  padding-bottom: 6.25vw;
  border-bottom: 1px solid #98a1ac;
}
@media screen and (max-width: 800px) {
  .newsSingle__top {
    padding-bottom: 21.3333333333vw;
  }
}
.newsSingle__header {
  display: flex;
  align-items: center;
  margin-left: 10%;
  width: 80%;
}
.newsSingle__term {
  font-size: 1.25vw;
  width: 10vw;
  padding-top: 0.46875vw;
  padding-bottom: 0.46875vw;
  text-align: center;
  color: white;
  border-radius: 99px;
  background: var(--gradient);
}
@media screen and (max-width: 800px) {
  .newsSingle__term {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .newsSingle__term {
    width: 34.1333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .newsSingle__term {
    padding-top: 1.6vw;
    padding-bottom: 1.6vw;
  }
}
.newsSingle__date {
  font-size: 1.25vw;
  color: black;
  margin-left: 1.25vw;
}
@media screen and (max-width: 800px) {
  .newsSingle__date {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .newsSingle__date {
    margin-left: 4.2666666667vw;
  }
}
.newsSingle__title {
  color: black;
  font-size: 2.5vw;
  margin-top: 0.625vw;
  margin-left: 10%;
  width: 80%;
}
@media screen and (max-width: 800px) {
  .newsSingle__title {
    font-size: 8.5333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .newsSingle__title {
    margin-top: 2.1333333333vw;
  }
}
.newsSingle__under {
  padding-top: 6.25vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
}
@media screen and (max-width: 800px) {
  .newsSingle__under {
    padding-top: 21.3333333333vw;
  }
}
.newsSingle__content {
  font-size: 1.25vw;
  color: black;
  width: 80%;
}
@media screen and (max-width: 800px) {
  .newsSingle__content {
    font-size: 4.2666666667vw;
  }
}
.newsSingle__content p {
  font-size: 1.25vw;
  color: black;
  width: 100%;
}
@media screen and (max-width: 800px) {
  .newsSingle__content p {
    font-size: 4.2666666667vw;
  }
}
.newsSingle__content a {
  font-size: 1.25vw;
  width: 100%;
  text-decoration: underline;
}
@media screen and (max-width: 800px) {
  .newsSingle__content a {
    font-size: 4.2666666667vw;
  }
}
.newsSingle__collection {
  margin-top: 4.375vw;
  width: 13.828125vw;
  border: 1px solid black;
  border-radius: 999px;
  display: flex;
  justify-content: center;
  transition: all 0.25s ease-in;
}
@media screen and (max-width: 800px) {
  .newsSingle__collection {
    margin-top: 14.9333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .newsSingle__collection {
    width: 47.2vw;
  }
}
.newsSingle__collection:hover {
  opacity: 40%;
}
.newsSingle__text {
  font-size: 1.25vw;
  color: black;
  padding-top: 1.25vw;
  padding-bottom: 1.25vw;
  transition: all 0.25s ease-in;
}
@media screen and (max-width: 800px) {
  .newsSingle__text {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .newsSingle__text {
    padding-top: 4.2666666667vw;
    padding-bottom: 4.2666666667vw;
  }
}

.recruit {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 9.375vw;
}
@media screen and (max-width: 800px) {
  .recruit {
    padding-top: 16vw;
  }
}
.recruit__title {
  color: #1b1b1b;
  font-size: 3.75vw;
  font-family: "SweetSansProMedium";
  font-weight: normal;
  letter-spacing: 1.6px;
}
@media screen and (max-width: 800px) {
  .recruit__title {
    font-size: 8.5333333333vw;
  }
}
.recruit__border {
  width: 6.484375vw;
  height: 2px;
  background-color: black;
  margin-top: 0.625vw;
}
@media screen and (max-width: 800px) {
  .recruit__border {
    width: 14.9333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .recruit__border {
    margin-top: 0vw;
  }
}
.recruit__subtitle {
  font-size: 1.25vw;
  margin-top: 1.25vw;
}
@media screen and (max-width: 800px) {
  .recruit__subtitle {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .recruit__subtitle {
    margin-top: 2.1333333333vw;
  }
}
.recruit__inner {
  display: flex;
  flex-direction: column;
  width: 63%;
}
.recruit__inner--info {
  margin-top: 5.625vw;
}
@media screen and (max-width: 800px) {
  .recruit__inner--info {
    margin-top: 10.6666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .recruit__inner {
    width: 80%;
  }
}
.recruit__borderLine {
  width: 100%;
  height: 1px;
  background-color: rgba(0, 0, 0, 0.1);
}
.recruit__row {
  display: flex;
  align-items: center;
  margin-top: 1.875vw;
  margin-bottom: 1.875vw;
}
@media screen and (max-width: 800px) {
  .recruit__row {
    margin-top: 6.4vw;
    margin-bottom: 6.4vw;
  }
}
.recruit__dataTitle {
  font-size: 1.25vw;
  margin-right: 4.375vw;
  width: 6.25vw;
  color: #1b1b1b;
  font-family: "Hiragino Sans";
  font-style: normal;
  font-weight: 500;
  line-height: normal;
}
@media screen and (max-width: 800px) {
  .recruit__dataTitle {
    font-size: 3.7333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .recruit__dataTitle {
    margin-right: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .recruit__dataTitle {
    width: 21.3333333333vw;
  }
}
.recruit__dataTitle--info {
  width: 9.375vw;
  margin-left: 6.25vw;
  font-size: 1.5625vw;
}
@media screen and (max-width: 800px) {
  .recruit__dataTitle--info {
    width: 29.3333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .recruit__dataTitle--info {
    margin-left: 2.1333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .recruit__dataTitle--info {
    font-size: 3.7333333333vw;
  }
}
.recruit__data {
  font-size: 1.25vw;
  color: #1b1b1b !important;
  font-family: "Hiragino Sans";
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}
@media screen and (max-width: 800px) {
  .recruit__data {
    font-size: 4.2666666667vw;
  }
}
.recruit__data p {
  font-size: 1.25vw;
  color: #1b1b1b !important;
  font-family: "Hiragino Sans";
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}
@media screen and (max-width: 800px) {
  .recruit__data p {
    font-size: 3.2vw;
  }
}
.recruit__data--info {
  margin-left: 6.25vw;
  font-size: 1.5625vw;
}
@media screen and (max-width: 800px) {
  .recruit__data--info {
    margin-left: 10.6666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .recruit__data--info {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .recruit__data {
    display: none;
  }
}
.recruit__dataSp {
  display: none;
}
@media screen and (max-width: 800px) {
  .recruit__dataSp {
    display: block;
    color: inherit;
    /* 親要素の色を継承 */
    font-size: inherit;
    /* 親要素のフォントサイズを継承 */
    font-size: 1.09375vw;
    color: #1b1b1b !important;
    width: 15.625vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .recruit__dataSp {
    font-size: 3.7333333333vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .recruit__dataSp {
    width: 53.3333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .recruit__dataSp a[href="tel:165-0031"] {
    color: inherit;
    font-size: inherit;
  }
}
@media screen and (max-width: 800px) {
  .recruit__dataSp p {
    font-size: 1.25vw;
    color: #1b1b1b !important;
    font-family: "Hiragino Sans";
    font-style: normal;
    font-weight: 400;
    line-height: normal;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .recruit__dataSp p {
    font-size: 3.2vw;
  }
}
.recruit__buttonFlex {
  display: flex;
  justify-content: center;
}
.recruit__viewbutton {
  width: 18.671875vw;
  border-radius: 999px;
  border: 1px solid var(--text-color);
  display: flex;
  justify-content: center;
  margin-top: 6.25vw;
  transition: all 0.25s ease-in;
}
@media screen and (max-width: 800px) {
  .recruit__viewbutton {
    width: 63.7333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .recruit__viewbutton {
    margin-top: 21.3333333333vw;
  }
}
.recruit__viewbutton:hover {
  opacity: 40%;
}
.recruit__viewmore {
  font-size: 1.25vw;
  background: var(--gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  padding-top: 1.09375vw;
  padding-bottom: 1.09375vw;
  transition: all 0.25s ease-in;
}
@media screen and (max-width: 800px) {
  .recruit__viewmore {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .recruit__viewmore {
    padding-top: 3.7333333333vw;
    padding-bottom: 3.7333333333vw;
  }
}
.recruit__noRecruit {
  font-size: 2.5vw;
  font-family: "Hiragino Sans";
  font-style: normal;
  font-weight: 600;
  line-height: normal;
}
@media screen and (max-width: 800px) {
  .recruit__noRecruit {
    font-size: 8.5333333333vw;
  }
}

.company {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 12.5vw;
}
@media screen and (max-width: 800px) {
  .company {
    padding-top: 42.6666666667vw;
  }
}
.company__title {
  background: var(--gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 9.375vw;
  font-family: "SweetSansProMedium";
  font-weight: 700;
  width: 78.4375vw;
  text-align: start;
}
@media screen and (max-width: 800px) {
  .company__title {
    font-size: 13.8666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .company__title {
    width: 80vw;
  }
}
.company__title .char {
  display: inline-block;
  font-size: 9.375vw;
  font-family: "SweetSansProMedium";
  font-weight: 700;
  background: var(--gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  transform: translateY(100px);
  opacity: 0;
  transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
@media screen and (max-width: 800px) {
  .company__title .char {
    font-size: 13.8666666667vw;
  }
}
.company__title .char.animate {
  transform: translateY(0);
  opacity: 1;
}
.company__title:not(.js-animated) {
  opacity: 0;
  transform: translateY(40px);
  transition: transform 0.8s ease, opacity 0.8s ease;
}
.company.show .archive-about__title:not(.js-animated) {
  transform: translateY(0);
  opacity: 1;
  transition-delay: 0.3s;
}
.company__subtitle {
  font-size: 1.5625vw;
  color: black;
  font-family: "Noto Sans JP";
  width: 78.4375vw;
  text-align: start;
}
@media screen and (max-width: 800px) {
  .company__subtitle {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .company__subtitle {
    width: 80vw;
  }
}
.company__subtitle--service {
  text-align: center;
}
.company__inner {
  display: flex;
  flex-direction: column;
  width: 61%;
  margin-top: 9.375vw;
}
@media screen and (max-width: 800px) {
  .company__inner {
    margin-top: 21.3333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .company__inner {
    width: 80%;
  }
}
.company__plan {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.875vw;
  margin-bottom: 6.25vw;
}
@media screen and (max-width: 800px) {
  .company__plan {
    margin-bottom: 17.0666666667vw;
  }
}
.company__plan--culture {
  margin-top: 9.375vw;
}
@media screen and (max-width: 800px) {
  .company__plan--culture {
    margin-top: 21.3333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .company__plan--culture {
    width: 80%;
    margin-left: 10%;
  }
}
@media screen and (max-width: 800px) {
  .company__plan {
    gap: 1.25vw;
  }
}
.company__bpo {
  width: 14.296875vw;
  height: 3.75vw;
  border: 1px solid rgba(30, 30, 30, 0.4);
  padding-top: 0.9375vw;
  padding-bottom: 0.9375vw;
  text-align: center;
  border-radius: 999px;
  font-size: 1.25vw;
  transition: all 0.25s ease-in;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 800px) {
  .company__bpo {
    width: 32vw;
  }
}
@media screen and (max-width: 800px) {
  .company__bpo {
    height: 8.5333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .company__bpo {
    padding-top: 2.1333333333vw;
    padding-bottom: 2.1333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .company__bpo {
    font-size: 2.9333333333vw;
  }
}
.company__bpo:hover {
  opacity: 40%;
}
.company .company__bpo.selected {
  border: 1px solid #f24e1e;
  background-color: white;
}
.company__bpo span {
  font-size: 0.9375vw;
}
@media screen and (max-width: 800px) {
  .company__bpo span {
    font-size: 1.8666666667vw;
  }
}
.company__borderLine {
  width: 100%;
  height: 1px;
  background-color: rgba(0, 0, 0, 0.2);
}
.company__row {
  display: flex;
  align-items: center;
  margin-top: 2.5vw;
  margin-bottom: 2.5vw;
}
@media screen and (max-width: 800px) {
  .company__row {
    margin-top: 8.5333333333vw;
    margin-bottom: 8.5333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .company__row {
    flex-direction: column;
    align-items: flex-start;
  }
}
.company__dataTitle {
  font-size: 1.25vw;
  width: 18.125vw;
  color: black;
}
@media screen and (max-width: 800px) {
  .company__dataTitle {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .company__dataTitle {
    width: 61.8666666667vw;
  }
}
.company__data {
  font-size: 1.25vw;
  color: black;
}
@media screen and (max-width: 800px) {
  .company__data {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .company__data {
    margin-top: 0.625vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .company__data {
    margin-top: 2.1333333333vw;
  }
}
.company__map {
  display: flex;
  align-items: center;
  margin-top: 0.625vw;
  gap: 0.625vw;
}
@media screen and (max-width: 800px) {
  .company__map {
    margin-top: 2.1333333333vw;
  }
}
.company__map:hover .company__mapText {
  opacity: 60%;
}
.company__mapText {
  font-size: 1.25vw;
  color: #336699;
  transition: all 0.25s ease-in;
  text-decoration: underline;
}
@media screen and (max-width: 800px) {
  .company__mapText {
    font-size: 4.2666666667vw;
  }
}

.hamburger {
  display: none;
  position: relative;
}
.hamburger.active span:nth-of-type(1) {
  transform: translateY(1.1vw) rotate(45deg);
}
.hamburger.active span:nth-of-type(2) {
  opacity: 0;
}
.hamburger.active span:nth-of-type(3) {
  transform: translateY(-1.1vw) rotate(-45deg);
}
@media screen and (max-width: 800px) {
  .hamburger {
    display: block;
    z-index: 109000;
    cursor: pointer;
    width: 1.25vw;
    height: 0.625vw;
    margin-right: 1.25vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .hamburger {
    width: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .hamburger {
    height: 2.1333333333vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .hamburger {
    margin-right: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .hamburger span {
    transition: all 0.5s;
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: black;
    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--black span {
  background-color: #1b1b1b;
}

.drawerNav {
  width: 80%;
  padding-top: 10.9375vw;
  padding-left: 2.5vw;
  padding-right: 2.5vw;
  box-sizing: border-box;
  z-index: 4;
}
@media screen and (max-width: 800px) {
  .drawerNav {
    padding-top: 37.3333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .drawerNav {
    padding-left: 8.5333333333vw;
    padding-right: 8.5333333333vw;
  }
}
.drawerNav__menu > * + * {
  margin-top: 1.25vw;
}
@media screen and (max-width: 800px) {
  .drawerNav__menu > * + * {
    margin-top: 4.2666666667vw;
  }
}
.drawerNav__link {
  font-size: 0.9375vw;
}
@media screen and (max-width: 800px) {
  .drawerNav__link {
    font-size: 3.2vw;
  }
}
.drawerNav__button {
  display: inline-flex !important;
  margin-top: 1.875vw;
}
@media screen and (max-width: 800px) {
  .drawerNav__button {
    margin-top: 6.4vw;
  }
}

.drawer--left .drawer-nav {
  left: -100vw;
  background-color: white;
}

.qa {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  background-color: #ebe6e2;
  padding-bottom: 12.5vw;
}
@media screen and (max-width: 800px) {
  .qa {
    padding-bottom: 29.8666666667vw;
  }
}
.qa--archive {
  margin-top: 10.9375vw;
}
@media screen and (max-width: 800px) {
  .qa--archive {
    margin-top: 37.3333333333vw;
  }
}
.qa__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-top: 3.125vw;
  width: 80%;
}
@media screen and (max-width: 800px) {
  .qa__inner {
    margin-top: 10.6666666667vw;
  }
}
.qa__archiveStart {
  display: flex;
  justify-content: flex-start;
  width: 100%;
  margin-top: 5vw;
}
@media screen and (max-width: 800px) {
  .qa__archiveStart {
    margin-top: 8.5333333333vw;
  }
}
.qa__back {
  position: absolute;
  top: 0;
  width: 23.984375vw;
  height: 10.78125vw;
}
@media screen and (max-width: 800px) {
  .qa__back {
    width: 73.0666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .qa__back {
    height: 33.0666666667vw;
  }
}
.qa__title {
  color: #1b1b1b;
  font-size: 3.75vw;
  font-family: "Marcellus-Regular";
}
@media screen and (max-width: 800px) {
  .qa__title {
    font-size: 8.5333333333vw;
  }
}
.qa__border {
  width: 6.484375vw;
  height: 2px;
  background-color: black;
  margin-top: 0.625vw;
}
@media screen and (max-width: 800px) {
  .qa__border {
    width: 14.9333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .qa__border {
    margin-top: 2.1333333333vw;
  }
}
.qa__subtitle {
  font-size: 1.25vw;
  margin-top: 1.25vw;
}
@media screen and (max-width: 800px) {
  .qa__subtitle {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .qa__subtitle {
    margin-top: 4.2666666667vw;
  }
}
.qa__archiveTitle {
  font-size: 1.875vw;
}
@media screen and (max-width: 800px) {
  .qa__archiveTitle {
    font-size: 6.4vw;
  }
}
.qa__inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 80%;
}
.qa__list {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  width: 100%;
  padding-top: 4.375vw;
}
@media screen and (max-width: 800px) {
  .qa__list {
    padding-top: 10.6666666667vw;
  }
}
.qa__list--archive {
  padding-top: 2.5vw;
}
@media screen and (max-width: 800px) {
  .qa__list--archive {
    padding-top: 8.5333333333vw;
  }
}
.qa__item {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  cursor: pointer;
}
.qa__borderQa {
  width: 100%;
  height: 1px;
  background: var(--background, #ebe6e2);
  box-shadow: 1px 1px 2px 0px #c8c4c0, -1px -1px 2px 0px #fff;
}
.qa__q {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 96%;
  padding-top: 1.875vw;
  padding-bottom: 1.875vw;
}
@media screen and (max-width: 800px) {
  .qa__q {
    padding-top: 6.4vw;
    padding-bottom: 6.4vw;
  }
}
.qa__qText {
  display: flex;
  align-items: center;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  font-size: 1.25vw;
}
@media screen and (max-width: 800px) {
  .qa__qText {
    font-size: 4.2666666667vw;
  }
}
.qa__qText span {
  font-size: 2.5vw;
  margin-right: 1.25vw;
  font-family: "Marcellus-Regular";
}
@media screen and (max-width: 800px) {
  .qa__qText span {
    font-size: 8.5333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .qa__qText span {
    margin-right: 4.2666666667vw;
  }
}
.qa__button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 3.125vw;
  height: 3.125vw;
  background: none !important;
  border: none !important;
  flex-shrink: 0;
  background-color: none !important;
}
@media screen and (max-width: 800px) {
  .qa__button {
    width: 8.5333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .qa__button {
    height: 8.5333333333vw;
  }
}
.qa__button img {
  display: block;
  width: 1.71875vw;
  height: 1.71875vw;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 800px) {
  .qa__button img {
    width: 4.8vw;
  }
}
@media screen and (max-width: 800px) {
  .qa__button img {
    height: 4.8vw;
  }
}
.qa__a {
  display: none;
  align-items: center;
  width: 96%;
  max-width: 96%;
  padding-bottom: 1.875vw;
}
@media screen and (max-width: 800px) {
  .qa__a {
    padding-bottom: 6.4vw;
  }
}
.qa__aTitle {
  font-size: 2.5vw;
  margin-right: 1.25vw;
  font-family: "Marcellus-Regular";
}
@media screen and (max-width: 800px) {
  .qa__aTitle {
    font-size: 8.5333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .qa__aTitle {
    margin-right: 4.2666666667vw;
  }
}
.qa__aText {
  font-size: 1.25vw;
}
@media screen and (max-width: 800px) {
  .qa__aText {
    font-size: 4.2666666667vw;
  }
}

.archive-about {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-top: 12.5vw;
}
@media screen and (max-width: 800px) {
  .archive-about {
    padding-top: 42.6666666667vw;
  }
}
.archive-about__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 80%;
}
.archive-about__title {
  font-size: 9.375vw;
  background: var(--gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  width: 100%;
  text-align: start;
  font-family: "SweetSansProMedium";
  font-weight: 700;
}
@media screen and (max-width: 800px) {
  .archive-about__title {
    font-size: 13.8666666667vw;
  }
}
.archive-about__title .char {
  display: inline-block;
  font-size: 9.375vw;
  font-family: "SweetSansProMedium";
  font-weight: 700;
  background: var(--gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  transform: translateY(100px);
  opacity: 0;
  transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
@media screen and (max-width: 800px) {
  .archive-about__title .char {
    font-size: 13.8666666667vw;
  }
}
.archive-about__title .char.animate {
  transform: translateY(0);
  opacity: 1;
}
.archive-about__title:not(.js-animated) {
  opacity: 0;
  transform: translateY(40px);
  transition: transform 0.8s ease, opacity 0.8s ease;
}
.archive-about.show .archive-about__title:not(.js-animated) {
  transform: translateY(0);
  opacity: 1;
  transition-delay: 0.3s;
}
.archive-about__subtitle {
  font-size: 1.5625vw;
  width: 100%;
  text-align: start;
}
@media screen and (max-width: 800px) {
  .archive-about__subtitle {
    font-size: 4.2666666667vw;
  }
}

.splash {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  height: 100vh;
  background-color: white;
  z-index: 999;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 1;
  transition: opacity 1s ease;
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
#splash-svg {
  opacity: 0;
  max-width: 116px;
  /* 最大幅を300pxに設定 */
  height: auto;
  /* 高さを自動調整 */
  -webkit-animation: fadeIn 3s forwards;
          animation: fadeIn 3s forwards;
}

#splash.fade-out {
  -webkit-animation: fadeOut 1s forwards;
          animation: fadeOut 1s forwards;
}

.work {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-top: 6.25vw;
}
@media screen and (max-width: 800px) {
  .work {
    margin-top: 21.3333333333vw;
  }
}
.work__inner {
  width: 90%;
}
@media screen and (max-width: 800px) {
  .work__inner {
    width: 100%;
  }
}
.work__content {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 800px) {
  .work__content {
    flex-direction: column;
  }
}
.work__left {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  background-color: white;
  border-top-right-radius: 30px;
  border-bottom-right-radius: 30px;
  width: 39.0625vw;
  padding-top: 1.875vw;
  padding-bottom: 1.875vw;
  padding-left: 3.125vw;
  padding-right: 3.125vw;
}
@media screen and (max-width: 800px) {
  .work__left {
    width: 86.4vw;
  }
}
@media screen and (max-width: 800px) {
  .work__left {
    padding-top: 6.4vw;
    padding-bottom: 6.4vw;
  }
}
@media screen and (max-width: 800px) {
  .work__left {
    padding-left: 10.6666666667vw;
    padding-right: 10.6666666667vw;
  }
}
.work__left--service {
  width: 78.4375vw;
  display: flex;
}
@media screen and (max-width: 800px) {
  .work__left--service {
    width: 80vw;
  }
}
@media screen and (max-width: 800px) {
  .work__left {
    display: none;
  }
}
.work__numberBox {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 1.25vw;
}
.work__number {
  font-size: 1.09375vw;
  color: black;
  font-family: "CircularStd-Book";
  font-weight: 800;
}
@media screen and (max-width: 800px) {
  .work__number {
    font-size: 3.7333333333vw;
  }
}
.work__number--mt {
  margin-top: 0.625vw;
  transition: all 0.3s ease-in;
}
@media screen and (max-width: 800px) {
  .work__number--mt {
    margin-top: 2.1333333333vw;
  }
}
.work__img {
  position: flex;
  width: 39.0625vw;
  height: 23.4375vw;
  margin-bottom: 0.9375vw;
  border-radius: 16px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 800px) {
  .work__img {
    width: 133.3333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .work__img {
    height: 80vw;
  }
}
@media screen and (max-width: 800px) {
  .work__img {
    margin-bottom: 3.2vw;
  }
}
@media screen and (max-width: 800px) {
  .work__img {
    margin-top: 0.9375vw;
    width: 21.875vw;
    height: 14.0625vw;
    border-radius: 12px;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .work__img {
    margin-top: 3.2vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .work__img {
    width: 74.6666666667vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .work__img {
    height: 48vw;
  }
}
.work__title {
  position: flex;
  font-family: "Hiragino Sans";
  font-size: 1.875vw;
  font-style: normal;
  font-weight: 700;
  line-height: 1.5;
  background: linear-gradient(97deg, #004c71 0%, #3c7ce1 99.49%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 800px) {
  .work__title {
    font-size: 6.4vw;
  }
}
.work__text {
  position: flex;
  font-size: 1.25vw;
  margin-top: 0.625vw;
  color: #1e1e1e;
  font-family: "Hiragino Sans";
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.8px;
}
@media screen and (max-width: 800px) {
  .work__text {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .work__text {
    margin-top: 2.1333333333vw;
  }
}
.work__text--service {
  width: 43.4375vw;
  line-height: 2;
}
@media screen and (max-width: 800px) {
  .work__text--service {
    width: 80vw;
  }
}
.work__button {
  position: absolute;
  top: 68%;
  display: flex;
  align-items: center;
  gap: 3.75vw;
  width: 20.078125vw;
  height: 4.53125vw;
  margin-top: 4.375vw;
  border-radius: 999px;
  background: var(--gradient);
  transition: all 0.25s ease-in;
}
@media screen and (max-width: 800px) {
  .work__button {
    width: 68.5333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .work__button {
    height: 15.4666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .work__button {
    margin-top: 8.5333333333vw;
  }
}
.work__button:hover {
  opacity: 60%;
}
.work__buttonText {
  font-size: 1.09375vw;
  color: white;
  margin-left: 2.578125vw;
}
@media screen and (max-width: 800px) {
  .work__buttonText {
    font-size: 3.7333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .work__buttonText {
    margin-left: 8.8vw;
  }
}
.work__right {
  display: flex;
  flex-direction: column;
  width: 36.09375vw;
}
@media screen and (max-width: 800px) {
  .work__right {
    width: 80vw;
  }
}
@media screen and (max-width: 800px) {
  .work__right {
    display: none;
    margin-left: 10%;
    margin-top: 3.125vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .work__right {
    margin-top: 10.6666666667vw;
  }
}
.work__flex {
  display: flex;
  align-items: flex-start;
  padding-top: 2.5vw;
  padding-bottom: 2.5vw;
  border-bottom: 1px solid rgba(0, 0, 0, 0.6);
  gap: 2.5vw;
}
@media screen and (max-width: 800px) {
  .work__flex {
    padding-top: 8.5333333333vw;
    padding-bottom: 8.5333333333vw;
  }
}
.work__flex:first-child {
  border-top: 1px solid rgba(0, 0, 0, 0.6);
}
.work__flex:hover .work__number--mt, .work__flex:hover .work__column {
  transform: translateX(30px);
  opacity: 60%;
}
.work__column {
  display: flex;
  flex-direction: column;
  gap: 0.625vw;
  transition: all 0.3s ease-in;
}
@media screen and (max-width: 800px) {
  .work__column {
    margin-left: 1.5625vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .work__column {
    margin-left: 5.3333333333vw;
  }
}
.work__rihgtTitle {
  font-family: "Hiragino Sans";
  font-size: 1.875vw;
  font-style: normal;
  font-weight: 700;
  line-height: 1.5;
  background: linear-gradient(97deg, #004c71 0%, #3c7ce1 99.49%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 800px) {
  .work__rihgtTitle {
    font-size: 6.4vw;
  }
}
@media screen and (max-width: 800px) {
  .work__rihgtTitle--mr {
    margin-right: 5.9375vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .work__rihgtTitle--mr {
    margin-right: 20.2666666667vw;
  }
}
.work__rightSubtitle {
  font-size: 0.9375vw;
  color: #1e1e1e;
  font-family: "Hiragino Sans";
  font-style: normal;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 800px) {
  .work__rightSubtitle {
    font-size: 3.2vw;
  }
}
.work__item {
  display: none;
}
@media screen and (max-width: 800px) {
  .work__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    border-bottom: 1px solid rgba(0, 0, 0, 0.6);
    gap: 2.5vw;
  }
  .work__item:first-child {
    border-top: 1px solid rgba(0, 0, 0, 0.6);
  }
}
.work__expandable {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: white;
  border-radius: 16px;
  width: 23.4375vw;
  margin-bottom: 2.5vw;
}
@media screen and (max-width: 800px) {
  .work__expandable {
    width: 80vw;
  }
}
@media screen and (max-width: 800px) {
  .work__expandable {
    margin-bottom: 8.5333333333vw;
  }
}
.work__flexSp {
  display: flex;
  align-items: flex-start;
  padding-top: 2.5vw;
  padding-bottom: 2.5vw;
  width: 80%;
  cursor: pointer;
}
@media screen and (max-width: 800px) {
  .work__flexSp {
    padding-top: 8.5333333333vw;
    padding-bottom: 8.5333333333vw;
  }
}
.work__rightSp {
  display: none;
}
@media screen and (max-width: 800px) {
  .work__rightSp {
    display: block;
    display: flex;
    flex-direction: column;
    width: 100%;
    margin-top: 3.125vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .work__rightSp {
    margin-top: 10.6666666667vw;
  }
}
.work__textSp {
  display: none;
}
@media screen and (max-width: 800px) {
  .work__textSp {
    display: block;
    font-size: 1.25vw;
    line-height: 1.5;
    margin-top: 4.375vw;
    width: 20.3125vw;
    text-align: start;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .work__textSp {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .work__textSp {
    margin-top: 8.5333333333vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .work__textSp {
    width: 69.3333333333vw;
  }
}
.work .work__plus {
  position: relative;
  margin-top: 0.625vw;
}
@media screen and (max-width: 800px) {
  .work .work__plus {
    margin-top: 2.1333333333vw;
  }
}
.work .work__plus svg {
  position: absolute;
  top: 0;
  left: 0;
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.work .work__plus .plus-icon {
  opacity: 1;
  transform: rotate(0deg);
}
.work .work__plus .minus-icon {
  opacity: 0;
  transform: rotate(-90deg);
}
.work .work__plus.active .plus-icon {
  opacity: 0;
  transform: rotate(90deg);
}
.work .work__plus.active .minus-icon {
  opacity: 1;
  transform: rotate(0deg);
  margin-top: 0.46875vw;
}
@media screen and (max-width: 800px) {
  .work .work__plus.active .minus-icon {
    margin-top: 1.6vw;
  }
}
.work__buttonSp {
  display: none;
}
@media screen and (max-width: 800px) {
  .work__buttonSp {
    display: block;
    display: flex;
    align-items: center;
    gap: 3.75vw;
    width: 20.078125vw;
    height: 4.53125vw;
    margin-top: 4.375vw;
    margin-bottom: 1.875vw;
    border-radius: 999px;
    background: var(--gradient);
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .work__buttonSp {
    width: 68.5333333333vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .work__buttonSp {
    height: 15.4666666667vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .work__buttonSp {
    margin-top: 8.5333333333vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .work__buttonSp {
    margin-bottom: 6.4vw;
  }
}
.work__buttonRight {
  top: 75%;
  right: 10%;
}

.hidden {
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

.partner {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 8.75vw;
}
@media screen and (max-width: 800px) {
  .partner {
    margin-top: 21.3333333333vw;
  }
}
.partner__topTitle {
  font-size: 1.875vw;
  color: black;
  margin-bottom: 3.125vw;
  font-family: "Noto Sans JP";
  font-weight: 600;
}
@media screen and (max-width: 800px) {
  .partner__topTitle {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .partner__topTitle {
    margin-bottom: 0vw;
  }
}
@media screen and (max-width: 800px) {
  .partner__topTitle {
    text-align: center;
  }
}
.partner__title {
  font-size: 1.25vw;
  color: black;
  margin-bottom: 1.875vw;
}
@media screen and (max-width: 800px) {
  .partner__title {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .partner__title {
    margin-bottom: 6.4vw;
  }
}
.partner__inner {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 80%;
}
.partner__content {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
}
@media screen and (max-width: 800px) {
  .partner__content {
    flex-direction: column;
  }
}
.partner__flex {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  flex: 1;
  text-align: center;
}
.partner__text {
  font-size: 1.25vw;
  margin-bottom: 0.78125vw;
  margin-top: 0vw;
  text-align: center;
}
@media screen and (max-width: 800px) {
  .partner__text {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .partner__text {
    margin-bottom: 2.6666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .partner__text {
    margin-top: 6.4vw;
  }
}
.partner__number-container {
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.partner__number {
  font-size: 6.25vw;
  background: var(--gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: "CircularStd-Book";
  font-weight: 800;
  line-height: 1;
  line-height: 150%;
  /* 120px */
  padding-left: 4.375vw;
}
@media screen and (max-width: 800px) {
  .partner__number {
    font-size: 21.3333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .partner__number {
    padding-left: 14.9333333333vw;
  }
}
.partner__item {
  font-size: 1.25vw;
  margin-left: 0.390625vw;
  align-self: flex-end;
  padding-bottom: 1.875vw;
}
@media screen and (max-width: 800px) {
  .partner__item {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .partner__item {
    padding-bottom: 6.4vw;
  }
}
.partner__border {
  width: 1px;
  align-self: stretch;
  background-color: rgba(30, 30, 30, 0.6);
  margin: 0 1.5625vw;
}
@media screen and (max-width: 800px) {
  .partner__border {
    width: 100%;
    height: 1px;
    margin: 1.5625vw 0;
  }
}
.partner__end {
  display: flex;
  justify-content: flex-end;
  margin-top: 3.125vw;
  width: 100%;
}
@media screen and (max-width: 800px) {
  .partner__end {
    margin-top: 10.6666666667vw;
  }
}
.partner__important {
  font-size: 1.09375vw;
}
@media screen and (max-width: 800px) {
  .partner__important {
    font-size: 3.7333333333vw;
  }
}

.partnerList {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 6.25vw;
}
@media screen and (max-width: 800px) {
  .partnerList {
    margin-top: 21.3333333333vw;
  }
}
.partnerList__inner {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 81%;
  padding-top: 1.875vw;
  padding-bottom: 1.875vw;
  background-color: white;
  border-radius: 16px;
}
@media screen and (max-width: 800px) {
  .partnerList__inner {
    padding-top: 6.4vw;
    padding-bottom: 6.4vw;
  }
}
.partnerList__content {
  display: grid;
  justify-content: center;
  align-items: center;
  grid-template-columns: repeat(7, 1fr);
  width: 89%;
  row-gap: 1.25vw;
}
@media screen and (max-width: 800px) {
  .partnerList__content {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 5vw;
  }
}
.partnerList__img {
  display: block;
  margin: auto;
}

@font-face {
  font-family: "NotoSerifJP-Light";
  src: url("../fonts/NotoSansJP/NotoSerifJP-Light.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: 400;
  font-style: normal;
}
@font-face {
  font-family: "NotoSerifJP-Regular";
  src: url("../fonts/NotoSerifJP/NotoSerifJP-Regular.woff") format("woff");
  font-weight: normal;
  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: "CircularStd-Book";
  font-weight: 800;
  src: url("../fonts/CircularStd-Book.woff") format("woff");
  font-style: normal;
}
@font-face {
  font-family: "Manrope-Bold";
  font-weight: 600;
  src: url("../fonts/Manrope-Bold.woff") format("woff");
  font-style: bold;
}
.management {
  display: flex;
  justify-content: center;
  padding-top: 3.125vw;
  padding-bottom: 3.125vw;
  margin-top: 8.75vw;
  width: 100%;
  border-radius: 30px;
  background-color: white;
}
@media screen and (max-width: 800px) {
  .management {
    padding-top: 10.6666666667vw;
    padding-bottom: 10.6666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .management {
    margin-top: 29.8666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .management {
    flex-direction: column;
    align-items: center;
  }
}
.management__vision {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 50%;
  margin-top: 1.25vw;
}
@media screen and (max-width: 800px) {
  .management__vision {
    margin-top: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .management__vision {
    width: 100%;
  }
}
.management__title {
  font-size: 3.75vw;
  font-family: "SweetSansProMedium";
  font-weight: normal;
  letter-spacing: 1.6px;
}
@media screen and (max-width: 800px) {
  .management__title {
    font-size: 8.5333333333vw;
  }
}
.management__subtitle {
  font-size: 1.25vw;
}
@media screen and (max-width: 800px) {
  .management__subtitle {
    font-size: 4.2666666667vw;
  }
}
.management__content {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80%;
  font-size: 2.5vw;
  justify-content: center;
  text-align: center;
  margin-top: 5vw;
  line-height: 1.5;
  font-family: "Hiragino Sans";
  font-weight: 600;
  letter-spacing: 1.6px;
  background: var(--gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  min-height: 11.71875vw;
}
@media screen and (max-width: 800px) {
  .management__content {
    font-size: 5.3333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .management__content {
    margin-top: 8.5333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .management__content {
    width: 90%;
  }
}
.management__contentUnder {
  width: 64%;
  font-size: 1.25vw;
  text-align: center;
  margin-top: 3.125vw;
  line-height: 1.5;
  letter-spacing: 1.2px;
}
@media screen and (max-width: 800px) {
  .management__contentUnder {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .management__contentUnder {
    margin-top: 6.4vw;
  }
}
@media screen and (max-width: 800px) {
  .management__contentUnder {
    width: 90%;
  }
}
.management__content span {
  margin-top: 3.125vw;
  font-size: 1.25vw;
  color: #1e1e1e;
}
@media screen and (max-width: 800px) {
  .management__content span {
    margin-top: 10.6666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .management__content span {
    font-size: 4.2666666667vw;
  }
}
.management__border {
  width: 0.078125vw;
  height: 25.78125vw;
  background-color: #1e1e1e;
  margin-top: 0vw;
  margin-bottom: 0vw;
}
@media screen and (max-width: 800px) {
  .management__border {
    width: 66.6666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .management__border {
    height: 0.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .management__border {
    margin-top: 17.0666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .management__border {
    margin-bottom: 17.0666666667vw;
  }
}
.management__philosophy {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 50%;
  margin-top: 1.25vw;
}
@media screen and (max-width: 800px) {
  .management__philosophy {
    margin-top: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .management__philosophy {
    width: 100%;
  }
}
.management__flex {
  display: flex;
  align-items: center;
  gap: 0.78125vw;
}
@media screen and (max-width: 800px) {
  .management__flex {
    gap: 2.5vw;
  }
}
.management__column {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-top: 5vw;
}
@media screen and (max-width: 800px) {
  .management__column {
    margin-top: 8.5333333333vw;
  }
}
.management__graText {
  font-size: 2.5vw;
  background: var(--gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: "SweetSansProMedium";
  font-weight: normal;
  letter-spacing: 1.6px;
}
@media screen and (max-width: 800px) {
  .management__graText {
    font-size: 6.4vw;
  }
}
.management__text {
  font-size: 1.25vw;
  font-family: "Noto Sans JP";
  font-weight: 600;
}
@media screen and (max-width: 800px) {
  .management__text {
    font-size: 3.2vw;
  }
}
.management__contentText {
  font-size: 1.25vw;
  line-height: 2;
  margin-top: 1.875vw;
  text-align: center;
  width: 100%;
}
@media screen and (max-width: 800px) {
  .management__contentText {
    font-size: 3.2vw;
  }
}
@media screen and (max-width: 800px) {
  .management__contentText {
    margin-top: 6.4vw;
  }
}

.message {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-top: 8.75vw;
}
@media screen and (max-width: 800px) {
  .message {
    margin-top: 21.3333333333vw;
  }
}
.message__title {
  font-size: 3.75vw;
  font-family: "SweetSansProMedium";
  font-weight: normal;
  letter-spacing: 1.6px;
}
@media screen and (max-width: 800px) {
  .message__title {
    font-size: 10.6666666667vw;
  }
}
.message__subtitle {
  font-size: 1.25vw;
}
@media screen and (max-width: 800px) {
  .message__subtitle {
    font-size: 4.2666666667vw;
  }
}
.message__inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  margin-top: 5vw;
}
@media screen and (max-width: 800px) {
  .message__inner {
    margin-top: 10.6666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .message__inner {
    flex-direction: column;
  }
}
.message__imgWrapper {
  width: 24.53125vw;
  position: relative;
  border-radius: 15px;
}
@media screen and (max-width: 800px) {
  .message__imgWrapper {
    width: 80vw;
  }
}
.message__imgWrapper::before {
  display: block;
  content: "";
  padding-top: 125.4777070064%;
}
.message__imgWrapper > * {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.message__text {
  font-size: 1.25vw;
  line-height: 2;
  margin-top: 3.125vw;
}
@media screen and (max-width: 800px) {
  .message__text {
    font-size: 3.7333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .message__text {
    margin-top: 6.4vw;
  }
}
.message__text--first {
  margin-top: 0vw;
}
@media screen and (max-width: 800px) {
  .message__text--first {
    margin-top: 0vw;
  }
}
.message .message__text--hidden {
  display: none;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 0.5s ease-out, opacity 0.5s ease-out;
}
.message .message__text--visible {
  max-height: 500px;
  /* ここは表示する要素の高さに合わせて調整します */
  opacity: 1;
  overflow: hidden;
  /* これを追加して表示時のオーバーフローを防ぐ */
  transition: max-height 0.5s ease-in, opacity 0.5s ease-in;
}
.message__right {
  width: 48.75vw;
  margin-top: 0vw;
}
@media screen and (max-width: 800px) {
  .message__right {
    width: 80vw;
  }
}
@media screen and (max-width: 800px) {
  .message__right {
    margin-top: 17.0666666667vw;
  }
}
.message .message__text--last {
  display: inline;
  white-space: nowrap;
}
.message__end {
  display: flex;
  justify-content: flex-end;
}
.message__more {
  font-size: 1.09375vw;
  text-decoration: underline;
  margin-top: 1.25vw;
  cursor: pointer;
}
@media screen and (max-width: 800px) {
  .message__more {
    font-size: 3.7333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .message__more {
    margin-top: 4.2666666667vw;
  }
}

.archive-sdgs {
  position: relative;
  display: flex;
  flex-direction: column;
  padding-top: 12.5vw;
}
@media screen and (max-width: 800px) {
  .archive-sdgs {
    padding-top: 42.6666666667vw;
  }
}
.archive-sdgs__container {
  position: relative;
  z-index: 1;
}
.archive-sdgs__svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 78.125vw;
  height: 78.125vw;
}
@media screen and (max-width: 800px) {
  .archive-sdgs__svg {
    width: 80vw;
  }
}
@media screen and (max-width: 800px) {
  .archive-sdgs__svg {
    height: 80vw;
  }
}
@media screen and (max-width: 800px) {
  .archive-sdgs__svg {
    display: none;
  }
}
.archive-sdgs__circle {
  position: absolute;
  opacity: 40%;
}
.archive-sdgs__circle--left {
  bottom: -10%;
  left: -30%;
}
.archive-sdgs__circle--right {
  top: 5%;
  right: 20%;
}
.archive-sdgs__imgs {
  width: 64.0625vw;
  height: auto;
  -webkit-animation: color-change 5s infinite;
          animation: color-change 5s infinite;
  transform-origin: 50% 50%;
  -webkit-animation: rotation 10s infinite linear;
          animation: rotation 10s infinite linear;
}
@media screen and (max-width: 800px) {
  .archive-sdgs__imgs {
    width: 218.6666666667vw;
  }
}
@-webkit-keyframes rotation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes rotation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@media screen and (max-width: 800px) {
  .archive-sdgs__imgs {
    margin-bottom: 6.25vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .archive-sdgs__imgs {
    margin-bottom: 21.3333333333vw;
  }
}
.archive-sdgs__title {
  font-size: 5vw;
  margin-left: 10.78125vw;
  margin-bottom: 6.25vw;
  color: black;
}
@media screen and (max-width: 800px) {
  .archive-sdgs__title {
    font-size: 10.6666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .archive-sdgs__title {
    margin-left: 9.8666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .archive-sdgs__title {
    margin-bottom: 21.3333333333vw;
  }
}
.archive-sdgs__contents {
  width: 90%;
  overflow: hidden;
  margin-top: 9.375vw;
}
@media screen and (max-width: 800px) {
  .archive-sdgs__contents {
    margin-top: 17.0666666667vw;
  }
}
.archive-sdgs__contents--right {
  margin-left: 10%;
}
.archive-sdgs__imgWrapper {
  margin-bottom: 3.125vw;
  width: 89.296875vw;
  position: relative;
  border-top-right-radius: 32px;
  border-bottom-right-radius: 32px;
}
@media screen and (max-width: 800px) {
  .archive-sdgs__imgWrapper {
    margin-bottom: 10.6666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .archive-sdgs__imgWrapper {
    width: 89.8666666667vw;
  }
}
.archive-sdgs__imgWrapper::before {
  display: block;
  content: "";
  padding-top: 34.2957130359%;
}
.archive-sdgs__imgWrapper > * {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.archive-sdgs__imgWrapper--left {
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 32px;
  border-top-left-radius: 32px;
}
.archive-sdgs__textbox {
  width: 78.4375vw;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 800px) {
  .archive-sdgs__textbox {
    width: 80vw;
  }
}
.archive-sdgs__textbox--left {
  margin-left: 10.78125vw;
}
@media screen and (max-width: 800px) {
  .archive-sdgs__textbox--left {
    margin-left: 9.8666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .archive-sdgs__textbox {
    flex-direction: column;
  }
}
@media screen and (max-width: 800px) {
  .archive-sdgs__left {
    margin-bottom: 2.5vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .archive-sdgs__left {
    margin-bottom: 8.5333333333vw;
  }
}
.archive-sdgs__subtext {
  font-size: 1.25vw;
  margin-bottom: 0.625vw;
  color: black;
  border-bottom: 1px solid black;
  cursor: pointer;
}
@media screen and (max-width: 800px) {
  .archive-sdgs__subtext {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .archive-sdgs__subtext {
    margin-bottom: 2.1333333333vw;
  }
}
.archive-sdgs__subtext--text {
  border-bottom: none;
}
.archive-sdgs__text {
  font-size: 1.875vw;
}
@media screen and (max-width: 800px) {
  .archive-sdgs__text {
    font-size: 6.4vw;
  }
}
.archive-sdgs__content {
  font-size: 1.25vw;
  width: 45.46875vw;
  color: black;
  line-height: 2;
}
@media screen and (max-width: 800px) {
  .archive-sdgs__content {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .archive-sdgs__content {
    width: 80vw;
  }
}
.archive-sdgs__content--mt {
  margin-top: 1.875vw;
}
@media screen and (max-width: 800px) {
  .archive-sdgs__content--mt {
    margin-top: 6.4vw;
  }
}
.archive-sdgs .archive-sdgs__content--hidden {
  display: none;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 0.5s ease-out, opacity 0.5s ease-out;
}
.archive-sdgs .archive-sdgs__content--visible {
  max-height: 1000px;
  /* ここは十分な大きさに設定しておく */
  opacity: 1;
  overflow: hidden;
  /* これを追加して表示時のオーバーフローを防ぐ */
  transition: max-height 0.5s ease-in, opacity 0.5s ease-in;
}
.archive-sdgs__detail {
  display: flex;
  justify-content: flex-end;
}
.archive-sdgs__button {
  --color: #ebe6e2;
  --bg-color: #1b1b1b;
  width: 4.375vw;
  height: 4.375vw;
  border: 0.078125vw solid rgba(255, 255, 255, 0.3);
  border-radius: 78.046875vw;
  position: relative;
  background-color: var(--bg-color);
  transition: all 0.25s ease-in;
}
@media screen and (max-width: 800px) {
  .archive-sdgs__button {
    width: 14.9333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .archive-sdgs__button {
    height: 14.9333333333vw;
  }
}
.archive-sdgs__button:hover {
  --color: #1b1b1b;
  --bg-color: #ebe6e2;
}
.archive-sdgs__button .serviceUnder__next path {
  stroke: var(--color);
}
.archive-sdgs__next {
  width: 1.875vw;
  position: absolute;
  top: 30%;
  left: 30%;
}
@media screen and (max-width: 800px) {
  .archive-sdgs__next {
    width: 6.4vw;
  }
}

.archive-service {
  position: relative;
  display: flex;
  flex-direction: column;
  padding-top: 12.5vw;
}
@media screen and (max-width: 800px) {
  .archive-service {
    padding-top: 42.6666666667vw;
  }
}
.archive-service__title {
  font-size: 2.5vw;
  margin-top: 6.25vw;
}
@media screen and (max-width: 800px) {
  .archive-service__title {
    font-size: 6.4vw;
  }
}
@media screen and (max-width: 800px) {
  .archive-service__title {
    margin-top: 21.3333333333vw;
  }
}
.archive-service__subtitle {
  font-size: 0.9375vw;
  margin-top: 0.625vw;
}
@media screen and (max-width: 800px) {
  .archive-service__subtitle {
    font-size: 3.2vw;
  }
}
@media screen and (max-width: 800px) {
  .archive-service__subtitle {
    margin-top: 2.1333333333vw;
  }
}
.archive-service__ml {
  margin-left: 10%;
}
.archive-service__ml--02 {
  margin-left: 7%;
}
.archive-service__ml--more {
  margin-left: 40%;
}
.archive-service__ml--more--add {
  margin-left: 44%;
}
@media screen and (max-width: 800px) {
  .archive-service__ml--more {
    margin-left: 8%;
  }
}
.archive-service__01 {
  display: flex;
  flex-direction: column;
  padding-top: 3.125vw;
  padding-bottom: 3.125vw;
  margin-top: 9.375vw;
  width: 90%;
  background-color: white;
  border-top-right-radius: 32px;
  border-bottom-right-radius: 32px;
}
@media screen and (max-width: 800px) {
  .archive-service__01 {
    padding-top: 10.6666666667vw;
    padding-bottom: 10.6666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .archive-service__01 {
    margin-top: 32vw;
  }
}
.archive-service__01--ml {
  margin-left: 10%;
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
  border-top-left-radius: 32px;
  border-bottom-left-radius: 32px;
}
.archive-service__left {
  display: flex;
  flex-direction: column;
  width: 43.515625vw;
  margin-right: 4.375vw;
}
@media screen and (max-width: 800px) {
  .archive-service__left {
    width: 80vw;
  }
}
@media screen and (max-width: 800px) {
  .archive-service__left {
    margin-right: 14.9333333333vw;
  }
}
.archive-service__left--ml {
  margin-right: 0vw;
  margin-left: 5.46875vw;
}
@media screen and (max-width: 800px) {
  .archive-service__left--ml {
    margin-right: 0vw;
  }
}
@media screen and (max-width: 800px) {
  .archive-service__left--ml {
    margin-left: 0vw;
  }
}
.archive-service__text {
  font-size: 1.25vw;
  line-height: 2;
  margin-top: 3.125vw;
}
@media screen and (max-width: 800px) {
  .archive-service__text {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .archive-service__text {
    margin-top: 10.6666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .archive-service__text {
    padding-right: 1.25vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .archive-service__text {
    padding-right: 4.2666666667vw;
  }
}
.archive-service__textMore {
  font-size: 1.25vw;
  line-height: 2;
  margin-top: 2.5vw;
}
@media screen and (max-width: 800px) {
  .archive-service__textMore {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .archive-service__textMore {
    margin-top: 8.5333333333vw;
  }
}
.archive-service__textMore--none {
  margin-top: 0vw;
}
@media screen and (max-width: 800px) {
  .archive-service__textMore--none {
    margin-top: 0vw;
  }
}
@media screen and (max-width: 800px) {
  .archive-service__textMore {
    padding-right: 1.25vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .archive-service__textMore {
    padding-right: 4.2666666667vw;
  }
}
.archive-service__textMore span {
  font-size: 1.25vw;
  line-height: 2;
  font-weight: bold;
}
@media screen and (max-width: 800px) {
  .archive-service__textMore span {
    font-size: 4.2666666667vw;
  }
}
.archive-service .archive-service__textMore--hidden {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease-out, opacity 0.5s ease-out;
  opacity: 0;
}
.archive-service .archive-service__textMore--visible {
  max-height: 1000px;
  /* コンテンツの最大高さに合わせて調整 */
  opacity: 1;
  transition: max-height 0.5s ease-in, opacity 0.5s ease-in;
}
.archive-service__end {
  display: flex;
  justify-content: flex-end;
  margin-top: 1.25vw;
}
@media screen and (max-width: 800px) {
  .archive-service__end {
    margin-top: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .archive-service__end {
    margin-right: 1.25vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .archive-service__end {
    margin-right: 4.2666666667vw;
  }
}
.archive-service__view {
  font-size: 1.25vw;
  border-bottom: 1px solid black;
  cursor: pointer;
}
@media screen and (max-width: 800px) {
  .archive-service__view {
    font-size: 4.2666666667vw;
  }
}
.archive-service__content {
  display: flex;
}
@media screen and (max-width: 800px) {
  .archive-service__content {
    flex-direction: column;
  }
  .archive-service__content--reverse {
    flex-direction: column-reverse;
  }
}
.archive-service__imgWrapper {
  width: 27.96875vw;
  position: relative;
  margin-top: 3.125vw;
}
@media screen and (max-width: 800px) {
  .archive-service__imgWrapper {
    width: 80vw;
  }
}
.archive-service__imgWrapper::before {
  display: block;
  content: "";
  padding-top: 115.6424581006%;
}
.archive-service__imgWrapper > * {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 800px) {
  .archive-service__imgWrapper {
    margin-top: 10.6666666667vw;
  }
}
.archive-service__img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 800px) {
  .archive-service__img {
    width: 90%;
  }
}
.archive-service__mt {
  margin-top: 1.875vw;
}
@media screen and (max-width: 800px) {
  .archive-service__mt {
    margin-top: 6.4vw;
  }
}
.archive-service__link {
  font-size: 1.25vw;
  color: #4242ff;
  text-decoration: underline;
  transition: all 0.25s ease-in;
}
@media screen and (max-width: 800px) {
  .archive-service__link {
    font-size: 4.2666666667vw;
  }
}
.archive-service__link:hover {
  opacity: 40%;
}

.attempt {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-top: 8.75vw;
}
@media screen and (max-width: 800px) {
  .attempt {
    margin-top: 21.3333333333vw;
  }
}
.attempt__title {
  font-size: 1.875vw;
  width: 80%;
}
@media screen and (max-width: 800px) {
  .attempt__title {
    font-size: 6.4vw;
  }
}
.attempt__inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 80%;
  margin-top: 6.25vw;
}
@media screen and (max-width: 800px) {
  .attempt__inner {
    margin-top: 10.6666666667vw;
  }
}
.attempt__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
@media screen and (max-width: 800px) {
  .attempt__row {
    flex-direction: column;
  }
}
.attempt__imgWrapper {
  width: 17.734375vw;
  position: relative;
  border-radius: 16px;
}
@media screen and (max-width: 800px) {
  .attempt__imgWrapper {
    width: 80vw;
  }
}
.attempt__imgWrapper::before {
  display: block;
  content: "";
  padding-top: 100%;
}
.attempt__imgWrapper > * {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.attempt__img {
  border-radius: 16px;
}
.attempt__content {
  margin-top: 0vw;
}
@media screen and (max-width: 800px) {
  .attempt__content {
    margin-top: 6.4vw;
  }
}
.attempt__text {
  width: 55.078125vw;
  font-size: 1.25vw;
  margin-top: 0.625vw;
}
@media screen and (max-width: 800px) {
  .attempt__text {
    width: 80vw;
  }
}
@media screen and (max-width: 800px) {
  .attempt__text {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .attempt__text {
    margin-top: 2.1333333333vw;
  }
}
.attempt__text--mt {
  margin-top: 1.875vw;
}
@media screen and (max-width: 800px) {
  .attempt__text--mt {
    margin-top: 6.4vw;
  }
}
.attempt__borderBox {
  display: flex;
  justify-content: flex-end;
  width: 100%;
}
.attempt__border {
  width: 55.078125vw;
  height: 0.078125vw;
  background-color: rgba(0, 0, 0, 0.6);
  margin-top: 1.875vw;
  margin-bottom: 1.875vw;
}
@media screen and (max-width: 800px) {
  .attempt__border {
    width: 80vw;
  }
}
@media screen and (max-width: 800px) {
  .attempt__border {
    height: 0.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .attempt__border {
    margin-top: 10.6666666667vw;
    margin-bottom: 10.6666666667vw;
  }
}

.culture {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: 12.5vw;
}
@media screen and (max-width: 800px) {
  .culture {
    padding-top: 42.6666666667vw;
  }
}
.culture__bpo {
  width: 14.296875vw;
  border: 1px solid rgba(30, 30, 30, 0.4);
  padding-top: 0.9375vw;
  padding-bottom: 0.9375vw;
  text-align: center;
  border-radius: 999px;
  font-size: 1.25vw;
  transition: all 0.25s ease-in;
  cursor: pointer;
}
@media screen and (max-width: 800px) {
  .culture__bpo {
    width: 32vw;
  }
}
@media screen and (max-width: 800px) {
  .culture__bpo {
    padding-top: 2.1333333333vw;
    padding-bottom: 2.1333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .culture__bpo {
    font-size: 2.9333333333vw;
  }
}
.culture__bpo:hover {
  opacity: 40%;
}
.culture .culture__bpo.selected {
  border: 1px solid #f24e1e;
  background-color: white;
}
.culture__bpo span {
  font-size: 0.9375vw;
}
@media screen and (max-width: 800px) {
  .culture__bpo span {
    font-size: 1.8666666667vw;
  }
}
.culture__title {
  background: var(--gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 9.375vw;
  font-family: "SweetSansProMedium";
  font-weight: 700;
  margin-left: 10%;
}
@media screen and (max-width: 800px) {
  .culture__title {
    font-size: 13.8666666667vw;
  }
}
.culture__title .char {
  display: inline-block;
  font-size: 9.375vw;
  font-family: "SweetSansProMedium";
  font-weight: 700;
  background: var(--gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  transform: translateY(100px);
  opacity: 0;
  transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
@media screen and (max-width: 800px) {
  .culture__title .char {
    font-size: 13.8666666667vw;
  }
}
.culture__title .char.animate {
  transform: translateY(0);
  opacity: 1;
}
.culture__title:not(.js-animated) {
  opacity: 0;
  transform: translateY(40px);
  transition: transform 0.8s ease, opacity 0.8s ease;
}
.culture.show .archive-about__title:not(.js-animated) {
  transform: translateY(0);
  opacity: 1;
  transition-delay: 0.3s;
}
.culture__subtitle {
  font-size: 1.5625vw;
  color: black;
  font-family: "Noto Sans JP";
  margin-left: 10%;
}
@media screen and (max-width: 800px) {
  .culture__subtitle {
    font-size: 4.2666666667vw;
  }
}
.culture__our {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 90%;
  margin-left: 10%;
  margin-top: 6.25vw;
}
@media screen and (max-width: 800px) {
  .culture__our {
    margin-top: 10.6666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .culture__our {
    flex-direction: column;
  }
}
.culture__left {
  display: flex;
  flex-direction: column;
}
.culture__ourTitle {
  font-size: 3.75vw;
  font-family: "SweetSansProMedium";
  font-weight: normal;
  letter-spacing: 1.6px;
}
@media screen and (max-width: 800px) {
  .culture__ourTitle {
    font-size: 8.5333333333vw;
  }
}
.culture__ourSubtitle {
  font-size: 1.25vw;
}
@media screen and (max-width: 800px) {
  .culture__ourSubtitle {
    font-size: 4.2666666667vw;
  }
}
.culture__ourText {
  font-size: 1.25vw;
  line-height: 2.5;
  margin-top: 3.125vw;
}
@media screen and (max-width: 800px) {
  .culture__ourText {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .culture__ourText {
    margin-top: 10.6666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .culture__ourText {
    width: 90%;
    line-height: 2;
  }
}
.culture__imgWrapper {
  width: 49.453125vw;
  position: relative;
  border-top-left-radius: 32px;
  border-bottom-left-radius: 32px;
}
@media screen and (max-width: 800px) {
  .culture__imgWrapper {
    width: 89.8666666667vw;
  }
}
.culture__imgWrapper::before {
  display: block;
  content: "";
  padding-top: 53.8704581359%;
}
.culture__imgWrapper > * {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 800px) {
  .culture__imgWrapper {
    margin-top: 1.875vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .culture__imgWrapper {
    margin-top: 6.4vw;
  }
}

.lecturer {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 12.5vw;
  padding-bottom: 6.25vw;
}
@media screen and (max-width: 800px) {
  .lecturer {
    padding-top: 42.6666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .lecturer {
    padding-bottom: 21.3333333333vw;
  }
}
.lecturer__title {
  background: var(--gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 9.375vw;
  font-family: "SweetSansProMedium";
  font-weight: normal;
  width: 78.4375vw;
  text-align: start;
}
@media screen and (max-width: 800px) {
  .lecturer__title {
    font-size: 13.8666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .lecturer__title {
    width: 80vw;
  }
}
.lecturer__title .char {
  display: inline-block;
  font-size: 9.375vw;
  font-family: "SweetSansProMedium";
  font-weight: 700;
  background: var(--gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  transform: translateY(100px);
  opacity: 0;
  transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
@media screen and (max-width: 800px) {
  .lecturer__title .char {
    font-size: 13.6vw;
  }
}
.lecturer__title .char.animate {
  transform: translateY(0);
  opacity: 1;
}
.lecturer__title:not(.js-animated) {
  opacity: 0;
  transform: translateY(40px);
  transition: transform 0.8s ease, opacity 0.8s ease;
}
.lecturer.show .archive-about__title:not(.js-animated) {
  transform: translateY(0);
  opacity: 1;
  transition-delay: 0.3s;
}
.lecturer__subtitle {
  font-size: 1.5625vw;
  color: black;
  font-family: "Noto Sans JP";
  width: 78.4375vw;
  text-align: start;
  margin-bottom: 5vw;
}
@media screen and (max-width: 800px) {
  .lecturer__subtitle {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .lecturer__subtitle {
    width: 80vw;
  }
}
@media screen and (max-width: 800px) {
  .lecturer__subtitle {
    margin-bottom: 10.6666666667vw;
  }
}
.lecturer__subtitle--service {
  text-align: center;
}
.lecturer__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25vw;
  width: 78.125vw;
  margin: 0 auto;
}
@media screen and (max-width: 800px) {
  .lecturer__grid {
    width: 88vw;
  }
}
@media screen and (max-width: 800px) {
  .lecturer__grid {
    grid-template-columns: 1fr;
    gap: 3.75vw;
  }
}
.lecturer__card {
  background: white;
  border-radius: 1.25vw;
  overflow: hidden;
  box-shadow: 0 0.625vw 1.875vw rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.lecturer__card:hover {
  transform: translateY(-0.3125vw);
  box-shadow: 0 0.9375vw 2.5vw rgba(0, 0, 0, 0.15);
}
.lecturer__card-image {
  position: relative;
  width: 100%;
  height: 25vw;
  overflow: hidden;
}
@media screen and (max-width: 800px) {
  .lecturer__card-image {
    height: 78.125vw;
  }
}
.lecturer__card-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.lecturer__card-content {
  padding: 1.25vw;
}
@media screen and (max-width: 800px) {
  .lecturer__card-content {
    padding: 4.2666666667vw;
  }
}
.lecturer__card-content-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 3.125vw;
  margin-bottom: 1.25vw;
}
@media screen and (max-width: 800px) {
  .lecturer__card-content-header {
    margin-bottom: 2.1333333333vw;
  }
}
.lecturer__card-name {
  position: absolute;
  bottom: 0vw;
  left: 0vw;
  font-size: 1.875vw;
  font-weight: bold;
  background: linear-gradient(97deg, #004c71 0%, #3c7ce1 99.49%);
  color: white;
  padding-left: 1.25vw;
  padding-right: 1.25vw;
  padding-top: 0.625vw;
  padding-bottom: 0.625vw;
  border-radius: 0 0.625vw 0 0;
  font-family: "SweetSansProMedium";
  z-index: 2;
  min-width: 9.375vw;
}
@media screen and (max-width: 800px) {
  .lecturer__card-name {
    font-size: 5.3333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .lecturer__card-name {
    padding-left: 3.2vw;
    padding-right: 3.2vw;
  }
}
@media screen and (max-width: 800px) {
  .lecturer__card-name {
    padding-top: 1.6vw;
    padding-bottom: 1.6vw;
  }
}
@media screen and (max-width: 800px) {
  .lecturer__card-name {
    border-radius: 0 0.625vw 0 0;
  }
}
.lecturer__card-role {
  font-size: 1.5625vw;
  color: #1e1e1e;
  font-family: "Sweet Sans Pro";
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}
@media screen and (max-width: 800px) {
  .lecturer__card-role {
    font-size: 5.3333333333vw;
  }
}
.lecturer__card-social {
  display: flex;
  gap: 0.625vw;
  justify-content: center;
}
@media screen and (max-width: 800px) {
  .lecturer__card-social {
    gap: 1.25vw;
  }
}
.lecturer__social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.875vw;
  height: 1.875vw;
  color: white;
  border-radius: 50%;
  text-decoration: none;
  transition: transform 0.2s ease;
}
@media screen and (max-width: 800px) {
  .lecturer__social-link {
    width: 6.4vw;
  }
}
@media screen and (max-width: 800px) {
  .lecturer__social-link {
    height: 6.4vw;
  }
}
.lecturer__social-link:hover {
  transform: scale(1.1);
}
.lecturer__social-icon {
  width: 1.875vw;
  height: 1.875vw;
}
@media screen and (max-width: 800px) {
  .lecturer__social-icon {
    width: 6.4vw;
  }
}
@media screen and (max-width: 800px) {
  .lecturer__social-icon {
    height: 6.4vw;
  }
}
.lecturer__card-description {
  font-size: 1.09375vw;
  line-height: 1.6;
  color: #555;
  font-family: "Noto Sans JP";
  text-align: justify;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  min-height: 17.1875vw;
}
@media screen and (max-width: 800px) {
  .lecturer__card-description {
    font-size: 3.7333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .lecturer__card-description {
    min-height: 58.59375vw;
  }
}
.lecturer__card-description p {
  margin: 0 0 0.625vw 0;
}
.lecturer__card-description p:last-child {
  margin-bottom: 0;
}
.lecturer__no-posts {
  grid-column: 1/-1;
  text-align: center;
  padding-top: 6.25vw;
  padding-bottom: 6.25vw;
  font-size: 1.40625vw;
  color: #666;
  font-family: "Noto Sans JP";
}
@media screen and (max-width: 800px) {
  .lecturer__no-posts {
    padding-top: 16vw;
    padding-bottom: 16vw;
  }
}
@media screen and (max-width: 800px) {
  .lecturer__no-posts {
    font-size: 4.2666666667vw;
  }
}

.recruitBunner {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 100%;
  margin-top: 8.75vw;
}
@media screen and (max-width: 800px) {
  .recruitBunner {
    margin-top: 29.8666666667vw;
  }
}
.recruitBunner__inner {
  display: flex;
  width: 90%;
}
@media screen and (max-width: 800px) {
  .recruitBunner__inner {
    height: 31.25vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .recruitBunner__inner {
    height: 106.6666666667vw;
  }
}
.recruitBunner__content {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: left;
}
.recruitBunner__img {
  width: 100%;
  height: auto;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 20px;
}
@media screen and (max-width: 800px) {
  .recruitBunner__img {
    height: 31.25vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .recruitBunner__img {
    height: 106.6666666667vw;
  }
}
.recruitBunner__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 20px;
  background: #d9d9d9;
  mix-blend-mode: multiply;
}
.recruitBunner__title, .recruitBunner__subTitle, .recruitBunner__text {
  position: absolute;
  z-index: 3;
  color: #fff;
  text-shadow: -2px -2px 12px rgba(0, 0, 0, 0.1), 2px 2px 12px rgba(0, 0, 0, 0.1);
}
.recruitBunner__title {
  top: 12%;
  left: 10%;
  color: #fff;
  font-family: "SweetSansProMedium";
  font-size: 5vw;
  font-style: normal;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 3.2px;
  text-transform: uppercase;
}
@media screen and (max-width: 800px) {
  .recruitBunner__title {
    font-size: 8.5333333333vw;
  }
}
.recruitBunner__subTitle {
  top: 28%;
  left: 10%;
  color: #fff;
  font-family: "Hiragino Sans";
  font-size: 1.5625vw;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}
@media screen and (max-width: 800px) {
  .recruitBunner__subTitle {
    font-size: 3.2vw;
  }
}
.recruitBunner__text {
  top: 40%;
  left: 10%;
  color: #fff;
  font-family: "Hiragino Sans";
  font-size: 3.75vw;
  font-style: normal;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 2.4px;
}
@media screen and (max-width: 800px) {
  .recruitBunner__text {
    font-size: 4vw;
  }
}
.recruitBunner__button {
  position: absolute;
  bottom: 10%;
  left: 10%;
  display: flex;
  align-items: center;
  gap: 6.09375vw;
  width: 20.078125vw;
  height: 4.53125vw;
  border-radius: 999px;
  background: white;
  transition: all 0.25s ease-in;
}
@media screen and (max-width: 800px) {
  .recruitBunner__button {
    width: 61.3333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .recruitBunner__button {
    height: 15.4666666667vw;
  }
}
.recruitBunner__button:hover {
  opacity: 80%;
}
@media screen and (max-width: 800px) {
  .recruitBunner__title {
    top: 33%;
  }
  .recruitBunner__subTitle {
    top: 43%;
  }
  .recruitBunner__text {
    top: 53%;
  }
}
.recruitBunner__buttonText {
  font-size: 1.09375vw;
  margin-left: 2.578125vw;
  font-style: normal;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.7px;
  background: linear-gradient(97deg, #004c71 0%, #3c7ce1 99.49%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 800px) {
  .recruitBunner__buttonText {
    font-size: 3.7333333333vw;
  }
}
@media screen and (max-width: 800px) {
  .recruitBunner__buttonText {
    margin-left: 8.8vw;
  }
}

.course {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 1;
  padding-top: 7.8125vw;
}
@media screen and (max-width: 800px) {
  .course {
    padding-top: 21.3333333333vw;
  }
}
.course__title {
  font-size: 5vw;
  font-family: "SweetSansProMedium";
  font-weight: 700;
  background: linear-gradient(97deg, #004c71 0%, #3c7ce1 99.49%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 800px) {
  .course__title {
    font-size: 12.8vw;
  }
}
.course__subtitle {
  font-size: 1.25vw;
  text-align: center;
}
@media screen and (max-width: 800px) {
  .course__subtitle {
    font-size: 4.2666666667vw;
  }
}
.course__content {
  margin-top: 6.25vw;
  width: 80%;
}
@media screen and (max-width: 800px) {
  .course__content {
    margin-top: 10.6666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .course__content {
    width: 100%;
  }
}
.course__content__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 1.5625vw;
  padding-right: 1.5625vw;
}
@media screen and (max-width: 800px) {
  .course__content__inner {
    padding-left: 4.2666666667vw;
    padding-right: 4.2666666667vw;
  }
}
.course__cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
@media screen and (max-width: 800px) {
  .course__cards {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}
.course__card {
  background: #fff;
  border-radius: 20px;
  padding: 16px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}
@media screen and (max-width: 800px) {
  .course__card {
    border-radius: 8px;
  }
}
.course__card:hover {
  transform: translateY(-8px);
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.15);
}
.course__card__image {
  position: relative;
  height: 35.9375vw;
  height: 19.53125vw;
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 20px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 800px) {
  .course__card__image {
    height: 80vw;
  }
}
@media screen and (max-width: 800px) {
  .course__card__image {
    height: 53.3333333333vw;
  }
}
.course__card__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 800px) {
  .course__card__image {
    border-radius: 8px;
  }
}
.course__card__title {
  font-family: "Hiragino Sans";
  font-size: 1.875vw;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  background: linear-gradient(97deg, #004c71 0%, #3c7ce1 99.49%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 800px) {
  .course__card__title {
    font-size: 4.8vw;
  }
}
.course__card__text {
  color: #1e1e1e;
  font-family: "Hiragino Sans";
  font-size: 1.25vw;
  font-weight: 300;
  line-height: 1.5;
  margin-top: 0.625vw;
}
@media screen and (max-width: 800px) {
  .course__card__text {
    font-size: 3.2vw;
  }
}
@media screen and (max-width: 800px) {
  .course__card__text {
    margin-top: 2.1333333333vw;
  }
}

.voice {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 1;
  padding-top: 7.8125vw;
}
@media screen and (max-width: 800px) {
  .voice {
    padding-top: 21.3333333333vw;
  }
}
.voice__inner {
  width: 90%;
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 20px;
}
.voice__title {
  font-size: 5vw;
  font-family: "SweetSansProMedium";
  font-weight: 700;
  background: linear-gradient(97deg, #004c71 0%, #3c7ce1 99.49%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-align: center;
}
@media screen and (max-width: 800px) {
  .voice__title {
    font-size: 12.8vw;
  }
}
.voice__subtitle {
  font-size: 1.25vw;
  text-align: center;
  margin-top: 0.625vw;
  color: #333;
}
@media screen and (max-width: 800px) {
  .voice__subtitle {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .voice__subtitle {
    margin-top: 1.0666666667vw;
  }
}
.voice__content {
  margin-top: 6.25vw;
  width: 100%;
}
@media screen and (max-width: 800px) {
  .voice__content {
    margin-top: 10.6666666667vw;
  }
}
.voice__cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px 30px;
}
@media screen and (max-width: 800px) {
  .voice__cards {
    grid-template-columns: 1fr;
    gap: 50px;
  }
}
.voice__card {
  background: #ffffff;
  border-radius: 20px;
  height: 50vw;
  box-shadow: 0 10px 30px rgba(0, 76, 113, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
@media screen and (max-width: 800px) {
  .voice__card {
    height: 173.3333333333vw;
  }
}
.voice__card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 40px rgba(0, 76, 113, 0.15);
}
@media screen and (max-width: 800px) {
  .voice__card {
    padding-top: 1.875vw;
    padding-bottom: 1.875vw;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .voice__card {
    padding-top: 6.4vw;
    padding-bottom: 6.4vw;
  }
}
.voice__cardHeader {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  margin-bottom: 25px;
  padding-left: 1.875vw;
  position: relative;
  transform: translateY(-30%);
}
@media screen and (max-width: 800px) {
  .voice__cardHeader {
    padding-left: 6.4vw;
  }
}
@media screen and (max-width: 800px) {
  .voice__cardHeader {
    gap: 20px;
    margin-bottom: 25px;
    transform: translateY(-50%);
  }
}
.voice__avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 12.734375vw;
  height: 12.734375vw;
  border-radius: 50%;
  overflow: hidden;
  background: #fff;
}
@media screen and (max-width: 800px) {
  .voice__avatar {
    width: 26.6666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .voice__avatar {
    height: 26.6666666667vw;
  }
}
.voice__avatar img {
  width: 90%;
  height: 90%;
  -o-object-fit: cover;
     object-fit: cover;
}
.voice__cardInfo {
  display: flex;
  height: 12.734375vw;
  margin-left: 0.78125vw;
  flex-direction: column;
  justify-content: flex-end;
  text-align: flex-end;
}
@media screen and (max-width: 800px) {
  .voice__cardInfo {
    height: 26.6666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .voice__cardInfo {
    margin-left: 0vw;
  }
}
.voice__cardTitle {
  font-size: 1.875vw;
  font-weight: 500;
  margin-bottom: 8px;
  line-height: 1.3;
  background: linear-gradient(97deg, #004c71 0%, #3c7ce1 99.49%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: "ZenMaruGothic";
  font-style: normal;
}
@media screen and (max-width: 800px) {
  .voice__cardTitle {
    font-size: 3.7333333333vw;
  }
}
.voice__cardName {
  font-size: 1.09375vw;
  color: #1e1e1e;
  font-family: "Hiragino Sans";
  font-style: normal;
  font-weight: 600;
  line-height: 1.5;
}
@media screen and (max-width: 800px) {
  .voice__cardName {
    font-size: 3.2vw;
  }
}
.voice__cardContent {
  line-height: 1.7;
  position: relative;
  transform: translateY(-10%);
}
@media screen and (max-width: 800px) {
  .voice__cardContent {
    transform: translateY(-10%);
  }
}
.voice__cardText {
  font-size: 1.09375vw;
  margin-left: 1.875vw;
  margin-right: 1.875vw;
  padding: 1.25vw;
  min-height: 35.15625vw;
  color: #1e1e1e;
  font-family: "Hiragino Sans";
  font-style: normal;
  font-weight: 300;
  line-height: 1.5;
  border-radius: 8px;
  background: rgba(233, 242, 245, 0.8);
}
@media screen and (max-width: 800px) {
  .voice__cardText {
    font-size: 3.2vw;
  }
}
@media screen and (max-width: 800px) {
  .voice__cardText {
    margin-left: 6.4vw;
    margin-right: 6.4vw;
  }
}
@media screen and (max-width: 800px) {
  .voice__cardText {
    padding: 4.2666666667vw;
  }
}
@media screen and (max-width: 800px) {
  .voice__cardText {
    min-height: 148.4375vw;
  }
}