@charset "UTF-8";
/*
 * 投稿ブロック本文スタイル（ＷＰエディタ共通）
 */
.u-sp-only {
  display: none !important;
}
@media (max-width: 767px) {
  .u-sp-only {
    display: block !important;
  }
}

.u-tb-only {
  display: none !important;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .u-tb-only {
    display: block !important;
  }
}

.u-pc-only {
  display: block !important;
}
@media (max-width: 767px) {
  .u-pc-only {
    display: none !important;
  }
}

.u-mt-0 {
  margin-top: min(0px, 0vw);
}

@media (max-width: 767px) {
  .u-sp-mt-0 {
    margin-top: 0vw !important;
  }
}

.u-mt-10 {
  margin-top: min(10px, 0.8064516129vw);
}

@media (max-width: 767px) {
  .u-sp-mt-10 {
    margin-top: 2.6666666667vw !important;
  }
}

.u-mt-20 {
  margin-top: min(20px, 1.6129032258vw);
}

@media (max-width: 767px) {
  .u-sp-mt-20 {
    margin-top: 5.3333333333vw !important;
  }
}

.u-mt-30 {
  margin-top: min(30px, 2.4193548387vw);
}

@media (max-width: 767px) {
  .u-sp-mt-30 {
    margin-top: 8vw !important;
  }
}

.u-mt-40 {
  margin-top: min(40px, 3.2258064516vw);
}

@media (max-width: 767px) {
  .u-sp-mt-40 {
    margin-top: 10.6666666667vw !important;
  }
}

.u-mt-50 {
  margin-top: min(50px, 4.0322580645vw);
}

@media (max-width: 767px) {
  .u-sp-mt-50 {
    margin-top: 13.3333333333vw !important;
  }
}

.u-mt-60 {
  margin-top: min(60px, 4.8387096774vw);
}

@media (max-width: 767px) {
  .u-sp-mt-60 {
    margin-top: 16vw !important;
  }
}

.u-mt-70 {
  margin-top: min(70px, 5.6451612903vw);
}

@media (max-width: 767px) {
  .u-sp-mt-70 {
    margin-top: 18.6666666667vw !important;
  }
}

.u-mt-80 {
  margin-top: min(80px, 6.4516129032vw);
}

@media (max-width: 767px) {
  .u-sp-mt-80 {
    margin-top: 21.3333333333vw !important;
  }
}

.u-mt-90 {
  margin-top: min(90px, 7.2580645161vw);
}

@media (max-width: 767px) {
  .u-sp-mt-90 {
    margin-top: 24vw !important;
  }
}

.u-mt-100 {
  margin-top: min(100px, 8.064516129vw);
}

@media (max-width: 767px) {
  .u-sp-mt-100 {
    margin-top: 26.6666666667vw !important;
  }
}

.u-mt-110 {
  margin-top: min(110px, 8.8709677419vw);
}

@media (max-width: 767px) {
  .u-sp-mt-110 {
    margin-top: 29.3333333333vw !important;
  }
}

.u-mt-120 {
  margin-top: min(120px, 9.6774193548vw);
}

@media (max-width: 767px) {
  .u-sp-mt-120 {
    margin-top: 32vw !important;
  }
}

.u-mt-130 {
  margin-top: min(130px, 10.4838709677vw);
}

@media (max-width: 767px) {
  .u-sp-mt-130 {
    margin-top: 34.6666666667vw !important;
  }
}

.u-mt-140 {
  margin-top: min(140px, 11.2903225806vw);
}

@media (max-width: 767px) {
  .u-sp-mt-140 {
    margin-top: 37.3333333333vw !important;
  }
}

.u-mt-150 {
  margin-top: min(150px, 12.0967741935vw);
}

@media (max-width: 767px) {
  .u-sp-mt-150 {
    margin-top: 40vw !important;
  }
}

.u-mt-160 {
  margin-top: min(160px, 12.9032258065vw);
}

@media (max-width: 767px) {
  .u-sp-mt-160 {
    margin-top: 42.6666666667vw !important;
  }
}

.u-text-ellipsis {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.u-text-ellipsis-2line {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.4;
}

.u-text-ellipsis-3line {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.4;
}

.u-relative {
  position: relative;
}

@media (max-width: 767px) {
  .u-sp-inline-center {
    margin-inline: auto;
  }
}

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

.u-bg-blue {
  background-color: #F0F2F6;
}

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

@media (max-width: 767px) {
  .u-sp-text-center {
    text-align: center;
  }
}

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

.u-grid {
  display: grid;
}

/*!
 * ress.css • v3.0.1
 * MIT License
 * github.com/filipelinhares/ress
 */
/* # =================================================================
   # Global selectors
   # ================================================================= */
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  /* Prevent adjustments of font size after orientation changes in iOS */
  word-break: normal;
  -moz-tab-size: 4;
  tab-size: 4;
}

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

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

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

/* # =================================================================
   # General elements
   # ================================================================= */
hr {
  overflow: visible;
  /* Show the overflow in Edge and IE */
  height: 0;
  /* Add the correct box sizing in Firefox */
}

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

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

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

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

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

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

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

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

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* # =================================================================
   # Forms
   # ================================================================= */
input {
  border-radius: 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Style select like a standard input */
select {
  outline: none;
  background-color: #fff;
  border: #707070 solid 1px;
  border-radius: 3px;
  display: inline-block;
  padding: 0.2em 0.5em;
  width: 100%;
}

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

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

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

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

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

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

/* # =================================================================
   # Accessibility
   # ================================================================= */
/* Hide content from screens but not screenreaders */
@media screen {
  [hidden~=screen] {
    display: inherit;
  }
  [hidden~=screen]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important;
  }
}
/* Specify the progress cursor of updating elements */
[aria-busy=true] {
  cursor: progress;
}

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

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

/*original*/
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;
  vertical-align: baseline;
}

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

html {
  scroll-padding-top: calc(68px + min(42px, 3.3870967742vw));
}
@media (max-width: 767px) {
  html {
    scroll-padding-top: calc(60px + 6.4vw);
  }
}

html,
body {
  margin: 0;
  padding: 0;
}

body {
  font-family: "Noto Sans JP", Arial, sans-serif;
  color: #32373C;
  line-height: 1.6;
  letter-spacing: 0.02em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
  overflow-wrap: break-word;
  background-color: #fff;
  font-size: 3.4666666667vw;
}
@media (min-width: 768px) {
  body {
    font-size: clamp(14px, 1.2903225806vw, 16px);
  }
}
body.is-menu-open {
  overflow: hidden;
  position: fixed;
  width: 100%;
  left: 0;
  right: 0;
}

li {
  list-style: none;
}

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

em {
  font-style: initial;
}

address {
  font-style: normal;
}

strong {
  font-weight: bold;
}

sup {
  top: 0;
}

span svg {
  vertical-align: middle;
  line-height: 1;
  height: auto;
}

.l-header {
  height: min(100px, 8.064516129vw);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  backdrop-filter: blur(15px);
  transition: all 0.3s ease;
  background: rgba(255, 255, 255, 0.4);
  z-index: 100;
}
.l-header a {
  transition: all 0.3s ease;
}
.l-header a:hover {
  opacity: 0.8;
}
.l-header.is-sticky {
  background: rgba(255, 255, 255, 0.4);
  height: min(68px, 5.4838709677vw);
}
@media (max-width: 767px) {
  .l-header {
    height: 60px;
  }
  .l-header.is-sticky {
    height: 60px;
  }
}
.l-header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 100%;
  position: relative;
}
.l-header__logo {
  width: min(251px, 20.2419354839vw);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: min(20px, 1.6129032258vw);
}
@media (min-width: 768px) {
  .is-sticky .l-header__logo {
    width: min(194px, 15.6451612903vw);
  }
}
@media (max-width: 767px) {
  .l-header__logo {
    width: 129px;
  }
}
.l-header__logo h1 {
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.l-header__logo-link {
  display: block;
}
.l-header__nav {
  font-weight: 500;
  line-height: 1;
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  font-size: min(16px, 1.2903225806vw);
}
.is-sticky .l-header__nav {
  font-size: min(15px, 1.2096774194vw);
}
@media (max-width: 767px) {
  .l-header__nav {
    display: none;
  }
}
.l-header__nav-list {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 26px;
}
.l-header__nav-list--top {
  height: min(52px, 4.1935483871vw);
}
.is-sticky .l-header__nav-list--top {
  height: min(34px, 2.7419354839vw);
}
.l-header__nav-list--bottom {
  height: min(48px, 3.8709677419vw);
  padding: 0 min(20px, 1.6129032258vw);
}
.is-sticky .l-header__nav-list--bottom {
  height: min(34px, 2.7419354839vw);
}
.l-header__nav-item {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  position: relative;
}
.l-header__nav-item a {
  padding: min(10px, 0.8064516129vw) 0;
}
.l-header__nav-item:not(.l-header__nav-item--contact) a::after {
  content: "";
  display: block;
  width: 100%;
  height: 0px;
  background: rgba(0, 82, 164, 0);
  position: absolute;
  bottom: 0;
  left: 0;
  transition: all 0.3s ease;
}
.l-header__nav-item:not(.l-header__nav-item--contact) a:hover::after {
  height: min(4px, 0.3225806452vw);
  background: #0052a4;
}
.l-header__nav-item:not(.l-header__nav-item--contact) a:hover::before {
  content: "";
  display: block;
  width: 100%;
  height: min(15px, 1.2096774194vw);
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
}
.l-header__nav-item--contact {
  color: #fff;
  height: 100%;
  width: min(158px, 12.7419354839vw);
  background: linear-gradient(270deg, #0052A4 53.5%, #528BD0 100%);
}
.l-header__nav-item--contact a {
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
}
.l-header__mega-menu {
  background: rgba(50, 55, 60, 0.75);
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  padding: min(38px, 3.064516129vw) 0 min(90px, 7.2580645161vw);
  color: #fff;
  position: fixed;
  top: min(100px, 8.064516129vw);
  left: 0;
  right: 0;
  z-index: 101;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-20px);
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
}
.l-header__mega-menu a {
  transition: color 0.3s ease !important;
  opacity: 1;
}
.l-header__mega-menu a:hover {
  opacity: 1;
  color: #7EA7D8;
}
.l-header__mega-menu a:hover .c-arrow--white::after, .l-header__mega-menu a:hover.c-arrow--white::after,
.l-header__mega-menu a:hover .c-arrow--black::after, .l-header__mega-menu a:hover.c-arrow--black::after {
  background-image: url("../images/common/arrow-sky-blue.svg");
}
.l-header__mega-menu.is-sticky {
  top: min(68px, 5.4838709677vw);
}
.l-header__mega-menu.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px);
}
.l-header__nav-section {
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  display: none;
}
.l-header__nav-section.is-active {
  opacity: 1;
  visibility: visible;
  display: block;
}
.l-header__nav-hd {
  border-bottom: 1px solid #fff;
  margin-bottom: 30px;
}
.l-header__nav-hd-en {
  font-family: "Montserrat", Arial, sans-serif;
  font-size: min(12px, 0.9677419355vw);
  font-weight: 600;
}
.l-header__nav-hd-title {
  padding-bottom: min(20px, 1.6129032258vw);
  font-size: min(24px, 1.935483871vw);
  letter-spacing: 0.02em;
  font-weight: 700;
  line-height: 1.6;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .l-header__nav-hd-title {
    font-size: min(14px, 1.8229166667vw);
  }
}
.l-header__nav-hd-title a {
  transition: opacity 0.3s ease;
  display: inline-flex;
}
.l-header__nav-hd-title a:hover {
  opacity: 0.8;
}
.l-header__nav-content {
  display: flex;
}
.l-header__nav-section--ir .l-header__nav-content {
  justify-content: space-between;
}
.l-header__nav-menu {
  font-weight: 700;
  position: relative;
  flex-basis: min(236px, 19.0322580645vw);
}
@media (min-width: 768px) and (max-width: 1023px) {
  .l-header__nav-menu {
    font-size: min(11px, 1.4322916667vw);
  }
}
.l-header__nav-menu::after {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  background: #fff;
  position: absolute;
  top: 0;
  right: max(-26px, -2.0967741935vw);
}
.l-header__nav-menu-list {
  display: flex;
  gap: min(52px, 4.1935483871vw);
}
.l-header__nav-menu a:hover img {
  scale: 1.05;
}
.l-header__nav-menu-thumb {
  overflow: hidden;
  border-radius: min(4px, 0.3225806452vw);
  margin-bottom: min(12px, 0.9677419355vw);
}
.l-header__nav-menu-thumb img {
  transition: all 0.3s ease;
}
.l-header__nav-menu-item-title {
  width: 100%;
}
.l-header__nav-menu-title {
  font-size: min(16px, 1.2903225806vw);
  line-height: 1.4;
  letter-spacing: 0.03em;
}
.l-header__nav-left-list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: min(320px, 25.8064516129vw);
  padding-right: min(20px, 1.6129032258vw);
  font-weight: 700;
}
.l-header__nav-section--sustainability .l-header__nav-left-list {
  width: 50%;
}
.l-header__nav-left-item {
  width: 100%;
  border-bottom: 1px solid #fff;
}
.l-header__nav-left-item-link {
  display: flex;
  align-items: center;
  gap: min(10px, 0.8064516129vw);
  padding: min(16px, 1.2903225806vw) 0;
}
.l-header__nav-left-item-link.is-hover.js-nav-nest-link:not([data-service-target=policy]) {
  color: #7EA7D8;
  position: relative;
}
.l-header__nav-left-item-link.is-hover.js-nav-nest-link:not([data-service-target=policy])::before {
  content: "";
  display: block;
  width: calc(100% + min(25px, 2.0161290323vw));
  height: calc(100% + 1px);
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #FFF 66.35%);
  position: absolute;
  bottom: -1px;
  right: max(-25px, -2.0161290323vw);
  z-index: -1;
}
.l-header__nav-left-item-text {
  width: calc(100% - min(80px, 6.4516129032vw));
}
@media (min-width: 768px) and (max-width: 1023px) {
  .l-header__nav-left-item-text {
    font-size: min(11px, 1.4322916667vw);
  }
}
.l-header__nav-left-item-thumb {
  overflow: hidden;
  border-radius: min(4px, 0.3225806452vw);
  width: min(80px, 6.4516129032vw);
}
.l-header__nav-right-list {
  padding-top: min(16px, 1.2903225806vw);
  padding-left: min(30px, 2.4193548387vw);
}
.l-header__nav-right-item {
  width: min(200px, 16.1290322581vw);
}
.l-header__nav-right-item-thumb {
  overflow: hidden;
  border-radius: min(4px, 0.3225806452vw);
}
.l-header__nav-right-item-text {
  padding: min(20px, 1.6129032258vw) 0;
  font-weight: 700;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .l-header__nav-right-item-text {
    font-size: min(11px, 1.4322916667vw);
  }
}
.l-header__nav-right-item img {
  transition: all 0.3s ease;
}
.l-header__nav-right-item img:hover {
  scale: 1.05;
}
.l-header__nav-nest {
  display: flex;
  gap: min(10px, 0.8064516129vw);
  align-items: center;
  width: 100%;
  border-bottom: 1px solid #fff;
}
.l-header__nav-nest-hd {
  writing-mode: vertical-rl;
  font-size: min(16px, 1.2903225806vw);
  letter-spacing: 0.3em;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .l-header__nav-nest-hd {
    font-size: min(11px, 1.4322916667vw);
  }
}
.l-header__nav-nest-list {
  width: 100%;
}
.l-header__nav-nest-item {
  display: flex;
  align-items: center;
  gap: min(10px, 0.8064516129vw);
}
.l-header__nav-nest-item-thumb {
  overflow: hidden;
  border-radius: min(4px, 0.3225806452vw);
  width: min(80px, 6.4516129032vw);
}
.l-header__nav-nest-item-text {
  width: calc(100% - min(80px, 6.4516129032vw));
}
@media (min-width: 768px) and (max-width: 1023px) {
  .l-header__nav-nest-item-text {
    font-size: min(11px, 1.4322916667vw);
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .l-header__nav-nest-title.c-arrow {
    display: inline-flex;
  }
}
.l-header__nav-nest-item + .l-header__nav-nest-item {
  border-top: 1px solid #fff;
}
.l-header__nav-nest-item-link {
  display: flex;
  align-items: center;
  gap: min(10px, 0.8064516129vw);
  padding: min(16px, 1.2903225806vw) 0;
  width: 100%;
  transition: opacity 0.3s ease;
}
.l-header__nav-nest-item-link.is-hover.js-nav-nest-link:not([data-service-target=robot-dx]) {
  color: #7EA7D8;
  position: relative;
}
.l-header__nav-nest-item-link.is-hover.js-nav-nest-link:not([data-service-target=robot-dx])::before {
  content: "";
  display: block;
  width: calc(100% + min(25px, 2.0161290323vw));
  height: calc(100% + min(2px, 0.1612903226vw));
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #FFF 66.35%);
  position: absolute;
  z-index: -1;
}
.l-header__nav-nest-content-wrapper {
  background-color: #fff;
  color: #000;
  width: min(516px, 41.6129032258vw);
  font-weight: 700;
  position: relative;
  border-radius: min(8px, 0.6451612903vw);
}
.l-header__nav-section--sustainability .l-header__nav-nest-content-wrapper {
  width: 50%;
}
.l-header__nav-nest-content {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
}
.l-header__nav-nest-content.is-active {
  display: flex;
}
.l-header__nav-nest-content--solution {
  flex-wrap: wrap;
  padding: min(24px, 1.935483871vw) min(30px, 2.4193548387vw);
  justify-content: space-between;
}
.l-header__nav-nest-content--solution .l-header__nav-nest-content-item {
  width: 30%;
  text-align: center;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .l-header__nav-nest-content--solution .l-header__nav-nest-content-item {
    font-size: min(10px, 1.3020833333vw);
  }
}
.l-header__nav-nest-content--solution .l-header__nav-nest-content-item a {
  transition: opacity 0.3s ease;
  text-align: center;
}
.l-header__nav-nest-content--solution .l-header__nav-nest-content-item a:hover {
  opacity: 0.8;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .l-header__nav-nest-content--solution .l-header__nav-nest-icon img {
    width: min(45px, 5.859375vw);
  }
}
.l-header__nav-nest-content--maintenance, .l-header__nav-nest-content--management, .l-header__nav-nest-content--environment, .l-header__nav-nest-content--robot-dx, .l-header__nav-nest-content--ppp, .l-header__nav-nest-content--esg, .l-header__nav-nest-content--sdgs {
  flex-direction: column;
  padding: min(4px, 0.3225806452vw) min(40px, 3.2258064516vw);
}
.l-header__nav-nest-content--maintenance .l-header__nav-nest-content-item + .l-header__nav-nest-content-item, .l-header__nav-nest-content--management .l-header__nav-nest-content-item + .l-header__nav-nest-content-item, .l-header__nav-nest-content--environment .l-header__nav-nest-content-item + .l-header__nav-nest-content-item, .l-header__nav-nest-content--robot-dx .l-header__nav-nest-content-item + .l-header__nav-nest-content-item, .l-header__nav-nest-content--ppp .l-header__nav-nest-content-item + .l-header__nav-nest-content-item, .l-header__nav-nest-content--esg .l-header__nav-nest-content-item + .l-header__nav-nest-content-item, .l-header__nav-nest-content--sdgs .l-header__nav-nest-content-item + .l-header__nav-nest-content-item {
  border-top: 1px solid #D8D8D8;
}
.l-header__nav-nest-content--maintenance a, .l-header__nav-nest-content--management a, .l-header__nav-nest-content--environment a, .l-header__nav-nest-content--robot-dx a, .l-header__nav-nest-content--ppp a, .l-header__nav-nest-content--esg a, .l-header__nav-nest-content--sdgs a {
  width: 100%;
  padding: min(22px, 1.7741935484vw) 0;
  transition: opacity 0.3s ease;
}
.l-header__nav-nest-content--maintenance a:hover, .l-header__nav-nest-content--management a:hover, .l-header__nav-nest-content--environment a:hover, .l-header__nav-nest-content--robot-dx a:hover, .l-header__nav-nest-content--ppp a:hover, .l-header__nav-nest-content--esg a:hover, .l-header__nav-nest-content--sdgs a:hover {
  opacity: 0.8;
}
.l-header__nav-nest-content-item {
  display: flex;
  justify-content: center;
  align-items: center;
}
.l-header__nav-sublist {
  display: flex;
  flex-direction: column;
  margin-left: min(52px, 4.1935483871vw);
  width: min(236px, 19.0322580645vw);
}
.l-header__nav-subitem {
  padding: min(10px, 0.8064516129vw) 0;
  line-height: 1;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .l-header__nav-subitem {
    font-size: min(11px, 1.4322916667vw);
  }
}
.l-header__nav-subitem a {
  font-weight: 700;
  transition: opacity 0.3s ease;
}
.l-header__nav-subitem a:hover {
  opacity: 0.8;
}
.l-header__nav-block {
  flex-basis: min(320px, 25.8064516129vw);
  position: relative;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .l-header__nav-block {
    flex-basis: 30%;
  }
}
.l-header__nav-block:not(:first-child)::before {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  background: #fff;
  position: absolute;
  top: 0;
  left: max(-35px, -2.8225806452vw);
}
.l-header__nav-block-hd a {
  width: 100%;
  display: block;
  transition: opacity 0.3s ease;
}
.l-header__nav-block-hd a:hover {
  opacity: 0.8;
}
.l-header__nav-block-title {
  padding: 0 0 min(4px, 0.3225806452vw);
  font-size: min(19px, 1.5322580645vw);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.6;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .l-header__nav-block-title {
    font-size: min(13px, 1.6927083333vw);
  }
}
.l-header__nav-block-list {
  padding-left: min(20px, 1.6129032258vw);
}
.l-header__nav-block-item a {
  width: 100%;
  padding: min(10px, 0.8064516129vw) 0;
  display: block;
  transition: opacity 0.3s ease;
}
.l-header__nav-block-item a:hover {
  opacity: 0.8;
}
.l-header__nav-block-item-title {
  font-weight: 500;
  width: 100%;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .l-header__nav-block-item-title {
    font-size: min(11px, 1.4322916667vw);
  }
}
.l-header__nav-toggle {
  display: none;
}
@media (max-width: 767px) {
  .l-header__nav-toggle {
    display: block;
    width: 30px;
    height: 30px;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    z-index: 1000;
  }
}
.l-header__nav-toggle-line {
  display: block;
  width: 100%;
  height: 1px;
  background-color: #000;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: transform 0.3s ease;
}
.l-header__nav-toggle-line--top {
  transform: translate(-50%, -500%) rotate(0deg);
}
.l-header__nav-toggle-line--middle {
  transform: translate(-50%, 0%) rotate(0deg);
}
.l-header__nav-toggle-line--bottom {
  transform: translate(-50%, 500%) rotate(0deg);
}
.l-header__nav-toggle.is-open .l-header__nav-toggle-line--top {
  transform: translate(-50%, -50%) rotate(150deg);
}
.l-header__nav-toggle.is-open .l-header__nav-toggle-line--middle {
  opacity: 0;
}
.l-header__nav-toggle.is-open .l-header__nav-toggle-line--bottom {
  transform: translate(-50%, -50%) rotate(-150deg);
}
.l-header__drawer {
  background-color: rgba(58, 72, 87, 0.75);
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  color: #fff;
  overflow-y: scroll;
  position: fixed;
  top: 60px;
  left: 0;
  width: 100%;
  height: calc(100vh - 60px);
  font-weight: 700;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-20px);
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
  display: none;
  z-index: 500;
}
@media (max-width: 767px) {
  .l-header__drawer {
    display: block;
  }
}
.l-header__drawer.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px);
}
.l-header__drawer__inner {
  display: flex;
  flex-direction: column;
}
.l-header__drawer-content.contact {
  display: flex;
  justify-content: center;
  align-items: center;
  border-top: 1px solid #fff;
  padding-top: 10.6666666667vw;
  padding-bottom: 32vw;
}
@media (max-width: 767px) {
  .l-header__drawer-content.contact .c-button {
    font-size: 3.7333333333vw;
    padding: 2.6666666667vw 6.4vw;
    min-width: 72vw;
    height: 13.8666666667vw;
  }
}
.l-header__drawer-content-inner {
  font-weight: 700;
  padding: 20px;
  position: relative;
}
.l-header__drawer-content + .l-header__drawer-content {
  border-top: 1px solid #fff;
}
.l-header__drawer-list {
  padding-left: 20px;
  opacity: 1;
  overflow: hidden;
  transition: max-height 0.4s ease, opacity 0.3s ease, padding 0.4s ease;
}
@media (max-width: 767px) {
  .l-header__drawer-list {
    padding-left: 5.3333333333vw;
  }
}
.l-header__drawer-list:not(.is-open) {
  max-height: 0;
  opacity: 0;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 0;
}
.l-header__drawer-list-item {
  border-top: 1px solid #fff;
  font-weight: 500;
}
.l-header__drawer-list-item-inner {
  padding: 20px 20px 20px 0;
  position: relative;
}
.l-header__drawer-nest {
  display: flex;
  border-top: 1px solid #fff;
}
.l-header__drawer-nest-hd {
  writing-mode: vertical-rl;
  font-size: 14px;
  letter-spacing: 0.1em;
  width: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 767px) {
  .l-header__drawer-nest-hd {
    font-size: 3.7333333333vw;
    width: 10.6666666667vw;
  }
}
.l-header__drawer-nest-list {
  width: calc(100% - 40px);
}
@media (max-width: 767px) {
  .l-header__drawer-nest-list {
    width: calc(100% - 10.6666666667vw);
  }
}
.l-header__drawer-nest-item {
  border-top: 1px solid #fff;
}
.l-header__drawer-nest-item.no-top-border {
  border-top: none;
}
.l-header__drawer-nest-item-inner {
  padding: 20px 20px 20px 0;
  position: relative;
}
.l-header__drawer-nest-content {
  border-radius: 8px 0 0 0;
  padding-left: 20px;
  opacity: 1;
  overflow: hidden;
  transition: max-height 0.4s ease, opacity 0.3s ease, padding 0.4s ease;
  background-color: #fff;
  color: #2d3339;
  font-weight: 700;
}
.l-header__drawer-nest-content:not(.is-open) {
  max-height: 0;
  opacity: 0;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 0;
}
.l-header__drawer-nest-content--icons {
  display: flex;
  flex-wrap: wrap;
  gap: 15px 5%;
  padding: 20px;
  background-color: #fff;
  color: #2d3339;
}
.l-header__drawer-nest-content--icons .l-header__drawer-nest-content-item {
  border: none;
  width: 30%;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.l-header__drawer-nest-content--icons .l-header__drawer-nest-content-item a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
}
.l-header__drawer-nest-content-item {
  padding: 20px 20px 20px 0;
}
.l-header__drawer-block {
  max-height: 2000px;
  opacity: 1;
  overflow: hidden;
  transition: max-height 0.4s ease, opacity 0.3s ease;
}
.l-header__drawer-block:not(.is-open) {
  max-height: 0;
  opacity: 0;
}
.l-header__drawer-block-item-inner {
  border-top: 1px solid #fff;
  padding: 20px;
}
.l-header__drawer-accordion-toggle {
  display: block;
  width: 40px;
  height: 40px;
  position: absolute;
  top: 50%;
  right: 6px;
  transform: translateY(-50%);
  z-index: 1000;
  cursor: pointer;
}
@media (max-width: 767px) {
  .l-header__drawer-accordion-toggle {
    width: 10.6666666667vw;
    height: 10.6666666667vw;
  }
}
.l-header__drawer-accordion-toggle::before, .l-header__drawer-accordion-toggle::after {
  content: "";
  display: block;
  width: 30%;
  height: 2px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: transform 0.3s ease;
}
.l-header__drawer-accordion-toggle::before {
  transform: translate(-50%, -50%) rotate(90deg);
}
.l-header__drawer-accordion-toggle::after {
  transform: translate(-50%, -50%) rotate(0deg);
}
.l-header__drawer-accordion-toggle.is-active::before {
  transform: translate(-50%, -50%) rotate(0deg);
}
.l-header__drawer-accordion-toggle.is-active::after {
  transform: translate(-50%, -50%) rotate(180deg);
}
.l-header__nest-menu {
  list-style: none;
  padding: 0 0 0 40px;
  opacity: 1;
  transition: max-height 0.4s ease, opacity 0.3s ease, padding 0.4s ease;
}
.l-header__nest-item {
  border-top: 1px solid #fff;
  padding: 20px 20px 20px 0;
}
.l-header__nest-link {
  display: block;
}

.l-main {
  position: relative;
  padding-top: min(100px, 8.064516129vw);
  padding-bottom: min(160px, 12.9032258065vw);
}
@media (max-width: 1023px) {
  .l-main {
    padding-top: min(60px, 4.8387096774vw);
    padding-bottom: min(160px, 12.9032258065vw);
  }
}
@media (max-width: 767px) {
  .l-main {
    padding-top: 16vw;
    padding-bottom: 32vw;
  }
}
.l-main--no-bottom {
  padding-bottom: 0 !important;
}
.l-main--no-top {
  padding-top: 0 !important;
}

.l-container {
  max-width: min(1140px, 91.935483871vw);
  margin: 0 auto;
  padding: 0 min(20px, 1.6129032258vw);
}
@media (min-width: 768px) and (max-width: 1023px) {
  .l-container {
    max-width: clamp(0px, 81.6023738872vw, 1100px);
    width: 92%;
    padding: 0;
  }
}
@media (max-width: 767px) {
  .l-container {
    max-width: 89.3333333333vw;
    padding: 0;
  }
}
.l-container--full {
  max-width: 100%;
  padding: 0;
}

.contact-container {
  max-width: 940px;
  margin: 0 auto;
  padding: 0 min(20px, 1.6129032258vw);
}
@media (min-width: 768px) and (max-width: 1023px) {
  .contact-container {
    max-width: clamp(0px, 81.6023738872vw, 1100px);
    width: 92%;
    padding: 0;
  }
}
@media (max-width: 767px) {
  .contact-container {
    max-width: 89.3333333333vw;
    padding: 0;
  }
}

.l-footer {
  color: #fff;
  position: relative;
}
.l-footer__main {
  padding: min(68px, 5.4838709677vw) 0 0;
  background-color: #32373C;
}
@media (max-width: 767px) {
  .l-footer__main {
    padding: 60px 0 0;
  }
}
.l-footer__inner {
  max-width: 1140px;
  width: 92%;
  margin: 0 auto;
  padding: 0 min(20px, 1.6129032258vw);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media (max-width: 767px) {
  .l-footer__inner {
    max-width: 72%;
    padding: 0;
    gap: 40px;
    justify-content: center;
  }
}
.l-footer__content {
  display: flex;
  flex-direction: column;
}
.l-footer__content--left {
  flex-basis: min(814px, 65.6451612903vw);
}
@media (max-width: 767px) {
  .l-footer__content--left {
    display: none;
  }
}
.l-footer__content--right {
  flex-basis: min(240px, 19.3548387097vw);
}
@media (max-width: 767px) {
  .l-footer__content--right {
    flex-basis: 100%;
  }
}
.l-footer__nav-inner {
  display: flex;
  flex-wrap: wrap;
  gap: 0 min(47px, 3.7903225806vw);
}
.l-footer__nav-section {
  margin-bottom: min(43px, 3.4677419355vw);
  width: min(240px, 19.3548387097vw);
}
@media (max-width: 767px) {
  .l-footer__nav-section {
    margin-bottom: 24px;
  }
}
.l-footer__nav-heading {
  font-size: min(18px, 1.4516129032vw);
  font-weight: 600;
  margin-bottom: min(16px, 1.2903225806vw);
  padding-bottom: min(15px, 1.2096774194vw);
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
@media (max-width: 767px) {
  .l-footer__nav-heading {
    font-size: 15px;
    margin-bottom: 12px;
  }
}
.l-footer__nav-heading-link {
  color: #fff;
  font-size: min(18px, 1.4516129032vw);
  line-height: 1.6;
  font-weight: 700;
  position: relative;
  transition: color 0.3s ease;
  display: block;
}
.l-footer__nav-heading-link:hover {
  color: #7EA7D8;
}
.l-footer__nav-heading-link::after {
  content: "";
  display: block;
  width: min(10px, 0.8064516129vw);
  height: min(10px, 0.8064516129vw);
  position: absolute;
  top: 50%;
  right: min(12px, 0.9677419355vw);
  transform: translateY(-50%);
  rotate: 45deg;
  border-right: 2px solid #fff;
  border-top: 2px solid #fff;
  transition: border-color 0.3s ease;
}
.l-footer__nav-heading-link:hover::after {
  border-right-color: #7EA7D8;
  border-top-color: #7EA7D8;
}
.l-footer__nav-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
}
.l-footer__nav-link {
  color: #fff;
  font-size: min(14px, 1.1290322581vw);
  line-height: 2;
  font-weight: 500;
  letter-spacing: 0.03em;
  transition: color 0.3s ease;
}
.l-footer__nav-link:hover {
  color: #7EA7D8;
}
@media (max-width: 767px) {
  .l-footer__nav-link {
    font-size: 12px;
  }
}
.l-footer__contact {
  display: flex;
  flex-direction: column;
  gap: min(16px, 1.2903225806vw);
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  margin-bottom: min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .l-footer__contact {
    display: none;
  }
}
.l-footer__contact-list {
  font-size: min(16px, 1.2903225806vw);
  display: flex;
  flex-direction: column;
  padding: 0 0 min(30px, 2.4193548387vw);
}
.l-footer__contact-item {
  padding: min(6px, 0.4838709677vw) 0;
}
.l-footer__contact-link {
  transition: color 0.3s ease;
}
.l-footer__contact-link:hover {
  color: #7EA7D8;
}
.l-footer__actions {
  display: flex;
  flex-direction: column;
  gap: min(12px, 0.9677419355vw);
}
@media (max-width: 767px) {
  .l-footer__actions {
    gap: 12px;
    order: 2;
  }
}
.l-footer__actions-banner {
  transition: opacity 0.3s ease;
}
.l-footer__actions-banner img {
  width: 100%;
  max-width: 100%;
}
.l-footer__actions-banner:hover {
  opacity: 0.8;
}
.l-footer__actions-button {
  display: block;
  border: 1px solid #fff;
  border-radius: 1000px;
  color: #fff;
  text-decoration: none;
  text-align: center;
  font-size: min(14px, 1.1290322581vw);
  font-weight: 500;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: min(52px, 4.1935483871vw);
  transition: all 0.3s ease;
}
.l-footer__actions-button:hover {
  background-color: #fff;
  color: #32373C;
}
@media (max-width: 767px) {
  .l-footer__actions-button {
    font-size: 3.4666666667vw;
    height: 12.8vw;
  }
}
.l-footer__actions-button-banner img {
  display: block;
  width: 100%;
  height: 100%;
}
.l-footer__actions-button--white {
  margin-top: min(12px, 0.9677419355vw);
  background-color: #fff;
  color: #32373C;
}
.l-footer__actions-button--white:hover {
  background-color: #32373C;
  color: #fff;
}
.l-footer__nav-sublist {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
}
.l-footer__nav-subitem {
  display: flex;
  align-items: center;
  gap: min(4px, 0.3225806452vw);
  padding-left: 0.3em;
  transition: color 0.3s ease;
}
.l-footer__nav-subitem::before {
  content: "-";
}
.l-footer__nav-subitem:hover {
  color: #7EA7D8;
}
.l-footer__nav-subitem:hover .l-footer__nav-subitem__nav-sublink {
  color: #7EA7D8;
}
.l-footer__nav-sublink {
  font-size: min(14px, 1.1290322581vw);
  transition: color 0.3s ease;
}
.l-footer__social {
  display: flex;
  gap: min(16px, 1.2903225806vw);
  justify-content: center;
  margin: min(40px, 3.2258064516vw) 0 min(27px, 2.1774193548vw);
}
@media (max-width: 767px) {
  .l-footer__social {
    gap: 12px;
    order: 3;
  }
}
.l-footer__social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(50px, 4.0322580645vw);
  height: min(50px, 4.0322580645vw);
  transition: opacity 0.3s ease;
}
.l-footer__social-link:hover {
  opacity: 0.5;
}
@media (max-width: 767px) {
  .l-footer__social-link {
    width: 45px;
    height: 45px;
  }
}
.l-footer__social-icon {
  width: min(20px, 1.6129032258vw);
  height: min(20px, 1.6129032258vw);
  fill: currentColor;
}
@media (max-width: 767px) {
  .l-footer__social-icon {
    width: 18px;
    height: 18px;
  }
}
.l-footer__bottom {
  background-color: #32373C;
  padding: min(3px, 0.2419354839vw) 0 min(20px, 1.6129032258vw);
  font-size: min(12px, 0.9677419355vw);
  margin-top: -1px;
}
@media (max-width: 767px) {
  .l-footer__bottom {
    padding: 24px 0;
  }
}
.l-footer__bottom-inner {
  max-width: min(1100px, 88.7096774194vw);
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 767px) {
  .l-footer__bottom-inner {
    flex-direction: column-reverse;
    align-items: center;
    max-width: 90%;
    gap: 20px;
  }
}
.l-footer__bottom-copyright-text {
  font-size: min(12px, 0.9677419355vw);
  line-height: 1.6;
  letter-spacing: 0.15em;
}
@media (max-width: 767px) {
  .l-footer__bottom-copyright-text {
    font-size: 10px;
    display: block;
    text-align: center;
  }
}
.l-footer__bottom-link {
  font-size: min(14px, 1.1290322581vw);
  transition: opacity 0.3s ease;
}
.l-footer__bottom-link:hover {
  opacity: 0.5;
}
@media (max-width: 767px) {
  .l-footer__bottom-link {
    font-size: 3.4666666667vw;
  }
}
.l-footer__bottom-links {
  display: flex;
  gap: min(16px, 1.2903225806vw);
}
@media (max-width: 767px) {
  .l-footer__bottom-links {
    flex-direction: column;
    align-items: center;
    gap: 1px;
  }
}
.l-footer__logo {
  margin-top: min(50px, 4.0322580645vw);
}
@media (max-width: 767px) {
  .l-footer__logo {
    margin: 0 auto 40px;
    width: 100%;
    max-width: 85%;
    order: 1;
  }
}

.l-section {
  position: relative;
}
.l-section:not(:first-of-type) {
  padding-top: min(120px, 9.6774193548vw);
}
@media (max-width: 767px) {
  .l-section:not(:first-of-type) {
    padding-top: 21.3333333333vw;
  }
}
.l-section--first-space:not(.l-section--s) {
  padding-top: min(120px, 9.6774193548vw);
}
@media (max-width: 767px) {
  .l-section--first-space:not(.l-section--s) {
    padding-top: 21.3333333333vw;
  }
}
.l-section--first-space.l-section--s {
  padding-top: min(80px, 6.4516129032vw);
}
@media (max-width: 767px) {
  .l-section--first-space.l-section--s {
    padding-top: 16vw;
  }
}
.l-section--s:not(:first-of-type) {
  padding-top: min(80px, 6.4516129032vw);
}
@media (max-width: 767px) {
  .l-section--s:not(:first-of-type) {
    padding-top: 16vw;
  }
}

.c-section-title, .p-block-editor h2, .c-section-title__line {
  font-size: min(32px, 2.5806451613vw);
  line-height: 1.4;
  letter-spacing: 0.03em;
  position: relative;
  margin-bottom: min(40px, 3.2258064516vw);
}
@media (min-width: 768px) and (max-width: 1023px) {
  .c-section-title, .p-block-editor h2, .c-section-title__line {
    font-size: min(20px, 2.6041666667vw);
  }
}
@media (max-width: 767px) {
  .c-section-title, .p-block-editor h2, .c-section-title__line {
    font-size: max(24px, 6.4vw);
    margin-bottom: 8vw;
  }
}

.p-block-editor h2, .c-section-title__line {
  padding-left: min(28px, 2.2580645161vw);
}
@media (max-width: 767px) {
  .p-block-editor h2, .c-section-title__line {
    padding-left: max(18px, 4.8vw);
  }
}
.p-block-editor h2::before, .c-section-title__line::before {
  content: "";
  display: block;
  width: min(8px, 0.6451612903vw);
  height: 90%;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  border-radius: min(2px, 0.1612903226vw);
  background-color: #0052A4;
}
@media (max-width: 767px) {
  .p-block-editor h2::before, .c-section-title__line::before {
    width: max(6px, 1.6vw);
    border-radius: max(2px, 0.5333333333vw);
  }
}

.p-block-editor h3, .c-sub-title {
  line-height: 1.4;
  letter-spacing: 0.02em;
  font-weight: 700;
  margin-bottom: 1em;
  font-size: 4.2666666667vw;
}
@media (min-width: 768px) {
  .p-block-editor h3, .c-sub-title {
    font-size: clamp(14px, 1.6129032258vw, 20px);
  }
}

.c-section-title--space {
  margin-bottom: min(32px, 2.5806451613vw);
}
@media (max-width: 767px) {
  .c-section-title--space {
    margin-bottom: max(20px, 5.3333333333vw);
  }
}
.c-section-title--space__arrow {
  font-size: min(24px, 1.935483871vw);
  line-height: 1.4;
  letter-spacing: 0.03em;
  display: inline-block;
  position: relative;
}
@media (max-width: 767px) {
  .c-section-title--space__arrow {
    font-size: 4.8vw;
  }
}
.c-section-title--space__arrow::before {
  content: "";
  display: block;
  width: min(18px, 1.4516129032vw);
  height: min(18px, 1.4516129032vw);
  position: absolute;
  right: 0;
  top: 55%;
  transform: translate(150%, -50%);
  background: url("../images/common/arrow-black.svg") no-repeat center center/contain;
}
@media (max-width: 767px) {
  .c-section-title--space__arrow::before {
    width: 3.7333333333vw;
    height: 3.7333333333vw;
  }
}
.c-section-title--space__arrow-white::before {
  background: url("../images/common/arrow-white.svg") no-repeat center center/contain;
}

.c-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: min(32px, 2.5806451613vw);
  margin-bottom: min(32px, 2.5806451613vw);
}
@media (max-width: 767px) {
  .c-section-header {
    gap: 4.2666666667vw;
    margin-bottom: 7.4666666667vw;
  }
}
.c-section-header .c-section-title__line {
  margin-bottom: 0;
}
.c-section-header .c-button {
  min-width: min(160px, 12.9032258065vw);
  white-space: nowrap;
  padding: min(8px, 0.6451612903vw) min(31px, 2.5vw);
}
@media (max-width: 767px) {
  .c-section-header .c-button {
    min-width: 40.5333333333vw;
    padding: 2.1333333333vw 6.4vw;
  }
}

.c-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: min(11px, 0.8870967742vw) min(48px, 3.8709677419vw);
  background: #1e1e1e;
  color: #fff;
  font-size: min(16px, 1.2903225806vw);
  font-weight: 500;
  text-decoration: none;
  transition: all 0.3s ease;
  border: none;
  cursor: pointer;
  white-space: nowrap;
  border-radius: min(1000px, 80.6451612903vw);
}
@media (max-width: 767px) {
  .c-button {
    font-size: 3.7333333333vw;
    padding: 3.2vw 11.2vw;
  }
}
.c-button--pdf {
  position: relative;
  border-radius: min(1000px, 80.6451612903vw);
  background-color: #32373C;
  border: min(1px, 0.0806451613vw) solid #32373C;
  min-width: min(270px, 21.7741935484vw);
  transition: all 0.3s ease;
  padding: min(11px, 0.8870967742vw) min(48px, 3.8709677419vw);
}
@media (max-width: 767px) {
  .c-button--pdf {
    min-width: 72vw;
    padding: 3.2vw 6.4vw;
  }
}
.c-button--pdf:hover {
  background-color: #fff;
  color: #32373C;
}
.c-button--pdf:hover::after {
  background: url("../images/common/icons/icon-pdf.svg") no-repeat center center/contain;
}
.c-button--pdf::after {
  content: "";
  position: absolute;
  right: min(18px, 1.4516129032vw);
  top: 50%;
  transform: translateY(-50%);
  width: min(13px, 1.0483870968vw);
  height: min(14px, 1.1290322581vw);
  background: url("../images/common/icons/icon-pdf.svg") no-repeat center center/contain;
}
@media (max-width: 767px) {
  .c-button--pdf::after {
    right: 5.3333333333vw;
    width: 3.4666666667vw;
    height: 3.7333333333vw;
  }
}
.c-button--arrow {
  position: relative;
  background-color: #32373C;
  border: min(1px, 0.0806451613vw) solid #32373C;
  min-width: min(270px, 21.7741935484vw);
  transition: all 0.3s ease;
}
@media (max-width: 767px) {
  .c-button--arrow {
    min-width: 72vw;
  }
}
.c-button--arrow:hover {
  background-color: #fff;
  color: #32373C;
}
.c-button--arrow:hover::after {
  background: url("../images/common/arrow-black.svg") no-repeat center center/contain;
}
.c-button--arrow::after {
  content: "";
  position: absolute;
  right: min(18px, 1.4516129032vw);
  top: 50%;
  transform: translateY(-50%);
  width: min(7px, 0.564516129vw);
  height: min(10px, 0.8064516129vw);
  background: url("../images/common/arrow-white.svg") no-repeat center center/contain;
}
@media (max-width: 767px) {
  .c-button--arrow::after {
    right: 5.3333333333vw;
    width: 1.8666666667vw;
    height: 2.6666666667vw;
  }
}
.c-button--white {
  background-color: #fff;
  border: min(1px, 0.0806451613vw) solid #fff;
  color: #32373C;
}
.c-button--white::after {
  background: url("../images/common/arrow-black.svg") no-repeat center center/contain;
}
.c-button--white:hover {
  background-color: #32373C;
  border: min(1px, 0.0806451613vw) solid #32373C;
  color: #fff;
}
.c-button--white:hover::after {
  background: url("../images/common/arrow-white.svg") no-repeat center center/contain;
}
.c-button--arrow-smallest {
  font-size: min(14px, 1.1290322581vw);
  padding: min(3px, 0.2419354839vw) 0 min(4px, 0.3225806452vw);
  border-radius: min(1000px, 80.6451612903vw);
  background-color: #32373C;
  color: #fff;
  min-width: min(92px, 7.4193548387vw);
  position: relative;
  border: 1px solid #32373C;
  line-height: 1;
}
@media (max-width: 767px) {
  .c-button--arrow-smallest {
    font-size: 3.4666666667vw;
    min-width: 21.3333333333vw;
    padding: 0.8vw 0 1.0666666667vw;
  }
}
.c-button--arrow-smallest:hover {
  background-color: #fff;
  color: #32373C;
}
.c-button--arrow-smallest:hover::after {
  background: url("../images/common/arrow-black.svg") no-repeat center center/contain;
}
.c-button--arrow-smallest::after {
  content: "";
  display: block;
  right: min(10px, 0.8064516129vw);
  width: min(7px, 0.564516129vw);
  height: min(10px, 0.8064516129vw);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: url("../images/common/arrow-white.svg") no-repeat center center/contain;
}
@media (max-width: 767px) {
  .c-button--arrow-smallest::after {
    right: 2.6666666667vw;
    width: 1.6vw;
    height: 1.6vw;
  }
}
.c-button--square {
  color: #32373C;
  border-radius: 0;
  background: #E7EAF1;
  border-color: #E7EAF1;
  border-width: 2px;
}
.c-button--square::after {
  background: url("../images/common/arrow-black.svg") no-repeat center center/contain;
}
.c-button--square:hover {
  background-color: #32373C;
  border-color: #32373C;
  color: #fff;
}
.c-button--square:hover::after {
  background: url("../images/common/arrow-white.svg") no-repeat center center/contain;
}
.c-button--blue-gradient {
  background: linear-gradient(270deg, #0052A4 53.5%, #528BD0 100%);
  color: #fff;
  border-radius: 1000px;
  padding: min(18px, 1.4516129032vw) min(32px, 2.5806451613vw);
  font-size: min(16px, 1.2903225806vw);
  line-height: 1;
}
@media (max-width: 1023px) {
  .c-button--blue-gradient {
    font-size: min(16px, 2.0833333333vw);
    padding: min(18px, 2.34375vw) min(32px, 4.1666666667vw);
    min-width: min(270px, 35.15625vw);
  }
}
@media (max-width: 767px) {
  .c-button--blue-gradient {
    font-size: 14px;
    padding: 18px 24px;
    min-width: 270px;
  }
}
.c-button__text {
  white-space: normal;
  word-wrap: break-word;
}
.c-button--external::after {
  content: "";
  position: absolute;
  right: min(18px, 1.4516129032vw);
  top: 50%;
  transform: translateY(-50%);
  width: min(14px, 1.1290322581vw);
  height: min(14px, 1.1290322581vw);
  background: url("../images/common/icons/icon-external.svg") no-repeat center center/contain;
}
@media (max-width: 767px) {
  .c-button--external::after {
    right: 5.3333333333vw;
    width: 2.6666666667vw;
    height: 2.6666666667vw;
  }
}

.c-button-group {
  display: flex;
  gap: min(24px, 1.935483871vw);
  flex-wrap: wrap;
  margin-top: min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .c-button-group {
    gap: 4.2666666667vw;
    flex-direction: column;
    margin-top: 8.5333333333vw;
    align-items: center;
  }
}

.c-grid-button-group {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(24px, 1.935483871vw);
  flex-wrap: wrap;
  margin-top: min(40px, 3.2258064516vw);
}
@media (max-width: 1023px) {
  .c-grid-button-group {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 767px) {
  .c-grid-button-group {
    grid-template-columns: 1fr;
    gap: 4.2666666667vw;
    margin-top: 8.5333333333vw;
    align-items: center;
  }
}

/* スクロール固定 */
html.is-modal-open, html.is-modal-open body {
  overflow: hidden;
}

/* aria-hidden で表示/非表示を制御 */
.c-modal[aria-hidden=true] {
  display: none;
}

.c-modal[aria-hidden=false] {
  display: block;
}

/* 必要ならスクロールロック */
.is-modal-open {
  overflow: hidden;
}

.c-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
}
.c-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(10px);
}
.c-modal__dialog {
  position: relative;
  max-width: 1100px;
  max-height: 90vh;
  overflow: auto;
  background: #fff;
  border-radius: 12px;
  padding: 24px 28px 28px;
}
.c-modal__close {
  position: absolute;
  top: 8px;
  right: 8px;
  font-size: 20px;
  line-height: 1;
}
.c-modal__title {
  font-size: 20px;
  margin: 0 0 12px;
}
.c-modal__loader {
  margin: 24px 0;
}
.c-modal__content :where(img, video, iframe) {
  max-width: 100%;
  height: auto;
}

.c-breadcrumb {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: #fff;
}
.c-breadcrumb__inner {
  position: relative;
}
.c-breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: min(12px, 0.9677419355vw);
  padding-top: min(20px, 1.6129032258vw);
  padding-bottom: min(20px, 1.6129032258vw);
}
@media (max-width: 767px) {
  .c-breadcrumb__list {
    gap: max(8px, 2.1333333333vw);
    padding-top: 5.3333333333vw;
    padding-bottom: 5.3333333333vw;
  }
}
.c-breadcrumb__item {
  display: flex;
  align-items: center;
  gap: min(12px, 0.9677419355vw);
  font-size: min(14px, 1.1290322581vw);
  line-height: 1;
}
@media (max-width: 767px) {
  .c-breadcrumb__item {
    gap: max(8px, 2.1333333333vw);
    font-size: max(12px, 3.2vw);
  }
}
.c-breadcrumb__item:not(:last-child)::after {
  content: ">";
  display: inline-block;
  margin-left: min(12px, 0.9677419355vw);
  color: #666;
}
@media (max-width: 767px) {
  .c-breadcrumb__item:not(:last-child)::after {
    margin-left: max(8px, 2.1333333333vw);
  }
}
.c-breadcrumb__link {
  color: #0052A4;
  text-decoration: none;
  transition: color 0.3s ease;
}
.c-breadcrumb__link:not(a) {
  color: #666;
  font-weight: 500;
}
.c-breadcrumb__link:hover {
  color: #666;
}

.l-main--no-bottom .c-breadcrumb {
  position: static;
}

.c-page-header {
  padding-top: min(80px, 6.4516129032vw);
  margin-bottom: min(72px, 5.8064516129vw);
}
@media (max-width: 767px) {
  .c-page-header {
    padding-top: 10.6666666667vw;
    margin-bottom: 13.8666666667vw;
  }
}
.c-page-header__heading {
  font-size: min(44px, 3.5483870968vw);
  font-weight: 700;
  margin: 0;
}
@media (max-width: 767px) {
  .c-page-header__heading {
    font-size: 7.4666666667vw;
  }
}
.c-page-header__subheading {
  font-family: "Montserrat", Arial, sans-serif;
  font-size: min(16px, 1.2903225806vw);
  margin-bottom: min(2px, 0.1612903226vw);
}
@media (max-width: 767px) {
  .c-page-header__subheading {
    font-size: 3.7333333333vw;
    margin-bottom: 2.1333333333vw;
  }
}
.c-page-header__subheading--ja {
  font-weight: 700;
  margin-bottom: 0;
}

.c-pagination {
  margin-top: min(60px, 4.8387096774vw);
}
@media (max-width: 767px) {
  .c-pagination {
    margin-top: 10.6666666667vw;
  }
}
.c-pagination ul {
  display: flex;
  gap: 0 min(16px, 1.2903225806vw);
  justify-content: center;
  align-items: center;
}
.c-pagination ul li span {
  font-family: "Montserrat", Arial, sans-serif;
  font-size: min(20px, 1.6129032258vw);
  font-weight: 400;
  width: min(40px, 3.2258064516vw);
  aspect-ratio: 1/1;
  border-radius: 50%;
  display: grid;
  place-items: center;
  transition: opacity 0.3s ease;
}
@media (max-width: 767px) {
  .c-pagination ul li span {
    font-size: 3.7333333333vw;
    width: 9.6vw;
  }
}
.c-pagination ul li span.current {
  background-color: #0052A4;
  color: #FFF;
}
.c-pagination ul li span.current:hover {
  opacity: 1;
}
.c-pagination ul li a {
  font-family: "Montserrat", Arial, sans-serif;
  font-size: min(20px, 1.6129032258vw);
  font-weight: 400;
  width: min(40px, 3.2258064516vw);
  aspect-ratio: 1/1;
  border-radius: 50%;
  display: grid;
  place-items: center;
  transition: opacity 0.3s ease;
}
@media (max-width: 767px) {
  .c-pagination ul li a {
    font-size: 3.7333333333vw;
    width: 9.6vw;
  }
}
.c-pagination ul li a:hover {
  opacity: 0.5;
}
.c-pagination ul li svg {
  display: grid;
  place-items: center;
  width: min(7px, 0.564516129vw);
  height: auto;
}
@media (max-width: 767px) {
  .c-pagination ul li svg {
    width: 1.8666666667vw;
  }
}

.c-full-hero {
  background-position: center center;
}
.c-full-hero__container {
  position: relative;
  display: flex;
  align-items: center;
  height: min(640px, 51.6129032258vw);
}
@media (max-width: 767px) {
  .c-full-hero__container {
    height: 101.3333333333vw;
  }
}
@media (max-width: 767px) {
  .p-about-hero .c-full-hero__container {
    padding-bottom: 13.3333333333vw;
  }
}
.c-full-hero__en {
  color: #FFF;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: min(120px, 9.6774193548vw);
  font-weight: 600;
  letter-spacing: 0.03em;
}
@media (max-width: 767px) {
  .c-full-hero__en {
    font-size: 17.0666666667vw;
  }
}
@media (max-width: 767px) {
  .p-company-hero .c-full-hero__en {
    font-size: 14.6666666667vw;
  }
}
@media (max-width: 767px) {
  .p-group-hero .c-full-hero__en {
    font-size: 12.5333333333vw;
  }
}
.p-investor-hero .c-full-hero__en {
  letter-spacing: 0;
}
@media (max-width: 767px) {
  .p-investor-hero .c-full-hero__en {
    font-size: 13.0666666667vw;
  }
}
.c-full-hero__en-text {
  position: relative;
  line-height: 1;
}
@media (max-width: 767px) {
  .c-full-hero__en-text {
    margin-left: 5.8666666667vw;
  }
}
.c-full-hero__en-text::after {
  content: "";
  display: block;
  width: min(24px, 1.935483871vw);
  height: min(37px, 2.9838709677vw);
  border-radius: 50%;
  background: #FFF;
  position: absolute;
  left: max(-36px, -2.9032258065vw);
  top: min(6px, 0.4838709677vw);
  z-index: 1;
}
@media (max-width: 767px) {
  .c-full-hero__en-text::after {
    width: 4.2666666667vw;
    height: 6.6666666667vw;
    left: -6.1333333333vw;
    top: 0;
  }
}
.c-full-hero__inner {
  background-color: #FFF;
  padding: min(47px, 3.7903225806vw) min(170px, 13.7096774194vw) min(19px, 1.5322580645vw) 0;
  text-align: center;
  display: inline-block;
  position: absolute;
  z-index: 1;
  bottom: -2px;
  border-radius: 0 min(16px, 1.2903225806vw) 0 0;
}
@media (max-width: 767px) {
  .c-full-hero__inner {
    padding: 4.8vw 8.5333333333vw 2.1333333333vw 0;
    border-radius: 0 3.2vw 0 0;
  }
}
.c-full-hero__inner::after {
  content: "";
  display: block;
  width: 50vw;
  height: 100%;
  background: #fff;
  position: absolute;
  left: 2px;
  top: 0;
  z-index: -1;
  transform: translateX(-100%);
}
.c-full-hero__inner::before {
  content: "";
  display: block;
  width: min(16px, 1.2903225806vw);
  height: min(16px, 1.2903225806vw);
  position: absolute;
  background-image: url("../images/service/corner.png");
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  right: 0;
  bottom: 0;
  transform: translate(calc(100% - 1px), 0px);
}
@media (max-width: 767px) {
  .c-full-hero__inner::before {
    width: 3.2vw;
    height: 3.2vw;
  }
}
.c-full-hero__title {
  font-size: min(44px, 3.5483870968vw);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.02em;
  text-align: left;
}
@media (max-width: 767px) {
  .c-full-hero__title {
    font-size: 7.4666666667vw;
  }
}

.c-hero {
  position: relative;
  padding: min(60px, 4.8387096774vw) 0 0;
}
@media (max-width: 767px) {
  .c-hero {
    padding: 5.3333333333vw 0 0;
  }
}
.c-hero-image {
  border-radius: min(8px, 0.6451612903vw);
  overflow: hidden;
}
.c-hero-image img {
  width: 100%;
  height: auto;
  display: block;
}
@media (max-width: 767px) {
  .c-hero-image {
    border-radius: 2.1333333333vw;
  }
}
.c-hero-content {
  background: #fff;
  position: absolute;
  bottom: -1px;
  left: -1px;
  padding: min(41px, 3.3064516129vw) min(100px, 8.064516129vw) min(24px, 1.935483871vw) 0;
  border-radius: 0 min(16px, 1.2903225806vw) 0 0;
}
@media (max-width: 767px) {
  .c-hero-content {
    padding: 7.4666666667vw 8.5333333333vw 2.9333333333vw 0;
    border-radius: 0 3.2vw 0 0;
  }
}
.c-hero-content::after, .c-hero-content::before {
  content: "";
  display: block;
  width: min(16px, 1.2903225806vw);
  height: min(16px, 1.2903225806vw);
  position: absolute;
  background-image: url("../images/service/corner.png");
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}
@media (max-width: 767px) {
  .c-hero-content::after, .c-hero-content::before {
    width: 3.2vw;
    height: 3.2vw;
  }
}
.c-hero-content::after {
  left: 0;
  top: 0;
  transform: translate(-1px, calc(-100% + 1px));
}
.c-hero-content::before {
  right: 0;
  bottom: 0;
  transform: translate(calc(100% - 1px), 1px);
}
.c-hero-content__sub-title {
  font-weight: 700;
  letter-spacing: 0.02em;
  font-size: min(16px, 1.2903225806vw);
  margin-bottom: min(6px, 0.4838709677vw);
}
@media (max-width: 767px) {
  .c-hero-content__sub-title {
    letter-spacing: 0.05em;
    font-size: 3.4666666667vw;
  }
}
.c-hero-content__title {
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.02em;
  margin: 0;
  font-size: min(44px, 3.5483870968vw);
}
@media (max-width: 767px) {
  .c-hero-content__title {
    letter-spacing: 0.05em;
    font-size: 8vw;
  }
}
.c-hero__body {
  line-height: 2;
  max-width: min(800px, 64.5161290323vw);
  font-size: min(18px, 1.4516129032vw);
  padding-top: min(50px, 4.0322580645vw);
}
@media (max-width: 767px) {
  .c-hero__body {
    max-width: unset;
    font-size: 3.7333333333vw;
    padding-top: 9.3333333333vw;
  }
}
.c-hero__body-head {
  line-height: 1.4;
  letter-spacing: 0.02em;
  margin-bottom: min(20px, 1.6129032258vw);
  font-size: 6.4vw;
}
@media (min-width: 768px) {
  .c-hero__body-head {
    font-size: clamp(14px, 2.5806451613vw, 32px);
  }
}
@media (max-width: 767px) {
  .c-hero__body-head {
    letter-spacing: 0.05em;
    margin-bottom: 4vw;
  }
}
.c-hero__body-text {
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 2;
  font-size: 3.7333333333vw;
}
@media (min-width: 768px) {
  .c-hero__body-text {
    font-size: clamp(14px, 1.4516129032vw, 18px);
  }
}
@media (max-width: 767px) {
  .c-hero__body-text {
    line-height: 2;
    letter-spacing: 0.05em;
  }
}

.c-kv {
  padding-top: min(60px, 4.8387096774vw);
  padding-bottom: min(120px, 9.6774193548vw);
}
@media (max-width: 767px) {
  .c-kv {
    padding-top: 10.6666666667vw;
    padding-bottom: 21.3333333333vw;
  }
}
.c-kv__inner {
  display: grid;
  column-gap: min(80px, 6.4516129032vw);
  grid-template-columns: minmax(0, min(480px, 38.7096774194vw)) minmax(0, min(540px, 43.5483870968vw));
  grid-template-rows: auto 1fr;
  grid-template-areas: "heading image" "description image";
}
@media (max-width: 767px) {
  .c-kv__inner {
    grid-template-columns: 1fr;
    grid-template-areas: "heading" "image" "description";
    column-gap: 0;
  }
}
.c-kv__heading {
  grid-area: heading;
}
.c-kv__sub-title {
  font-size: min(16px, 1.2903225806vw);
  font-weight: 700;
  margin: 0;
}
@media (max-width: 767px) {
  .c-kv__sub-title {
    font-size: 3.4666666667vw;
  }
}
.c-kv__title {
  font-size: min(44px, 3.5483870968vw);
  margin-bottom: min(30px, 2.4193548387vw);
}
@media (max-width: 767px) {
  .c-kv__title {
    font-size: 7.4666666667vw;
    margin-bottom: 5.3333333333vw;
  }
}
.c-kv__image {
  grid-area: image;
}
.c-kv__image img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: min(8px, 0.6451612903vw);
}
@media (max-width: 767px) {
  .c-kv__image img {
    border-radius: 2.1333333333vw;
  }
}
.c-kv__description {
  grid-area: description;
  font-weight: 500;
  max-width: min(480px, 38.7096774194vw);
  width: 100%;
}
@media (max-width: 767px) {
  .c-kv__description {
    max-width: 100%;
    margin-top: 5.3333333333vw;
  }
}
.c-kv__description p {
  font-size: min(18px, 1.4516129032vw);
  line-height: 2;
  margin: 0;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .c-kv__description p {
    font-size: 3.7333333333vw;
  }
}
@media (min-width: 768px) and (max-width: 1023px) and (min-width: 768px) {
  .c-kv__description p {
    font-size: clamp(14px, 1.4516129032vw, 18px);
  }
}
@media (max-width: 767px) {
  .c-kv__description p {
    font-size: 3.7333333333vw;
  }
}
.c-kv__description .c-button {
  margin-top: min(30px, 2.4193548387vw);
  gap: min(12px, 0.9677419355vw);
}
@media (max-width: 767px) {
  .c-kv__description .c-button {
    margin-top: 10.6666666667vw;
  }
}
.c-kv__description-num {
  display: inline-block;
  padding: min(10px, 0.8064516129vw);
  background-color: #DBE7F6;
  line-height: 1;
}
@media (max-width: 767px) {
  .c-kv__description-num {
    padding: 2.6666666667vw;
  }
}

.c-graphs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: min(40px, 3.2258064516vw);
  margin-bottom: min(60px, 4.8387096774vw);
}
@media (max-width: 767px) {
  .c-graphs {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 18.6666666667vw;
    margin-bottom: 10.6666666667vw;
  }
}

.c-bar-graph__chart, .c-line-graph__chart {
  aspect-ratio: 1/1;
  max-width: min(340px, 27.4193548387vw);
  max-height: min(340px, 27.4193548387vw);
}
@media (max-width: 767px) {
  .c-bar-graph__chart, .c-line-graph__chart {
    width: 89.3333333333vw;
    height: 89.3333333333vw;
    max-width: none;
    max-height: none;
  }
}

.c-graph__unit {
  text-align: right;
  font-size: min(12px, 0.9677419355vw);
  line-height: 1.6;
  color: #32373C;
}
@media (max-width: 767px) {
  .c-graph__unit {
    font-size: 3.2vw;
  }
}

.c-line-graph__chart {
  background: #F0F2F6;
}

.c-line-graph canvas,
.c-bar-graph canvas {
  backface-visibility: hidden;
  transform: translateZ(0);
  will-change: transform;
}

/* グラフちらつき防止用 */
[data-tab-panel].is-graph-pending canvas {
  opacity: 0;
}

[data-tab-panel] canvas {
  transition: opacity 0.18s ease;
}

.c-table {
  overflow: auto;
}
.c-table table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  border-top: 1px solid #D8D8D8;
  border-bottom: 1px solid #D8D8D8;
}
.c-table th,
.c-table td {
  padding: min(20px, 1.6129032258vw) min(28px, 2.2580645161vw);
  line-height: 2;
  color: #32373C;
  text-align: left;
  vertical-align: middle;
  border-top: 1px solid #D8D8D8;
  background-color: #fff;
}
@media (max-width: 767px) {
  .c-table th,
  .c-table td {
    padding: 5.3333333333vw 6.4vw;
  }
}
.c-table tbody tr:first-child th,
.c-table tbody tr:first-child td {
  border-top: none;
}
.c-table th {
  font-weight: 400;
  background: #F0F2F6;
}
.c-table td {
  padding-right: min(16px, 1.2903225806vw);
}
.c-table thead {
  background: #F0F2F6;
}
.c-table thead + tbody th {
  background: #F8F8F8;
}
.c-table--counter tbody {
  counter-reset: table-row;
}
.c-table--counter tbody tr {
  position: relative;
  counter-increment: table-row;
}
.c-table--counter tbody th {
  position: relative;
  padding-left: min(20px, 1.6129032258vw);
}
@media (max-width: 767px) {
  .c-table--counter tbody th {
    padding-left: 4.2666666667vw;
  }
}
.c-table--counter tbody th span {
  display: block;
  padding-left: 1.25em;
  position: relative;
}
.c-table--counter tbody th span::before {
  content: counter(table-row) ".";
  position: absolute;
  top: 0;
  left: 0;
  font-size: 1em;
}
.c-table--scroll table {
  white-space: nowrap;
  table-layout: auto;
}
.c-table--num-column-1 thead th:nth-child(1) {
  text-align: center !important;
  font-feature-settings: "tnum";
}
.c-table--num-column-1 tbody td:nth-child(1) {
  text-align: right !important;
  font-feature-settings: "tnum";
  padding: min(20px, 1.6129032258vw) min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .c-table--num-column-1 tbody td:nth-child(1) {
    padding: 5.3333333333vw 10.6666666667vw;
  }
}
.c-table--num-column-2 thead th:nth-child(2) {
  text-align: center !important;
  font-feature-settings: "tnum";
}
.c-table--num-column-2 tbody td:nth-child(2) {
  text-align: right !important;
  font-feature-settings: "tnum";
  padding: min(20px, 1.6129032258vw) min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .c-table--num-column-2 tbody td:nth-child(2) {
    padding: 5.3333333333vw 10.6666666667vw;
  }
}
.c-table--num-column-3 thead th:nth-child(3) {
  text-align: center !important;
  font-feature-settings: "tnum";
}
.c-table--num-column-3 tbody td:nth-child(3) {
  text-align: right !important;
  font-feature-settings: "tnum";
  padding: min(20px, 1.6129032258vw) min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .c-table--num-column-3 tbody td:nth-child(3) {
    padding: 5.3333333333vw 10.6666666667vw;
  }
}
.c-table--num-column-4 thead th:nth-child(4) {
  text-align: center !important;
  font-feature-settings: "tnum";
}
.c-table--num-column-4 tbody td:nth-child(4) {
  text-align: right !important;
  font-feature-settings: "tnum";
  padding: min(20px, 1.6129032258vw) min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .c-table--num-column-4 tbody td:nth-child(4) {
    padding: 5.3333333333vw 10.6666666667vw;
  }
}
.c-table--num-column-5 thead th:nth-child(5) {
  text-align: center !important;
  font-feature-settings: "tnum";
}
.c-table--num-column-5 tbody td:nth-child(5) {
  text-align: right !important;
  font-feature-settings: "tnum";
  padding: min(20px, 1.6129032258vw) min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .c-table--num-column-5 tbody td:nth-child(5) {
    padding: 5.3333333333vw 10.6666666667vw;
  }
}
.c-table--num-column-6 thead th:nth-child(6) {
  text-align: center !important;
  font-feature-settings: "tnum";
}
.c-table--num-column-6 tbody td:nth-child(6) {
  text-align: right !important;
  font-feature-settings: "tnum";
  padding: min(20px, 1.6129032258vw) min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .c-table--num-column-6 tbody td:nth-child(6) {
    padding: 5.3333333333vw 10.6666666667vw;
  }
}

.c-tab {
  width: 100%;
}
.c-tab__nav {
  display: flex;
  gap: min(8px, 0.6451612903vw);
  border-bottom: min(1px, 0.0806451613vw) solid #E5E5E5;
  margin-bottom: min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .c-tab__nav {
    gap: 2.1333333333vw;
    margin-bottom: 8.5333333333vw;
    border-bottom: 0.2666666667vw solid #E5E5E5;
  }
}
.c-tab__button {
  position: relative;
  flex: 1;
  padding: min(16px, 1.2903225806vw) min(24px, 1.935483871vw);
  background: transparent;
  border: none;
  color: #666;
  font-size: min(16px, 1.2903225806vw);
  font-weight: 500;
  text-align: center;
  cursor: pointer;
  transition: all 0.3s ease;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .c-tab__button {
    padding: 3.7333333333vw 4.2666666667vw;
    font-size: 3.7333333333vw;
  }
}
.c-tab__button:hover {
  color: #32373C;
}
.c-tab__button.is-active {
  color: #1e1e1e;
  font-weight: 700;
}
.c-tab__button.is-active::after {
  content: "";
  position: absolute;
  bottom: max(-1px, -0.0806451613vw);
  left: 0;
  width: 100%;
  height: min(3px, 0.2419354839vw);
  background: #1e1e1e;
}
@media (max-width: 767px) {
  .c-tab__button.is-active::after {
    bottom: -0.2666666667vw;
    height: 0.8vw;
  }
}
.c-tab__button:focus-visible {
  outline: min(2px, 0.1612903226vw) solid #1e1e1e;
  outline-offset: min(2px, 0.1612903226vw);
}
@media (max-width: 767px) {
  .c-tab__button:focus-visible {
    outline: 0.5333333333vw solid #1e1e1e;
    outline-offset: 0.5333333333vw;
  }
}
.c-tab__content {
  position: relative;
}
.c-tab__panel {
  position: absolute;
  inset: 0;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: -1;
  animation: fadeOut 0.3s ease;
}
.c-tab__panel.is-active {
  position: relative;
  inset: auto;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  z-index: 0;
  animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(min(10px, 0.8064516129vw));
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(min(10px, 0.8064516129vw));
  }
}
.c-num-list {
  counter-reset: number;
}
.c-num-list > li {
  position: relative;
  padding-left: 1em;
}
.c-num-list > li::before {
  position: absolute;
  left: 0;
  counter-increment: number;
  content: counter(number);
}
.c-num-list > li:not(:first-of-type) {
  margin-top: 1em;
}
.c-num-list--paren > li {
  padding-left: 2em;
}
.c-num-list--paren > li::before {
  content: "(" counter(number) ")";
}

.c-notice-list > li {
  position: relative;
  padding-left: 1em;
  font-size: min(12px, 0.9677419355vw);
}
@media (max-width: 767px) {
  .c-notice-list > li {
    font-size: 3.7333333333vw;
  }
}
.c-notice-list > li::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "※";
}

.c-result-achievements {
  margin-top: min(70px, 5.6451612903vw);
}
@media (max-width: 767px) {
  .c-result-achievements {
    margin-top: 20vw;
  }
}
.c-result-achievements-headline {
  font-size: 5.3333333333vw;
}
@media (min-width: 768px) {
  .c-result-achievements-headline {
    font-size: clamp(14px, 2.2580645161vw, 28px);
  }
}
@media (max-width: 767px) {
  .c-result-achievements-headline {
    text-align: center;
  }
}
.c-result-achievements-list {
  display: flex;
  overflow: hidden;
  margin-top: min(30px, 2.4193548387vw);
}
@media (max-width: 767px) {
  .c-result-achievements-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin-top: 2.1333333333vw;
    gap: 0 8vw;
  }
}
.c-result-achievements-list-cnt {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  width: 100%;
  max-width: min(137px, 11.0483870968vw);
}
@media (max-width: 767px) {
  .c-result-achievements-list-cnt {
    max-width: 100%;
    min-height: 33.6vw;
    padding: 5.3333333333vw 0vw 2.1333333333vw;
  }
}
.c-result-achievements-list-cnt::before {
  content: "";
  position: absolute;
  background-color: #D8D8D8;
  width: 1px;
  height: 100%;
  right: min(0px, 0vw);
}
@media (max-width: 767px) {
  .c-result-achievements-list-cnt::before {
    bottom: 0;
    width: 150%;
    height: 0.2666666667vw;
    left: 0;
  }
}
.c-result-achievements-list-cnt:last-of-type::before {
  content: none;
}
@media (max-width: 767px) {
  .c-result-achievements-list-cnt:nth-last-of-type(2)::before {
    content: none;
  }
}
@media (max-width: 767px) {
  .c-result-achievements-list-cnt:nth-of-type(2n)::after {
    content: "";
    position: absolute;
    background-color: #D8D8D8;
    width: 0.2666666667vw;
    height: 33.6vw;
    left: -4vw;
    bottom: 5.3333333333vw;
  }
}
.c-result-achievements-list-cnt img {
  width: min(68px, 5.4838709677vw);
}
@media (max-width: 767px) {
  .c-result-achievements-list-cnt img {
    width: 18.1333333333vw;
  }
}
.c-result-achievements-list-cnt-head {
  font-weight: 700;
  line-height: 1.4;
  margin-top: min(20px, 1.6129032258vw);
  font-size: 4.2666666667vw;
}
@media (min-width: 768px) {
  .c-result-achievements-list-cnt-head {
    font-size: clamp(14px, 1.2903225806vw, 16px);
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .c-result-achievements-list-cnt-head {
    font-size: min(13px, 1.6927083333vw);
  }
}
@media (max-width: 767px) {
  .c-result-achievements-list-cnt-head {
    margin-top: 1.3333333333vw;
  }
}
.c-result-achievements-list-cnt-number {
  font-weight: 700;
  line-height: 1.4;
  margin-top: min(15px, 1.2096774194vw);
  font-size: 4.2666666667vw;
}
@media (min-width: 768px) {
  .c-result-achievements-list-cnt-number {
    font-size: clamp(14px, 1.2903225806vw, 16px);
  }
}
@media (max-width: 767px) {
  .c-result-achievements-list-cnt-number {
    margin-top: 0.5333333333vw;
  }
}
.c-result-achievements-list-cnt-number span {
  font-family: "Montserrat", Arial, sans-serif;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0;
  padding: 0 min(4px, 0.3225806452vw);
  font-size: 8.5333333333vw;
}
@media (min-width: 768px) {
  .c-result-achievements-list-cnt-number span {
    font-size: clamp(14px, 2.5806451613vw, 32px);
  }
}
@media (max-width: 767px) {
  .c-result-achievements-list-cnt-number span {
    padding: 0 1.0666666667vw;
  }
}
.c-result-achievements-btn {
  text-align: center;
  margin-top: min(55px, 4.435483871vw);
}
@media (max-width: 767px) {
  .c-result-achievements-btn {
    margin-top: 5.3333333333vw;
  }
}

.c-caption {
  margin-top: 1.5em;
  line-height: 1.6;
  font-size: 2.6666666667vw;
}
@media (min-width: 768px) {
  .c-caption {
    font-size: clamp(14px, 0.9677419355vw, 12px);
  }
}
.c-caption--closest {
  margin-top: min(8px, 0.6451612903vw);
}
@media (max-width: 767px) {
  .c-caption--closest {
    margin-top: 2.1333333333vw;
  }
}

.c-card-overlay {
  display: block;
  position: relative;
  border-radius: min(8px, 0.6451612903vw);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
}
.c-card-overlay .c-card-overlay__image {
  transition: transform 0.3s ease;
}
@media (max-width: 767px) {
  .c-card-overlay {
    border-radius: 2.1333333333vw;
  }
}
.c-card-overlay:hover .c-card-overlay__image {
  transform: scale(1.05);
}
.c-card-overlay:hover .c-button.c-button--arrow {
  background-color: #fff;
  color: #32373C;
}
.c-card-overlay:hover .c-button.c-button--arrow::after {
  background: url("../images/common/arrow-black.svg") no-repeat center center/contain;
}
.c-card-overlay__image {
  width: 100%;
  height: 100%;
}
.c-card-overlay__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-card-overlay__content {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 50%;
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 0 min(60px, 4.8387096774vw) 0 min(50px, 4.0322580645vw);
  justify-content: center;
}
@media (max-width: 767px) {
  .c-card-overlay__content {
    position: relative;
    width: 100%;
    padding: 7.4666666667vw 5.3333333333vw;
    align-items: center;
    background: #F0F2F6;
  }
}
.c-card-overlay__title {
  font-size: min(28px, 2.2580645161vw);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.03em;
  margin-bottom: min(10px, 0.8064516129vw);
}
@media (max-width: 767px) {
  .c-card-overlay__title {
    font-size: 5.3333333333vw;
    margin-bottom: 2.1333333333vw;
    text-align: center;
  }
}
.c-card-overlay__text {
  font-size: min(16px, 1.2903225806vw);
  font-weight: 400;
  line-height: 1.8;
  margin-bottom: min(30px, 2.4193548387vw);
}
@media (max-width: 767px) {
  .c-card-overlay__text {
    font-size: 3.4666666667vw;
    margin-bottom: 5.3333333333vw;
  }
}
@media (max-width: 767px) {
  .c-card-overlay__btn {
    text-align: center;
  }
}
.c-card-overlay--harimavoice .c-card-overlay__content {
  text-align: center;
}
.c-card-overlay--harimavoice .c-card-overlay__title img {
  max-width: min(322px, 25.9677419355vw);
}
@media (max-width: 767px) {
  .c-card-overlay--harimavoice .c-card-overlay__title img {
    max-width: 77.3333333333vw;
  }
}

.c-grid.c-grid--col3 {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 5%;
  overflow: hidden;
}
@media (max-width: 767px) {
  .c-grid.c-grid--col3 {
    justify-content: space-between;
  }
}
.c-grid.c-grid--col3 .c-grid__item {
  display: flex;
  position: relative;
}
.c-grid.c-grid--col3 .c-grid__item::after {
  content: "";
  display: block;
  width: 118%;
  height: 1px;
  position: absolute;
  background-color: #D8D8D8;
  left: 50%;
  bottom: max(-30px, -2.4193548387vw);
  transform: translateX(-50%);
}
@media (max-width: 767px) {
  .c-grid.c-grid--col3 .c-grid__item::after {
    width: 125%;
    bottom: -5.3333333333vw;
  }
}
@media (min-width: 768px) {
  .c-grid.c-grid--col3 .c-grid__item {
    flex-basis: 30%;
  }
}
@media (max-width: 767px) {
  .c-grid.c-grid--col3 .c-grid__item {
    flex-basis: 45%;
  }
}
@media (min-width: 768px) {
  .c-grid.c-grid--col3 .c-grid__item:not(:nth-child(1), :nth-child(2), :nth-child(3)) {
    margin-top: min(60px, 4.8387096774vw);
  }
}
@media (max-width: 767px) {
  .c-grid.c-grid--col3 .c-grid__item:not(:nth-child(1), :nth-child(2)) {
    margin-top: 10.6666666667vw;
  }
}
@media (min-width: 768px) {
  .c-grid.c-grid--col3 .c-grid__item:nth-child(3n)::before {
    content: "";
    display: block;
    width: 1px;
    height: 95%;
    background-color: #D8D8D8;
    position: absolute;
    left: -8.5%;
    top: 0;
  }
  .c-grid.c-grid--col3 .c-grid__item:nth-child(3n+2)::before {
    content: "";
    display: block;
    width: 1px;
    height: 100%;
    background-color: #D8D8D8;
    position: absolute;
    left: -8.5%;
    top: 0;
  }
}
@media (max-width: 767px) {
  .c-grid.c-grid--col3 .c-grid__item:nth-child(2n)::before {
    content: "";
    display: block;
    width: 1px;
    height: 100%;
    background-color: #D8D8D8;
    position: absolute;
    left: -11%;
    top: 0;
  }
}
.c-grid.c-grid--col3 .c-grid__link {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.c-grid.c-grid--col3 .c-grid__link:hover {
  cursor: pointer;
}
.c-grid.c-grid--col3 .c-grid__link:hover .c-grid__thumbnail img {
  transform: scale(1.05);
}
.c-grid.c-grid--col3 .c-grid__thumbnail {
  border-radius: min(4px, 0.3225806452vw);
  overflow: hidden;
  aspect-ratio: 16/9;
}
@media (max-width: 767px) {
  .c-grid.c-grid--col3 .c-grid__thumbnail {
    border-radius: 1.0666666667vw;
  }
}
.c-grid.c-grid--col3 .c-grid__thumbnail img {
  object-fit: cover;
  object-position: center center;
  width: 100%;
  height: 100%;
  display: block;
  transition: transform 0.3s ease;
}
.c-grid.c-grid--col3 .c-grid__content {
  margin-top: min(18px, 1.4516129032vw);
  width: 100%;
}
@media (max-width: 767px) {
  .c-grid.c-grid--col3 .c-grid__content {
    margin-top: 2.6666666667vw;
  }
}
.c-grid.c-grid--col3 .c-grid__text {
  font-size: min(16px, 1.2903225806vw);
  position: relative;
  text-align: left;
  padding-right: min(30px, 2.4193548387vw);
  display: block;
  width: 100%;
}
.c-grid.c-grid--col3 .c-grid__text::after {
  content: "";
  width: min(7px, 0.564516129vw);
  height: min(10px, 0.8064516129vw);
  position: absolute;
  top: 50%;
  right: min(0px, 0vw);
  transform: translateY(-50%);
  background: url("../images/common/arrow-black.svg") no-repeat center center/contain;
}
@media (max-width: 767px) {
  .c-grid.c-grid--col3 .c-grid__text::after {
    width: 1.8666666667vw;
    height: 2.1333333333vw;
    right: 0vw;
  }
}
@media (max-width: 767px) {
  .c-grid.c-grid--col3 .c-grid__text {
    font-size: 3.4666666667vw;
    padding-right: 8vw;
  }
}

.c-post-list-utilitie {
  padding: min(36px, 2.9032258065vw) 0;
  background-color: #eff2f6;
}
@media (max-width: 767px) {
  .c-post-list-utilitie {
    padding: 7.4666666667vw 0;
  }
}
.c-post-list-utilitie__row {
  display: flex;
  align-items: baseline;
  gap: min(6px, 0.4838709677vw);
  margin: 0 0 min(20px, 1.6129032258vw);
}
@media (max-width: 767px) {
  .c-post-list-utilitie__row {
    flex-direction: column;
    align-items: flex-start;
    gap: 3.2vw;
    margin-bottom: 5.3333333333vw;
  }
}
.c-post-list-utilitie__row:last-child {
  margin-bottom: 0;
}
.c-post-list-utilitie dt {
  font-weight: 700;
  color: #32373C;
  letter-spacing: 0.06em;
}
@media (max-width: 767px) {
  .c-post-list-utilitie dt {
    font-size: 3.7333333333vw;
    min-width: auto;
  }
}
.c-post-list-utilitie dd {
  flex: 1;
  margin: 0;
  width: 100%;
}

.c-post-category-list {
  display: flex;
  align-items: flex-end;
  gap: min(12px, 0.9677419355vw);
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (max-width: 767px) {
  .c-post-category-list {
    gap: 2.1333333333vw;
  }
}
.c-post-category-list__sub-groupe {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: min(12px, 0.9677419355vw);
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (max-width: 767px) {
  .c-post-category-list__sub-groupe {
    gap: 2.1333333333vw;
  }
}
.c-post-category-list__parent {
  font-weight: 500;
  display: inline-block;
  margin-bottom: 1em;
  font-size: 3.4666666667vw;
}
@media (min-width: 768px) {
  .c-post-category-list__parent {
    font-size: clamp(14px, 1.2903225806vw, 16px);
  }
}
@media (max-width: 767px) {
  .c-post-category-list__parent {
    display: block;
    text-align: center;
  }
}
@media (max-width: 767px) {
  .c-post-category-list__item {
    width: calc(50% - 1.0666666667vw);
  }
}
.c-post-category-list__item--normals {
  max-width: min(308px, 24.8387096774vw);
}
@media (max-width: 767px) {
  .c-post-category-list__item--normals {
    max-width: none;
  }
}
.c-post-category-list__item--parent {
  padding-left: min(25px, 2.0161290323vw);
  margin-left: min(25px, 2.0161290323vw);
  border-left: 1px solid #32373C;
}
@media (max-width: 767px) {
  .c-post-category-list__item--parent {
    border-left: 0;
    margin-left: 0;
    padding-left: 0;
    margin-top: 4.2666666667vw;
    padding-top: 4.2666666667vw;
    border-top: 1px solid #32373C;
  }
}
.c-post-category-list__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: min(44px, 3.5483870968vw);
  padding: 0 min(24px, 1.935483871vw);
  border-radius: min(999px, 80.564516129vw);
  background-color: #fff;
  border: 1px solid #32373C;
  color: #32373C;
  text-decoration: none;
  font-size: min(14px, 1.1290322581vw);
  font-weight: 500;
  letter-spacing: 0.04em;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
  min-width: min(148px, 11.935483871vw);
}
@media (max-width: 767px) {
  .c-post-category-list__link {
    width: 100%;
    min-height: 9.6vw;
    padding: 0 4.8vw;
    border-radius: 266.4vw;
    font-size: 3.2vw;
    min-width: auto;
  }
}
.c-post-category-list__link--square {
  border-radius: min(4px, 0.3225806452vw);
  min-width: min(148px, 11.935483871vw);
}
@media (max-width: 767px) {
  .c-post-category-list__link--square {
    min-width: auto;
    border-radius: 1.0666666667vw;
  }
}
.c-post-category-list__link:hover, .c-post-category-list__link:focus-visible {
  background-color: #2b2f33;
  border-color: #2b2f33;
  color: #fff;
}
.c-post-category-list__link.is-active {
  background-color: #2b2f33;
  border-color: #2b2f33;
  color: #fff;
}

.c-post-list-current {
  margin-top: min(60px, 4.8387096774vw);
}
@media (max-width: 767px) {
  .c-post-list-current {
    margin-top: 10.6666666667vw;
  }
}
.c-post-list-current__row {
  display: flex;
  align-items: center;
  font-weight: 500;
}
.c-post-list-current dt:not(:first-child) {
  margin-left: min(20px, 1.6129032258vw);
}
@media (max-width: 767px) {
  .c-post-list-current dt:not(:first-child) {
    margin-left: 5.3333333333vw;
  }
}

.c-post-list-years {
  margin-top: min(60px, 4.8387096774vw);
}
@media (max-width: 767px) {
  .c-post-list-years {
    margin-top: 10.6666666667vw;
  }
}

.c-post-list-years {
  margin-top: min(60px, 4.8387096774vw);
}
@media (max-width: 767px) {
  .c-post-list-years {
    margin-top: 10.6666666667vw;
  }
}

.c-post-list {
  border-top: 1px solid #d8d8d8;
  border-bottom: 1px solid #d8d8d8;
  margin-top: min(60px, 4.8387096774vw);
}
@media (max-width: 767px) {
  .c-post-list {
    margin-top: 10.6666666667vw;
  }
}
.c-post-list__items {
  margin-bottom: min(60px, 4.8387096774vw);
}
@media (max-width: 767px) {
  .c-post-list__items {
    margin-bottom: 10.6666666667vw;
  }
}
.c-post-list__group-title {
  font-weight: 700;
  font-size: 5.3333333333vw;
}
@media (min-width: 768px) {
  .c-post-list__group-title {
    font-size: clamp(14px, 1.935483871vw, 24px);
  }
}
.c-post-list__group-title:not(:first-child) {
  margin-top: min(60px, 4.8387096774vw);
}
@media (max-width: 767px) {
  .c-post-list__group-title:not(:first-child) {
    margin-top: 10.6666666667vw;
  }
}
.c-post-list__group-title + .c-post-list {
  margin-top: min(10px, 0.8064516129vw);
}
@media (max-width: 767px) {
  .c-post-list__group-title + .c-post-list {
    margin-top: 2.1333333333vw;
  }
}
.c-post-list__empty {
  text-align: center;
  padding: min(80px, 6.4516129032vw) 0;
  color: #6c757d;
}
@media (max-width: 767px) {
  .c-post-list__empty {
    padding: 16vw 0;
  }
}
.c-post-list--inline .c-post-item__body {
  display: flex;
  gap: min(14px, 1.1290322581vw);
}
@media (max-width: 767px) {
  .c-post-list--inline .c-post-item__body {
    gap: 3.2vw;
  }
}
.c-post-list--inline .c-post-item__link {
  display: flex;
  padding: min(20px, 1.6129032258vw) 0;
}
@media (max-width: 767px) {
  .c-post-list--inline .c-post-item__link {
    padding: 5.3333333333vw 0;
  }
}
.c-post-list--inline .c-post-item .c-post__meta {
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .c-post-list--inline .c-post-item .c-post__meta {
    margin-bottom: 2.1333333333vw;
  }
}

.c-post__meta {
  display: flex;
  align-items: center;
  gap: min(16px, 1.2903225806vw);
}
@media (max-width: 767px) {
  .c-post__meta {
    gap: 3.2vw;
    flex-wrap: wrap;
  }
}
.c-post__date {
  min-width: 5.6em;
  font-family: "Montserrat", Arial, sans-serif;
  font-weight: 400;
  font-size: 3.2vw;
}
@media (min-width: 768px) {
  .c-post__date {
    font-size: clamp(14px, 1.1290322581vw, 14px);
  }
}
.c-post__categories {
  display: flex;
  gap: min(8px, 0.6451612903vw);
}
@media (max-width: 767px) {
  .c-post__categories {
    gap: 1.6vw;
  }
}
.c-post__category {
  padding: min(2px, 0.1612903226vw) min(7px, 0.564516129vw);
  background-color: #E0DCEA;
  color: #32373C;
  border-radius: min(3px, 0.2419354839vw);
  font-size: 3.2vw;
}
@media (min-width: 768px) {
  .c-post__category {
    font-size: clamp(14px, 1.1290322581vw, 14px);
  }
}
@media (max-width: 767px) {
  .c-post__category {
    padding: 0.5333333333vw 1.6vw;
    border-radius: 0.8vw;
  }
}
.c-post__category--news {
  background-color: #E0DCEA;
}
.c-post__category--ir-news {
  background: #CEEBE9;
}
.c-post__category--settle {
  background: #EBCECE;
}
.c-post__category--securities {
  background: #CEDEEB;
}
.c-post__category--documents {
  background: #EBD9CE;
}
.c-post__category--others {
  background: #F2F2F2;
}

.c-post-item {
  border-bottom: 1px solid #d8d8d8;
}
.c-post-item:last-child {
  border-bottom: none;
}
.c-post-item__link {
  position: relative;
  display: flex;
  align-items: center;
  padding: min(32px, 2.5806451613vw) 0;
  gap: min(32px, 2.5806451613vw);
  text-decoration: none;
  color: inherit;
  transition: all 0.3s ease;
}
@media (max-width: 767px) {
  .c-post-item__link {
    gap: 4.2666666667vw;
    padding: 5.3333333333vw 0;
  }
}
.c-post-item__link::after {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  content: "";
  mask-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOSIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDkgMTQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEuMzQzNzUgMS4zNDM3NUw3LjAwMDYgNy4wMDA2TDEuMzQzNzUgMTIuNjU3NSIgc3Ryb2tlPSIjMzIzNzNDIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjwvc3ZnPg==");
  mask-repeat: no-repeat;
  mask-size: contain;
  background: #32373C;
  width: min(12px, 0.9677419355vw);
  height: min(12px, 0.9677419355vw);
}
@media (max-width: 767px) {
  .c-post-item__link::after {
    width: 2.4vw;
    height: 2.4vw;
  }
}
.c-post-item__link:not(a) {
  pointer-events: none;
}
.c-post-item__link:not(a)::after {
  content: none;
}
.c-post-item__link--heading_only::after {
  display: none;
}
.c-post-item__link--pdf_data::after {
  content: none;
}
.c-post-item__link--pdf_data .c-post-item__title {
  position: relative;
}
.c-post-item__link--pdf_data .c-post-item__title::after {
  content: "";
  background-image: url("../images/common/icons/icon-pdf.svg");
  position: relative;
  background-repeat: no-repeat;
  background-size: contain;
  width: min(24px, 1.935483871vw);
  height: min(24px, 1.935483871vw);
  margin-left: 0.125em;
  display: inline-block;
  vertical-align: middle;
}
@media (max-width: 767px) {
  .c-post-item__link--pdf_data .c-post-item__title::after {
    width: 3.7333333333vw;
    height: 3.7333333333vw;
  }
}
.c-post-item__link--other_page_link[target=_blank]::after {
  background-image: url("../images/common/icons/icon-external.svg");
  width: min(14px, 1.1290322581vw);
  height: min(14px, 1.1290322581vw);
}
@media (max-width: 767px) {
  .c-post-item__link--other_page_link[target=_blank]::after {
    width: 2.6666666667vw;
    height: 2.6666666667vw;
  }
}
.c-post-item__link:hover {
  opacity: 0.8;
}
.c-post-item__link:hover .c-post__thumb img {
  transform: scale(1.1);
}
.c-post-item__thumb {
  overflow: hidden;
  width: min(120px, 9.6774193548vw);
  border-radius: min(4px, 0.3225806452vw);
  aspect-ratio: 120/67;
}
@media (max-width: 767px) {
  .c-post-item__thumb {
    flex: 0 1 26.8656716418%;
  }
}
.c-post-item__thumb img {
  max-width: 100%;
  object-fit: cover;
  border-radius: min(4px, 0.3225806452vw);
  transition: all 0.3s ease;
}
@media (max-width: 767px) {
  .c-post-item__thumb img {
    border-radius: 1.0666666667vw;
  }
}
.c-post-item__body {
  flex: 1;
}
.c-post-item__title {
  padding-right: 0.4482758621em;
  line-height: 1.4;
  font-weight: 400;
  font-size: 3.4666666667vw;
}
@media (min-width: 768px) {
  .c-post-item__title {
    font-size: clamp(14px, 1.2903225806vw, 16px);
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .c-post-item__title {
    font-size: min(16px, 2.0833333333vw);
  }
}
.c-post-item__excerpt {
  color: #6c757d;
  line-height: 1.6;
  margin: 0;
  font-size: min(14px, 1.1290322581vw);
}
@media (max-width: 767px) {
  .c-post-item__excerpt {
    font-size: 3.2vw;
  }
}
.c-post-item .c-post__meta {
  margin-bottom: min(12px, 0.9677419355vw);
}
@media (max-width: 767px) {
  .c-post-item .c-post__meta {
    margin-bottom: 2.1333333333vw;
  }
}

.c-post__category--ir-news,
.c-post-category-list__link--ir-news {
  background: #CEEBE9;
}
.c-post__category--settle,
.c-post-category-list__link--settle {
  background: #EBCECE;
}
.c-post__category--securities,
.c-post-category-list__link--securities {
  background: #CEDEEB;
}
.c-post__category--documents,
.c-post-category-list__link--documents {
  background: #EBD9CE;
}
.c-post__category--others,
.c-post-category-list__link--others {
  background: #F2F2F2;
}

.c-embed-responsive {
  width: 100%;
  aspect-ratio: 16/9;
}
.c-embed-responsive iframe,
.c-embed-responsive embed,
.c-embed-responsive object,
.c-embed-responsive video {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
}

.p-switch-tab .c-tab__nav {
  position: relative;
  display: flex;
  width: fit-content;
  margin: 0 auto min(30px, 2.4193548387vw);
  background: #F0F2F6;
  border-radius: min(20px, 1.6129032258vw);
  padding: 0;
  border-bottom: none;
}
@media (max-width: 767px) {
  .p-switch-tab .c-tab__nav {
    margin: 0 auto 5.3333333333vw;
    border-radius: 5.3333333333vw;
  }
}
.p-switch-tab .c-tab__button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(8px, 0.6451612903vw);
  width: min(300px, 24.1935483871vw);
  height: min(40px, 3.2258064516vw);
  padding: 0 min(24px, 1.935483871vw);
  background: transparent;
  border: none;
  border-radius: min(20px, 1.6129032258vw);
  color: #32373C;
  font-size: min(16px, 1.2903225806vw);
  font-weight: 500;
  text-align: center;
  cursor: pointer;
  transition: all 0.3s ease;
  white-space: nowrap;
  z-index: 1;
}
@media (max-width: 767px) {
  .p-switch-tab .c-tab__button {
    width: 44.5333333333vw;
    height: 10.6666666667vw;
    gap: 1.6vw;
    padding: 0 5.3333333333vw;
    border-radius: 5.3333333333vw;
    font-size: 3.4666666667vw;
  }
}
.p-switch-tab .c-tab__button::before {
  content: "";
  display: block;
  width: min(16px, 1.2903225806vw);
  height: min(16px, 1.2903225806vw);
  border-radius: 50%;
  background: #ED4D4D;
  transition: all 0.3s ease;
}
@media (max-width: 767px) {
  .p-switch-tab .c-tab__button::before {
    width: 3.7333333333vw;
    height: 3.7333333333vw;
  }
}
.p-switch-tab .c-tab__button--blue::before {
  background: #0052A4;
}
.p-switch-tab .c-tab__button:hover {
  color: #32373C;
}
.p-switch-tab .c-tab__button.is-active {
  color: #FFFFFF;
  font-weight: 500;
}
.p-switch-tab .c-tab__button.is-active::after {
  display: none;
}
.p-switch-tab .c-tab__button:focus-visible {
  outline: min(2px, 0.1612903226vw) solid #0052A4;
  outline-offset: min(2px, 0.1612903226vw);
}
@media (max-width: 767px) {
  .p-switch-tab .c-tab__button:focus-visible {
    outline: 0.5333333333vw solid #0052A4;
    outline-offset: 0.5333333333vw;
  }
}
.p-switch-tab .c-tab__slider {
  position: absolute;
  top: 0;
  left: 0;
  width: min(300px, 24.1935483871vw);
  height: min(40px, 3.2258064516vw);
  background: #32373C;
  border-radius: min(20px, 1.6129032258vw);
  transition: transform 0.3s ease;
  z-index: 0;
}
@media (max-width: 767px) {
  .p-switch-tab .c-tab__slider {
    width: 44.5333333333vw;
    height: 10.6666666667vw;
    border-radius: 5.3333333333vw;
  }
}
.p-switch-tab .c-tab__content {
  position: relative;
}

.c-anchors__list {
  display: flex;
  gap: min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .c-anchors__list {
    flex-direction: column;
    gap: 0;
  }
}
.c-anchors__item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-bottom: min(2px, 0.1612903226vw) solid #32373C;
  font-weight: 500;
  line-height: 1.4;
  width: 100%;
}
@media (max-width: 767px) {
  .c-anchors__item {
    justify-content: flex-start;
    text-align: left;
    border-bottom: 0.2666666667vw solid #32373C;
  }
}
.c-anchors__item::before {
  content: "";
  position: absolute;
  display: block;
  right: 0;
  width: min(7px, 0.564516129vw);
  height: min(10px, 0.8064516129vw);
  background: url(../images/common/arrow-black.svg) no-repeat;
  background-size: contain;
  top: 50%;
  right: min(20px, 1.6129032258vw);
  transform: translateY(-0.4em) rotate(90deg);
}
@media (max-width: 767px) {
  .c-anchors__item::before {
    width: 1.8666666667vw;
    height: 2.6666666667vw;
  }
}
.c-anchors__item a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: min(20px, 1.6129032258vw) 30px min(20px, 1.6129032258vw) 30px;
  transition: opacity 0.3s ease;
}
@media (max-width: 767px) {
  .c-anchors__item a {
    justify-content: flex-start;
    padding-top: 3.2vw;
    padding: 3.2vw 30px 3.2vw 0;
  }
}
.c-anchors__item a:hover {
  opacity: 0.8;
}

.c-arrow {
  display: flex;
  align-items: center;
  gap: 0.5em;
}
.c-arrow::after {
  content: "";
  display: block;
  width: 0.5em;
  height: 1em;
}
.c-arrow--white::after {
  background: url("../images/common/arrow-white.svg") no-repeat center center/contain;
}
.c-arrow--black::after {
  background: url("../images/common/arrow-black.svg") no-repeat center center/contain;
}
.c-arrow--expand {
  justify-content: space-between;
}

.c-page-navigation-button {
  position: relative;
  display: flex;
  align-items: center;
  background-color: #F0F2F6;
  height: min(100px, 8.064516129vw);
  margin-top: min(112px, 9.0322580645vw);
}
@media (max-width: 767px) {
  .c-page-navigation-button {
    flex-direction: column;
    height: 43.7333333333vw;
    margin-top: 21.0666666667vw;
  }
}
.c-page-navigation-button::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1px;
  height: min(40px, 3.2258064516vw);
  background-color: #3B4B5C;
}
@media (max-width: 767px) {
  .c-page-navigation-button::after {
    width: 88%;
    height: 1px;
  }
}
.c-page-navigation-button__nextEl, .c-page-navigation-button__prevEl {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 min(12px, 0.9677419355vw);
  height: 100%;
  transition: opacity 0.3s;
}
@media (max-width: 767px) {
  .c-page-navigation-button__nextEl, .c-page-navigation-button__prevEl {
    width: 100%;
    gap: 0 2.6666666667vw;
  }
}
.c-page-navigation-button__nextEl:hover, .c-page-navigation-button__prevEl:hover {
  opacity: 0.7;
}
.c-page-navigation-button__nextEl p, .c-page-navigation-button__prevEl p {
  font-weight: 500;
  font-size: min(14px, 1.1290322581vw);
}
@media (max-width: 767px) {
  .c-page-navigation-button__nextEl p, .c-page-navigation-button__prevEl p {
    font-size: 3.7333333333vw;
  }
}
.c-page-navigation-button__nextEl svg, .c-page-navigation-button__prevEl svg {
  width: min(7.6px, 0.6129032258vw);
  height: auto;
  transform: translateY(8%);
}
@media (max-width: 767px) {
  .c-page-navigation-button__nextEl svg, .c-page-navigation-button__prevEl svg {
    width: 1.8666666667vw;
  }
}
.c-page-navigation-button__prevEl {
  flex-direction: row-reverse;
}

.c-article-area {
  text-align: center;
  padding: min(58px, 4.6774193548vw) min(24px, 1.935483871vw);
  background-color: #F0F2F6;
  margin-top: min(118px, 9.5161290323vw);
}
@media (max-width: 767px) {
  .c-article-area {
    padding: 8.5333333333vw 7.4666666667vw 11.7333333333vw;
    margin-top: 21.3333333333vw;
  }
}
.c-article-area__heading {
  color: #32373C;
  font-size: min(24px, 1.935483871vw);
  font-weight: 700;
  line-height: 1.4;
}
@media (max-width: 767px) {
  .c-article-area__heading {
    font-size: 5.3333333333vw;
  }
}
.c-article-area__desc {
  color: #32373C;
  font-size: min(16px, 1.2903225806vw);
  font-weight: 400;
  line-height: 2;
  margin-top: min(12px, 0.9677419355vw);
}
@media (max-width: 767px) {
  .c-article-area__desc {
    font-size: 3.4666666667vw;
    margin-top: 4.2666666667vw;
  }
}
.c-article-area__button {
  margin-top: min(24px, 1.935483871vw);
}
@media (max-width: 767px) {
  .c-article-area__button {
    margin-top: 6.4vw;
  }
}

.c-image-button-block .c-image-button {
  width: min(600px, 48.3870967742vw);
  display: flex;
  border-radius: min(4px, 0.3225806452vw);
  overflow: hidden;
  position: relative;
}
@media (max-width: 767px) {
  .c-image-button-block .c-image-button {
    width: 100%;
    border-radius: 1.0666666667vw;
  }
}
.c-image-button-block .c-image-button:nth-child(n+2) {
  margin-top: min(12px, 0.9677419355vw);
}
@media (max-width: 767px) {
  .c-image-button-block .c-image-button:nth-child(n+2) {
    margin-top: 2.1333333333vw;
  }
}
.c-image-button-block .c-image-button__media {
  flex: 120;
  aspect-ratio: 120/80;
}
@media (max-width: 767px) {
  .c-image-button-block .c-image-button__media {
    flex: 107;
    aspect-ratio: 96/64;
  }
}
.c-image-button-block .c-image-button__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  vertical-align: bottom;
}
.c-image-button-block .c-image-button__body {
  flex: 480;
  color: #32373C;
  background-color: #F0F2F6;
  font-size: min(16px, 1.2903225806vw);
  font-weight: 400;
  line-height: 1.4;
  display: flex;
  align-items: center;
  position: relative;
}
@media (max-width: 767px) {
  .c-image-button-block .c-image-button__body {
    flex: 228;
    font-size: 3.4666666667vw;
    font-weight: 500;
  }
}
.c-image-button-block .c-image-button__text {
  padding: 0 min(58px, 4.6774193548vw) 0 min(16px, 1.2903225806vw);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (max-width: 767px) {
  .c-image-button-block .c-image-button__text {
    padding: 0 10.6666666667vw 0 3.7333333333vw;
    -webkit-line-clamp: 2;
  }
}
.c-image-button-block .c-image-button__icon {
  position: absolute;
  top: 50%;
  right: 5%;
  transform: translateY(-50%);
  width: min(8px, 0.6451612903vw);
  height: auto;
}
@media (max-width: 767px) {
  .c-image-button-block .c-image-button__icon {
    right: 7%;
    width: 1.8666666667vw;
  }
}
.c-image-button-block .c-image-button__icon--external {
  width: min(14px, 1.1290322581vw);
}
@media (max-width: 767px) {
  .c-image-button-block .c-image-button__icon--external {
    width: 3.2vw;
  }
}
.c-image-button-block .c-image-button::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.c-image-button-block .c-image-button--arrow::after {
  background-image: url("../images/common/arrow-black.svg");
  width: min(7.4px, 0.5967741935vw);
  height: min(24px, 1.935483871vw);
  right: min(30px, 2.4193548387vw);
}
@media (max-width: 767px) {
  .c-image-button-block .c-image-button--arrow::after {
    width: 1.44vw;
    height: 5.3333333333vw;
    right: 3.7333333333vw;
  }
}

.c-box {
  margin-top: min(30px, 2.4193548387vw);
}
@media (max-width: 767px) {
  .c-box {
    margin-top: 10.6666666667vw;
  }
}
.c-box__inner {
  background-color: #F0F2F6;
  padding: min(30px, 2.4193548387vw);
}
@media (max-width: 767px) {
  .c-box__inner {
    padding: 8vw 5.3333333333vw;
  }
}
.c-box__title {
  font-size: 4.8vw;
  margin-bottom: min(20px, 1.6129032258vw);
}
@media (min-width: 768px) {
  .c-box__title {
    font-size: clamp(14px, 1.935483871vw, 24px);
  }
}
@media (max-width: 767px) {
  .c-box__title {
    margin-bottom: 2.6666666667vw;
  }
}
.c-box__img {
  max-width: min(940px, 75.8064516129vw);
  padding-bottom: min(40px, 3.2258064516vw);
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
@media (max-width: 767px) {
  .c-box__img {
    max-width: 78.6666666667vw;
    padding-bottom: 0;
  }
}
.c-box--primary {
  background-color: #F0F2F6;
}

.p-tips-card {
  display: flex;
  gap: min(60px, 4.8387096774vw);
  padding-top: min(40px, 3.2258064516vw);
  padding-bottom: min(40px, 3.2258064516vw);
  border-bottom: 1px solid #D8D8D8;
}
@media (max-width: 767px) {
  .p-tips-card {
    flex-direction: column;
    gap: 5.3333333333vw;
    padding-top: 10.6666666667vw;
    padding-bottom: 10.6666666667vw;
  }
}
.p-tips-card:first-child {
  padding-top: 0;
}
.p-tips-card__thumbnail {
  overflow: hidden;
  border-radius: 4px;
}
@media (max-width: 767px) {
  .p-tips-card__thumbnail {
    display: none;
  }
}
.p-tips-card__thumbnail img {
  border-radius: min(4px, 0.3225806452vw);
  width: 236px;
  height: 133px;
  object-fit: cover;
}
.p-tips-card__thumbnail--popup {
  flex: 0 1 24.0816326531%;
}
.p-tips-card__thumbnail-sp {
  overflow: hidden;
  border-radius: 1.0666666667vw;
}
@media (min-width: 768px) {
  .p-tips-card__thumbnail-sp {
    display: none;
  }
}
.p-tips-card__thumbnail-sp img {
  border-radius: 1.0666666667vw;
  width: 32vw;
  height: 18.1333333333vw;
  object-fit: cover;
}
.p-tips-card__content {
  flex: 1;
}
.p-tips-card__head {
  display: flex;
  align-items: center;
  gap: 4vw;
  margin-bottom: 5.3333333333vw;
}
@media (min-width: 768px) {
  .p-tips-card__head {
    display: block;
    margin-bottom: min(30px, 2.4193548387vw);
  }
}
.p-tips-card__title {
  font-size: min(24px, 1.935483871vw);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.02em;
  color: #32373C;
  margin: 0;
  display: flex;
  align-items: center;
  gap: min(10px, 0.8064516129vw);
}
@media (max-width: 767px) {
  .p-tips-card__title {
    font-size: 4.8vw;
    flex: 1;
    gap: 1.3333333333vw;
    flex-direction: column;
    align-items: flex-start;
  }
}
.p-tips-card__category {
  padding: min(5px, 0.4032258065vw) min(10px, 0.8064516129vw);
  color: #fff;
  font-size: 3.4666666667vw;
  border-radius: min(4px, 0.3225806452vw);
}
@media (min-width: 768px) {
  .p-tips-card__category {
    font-size: clamp(14px, 1.2903225806vw, 16px);
  }
}
@media (max-width: 767px) {
  .p-tips-card__category {
    border-radius: 1.0666666667vw;
  }
}
.p-tips-card__category--virus {
  background-color: #6D00A4;
}
.p-tips-card__category--energy {
  background-color: #0052A4;
}
.p-tips-card__description {
  font-size: min(16px, 1.2903225806vw);
  line-height: 1.8;
  color: #32373C;
}
@media (max-width: 767px) {
  .p-tips-card__description {
    font-size: 3.4666666667vw;
  }
}
.p-tips-card__body dl div {
  display: flex;
  border-top: 1px solid #D8D8D8;
  padding-top: min(20px, 1.6129032258vw);
  padding-bottom: min(20px, 1.6129032258vw);
  align-items: center;
  gap: min(20px, 1.6129032258vw);
}
@media (max-width: 767px) {
  .p-tips-card__body dl div {
    padding-top: 2.6666666667vw;
    padding-bottom: 2.6666666667vw;
  }
}
.p-tips-card__body dl div:last-child {
  border-bottom: 1px solid #D8D8D8;
}
.p-tips-card__body dl dt {
  flex: 0 1 20%;
}
@media (max-width: 767px) {
  .p-tips-card__body dl dt {
    flex: 0 1 29.8507462687%;
  }
}
.p-tips-card__body dl dd {
  flex: 1;
}
.p-tips-card__last {
  padding-bottom: 0 !important;
  border-bottom: none !important;
}
.p-tips-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: min(12px, 0.9677419355vw);
  margin-top: min(20px, 1.6129032258vw);
}
@media (max-width: 767px) {
  .p-tips-card__tags {
    gap: 2.1333333333vw;
    margin-top: 5.3333333333vw;
  }
}
.p-tips-card__tags-head {
  display: flex;
  flex-wrap: wrap;
  gap: min(12px, 0.9677419355vw);
  margin-top: min(30px, 2.4193548387vw);
}
@media (max-width: 767px) {
  .p-tips-card__tags-head {
    gap: 2.1333333333vw;
    margin-top: 8vw;
  }
}
.p-tips-card__tag {
  font-size: min(14px, 1.1290322581vw);
  font-weight: 500;
  line-height: 1;
  padding: min(8px, 0.6451612903vw) min(20px, 1.6129032258vw);
  border-radius: 1000px;
  background: #32373C;
  color: #fff;
  border: 1px solid #32373C;
}
@media (max-width: 767px) {
  .p-tips-card__tag {
    font-size: 3.2vw;
    padding: 2.1333333333vw 4.2666666667vw;
  }
}
.p-tips-card__tag:hover {
  background-color: #fff;
  color: #32373C;
}
.p-tips-card__tag--plain {
  font-size: min(14px, 1.1290322581vw);
  font-weight: 500;
  line-height: 1;
  padding: min(8px, 0.6451612903vw) min(20px, 1.6129032258vw);
  border-radius: 1000px;
  background: #fff;
  color: #32373C;
  border: 1px solid #32373C;
}
@media (max-width: 767px) {
  .p-tips-card__tag--plain {
    font-size: 3.2vw;
    padding: 2.1333333333vw 4.2666666667vw;
  }
}

.p-tips-cards--environment {
  padding-top: min(120px, 9.6774193548vw);
}
@media (max-width: 767px) {
  .p-tips-cards--environment {
    padding-top: 21.3333333333vw;
  }
}

.c-form__select-control {
  position: relative;
  display: inline-flex;
  width: min(240px, 19.3548387097vw);
}
@media (max-width: 767px) {
  .c-form__select-control {
    width: 100%;
  }
}
.c-form__select-control::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: min(40px, 3.2258064516vw);
  height: 100%;
  border-radius: 0 min(4px, 0.3225806452vw) min(4px, 0.3225806452vw) 0;
  background-color: #2b2f33;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M10.59.59 6 5.17 1.41.59 0 2l6 6 6-6z' fill='%23fff'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: min(12px, 0.9677419355vw) min(8px, 0.6451612903vw);
  pointer-events: none;
}
@media (max-width: 767px) {
  .c-form__select-control::after {
    width: 14.9333333333vw;
    border-radius: 0 1.0666666667vw 1.0666666667vw 0;
    background-size: 3.2vw 2.1333333333vw;
  }
}
.c-form__select-control select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 100%;
  padding: 0 min(72px, 5.8064516129vw) 0 min(20px, 1.6129032258vw);
  height: min(40px, 3.2258064516vw);
  border-radius: min(4px, 0.3225806452vw);
  border: none;
  background-color: #fff;
  font-weight: 500;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
  font-size: 3.4666666667vw;
}
@media (min-width: 768px) {
  .c-form__select-control select {
    font-size: clamp(14px, 1.1290322581vw, 14px);
  }
}
@media (max-width: 767px) {
  .c-form__select-control select {
    padding: 0 16vw 0 4.2666666667vw;
    min-height: 10.6666666667vw;
    border-radius: 1.0666666667vw;
  }
}
.c-form__select-control select::-ms-expand {
  display: none;
}
.c-form__search {
  position: relative;
}
.c-form__input {
  width: 100%;
  height: min(40px, 3.2258064516vw);
  border: none;
  border-radius: min(4px, 0.3225806452vw);
  background: #FFFFFF;
  padding: 0 min(72px, 5.8064516129vw) 0 min(20px, 1.6129032258vw);
  border-radius: min(4px, 0.3225806452vw);
  font-size: 3.4666666667vw;
  line-height: 1.8;
  color: #32373C;
}
@media (min-width: 768px) {
  .c-form__input {
    font-size: clamp(14px, 1.1290322581vw, 14px);
  }
}
.c-form__input::placeholder {
  color: #B5BEC9;
}
@media (max-width: 767px) {
  .c-form__input {
    padding: 0 16vw 0 4.2666666667vw;
    min-height: 10.6666666667vw;
    border-radius: 1.0666666667vw;
  }
}
.c-form__submit {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: min(72px, 5.8064516129vw);
  background: #32373C;
  color: #fff;
  border: none;
  border-top-right-radius: min(4px, 0.3225806452vw);
  border-bottom-right-radius: min(4px, 0.3225806452vw);
  font-size: min(14px, 1.1290322581vw);
  line-height: 1.8;
  cursor: pointer;
}
@media (max-width: 767px) {
  .c-form__submit {
    width: 14.9333333333vw;
    border-top-right-radius: 1.0666666667vw;
    border-bottom-right-radius: 1.0666666667vw;
    font-size: 3.4666666667vw;
  }
}

@media (max-width: 767px) {
  .c-scroll-container {
    width: 94.6666666667vw !important;
    margin: 0 -5.3333333333vw 0 0;
    padding: 0 0 5.3333333333vw;
  }
}
@media (max-width: 767px) {
  .c-scroll-container__content {
    display: inline-block;
    min-width: max-content;
    padding: 0 5.3333333333vw 0 0;
  }
}

@media (max-width: 767px) {
  .os-scrollbar-track {
    width: calc(100% - 5.3333333333vw) !important;
  }
}

.os-scrollbar-horizontal {
  height: 12px !important;
  padding: 0 !important;
}

.os-scrollbar-track {
  height: 12px !important;
  background-color: #F0F2F6 !important;
}

.os-scrollbar-horizontal .os-scrollbar-handle {
  height: 12px !important;
  background-color: #747474 !important;
}

[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]) {
  padding-bottom: 30px !important;
}

.p-top__button {
  padding: 0.7638888889vw 2.1527777778vw;
  font-size: 1.1111111111vw;
}
@media (max-width: 1023px) {
  .p-top__button {
    padding: min(11px, 1.4322916667vw) min(31px, 4.0364583333vw);
    font-size: min(14px, 1.8229166667vw);
  }
}
@media (max-width: 767px) {
  .p-top__button {
    font-size: 3.7333333333vw;
    padding: 3.2vw 6.4vw;
  }
}
.p-top__button.c-button--arrow {
  min-width: 18.75vw;
}
@media (max-width: 1023px) {
  .p-top__button.c-button--arrow {
    min-width: min(270px, 35.15625vw);
  }
}
@media (max-width: 767px) {
  .p-top__button.c-button--arrow {
    min-width: 72vw;
  }
}
.p-top__button.c-button--arrow::after {
  width: 0.4861111111vw;
  height: 0.6944444444vw;
}
@media (max-width: 1023px) {
  .p-top__button.c-button--arrow::after {
    width: min(7px, 0.9114583333vw);
    height: min(10px, 1.3020833333vw);
  }
}
@media (max-width: 767px) {
  .p-top__button.c-button--arrow::after {
    right: 5.3333333333vw;
    width: 1.8666666667vw;
    height: 2.6666666667vw;
  }
}
.p-top-mv {
  height: 100vh;
  display: flex;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
  z-index: 10;
}
@media (max-width: 767px) {
  .p-top-mv {
    height: 100dvh;
  }
  @supports not (height: 100dvh) {
    .p-top-mv {
      height: 100vh;
    }
  }
}
.p-top-mv__sticky {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
}
.p-top-mv__bg-slider {
  height: 100%;
  background-color: #fff;
}
.p-top-mv__wrapper {
  position: relative;
  z-index: 10;
}
.p-top-mv__wrapper::before {
  content: "";
  display: block;
  width: 100%;
  height: 20.8333333333vw;
  background: linear-gradient(to top, rgb(255, 255, 255) 30%, rgba(255, 255, 255, 0) 100%);
  position: absolute;
  bottom: -1px;
  left: 0;
  z-index: 9;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-top-mv__wrapper::before {
    height: min(800px, 104.1666666667vw);
  }
}
@media (max-width: 767px) {
  .p-top-mv__wrapper::before {
    height: 213.3333333333vw;
  }
}
.p-top-mv__bg {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  width: 100%;
  height: 100vh;
  transition: opacity 1s ease-in-out;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 1s ease-in-out;
  z-index: 0;
}
.p-top-mv__bg.is-active {
  opacity: 1;
}
.p-top-mv__bg.is-hiding {
  opacity: 0;
}
.p-top-mv__bg--1 {
  background-image: url("../images/top/mv-bg-1.jpg");
  background-image: image-set(url("../images/top/mv-bg-1.webp") type("image/webp"), url("../images/top/mv-bg-1.jpg") type("image/jpeg"));
}
@media (max-width: 1023px) {
  .p-top-mv__bg--1 {
    background-image: url("../images/top/mv-bg-1-sp.jpg");
    background-image: image-set(url("../images/top/mv-bg-1-sp.webp") type("image/webp"), url("../images/top/mv-bg-1-sp.jpg") type("image/jpeg"));
  }
}
.p-top-mv__bg--2 {
  background-image: url("../images/top/mv-bg-2.jpg");
  background-image: image-set(url("../images/top/mv-bg-2.webp") type("image/webp"), url("../images/top/mv-bg-2.jpg") type("image/jpeg"));
}
@media (max-width: 1023px) {
  .p-top-mv__bg--2 {
    background-image: url("../images/top/mv-bg-2-sp.jpg");
    background-image: image-set(url("../images/top/mv-bg-2-sp.webp") type("image/webp"), url("../images/top/mv-bg-2-sp.jpg") type("image/jpeg"));
  }
}
.p-top-mv__bg--3 {
  background-image: url("../images/top/mv-bg-3.jpg");
  background-image: image-set(url("../images/top/mv-bg-3.webp") type("image/webp"), url("../images/top/mv-bg-3.jpg") type("image/jpeg"));
}
@media (max-width: 1023px) {
  .p-top-mv__bg--3 {
    background-image: url("../images/top/mv-bg-3-sp.jpg");
    background-image: image-set(url("../images/top/mv-bg-3-sp.webp") type("image/webp"), url("../images/top/mv-bg-3-sp.jpg") type("image/jpeg"));
  }
}
.p-top-mv__bg--4 {
  background-image: url("../images/top/mv-bg-4.jpg");
  background-image: image-set(url("../images/top/mv-bg-4.webp") type("image/webp"), url("../images/top/mv-bg-4.jpg") type("image/jpeg"));
}
@media (max-width: 1023px) {
  .p-top-mv__bg--4 {
    background-image: url("../images/top/mv-bg-4-sp.jpg");
    background-image: image-set(url("../images/top/mv-bg-4-sp.webp") type("image/webp"), url("../images/top/mv-bg-4-sp.jpg") type("image/jpeg"));
  }
}
@media (max-width: 767px) {
  .p-top-mv__bg {
    height: 100dvh;
  }
  @supports not (height: 100dvh) {
    .p-top-mv__bg {
      height: 100vh;
    }
  }
}
.p-top-mv__svg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 4;
}
@media (max-width: 767px) {
  .p-top-mv__svg {
    display: none;
  }
}
.p-top-mv__svg svg {
  stroke-linecap: round;
  width: 100%;
  height: 100%;
  display: block;
}
.p-top-mv__svg-sp {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 4;
  display: none;
}
@media (max-width: 767px) {
  .p-top-mv__svg-sp {
    display: block;
  }
}
.p-top-mv__svg-sp svg {
  width: 100%;
  height: 100%;
  display: block;
  stroke-linecap: round;
}
.p-top-mv__image {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 5;
}
@media (max-width: 1023px) {
  .p-top-mv__image {
    display: none;
  }
}
.p-top-mv__image img {
  object-fit: cover;
  object-position: center center;
  width: 100%;
  height: 100%;
}
.p-top-mv__image-sp {
  width: 100%;
  height: 100%;
  display: none;
  position: relative;
  z-index: 5;
}
@media (max-width: 1023px) {
  .p-top-mv__image-sp {
    display: block;
  }
}
.p-top-mv__image-sp img {
  object-fit: cover;
  object-position: center center;
  width: 100%;
  height: 100%;
}
@media (max-width: 767px) {
  .p-top-mv__image-sp {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 5;
  }
}
.p-top-mv__inner {
  width: 100%;
  margin: 0 auto;
  height: 100%;
  position: relative;
}
.p-top-mv__heading {
  position: absolute;
  top: 12.1527777778vw;
  left: 11.8055555556vw;
  margin: 0;
  width: 16.6666666667vw;
  height: 35.3472222222vw;
  writing-mode: vertical-rl;
  font-size: 5.6944444444vw;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  flex-wrap: wrap;
  color: #32373C;
}
.p-top-mv__heading-char {
  display: flex;
  line-height: 1;
  align-items: center;
  opacity: 0;
  font-weight: 700;
}
.is-active .p-top-mv__heading-char {
  animation: fadeIn 1s ease forwards;
}
.p-top-mv__heading-char:nth-child(1) {
  animation-delay: 0.1s;
}
.p-top-mv__heading-char:nth-child(2) {
  animation-delay: 0.2s;
}
.p-top-mv__heading-char:nth-child(3) {
  animation-delay: 0.3s;
}
.p-top-mv__heading-char:nth-child(4) {
  animation-delay: 0.4s;
}
.p-top-mv__heading-char:nth-child(5) {
  animation-delay: 0.5s;
}
.p-top-mv__heading-char:nth-child(6) {
  animation-delay: 0.6s;
}
.p-top-mv__heading-char:nth-child(7) {
  animation-delay: 0.7s;
}
.p-top-mv__heading-char:nth-child(8) {
  animation-delay: 0.8s;
}
.p-top-mv__heading-char:nth-child(9) {
  animation-delay: 0.9s;
}
.p-top-mv__heading-char:nth-child(10) {
  animation-delay: 1s;
}
.p-top-mv__heading-char:nth-child(11) {
  animation-delay: 1.1s;
}
.p-top-mv__heading-char:nth-child(12) {
  animation-delay: 1.2s;
}
.p-top-mv__heading-char:nth-child(13) {
  animation-delay: 1.3s;
}
.p-top-mv__heading-char:nth-child(14) {
  animation-delay: 1.4s;
}
.p-top-mv__heading-char:nth-child(15) {
  animation-delay: 1.5s;
}
.p-top-mv__heading-char:nth-child(16) {
  animation-delay: 1.6s;
}
@media (max-width: 1023px) {
  .p-top-mv__heading {
    font-size: min(54px, 7.03125vw);
    width: min(174px, 22.65625vw);
    height: min(339px, 44.140625vw);
    top: min(186px, 24.21875vw);
    left: min(100px, 13.0208333333vw);
    transform: unset;
  }
}
@media (max-width: 767px) {
  .p-top-mv__heading {
    width: 41.3333333333vw;
    height: 90.4vw;
    top: 28.5333333333vw;
    left: 14.6666666667vw;
    font-size: 14.4vw;
  }
}
.p-top-mv__heading img {
  width: 100%;
  height: auto;
}
.p-top-mv__info {
  position: fixed;
  bottom: 0;
  right: 0;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(20px);
  display: flex;
  border-radius: min(4px, 0.3225806452vw) 0 0 0;
  overflow: hidden;
  transform: transLateX(0%);
  opacity: 1;
  transition: opacity 0.3s ease, transform 0.3s ease;
}
@media (max-width: 1023px) {
  .p-top-mv__info {
    border-radius: min(4px, 0.5208333333vw) 0 0 0;
  }
}
@media (max-width: 767px) {
  .p-top-mv__info {
    overflow: visible;
    display: block;
    width: 94.6666666667vw;
    height: 22.4vw;
    left: 0;
    bottom: 0;
    right: auto;
    border-radius: 0 1.0666666667vw 0 0;
  }
}
.p-top-mv__info.is-hidden {
  opacity: 0;
  transform: transLateX(100%);
}
@media (max-width: 767px) {
  .p-top-mv__info.is-hidden {
    transform: transLateX(-100%);
  }
}
.p-top-mv__category {
  background: #32373C;
  color: #fff;
  font-size: min(20px, 1.6129032258vw);
  font-weight: 500;
  line-height: 1.4;
  display: flex;
  align-items: center;
  min-width: min(102px, 8.2258064516vw);
  justify-content: center;
  padding: min(20px, 1.6129032258vw) min(30px, 2.4193548387vw);
}
@media (max-width: 1023px) {
  .p-top-mv__category {
    font-size: min(20px, 2.6041666667vw);
    min-width: min(102px, 13.28125vw);
    padding: min(2px, 0.2604166667vw) min(10px, 1.3020833333vw);
  }
}
@media (max-width: 767px) {
  .p-top-mv__category {
    position: absolute;
    left: 0;
    top: 0;
    transform: translateY(-50%);
    min-width: unset;
    padding: 0.5333333333vw 2.6666666667vw;
    font-size: 4.8vw;
    border-radius: 0 1.0666666667vw 1.0666666667vw 0;
    padding: 2.1333333333vw 4.2666666667vw;
  }
}
.p-top-mv__text {
  display: flex;
  align-items: center;
  padding: min(16px, 1.2903225806vw) min(24px, 1.935483871vw);
  gap: min(16px, 1.2903225806vw);
  min-width: min(660px, 53.2258064516vw);
  font-size: min(16px, 1.2903225806vw);
}
@media (max-width: 1023px) {
  .p-top-mv__text {
    font-size: min(16px, 2.0833333333vw);
    padding: min(16px, 2.0833333333vw) min(24px, 3.125vw);
    gap: min(16px, 2.0833333333vw);
    min-width: min(660px, 85.9375vw);
  }
}
@media (max-width: 767px) {
  .p-top-mv__text {
    padding: 4vw 5.3333333333vw 5.3333333333vw;
    gap: 0.5333333333vw;
    flex-direction: column;
    align-items: flex-start;
    font-size: 3.7333333333vw;
  }
}
.p-top-mv__text-link {
  text-decoration: underline;
  transition: opacity 0.3s ease;
}
.p-top-mv__text-link:hover {
  opacity: 0.5;
}
.p-top-mv__text-date {
  font-size: min(16px, 1.2903225806vw);
  font-weight: 500;
  color: #32373C;
  white-space: nowrap;
  display: inline-block;
  font-family: "Montserrat", Arial, sans-serif;
  line-height: 1;
}
@media (max-width: 1023px) {
  .p-top-mv__text-date {
    font-size: min(16px, 2.0833333333vw);
  }
}
@media (max-width: 767px) {
  .p-top-mv__text-date {
    width: 100%;
    font-size: 3.7333333333vw;
    text-align: right;
  }
}
.p-top-message {
  padding: 20.8333333333vw 6.9444444444vw 10.4166666667vw;
  position: relative;
  z-index: 9;
}
@media (max-width: 767px) {
  .p-top-message {
    padding: 21.3333333333vw 0;
  }
}
.p-top-message__inner {
  width: 100%;
  margin: 0 auto;
  position: relative;
  padding-bottom: 3.75vw;
  z-index: 10;
}
@media (max-width: 767px) {
  .p-top-message__inner {
    padding: 0 5.3333333333vw;
  }
}
.p-top-message__text {
  font-size: 1.3888888889vw;
  line-height: 2.2;
  font-weight: 500;
  color: #32373C;
  margin: 0 auto;
  letter-spacing: 0.03em;
}
@media (max-width: 1023px) {
  .p-top-message__text {
    font-size: min(20px, 2.6041666667vw);
  }
}
@media (max-width: 767px) {
  .p-top-message__text {
    font-size: 4.2666666667vw;
    line-height: 2.2;
    margin-bottom: 12.8vw;
  }
}
.p-top-message__buttons {
  display: flex;
  justify-content: flex-start;
  position: relative;
  width: 100%;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .p-top-message__buttons {
    align-items: center;
  }
}
.p-top-svg01, .p-top-svg02 {
  position: relative;
  left: 0;
  width: 100%;
  z-index: 11;
}
.p-top-svg01 svg, .p-top-svg02 svg {
  width: 100%;
  height: 75vw;
  position: absolute;
  top: -11.0416666667vw;
  left: 0;
  stroke-linecap: round;
}
@media (max-width: 767px) {
  .p-top-svg01 svg, .p-top-svg02 svg {
    height: 207.7333333333vw;
    top: 0;
  }
}
.p-top-recruit {
  position: relative;
  padding: 2.9861111111vw 6.9444444444vw;
  z-index: 11;
}
@media (max-width: 767px) {
  .p-top-recruit {
    padding: 4.2666666667vw 0;
  }
}
.p-top-recruit__inner {
  width: 100%;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .p-top-recruit__inner {
    padding: 0 1rem;
  }
}
.p-top-recruit__banner {
  display: block;
  width: min(800px, 64.5161290323vw);
  border-radius: min(4px, 0.3225806452vw);
  overflow: hidden;
  filter: drop-shadow(10px 10px 20px rgba(0, 0, 0, 0.1));
}
@media (max-width: 767px) {
  .p-top-recruit__banner {
    width: 89.3333333333vw;
    margin: 0 auto;
    border-radius: 1.0666666667vw;
  }
}
.p-top-recruit__banner img {
  width: 100%;
  height: auto;
  display: block;
}
.p-top-recruit__banner-link:hover .p-top-recruit__banner-button {
  background: #32373C;
  border-color: #32373C;
  color: #fff;
}
.p-top-recruit__banner-link:hover .p-top-recruit__banner-button::after {
  background-image: url("../images/common/arrow-white.svg");
}
.p-top-recruit__banner-button {
  position: absolute;
  bottom: min(40px, 3.2258064516vw);
  left: 50%;
  transform: translateX(-50%);
  pointer-events: none;
}
@media (max-width: 767px) {
  .p-top-recruit__banner-button {
    bottom: 8vw;
  }
}
.p-top-service {
  padding: 6.3888888889vw 6.9444444444vw;
  position: relative;
  z-index: 11;
}
@media (max-width: 767px) {
  .p-top-service {
    padding: 14.9333333333vw 0 12.2666666667vw;
  }
}
.p-top-service__header {
  width: 100%;
  margin: 0 auto;
  padding-left: 1.5rem;
  display: flex;
  gap: min(60px, 4.8387096774vw);
  align-items: flex-end;
  margin-bottom: 5vw;
}
@media (max-width: 767px) {
  .p-top-service__header {
    padding: 0 1rem;
    flex-direction: column;
    align-items: center;
    gap: 9.3333333333vw;
    margin-bottom: 16vw;
  }
}
@media (max-width: 767px) {
  .p-top-service__header-title {
    text-align: center;
  }
}
.p-top-service__header-en {
  font-size: 3.8888888889vw;
  font-weight: 600;
  color: #32373C;
  font-family: "Montserrat", Arial, sans-serif;
  line-height: 1;
  margin-bottom: 0.9722222222vw;
  position: relative;
  letter-spacing: 0.03em;
}
.p-top-service__header-en::after {
  content: "";
  display: block;
  width: 1.0416666667vw;
  height: 1.5972222222vw;
  border-radius: 50%;
  background: #0052A4;
  position: absolute;
  left: -1.6666666667vw;
  top: -0.0694444444vw;
}
@media (max-width: 767px) {
  .p-top-service__header-en::after {
    width: 3.2vw;
    height: 5.0666666667vw;
    left: -5.6vw;
    top: -0.5333333333vw;
  }
}
@media (max-width: 767px) {
  .p-top-service__header-en {
    margin-bottom: 2.1333333333vw;
    left: 2.9333333333vw;
    font-size: 9.6vw;
    display: inline-block;
  }
}
.p-top-service__header-text {
  font-size: 1.6666666667vw;
  color: #32373C;
  font-weight: 500;
  letter-spacing: 0.03em;
}
@media (max-width: 767px) {
  .p-top-service__header-text {
    font-size: 4.2666666667vw;
  }
}
.p-top-service__header-button {
  padding-bottom: 0.6944444444vw;
}
.p-top-service__body {
  width: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.7777777778vw;
}
@media (max-width: 767px) {
  .p-top-service__body {
    padding: 0 1rem;
    grid-template-columns: 1fr;
    gap: 5.8666666667vw;
  }
}
@media (max-width: 767px) {
  .p-top-service__body-item {
    width: 89.3333333333vw;
    margin: 0 auto;
  }
}
.p-top-service__body-item picture {
  display: block;
  border-radius: 0.2777777778vw;
  overflow: hidden;
  margin-bottom: 1.1111111111vw;
}
@media (max-width: 767px) {
  .p-top-service__body-item picture {
    border-radius: 1.0666666667vw;
    margin-bottom: 2.6666666667vw;
  }
}
.p-top-service__body-item img {
  width: 100%;
  object-fit: cover;
}
.p-top-service__body-item p {
  font-size: 0.9722222222vw;
  color: #32373C;
  line-height: 1.6;
}
@media (max-width: 1023px) {
  .p-top-service__body-item p {
    font-size: min(12px, 1.5625vw);
  }
}
@media (max-width: 767px) {
  .p-top-service__body-item p {
    font-size: 3.4666666667vw;
  }
}
.p-top-achievements {
  padding: 2.6388888889vw 0 2.3611111111vw;
  position: relative;
  z-index: 10;
}
@media (max-width: 767px) {
  .p-top-achievements {
    padding: 5.3333333333vw 0;
  }
}
.p-top-achievements__header {
  width: calc(100% - 13.8888888889vw);
  margin: 0 auto;
  padding-left: 1.5rem;
  display: flex;
  gap: min(60px, 4.8387096774vw);
  align-items: flex-end;
  margin-bottom: 5vw;
}
@media (max-width: 767px) {
  .p-top-achievements__header {
    padding: 0 1rem;
    flex-direction: column;
    align-items: center;
    gap: 9.3333333333vw;
    margin-bottom: 16vw;
  }
}
@media (max-width: 767px) {
  .p-top-achievements__header-title {
    text-align: center;
  }
}
.p-top-achievements__header-en {
  font-size: 3.8888888889vw;
  font-weight: 600;
  color: #32373C;
  font-family: "Montserrat", Arial, sans-serif;
  line-height: 1;
  margin-bottom: 0.9722222222vw;
  position: relative;
  letter-spacing: 0.03em;
}
.p-top-achievements__header-en::after {
  content: "";
  display: block;
  width: 1.0416666667vw;
  height: 1.5972222222vw;
  border-radius: 50%;
  background: #0052A4;
  position: absolute;
  left: -1.6666666667vw;
  top: -0.0694444444vw;
}
@media (max-width: 767px) {
  .p-top-achievements__header-en::after {
    width: 3.2vw;
    height: 5.0666666667vw;
    left: -5.6vw;
    top: -0.5333333333vw;
  }
}
@media (max-width: 767px) {
  .p-top-achievements__header-en {
    margin-bottom: 2.1333333333vw;
    left: 2.9333333333vw;
    font-size: 9.6vw;
    display: inline-block;
  }
}
.p-top-achievements__header-text {
  font-size: 1.6666666667vw;
  color: #32373C;
  font-weight: 500;
  letter-spacing: 0.03em;
}
@media (max-width: 767px) {
  .p-top-achievements__header-text {
    font-size: 4.2666666667vw;
  }
}
.p-top-achievements__header-button {
  padding-bottom: 0.6944444444vw;
}
.p-top-achievements__body {
  width: 100%;
  display: flex;
  justify-content: center;
  position: relative;
  height: 45.8333333333vw;
  overflow: hidden;
}
@media (max-width: 767px) {
  .p-top-achievements__body {
    flex-direction: column;
    height: auto;
  }
}
.p-top-achievements__body-item {
  text-align: center;
  transition: all 0.3s ease;
  cursor: pointer;
  border-radius: 0 2.7777777778vw 0 0;
  position: relative;
  height: 100%;
  width: 13.8888888889vw;
  margin-left: -6.9444444444vw;
  overflow: hidden;
}
@media (max-width: 767px) {
  .p-top-achievements__body-item {
    width: 100%;
    height: 16vw;
    margin-left: 0;
    border-radius: 0;
    border-bottom: 0.2666666667vw solid #fff;
  }
}
.p-top-achievements__body-item::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0.35) 100%);
  transition: opacity 0.3s ease;
}
.p-top-achievements__body-item:hover::before {
  opacity: 0.3;
}
.p-top-achievements__body-item.is-active {
  width: calc(100% - 20.8333333333vw);
}
.p-top-achievements__body-item.is-active::before {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0) 30%);
}
@media (max-width: 767px) {
  .p-top-achievements__body-item.is-active::before {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0) 30%);
  }
}
.p-top-achievements__body-item.is-active:hover::before {
  opacity: 1;
}
@media (max-width: 767px) {
  .p-top-achievements__body-item.is-active {
    width: 100%;
    height: 100vw;
  }
}
.p-top-achievements__body-item01 {
  background: url("../images/top/achieve-bg01.jpg") no-repeat center center/cover;
  background: image-set(url("../images/top/achieve-bg01.webp") type("image/webp"), url("../images/top/achieve-bg01.jpg") type("image/jpeg")) no-repeat center center/cover;
  z-index: 10;
}
@media (max-width: 767px) {
  .p-top-achievements__body-item01 {
    border-radius: 0 8.5333333333vw 0 0;
  }
}
.p-top-achievements__body-item02 {
  background: url("../images/top/achieve-bg02.jpg") no-repeat center center/cover;
  background: image-set(url("../images/top/achieve-bg02.webp") type("image/webp"), url("../images/top/achieve-bg02.jpg") type("image/jpeg")) no-repeat center center/cover;
  z-index: 9;
}
.p-top-achievements__body-item03 {
  background: url("../images/top/achieve-bg03.jpg") no-repeat center center/cover;
  background: image-set(url("../images/top/achieve-bg03.webp") type("image/webp"), url("../images/top/achieve-bg03.jpg") type("image/jpeg")) no-repeat center center/cover;
  z-index: 8;
}
.p-top-achievements__body-item04 {
  background: url("../images/top/achieve-bg04.jpg") no-repeat center center/cover;
  background: image-set(url("../images/top/achieve-bg04.webp") type("image/webp"), url("../images/top/achieve-bg04.jpg") type("image/jpeg")) no-repeat center center/cover;
  z-index: 7;
}
.p-top-achievements__body-item05 {
  background: url("../images/top/achieve-bg05.jpg") no-repeat center center/cover;
  background: image-set(url("../images/top/achieve-bg05.webp") type("image/webp"), url("../images/top/achieve-bg05.jpg") type("image/jpeg")) no-repeat center center/cover;
  z-index: 6;
}
.p-top-achievements__icon {
  width: 4.7222222222vw;
  height: 4.7222222222vw;
  margin: 0;
  position: absolute;
  bottom: 1.1111111111vw;
  left: 8.0555555556vw;
}
@media (max-width: 767px) {
  .is-active .p-top-achievements__icon {
    top: 4.2666666667vw;
  }
}
@media (max-width: 767px) {
  .p-top-achievements__icon {
    width: 10.6666666667vw;
    height: 10.6666666667vw;
    top: 2.6666666667vw;
    right: 5.3333333333vw;
    left: auto;
  }
}
.p-top-achievements__label {
  font-size: 1.6666666667vw;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
  writing-mode: vertical-lr;
  position: absolute;
  top: 2.5vw;
  left: 9.5833333333vw;
  color: #fff;
}
@media (max-width: 767px) {
  .is-active .p-top-achievements__label {
    top: 4.2666666667vw;
  }
}
@media (max-width: 767px) {
  .p-top-achievements__label {
    top: 2.6666666667vw;
    left: auto;
    right: auto;
    bottom: auto;
    font-size: 4.8vw;
    writing-mode: unset;
    text-align: left;
    line-height: 1.2;
    height: 10.6666666667vw;
    display: flex;
    align-items: center;
    padding-left: 5.3333333333vw;
  }
}
.p-top-achievements__desc {
  display: block;
  opacity: 0;
  position: absolute;
  bottom: 1.6666666667vw;
  left: 14.4444444444vw;
  font-size: 1.0416666667vw;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #fff;
  max-width: 46.9444444444vw;
  text-align: left;
}
@media (max-width: 1023px) {
  .p-top-achievements__desc {
    font-size: min(13px, 1.6927083333vw);
    line-height: 1.8;
    bottom: min(10px, 1.3020833333vw);
    left: min(114px, 14.84375vw);
    width: min(530px, 69.0104166667vw);
    max-width: min(560px, 72.9166666667vw);
  }
}
@media (max-width: 767px) {
  .p-top-achievements__desc {
    font-size: 3.4666666667vw;
    line-height: 1.5;
    bottom: 7.2vw;
    left: 5.3333333333vw;
    width: 89.3333333333vw;
    max-width: unset;
  }
}
.is-active .p-top-achievements__desc {
  opacity: 1;
}
.p-top-svg02 {
  position: relative;
  left: 0;
  width: 100%;
  z-index: 1;
}
.p-top-svg02 svg {
  width: 100%;
  height: 80vw;
  position: absolute;
  top: -6.3888888889vw;
  left: 0;
  stroke-linecap: round;
}
@media (max-width: 767px) {
  .p-top-svg02 svg {
    height: 310.6666666667vw;
    top: -123.4666666667vw;
  }
}
.p-top-media {
  padding: 6.9444444444vw 0 1.0416666667vw;
  position: relative;
  z-index: 10;
}
@media (max-width: 767px) {
  .p-top-media {
    padding: 12.5333333333vw 0 21.3333333333vw;
  }
}
.p-top-media__header {
  width: 100%;
  margin: 0 auto;
  padding: 0 1.5rem;
  text-align: center;
}
@media (max-width: 767px) {
  .p-top-media__header {
    padding: 0 5.3333333333vw;
    align-items: center;
    gap: 10.6666666667vw;
    margin-bottom: 9.0666666667vw;
  }
}
.p-top-media__header-title {
  margin-bottom: 2.0833333333vw;
}
.p-top-media__header-en {
  display: inline-block;
  font-size: 3.8888888889vw;
  font-weight: 600;
  color: #32373C;
  font-family: "Montserrat", Arial, sans-serif;
  line-height: 1;
  margin-bottom: 0.9722222222vw;
  position: relative;
  letter-spacing: 0.03em;
  left: 0.24em;
}
.p-top-media__header-en::after {
  content: "";
  display: block;
  width: 1.0416666667vw;
  height: 1.5972222222vw;
  border-radius: 50%;
  background: #0052A4;
  position: absolute;
  left: -1.6666666667vw;
  top: -0.0694444444vw;
}
@media (max-width: 767px) {
  .p-top-media__header-en::after {
    width: 3.2vw;
    height: 5.0666666667vw;
    left: -5.6vw;
    top: -0.5333333333vw;
  }
}
@media (max-width: 767px) {
  .p-top-media__header-en {
    margin-bottom: 2.1333333333vw;
    font-size: 9.6vw;
    display: inline-block;
  }
}
.p-top-media__header-text {
  font-size: 1.6666666667vw;
  color: #32373C;
  font-weight: 500;
  letter-spacing: 0.03em;
  text-indent: -1em;
}
@media (max-width: 767px) {
  .p-top-media__header-text {
    font-size: 4.2666666667vw;
  }
}
.p-top-media__header-lead {
  font-size: 1.1111111111vw;
  color: #32373C;
  line-height: 1.6;
  margin: 2.2222222222vw auto 0;
  letter-spacing: 0.03em;
}
@media (max-width: 1023px) {
  .p-top-media__header-lead {
    font-size: min(14px, 1.8229166667vw);
    margin-top: min(32px, 4.1666666667vw);
  }
}
@media (max-width: 767px) {
  .p-top-media__header-lead {
    font-size: 3.4666666667vw;
    text-align: left;
    margin-top: 8vw;
  }
}
.p-top-media__body {
  width: 100%;
  padding: 0 1.5rem;
  margin-bottom: 1.7361111111vw;
}
@media (max-width: 1023px) {
  .p-top-media__body {
    grid-template-columns: 1fr;
    gap: 2.7777777778vw;
  }
}
@media (max-width: 767px) {
  .p-top-media__body {
    padding: 0 5.3333333333vw;
    gap: 8.5333333333vw;
    margin-bottom: 10.6666666667vw;
  }
}
.p-top-media__slider-wrapper {
  margin-bottom: 2.2916666667vw;
}
.p-top-media__slider-nav {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 1.3888888889vw;
  gap: 0.6944444444vw;
}
@media (max-width: 767px) {
  .p-top-media__slider-nav {
    margin-bottom: 5.3333333333vw;
  }
}
.p-top-media__slider-pagination {
  width: auto !important;
}
.p-top-media__slider-pagination .swiper-pagination-bullet {
  width: 0.5555555556vw;
  height: 0.5555555556vw;
  margin: 0 0.5555555556vw !important;
}
@media (max-width: 767px) {
  .p-top-media__slider-pagination .swiper-pagination-bullet {
    width: 2.1333333333vw;
    height: 2.1333333333vw;
    margin: 0 2.1333333333vw !important;
  }
}
.p-top-media__slider-pagination .swiper-pagination-bullet-active {
  background: #32373C;
}
.p-top-media__slider-prev, .p-top-media__slider-next {
  width: 3.3333333333vw;
  height: 1.6666666667vw;
  position: relative;
  border: 0.0694444444vw solid #32373C;
  border-radius: 1000px;
  background: #fff;
  transition: background 0.3s ease;
}
@media (max-width: 767px) {
  .p-top-media__slider-prev, .p-top-media__slider-next {
    width: 12.8vw;
    height: 6.4vw;
    border: 0.2666666667vw solid #32373C;
  }
}
.p-top-media__slider-prev:hover, .p-top-media__slider-next:hover {
  background: #32373C;
}
.p-top-media__slider-prev::before, .p-top-media__slider-next::before {
  content: "";
  display: block;
  width: 0.4861111111vw;
  height: 0.6944444444vw;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media (max-width: 767px) {
  .p-top-media__slider-prev::before, .p-top-media__slider-next::before {
    width: 1.8666666667vw;
    height: 2.6666666667vw;
  }
}
.p-top-media__slider-prev:hover::before {
  background: url("../images/common/arrow-white-left.svg") no-repeat center center/contain;
}
.p-top-media__slider-prev::before {
  background: url("../images/common/arrow-black-left.svg") no-repeat center center/contain;
}
.p-top-media__slider-next:hover::before {
  background: url("../images/common/arrow-white.svg") no-repeat center center/contain;
}
.p-top-media__slider-next::before {
  background: url("../images/common/arrow-black.svg") no-repeat center center/contain;
}
.p-top-media__slider-link:hover .p-top-media__slider-thumbnail img {
  transform: scale(1.05);
}
.p-top-media__slider-link:hover .p-top-media__slider-text {
  opacity: 0.5;
}
.p-top-media__slider-link:hover .p-top-media__slider-date {
  opacity: 0.5;
}
.p-top-media__slider-thumbnail {
  width: 100%;
  border-radius: 0.2777777778vw;
  overflow: hidden;
  aspect-ratio: 332/186;
}
@media (max-width: 767px) {
  .p-top-media__slider-thumbnail {
    border-radius: 1.0666666667vw;
  }
}
.p-top-media__slider-thumbnail img {
  transition: transform 0.3s ease;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-top-media__slider-text {
  font-weight: 500;
  font-size: 1.0416666667vw;
  line-height: 1.7;
  margin-top: 0.8333333333vw;
  transition: opacity 0.3s ease;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (max-width: 1023px) {
  .p-top-media__slider-text {
    font-size: min(13px, 1.6927083333vw);
    margin-top: min(12px, 1.5625vw);
  }
}
@media (max-width: 767px) {
  .p-top-media__slider-text {
    font-size: 3.4666666667vw;
    margin-top: 4.2666666667vw;
  }
}
.p-top-media__slider-date {
  display: block;
  font-size: 0.8333333333vw;
  text-align: right;
  letter-spacing: 0.08em;
  color: #32373C;
  font-family: "Montserrat", Arial, sans-serif;
  margin-top: 0.6944444444vw;
  transition: opacity 0.3s ease;
}
@media (max-width: 1023px) {
  .p-top-media__slider-date {
    font-size: min(12px, 1.5625vw);
    margin-top: min(10px, 1.3020833333vw);
  }
}
@media (max-width: 767px) {
  .p-top-media__slider-date {
    padding: 0.5333333333vw 0 0;
    font-size: 3.2vw;
  }
}
.p-top-media__story {
  display: flex;
  margin: 0 auto;
  border-top: 0.0694444444vw solid #D8D8D8;
  border-bottom: 0.0694444444vw solid #D8D8D8;
  flex-wrap: wrap;
}
@media (max-width: 1023px) {
  .p-top-media__story {
    gap: 1.6666666667vw;
  }
}
@media (max-width: 767px) {
  .p-top-media__story {
    border-top: none;
    gap: 0;
  }
}
.p-top-media__story-item + .p-top-media__story-item {
  border-left: 0.0694444444vw solid #D8D8D8;
}
@media (max-width: 767px) {
  .p-top-media__story-item + .p-top-media__story-item {
    border-left: unset;
  }
}
.p-top-media__story-item {
  flex: 1;
  position: relative;
  overflow: hidden;
}
@media (max-width: 767px) {
  .p-top-media__story-item:nth-child(2n) {
    border-left: 0.2666666667vw solid #D8D8D8;
    border-top: 0.2666666667vw solid #D8D8D8;
  }
}
@media (max-width: 767px) {
  .p-top-media__story-item:nth-child(2n+1) {
    border-left: none;
    border-top: 0.2666666667vw solid #D8D8D8;
  }
}
@media (max-width: 767px) {
  .p-top-media__story-item {
    flex: unset;
    width: 50%;
  }
}
.p-top-media__story-link {
  display: block;
  position: relative;
  text-decoration: none;
  color: inherit;
  transition: opacity 0.3s ease;
  padding: 1.6666666667vw 0;
  text-align: center;
}
@media (max-width: 767px) {
  .p-top-media__story-link {
    padding: 6.4vw 0;
  }
}
.p-top-media__story-link:hover {
  opacity: 0.5;
}
.p-top-media__story-link::before {
  content: "";
  display: block;
  width: 0.4861111111vw;
  height: 0.6944444444vw;
  position: absolute;
  top: 50%;
  right: 1.3888888889vw;
  transform: translateY(-50%);
  background: url("../images/common/arrow-black.svg") no-repeat center center/contain;
}
@media (max-width: 767px) {
  .p-top-media__story-link::before {
    width: 1.8666666667vw;
    height: 2.6666666667vw;
    right: 2.6666666667vw;
  }
}
@media (max-width: 767px) {
  .p-top-media__story-link {
    height: auto;
  }
}
.p-top-media__story-thumbnail {
  width: 9.5833333333vw;
  height: 3.6111111111vw;
  object-fit: cover;
}
@media (max-width: 767px) {
  .p-top-media__story-thumbnail {
    width: 33.6vw;
    height: 12.8vw;
    margin: 0 auto;
  }
}
.p-top-media__story-label {
  font-size: 0.7638888889vw;
  font-weight: 500;
  opacity: 0.8;
  margin-bottom: 0.2777777778vw;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.p-top-media__story-title {
  font-size: 1.6666666667vw;
  font-weight: 700;
  font-family: "Montserrat", Arial, sans-serif;
  margin-bottom: 0.5555555556vw;
}
@media (max-width: 767px) {
  .p-top-media__story-title {
    font-size: 5.3333333333vw;
  }
}
.p-top-media__story-text {
  font-size: 0.8333333333vw;
  line-height: 1.4;
  opacity: 0.9;
}
@media (max-width: 767px) {
  .p-top-media__story-text {
    font-size: 2.9333333333vw;
  }
}
.p-top-media__button {
  text-align: center;
  width: 100%;
  margin: 0 auto;
  padding: 0 1.5rem;
}
@media (max-width: 767px) {
  .p-top-media__button {
    padding: 0 1rem;
  }
}
.p-top-news {
  padding: 6.9444444444vw 6.9444444444vw 13.0555555556vw;
  position: relative;
  z-index: 10;
}
@media (max-width: 767px) {
  .p-top-news {
    padding: 1.3333333333vw 0 0;
  }
}
.p-top-news .c-post-item__link--pdf_data .c-post-item__title::after {
  width: 1.6666666667vw;
  height: 1.6666666667vw;
}
@media (max-width: 767px) {
  .p-top-news .c-post-item__link--pdf_data .c-post-item__title::after {
    width: 4.8vw;
    height: 4.8vw;
  }
}
.p-top-news .c-button--arrow-smallest {
  font-size: 0.9722222222vw;
  padding: 0.2083333333vw 0 0.2777777778vw;
  min-width: 6.3888888889vw;
}
@media (max-width: 767px) {
  .p-top-news .c-button--arrow-smallest {
    font-size: 3.4666666667vw;
    padding: 0.8vw 0 1.0666666667vw;
    min-width: 21.3333333333vw;
  }
}
.p-top-news .c-button--arrow-smallest::after {
  right: 0.6944444444vw;
  width: 0.4861111111vw;
  height: 0.6944444444vw;
}
@media (max-width: 767px) {
  .p-top-news .c-button--arrow-smallest::after {
    right: 2.1333333333vw;
    width: 1.3333333333vw;
    height: 2.1333333333vw;
  }
}
.p-top-news .c-post-item__link {
  display: flex;
  align-items: center;
  gap: min(32px, 2.5806451613vw);
  text-decoration: none;
  padding: 2.0833333333vw 0;
  transition: background-color 0.3s ease;
  position: relative;
  transition: opacity 0.3s ease;
}
@media (max-width: 1023px) {
  .p-top-news .c-post-item__link {
    padding: min(25px, 3.2552083333vw) 0;
  }
}
@media (max-width: 767px) {
  .p-top-news .c-post-item__link {
    padding: 5.3333333333vw 0;
    gap: 5.3333333333vw;
  }
}
.p-top-news .c-post-item__link::after {
  display: none;
}
.p-top-news .c-post-item__body {
  flex: 1;
}
.p-top-news .c-post-item__thumb {
  width: 6.25vw;
}
@media (max-width: 767px) {
  .p-top-news .c-post-item__thumb {
    width: 24vw;
  }
}
.p-top-news .c-post-item__thumb img {
  vertical-align: unset;
}
.p-top-news .c-post-item__title {
  font-size: 1.1111111111vw;
  color: #32373C;
  font-weight: 500;
  letter-spacing: 0.03em;
}
@media (max-width: 1023px) {
  .p-top-news .c-post-item__title {
    font-size: min(13px, 1.6927083333vw);
  }
}
@media (max-width: 767px) {
  .p-top-news .c-post-item__title {
    font-size: 3.4666666667vw;
  }
}
.p-top-news .c-post__meta {
  align-items: baseline;
}
@media (max-width: 1023px) {
  .p-top-news .c-post__meta {
    margin-bottom: min(8px, 1.0416666667vw);
  }
}
@media (max-width: 767px) {
  .p-top-news .c-post__meta {
    margin-bottom: 2.1333333333vw;
  }
}
.p-top-news .c-post__body {
  font-size: 0.8333333333vw;
  color: #32373C;
  line-height: 1.5;
  opacity: 0.9;
}
@media (max-width: 1023px) {
  .p-top-news .c-post__body {
    font-size: min(12px, 1.5625vw);
  }
}
@media (max-width: 767px) {
  .p-top-news .c-post__body {
    font-size: 2.9333333333vw;
  }
}
.p-top-news .c-post__date {
  font-size: 0.9722222222vw;
  color: rgba(50, 55, 60, 0.7);
  margin-bottom: 0.2777777778vw;
  font-weight: 500;
  font-family: "Montserrat", Arial, sans-serif;
}
@media (max-width: 1023px) {
  .p-top-news .c-post__date {
    font-size: min(12px, 1.5625vw);
  }
}
@media (max-width: 767px) {
  .p-top-news .c-post__date {
    font-size: 3.2vw;
  }
}
.p-top-news .c-post__category {
  line-height: 1;
  font-size: 0.8333333333vw;
  padding: 0.4861111111vw;
  border-radius: min(3px, 0.2419354839vw);
}
@media (max-width: 1023px) {
  .p-top-news .c-post__category {
    font-size: min(12px, 1.5625vw);
  }
}
@media (max-width: 767px) {
  .p-top-news .c-post__category {
    font-size: 3.2vw;
    padding: 0.5333333333vw 1.6vw;
  }
}
.p-top-news__header {
  width: 100%;
  margin: 0 auto;
  padding: 0 1.5rem;
  text-align: center;
  margin-bottom: 4.7222222222vw;
}
@media (max-width: 767px) {
  .p-top-news__header {
    padding: 0 5.3333333333vw;
    flex-direction: column;
    align-items: center;
    gap: 10.6666666667vw;
    margin-bottom: 9.3333333333vw;
  }
}
@media (max-width: 767px) {
  .p-top-news__header-title {
    text-align: center;
  }
}
.p-top-news__header-en {
  display: inline-block;
  font-size: 3.8888888889vw;
  font-weight: 600;
  color: #32373C;
  font-family: "Montserrat", Arial, sans-serif;
  line-height: 1;
  margin-bottom: 0.9722222222vw;
  position: relative;
  letter-spacing: 0.03em;
  left: 0.24em;
}
.p-top-news__header-en::after {
  content: "";
  display: block;
  width: 1.0416666667vw;
  height: 1.5972222222vw;
  border-radius: 50%;
  background: #0052A4;
  position: absolute;
  left: -1.6666666667vw;
  top: -0.0694444444vw;
}
@media (max-width: 767px) {
  .p-top-news__header-en::after {
    width: 3.2vw;
    height: 5.0666666667vw;
    left: -5.6vw;
    top: -0.5333333333vw;
  }
}
@media (max-width: 767px) {
  .p-top-news__header-en {
    margin-bottom: 2.1333333333vw;
    left: 2.9333333333vw;
    font-size: 9.6vw;
    display: inline-block;
  }
}
.p-top-news__header-text {
  font-size: 1.6666666667vw;
  color: #32373C;
  font-weight: 500;
  letter-spacing: 0.03em;
}
@media (max-width: 767px) {
  .p-top-news__header-text {
    font-size: 4.2666666667vw;
  }
}
.p-top-news__body {
  width: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5.4861111111vw;
  max-width: 86.1111111111vw;
}
@media (max-width: 767px) {
  .p-top-news__body {
    grid-template-columns: 1fr;
    gap: 10.6666666667vw;
  }
}
.p-top-news__info, .p-top-news__ir {
  width: 100%;
}
.p-top-news__info-header, .p-top-news__ir-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.p-top-news__info-title, .p-top-news__ir-title {
  font-style: normal;
  font-weight: 700;
  font-size: 1.6666666667vw;
  line-height: 1.2;
  letter-spacing: 0.08em;
  color: #32373C;
  margin: 0;
}
@media (max-width: 1023px) {
  .p-top-news__info-title, .p-top-news__ir-title {
    font-size: min(24px, 3.125vw);
  }
}
@media (max-width: 767px) {
  .p-top-news__info-title, .p-top-news__ir-title {
    font-size: 4.8vw;
  }
}
.p-top-news__info-body, .p-top-news__ir-body {
  display: flex;
  flex-direction: column;
}
@media (max-width: 1023px) {
  .p-top-news__info-body, .p-top-news__ir-body {
    font-size: min(24px, 3.125vw);
  }
}
.p-top-news__info-item, .p-top-news__ir-item {
  min-height: 8.3333333333vw;
}
@media (max-width: 1023px) {
  .p-top-news__info-item, .p-top-news__ir-item {
    min-height: min(120px, 15.625vw);
  }
}
@media (max-width: 767px) {
  .p-top-news__info-item, .p-top-news__ir-item {
    min-height: auto;
  }
}
.p-top-news__info-item + .p-top-news__info-item, .p-top-news__info-item + .p-top-news__ir-item, .p-top-news__ir-item + .p-top-news__info-item, .p-top-news__ir-item + .p-top-news__ir-item {
  border-top: 1px solid #E0DCEA;
}
.p-top-news__info-item:last-child, .p-top-news__ir-item:last-child {
  border-bottom: 1px solid #E0DCEA;
}
.p-top-news__info-link, .p-top-news__ir-link {
  display: flex;
  align-items: center;
  gap: 2.4305555556vw;
  text-decoration: none;
  padding: 2.0833333333vw 0;
  transition: background-color 0.3s ease;
  position: relative;
  transition: opacity 0.3s ease;
}
@media (max-width: 1023px) {
  .p-top-news__info-link, .p-top-news__ir-link {
    padding: min(30px, 3.90625vw) 0;
    gap: min(35px, 4.5572916667vw);
  }
}
@media (max-width: 767px) {
  .p-top-news__info-link, .p-top-news__ir-link {
    padding: 5.3333333333vw 0;
    gap: 5.3333333333vw;
  }
}
.p-top-news__info-description, .p-top-news__ir-description {
  flex: 1;
  min-width: 0;
}
.p-top-news__info-date, .p-top-news__ir-date {
  font-size: 0.9722222222vw;
  color: rgba(50, 55, 60, 0.7);
  margin-bottom: 0.2777777778vw;
  font-weight: 500;
  font-family: "Montserrat", Arial, sans-serif;
}
@media (max-width: 1023px) {
  .p-top-news__info-date, .p-top-news__ir-date {
    font-size: min(12px, 1.5625vw);
  }
}
@media (max-width: 767px) {
  .p-top-news__info-date, .p-top-news__ir-date {
    font-size: 3.2vw;
  }
}
.p-top-news__info-category, .p-top-news__ir-category {
  font-size: 0.8333333333vw;
  color: #1e1e1e;
  font-weight: 400;
  margin: 0 0 0.5555555556vw 0.6944444444vw;
  line-height: 1;
  padding: 0.4861111111vw;
  border-radius: min(3px, 0.2419354839vw);
  display: inline-block;
}
@media (max-width: 1023px) {
  .p-top-news__info-category, .p-top-news__ir-category {
    font-size: min(12px, 1.5625vw);
  }
}
@media (max-width: 767px) {
  .p-top-news__info-category, .p-top-news__ir-category {
    font-size: 3.2vw;
    padding: 0.5333333333vw 1.6vw;
  }
}
.p-top-news__info-text, .p-top-news__ir-text {
  font-size: 1.1111111111vw;
  color: #32373C;
  line-height: 1.5;
}
@media (max-width: 1023px) {
  .p-top-news__info-text, .p-top-news__ir-text {
    font-size: min(13px, 1.6927083333vw);
  }
}
@media (max-width: 767px) {
  .p-top-news__info-text, .p-top-news__ir-text {
    font-size: 3.4666666667vw;
  }
}
.p-top-news__info-thumbnail {
  width: 4.1666666667vw;
  height: 4.1666666667vw;
  object-fit: cover;
  flex-shrink: 0;
}
@media (max-width: 1023px) {
  .p-top-news__info-thumbnail {
    width: min(60px, 7.8125vw);
    height: min(60px, 7.8125vw);
  }
}
@media (max-width: 767px) {
  .p-top-news__info-thumbnail {
    width: 13.3333333333vw;
    height: 13.3333333333vw;
  }
}
.p-top-news__info-category {
  background: #E0DCEA;
}
.p-top-news__ir-category {
  background: #CEEBE9;
}
.p-top-news__ir-description {
  width: 100%;
}
.p-top__banners {
  display: flex;
  justify-content: center;
}
@media (max-width: 1023px) {
  .p-top__banners {
    flex-wrap: wrap;
  }
}
@media (max-width: 767px) {
  .p-top__banners {
    padding: 21.3333333333vw 0;
    flex-direction: column;
    width: 89.3333333333vw;
    margin: 0 auto;
    gap: 2.6666666667vw;
  }
}
.p-top__banner {
  flex: 1;
  height: 14.3055555556vw;
  overflow: hidden;
}
.p-top__banner:hover .p-top__banner-image {
  transform: scale(1.25);
}
@media (max-width: 767px) {
  .p-top__banner {
    flex: unset;
    height: 37.3333333333vw;
  }
}
.p-top__banner-content {
  text-align: center;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  overflow: hidden;
}
.p-top__banner-content::before {
  content: "";
  display: block;
  width: 0.6944444444vw;
  height: 0.9027777778vw;
  position: absolute;
  top: 50%;
  right: 2.0833333333vw;
  transform: translateY(-50%);
  background: url("../images/common/arrow-white.svg") no-repeat center center/contain;
  z-index: 2;
}
@media (max-width: 767px) {
  .p-top__banner-content {
    gap: 4.2666666667vw;
  }
  .p-top__banner-content::before {
    right: 4.2666666667vw;
    width: 2.6666666667vw;
    height: 3.4666666667vw;
  }
}
.p-top__banner-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
  z-index: 0;
  transform: scale(1.05);
}
.p-top__banner-text {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.p-top__banner-label {
  display: block;
  font-size: 0.8333333333vw;
  font-weight: 500;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  text-align: center;
  margin-bottom: 0.5555555556vw;
  font-family: "Montserrat", Arial, sans-serif;
  color: #fff;
}
@media (max-width: 767px) {
  .p-top__banner-label {
    font-size: 3.2vw;
    margin-bottom: 0;
  }
}
.p-top__banner-title {
  display: block;
  font-size: 1.6666666667vw;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-align: center;
  color: #fff;
}
@media (max-width: 767px) {
  .p-top__banner-title {
    font-size: 4.2666666667vw;
  }
}

.p-top-message__text {
  font-weight: 800;
}

.svg-line01 {
  stroke-dasharray: 1730;
  stroke-dashoffset: 900;
}
.is-active .svg-line01 {
  animation: draw-svg-line01 1s ease-in-out forwards;
  animation-delay: 0s;
}

.svg-line02 {
  stroke-dasharray: 1700;
  stroke-dashoffset: 900;
}
.is-active .svg-line02 {
  animation: draw-svg-line02 1s ease-in-out forwards;
  animation-delay: 0.5s;
}

.svg-line01--sp {
  stroke-dasharray: 500;
  stroke-dashoffset: 190;
}
.is-active .svg-line01--sp {
  animation: draw-svg-line01-sp 1s ease-in-out forwards;
  animation-delay: 0s;
}

.svg-line02--sp {
  stroke-dasharray: 510;
  stroke-dashoffset: 420;
}
.is-active .svg-line02--sp {
  animation: draw-svg-line02-sp 1s ease-in-out forwards;
  animation-delay: 1s;
}

.svg-line03 {
  stroke-dasharray: 2000;
  stroke-dashoffset: 1750;
}
.is-active .svg-line03 {
  animation: draw-svg-line03 1s ease-in-out forwards;
  animation-delay: 0.5s;
}

.svg-line04 {
  stroke-dasharray: 1900;
  stroke-dashoffset: 1600;
}
.is-active .svg-line04 {
  animation: draw-svg-line04 1s ease-in-out forwards;
  animation-delay: 1s;
}

.svg-line03--sp {
  stroke-dasharray: 650;
  stroke-dashoffset: 450;
}
.is-active .svg-line03--sp {
  animation: draw-svg-line03-sp 1s ease-in-out forwards;
  animation-delay: 0.5s;
}

.svg-line04--sp {
  stroke-dasharray: 500;
  stroke-dashoffset: 460;
}
.is-active .svg-line04--sp {
  animation: draw-svg-line04-sp 1s ease-in-out forwards;
  animation-delay: 1s;
}

.svg-line05 {
  stroke-dasharray: 2240;
  stroke-dashoffset: 2040;
}
.is-active .svg-line05 {
  animation: draw-svg-line05 1s ease-in-out forwards;
  animation-delay: 0.5s;
}

.svg-line06 {
  stroke-dasharray: 1600;
  stroke-dashoffset: 1100;
}
.is-active .svg-line06 {
  animation: draw-svg-line06 1s ease-in-out forwards;
  animation-delay: 1s;
}

.svg-line05--sp {
  stroke-dasharray: 610;
  stroke-dashoffset: 1680;
}
.is-active .svg-line05--sp {
  animation: draw-svg-line05-sp 1s ease-in-out forwards;
  animation-delay: 0.5s;
}

.svg-line06--sp {
  stroke-dasharray: 500;
  stroke-dashoffset: 320;
}
.is-active .svg-line06--sp {
  animation: draw-svg-line06-sp 1s ease-in-out forwards;
  animation-delay: 1s;
}

@keyframes draw-svg-line01 {
  0% {
    stroke-dashoffset: 900;
    opacity: 0;
  }
  100% {
    stroke-dashoffset: 2630;
    opacity: 0.6;
  }
}
@keyframes draw-svg-line02 {
  0% {
    stroke-dashoffset: 900;
    opacity: 0;
  }
  100% {
    stroke-dashoffset: 2600;
    opacity: 0.6;
  }
}
@keyframes draw-svg-line03 {
  0% {
    stroke-dashoffset: 1750;
    opacity: 0;
  }
  100% {
    stroke-dashoffset: 3750;
    opacity: 0.6;
  }
}
@keyframes draw-svg-line04 {
  0% {
    stroke-dashoffset: 1600;
    opacity: 0;
  }
  100% {
    stroke-dashoffset: 3250;
    opacity: 0.6;
  }
}
@keyframes draw-svg-line05 {
  0% {
    stroke-dashoffset: 2040;
    opacity: 0;
  }
  100% {
    stroke-dashoffset: 150;
    opacity: 0.7;
  }
}
@keyframes draw-svg-line06 {
  0% {
    stroke-dashoffset: 1100;
    opacity: 0;
  }
  100% {
    stroke-dashoffset: 2700;
    opacity: 0.4;
  }
}
@keyframes draw-svg-line01-sp {
  0% {
    stroke-dashoffset: 190;
    opacity: 0;
  }
  100% {
    stroke-dashoffset: 700;
    opacity: 0.6;
  }
}
@keyframes draw-svg-line02-sp {
  0% {
    stroke-dashoffset: 420;
    opacity: 0;
  }
  100% {
    stroke-dashoffset: 970;
    opacity: 0.6;
  }
}
@keyframes draw-svg-line03-sp {
  0% {
    stroke-dashoffset: 450;
    opacity: 0;
  }
  100% {
    stroke-dashoffset: 1090;
    opacity: 0.6;
  }
}
@keyframes draw-svg-line04-sp {
  0% {
    stroke-dashoffset: 460;
    opacity: 0;
  }
  100% {
    stroke-dashoffset: 880;
    opacity: 0.6;
  }
}
@keyframes draw-svg-line05-sp {
  0% {
    stroke-dashoffset: 1680;
    opacity: 0;
  }
  100% {
    stroke-dashoffset: 1020;
    opacity: 0.7;
  }
}
@keyframes draw-svg-line06-sp {
  0% {
    stroke-dashoffset: 320;
    opacity: 0;
  }
  100% {
    stroke-dashoffset: 760;
    opacity: 0.4;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.p-about-hero {
  background: url("../images/about/kv-bg.jpg") no-repeat center bottom/cover;
}
@media (max-width: 767px) {
  .p-about-hero {
    background-image: url("../images/about/kv-bg-sp.jpg");
  }
}

.p-about-philosophy {
  padding: min(47px, 3.7903225806vw) 0 min(100px, 8.064516129vw);
}
@media (max-width: 767px) {
  .p-about-philosophy {
    padding: 8.5333333333vw 0 18.6666666667vw;
  }
}
.p-about-philosophy__title {
  font-size: min(32px, 2.5806451613vw);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.02em;
  margin-bottom: min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .p-about-philosophy__title {
    font-size: 6.4vw;
    margin-bottom: 2.6666666667vw;
  }
}
.p-about-philosophy__inner {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .p-about-philosophy__inner {
    flex-direction: column;
  }
}
.p-about-philosophy__right {
  flex-basis: min(600px, 48.3870967742vw);
  font-size: min(18px, 1.4516129032vw);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.03em;
}
@media (max-width: 767px) {
  .p-about-philosophy__right {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8vw;
    font-size: 3.7333333333vw;
  }
}
.p-about-philosophy__button {
  display: inline-flex;
}
.p-about-philosophy__button--sp {
  display: none;
}
@media (max-width: 767px) {
  .p-about-philosophy__button {
    display: none;
  }
  .p-about-philosophy__button--sp {
    display: inline-flex;
  }
}

.p-about-lead {
  padding: 0 0 min(32px, 2.5806451613vw);
}
@media (max-width: 767px) {
  .p-about-lead {
    padding: 0 0 4.8vw;
  }
}
.p-about-lead__text {
  font-size: min(28px, 2.2580645161vw);
  font-weight: 700;
  line-height: 1.4;
}
@media (max-width: 767px) {
  .p-about-lead__text {
    font-size: 5.3333333333vw;
    line-height: 1.6;
  }
}

.p-about-card {
  display: block;
  color: inherit;
  text-decoration: none;
  border-radius: min(8px, 0.6451612903vw);
  padding: min(73px, 5.8870967742vw) min(57px, 4.5967741935vw) min(83px, 6.6935483871vw);
  position: relative;
  transition: color 0.3s ease;
}
.p-about-card:is(:hover, :focus-visible) .c-button.c-button--arrow {
  background-color: #fff;
  color: #32373C;
}
.p-about-card:is(:hover, :focus-visible) .c-button.c-button--arrow::after {
  background: url("../images/common/arrow-black.svg") no-repeat center center/contain;
}
@media (max-width: 767px) {
  .p-about-card {
    border-radius: 2.1333333333vw;
    padding: 65.3333333333vw 5.3333333333vw 8.5333333333vw;
  }
}
.p-about-card + .p-about-card {
  margin-top: min(60px, 4.8387096774vw);
}
@media (max-width: 767px) {
  .p-about-card + .p-about-card {
    margin-top: 7.4666666667vw;
  }
}
.p-about-card--feature {
  background-color: #f6f6f6;
  background-image: url("../images/about/feature-bg.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
@media (max-width: 767px) {
  .p-about-card--feature {
    background-image: url("../images/about/feature-bg-sp.jpg");
    background-size: contain;
    background-position: center top;
    background-color: #F0F2F6;
  }
}
.p-about-card--service {
  background-color: #f6f6f6;
  background-image: url("../images/about/service-bg.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
@media (max-width: 767px) {
  .p-about-card--service {
    background-image: url("../images/about/service-bg-sp.jpg");
    background-size: contain;
    background-position: center top;
    background-color: #F0F2F6;
  }
}
.p-about-card--service .p-about-card__number {
  left: unset;
  right: min(54px, 4.3548387097vw);
}
.p-about-card--service .p-about-card__content {
  width: min(440px, 35.4838709677vw);
  margin-left: auto;
  text-align: right;
}
@media (max-width: 767px) {
  .p-about-card--service .p-about-card__content {
    width: 100%;
  }
}
.p-about-card--service .p-about-card__content .p-about-card__info {
  text-align: left;
}
.p-about-card--service .p-about-card__lead {
  right: unset;
  bottom: min(32px, 2.5806451613vw);
  left: min(40px, 3.2258064516vw);
  text-align: left;
}
@media (max-width: 767px) {
  .p-about-card--service .p-about-card__lead {
    bottom: unset;
    left: unset;
    top: 37.8666666667vw;
    right: 50%;
    text-align: center;
  }
}
.p-about-card__wrap {
  padding: 0 min(20px, 1.6129032258vw) 0;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-about-card__wrap {
    padding: 0;
  }
}
@media (max-width: 767px) {
  .p-about-card__wrap {
    padding: 0;
  }
}
.p-about-card__number {
  color: #fff;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: min(100px, 8.064516129vw);
  font-style: italic;
  font-weight: 400;
  line-height: 1;
  position: absolute;
  top: min(8px, 0.6451612903vw);
  left: min(34px, 2.7419354839vw);
}
@media (max-width: 767px) {
  .p-about-card__number {
    font-size: 19.2vw;
    top: 2.1333333333vw;
    left: 2.6666666667vw;
  }
}
.p-about-card__content {
  position: relative;
  z-index: 2;
}
@media (max-width: 767px) {
  .p-about-card__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
}
.p-about-card__title {
  color: #32373C;
  font-size: min(28px, 2.2580645161vw);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.02em;
  margin-bottom: min(21px, 1.6935483871vw);
}
@media (max-width: 767px) {
  .p-about-card__title {
    font-size: 5.3333333333vw;
    margin-bottom: 1.8666666667vw;
    text-align: center;
  }
}
.p-about-card__description {
  font-size: min(18px, 1.4516129032vw);
  line-height: 1.8;
  letter-spacing: 0.02em;
  margin-bottom: min(30px, 2.4193548387vw);
}
@media (max-width: 767px) {
  .p-about-card__description {
    font-size: 3.4666666667vw;
    margin-bottom: 4.5333333333vw;
    width: 100%;
  }
}
.p-about-card__lead {
  color: #fff;
  font-size: min(32px, 2.5806451613vw);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.02em;
  position: absolute;
  bottom: min(32px, 2.5806451613vw);
  right: min(18px, 1.4516129032vw);
  text-align: right;
}
@media (max-width: 767px) {
  .p-about-card__lead {
    font-size: 5.3333333333vw;
    bottom: unset;
    top: 37.8666666667vw;
    text-align: center;
    right: 50%;
    transform: translateX(50%);
    width: 100%;
  }
}

.p-service-hero {
  background: url("../images/service/top/hero-pc.jpg") no-repeat top center/cover;
}
@media (max-width: 767px) {
  .p-service-hero {
    background: url("../images/service/top/hero-sp.jpg") no-repeat top center/cover;
  }
}

.p-service-philosophy {
  padding: min(47px, 3.7903225806vw) 0 min(68px, 5.4838709677vw);
}
@media (max-width: 767px) {
  .p-service-philosophy {
    padding: 8.5333333333vw 0 9.0666666667vw;
  }
}
.p-service-philosophy__title {
  font-size: min(32px, 2.5806451613vw);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.02em;
  margin-bottom: min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .p-service-philosophy__title {
    font-size: 6.4vw;
    margin-bottom: 0;
  }
}
.p-service-philosophy__inner {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .p-service-philosophy__inner {
    flex-direction: column;
  }
}
.p-service-philosophy__right {
  flex-basis: min(600px, 48.3870967742vw);
  font-size: min(18px, 1.4516129032vw);
  font-weight: 500;
  line-height: 2;
  grid-area: meta;
  letter-spacing: 0.03em;
}
@media (max-width: 767px) {
  .p-service-philosophy__right {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8vw;
    font-size: 3.7333333333vw;
  }
}
.p-service-philosophy__button {
  display: inline-flex;
}
.p-service-philosophy__button--sp {
  display: none;
}
@media (max-width: 767px) {
  .p-service-philosophy__button {
    display: none;
  }
  .p-service-philosophy__button--sp {
    display: inline-flex;
  }
}

@media (max-width: 767px) {
  .p-service-features {
    overflow-x: hidden;
    padding-top: 12vw;
  }
}
.p-service-features__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: min(20px, 1.6129032258vw);
  padding: min(40px, 3.2258064516vw) 0 min(190px, 15.3225806452vw);
  width: 90%;
  margin: 0 auto;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-service-features__grid {
    display: flex;
    width: 95%;
    gap: 0;
  }
}
@media (max-width: 767px) {
  .p-service-features__grid {
    grid-template-columns: 1fr;
    gap: 5.3333333333vw;
    padding: 0 0 32vw;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-service-features__item {
    width: 25%;
    padding: 0 5px;
  }
}
@media (max-width: 767px) {
  .p-service-features__item {
    margin-bottom: -16vw;
  }
}
.p-service-features__item:nth-child(2n) {
  transform: translateY(min(96px, 7.7419354839vw));
}
@media (max-width: 767px) {
  .p-service-features__item:nth-child(2n) {
    transform: translate(18.6666666667vw, -13.3333333333vw);
  }
}
.p-service-features__item:nth-child(2n) .p-service-features__text-wrap::before {
  top: max(-78px, -6.2903225806vw);
  left: 40%;
}
@media (max-width: 767px) {
  .p-service-features__item:nth-child(2n) .p-service-features__text-wrap::before {
    top: -11.4666666667vw;
    left: 50%;
  }
}
@media (max-width: 767px) {
  .p-service-features__item:nth-child(2n+1) {
    transform: translateX(-18.6666666667vw);
  }
}
.p-service-features__text-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}
.p-service-features__text-wrap::before {
  content: "";
  display: block;
  width: min(400px, 32.2580645161vw);
  height: min(340px, 27.4193548387vw);
  background-image: url("../images/service/top/tips-bg.svg");
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  top: max(-58px, -4.6774193548vw);
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}
@media (max-width: 767px) {
  .p-service-features__text-wrap::before {
    width: 85.3333333333vw;
    height: 74.6666666667vw;
    top: -11.4666666667vw;
  }
}
.p-service-features__title {
  writing-mode: vertical-rl;
  font-size: min(48px, 3.8709677419vw);
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.4;
  text-indent: -1em;
  padding-top: 1em;
}
@media (max-width: 767px) {
  .p-service-features__title {
    font-size: 7.4666666667vw;
  }
}
.p-service-features__desc {
  font-size: min(16px, 1.2903225806vw);
  width: min(212px, 17.0967741935vw);
  padding-top: min(38px, 3.064516129vw);
  line-height: 1.8;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-service-features__desc {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .p-service-features__desc {
    font-size: 3.4666666667vw;
    width: 48vw;
    padding-top: 7.4666666667vw;
  }
}

.p-service-solutions__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(40px, 3.2258064516vw);
  padding-bottom: min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .p-service-solutions__grid {
    grid-template-columns: 1fr;
    gap: 5.3333333333vw;
    padding-bottom: 7.4666666667vw;
  }
}
.p-service-solutions__item {
  border-radius: min(4px, 0.3225806452vw);
  overflow: hidden;
}
@media (max-width: 767px) {
  .p-service-solutions__item {
    border-radius: 1.0666666667vw;
  }
}
.p-service-solutions__image img {
  transition: transform 0.3s ease;
}
.p-service-solutions__link {
  position: relative;
  display: block;
}
.p-service-solutions__link:hover .p-service-solutions__image img {
  transform: scale(1.05);
}
.p-service-solutions__content {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: min(216px, 17.4193548387vw);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-service-solutions__content {
    width: min(130px, 16.9270833333vw);
  }
}
@media (max-width: 767px) {
  .p-service-solutions__content {
    width: 36.2666666667vw;
  }
}
.p-service-solutions__icon {
  width: min(60px, 4.8387096774vw);
  height: min(60px, 4.8387096774vw);
}
@media (max-width: 767px) {
  .p-service-solutions__icon {
    width: 16vw;
    height: 16vw;
  }
}
.p-service-solutions__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-service-solutions__title {
  padding-top: min(4px, 0.3225806452vw);
  font-size: min(20px, 1.6129032258vw);
}
@media (max-width: 767px) {
  .p-service-solutions__title {
    font-size: 4.2666666667vw;
    padding-top: 1.0666666667vw;
  }
}

.p-service-ppp {
  padding-top: min(40px, 3.2258064516vw);
  padding-bottom: min(90px, 7.2580645161vw);
  border-top: min(1px, 0.0806451613vw) solid #D8D8D8;
}
@media (max-width: 767px) {
  .p-service-ppp {
    padding: 7.4666666667vw 0 21.3333333333vw;
  }
}

.p-service-maintenance__header {
  padding-bottom: min(28px, 2.2580645161vw);
}
@media (max-width: 767px) {
  .p-service-maintenance__header {
    padding-bottom: 4.2666666667vw;
  }
}

.p-service-dx__wrap {
  display: flex;
  gap: min(40px, 3.2258064516vw);
  padding-bottom: min(120px, 9.6774193548vw);
}
@media (max-width: 767px) {
  .p-service-dx__wrap {
    flex-direction: column;
    padding-top: 5.3333333333vw;
    gap: 0;
    padding-bottom: 0;
  }
}
.p-service-dx__body {
  border-radius: min(4px, 0.3225806452vw);
  overflow: hidden;
}
@media (max-width: 767px) {
  .p-service-dx__body {
    border-radius: 1.0666666667vw;
  }
}
.p-service-dx__body a {
  display: block;
}
.p-service-dx__link img {
  transition: transform 0.3s ease;
}
.p-service-dx__link:hover img {
  transform: scale(1.05);
}
@media (max-width: 767px) {
  .p-service-environment {
    margin-bottom: 21.3333333333vw;
  }
}
.p-service-environment__body {
  border-radius: min(4px, 0.3225806452vw);
  overflow: hidden;
}
@media (max-width: 767px) {
  .p-service-environment__body {
    border-radius: 1.0666666667vw;
  }
}
.p-service-environment__link img {
  transition: transform 0.3s ease;
}
.p-service-environment__link:hover img {
  transform: scale(1.05);
}
.p-service-environment__button {
  padding: min(10px, 0.8064516129vw) min(55px, 4.435483871vw);
  min-width: min(440px, 35.4838709677vw);
  font-size: min(15px, 1.2096774194vw);
  color: #fff;
  margin-top: min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .p-service-environment__button {
    padding: 2.6666666667vw 5.3333333333vw;
    width: 72vw;
    height: 13.3333333333vw;
    justify-content: center;
    font-size: 3.7333333333vw;
    margin-left: 8vw;
    line-height: 140%;
    text-align: center;
    margin-top: 10.6666666667vw;
  }
}
.p-service-environment__button::after {
  width: min(12px, 0.9677419355vw);
  height: min(12px, 0.9677419355vw);
  background: url("../images/common/arrow-white.svg") no-repeat center center/contain;
}
@media (max-width: 767px) {
  .p-service-environment__button::after {
    width: 3.2vw;
    height: 3.2vw;
  }
}

.p-environment-feature {
  position: relative;
  border-radius: min(4px, 0.3225806452vw);
  overflow: hidden;
}
@media (max-width: 767px) {
  .p-environment-feature {
    border-radius: 1.0666666667vw;
  }
}
.p-environment-feature-space {
  margin-bottom: min(110px, 8.8709677419vw);
}
@media (max-width: 767px) {
  .p-environment-feature-space {
    margin-bottom: 21.3333333333vw;
  }
}
.p-environment-feature__heading {
  margin-top: min(100px, 8.064516129vw);
}
.p-environment-feature__item {
  margin-bottom: min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .p-environment-feature__item {
    margin-bottom: 10.6666666667vw;
  }
}
.p-environment-feature__image {
  width: 100%;
  height: min(300px, 24.1935483871vw);
}
@media (max-width: 767px) {
  .p-environment-feature__image {
    height: 48vw;
  }
}
.p-environment-feature__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-environment-feature__content {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 50%;
  height: 100%;
  background: rgba(255, 255, 255, 0.85);
  display: flex;
  flex-direction: column;
  padding: 0 min(60px, 4.8387096774vw) 0 min(50px, 4.0322580645vw);
  justify-content: center;
}
@media (max-width: 767px) {
  .p-environment-feature__content {
    position: relative;
    width: 100%;
    padding: 7.4666666667vw 5.3333333333vw;
    background: #F0F2F6;
  }
}
.p-environment-feature__title {
  font-size: min(28px, 2.2580645161vw);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.03em;
  margin-bottom: min(10px, 0.8064516129vw);
}
@media (max-width: 767px) {
  .p-environment-feature__title {
    font-size: 5.3333333333vw;
    margin-bottom: 2.1333333333vw;
    text-align: center;
  }
}
.p-environment-feature__text {
  font-size: min(16px, 1.2903225806vw);
  font-weight: 400;
  line-height: 1.8;
  margin-bottom: min(30px, 2.4193548387vw);
}
@media (max-width: 767px) {
  .p-environment-feature__text {
    font-size: 3.4666666667vw;
    margin-bottom: 5.3333333333vw;
  }
}
.p-environment-feature__btn {
  margin-left: 2.6666666667vw;
}

.p-service-result {
  background-color: #F0F2F6;
  padding: min(70px, 5.6451612903vw) 0 min(106px, 8.5483870968vw);
}
@media (max-width: 767px) {
  .p-service-result {
    padding: 16vw 0 18.1333333333vw;
  }
}
.p-service-result__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: min(33px, 2.6612903226vw);
}
@media (max-width: 767px) {
  .p-service-result__header {
    margin-bottom: 10.6666666667vw;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
}
.p-service-result__content {
  flex-basis: min(740px, 59.6774193548vw);
}
@media (max-width: 767px) {
  .p-service-result__content {
    flex-basis: unset;
  }
}
.p-service-result__title {
  font-size: min(28px, 2.2580645161vw);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.03em;
  margin-bottom: min(10px, 0.8064516129vw);
}
@media (max-width: 767px) {
  .p-service-result__title {
    font-size: 5.3333333333vw;
    margin-bottom: 5.3333333333vw;
    text-align: center;
  }
}
.p-service-result__text {
  font-size: min(16px, 1.2903225806vw);
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.03em;
}
@media (max-width: 767px) {
  .p-service-result__text {
    font-size: 3.7333333333vw;
    margin-bottom: 5.3333333333vw;
  }
}
.p-service-result__grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: min(16px, 1.2903225806vw);
}
@media (max-width: 767px) {
  .p-service-result__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 2.6666666667vw;
  }
}
.p-service-result__grid-item img {
  border-radius: min(4px, 0.3225806452vw);
}
@media (max-width: 767px) {
  .p-service-result__grid-item img {
    border-radius: 1.0666666667vw;
  }
}
.p-service-result__achievements {
  margin-top: min(120px, 9.6774193548vw);
  margin-bottom: min(120px, 9.6774193548vw);
}
@media (max-width: 767px) {
  .p-service-result__achievements {
    margin-top: 0vw;
    margin-bottom: 0vw;
  }
}

.p-service-intro__hero {
  position: relative;
  padding: min(60px, 4.8387096774vw) 0 0;
}
@media (max-width: 767px) {
  .p-service-intro__hero {
    padding: 5.3333333333vw 0 0;
  }
}
.p-service-intro__hero-image {
  border-radius: min(8px, 0.6451612903vw);
  overflow: hidden;
}
.p-service-intro__hero-image img {
  width: 100%;
  height: auto;
  display: block;
}
@media (max-width: 767px) {
  .p-service-intro__hero-image {
    border-radius: 2.1333333333vw;
  }
}
.p-service-intro__hero-content {
  background: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  padding: min(41px, 3.3064516129vw) min(100px, 8.064516129vw) min(24px, 1.935483871vw) 0;
  border-radius: 0 min(16px, 1.2903225806vw) 0 0;
}
@media (max-width: 767px) {
  .p-service-intro__hero-content {
    border-radius: 0 3.2vw 0 0;
  }
}
.p-service-intro__hero-content::after, .p-service-intro__hero-content::before {
  content: "";
  display: block;
  width: min(16px, 1.2903225806vw);
  height: min(16px, 1.2903225806vw);
  position: absolute;
  background-image: url("../images/service/corner.png");
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}
@media (max-width: 767px) {
  .p-service-intro__hero-content::after, .p-service-intro__hero-content::before {
    width: 3.2vw;
    height: 3.2vw;
  }
}
.p-service-intro__hero-content::after {
  left: 0;
  top: 0;
  transform: translate(-1px, calc(-100% + 1px));
}
.p-service-intro__hero-content::before {
  right: 0;
  bottom: 0;
  transform: translate(calc(100% - 1px), 1px);
}
@media (max-width: 767px) {
  .p-service-intro__hero-content {
    padding: 6.4vw 13.3333333333vw 2.9333333333vw 0;
  }
}
.p-service-intro__sub-title {
  font-size: min(16px, 1.2903225806vw);
  letter-spacing: 0.03em;
  margin-bottom: min(6px, 0.4838709677vw);
  font-weight: 700;
}
@media (max-width: 767px) {
  .p-service-intro__sub-title {
    font-size: 3.4666666667vw;
  }
}
.p-service-intro__title {
  font-size: min(44px, 3.5483870968vw);
  line-height: 1.2;
  margin: 0;
}
@media (max-width: 767px) {
  .p-service-intro__title {
    font-size: 8vw;
  }
}
.p-service-intro__body {
  max-width: min(800px, 64.5161290323vw);
  font-size: min(18px, 1.4516129032vw);
  line-height: 2;
  letter-spacing: 0.03em;
  padding: min(47px, 3.7903225806vw) 0;
  font-weight: 500;
}
@media (max-width: 767px) {
  .p-service-intro__body {
    max-width: unset;
    font-size: 3.7333333333vw;
    padding: 8vw 0 6.6666666667vw;
  }
}
.p-service-intro__text-strong {
  font-weight: 700;
  -webkit-text-stroke-width: 0.25px;
  -webkit-text-stroke-color: #32373C;
}

.p-service-feature {
  padding: min(100px, 8.064516129vw) 0 min(80px, 6.4516129032vw);
}
@media (max-width: 767px) {
  .p-service-feature {
    padding: 10.6666666667vw 0 16vw;
  }
}
.p-service-feature__title {
  font-size: min(28px, 2.2580645161vw);
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 0 0 min(32px, 2.5806451613vw);
}
@media (max-width: 767px) {
  .p-service-feature__title {
    font-size: 5.3333333333vw;
    margin: 0 0 5.8666666667vw;
  }
}
.p-service-feature__list {
  display: flex;
  flex-wrap: wrap;
  gap: min(20px, 1.6129032258vw);
  justify-content: space-between;
  font-size: min(16px, 1.2903225806vw);
}
@media (max-width: 767px) {
  .p-service-feature__list {
    font-size: 3.7333333333vw;
    gap: 3.2vw;
  }
}
.p-service-feature__item {
  border-radius: min(8px, 0.6451612903vw);
  background: #F0F2F6;
  flex-basis: calc((100% - min(20px, 1.6129032258vw)) / 2);
  display: flex;
  align-items: center;
  min-height: min(80px, 6.4516129032vw);
  padding: min(10px, 0.8064516129vw) min(30px, 2.4193548387vw) min(12px, 0.9677419355vw) min(66px, 5.3225806452vw);
  background-image: url("../images/service/icon-feature.png");
  background-size: min(26px, 2.0967741935vw) min(28px, 2.2580645161vw);
  background-position: min(20px, 1.6129032258vw) center;
  background-repeat: no-repeat;
  border-radius: min(8px, 0.6451612903vw);
  font-weight: 500;
}
@media (max-width: 767px) {
  .p-service-feature__item {
    font-size: 3.4666666667vw;
    padding: 4vw 5.3333333333vw 4.8vw 15.7333333333vw;
    flex-basis: 100%;
    gap: 3.2vw;
    background-size: 6.9333333333vw 7.4666666667vw;
    background-position: 5.3333333333vw center;
    border-radius: 2.1333333333vw;
  }
}

.p-service-strength {
  padding: min(75px, 6.0483870968vw) 0 min(95px, 7.6612903226vw);
  position: relative;
}
@media (max-width: 767px) {
  .p-service-strength {
    padding: 16vw 0 32vw;
  }
}
.p-service-strength:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-left: min(25px, 2.0161290323vw) solid transparent;
  border-right: min(25px, 2.0161290323vw) solid transparent;
  border-top: min(30px, 2.4193548387vw) solid #fff;
  position: absolute;
  top: -1px;
  left: 50%;
  transform: translateX(-50%);
}
@media (max-width: 767px) {
  .p-service-strength:after {
    border-left: 6.6666666667vw solid transparent;
    border-right: 6.6666666667vw solid transparent;
    border-top: 8vw solid #fff;
  }
}
[data-page=office] .p-service-strength {
  background: linear-gradient(283deg, rgba(231, 185, 185, 0.5) -2.68%, rgba(154, 206, 239, 0.5) 95.85%);
}
[data-page=mansion] .p-service-strength {
  background: linear-gradient(283deg, rgba(231, 210, 185, 0.5) -2.68%, rgba(154, 206, 239, 0.5) 95.85%);
}
[data-page=commercial] .p-service-strength {
  background: linear-gradient(283deg, rgba(207, 231, 185, 0.5) -2.68%, rgba(154, 206, 239, 0.5) 95.85%);
}
[data-page=hotel] .p-service-strength {
  background: linear-gradient(283deg, rgba(185, 231, 207, 0.5) -2.68%, rgba(154, 206, 239, 0.5) 95.85%);
}
[data-page=logistics-factory] .p-service-strength {
  background: linear-gradient(283deg, rgba(185, 220, 231, 0.5) -2.68%, rgba(154, 206, 239, 0.5) 95.85%);
}
[data-page=education] .p-service-strength {
  background: linear-gradient(283deg, rgba(193, 185, 231, 0.5) -2.68%, rgba(154, 206, 239, 0.5) 95.85%);
}
[data-page=others] .p-service-strength {
  background: linear-gradient(283deg, rgba(230, 230, 230, 0.5) -2.68%, rgba(154, 206, 239, 0.5) 95.85%);
}
.p-service-strength::before {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translatex(-50%);
  content: "";
  width: 100%;
  max-width: 1280px;
  height: 100%;
  margin: 0 auto;
  background-position: right 0 bottom min(60px, 4.8387096774vw);
  background-repeat: no-repeat;
}
@media (max-width: 767px) {
  .p-service-strength::before {
    width: 100%;
    background-position: right 5.3333333333vw bottom 8vw;
  }
}
[data-page=office] .p-service-strength::before {
  background-image: url("../images/common/icons/icon-office.svg");
  background-size: min(369px, 29.7580645161vw) min(302px, 24.3548387097vw);
}
@media (max-width: 767px) {
  [data-page=office] .p-service-strength::before {
    background-size: 65.0666666667vw 53.3333333333vw;
  }
}
[data-page=mansion] .p-service-strength::before {
  background-image: url("../images/common/icons/icon-mansion.svg");
  background-size: min(327px, 26.3709677419vw) min(302px, 24.3548387097vw), auto;
}
@media (max-width: 767px) {
  [data-page=mansion] .p-service-strength::before {
    background-size: 57.6vw 53.3333333333vw, auto;
  }
}
[data-page=commercial] .p-service-strength::before {
  background-image: url("../images/common/icons/icon-commercial.svg");
  background-size: min(369px, 29.7580645161vw) min(234px, 18.8709677419vw), auto;
}
@media (max-width: 767px) {
  [data-page=commercial] .p-service-strength::before {
    background-size: max(235px, 62.6666666667vw) max(148px, 39.4666666667vw), auto;
  }
}
[data-page=hotel] .p-service-strength::before {
  background-image: url("../images/common/icons/icon-hotel.svg");
  background-size: min(371px, 29.9193548387vw) min(227px, 18.3064516129vw), auto;
}
@media (max-width: 767px) {
  [data-page=hotel] .p-service-strength::before {
    background-size: max(235px, 62.6666666667vw) max(144px, 38.4vw), auto;
  }
}
[data-page=logistics-factory] .p-service-strength::before {
  background-image: url("../images/common/icons/icon-logistics-factory.svg");
  background-size: min(340px, 27.4193548387vw) min(262px, 21.1290322581vw), auto;
}
@media (max-width: 767px) {
  [data-page=logistics-factory] .p-service-strength::before {
    background-size: max(213px, 56.8vw) max(164px, 43.7333333333vw), auto;
  }
}
[data-page=education] .p-service-strength::before {
  background-image: url("../images/common/icons/icon-education.svg");
  background-size: min(340px, 27.4193548387vw) min(252px, 20.3225806452vw), auto;
}
@media (max-width: 767px) {
  [data-page=education] .p-service-strength::before {
    background-size: max(215px, 57.3333333333vw) max(159px, 42.4vw), auto;
  }
}
[data-page=others] .p-service-strength::before {
  background-image: url("../images/common/icons/icon-others.svg");
  background-size: min(326px, 26.2903225806vw) min(240px, 19.3548387097vw), auto;
}
@media (max-width: 767px) {
  [data-page=others] .p-service-strength::before {
    background-size: max(185px, 49.3333333333vw) max(136px, 36.2666666667vw), auto;
  }
}
.p-service-strength__title {
  font-size: min(32px, 2.5806451613vw);
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 0 0 min(37px, 2.9838709677vw);
}
@media (max-width: 767px) {
  .p-service-strength__title {
    font-size: 6.4vw;
    margin: 0 0 6.9333333333vw;
  }
}
.p-service-strength__body {
  display: flex;
  justify-content: center;
  max-width: min(940px, 75.8064516129vw);
  margin: 0 auto;
}
@media (max-width: 767px) {
  .p-service-strength__body {
    max-width: unset;
  }
}
.p-service-strength__list {
  font-size: min(18px, 1.4516129032vw);
  line-height: 1.8;
  letter-spacing: 0.03em;
  font-weight: 700;
}
@media (max-width: 767px) {
  .p-service-strength__list {
    font-size: 3.7333333333vw;
    line-height: 1.8;
  }
}
.p-service-strength__item {
  position: relative;
  padding-left: min(40px, 3.2258064516vw);
  margin-bottom: min(25px, 2.0161290323vw);
}
@media (max-width: 767px) {
  .p-service-strength__item {
    padding-left: 9.6vw;
    margin-bottom: 5.3333333333vw;
  }
}
.p-service-strength__item:last-child {
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .p-service-strength__item:last-child {
    margin-bottom: 0;
  }
}
.p-service-strength__item::before {
  content: "";
  display: block;
  width: min(21px, 1.6935483871vw);
  height: min(21px, 1.6935483871vw);
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background-image: url("../images/service/icon-check.png");
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}
@media (max-width: 767px) {
  .p-service-strength__item::before {
    width: 5.3333333333vw;
    height: 5.3333333333vw;
  }
}

.p-service-achievement {
  background: #F0F2F6;
  padding: min(80px, 6.4516129032vw) 0 min(80px, 6.4516129032vw);
  overflow: hidden;
}
@media (max-width: 767px) {
  .p-service-achievement {
    padding: 16vw 0;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-service-achievement__header .c-section-title__line {
    font-size: min(20px, 2.6041666667vw);
  }
}
.p-service-achievement__title {
  font-size: min(32px, 2.5806451613vw);
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.4;
  padding-left: min(20px, 1.6129032258vw);
  border-left: min(8px, 0.6451612903vw) solid #0052A4;
}
@media (max-width: 767px) {
  .p-service-achievement__title {
    font-size: 6.4vw;
    padding-left: 5.3333333333vw;
    border-left: 2.1333333333vw solid #0052A4;
    margin: 0;
  }
}
.p-service-achievement__body {
  padding: 0 calc((100% - 1100px) / 2);
}
@media (max-width: 767px) {
  .p-service-achievement__body {
    padding: 0 5.3333333333vw;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-service-achievement__body .l-container--full {
    max-width: clamp(0px, 81.6023738872vw, 1100px);
  }
}
.p-service-achievement__body .swiper {
  overflow: visible;
}
@media (max-width: 767px) {
  .p-service-achievement__body .swiper {
    overflow: hidden;
  }
}
.p-service-achievement__body .swiper-slide {
  max-width: min(340px, 27.4193548387vw);
}
@media (max-width: 767px) {
  .p-service-achievement__body .swiper-slide {
    max-width: 89.3333333333vw;
  }
}
.p-service-achievement__slider-nav {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: min(10px, 0.8064516129vw);
  position: absolute;
  top: max(-75px, -6.0483870968vw);
  right: 0;
}
@media (max-width: 767px) {
  .p-service-achievement__slider-nav {
    margin-bottom: 5.3333333333vw;
    margin-top: 7.4666666667vw;
    position: unset;
  }
}
.p-service-achievement__slider-nav .c-button--arrow-smallest {
  height: min(24px, 1.935483871vw);
}
@media (max-width: 767px) {
  .p-service-achievement__slider-nav .c-button--arrow-smallest {
    height: 6.4vw;
  }
}
.p-service-achievement__slider-nav-wrapper {
  position: relative;
}
@media (max-width: 767px) {
  .p-service-achievement__slider-nav-wrapper {
    padding: 0;
  }
}
.p-service-achievement__slider-pagination {
  width: auto !important;
  margin-right: min(10px, 0.8064516129vw);
}
@media (max-width: 767px) {
  .p-service-achievement__slider-pagination {
    margin-right: 1.3333333333vw;
  }
}
.p-service-achievement__slider-pagination .swiper-pagination-bullet {
  width: min(8px, 0.6451612903vw);
  height: min(8px, 0.6451612903vw);
  margin: 0 min(8px, 0.6451612903vw) !important;
}
@media (max-width: 767px) {
  .p-service-achievement__slider-pagination .swiper-pagination-bullet {
    width: 2.1333333333vw;
    height: 2.1333333333vw;
    margin: 0 1.6vw !important;
  }
}
.p-service-achievement__slider-pagination .swiper-pagination-bullet-active {
  background: #32373C;
}
.p-service-achievement__slider-prev, .p-service-achievement__slider-next {
  width: min(48px, 3.8709677419vw);
  height: min(24px, 1.935483871vw);
  position: relative;
  border: min(1px, 0.0806451613vw) solid #32373C;
  border-radius: 1000px;
  background: #fff;
  transition: background 0.3s ease;
}
@media (max-width: 767px) {
  .p-service-achievement__slider-prev, .p-service-achievement__slider-next {
    width: 12.8vw;
    height: 6.4vw;
    border: 0.2666666667vw solid #32373C;
  }
}
.p-service-achievement__slider-prev:hover, .p-service-achievement__slider-next:hover {
  background: #32373C;
}
.p-service-achievement__slider-prev::before, .p-service-achievement__slider-next::before {
  content: "";
  display: block;
  width: min(7px, 0.564516129vw);
  height: min(10px, 0.8064516129vw);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media (max-width: 767px) {
  .p-service-achievement__slider-prev::before, .p-service-achievement__slider-next::before {
    width: 1.8666666667vw;
    height: 2.6666666667vw;
  }
}
.p-service-achievement__slider-prev:hover::before {
  background: url("../images/common/arrow-white-left.svg") no-repeat center center/contain;
}
.p-service-achievement__slider-prev::before {
  background: url("../images/common/arrow-black-left.svg") no-repeat center center/contain;
}
.p-service-achievement__slider-next:hover::before {
  background: url("../images/common/arrow-white.svg") no-repeat center center/contain;
}
.p-service-achievement__slider-next::before {
  background: url("../images/common/arrow-black.svg") no-repeat center center/contain;
}
.p-service-achievement__slider-item {
  max-width: min(340px, 27.4193548387vw);
  border-radius: min(4px, 0.3225806452vw);
  overflow: hidden;
}
@media (max-width: 767px) {
  .p-service-achievement__slider-item {
    max-width: unset;
    border-radius: 1.0666666667vw;
  }
}
.p-service-achievement__slider-info {
  font-size: min(16px, 1.2903225806vw);
  font-weight: 400;
}
@media (max-width: 767px) {
  .p-service-achievement__slider-info {
    font-size: 3.7333333333vw;
  }
}
.p-service-achievement__slider-thumbnail {
  overflow: hidden;
  position: relative;
}
.p-service-achievement__slider-thumbnail img {
  display: block;
  width: 100%;
  object-fit: cover;
  object-position: center center;
  border-radius: min(4px, 0.3225806452vw);
}
@media (max-width: 767px) {
  .p-service-achievement__slider-thumbnail img {
    border-radius: 1.0666666667vw;
  }
}
.p-service-achievement__slider-content {
  width: 100%;
  padding: min(8px, 0.6451612903vw) 0;
  font-size: min(8px, 0.6451612903vw);
  line-height: 1.6;
  color: #32373C;
}
@media (max-width: 767px) {
  .p-service-achievement__slider-content {
    padding: 2.1333333333vw 0;
    font-size: 3.4666666667vw;
    line-height: 1.8;
  }
}
.p-service-tips {
  padding: min(140px, 11.2903225806vw) 0 min(100px, 8.064516129vw);
  color: #32373C;
}
@media (max-width: 767px) {
  .p-service-tips {
    padding: 16vw 0;
  }
}
.p-service-tips__block {
  display: flex;
}
@media (max-width: 767px) {
  .p-service-tips__block {
    flex-direction: column;
  }
}
.p-service-tips__block:not(:first-of-type) {
  margin-top: min(70px, 5.6451612903vw);
}
@media (max-width: 767px) {
  .p-service-tips__block:not(:first-of-type) {
    margin-top: 4vw;
  }
}
.p-service-tips__header {
  width: calc(100% - min(810px, 65.3225806452vw));
  writing-mode: vertical-rl;
  text-orientation: upright;
  background: url("../images/service/tips-bg.png") no-repeat;
  background-size: min(235px, 18.9516129032vw);
  background-position: left top;
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  align-items: flex-start;
  padding-top: min(36px, 2.9032258065vw);
  padding-left: min(20px, 1.6129032258vw);
  padding-right: min(50px, 4.0322580645vw);
  padding-bottom: min(42px, 3.3870967742vw);
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-service-tips__header {
    width: 230px;
  }
}
@media (max-width: 767px) {
  .p-service-tips__header {
    width: 100%;
    background-size: 53.8666666667vw;
    padding-top: 16vw;
    padding-bottom: 5.3333333333vw;
    justify-content: center;
    flex-direction: column-reverse;
    gap: 2.9333333333vw;
    background-position: center top;
    height: 64vw;
  }
}
@media (max-width: 767px) {
  .p-service-tips__block:nth-child(n+2) .p-service-tips__header {
    background-position: center 12vw;
    padding-top: 24vw;
    height: 69.3333333333vw;
  }
}
.p-service-tips__sub-title {
  font-size: min(18px, 1.4516129032vw);
  letter-spacing: 0.03em;
  font-weight: 500;
}
@media (max-width: 767px) {
  .p-service-tips__sub-title {
    font-size: 3.7333333333vw;
  }
}
.p-service-tips__title {
  font-size: min(40px, 3.2258064516vw);
  text-indent: -1em;
  padding-top: 1em;
  line-height: 1.3;
  font-weight: 700;
}
@media (max-width: 767px) {
  .p-service-tips__title {
    font-size: 9.6vw;
    text-indent: -1em;
    padding-top: 1em;
    line-height: 1.3;
    margin-right: 0;
  }
}
.p-service-tips__body {
  width: min(810px, 65.3225806452vw);
  padding-top: min(25px, 2.0161290323vw);
}
@media (max-width: 767px) {
  .p-service-tips__body {
    width: 100%;
  }
}

.p-service__header-arrow {
  padding-bottom: min(28px, 2.2580645161vw);
  margin-top: min(60px, 4.8387096774vw);
}
.p-service-maintenance .p-service__header-arrow {
  margin-top: min(0px, 0vw);
}
@media (max-width: 767px) {
  .p-service__header-arrow {
    padding-bottom: 4.2666666667vw;
    margin-top: 10.6666666667vw;
  }
  .p-service-maintenance .p-service__header-arrow {
    margin-top: 0vw;
  }
  .p-service-environment .p-service__header-arrow {
    margin-top: 10.6666666667vw;
  }
}

.p-service-point__section {
  background-size: min(158px, 12.7419354839vw), auto;
  background-position: right bottom, center center;
  background-repeat: no-repeat, repeat;
  border-radius: min(8px, 0.6451612903vw);
  padding: min(30px, 2.4193548387vw) min(30px, 2.4193548387vw) min(80px, 6.4516129032vw);
  flex-basis: min(340px, 27.4193548387vw);
}
@media (max-width: 767px) {
  .p-service-point__section {
    padding: 8vw 8vw 16vw;
    background-size: 37.8666666667vw, auto;
    background-position: 110% bottom, center center;
    border-radius: 2.1333333333vw;
  }
}
.p-service-point__section:nth-child(1) {
  background-image: url("../images/service/point-1.png"), linear-gradient(349.06deg, rgba(150, 166, 255, 0.3) 32.75%, rgba(149, 223, 255, 0.3) 107.85%);
}
.p-service-point__section:nth-child(2) {
  background-image: url("../images/service/point-2.png"), linear-gradient(349.06deg, rgba(150, 166, 255, 0.3) 32.75%, rgba(149, 223, 255, 0.3) 107.85%);
}
.p-service-point__section:nth-child(3) {
  background-image: url("../images/service/point-3.png"), linear-gradient(349.06deg, rgba(150, 166, 255, 0.3) 32.75%, rgba(149, 223, 255, 0.3) 107.85%);
}
.p-service-point__title {
  font-size: min(24px, 1.935483871vw);
  font-weight: 700;
  text-align: center;
  margin: 0 0 min(23px, 1.8548387097vw);
  line-height: 1.4;
  min-height: min(68px, 5.4838709677vw);
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-service-point__title .u-pc-only {
    display: none !important;
  }
}
@media (max-width: 767px) {
  .p-service-point__title {
    font-size: 4.8vw;
    margin: 0 0 5.3333333333vw;
  }
}
.p-service-point__body {
  font-size: min(16px, 1.2903225806vw);
  line-height: 2;
  display: grid;
  gap: min(40px, 3.2258064516vw);
  grid-template-columns: repeat(3, 1fr);
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-service-point__body {
    gap: min(30px, 3.90625vw);
  }
}
@media (max-width: 767px) {
  .p-service-point__body {
    grid-template-columns: repeat(1, 1fr);
    flex-direction: column;
    gap: 5.3333333333vw;
  }
}
.p-service-point__section-body p {
  font-size: min(16px, 1.2903225806vw);
  line-height: 2;
}
@media (max-width: 767px) {
  .p-service-point__section-body p {
    font-size: 3.4666666667vw;
  }
}

.p-service-detail__article {
  display: flex;
  gap: min(64px, 5.1612903226vw);
  padding: min(40px, 3.2258064516vw) 0;
  align-items: flex-start;
}
@media (max-width: 767px) {
  .p-service-detail__article {
    flex-direction: column;
    padding: 7.4666666667vw 0;
  }
}
.p-service-detail__article:first-child {
  padding-top: 0;
}
.p-service-detail__article:last-child {
  padding-bottom: 0;
}
.p-service-detail__image-pc {
  border-radius: min(4px, 0.3225806452vw);
  overflow: hidden;
  width: min(236px, 19.0322580645vw);
}
@media (max-width: 767px) {
  .p-service-detail__image-pc {
    display: none;
  }
}
@media (max-width: 767px) {
  .p-service-detail__image-sp {
    border-radius: 1.0666666667vw;
    overflow: hidden;
    width: 32vw;
    height: 17.8666666667vw;
  }
}
.p-service-detail__article + .p-service-detail__article {
  border-top: min(1px, 0.0806451613vw) solid #D8D8D8;
}
@media (max-width: 767px) {
  .p-service-detail__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 5.3333333333vw;
  }
}
@media (max-width: 767px) {
  .p-service-detail__header img {
    width: 32vw;
    height: 17.8666666667vw;
  }
}
.p-service-detail__content {
  flex-basis: min(800px, 64.5161290323vw);
}
@media (max-width: 767px) {
  .p-service-detail__content {
    max-width: unset;
    flex-basis: auto;
  }
}
.p-service-detail__title {
  margin: 0 0 min(20px, 1.6129032258vw);
  font-size: min(24px, 1.935483871vw);
  font-weight: 700;
  line-height: 1.4;
}
@media (max-width: 767px) {
  .p-service-detail__title {
    font-size: 4.8vw;
  }
}
.p-service-detail__body {
  font-size: min(16px, 1.2903225806vw);
  line-height: 1.8;
}
@media (max-width: 767px) {
  .p-service-detail__body p {
    font-size: 3.4666666667vw;
    line-height: 1.8;
  }
}
.p-service-detail__tags {
  display: flex;
  flex-wrap: wrap;
  gap: min(12px, 0.9677419355vw);
  margin-top: min(20px, 1.6129032258vw);
}
@media (max-width: 767px) {
  .p-service-detail__tags {
    gap: 2.1333333333vw;
    margin-top: 5.3333333333vw;
  }
}
.p-service-detail__tag {
  font-size: min(14px, 1.1290322581vw);
  font-weight: 500;
  line-height: 1;
  padding: min(8px, 0.6451612903vw) min(20px, 1.6129032258vw);
  border-radius: 1000px;
  background: #32373C;
  color: #fff;
  border: 1px solid #32373C;
}
@media (max-width: 767px) {
  .p-service-detail__tag {
    font-size: 3.2vw;
    padding: 2.1333333333vw 4.2666666667vw;
  }
}
.p-service-detail__tag:hover {
  background-color: #fff;
  color: #32373C;
}

.p-service-link {
  background-color: #F0F2F6;
  padding: min(80px, 6.4516129032vw) 0 min(106px, 8.5483870968vw);
}
@media (max-width: 767px) {
  .p-service-link {
    padding: 16vw 0 18.1333333333vw;
  }
}
.p-service-link__header {
  margin-bottom: min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .p-service-link__header {
    margin-bottom: 5.3333333333vw;
  }
}
.p-service-link__body {
  margin-bottom: min(60px, 4.8387096774vw);
}
@media (max-width: 767px) {
  .p-service-link__body {
    margin-bottom: 10.6666666667vw;
  }
}
.p-service-link__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .p-service-link__list {
    grid-template-columns: 1fr;
    gap: 7.4666666667vw;
  }
}
.p-service-link__item {
  background-color: #fff;
  border-radius: min(4px, 0.3225806452vw);
  overflow: hidden;
  box-shadow: 6px 6px 20px 0 rgba(47, 55, 73, 0.07);
}
@media (max-width: 767px) {
  .p-service-link__item {
    border-radius: 1.0666666667vw;
  }
}
.p-service-link__link {
  display: block;
  text-decoration: none;
  color: inherit;
  transition: opacity 0.3s ease;
}
.p-service-link__link:hover {
  opacity: 0.7;
}
.p-service-link__thumbnail {
  position: relative;
  overflow: hidden;
  aspect-ratio: 17/10;
}
.p-service-link__thumbnail img {
  width: 100%;
  height: auto;
  display: block;
}
.p-service-link__content {
  padding: min(20px, 1.6129032258vw) min(20px, 1.6129032258vw) min(25px, 2.0161290323vw);
}
@media (max-width: 767px) {
  .p-service-link__content {
    padding: 4vw 4vw 5.3333333333vw;
  }
}
.p-service-link__text {
  font-size: min(16px, 1.2903225806vw);
  line-height: 1.6;
  margin-bottom: min(30px, 2.4193548387vw);
}
@media (max-width: 767px) {
  .p-service-link__text {
    font-size: 3.7333333333vw;
    margin-bottom: 5.3333333333vw;
  }
}
.p-service-link__category {
  font-size: min(14px, 1.1290322581vw);
  line-height: 1.4;
  color: #666;
  text-align: center;
}
.p-service-link__category img {
  width: min(120px, 9.6774193548vw);
  height: auto;
}
@media (max-width: 767px) {
  .p-service-link__category img {
    width: 32vw;
  }
}
@media (max-width: 767px) {
  .p-service-link__category {
    font-size: 3.2vw;
  }
}
.p-service-link__button {
  text-align: center;
}
.p-service-link__button-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: min(16px, 1.2903225806vw);
  background: #000;
  color: #fff;
  text-decoration: none;
  padding: min(20px, 1.6129032258vw) min(48px, 3.8709677419vw);
  border-radius: 1000px;
  font-size: min(18px, 1.4516129032vw);
  font-weight: 500;
  transition: background 0.3s ease;
}
@media (max-width: 767px) {
  .p-service-link__button-link {
    gap: 3.2vw;
    padding: 4.2666666667vw 8.5333333333vw;
    font-size: 4.2666666667vw;
  }
}
.p-service-link__button-link:hover {
  background: #333;
}
.p-service-link__button-text {
  line-height: 1;
}
.p-service-link__button-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(40px, 3.2258064516vw);
  height: min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .p-service-link__button-icon {
    width: 10.6666666667vw;
    height: 10.6666666667vw;
  }
}
.p-service-link__button-icon img {
  width: 100%;
  height: 100%;
  display: block;
}

@media (max-width: 767px) {
  .p-service-case-related {
    margin-top: 18.6666666667vw;
  }
  .p-service-case-related .p-voice-card__title {
    width: 37.3333333333vw !important;
    max-width: 38.6666666667vw !important;
  }
  .p-service-case-related .p-voice-card__items {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.6666666667vw;
    justify-items: center;
    margin-left: -0.5333333333vw;
  }
  .p-service-case-related .p-voice-card__category {
    position: static !important;
    left: auto !important;
    bottom: auto !important;
    transform: none !important;
    margin-top: 3.7333333333vw !important;
  }
  .p-service-case-related .p-voice-card__body {
    height: 34.6666666667vw;
  }
}

.p-service-cta {
  background-image: linear-gradient(270deg, #0052A4 53.5%, #528BD0 100%);
  padding: min(60px, 4.8387096774vw) 0;
}
@media (max-width: 767px) {
  .p-service-cta {
    padding: 12.8vw 0;
  }
}
.p-service-cta__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .p-service-cta__inner {
    flex-direction: column;
    text-align: center;
    gap: 8.5333333333vw;
  }
}
.p-service-cta__content {
  color: #fff;
}
.p-service-cta__label {
  font-size: min(16px, 1.2903225806vw);
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-bottom: min(8px, 0.6451612903vw);
  font-family: "Montserrat", Arial, sans-serif;
}
@media (max-width: 767px) {
  .p-service-cta__label {
    font-size: 3.7333333333vw;
    margin-bottom: 2.1333333333vw;
  }
}
.p-service-cta__title {
  font-size: min(40px, 3.2258064516vw);
  font-weight: 700;
  margin: 0 0 min(40px, 3.2258064516vw);
  line-height: 1.4;
}
@media (max-width: 767px) {
  .p-service-cta__title {
    font-size: 8.5333333333vw;
    margin: 0 0 2.1333333333vw;
  }
}
.p-service-cta__text {
  font-size: min(16px, 1.2903225806vw);
  line-height: 1.8;
}
@media (max-width: 767px) {
  .p-service-cta__text {
    font-size: 3.4666666667vw;
  }
}
.p-service-cta__button {
  padding: min(24px, 1.935483871vw) min(65px, 5.2419354839vw);
  min-width: min(400px, 32.2580645161vw);
  font-size: min(20px, 1.6129032258vw);
  color: #0052A4;
}
@media (max-width: 767px) {
  .p-service-cta__button {
    padding: 4.8vw 12.8vw;
    min-width: 72vw;
    font-size: 3.7333333333vw;
  }
}
.p-service-cta__button::after {
  width: min(12px, 0.9677419355vw);
  height: min(18px, 1.4516129032vw);
  background: url("../images/common/arrow-blue.svg") no-repeat center center/contain;
}
@media (max-width: 767px) {
  .p-service-cta__button::after {
    width: 2.6666666667vw;
    height: 3.7333333333vw;
  }
}

.p-service-tips-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  display: none;
}
.p-service-tips-modal.is-active {
  display: block;
}
.p-service-tips-modal__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}
.p-service-tips-modal__container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(1100px, 88.7096774194vw);
  max-width: calc(100% - min(40px, 3.2258064516vw));
  max-height: calc(100% - min(40px, 3.2258064516vw));
}
@media (max-width: 767px) {
  .p-service-tips-modal__container {
    width: 89.3333333333vw;
    max-width: calc(100% - 10.6666666667vw);
    max-height: calc(100% - 10.6666666667vw);
  }
}
.p-service-tips-modal__background-graphic {
  position: absolute;
  width: min(324.8px, 26.1935483871vw);
  height: min(324.8px, 26.1935483871vw);
  border-radius: 50%;
  background: #0052A4;
  border: min(6px, 0.4838709677vw) solid;
  border-image-source: linear-gradient(40deg, rgba(66, 211, 255, 0.5) 0%, rgb(252, 183, 205) 85%);
  border-image-slice: 1;
  opacity: 0.5;
  z-index: -1;
}
@media (max-width: 767px) {
  .p-service-tips-modal__background-graphic {
    width: 74.24vw;
    height: 74.24vw;
    border-width: 1.6vw;
  }
}
.p-service-tips-modal__background-graphic--top {
  top: max(-160px, -12.9032258065vw);
  left: max(-40px, -3.2258064516vw);
}
@media (max-width: 767px) {
  .p-service-tips-modal__background-graphic--top {
    top: -32vw;
    left: -29.3333333333vw;
  }
}
.p-service-tips-modal__background-graphic--bottom {
  bottom: max(-160px, -12.9032258065vw);
  left: max(-40px, -3.2258064516vw);
}
@media (max-width: 767px) {
  .p-service-tips-modal__background-graphic--bottom {
    bottom: -32vw;
    left: -29.3333333333vw;
  }
}
.p-service-tips-modal__content {
  position: relative;
  background-color: #fff;
  border-radius: min(4px, 0.3225806452vw);
  padding: min(60px, 4.8387096774vw) min(60px, 4.8387096774vw) min(60px, 4.8387096774vw);
  overflow-y: auto;
}
@media (max-width: 767px) {
  .p-service-tips-modal__content {
    border-radius: 1.0666666667vw;
    padding: 10.6666666667vw 5.8666666667vw 10.6666666667vw;
  }
}
.p-service-tips-modal__close {
  position: absolute;
  top: 0;
  right: min(20px, 1.6129032258vw);
  width: min(48px, 3.8709677419vw);
  height: min(48px, 3.8709677419vw);
  background-color: #32373C;
  border-radius: 50%;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s ease;
  transform: translateY(-50%);
  z-index: 1;
}
@media (max-width: 767px) {
  .p-service-tips-modal__close {
    width: 10.6666666667vw;
    height: 10.6666666667vw;
  }
}
.p-service-tips-modal__close:hover {
  opacity: 0.7;
}
.p-service-tips-modal__close-icon {
  position: relative;
  width: min(12px, 0.9677419355vw);
  height: min(12px, 0.9677419355vw);
}
@media (max-width: 767px) {
  .p-service-tips-modal__close-icon {
    width: 2.6666666667vw;
    height: 2.6666666667vw;
  }
}
.p-service-tips-modal__close-icon::before, .p-service-tips-modal__close-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: min(2px, 0.1612903226vw);
  background-color: #fff;
}
@media (max-width: 767px) {
  .p-service-tips-modal__close-icon::before, .p-service-tips-modal__close-icon::after {
    height: 0.5333333333vw;
  }
}
.p-service-tips-modal__close-icon::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.p-service-tips-modal__close-icon::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.p-service-tips-modal__bottom {
  margin-top: min(30px, 2.4193548387vw);
  text-align: right;
}
@media (max-width: 767px) {
  .p-service-tips-modal__bottom {
    margin-top: 8vw;
    text-align: center;
  }
}
.p-service-tips-modal__body {
  display: flex;
  gap: min(60px, 4.8387096774vw);
  margin-bottom: min(28px, 2.2580645161vw);
}
@media (max-width: 767px) {
  .p-service-tips-modal__body {
    flex-direction: column;
    gap: 5.3333333333vw;
    margin-bottom: 5.3333333333vw;
  }
}
.p-service-tips-modal__category {
  padding: min(5px, 0.4032258065vw) min(10px, 0.8064516129vw);
  color: #fff;
  font-size: 3.4666666667vw;
  border-radius: min(4px, 0.3225806452vw);
}
@media (min-width: 768px) {
  .p-service-tips-modal__category {
    font-size: clamp(14px, 1.2903225806vw, 16px);
  }
}
@media (max-width: 767px) {
  .p-service-tips-modal__category {
    border-radius: 1.0666666667vw;
  }
}
.p-service-tips-modal__category--virus {
  background-color: #6D00A4;
}
.p-service-tips-modal__category--energy {
  background-color: #0052A4;
}
.p-service-tips-modal__thumbnails {
  width: min(236px, 19.0322580645vw);
  flex-shrink: 0;
}
@media (max-width: 767px) {
  .p-service-tips-modal__thumbnails {
    display: none;
  }
}
.p-service-tips-modal__thumbnails-inner {
  display: flex;
  flex-direction: column;
  gap: min(12px, 0.9677419355vw);
}
.p-service-tips-modal__thumbnails-inner img {
  width: 100%;
  height: 100%;
  display: block;
}
.p-service-tips-modal__thumbnail-item {
  border-radius: min(4px, 0.3225806452vw);
  overflow: hidden;
}
.p-service-tips-modal__thumbnail-item img {
  width: 100%;
  height: auto;
  display: block;
}
.p-service-tips-modal__thumbnail-sp {
  flex-shrink: 0;
  border-radius: 1.0666666667vw;
  overflow: hidden;
  width: 32vw;
  height: 17.8666666667vw;
}
@media (min-width: 768px) {
  .p-service-tips-modal__thumbnail-sp {
    display: none;
  }
}
.p-service-tips-modal__thumbnail-sp img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.p-service-tips-modal__details {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: min(28px, 2.2580645161vw);
}
@media (max-width: 767px) {
  .p-service-tips-modal__details {
    gap: 5.3333333333vw;
  }
}
.p-service-tips-modal__header {
  display: flex;
  align-items: center;
  gap: 4vw;
}
@media (min-width: 768px) {
  .p-service-tips-modal__header {
    display: block;
  }
}
.p-service-tips-modal__title {
  font-size: min(24px, 1.935483871vw);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.02em;
  color: #32373C;
  margin: 0;
  display: flex;
  align-items: center;
  gap: min(10px, 0.8064516129vw);
}
@media (max-width: 767px) {
  .p-service-tips-modal__title {
    font-size: 4.8vw;
    flex: 1;
    gap: 1.3333333333vw;
    flex-direction: column;
    align-items: flex-start;
  }
}
.p-service-tips-modal__description {
  font-size: min(16px, 1.2903225806vw);
  line-height: 1.8;
  letter-spacing: 0.02em;
  color: #32373C;
}
@media (max-width: 767px) {
  .p-service-tips-modal__description {
    font-size: 3.4666666667vw;
  }
}
.p-service-tips-modal__description p {
  margin: 0;
  font-size: min(16px, 1.2903225806vw);
}
@media (max-width: 767px) {
  .p-service-tips-modal__description p {
    font-size: 3.4666666667vw;
  }
}
.p-service-tips-modal__tags {
  display: flex;
  flex-wrap: wrap;
  gap: min(12px, 0.9677419355vw);
}
@media (max-width: 767px) {
  .p-service-tips-modal__tags {
    gap: 2.1333333333vw;
  }
}
.p-service-tips-modal__tag {
  display: inline-block;
  padding: min(8px, 0.6451612903vw) min(20px, 1.6129032258vw);
  background-color: #32373C;
  color: #fff;
  border-radius: min(30px, 2.4193548387vw);
  font-size: min(15px, 1.2096774194vw);
  line-height: 2;
  letter-spacing: 0.02em;
}
@media (max-width: 767px) {
  .p-service-tips-modal__tag {
    padding: 2.1333333333vw 2.6666666667vw;
    border-radius: 8vw;
    font-size: 3.2vw;
  }
}
.p-service-tips-modal__separator {
  width: 100%;
  height: min(1px, 0.0806451613vw);
  background-color: #D8D8D8;
  margin-bottom: min(28px, 2.2580645161vw);
}
@media (max-width: 767px) {
  .p-service-tips-modal__separator {
    height: 0.2666666667vw;
    margin-bottom: 5.3333333333vw;
  }
}
.p-service-tips-modal__footer {
  text-align: right;
}
@media (max-width: 767px) {
  .p-service-tips-modal__footer {
    text-align: center;
  }
}
.p-service-tips-modal__button {
  display: inline-block;
  padding: min(18px, 1.4516129032vw) min(49px, 3.9516129032vw);
  background-color: #32373C;
  color: #fff;
  text-decoration: none;
  border-radius: min(24px, 1.935483871vw);
  font-size: min(15px, 1.2096774194vw);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.05em;
  transition: opacity 0.3s ease;
}
@media (max-width: 767px) {
  .p-service-tips-modal__button {
    padding: 4.8vw 13.0666666667vw;
    border-radius: 6.4vw;
    font-size: 3.7333333333vw;
    min-width: 72vw;
  }
}
.p-service-tips-modal__button:hover {
  opacity: 0.7;
}
.p-service-tips-modal__field > div {
  display: flex;
  border-top: 1px solid #D8D8D8;
  padding-top: min(20px, 1.6129032258vw);
  padding-bottom: min(20px, 1.6129032258vw);
  align-items: center;
  gap: min(20px, 1.6129032258vw);
}
@media (max-width: 767px) {
  .p-service-tips-modal__field > div {
    padding-top: 2.6666666667vw;
    padding-bottom: 2.6666666667vw;
  }
}
.p-service-tips-modal__field > div dt {
  flex: 0 1 20%;
}
@media (max-width: 767px) {
  .p-service-tips-modal__field > div dt {
    flex: 0 1 29.8507462687%;
  }
}
.p-service-tips-modal__field > div dd {
  flex: 1;
}

.p-service-emergency {
  margin-top: min(30px, 2.4193548387vw);
}
@media (max-width: 767px) {
  .p-service-emergency {
    margin-top: 10.6666666667vw;
  }
}
.p-service-emergency__inner {
  background-color: #F0F2F6;
  padding: min(30px, 2.4193548387vw);
}
@media (max-width: 767px) {
  .p-service-emergency__inner {
    padding: 8vw 5.3333333333vw;
  }
}
.p-service-emergency__title {
  font-size: 4.8vw;
  margin-bottom: min(20px, 1.6129032258vw);
}
@media (min-width: 768px) {
  .p-service-emergency__title {
    font-size: clamp(14px, 1.935483871vw, 24px);
  }
}
@media (max-width: 767px) {
  .p-service-emergency__title {
    margin-bottom: 2.6666666667vw;
  }
}
.p-service-emergency__img {
  max-width: min(940px, 75.8064516129vw);
  padding-bottom: min(40px, 3.2258064516vw);
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
@media (max-width: 767px) {
  .p-service-emergency__img {
    max-width: 78.6666666667vw;
    padding-bottom: 0;
  }
}

.p-service-child-pages {
  padding: min(80px, 6.4516129032vw) 0 min(120px, 9.6774193548vw);
}
@media (max-width: 767px) {
  .p-service-child-pages {
    padding: 13.3333333333vw 0 21.3333333333vw;
  }
}
.p-service-child-pages__grid {
  display: flex;
  flex-direction: column;
  gap: min(32px, 2.5806451613vw);
}
@media (max-width: 767px) {
  .p-service-child-pages__grid {
    gap: 6.4vw;
  }
}
.p-service-child-pages__item {
  height: 100%;
}
.p-service-child-pages__link {
  display: block;
  height: 100%;
  text-decoration: none;
  color: inherit;
}
.p-service-child-pages__thumbnail {
  position: relative;
  overflow: hidden;
}
.p-service-child-pages__thumbnail-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.p-service-child-pages__content {
  display: flex;
  flex-direction: column;
  gap: min(20px, 1.6129032258vw);
}
.p-service-child-pages__title {
  font-weight: 700;
  line-height: 1.4;
  margin: 0;
}
.p-service-child-pages__excerpt {
  letter-spacing: 0.02em;
  color: #32373C;
}
.p-service-child-pages__button {
  margin-top: auto;
}

.p-service-media {
  display: flex;
  gap: min(80px, 6.4516129032vw);
  padding-top: min(60px, 4.8387096774vw);
  padding-bottom: min(60px, 4.8387096774vw);
  border-top: 1px solid #D8D8D8;
}
@media (max-width: 767px) {
  .p-service-media {
    flex-direction: column-reverse;
    gap: 5.3333333333vw;
    padding-top: 10.6666666667vw;
    padding-bottom: 10.6666666667vw;
  }
}
.p-service-media:first-child {
  padding-top: 0;
  border-top: none;
}
.p-service-media:last-child {
  padding-bottom: 0;
}
.p-service-media__body {
  flex: 1;
}
.p-service-media__title {
  font-size: min(26px, 2.0967741935vw);
  line-height: 1.4;
  font-weight: 700;
  margin-bottom: min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .p-service-media__title {
    font-size: 5.3333333333vw;
    margin-bottom: 5.3333333333vw;
  }
}
.p-service-media__text {
  line-height: 2;
}
.p-service-media__img-wrapper {
  flex: 0 1 38.1818181818%;
}
.p-service-media__img-wrapper img {
  border-radius: min(8px, 0.6451612903vw);
  object-fit: cover;
  object-position: center center;
  height: min(236px, 19.0322580645vw);
}
@media (max-width: 767px) {
  .p-service-media__img-wrapper img {
    border-radius: 2.1333333333vw;
    height: 50.1333333333vw;
  }
}
.p-service-media__button-wrapper {
  margin-top: min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .p-service-media__button-wrapper {
    margin-top: 5.3333333333vw;
    text-align: center;
  }
}

.p-service-media-features__header {
  font-size: min(24px, 1.935483871vw);
  font-weight: 700;
  padding: min(10px, 0.8064516129vw);
  background-color: #F0F2F6;
  margin-bottom: min(40px, 3.2258064516vw);
  font-size: 4.8vw;
}
@media (min-width: 768px) {
  .p-service-media-features__header {
    font-size: clamp(14px, 1.935483871vw, 24px);
  }
}
@media (max-width: 767px) {
  .p-service-media-features__header {
    padding: 2.6666666667vw;
    margin-bottom: 5.3333333333vw;
  }
}
.p-service-media-features__text {
  width: min(800px, 64.5161290323vw);
  margin-bottom: min(60px, 4.8387096774vw);
  line-height: 200%;
}
@media (max-width: 767px) {
  .p-service-media-features__text {
    width: 89.3333333333vw;
    margin-bottom: 8vw;
    line-height: 200%;
  }
}

.p-service-media-feature {
  display: flex;
  align-items: flex-start;
  gap: min(80px, 6.4516129032vw);
}
@media (max-width: 767px) {
  .p-service-media-feature {
    display: grid;
    gap: 5.3333333333vw;
    grid-template-columns: 1fr;
    grid-template-areas: "meta" "thumb" "text";
  }
}
.p-service-media-feature__body {
  flex: 1 1 min(600px, 48.3870967742vw);
  max-width: min(600px, 48.3870967742vw);
}
@media (max-width: 767px) {
  .p-service-media-feature__body {
    max-width: 100%;
    display: contents;
  }
}
.p-service-media-feature__meta {
  display: flex;
  align-items: center;
  gap: min(30px, 2.4193548387vw);
  margin-bottom: min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .p-service-media-feature__meta {
    grid-area: meta;
    margin-bottom: 0;
  }
}
@media (max-width: 767px) {
  .p-service-media-feature__meta {
    gap: 4.2666666667vw;
  }
}
.p-service-media-feature__number {
  font-family: "Montserrat", Arial, sans-serif;
  font-style: italic;
  line-height: 1;
  color: #32373C;
  font-size: 12.8vw;
}
@media (min-width: 768px) {
  .p-service-media-feature__number {
    font-size: clamp(14px, 4.1935483871vw, 52px);
  }
}
.p-service-media-feature__title {
  position: relative;
  font-weight: 700;
  padding-left: min(30px, 2.4193548387vw);
  font-size: 4.8vw;
}
@media (min-width: 768px) {
  .p-service-media-feature__title {
    font-size: clamp(14px, 1.935483871vw, 24px);
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-service-media-feature__title .u-pc-only {
    display: none !important;
  }
}
@media (max-width: 767px) {
  .p-service-media-feature__title {
    padding-left: 4vw;
  }
}
.p-service-media-feature__title::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  content: "";
  width: 1px;
  height: 75%;
  background: #000;
}
@media (max-width: 767px) {
  .p-service-media-feature__title::before {
    height: 80%;
    top: 54%;
  }
}
.p-service-media-feature__text {
  line-height: 2;
}
@media (max-width: 767px) {
  .p-service-media-feature__text {
    grid-area: text;
  }
}
.p-service-media-feature__thumb {
  flex: 0 0 min(420px, 33.8709677419vw);
}
@media (max-width: 767px) {
  .p-service-media-feature__thumb {
    grid-area: thumb;
  }
}
.p-service-media-feature__thumb img {
  border-radius: min(8px, 0.6451612903vw);
}
@media (max-width: 767px) {
  .p-service-media-feature__thumb img {
    border-radius: 2.1333333333vw;
  }
}
.p-service-media-feature + .p-service-media-feature {
  margin-top: min(60px, 4.8387096774vw);
}
@media (max-width: 767px) {
  .p-service-media-feature + .p-service-media-feature {
    margin-top: 10.6666666667vw;
  }
}

.p-service-robot-dx__sp-br {
  display: none;
}
@media (max-width: 767px) {
  .p-service-robot-dx__sp-br {
    display: inline;
  }
}
.p-service-robot-dx__items {
  margin-top: min(60px, 4.8387096774vw);
}
@media (max-width: 767px) {
  .p-service-robot-dx__items {
    margin-top: 13.3333333333vw;
  }
}
.p-service-robot-dx__item {
  display: grid;
  grid-template-columns: min(600px, 48.3870967742vw) min(80px, 6.4516129032vw) min(420px, 33.8709677419vw);
  column-gap: 0;
}
@media (max-width: 767px) {
  .p-service-robot-dx__item {
    display: flex;
    flex-direction: column;
  }
}
.p-service-robot-dx__item + .p-service-robot-dx__item {
  margin-top: min(70px, 5.6451612903vw);
}
@media (max-width: 767px) {
  .p-service-robot-dx__item + .p-service-robot-dx__item {
    margin-top: 13.3333333333vw;
  }
}
.p-service-robot-dx__item-visual {
  grid-column: 3;
  grid-row: 1/3;
}
@media (max-width: 767px) {
  .p-service-robot-dx__item-visual {
    order: 2;
  }
}
.p-service-robot-dx__item-visual img {
  width: min(420px, 33.8709677419vw);
  height: min(236px, 19.0322580645vw);
  border-radius: min(8px, 0.6451612903vw);
  object-fit: cover;
}
@media (max-width: 767px) {
  .p-service-robot-dx__item-visual img {
    width: 100%;
    height: auto;
    border-radius: 2.1333333333vw;
  }
}
.p-service-robot-dx__item-title {
  grid-column: 1;
  grid-row: 1;
  display: flex;
  align-items: center;
  gap: min(28px, 2.2580645161vw);
  line-height: 1.4;
  font-weight: 700;
  margin-bottom: min(22px, 1.7741935484vw);
  font-size: 5.3333333333vw;
}
@media (min-width: 768px) {
  .p-service-robot-dx__item-title {
    font-size: clamp(14px, 2.2580645161vw, 28px);
  }
}
@media (max-width: 767px) {
  .p-service-robot-dx__item-title {
    order: 1;
    gap: 4.2666666667vw;
    margin-bottom: 7.4666666667vw;
  }
}
.p-service-robot-dx__item-title-number {
  position: relative;
  padding-right: min(38px, 3.064516129vw);
  color: #32373C;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: min(68px, 5.4838709677vw);
  font-style: italic;
  font-weight: 400;
  line-height: 1;
  flex-shrink: 0;
}
@media (max-width: 767px) {
  .p-service-robot-dx__item-title-number {
    padding-right: 6.9333333333vw;
    font-size: 12.8vw;
  }
}
.p-service-robot-dx__item-title-number::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 100%;
  background-color: #000000;
}
@media (max-width: 767px) {
  .p-service-robot-dx__item-title-number::after {
    top: auto;
    bottom: 0;
    transform: none;
    width: 1px;
    height: 90%;
  }
}
.p-service-robot-dx__item-title-text {
  flex: 1;
  font-size: min(24px, 1.935483871vw);
  max-width: min(700px, 56.4516129032vw);
  font-weight: 700;
}
@media (max-width: 767px) {
  .p-service-robot-dx__item-title-text {
    max-width: 100%;
    font-size: 4vw;
  }
}
.p-service-robot-dx__item-detail {
  grid-column: 1;
  grid-row: 2;
  line-height: 2;
  max-width: min(600px, 48.3870967742vw);
  margin-top: 0;
}
@media (max-width: 767px) {
  .p-service-robot-dx__item-detail {
    letter-spacing: 0.05em;
    order: 3;
    max-width: 100%;
    margin-top: 5.3333333333vw;
  }
}
.p-service-robot-dx__item-text {
  line-height: 2;
  white-space: pre-line;
  font-weight: 400;
}
@media (max-width: 767px) {
  .p-service-robot-dx__item-text {
    letter-spacing: 0.02em;
    font-size: 3.4666666667vw;
  }
}
.p-service-robot-dx__cost {
  margin-top: min(40px, 3.2258064516vw);
  display: flex;
  align-items: flex-start;
  gap: min(80px, 6.4516129032vw);
}
@media (max-width: 767px) {
  .p-service-robot-dx__cost {
    display: grid;
    gap: 5.3333333333vw;
    grid-template-columns: 1fr;
    grid-template-areas: "meta" "thumb" "text";
  }
}
.p-service-robot-dx__cost-content {
  flex: 1 1 min(600px, 48.3870967742vw);
  max-width: min(600px, 48.3870967742vw);
}
@media (max-width: 767px) {
  .p-service-robot-dx__cost-content {
    max-width: 100%;
    display: contents;
  }
}
.p-service-robot-dx__cost-text {
  line-height: 2;
  margin-bottom: min(5px, 0.4032258065vw);
  white-space: pre-line;
}
@media (max-width: 767px) {
  .p-service-robot-dx__cost-text {
    letter-spacing: 0.05em;
    margin-bottom: 4.2666666667vw;
  }
}
.p-service-robot-dx__cost-text:last-of-type {
  margin-bottom: 0;
}
.p-service-robot-dx__cost-note {
  font-size: min(14px, 1.1290322581vw);
  line-height: 1.5;
}
@media (max-width: 767px) {
  .p-service-robot-dx__cost-note {
    margin-top: 0vw;
    font-size: 3.4666666667vw;
  }
}
.p-service-robot-dx__cost-visual {
  flex: 0 0 min(420px, 33.8709677419vw);
}
@media (max-width: 767px) {
  .p-service-robot-dx__cost-visual {
    grid-area: thumb;
  }
}
.p-service-robot-dx__faq-items {
  margin-top: min(0px, 0vw);
  margin-bottom: min(110px, 8.8709677419vw);
}
@media (max-width: 767px) {
  .p-service-robot-dx__faq-items {
    margin-top: 7.4666666667vw;
    margin-bottom: 21.3333333333vw;
  }
}
.p-service-robot-dx__faq-item {
  max-width: min(1100px, 88.7096774194vw);
}
@media (max-width: 767px) {
  .p-service-robot-dx__faq-item {
    max-width: 100%;
  }
}
.p-service-robot-dx__faq-item + .p-service-robot-dx__faq-item {
  margin-top: min(30px, 2.4193548387vw);
  padding-top: min(30px, 2.4193548387vw);
  border-top: 1px solid #D8D8D8;
}
@media (max-width: 767px) {
  .p-service-robot-dx__faq-item + .p-service-robot-dx__faq-item {
    margin-top: 5.3333333333vw;
    padding: 5.3333333333vw 0 21.3333333333vw;
  }
}
.p-service-robot-dx__faq-question {
  display: flex;
  align-items: center;
  gap: min(16px, 1.2903225806vw);
  margin-bottom: min(15px, 1.2096774194vw);
}
@media (max-width: 767px) {
  .p-service-robot-dx__faq-question {
    align-items: center;
    gap: 3.4666666667vw;
    margin-bottom: 2.6666666667vw;
  }
}
.p-service-robot-dx__faq-question-text {
  flex: 1;
  font-size: min(18px, 1.4516129032vw);
  font-weight: 700;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .p-service-robot-dx__faq-question-text {
    font-size: 4.2666666667vw;
    letter-spacing: 0.05em;
  }
}
.p-service-robot-dx__faq-answer {
  display: flex;
  align-items: center;
  gap: min(16px, 1.2903225806vw);
}
@media (max-width: 767px) {
  .p-service-robot-dx__faq-answer {
    align-items: flex-start;
    gap: 3.4666666667vw;
  }
}
.p-service-robot-dx__faq-answer-text {
  flex: 1;
  max-width: min(800px, 64.5161290323vw);
  line-height: 2;
}
@media (max-width: 767px) {
  .p-service-robot-dx__faq-answer-text {
    max-width: 100%;
    letter-spacing: 0.03em;
    font-size: 3.4666666667vw;
  }
}
.p-service-robot-dx__faq-answer-text p {
  margin: 0;
}
.p-service-robot-dx__faq-label {
  flex-shrink: 0;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: min(36px, 2.9032258065vw);
  font-style: italic;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.03em;
}
@media (max-width: 767px) {
  .p-service-robot-dx__faq-label {
    font-size: 9.6vw;
  }
}
.p-service-robot-dx__faq-question .p-service-robot-dx__faq-label {
  color: #0052A4;
}
.p-service-robot-dx__faq-answer .p-service-robot-dx__faq-label {
  color: #7EA7D8;
}
.p-service-robot-dx__tips {
  margin-bottom: min(106px, 8.5483870968vw);
}
@media (max-width: 767px) {
  .p-service-robot-dx__tips {
    margin-bottom: 18.1333333333vw;
  }
}
.p-service-robot-dx__robots {
  margin-top: max(-10px, -0.8064516129vw);
}
@media (max-width: 767px) {
  .p-service-robot-dx__robots {
    margin-top: -4vw;
  }
}

.p-service-repair-flow .c-box__inner {
  background-color: #F0F2F6;
  padding: min(30px, 2.4193548387vw) min(30px, 2.4193548387vw) min(10px, 0.8064516129vw) min(30px, 2.4193548387vw);
}
@media (max-width: 767px) {
  .p-service-repair-flow .c-box__inner {
    padding: 6.6666666667vw 5.3333333333vw;
  }
}
.p-service-repair-flow .c-box__img picture {
  margin: 0 0 0 -10px;
}
@media (min-width: 768px) {
  .p-service-repair-flow .c-box__img picture {
    margin: 0 -28px -28px 0;
  }
}

.p-service-pm-detail__image {
  margin-top: min(40px, 3.2258064516vw);
  text-align: center;
}
.p-service-pm-detail__image-caption {
  margin-bottom: min(25px, 2.0161290323vw);
}
@media (max-width: 767px) {
  .p-service-pm-detail__image-caption {
    margin-bottom: min(20px, 5.3333333333vw);
  }
}
.p-service-pm-detail__image-caption div {
  margin-bottom: min(10px, 0.8064516129vw);
  font-size: 5.3333333333vw;
  font-weight: 700;
}
@media (min-width: 768px) {
  .p-service-pm-detail__image-caption div {
    font-size: clamp(14px, 2.2580645161vw, 28px);
  }
}
@media (max-width: 767px) {
  .p-service-pm-detail__image-caption p {
    text-align: left;
  }
}
.p-service-pm-detail__image img,
.p-service-pm-detail__image .p-service-pm-detail-visual {
  max-width: 1000px;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-service-pm-detail__image img,
  .p-service-pm-detail__image .p-service-pm-detail-visual {
    max-width: 100%;
  }
}
@media (max-width: 767px) {
  .p-service-pm-detail__image img,
  .p-service-pm-detail__image .p-service-pm-detail-visual {
    max-width: 100%;
  }
}

.p-service-leasing-cta__lead {
  line-height: 2;
}
.p-service-leasing-cta__box {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  position: relative;
  gap: min(40px, 3.2258064516vw);
  margin-top: min(30px, 2.4193548387vw);
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-service-leasing-cta__box {
    justify-content: space-between;
    gap: 0;
  }
}
@media (max-width: 767px) {
  .p-service-leasing-cta__box {
    display: block;
    margin-bottom: 5.3333333333vw;
    overflow: hidden;
    margin-bottom: 7.4666666667vw;
  }
}
.p-service-leasing-cta__box-cnt {
  position: relative;
  width: min(330px, 26.6129032258vw);
  padding-top: min(50px, 4.0322580645vw);
  background-color: #F0F2F6;
  padding: min(35px, 2.8225806452vw) min(18px, 1.4516129032vw) min(35px, 2.8225806452vw) min(18px, 1.4516129032vw);
  border-radius: min(4px, 0.3225806452vw);
  text-align: center;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-service-leasing-cta__box-cnt {
    width: calc((100% - min(60px, 7.8125vw)) / 3);
  }
  .p-service-leasing-cta__box-cnt:nth-child(-n+3) {
    margin-bottom: min(30px, 3.90625vw);
  }
}
@media (max-width: 767px) {
  .p-service-leasing-cta__box-cnt {
    width: 100%;
    padding: 5.3333333333vw 5.3333333333vw;
    margin-bottom: 5.3333333333vw;
  }
  .p-service-leasing-cta__box-cnt:last-of-type {
    margin-bottom: 0;
  }
}
.p-service-leasing-cta__box-cnt-head {
  text-align: center;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
  font-size: 4.2666666667vw;
}
@media (min-width: 768px) {
  .p-service-leasing-cta__box-cnt-head {
    font-size: clamp(14px, 1.6129032258vw, 20px);
  }
}
@media (max-width: 767px) {
  .p-service-leasing-cta__box-cnt-head {
    margin-bottom: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    text-align: left;
    gap: 8vw;
  }
}
@media (max-width: 767px) {
  .p-service-leasing-cta__box-cnt-icon {
    margin-left: 0;
    flex-shrink: 0;
  }
}
.p-service-leasing-cta__box-cnt-icon img {
  width: min(100px, 8.064516129vw);
  margin: min(15px, 1.2096774194vw) auto;
  display: block;
}
@media (max-width: 767px) {
  .p-service-leasing-cta__box-cnt-icon img {
    width: 17.3333333333vw;
    height: 17.3333333333vw;
    margin: 0;
  }
}
.p-service-leasing-cta__box-cnt-detail {
  text-align: left;
  padding: 0 min(10px, 0.8064516129vw);
}
@media (max-width: 767px) {
  .p-service-leasing-cta__box-cnt-detail {
    padding: 0;
    margin-top: 4vw;
  }
}
.p-service-leasing-cta__box-cnt-detail p {
  line-height: 1.8;
  letter-spacing: -0.032em;
  font-size: 3.4666666667vw;
}
@media (min-width: 768px) {
  .p-service-leasing-cta__box-cnt-detail p {
    font-size: clamp(14px, 1.2903225806vw, 16px);
  }
}
@media (max-width: 767px) {
  .p-service-leasing-cta__box-cnt-detail p {
    text-align: left;
  }
}

.p-service-leasing-cta-card__wrap {
  padding: 0 min(20px, 1.6129032258vw) min(180px, 14.5161290323vw);
}
@media (max-width: 767px) {
  .p-service-leasing-cta-card__wrap {
    padding: 0 5.3333333333vw 40vw;
  }
}
.p-service-leasing-cta-card__content {
  position: relative;
  z-index: 2;
}
@media (max-width: 767px) {
  .p-service-leasing-cta-card__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
}

.p-service-comprehensive__body {
  display: grid;
  gap: min(40px, 3.2258064516vw) min(40px, 3.2258064516vw);
  grid-template-columns: repeat(3, min(340px, 27.4193548387vw));
  grid-template-rows: auto auto;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-service-comprehensive__body {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: min(30px, 3.90625vw);
  }
}
.p-service-comprehensive__section {
  background-position: right min(45px, 3.6290322581vw) bottom, center center;
  background-repeat: no-repeat, repeat;
  border-radius: min(8px, 0.6451612903vw);
  padding: min(48px, 3.8709677419vw) min(38px, 3.064516129vw);
  height: min(139px, 11.2096774194vw);
  display: flex;
  align-items: center;
}
.p-service-comprehensive__section:nth-child(1), .p-service-comprehensive__section:nth-child(2), .p-service-comprehensive__section:nth-child(3) {
  width: min(340px, 27.4193548387vw);
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-service-comprehensive__section:nth-child(1), .p-service-comprehensive__section:nth-child(2), .p-service-comprehensive__section:nth-child(3) {
    width: calc((100% - min(60px, 7.8125vw)) / 3);
  }
}
.p-service-comprehensive__section:nth-child(4), .p-service-comprehensive__section:nth-child(5) {
  width: min(530px, 42.7419354839vw);
  grid-column: span 1;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-service-comprehensive__section:nth-child(4), .p-service-comprehensive__section:nth-child(5) {
    width: calc((100% - min(30px, 3.90625vw)) / 2);
  }
}
.p-service-comprehensive__section:nth-child(1) {
  background-image: url("../images/service/comprehensive/point-1.png"), linear-gradient(349.06deg, rgba(150, 166, 255, 0.3) 32.75%, rgba(149, 223, 255, 0.3) 107.85%);
  background-size: min(45px, 3.6290322581vw) min(112px, 9.0322580645vw), auto;
}
.p-service-comprehensive__section:nth-child(2) {
  background-image: url("../images/service/comprehensive/point-2.png"), linear-gradient(349.06deg, rgba(150, 166, 255, 0.3) 32.75%, rgba(149, 223, 255, 0.3) 107.85%);
  background-size: min(91px, 7.3387096774vw) min(112px, 9.0322580645vw), auto;
  padding: min(48px, 3.8709677419vw) min(30px, 2.4193548387vw);
}
.p-service-comprehensive__section:nth-child(3) {
  background-image: url("../images/service/comprehensive/point-3.png"), linear-gradient(349.06deg, rgba(150, 166, 255, 0.3) 32.75%, rgba(149, 223, 255, 0.3) 107.85%);
  background-size: min(91px, 7.3387096774vw) min(112px, 9.0322580645vw), auto;
  padding: min(48px, 3.8709677419vw) min(30px, 2.4193548387vw);
}
.p-service-comprehensive__section:nth-child(4) {
  background-image: url("../images/service/comprehensive/point-4.png"), linear-gradient(349.06deg, rgba(150, 166, 255, 0.3) 32.75%, rgba(149, 223, 255, 0.3) 107.85%);
  background-size: min(106px, 8.5483870968vw) min(110px, 8.8709677419vw), auto;
  padding: min(48px, 3.8709677419vw) min(100px, 8.064516129vw);
  background-position: right min(55px, 4.435483871vw) bottom, center center;
}
.p-service-comprehensive__section:nth-child(5) {
  background-image: url("../images/service/comprehensive/point-5.png"), linear-gradient(349.06deg, rgba(150, 166, 255, 0.3) 32.75%, rgba(149, 223, 255, 0.3) 107.85%);
  background-size: min(91px, 7.3387096774vw) min(112px, 9.0322580645vw), auto;
  margin-left: min(190px, 15.3225806452vw);
  background-position: right min(55px, 4.435483871vw) bottom, center center;
  padding: min(48px, 3.8709677419vw) min(100px, 8.064516129vw);
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-service-comprehensive__section:nth-child(5) {
    margin-left: 0;
  }
}
.p-service-comprehensive__title {
  font-size: min(20px, 1.6129032258vw);
  font-weight: 700;
  text-align: center;
  line-height: 1.4;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 0;
}
.p-service-comprehensive__text {
  margin-top: min(80px, 6.4516129032vw);
  font-size: min(16px, 1.2903225806vw);
  line-height: 2;
  font-weight: 400;
}
.p-service-comprehensive__subline {
  margin-top: min(80px, 6.4516129032vw);
  text-align: center;
  font-size: min(18px, 1.4516129032vw);
  font-weight: 700;
  letter-spacing: 0.04em;
}
.p-service-comprehensive__management {
  width: min(863px, 69.5967741935vw);
  height: min(362px, 29.1935483871vw);
  margin: min(60px, 4.8387096774vw) auto 0;
  margin-top: min(10px, 0.8064516129vw);
  margin-bottom: min(120px, 9.6774193548vw);
}
.p-service-comprehensive__management-visual {
  width: 100%;
  height: 100%;
  display: block;
}
.p-service-comprehensive__management-visual img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
@media (max-width: 767px) {
  .p-service-comprehensive__body {
    grid-template-columns: repeat(1, 1fr);
    gap: 5.3333333333vw;
  }
  .p-service-comprehensive__section {
    width: 89.3333333333vw;
    height: 31.4666666667vw;
    padding: 10.6666666667vw 8vw 16vw 8vw;
    background-position: right 10.6666666667vw bottom, center center;
    border-radius: 2.1333333333vw;
  }
  .p-service-comprehensive__section:nth-child(1), .p-service-comprehensive__section:nth-child(2), .p-service-comprehensive__section:nth-child(3), .p-service-comprehensive__section:nth-child(4), .p-service-comprehensive__section:nth-child(5) {
    width: 89.3333333333vw;
  }
  .p-service-comprehensive__section:nth-child(2), .p-service-comprehensive__section:nth-child(3), .p-service-comprehensive__section:nth-child(4), .p-service-comprehensive__section:nth-child(5) {
    background-size: 19.4666666667vw 26.6666666667vw, auto;
    background-position: right 10.6666666667vw bottom, center center;
  }
  .p-service-comprehensive__section:nth-child(1), .p-service-comprehensive__section:nth-child(2) {
    padding: 12vw 8vw 10.6666666667vw 7.4666666667vw;
  }
  .p-service-comprehensive__section:nth-child(3), .p-service-comprehensive__section:nth-child(4) {
    padding: 12vw 10.6666666667vw 10.6666666667vw 10.6666666667vw;
  }
  .p-service-comprehensive__section:nth-child(1) {
    background-size: 10.6666666667vw 26.6666666667vw, auto;
  }
  .p-service-comprehensive__section:nth-child(5) {
    padding: 9.3333333333vw 2.6666666667vw 9.3333333333vw 8vw;
    margin-left: 0;
  }
  .p-service-comprehensive__title {
    font-size: 4.8vw;
    letter-spacing: 0.02em;
    font-weight: 700;
  }
  .p-service-comprehensive__text {
    width: 89.3333333333vw;
    font-size: 3.4666666667vw;
    line-height: 2;
    letter-spacing: 0.02em;
    padding-right: 0;
    margin-top: 10.6666666667vw;
  }
  .p-service-comprehensive__subline {
    margin-top: 9.3333333333vw;
    font-size: 4.8vw;
  }
  .p-service-comprehensive__management {
    width: 88.2666666667vw;
    height: 123.7333333333vw;
    margin: 10.6666666667vw auto;
    margin-top: 4.8vw;
  }
}

.p-service-comprehensive-system__management {
  width: min(1100px, 88.7096774194vw);
  height: min(320px, 25.8064516129vw);
  margin-top: min(40px, 3.2258064516vw);
  margin-bottom: min(50px, 4.0322580645vw);
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-service-comprehensive-system__management {
    width: 100%;
  }
}
.p-service-comprehensive-system__management--onsite {
  height: min(261px, 21.0483870968vw);
  margin-top: min(40px, 3.2258064516vw);
  margin-bottom: min(100px, 8.064516129vw);
}
.p-service-comprehensive-system__management-visual {
  width: 100%;
  height: 100%;
  display: block;
}
.p-service-comprehensive-system__management-visual img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.p-service-comprehensive-system__subtitle {
  font-size: min(24px, 1.935483871vw);
  width: min(800px, 64.5161290323vw);
  font-weight: 700;
}
.p-service-comprehensive-system__text {
  margin-top: min(10px, 0.8064516129vw);
  font-size: min(16px, 1.2903225806vw);
  line-height: 2;
  font-weight: 400;
}
.p-service-comprehensive-system__emergency {
  width: min(1100px, 88.7096774194vw);
  height: min(318px, 25.6451612903vw);
  background: #F0F2F6;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: min(60px, 4.8387096774vw) 0;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-service-comprehensive-system__emergency {
    width: 100%;
  }
}
.p-service-comprehensive-system__emergency-inner {
  width: min(800px, 64.5161290323vw);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(15px, 1.2096774194vw);
}
.p-service-comprehensive-system__emergency-title {
  font-size: min(24px, 1.935483871vw);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.02em;
  text-align: center;
  color: #32373C;
  margin: 0;
}
.p-service-comprehensive-system__emergency-text {
  font-size: min(16px, 1.2903225806vw);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.02em;
  text-align: left;
  color: #32373C;
  max-width: min(710px, 57.2580645161vw);
  margin: 0;
}
.p-service-comprehensive-system__emergency-button {
  display: flex;
  justify-content: center;
}
.p-service-comprehensive-system__emergency-cta {
  min-width: min(320px, 25.8064516129vw);
  padding: min(13px, 1.0483870968vw) min(32px, 2.5806451613vw);
  background: #32373C;
  border: min(1.5px, 0.1209677419vw) solid #FFFFFF;
  border-radius: min(100px, 8.064516129vw);
  font-size: min(15px, 1.2096774194vw);
  letter-spacing: 0.05em;
}
.p-service-comprehensive-system__emergency-cta::after {
  width: min(9px, 0.7258064516vw);
  height: min(9px, 0.7258064516vw);
  background: url("../images/common/arrow-white.svg") no-repeat center center/contain;
  border-width: min(1.5px, 0.1209677419vw);
}
.p-service-comprehensive-system__emergency-cta:hover {
  border-color: #32373C;
  color: #32373C;
}
.p-service-comprehensive-system__emergency-cta:hover::after {
  background: url("../images/common/arrow-black.svg") no-repeat center center/contain;
}
.p-service-comprehensive-system__table {
  width: min(1100px, 88.7096774194vw);
  margin-top: min(40px, 3.2258064516vw);
  margin-bottom: min(50px, 4.0322580645vw);
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-service-comprehensive-system__table {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .p-service-comprehensive-system__management {
    width: 89.3333333333vw;
    height: 165.8666666667vw;
    margin: 8vw auto 13.3333333333vw;
  }
  .p-service-comprehensive-system__management--onsite {
    height: 141.3333333333vw;
    margin: 8vw auto 13.3333333333vw;
  }
  .p-service-comprehensive-system__subtitle {
    font-size: 4.8vw;
    width: 100%;
    margin-bottom: 1.3333333333vw;
  }
  .p-service-comprehensive-system__text {
    font-size: 3.4666666667vw;
    width: 100%;
    padding-right: 0;
  }
  .p-service-comprehensive-system__emergency {
    width: 100%;
    height: auto;
    padding: 10.6666666667vw 5.3333333333vw;
    margin: 10.6666666667vw 0;
  }
  .p-service-comprehensive-system__emergency-inner {
    width: 100%;
    gap: 5.3333333333vw;
  }
  .p-service-comprehensive-system__emergency-title {
    font-size: 5.3333333333vw;
  }
  .p-service-comprehensive-system__emergency-text {
    font-size: 3.7333333333vw;
    max-width: 100%;
  }
  .p-service-comprehensive-system__emergency-cta {
    min-width: 66.6666666667vw;
    padding: 3.4666666667vw 8vw;
    border-width: 0.4vw;
    font-size: 2.9333333333vw;
  }
  .p-service-comprehensive-system__emergency-cta::after {
    width: 1.6vw;
    height: 1.6vw;
    border-width: 0.4vw;
  }
  .p-service-comprehensive-system__table {
    margin: 8vw 0;
  }
  .p-service-comprehensive-system__table--scroll .p-service-comprehensive-system__management-visual {
    display: inline-block;
    vertical-align: top;
    min-width: 205.3333333333vw;
    height: auto;
  }
  .p-service-comprehensive-system__table--scroll .p-service-comprehensive-system__management-visual img {
    width: 205.3333333333vw;
    height: auto;
    display: block;
  }
  .p-service-comprehensive-system__management-visual {
    width: 100%;
    height: auto;
  }
  .p-service-comprehensive-system__management-visual img {
    width: 100%;
    height: auto;
    object-fit: contain;
    display: block;
  }
}

.p-service-virus {
  display: flex;
  align-items: flex-start;
  gap: min(90px, 7.2580645161vw);
}
.p-service-virus__body {
  margin-bottom: min(100px, 8.064516129vw);
}
.p-service-virus__title {
  position: relative;
  font-weight: 700;
  font-size: min(28px, 2.2580645161vw);
  letter-spacing: 0.05em;
  margin-top: min(0px, 0vw);
  font-size: 4.8vw;
}
@media (min-width: 768px) {
  .p-service-virus__title {
    font-size: clamp(14px, 1.935483871vw, 24px);
  }
}
@media (max-width: 767px) {
  .p-service-virus__title {
    padding-left: 5.3333333333vw;
  }
}
.p-service-virus__text {
  font-size: min(16px, 1.2903225806vw);
  margin-top: min(10px, 0.8064516129vw);
}
.p-service-virus__meta {
  display: flex;
  align-items: center;
  gap: min(20px, 1.6129032258vw);
  margin-bottom: min(30px, 2.4193548387vw);
}
@media (max-width: 767px) {
  .p-service-virus__meta {
    grid-area: meta;
    margin-bottom: 0;
    gap: 4.2666666667vw;
  }
}
.p-service-virus__subtitle {
  font-size: min(27px, 2.1774193548vw);
}
@media (max-width: 767px) {
  .p-service-virus__subtitle {
    width: 89.3333333333vw;
    font-weight: 700;
    font-size: 5.3333333333vw;
    line-height: 140%;
    letter-spacing: 0.02em;
    margin-bottom: 0vw;
    margin-top: -2.6666666667vw;
  }
}

.p-service-uvc {
  margin-bottom: min(0px, 0vw);
}
.p-service-uvc__title {
  position: relative;
  font-weight: 700;
  padding-left: min(24px, 1.935483871vw);
  width: min(1000px, 80.6451612903vw);
  font-size: 4.8vw;
}
@media (min-width: 768px) {
  .p-service-uvc__title {
    font-size: clamp(14px, 1.935483871vw, 24px);
  }
}
@media (max-width: 767px) {
  .p-service-uvc__title {
    padding-left: 5.3333333333vw;
  }
}
.p-service-uvc__title::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  content: "";
  width: 1px;
  height: 100%;
  background: #000;
}

.p-service-uvc-features {
  overflow: hidden;
  background-color: #fff;
  margin-top: min(0px, 0vw);
}
@media (max-width: 767px) {
  .p-service-uvc-features {
    margin-top: 0vw;
    margin-bottom: 0vw;
  }
}
.p-service-uvc-features__header {
  display: flex;
  align-items: center;
  gap: min(0px, 0vw);
  margin-bottom: min(30px, 2.4193548387vw);
  width: 100%;
  max-width: min(1005px, 81.0483870968vw);
}
@media (max-width: 767px) {
  .p-service-uvc-features__header {
    gap: 2.6666666667vw;
    margin-bottom: 5.3333333333vw;
  }
}
.p-service-uvc-features__number {
  font-family: "Montserrat", Arial, sans-serif;
  font-style: italic;
  font-size: min(48px, 3.8709677419vw);
  line-height: 1;
  color: #32373C;
  flex-shrink: 0;
  padding-right: min(6px, 0.4838709677vw);
}
@media (max-width: 767px) {
  .p-service-uvc-features__number {
    font-size: 12.8vw;
    line-height: 1;
    letter-spacing: 0.03em;
    padding-right: 2.6666666667vw;
  }
}
.p-service-uvc-features__title {
  position: relative;
  font-weight: 700;
  font-size: min(24px, 1.935483871vw);
  line-height: 140%;
  letter-spacing: 0.02em;
  padding-left: min(33px, 2.6612903226vw);
  margin: 0;
  flex: 1;
}
@media (max-width: 767px) {
  .p-service-uvc-features__title {
    font-size: 4.5333333333vw;
    line-height: 140%;
    letter-spacing: 0.02em;
    padding-left: 5.3333333333vw;
  }
}
.p-service-uvc-features__title::before {
  position: absolute;
  top: 50%;
  left: min(15px, 1.2096774194vw);
  transform: translateY(-50%);
  content: "";
  width: 1px;
  height: min(50px, 4.0322580645vw);
  background: #000;
}
@media (max-width: 767px) {
  .p-service-uvc-features__title::before {
    left: 0;
    height: 90%;
  }
}
.p-service-uvc-features__wrapper {
  display: flex;
  align-items: flex-start;
  gap: min(100px, 8.064516129vw);
  margin-bottom: min(80px, 6.4516129032vw);
}
@media (max-width: 767px) {
  .p-service-uvc-features__wrapper {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas: "map" "content";
    gap: 5.3333333333vw;
    margin-bottom: 16vw;
  }
}
.p-service-uvc-features__content {
  flex: 0 0 min(400px, 32.2580645161vw);
  width: min(400px, 32.2580645161vw);
}
@media (max-width: 767px) {
  .p-service-uvc-features__content {
    grid-area: content;
    width: 100%;
    flex: none;
  }
}
.p-service-uvc-features__text {
  font-weight: 400;
  font-size: min(16px, 1.2903225806vw);
  line-height: 200%;
  letter-spacing: 0.02em;
  margin: 0;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-service-uvc-features__text {
    font-size: 3.4666666667vw;
  }
}
@media (min-width: 768px) and (max-width: 1023px) and (min-width: 768px) {
  .p-service-uvc-features__text {
    font-size: clamp(14px, 1.2903225806vw, 16px);
  }
}
@media (max-width: 767px) {
  .p-service-uvc-features__text {
    font-size: 3.4666666667vw;
    line-height: 1.8;
  }
}
.p-service-uvc-features__map {
  flex: 0 0 min(600px, 48.3870967742vw);
  width: min(600px, 48.3870967742vw);
}
@media (max-width: 767px) {
  .p-service-uvc-features__map {
    grid-area: map;
    width: 100%;
    flex: none;
  }
}
.p-service-uvc-features__map-visual {
  position: relative;
  width: 100%;
}
.p-service-uvc-features__map-visual picture {
  display: block;
  width: 100%;
}
.p-service-uvc-features__map-visual img {
  width: 100%;
  height: auto;
  display: block;
}

@media (max-width: 767px) {
  .p-service-environment-header {
    margin-bottom: 16vw;
  }
}
.p-service-environment-header__section-header {
  display: flex;
  align-items: center;
  gap: min(10px, 0.8064516129vw);
  padding: min(10px, 0.8064516129vw) 0;
  margin: min(30px, 2.4193548387vw) 0 min(30px, 2.4193548387vw);
  background: #f0f2f6;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .p-service-environment-header__section-header {
    gap: 2.6666666667vw;
    padding: 2.6666666667vw;
    margin: 10.6666666667vw 0 5.3333333333vw;
  }
}
.p-service-environment-header__section-title {
  font-weight: 700;
  font-size: min(24px, 1.935483871vw);
  line-height: 140%;
  letter-spacing: 0.02em;
  margin: 0;
  padding-left: min(10px, 0.8064516129vw);
}
@media (max-width: 767px) {
  .p-service-environment-header__section-title {
    font-size: 4.8vw;
    line-height: 140%;
    letter-spacing: 0.02em;
    padding-left: 2.6666666667vw;
  }
}

.p-service-media-environment {
  display: flex;
  align-items: flex-start;
  gap: min(90px, 7.2580645161vw);
}
@media (max-width: 767px) {
  .p-service-media-environment {
    flex-direction: column;
    gap: 2.6666666667vw;
  }
}
.p-service-media-environment__body {
  flex: 1 1 min(600px, 48.3870967742vw);
  max-width: min(600px, 48.3870967742vw);
}
@media (max-width: 767px) {
  .p-service-media-environment__body {
    max-width: 100%;
    margin-bottom: 0;
  }
}
.p-service-media-environment__meta {
  display: flex;
  align-items: center;
  gap: min(0px, 0vw);
  margin-bottom: min(30px, 2.4193548387vw);
}
@media (max-width: 767px) {
  .p-service-media-environment__meta {
    align-items: center;
    gap: 4vw;
    margin-bottom: 2.6666666667vw;
  }
}
.p-service-media-environment__number {
  font-family: "Montserrat", Arial, sans-serif;
  font-style: italic;
  font-size: min(48px, 3.8709677419vw);
  line-height: 1;
  color: #32373C;
  flex-shrink: 0;
  padding-right: min(5px, 0.4032258065vw);
}
@media (max-width: 767px) {
  .p-service-media-environment__number {
    font-size: 12.8vw;
    line-height: 1;
    letter-spacing: 0.03em;
    padding-right: 0;
  }
}
.p-service-media-environment__title {
  position: relative;
  font-weight: 700;
  font-size: min(24px, 1.935483871vw);
  line-height: 140%;
  letter-spacing: 0.02em;
  padding-left: min(30px, 2.4193548387vw);
  margin: 0;
  max-width: min(505px, 40.7258064516vw);
}
@media (max-width: 767px) {
  .p-service-media-environment__title {
    font-size: 4.8vw;
    line-height: 140%;
    letter-spacing: 0.02em;
    padding-left: 3.4666666667vw;
    max-width: 100%;
  }
}
.p-service-media-environment__title::before {
  position: absolute;
  top: 50%;
  left: 5%;
  transform: translateY(-50%);
  content: "";
  width: 1px;
  height: min(50px, 4.0322580645vw);
  background: #000;
}
@media (max-width: 767px) {
  .p-service-media-environment__title::before {
    left: 0;
    top: 50%;
    height: 9.0666666667vw;
  }
}
.p-service-media-environment__text {
  line-height: 2;
  margin: 0;
  margin-bottom: min(30px, 2.4193548387vw);
}
@media (max-width: 767px) {
  .p-service-media-environment__text {
    font-size: 3.4666666667vw;
    line-height: 1.8;
    margin-bottom: 1.3333333333vw;
  }
}
.p-service-media-environment__box {
  border-radius: min(8px, 0.6451612903vw);
  padding: min(25px, 2.0161290323vw) min(38px, 3.064516129vw);
  background-color: #F8F8F8;
  max-width: min(595px, 47.9838709677vw);
}
@media (max-width: 767px) {
  .p-service-media-environment__box {
    border-radius: 2.1333333333vw;
    padding: 5.3333333333vw;
    padding-bottom: 6.6666666667vw;
    max-width: 100%;
    margin-bottom: 5.3333333333vw;
  }
}
.p-service-media-environment__box-title {
  font-weight: 700;
  font-size: min(16px, 1.2903225806vw);
  line-height: 200%;
  letter-spacing: 0.02em;
  margin: 0 0 min(10px, 0.8064516129vw) 0;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-service-media-environment__box-title {
    font-size: 3.4666666667vw;
  }
}
@media (min-width: 768px) and (max-width: 1023px) and (min-width: 768px) {
  .p-service-media-environment__box-title {
    font-size: clamp(14px, 1.2903225806vw, 16px);
  }
}
@media (max-width: 767px) {
  .p-service-media-environment__box-title {
    font-size: 3.7333333333vw;
    line-height: 180%;
    margin-bottom: 2.6666666667vw;
  }
}
.p-service-media-environment__box-text {
  font-weight: 400;
  font-size: min(16px, 1.2903225806vw);
  line-height: 180%;
  letter-spacing: 0.02em;
  margin: 0;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-service-media-environment__box-text {
    font-size: 3.4666666667vw;
  }
}
@media (min-width: 768px) and (max-width: 1023px) and (min-width: 768px) {
  .p-service-media-environment__box-text {
    font-size: clamp(14px, 1.2903225806vw, 16px);
  }
}
@media (max-width: 767px) {
  .p-service-media-environment__box-text {
    font-size: 3.4666666667vw;
    line-height: 170%;
  }
}
.p-service-media-environment__thumb {
  flex: 0 0 min(420px, 33.8709677419vw);
}
@media (max-width: 767px) {
  .p-service-media-environment__thumb {
    width: 100%;
    margin-bottom: 0vw;
  }
}
.p-service-media-environment__thumb img {
  border-radius: min(8px, 0.6451612903vw);
  width: 100%;
  height: auto;
  margin-bottom: min(10px, 0.8064516129vw);
}
@media (max-width: 767px) {
  .p-service-media-environment__thumb img {
    border-radius: 2.1333333333vw;
    margin-bottom: 2.1333333333vw;
  }
}
.p-service-media-environment__caption {
  font-weight: 400;
  font-size: min(16px, 1.2903225806vw);
  line-height: 200%;
  letter-spacing: 0.02em;
  text-align: right;
  margin: 0;
}
@media (max-width: 767px) {
  .p-service-media-environment__caption {
    font-size: 3.4666666667vw;
    line-height: 180%;
    margin-bottom: 1.3333333333vw;
  }
}
.p-service-media-environment + .p-service-media-environment {
  margin-top: min(60px, 4.8387096774vw);
}
@media (max-width: 767px) {
  .p-service-media-environment + .p-service-media-environment {
    margin-top: 8vw;
  }
}
@media (max-width: 767px) {
  .p-service-media-environment:has(.p-service-media-environment__number) {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas: "meta" "thumb" "text" "box";
  }
  .p-service-media-environment:has(.p-service-media-environment__number) .p-service-media-environment__body {
    display: contents;
  }
  .p-service-media-environment:has(.p-service-media-environment__number) .p-service-media-environment__meta {
    grid-area: meta;
    margin-bottom: 0;
  }
  .p-service-media-environment:has(.p-service-media-environment__number) .p-service-media-environment__thumb {
    grid-area: thumb;
  }
  .p-service-media-environment:has(.p-service-media-environment__number) .p-service-media-environment__text {
    grid-area: text;
  }
  .p-service-media-environment:has(.p-service-media-environment__number) .p-service-media-environment__box {
    grid-area: box;
  }
}

.p-service-virus-faq__items {
  margin-top: min(0px, 0vw);
  margin-bottom: min(110px, 8.8709677419vw);
}
@media (max-width: 767px) {
  .p-service-virus-faq__items {
    margin-top: 7.4666666667vw;
    margin-bottom: 21.3333333333vw;
  }
}
.p-service-virus-faq__item {
  max-width: min(1100px, 88.7096774194vw);
}
@media (max-width: 767px) {
  .p-service-virus-faq__item {
    max-width: 100%;
  }
}
.p-service-virus-faq__item + .p-service-virus-faq__item {
  margin-top: min(30px, 2.4193548387vw);
  padding-top: min(30px, 2.4193548387vw);
  border-top: 1px solid #D8D8D8;
}
@media (max-width: 767px) {
  .p-service-virus-faq__item + .p-service-virus-faq__item {
    margin-top: 5.3333333333vw;
    padding-top: 5.3333333333vw;
  }
}
.p-service-virus-faq__question {
  display: flex;
  align-items: center;
  gap: min(16px, 1.2903225806vw);
  margin-bottom: min(15px, 1.2096774194vw);
}
@media (max-width: 767px) {
  .p-service-virus-faq__question {
    align-items: center;
    gap: 3.4666666667vw;
    margin-bottom: 2.6666666667vw;
  }
}
.p-service-virus-faq__question-text {
  flex: 1;
  font-size: min(20px, 1.6129032258vw);
  font-weight: 700;
  line-height: 1.5;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-service-virus-faq__question-text {
    font-size: min(16px, 2.0833333333vw);
  }
}
@media (max-width: 767px) {
  .p-service-virus-faq__question-text {
    font-size: 4vw;
    letter-spacing: 0.05em;
  }
}
.p-service-virus-faq__answer {
  display: flex;
  align-items: center;
  gap: min(16px, 1.2903225806vw);
}
@media (max-width: 767px) {
  .p-service-virus-faq__answer {
    align-items: flex-start;
    gap: 3.4666666667vw;
  }
}
.p-service-virus-faq__answer-text {
  flex: 1;
  max-width: min(1100px, 88.7096774194vw);
  line-height: 2;
}
@media (max-width: 767px) {
  .p-service-virus-faq__answer-text {
    max-width: 100%;
    letter-spacing: 0.03em;
    font-size: 3.4666666667vw;
  }
}
.p-service-virus-faq__answer-text p {
  margin: 0;
}
.p-service-virus-faq__label {
  flex-shrink: 0;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: min(36px, 2.9032258065vw);
  font-style: italic;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.03em;
}
@media (max-width: 767px) {
  .p-service-virus-faq__label {
    font-size: 9.6vw;
  }
}
.p-service-virus-faq__question .p-service-virus-faq__label {
  color: #0052A4;
}
.p-service-virus-faq__answer .p-service-virus-faq__label {
  color: #7EA7D8;
}

.p-service-energy__text {
  width: min(800px, 64.5161290323vw);
  padding-bottom: min(30px, 2.4193548387vw);
  line-height: 200%;
}
@media (max-width: 767px) {
  .p-service-energy__text {
    width: 89.3333333333vw;
    padding-bottom: 2.6666666667vw;
  }
}
.p-service-energy__solution {
  padding-top: min(25px, 2.0161290323vw);
}
.p-service-energy__faqs {
  margin-top: min(100px, 8.064516129vw);
}
@media (max-width: 767px) {
  .p-service-energy__faqs {
    margin-top: 18.6666666667vw;
  }
}

.p-service-emergency-textbox p {
  width: 800px;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-service-emergency-textbox p {
    width: min(800px, 64.5161290323vw);
  }
}
@media (max-width: 767px) {
  .p-service-emergency-textbox p {
    width: 100%;
  }
}
.p-service-emergency-textbox__notes {
  font-size: min(12px, 0.9677419355vw);
}
@media (max-width: 767px) {
  .p-service-emergency-textbox__notes {
    font-size: 3.7333333333vw;
  }
}

/*
 * ハリマボイス
 * - トップページ
 * - カテゴリー別 一覧ページ
 * - タブ　　　別 一覧ページ
 * - 検索結果　　 一覧ページ
 */
.page-harimavoice {
  background-color: #F1F5F8;
}
@media (min-width: 768px) {
  .page-harimavoice {
    background-image: url("../images/harimavoice/bg-harimavoice-pc.jpg");
    background-attachment: fixed;
    background-size: cover;
    background-position: center top;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .page-harimavoice {
    background: none;
    background-color: #F1F5F8;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .page-harimavoice .bg-wrapper {
    background-image: url("../images/harimavoice/bg-harimavoice-pc.jpg");
    background-size: cover;
    background-position: center top;
  }
}
@media (max-width: 767px) {
  .page-harimavoice .bg-wrapper {
    background-image: url("../images/harimavoice/bg-harimavoice-sp.jpg");
    background-size: cover;
    background-position: center top;
  }
}

.page-harimavoice-category {
  background-color: #F1F5F8;
}

.page-harimavoice-tag {
  background-color: #F1F5F8;
}

.page-search-harimavoice {
  background-color: #F1F5F8;
}

.p-voice {
  color: #32373C;
  font-weight: 500;
  letter-spacing: 0.02em;
}
.p-voice h1, .p-voice h2, .p-voice h3, .p-voice h4, .p-voice h5 {
  margin-block-start: 0;
  text-wrap: initial;
}
.p-voice .c-breadcrumb {
  background-color: transparent;
}
@media (max-width: 767px) {
  .p-voice-header {
    padding-bottom: 26.6666666667vw;
  }
}
@media (max-width: 767px) {
  .page-harimavoice-category .p-voice-header {
    padding-bottom: 0;
  }
}
@media (max-width: 767px) {
  .page-harimavoice-tag .p-voice-header {
    padding-bottom: 0;
  }
}
@media (max-width: 767px) {
  .page-search-harimavoice .p-voice-header {
    padding-bottom: 0;
  }
}
.p-voice-header .l-container {
  position: relative;
}
.p-voice-header__wrapper {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding: min(160px, 12.9032258065vw) 0 min(60px, 4.8387096774vw);
}
@media (max-width: 767px) {
  .p-voice-header__wrapper {
    padding: 26.6666666667vw 0 10.6666666667vw;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 17.6vw 0;
  }
}
.page-search-harimavoice .p-voice-header__wrapper {
  padding: min(72px, 5.8064516129vw) 0 0;
}
.p-voice-header__body {
  display: flex;
  flex-direction: column-reverse;
  position: relative;
  margin-left: min(26px, 2.0967741935vw);
}
@media (max-width: 767px) {
  .p-voice-header__body {
    margin-left: 1.0666666667vw;
  }
}
.p-voice-header__heading {
  font-family: "Montserrat", Arial, sans-serif;
  font-size: min(52px, 4.1935483871vw);
  font-weight: 600;
  letter-spacing: 0.03em;
  position: relative;
}
@media (max-width: 767px) {
  .p-voice-header__heading {
    font-size: 9.6vw;
  }
}
.p-voice-header__heading::after {
  content: "";
  display: block;
  width: min(15px, 1.2096774194vw);
  height: min(23px, 1.8548387097vw);
  border-radius: 50%;
  background: #0052A4;
  position: absolute;
  left: max(-24px, -1.935483871vw);
  top: max(-1px, -0.0806451613vw);
}
@media (max-width: 767px) {
  .p-voice-header__heading::after {
    width: 3.2vw;
    height: 5.0666666667vw;
    left: -5.6vw;
    top: -0.5333333333vw;
  }
}
.p-voice-header__subheading {
  font-size: min(14px, 1.1290322581vw);
  font-weight: 700;
  text-align: center;
}
@media (max-width: 767px) {
  .p-voice-header__subheading {
    font-size: 3.2vw;
  }
}
.p-voice-header__about {
  position: absolute;
  left: calc(100% + min(44px, 3.5483870968vw));
  bottom: min(22px, 1.7741935484vw);
  color: #0052A4;
  font-size: min(14px, 1.1290322581vw);
  white-space: nowrap;
  text-decoration: underline;
}
@media (max-width: 767px) {
  .p-voice-header__about {
    font-size: 3.4666666667vw;
    left: 50%;
    transform: translateX(-50%);
    bottom: initial;
    top: calc(100% + 2.9333333333vw);
  }
}
.p-voice-header__searchBox {
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(100%);
}
@media (max-width: 767px) {
  .p-voice-header__searchBox {
    top: 100%;
    right: initial;
    left: 50%;
    transform: translate(-50%, 44%);
  }
}
.page-search-harimavoice .p-voice-header__searchBox {
  transform: translateY(-100%);
}
@media (max-width: 767px) {
  .page-search-harimavoice .p-voice-header__searchBox {
    transform: translate(-50%, 40%);
  }
}
.p-voice-header__searchForm {
  display: inline-block;
  position: relative;
}
.p-voice-header__searchForm input {
  display: block;
  font-size: min(14px, 1.1290322581vw);
  line-height: 1.8;
  width: min(310px, 25vw);
  height: min(40px, 3.2258064516vw);
  border: none;
  border-radius: min(100px, 8.064516129vw);
  padding-left: min(22px, 1.7741935484vw);
  background-color: #fff;
}
@media (max-width: 767px) {
  .p-voice-header__searchForm input {
    font-size: 3.4666666667vw;
    width: 89.3333333333vw;
    height: 12.8vw;
    border-radius: 26.6666666667vw;
    padding-left: 5.8666666667vw;
  }
}
.p-voice-header__searchForm input::placeholder {
  color: #B5BEC9;
}
.p-voice-header__searchForm input:focus {
  outline: 1px solid #B5BEC9;
}
.p-voice-header__searchForm button {
  cursor: pointer;
  background-color: transparent;
  border: none;
  position: absolute;
  top: 50%;
  right: max(-3px, -0.2419354839vw);
  transform: translateY(-50%);
  padding: 0;
  width: min(40px, 3.2258064516vw);
  aspect-ratio: 1/1;
}
@media (max-width: 767px) {
  .p-voice-header__searchForm button {
    width: 12.8vw;
  }
}
.p-voice-header__searchForm button svg {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.p-voice-header__pageTaxonomyCategory {
  padding-top: min(60px, 4.8387096774vw);
}
@media (max-width: 767px) {
  .p-voice-header__pageTaxonomyCategory {
    padding-top: 8.5333333333vw;
  }
}
.p-voice-header__pageTaxonomyCategory img {
  width: 100%;
  aspect-ratio: 1100/280;
  object-fit: cover;
  border-radius: min(4px, 0.3225806452vw);
}
@media (max-width: 767px) {
  .p-voice-header__pageTaxonomyCategory img {
    aspect-ratio: 335/200;
    border-radius: 1.0666666667vw;
  }
}
.p-voice-header__pageTaxonomyTag {
  text-wrap: initial;
  padding-top: min(60px, 4.8387096774vw);
  font-size: min(32px, 2.5806451613vw);
  font-weight: 700;
  margin: 0;
  line-height: 1.4;
}
@media (max-width: 767px) {
  .p-voice-header__pageTaxonomyTag {
    padding-top: 8.5333333333vw;
    font-size: 6.4vw;
  }
}
.p-voice-header__pageSearch {
  font-size: min(32px, 2.5806451613vw);
  line-height: 1.4;
}
@media (max-width: 767px) {
  .p-voice-header__pageSearch {
    font-size: 6.4vw;
    width: 100%;
    text-align: left;
  }
}
.p-voice-pickup {
  position: relative;
}
.p-voice-pickup__heading {
  font-family: "Montserrat", Arial, sans-serif;
  font-size: min(32px, 2.5806451613vw);
  font-weight: 600;
  letter-spacing: 0.03em;
  position: absolute;
  top: max(-12px, -0.9677419355vw);
  left: calc(50% + min(78px, 6.2903225806vw));
}
@media (max-width: 767px) {
  .p-voice-pickup__heading {
    font-size: 6.4vw;
    top: -1.6vw;
    left: 5.3333333333vw;
  }
}
.p-voice-pickup__container {
  max-width: 1100px;
  width: min(1100px, 88.7096774194vw);
  margin: 0 auto;
}
@media (max-width: 767px) {
  .p-voice-pickup__container {
    width: initial;
  }
}
.p-voice-pickup__slider {
  position: relative;
  aspect-ratio: 1100/397;
  width: 100%;
}
@media (max-width: 767px) {
  .p-voice-pickup__slider {
    aspect-ratio: 376/420;
    margin-top: 10.6666666667vw;
  }
}
.p-voice-pickup__slider-controller {
  display: flex;
  align-items: center;
  gap: min(10px, 0.8064516129vw);
  position: absolute;
  top: min(3px, 0.2419354839vw);
  left: calc(50% + min(550px, 44.3548387097vw));
  transform: translateX(-100%);
  z-index: 3;
}
@media (max-width: 767px) {
  .p-voice-pickup__slider-controller {
    gap: 2.1333333333vw;
    top: 0.4266666667vw;
    left: initial;
    transform: initial;
    right: 5.3333333333vw;
  }
}
.p-voice-pickup__slider-pagination {
  width: auto !important;
  display: flex;
  align-items: center;
}
.p-voice-pickup__slider-pagination .swiper-pagination-bullet {
  width: min(8px, 0.6451612903vw);
  height: min(8px, 0.6451612903vw);
  margin: 0 min(6px, 0.4838709677vw) !important;
}
@media (max-width: 767px) {
  .p-voice-pickup__slider-pagination .swiper-pagination-bullet {
    width: 2.1333333333vw;
    height: 2.1333333333vw;
    margin: 0 1.3333333333vw !important;
  }
}
.p-voice-pickup__slider-pagination .swiper-pagination-bullet-active {
  background: #32373C;
}
.p-voice-pickup__slider-prev, .p-voice-pickup__slider-next {
  width: min(48px, 3.8709677419vw);
  height: min(24px, 1.935483871vw);
  position: relative;
  border: min(1px, 0.0806451613vw) solid #32373C;
  border-radius: 1000px;
  background: #fff;
  transition: background 0.3s ease;
}
@media (max-width: 767px) {
  .p-voice-pickup__slider-prev, .p-voice-pickup__slider-next {
    width: 12.8vw;
    height: 6.4vw;
    border: 0.2666666667vw solid #32373C;
  }
}
.p-voice-pickup__slider-prev:hover, .p-voice-pickup__slider-next:hover {
  background: #32373C;
}
.p-voice-pickup__slider-prev::before, .p-voice-pickup__slider-next::before {
  content: "";
  display: block;
  width: min(7px, 0.564516129vw);
  height: min(10px, 0.8064516129vw);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media (max-width: 767px) {
  .p-voice-pickup__slider-prev::before, .p-voice-pickup__slider-next::before {
    width: 1.8666666667vw;
    height: 2.6666666667vw;
  }
}
.p-voice-pickup__slider-prev:hover::before {
  background: url("../images/common/arrow-white-left.svg") no-repeat center center/contain;
}
.p-voice-pickup__slider-prev::before {
  background: url("../images/common/arrow-black-left.svg") no-repeat center center/contain;
}
.p-voice-pickup__slider-next:hover::before {
  background: url("../images/common/arrow-white.svg") no-repeat center center/contain;
}
.p-voice-pickup__slider-next::before {
  background: url("../images/common/arrow-black.svg") no-repeat center center/contain;
}
.p-voice-pickup__slider-link {
  display: block;
  width: 100%;
  height: 100%;
}
@media (min-width: 768px) {
  .p-voice-pickup__slider-link:hover .p-voice-pickup__slider-thumbnail img {
    transform: scale(1.08);
  }
}
.p-voice-pickup__slider-link:hover .p-voice-pickup__slider-title, .p-voice-pickup__slider-link:hover .p-voice-pickup__slider-date, .p-voice-pickup__slider-link:hover .p-voice-pickup__slider-category {
  opacity: 0.5;
}
.p-voice-pickup__slider-item {
  transition-timing-function: ease-in-out;
}
.p-voice-pickup__slider-thumbnail {
  width: min(600px, 48.3870967742vw);
  aspect-ratio: 16/9;
  border-radius: 2.6px;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  /* ベースを #F1F5F8 に、右下角だけ #fff を上書き。右下角だけ #fff を“丸く”置く。サイズは角丸の直径 */
  background: radial-gradient(circle at bottom right, #fff 99%, transparent 100%) bottom right/8px 8px no-repeat, #F1F5F8;
}
@media (max-width: 767px) {
  .p-voice-pickup__slider-thumbnail {
    width: 94.6666666667vw;
    aspect-ratio: 355/200;
    border-radius: 0 0.5333333333vw 0.5333333333vw 0;
  }
}
.p-voice-pickup__slider-thumbnail img {
  transition: transform 0.3s ease;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 4px;
}
@media (max-width: 767px) {
  .p-voice-pickup__slider-thumbnail img {
    border-radius: 0 1.0666666667vw 1.0666666667vw 0;
  }
}
.p-voice-pickup__slider-body {
  background-color: #FFF;
  aspect-ratio: 800/337;
  padding: min(60px, 4.8387096774vw) min(84px, 6.7741935484vw) min(60px, 4.8387096774vw) min(354px, 28.5483870968vw);
  width: min(800px, 64.5161290323vw);
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
  border-radius: min(4px, 0.3225806452vw);
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .p-voice-pickup__slider-body {
    aspect-ratio: 356/380;
    padding: 46.9333333333vw 5.3333333333vw 0 8vw;
    width: 94.9333333333vw;
    border-radius: 1.0666666667vw 0 0 1.0666666667vw;
  }
}
.p-voice-pickup__slider-title {
  text-wrap: initial;
  color: #000;
  font-size: min(24px, 1.935483871vw);
  font-weight: 700;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: opacity 0.3s ease;
  margin: 0;
}
@media (max-width: 767px) {
  .p-voice-pickup__slider-title {
    font-size: 4.8vw;
    -webkit-line-clamp: 4;
  }
}
.p-voice-pickup__slider-date {
  display: block;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: min(12px, 0.9677419355vw);
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.08em;
  margin-top: min(24px, 1.935483871vw);
  transition: opacity 0.3s ease;
}
@media (max-width: 767px) {
  .p-voice-pickup__slider-date {
    font-size: 3.2vw;
    margin-top: 3.2vw;
  }
}
.p-voice-pickup__slider-category {
  position: absolute;
  bottom: min(64px, 5.1612903226vw);
  right: min(50px, 4.0322580645vw);
  width: min(150px, 12.0967741935vw);
  height: min(62.5px, 5.0403225806vw);
  transition: opacity 0.3s ease;
}
@media (max-width: 767px) {
  .p-voice-pickup__slider-category {
    width: 29.3333333333vw;
    height: 10.6666666667vw;
    bottom: 7.4666666667vw;
    right: 6.4vw;
  }
}
.p-voice-pickup__slider-category img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center left;
}
.p-voice-magazine {
  padding: min(40px, 3.2258064516vw) 0 0;
  overflow: hidden;
}
@media (max-width: 767px) {
  .p-voice-magazine {
    padding: 10.6666666667vw 0 0;
  }
}
.p-voice-magazine__heading {
  font-family: "Montserrat", Arial, sans-serif;
  font-size: min(40px, 3.2258064516vw);
  font-weight: 600;
  letter-spacing: 0.03em;
  position: relative;
  margin-bottom: min(16px, 1.2903225806vw);
}
@media (max-width: 767px) {
  .p-voice-magazine__heading {
    font-size: 6.4vw;
    margin-bottom: 5.8666666667vw;
  }
}
.p-voice-category {
  position: relative;
  padding: min(32px, 2.5806451613vw) 0 min(20px, 1.6129032258vw);
  margin-top: max(-30px, -2.4193548387vw);
}
@media (max-width: 767px) {
  .p-voice-category {
    padding: 14.4vw 0 12.8vw 20px;
    margin-top: -16vw;
  }
}
.p-voice-category .swiper-slide {
  transition: all 0.3s;
}
@media (min-width: 768px) {
  .p-voice-category .swiper:hover .swiper-slide:not(:hover) {
    opacity: 0.3;
  }
}
.p-voice-category__container {
  max-width: 1100px;
  margin: 0 auto;
}
.p-voice-category .swiper {
  overflow: visible;
}
.p-voice-category__slider-controller {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0 min(12px, 0.9677419355vw);
  position: absolute;
  top: max(-2px, -0.1612903226vw);
  left: calc(50% + min(550px, 44.3548387097vw));
  transform: translate(-100%, -100%);
}
@media (max-width: 767px) {
  .p-voice-category__slider-controller {
    display: contents;
  }
}
.p-voice-category__slider-item {
  max-width: 260px;
  margin-right: 20px;
}
@media (max-width: 767px) {
  .p-voice-category__slider-item {
    max-width: initial;
    max-width: 66vw;
    margin-right: initial;
  }
}
.p-voice-category__slider-nav {
  display: flex;
  align-items: center;
  gap: min(10px, 0.8064516129vw);
}
@media (max-width: 767px) {
  .p-voice-category__slider-nav {
    gap: 2.1333333333vw;
    position: absolute;
    top: -11.7333333333vw;
    right: 5.3333333333vw;
    top: 2.1333333333vw;
  }
}
.p-voice-category__slider-pagination {
  width: auto !important;
  display: flex;
  align-items: center;
}
@media (max-width: 767px) {
  .p-voice-category__slider-pagination {
    position: absolute;
    left: 50% !important;
    transform: translateX(-50%);
    bottom: 5.3333333333vw !important;
  }
}
.p-voice-category__slider-pagination .swiper-pagination-bullet {
  width: min(8px, 0.6451612903vw);
  height: min(8px, 0.6451612903vw);
  margin: 0 min(6px, 0.4838709677vw) !important;
}
@media (max-width: 767px) {
  .p-voice-category__slider-pagination .swiper-pagination-bullet {
    width: 2.1333333333vw;
    height: 2.1333333333vw;
    margin: 0 1.6vw !important;
  }
}
.p-voice-category__slider-pagination .swiper-pagination-bullet-active {
  background: #32373C;
}
.p-voice-category__slider-prev, .p-voice-category__slider-next {
  width: min(48px, 3.8709677419vw);
  height: min(24px, 1.935483871vw);
  position: relative;
  border: min(1px, 0.0806451613vw) solid #32373C;
  border-radius: 1000px;
  background: #fff;
  transition: background 0.3s ease;
}
@media (max-width: 767px) {
  .p-voice-category__slider-prev, .p-voice-category__slider-next {
    width: 12.8vw;
    height: 6.4vw;
    border: 0.2666666667vw solid #32373C;
  }
}
.p-voice-category__slider-prev:hover, .p-voice-category__slider-next:hover {
  background: #32373C;
}
.p-voice-category__slider-prev::before, .p-voice-category__slider-next::before {
  content: "";
  display: block;
  width: min(7px, 0.564516129vw);
  height: min(10px, 0.8064516129vw);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media (max-width: 767px) {
  .p-voice-category__slider-prev::before, .p-voice-category__slider-next::before {
    width: 1.8666666667vw;
    height: 2.6666666667vw;
  }
}
.p-voice-category__slider-prev.swiper-button-disabled, .p-voice-category__slider-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}
.p-voice-category__slider-prev:hover::before {
  background: url("../images/common/arrow-white-left.svg") no-repeat center center/contain;
}
.p-voice-category__slider-prev::before {
  background: url("../images/common/arrow-black-left.svg") no-repeat center center/contain;
}
.p-voice-category__slider-next:hover::before {
  background: url("../images/common/arrow-white.svg") no-repeat center center/contain;
}
.p-voice-category__slider-next::before {
  background: url("../images/common/arrow-black.svg") no-repeat center center/contain;
}
.p-voice-category__slider-link {
  display: block;
  transition: opacity 0.3s ease;
}
.p-voice-category__slider-thumbnail {
  aspect-ratio: 1/1;
}
.p-voice-category__slider-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: min(4px, 0.3225806452vw);
}
@media (max-width: 767px) {
  .p-voice-category__slider-thumbnail img {
    border-radius: 1.0666666667vw;
  }
}
.p-voice-taglist {
  background-color: #FFF;
  padding: min(48px, 3.8709677419vw) 0;
}
@media (max-width: 767px) {
  .p-voice-taglist {
    padding: 7.4666666667vw 0;
  }
}
.p-voice-taglist:not(:has(.p-voice-tags)) {
  background-color: transparent;
}
.p-voice-categoryArea {
  padding: min(48px, 3.8709677419vw) 0;
}
@media (max-width: 767px) {
  .p-voice-categoryArea {
    padding: 7.4666666667vw 0;
  }
}
.p-voice-tagArea {
  padding: min(48px, 3.8709677419vw) 0;
}
@media (max-width: 767px) {
  .p-voice-tagArea {
    padding: 7.4666666667vw 0;
  }
}
.p-voice-tags {
  display: flex;
  gap: min(8px, 0.6451612903vw);
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .p-voice-tags {
    gap: 2.1333333333vw;
  }
}
.p-voice-tags__tag a {
  display: block;
  line-height: 1.6;
  position: relative;
  color: #FFF;
  background-color: #32373C;
  border-radius: min(54px, 4.3548387097vw);
  padding: min(1px, 0.0806451613vw) min(16px, 1.2903225806vw) min(3px, 0.2419354839vw);
  font-size: min(14px, 1.1290322581vw);
  transition: opacity 0.3s ease;
}
@media (max-width: 767px) {
  .p-voice-tags__tag a {
    border-radius: 14.4vw;
    padding: 0.8vw 2.1333333333vw;
    font-size: 3.2vw;
  }
}
.p-voice-tags__tag a:before {
  content: "#";
}
.page-harimavoice-category .p-voice-tags__tag a:before {
  content: "";
}
.p-voice-tags__tag a:hover {
  opacity: 0.5;
}

/*
 * ハリマボイス 記事パーツ
 * - トップページ
 * - カテゴリー別 一覧ページ
 * - タブ　　　別 一覧ページ
 * - 検索結果　　 一覧ページ
 */
@media (max-width: 767px) {
  .page-harimavoice .p-voice-card__item:nth-child(5n), .page-harimavoice-category .p-voice-card__item:nth-child(5n), .page-harimavoice-tag .p-voice-card__item:nth-child(5n), .page-search-harimavoice .p-voice-card__item:nth-child(5n) {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .page-harimavoice .p-voice-card__item:nth-child(5n) .p-voice-card__body, .page-harimavoice-category .p-voice-card__item:nth-child(5n) .p-voice-card__body, .page-harimavoice-tag .p-voice-card__item:nth-child(5n) .p-voice-card__body, .page-search-harimavoice .p-voice-card__item:nth-child(5n) .p-voice-card__body {
    padding: 3.7333333333vw 3.2vw 12.8vw;
  }
}
@media (max-width: 767px) {
  .page-harimavoice .p-voice-card__item:nth-child(5n) .p-voice-card__title, .page-harimavoice-category .p-voice-card__item:nth-child(5n) .p-voice-card__title, .page-harimavoice-tag .p-voice-card__item:nth-child(5n) .p-voice-card__title, .page-search-harimavoice .p-voice-card__item:nth-child(5n) .p-voice-card__title {
    -webkit-line-clamp: 2;
    height: 11.7333333333vw;
  }
}
@media (max-width: 767px) {
  .page-harimavoice .p-voice-card__item:nth-child(5n) .p-voice-card__category, .page-harimavoice-category .p-voice-card__item:nth-child(5n) .p-voice-card__category, .page-harimavoice-tag .p-voice-card__item:nth-child(5n) .p-voice-card__category, .page-search-harimavoice .p-voice-card__item:nth-child(5n) .p-voice-card__category {
    left: 50%;
    bottom: 3.2vw;
  }
}

.p-voice .p-voice-card {
  padding: min(75px, 6.0483870968vw) 0 0;
}
@media (max-width: 767px) {
  .p-voice .p-voice-card {
    padding: 10.6666666667vw 0 0;
  }
}
.p-voice-card__items {
  display: flex;
  flex-wrap: wrap;
  gap: min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .p-voice-card__items {
    gap: 7.4666666667vw 4vw;
  }
}
.p-voice-card__item {
  width: calc((100% - min(80px, 6.4516129032vw)) / 3);
  box-shadow: min(6px, 0.4838709677vw) min(6px, 0.4838709677vw) min(20px, 1.6129032258vw) 0 rgba(47, 55, 73, 0.07);
  border-radius: 0 0 min(4px, 0.3225806452vw) min(4px, 0.3225806452vw);
  position: relative;
}
@media (max-width: 767px) {
  .p-voice-card__item {
    width: calc((100% - 4vw) / 2);
    border-radius: 1.0666666667vw;
    box-shadow: 1.6vw 1.6vw 5.3333333333vw 0 rgba(47, 55, 73, 0.07);
    border-radius: 0 0 1.0666666667vw 1.0666666667vw;
  }
}
@media (max-width: 767px) {
  .p-voice-card__items--recommend .p-voice-card__item {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .p-voice-card__items--recommend .p-voice-card__item .p-voice-card__body {
    padding: 3.7333333333vw 3.2vw 12.8vw;
  }
}
@media (max-width: 767px) {
  .p-voice-card__items--recommend .p-voice-card__item .p-voice-card__title {
    -webkit-line-clamp: 2;
    height: 11.7333333333vw;
  }
}
@media (max-width: 767px) {
  .p-voice-card__items--recommend .p-voice-card__item .p-voice-card__category {
    left: 50%;
    bottom: 3.2vw;
  }
}
@media (max-width: 767px) {
  .p-voice-card__items--recommend .p-voice-card__item .p-voice-card__body {
    padding: 3.7333333333vw 3.2vw 14.9333333333vw;
  }
}
.p-voice-card__item a {
  position: relative;
}
@media (min-width: 768px) {
  .p-voice-card__item a:hover .p-voice-card__thumbnail img, .p-voice-card__item a:focus .p-voice-card__thumbnail img {
    transform: scale(1.05);
  }
}
.p-voice-card__item a:hover .p-voice-card__title, .p-voice-card__item a:hover .p-voice-card__date, .p-voice-card__item a:hover .p-voice-card__category, .p-voice-card__item a:focus .p-voice-card__title, .p-voice-card__item a:focus .p-voice-card__date, .p-voice-card__item a:focus .p-voice-card__category {
  opacity: 0.5;
}
.p-voice-card__item svg.newmark {
  display: block;
  position: absolute;
  top: max(-10px, -0.8064516129vw);
  left: min(10px, 0.8064516129vw);
  width: min(50px, 4.0322580645vw);
  aspect-ratio: 1/1;
  z-index: 1;
}
@media (max-width: 767px) {
  .p-voice-card__item svg.newmark {
    width: 11.7333333333vw;
    top: -1.8666666667vw;
    left: 1.8666666667vw;
  }
}
.p-voice-card__thumbnail {
  aspect-ratio: 16/9;
  border-radius: min(4px, 0.3225806452vw) min(4px, 0.3225806452vw) 0 0;
  overflow: hidden;
}
@media (max-width: 767px) {
  .p-voice-card__thumbnail {
    border-radius: 1.0666666667vw 1.0666666667vw 0 0;
  }
}
.p-voice-card__thumbnail img {
  transition: transform 0.3s ease;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-voice-card__body {
  position: relative;
  padding: min(10px, 0.8064516129vw) min(16px, 1.2903225806vw) min(84px, 6.7741935484vw);
  background-color: #fff;
  border-radius: 0 0 min(4px, 0.3225806452vw) min(4px, 0.3225806452vw);
}
@media (max-width: 767px) {
  .p-voice-card__body {
    padding: 2.1333333333vw 3.2vw 15.4666666667vw;
    border-radius: 0 0 1.0666666667vw 1.0666666667vw;
  }
}
.p-voice-card__title {
  text-wrap: initial;
  color: #000;
  font-size: min(16px, 1.2903225806vw);
  font-weight: 500;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  margin: 0;
  transition: opacity 0.3s ease;
  height: min(50px, 4.0322580645vw);
}
@media (max-width: 767px) {
  .p-voice-card__title {
    font-size: 3.4666666667vw;
    -webkit-line-clamp: 2;
    height: 11.2vw;
  }
}
.p-voice-card__date {
  display: block;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: min(12px, 0.9677419355vw);
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.08em;
  margin-top: min(10px, 0.8064516129vw);
  transition: opacity 0.3s ease;
}
@media (max-width: 767px) {
  .p-voice-card__date {
    font-size: 3.2vw;
    margin-top: 0.5333333333vw;
  }
}
.p-voice-card__category {
  width: min(120px, 9.6774193548vw);
  height: min(50px, 4.0322580645vw);
  margin: 0 auto;
  position: absolute;
  left: 50%;
  bottom: min(24px, 1.935483871vw);
  transform: translateX(-50%);
  transition: opacity 0.3s ease;
}
@media (max-width: 767px) {
  .p-voice-card__category {
    width: 25.8666666667vw;
    height: 10.6666666667vw;
    bottom: 3.2vw;
  }
}
.p-voice-card__category img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

/*
 * お問い合わせ
 */
.p-contact {
  color: #32373C;
  font-weight: 500;
  letter-spacing: 0.02em;
  padding-bottom: 0;
}
.p-contact .c-breadcrumb {
  background-color: transparent;
}
.p-contact-menu {
  padding: min(30px, 2.4193548387vw) 0 min(120px, 9.6774193548vw);
}
@media (max-width: 767px) {
  .p-contact-menu {
    padding: 0vw 0 19.2vw;
  }
}
.p-contact-menu__heading {
  display: none;
  font-size: min(32px, 2.5806451613vw);
  font-weight: 700;
  margin: 0;
  margin-bottom: min(30px, 2.4193548387vw);
}
@media (max-width: 767px) {
  .p-contact-menu__heading {
    font-size: 6.4vw;
    margin-bottom: 10.1333333333vw;
  }
}
.p-contact-menu ul {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .p-contact-menu ul {
    flex-direction: column;
    justify-content: initial;
    gap: 5.3333333333vw 0;
  }
}
.p-contact-menu li {
  width: 30.9090909091%;
  border-radius: min(4px, 0.3225806452vw);
  overflow: hidden;
}
@media (max-width: 767px) {
  .p-contact-menu li {
    width: 100%;
    border-radius: 1.0666666667vw;
  }
}
.p-contact-menu__item {
  position: relative;
  aspect-ratio: 340/300;
  width: 100%;
  display: block;
}
@media (max-width: 767px) {
  .p-contact-menu__item {
    aspect-ratio: 335/140;
  }
}
.p-contact-menu__item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #0052A4;
  background-image: linear-gradient(to right, #528BD0 0%, #0052A4 54%);
  opacity: 0.8;
  transition: opacity 0.3s ease;
}
.p-contact-menu__item:hover:before, .p-contact-menu__item:focus:before {
  opacity: 0.94;
}
.p-contact-menu__item--Building {
  background-image: url("../images/contact/building.jpg");
  background-size: cover;
}
@media (max-width: 767px) {
  .p-contact-menu__item--Building {
    background-image: url("../images/contact/building_sp.jpg");
  }
}
.p-contact-menu__item--General {
  background-image: url("../images/contact/general.jpg");
  background-size: cover;
}
@media (max-width: 767px) {
  .p-contact-menu__item--General {
    background-image: url("../images/contact/general_sp.jpg");
  }
}
.p-contact-menu__item--Join {
  background-image: url("../images/contact/group-join.jpg");
  background-size: cover;
}
@media (max-width: 767px) {
  .p-contact-menu__item--Join {
    background-image: url("../images/contact/group-join_sp.jpg");
  }
}
.p-contact-menu__item span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  width: 100%;
  text-align: center;
  color: #fff;
  font-size: min(20px, 1.6129032258vw);
  font-weight: 700;
  line-height: 1.4;
}
@media (max-width: 767px) {
  .p-contact-menu__item span {
    font-size: 4.8vw;
  }
}
.p-contact-menu__item svg {
  position: absolute;
  top: 50%;
  right: 6%;
  transform: translate(-50%, -50%);
  width: min(10px, 0.8064516129vw);
}
@media (max-width: 767px) {
  .p-contact-menu__item svg {
    width: 1.8666666667vw;
  }
}
.p-contact-menuPartners {
  padding: min(100px, 8.064516129vw) 0 min(160px, 12.9032258065vw);
  background-color: #f8f8f8;
}
@media (max-width: 767px) {
  .p-contact-menuPartners {
    padding: 13.3333333333vw 0 32vw;
  }
}
.p-contact-menuPartners__heading {
  font-size: min(32px, 2.5806451613vw);
  font-weight: 700;
  margin: 0 0 min(10px, 0.8064516129vw);
}
@media (max-width: 767px) {
  .p-contact-menuPartners__heading {
    font-size: 6.4vw;
    margin: 0 0 2.6666666667vw;
  }
}
.p-contact-menuPartners__description {
  font-size: min(16px, 1.2903225806vw);
  font-weight: 400;
  margin-bottom: min(54px, 4.3548387097vw);
}
@media (max-width: 767px) {
  .p-contact-menuPartners__description {
    font-size: 3.7333333333vw;
    margin-bottom: 13.8666666667vw;
    font-size: 100%;
  }
}
.p-contact-menuPartners ul {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .p-contact-menuPartners ul {
    flex-direction: column;
    justify-content: initial;
    gap: 5.3333333333vw 0;
  }
}
.p-contact-menuPartners li {
  width: 48.1818181818%;
  aspect-ratio: 530/150;
}
@media (max-width: 767px) {
  .p-contact-menuPartners li {
    width: 100%;
    aspect-ratio: 335/100;
  }
}
.p-contact-menuPartners__item {
  position: relative;
  font-size: min(20px, 1.6129032258vw);
  line-height: 1.6;
  background-color: #fff;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: min(34px, 2.7419354839vw);
  transition: border 0.3s ease;
  border: min(2px, 0.1612903226vw) solid rgba(0, 82, 164, 0);
  border-radius: min(4px, 0.3225806452vw);
}
@media (max-width: 767px) {
  .p-contact-menuPartners__item {
    font-size: 4.8vw;
    padding-left: 9.0666666667vw;
    border-radius: 1.0666666667vw;
  }
}
.p-contact-menuPartners__item:hover, .p-contact-menuPartners__item:focus {
  border: min(2px, 0.1612903226vw) solid rgba(0, 82, 164, 0.6);
  color: #0052a4;
  color: color-mix(in srgb, #0052A4 70%, #000);
}
.p-contact-menuPartners__item:hover svg path, .p-contact-menuPartners__item:focus svg path {
  stroke: rgba(0, 82, 164, 0.8);
}
.p-contact-menuPartners__item svg {
  position: absolute;
  top: 50%;
  right: 6%;
  transform: translate(-50%, -50%);
  width: min(10px, 0.8064516129vw);
}
@media (max-width: 767px) {
  .p-contact-menuPartners__item svg {
    width: 1.8666666667vw;
  }
}

/*
 * お問い合わせフォーム
 */
.p-form {
  color: #000;
  font-weight: 500;
  letter-spacing: 0.02em;
  /* ==================================================
     テキスト
    =================================================== */
  /* ==================================================
     メール
    =================================================== */
  /* ==================================================
     テキストエリア
    =================================================== */
  /* ==================================================
     ラジオボタン
    =================================================== */
  /* ==================================================
     チェックボックス
    =================================================== */
}
.p-form h1, .p-form h2, .p-form h3, .p-form h4 {
  text-wrap: initial;
}
.p-form .secret-item {
  display: none;
  visibility: hidden;
  height: 0;
}
.p-form .c-page-header__heading {
  font-size: min(42.8px, 3.4516129032vw);
}
@media (max-width: 767px) {
  .p-form .c-page-header__heading {
    font-size: 7.4666666667vw;
  }
}
.p-form-header {
  padding-top: min(80px, 6.4516129032vw);
  margin-bottom: min(80px, 6.4516129032vw);
}
@media (max-width: 767px) {
  .p-form-header {
    padding-top: 10.6666666667vw;
    margin-bottom: 13.3333333333vw;
  }
}
.p-form-header__desc {
  font-size: min(20px, 1.6129032258vw);
  font-weight: 700;
  line-height: 1.6;
  display: none;
}
@media (max-width: 767px) {
  .p-form-header__desc {
    font-size: 4.2666666667vw;
  }
}
.p-form__important {
  font-size: min(16px, 1.2903225806vw);
  font-weight: 400;
  line-height: 1.8;
  text-align: center;
  letter-spacing: 0.02em;
  background-color: #F0F2F6;
  padding: min(12px, 0.9677419355vw) 0 min(14px, 1.1290322581vw);
  margin-bottom: min(40px, 3.2258064516vw);
  transform: translateY(-30%);
}
@media (max-width: 767px) {
  .p-form__important {
    font-size: 3.4666666667vw;
    padding: 3.2vw 0 3.2vw;
    margin-bottom: 5.3333333333vw;
    transform: translateY(-40%);
  }
}
.p-form__error {
  color: #dc3232;
  font-size: 94%;
  margin-top: min(6px, 0.4838709677vw);
  margin-left: 35.5555555556%;
}
@media (max-width: 767px) {
  .p-form__error {
    margin-top: 1.6vw;
    margin-left: 0;
  }
}
.p-form__error .icon-error {
  display: none;
}
.p-form-item {
  display: flex;
  justify-content: space-between;
  margin-top: min(40px, 3.2258064516vw);
}
.p-form-item:nth-of-type(1) {
  margin-top: 0;
  padding-top: min(20px, 1.6129032258vw);
}
@media (max-width: 767px) {
  .p-form-item {
    flex-direction: column;
    margin-top: 8.5333333333vw;
  }
}
.p-form-item.mt-harf {
  margin-top: min(20px, 1.6129032258vw);
}
@media (max-width: 767px) {
  .p-form-item.mt-harf {
    margin-top: 3.2vw;
  }
}
.p-form-item--confirm {
  margin-top: min(26px, 2.0967741935vw);
}
@media (max-width: 767px) {
  .p-form-item--confirm {
    margin-top: 6.9333333333vw;
  }
}
.p-form-item--confirm.--stick {
  margin-top: min(4px, 0.3225806452vw);
}
@media (max-width: 767px) {
  .p-form-item--confirm.--stick {
    margin-top: 0.5333333333vw;
  }
}
.p-form-item__label {
  font-size: min(18px, 1.4516129032vw);
  line-height: 1.4;
  width: 34.4444444444%;
  margin-top: min(8px, 0.6451612903vw);
}
@media (max-width: 767px) {
  .p-form-item__label {
    width: 100%;
    margin-top: 2.6666666667vw;
    margin-bottom: 2.6666666667vw;
  }
}
.p-form-item--confirm .p-form-item__label {
  padding: min(8px, 0.6451612903vw) 0;
  margin-top: 0;
}
@media (max-width: 767px) {
  .p-form-item--confirm .p-form-item__label {
    padding: 0;
    margin-bottom: 1.6vw;
  }
}
@media (max-width: 767px) {
  .p-form-item__label {
    font-size: 3.7333333333vw;
  }
}
.flex-start .p-form-item__label {
  transform: translateY(20%);
}
.p-form-item__label .required {
  color: #FFF;
  font-size: min(14px, 1.1290322581vw);
  display: inline-block;
  transform: translateY(-7%);
  padding: min(2px, 0.1612903226vw) min(8px, 0.6451612903vw) min(3px, 0.2419354839vw);
  background-color: #0052A4;
  border-radius: min(4px, 0.3225806452vw);
  margin-left: min(8px, 0.6451612903vw);
}
@media (max-width: 767px) {
  .p-form-item__label .required {
    font-size: 3.2vw;
    border-radius: 1.0666666667vw;
    padding: 0.5333333333vw 2.1333333333vw 1.0666666667vw;
  }
}
.p-form-item__input {
  font-size: min(16px, 1.2903225806vw);
  width: 64.4444444444%;
  font-weight: 400;
}
@media (max-width: 767px) {
  .p-form-item__input {
    width: 100%;
    font-size: 3.4666666667vw;
  }
}
.p-form-item--confirm .p-form-item__input {
  padding: min(8px, 0.6451612903vw) min(16px, 1.2903225806vw);
}
@media (max-width: 767px) {
  .p-form-item--confirm .p-form-item__input {
    padding: 0;
  }
}
.p-form-item__input .memo {
  font-size: min(12px, 0.9677419355vw);
  font-weight: 400;
  margin-top: min(4px, 0.3225806452vw);
  letter-spacing: 0.02em;
}
@media (max-width: 767px) {
  .p-form-item__input .memo {
    font-size: 2.64vw;
    margin-top: 1.6vw;
  }
}
.p-form-item__input:has(input[type=text]) {
  transform: translateY(-2%);
}
.p-form-item__input:has(input[type=email]) {
  transform: translateY(-2%);
}
.p-form-item__input-property-item {
  display: flex;
  flex-direction: column;
  gap: min(5px, 0.4032258065vw) 0;
}
.p-form-item__input-property-item:not(:first-child) {
  margin-top: min(16px, 1.2903225806vw);
}
.p-form-item__input-property-item .subHeading {
  font-size: min(16px, 1.2903225806vw);
}
@media (max-width: 767px) {
  .p-form-item__input-property-item .subHeading {
    font-size: 3.4666666667vw;
    margin: 1.0666666667vw 0;
  }
}
.p-form-item__input-spec-1 {
  display: flex;
  flex-direction: column;
  gap: min(10px, 0.8064516129vw) 0;
}
@media (max-width: 767px) {
  .p-form-item__input-spec-1 {
    gap: 2.6666666667vw 0;
  }
}
.p-form-item__input-spec-2, .p-form-item__input-spec-3, .p-form-item__input-spec-4 {
  margin-top: min(10px, 0.8064516129vw);
}
@media (max-width: 767px) {
  .p-form-item__input-spec-2, .p-form-item__input-spec-3, .p-form-item__input-spec-4 {
    margin-top: 2.6666666667vw;
  }
}
.p-form-item__input-spec-item {
  display: flex;
  align-items: center;
  gap: 0 min(10px, 0.8064516129vw);
}
@media (max-width: 767px) {
  .p-form-item__input-spec-item {
    gap: 0 1.6vw;
  }
}
.p-form-item__input-spec-item .subHeading {
  display: block;
  font-size: min(16px, 1.2903225806vw);
  width: min(84px, 6.7741935484vw);
}
@media (max-width: 767px) {
  .p-form-item__input-spec-item .subHeading {
    font-size: 3.4666666667vw;
    width: 18.6666666667vw;
  }
}
.p-form-item__input-spec-item .subHeading.width-harf {
  width: min(36px, 2.9032258065vw);
}
@media (max-width: 767px) {
  .p-form-item__input-spec-item .subHeading.width-harf {
    width: 9.0666666667vw;
  }
}
.p-form-item__input-spec-item .subUnit {
  font-size: min(16px, 1.2903225806vw);
}
@media (max-width: 767px) {
  .p-form-item__input-spec-item .subUnit {
    font-size: 3.4666666667vw;
  }
}
.p-form-item__input-spec-item input[type=text].subText, .p-form-item__input-spec-item input[type=number].subText {
  width: min(80px, 6.4516129032vw);
}
@media (max-width: 767px) {
  .p-form-item__input-spec-item input[type=text].subText, .p-form-item__input-spec-item input[type=number].subText {
    width: 21.3333333333vw;
  }
}
.p-form-privacy {
  margin-top: min(60px, 4.8387096774vw);
}
.p-form-privacy .checkbox {
  justify-content: center;
}
.p-form .p-form-privacy .checkbox label {
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-form .p-form-privacy .checkbox label input[type=checkbox] {
  margin-right: min(10px, 0.8064516129vw);
  margin-top: min(2px, 0.1612903226vw);
}
.p-form .p-form-privacy .checkbox label span {
  font-size: min(16px, 1.2903225806vw);
  font-weight: 400;
  line-height: 1.6;
  transform: translateY(min(1px, 0.0806451613vw));
}
@media (max-width: 767px) {
  .p-form .p-form-privacy .checkbox label span {
    width: 70%;
    font-size: 3.4666666667vw;
    text-align: center;
    transform: translateY(0);
  }
}
.p-form .p-form-privacy .checkbox label a {
  display: initial;
  color: #0052A4;
  text-decoration: underline;
  text-underline-offset: min(2px, 0.1612903226vw);
}
@media (max-width: 767px) {
  .p-form .p-form-privacy .checkbox label a {
    text-underline-offset: 0.5333333333vw;
  }
}
.p-form-button__container {
  display: flex;
  justify-content: center;
  gap: 0 min(40px, 3.2258064516vw);
  margin-top: min(70px, 5.6451612903vw);
}
@media (max-width: 767px) {
  .p-form-button__container {
    flex-direction: column;
    align-items: center;
    gap: 5.8666666667vw 0;
    margin-top: 16vw;
  }
}
.p-form .c-button--arrow.bg-white {
  background-color: #fff;
  color: #32373C;
}
.p-form .c-button--arrow.bg-white::after {
  transform: rotate(180deg) translateY(50%);
  background: url("../images/common/arrow-black.svg") no-repeat center center/contain;
  left: min(18px, 1.4516129032vw);
  width: min(7px, 0.564516129vw);
  height: min(10px, 0.8064516129vw);
}
@media (max-width: 767px) {
  .p-form .c-button--arrow.bg-white::after {
    left: 5.3333333333vw;
    width: 1.8666666667vw;
    height: 2.6666666667vw;
  }
}
.p-form .c-button--arrow.bg-white:hover {
  opacity: 0.6;
}
.p-form input[type=text], .p-form input[type=number] {
  font-size: min(16px, 1.2903225806vw);
  padding-left: min(14px, 1.1290322581vw);
  background-color: #f8f8f8;
  border: none;
  height: min(40px, 3.2258064516vw);
  width: 100%;
}
@media (max-width: 767px) {
  .p-form input[type=text], .p-form input[type=number] {
    font-size: 3.4666666667vw;
    height: 12.8vw;
  }
}
.p-form input[type=email] {
  font-size: min(16px, 1.2903225806vw);
  padding-left: min(14px, 1.1290322581vw);
  background-color: #f8f8f8;
  border: none;
  height: min(40px, 3.2258064516vw);
  width: 100%;
}
@media (max-width: 767px) {
  .p-form input[type=email] {
    font-size: 3.4666666667vw;
    height: 12.8vw;
  }
}
.p-form textarea {
  font-size: min(16px, 1.2903225806vw);
  padding: min(14px, 1.1290322581vw);
  background-color: #f8f8f8;
  border: none;
  min-height: min(132px, 10.6451612903vw);
  width: 100%;
  resize: vertical;
}
@media (max-width: 767px) {
  .p-form textarea {
    font-size: 3.4666666667vw;
    min-height: 48vw;
  }
}
.p-form .radio {
  display: flex;
  flex-wrap: wrap;
  gap: min(10px, 0.8064516129vw) min(24px, 1.935483871vw);
  transform: translateY(-4%);
  margin-top: min(8px, 0.6451612903vw);
}
@media (max-width: 767px) {
  .p-form .radio {
    gap: 2.6666666667vw 6.4vw;
  }
}
.p-form .radio label {
  display: flex;
  align-items: center;
  font-size: min(16px, 1.2903225806vw);
  font-weight: 400;
}
@media (max-width: 767px) {
  .p-form .radio label {
    font-size: 3.4666666667vw;
  }
}
.p-form .radio input[type=radio], .p-form .radio input[type=checkbox] {
  appearance: none;
  width: min(19px, 1.5322580645vw);
  height: min(19px, 1.5322580645vw);
  border: 1px solid #000;
  border-radius: 50%;
  position: relative;
  margin-left: 0;
  margin-right: min(6px, 0.4838709677vw);
}
@media (max-width: 767px) {
  .p-form .radio input[type=radio], .p-form .radio input[type=checkbox] {
    width: 5.3333333333vw;
    height: 5.3333333333vw;
    border: 0.2666666667vw solid #000;
    margin-right: 1.6vw;
  }
}
.p-form .radio input[type=radio] {
  transform: translateY(-4%);
}
.p-form .radio input[type=checkbox] {
  transform: translateY(4%);
}
.p-form .radio input[type=radio]:checked::before, .p-form .radio input[type=checkbox]:checked::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #0052A4;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
  border: min(3.2px, 0.2580645161vw) solid #fff;
}
@media (max-width: 767px) {
  .p-form .radio input[type=radio]:checked::before, .p-form .radio input[type=checkbox]:checked::before {
    border: 0.96vw solid #fff;
  }
}
.p-form .checkbox {
  display: flex;
  flex-wrap: wrap;
  gap: min(10px, 0.8064516129vw) min(10px, 0.8064516129vw);
}
@media (max-width: 767px) {
  .p-form .checkbox {
    display: block;
  }
}
.p-form .checkbox label {
  display: flex;
  align-items: center;
}
@media (max-width: 767px) {
  .p-form .checkbox label {
    gap: 0 2.1333333333vw;
  }
}
.p-form .checkbox input[type=checkbox] {
  appearance: none;
  position: relative;
  width: min(20px, 1.6129032258vw);
  height: min(20px, 1.6129032258vw);
  border: 1px solid #000;
  transform: translateY(6%);
}
@media (max-width: 767px) {
  .p-form .checkbox input[type=checkbox] {
    width: 5.3333333333vw;
    height: 5.3333333333vw;
    border: 0.2666666667vw solid #000;
    vertical-align: -1.0666666667vw;
  }
}
.p-form .checkbox input[type=checkbox]:checked:before {
  position: absolute;
  transform: rotate(50deg);
  content: "";
  top: 0;
  left: min(5.75px, 0.4637096774vw);
  width: min(7.5px, 0.6048387097vw);
  height: min(13.75px, 1.1088709677vw);
  border-right: min(3px, 0.2419354839vw) solid #0052A4;
  border-bottom: min(3px, 0.2419354839vw) solid #0052A4;
}
@media (max-width: 767px) {
  .p-form .checkbox input[type=checkbox]:checked:before {
    top: 0.2666666667vw;
    left: 1.6vw;
    width: 2.1333333333vw;
    height: 3.2vw;
    border-right-width: 0.5333333333vw;
    border-bottom-width: 0.5333333333vw;
  }
}

.bg-wrapper:has(.p-form-thanks),
.bg-wrapper:has(.p-404) {
  background-image: url("../images/contact/bg-thanks.svg");
  background-position: center 0px;
  background-size: cover;
}

.p-form-thanks .c-page-header {
  text-align: center;
  margin-top: min(160px, 12.9032258065vw);
}
.p-form-thanks .c-page-header__subheading {
  display: none;
}
.p-form-thanks__body {
  text-align: center;
}
.p-form-thanks__message {
  margin-bottom: min(60px, 4.8387096774vw);
}
.p-form-thanks__button {
  padding-bottom: min(220px, 17.7419354839vw);
}

.p-404__header {
  text-align: center;
  margin-top: min(160px, 12.9032258065vw);
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  .p-404__header {
    margin-top: 21.3333333333vw;
  }
}
.p-404 .c-page-header__subheading {
  display: none;
}
.p-404__heading {
  font-size: min(44px, 3.5483870968vw);
  font-weight: 700;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  .p-404__heading {
    font-size: 7.4666666667vw;
    width: 57.0666666667vw;
  }
}
.p-404__body {
  text-align: center;
}
.p-404__message {
  margin-top: min(32px, 2.5806451613vw);
}
@media (max-width: 767px) {
  .p-404__message {
    margin-top: 7.4666666667vw;
  }
}
.p-404__button {
  margin-top: min(70px, 5.6451612903vw);
}
@media (max-width: 767px) {
  .p-404__button {
    margin-top: 16vw;
  }
}

/*
 * 記事ページ 共通（お知らせ記事、ハリマボイス記事）
 */
.p-post h1 {
  text-wrap: initial;
}
.p-post__info {
  display: flex;
  align-items: flex-start;
  margin-top: min(12px, 0.9677419355vw);
}
@media (max-width: 767px) {
  .p-post__info {
    display: block;
    margin-top: 3.2vw;
  }
}
.p-post__thumbnail {
  position: relative;
  aspect-ratio: 16/9;
  width: min(1100px, 88.7096774194vw);
  margin: 0 auto;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-post__thumbnail {
    max-width: clamp(0px, 81.6023738872vw, 1100px);
    width: 92%;
  }
}
@media (max-width: 767px) {
  .p-post__thumbnail {
    width: 100%;
  }
}
.p-post__thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: min(8px, 0.6451612903vw);
}
@media (max-width: 767px) {
  .p-post__thumbnail img {
    border-radius: 0;
  }
}
.p-post-back__container {
  display: flex;
  justify-content: center;
  margin-top: min(80px, 6.4516129032vw);
}
@media (max-width: 767px) {
  .p-post-back__container {
    margin-top: 13.3333333333vw;
  }
}
.p-post__content {
  margin-top: min(50px, 4.0322580645vw);
  /*
  *  object/utility/_mixin-block-editor
  *  WPエディタ共通スタイル
  */
  font-size: min(16px, 1.2903225806vw);
  font-weight: 400;
  line-height: 2;
  /*
  *  グレーで囲む（白で囲む）
  *  WP 高度な設定 > 追加 CSS クラス［ block-spacing ］を設定した場合
  */
  /*
  *  幅1100px
  *  WP 高度な設定 > 追加 CSS クラス［ width-full ］を設定した場合
  */
}
@media (max-width: 767px) {
  .p-post__content {
    margin-top: 10.6666666667vw;
  }
}
.p-post__content h2,
.p-post__content h3,
.p-post__content h4,
.p-post__content h5 {
  margin-block-start: 0;
  text-wrap: initial;
}
.p-post__content blockquote {
  margin-block-start: 0;
  margin-block-end: 0;
  margin-inline-start: 0;
  margin-inline-end: 0;
}
@media (max-width: 767px) {
  .p-post__content {
    font-size: 3.4666666667vw;
  }
}
.p-post__content > [class*=wp-block-], .p-post__content > p {
  max-width: 900px;
  margin: 0 auto;
}
.p-post__content > [class*=wp-block-]:first-child:not(.block-spacing), .p-post__content > p:first-child:not(.block-spacing) {
  padding: 0 0 min(25px, 2.0161290323vw) !important;
}
@media (max-width: 767px) {
  .p-post__content > [class*=wp-block-]:first-child:not(.block-spacing), .p-post__content > p:first-child:not(.block-spacing) {
    padding: 0 0 4vw !important;
  }
}
.p-post__content > [class*=wp-block-]:not(.block-spacing), .p-post__content > p:not(.block-spacing) {
  max-width: 900px;
  padding: min(25px, 2.0161290323vw) 0;
}
@media (max-width: 767px) {
  .p-post__content > [class*=wp-block-]:not(.block-spacing), .p-post__content > p:not(.block-spacing) {
    padding: 4vw 0;
  }
}
.p-post__content > [class*=wp-block-].block-spacing, .p-post__content > p.block-spacing {
  margin: min(25px, 2.0161290323vw) auto;
}
@media (max-width: 767px) {
  .p-post__content > [class*=wp-block-].block-spacing, .p-post__content > p.block-spacing {
    margin: 4vw auto;
  }
}
.p-post__content > .block-spacing + .block-spacing {
  margin: min(50px, 4.0322580645vw) auto;
}
@media (max-width: 767px) {
  .p-post__content > .block-spacing + .block-spacing {
    margin: 8vw auto;
  }
}
.p-post__content > .wp-block-space {
  margin: 0 auto;
}
@media (max-width: 767px) {
  .p-post__content > .wp-block-space {
    margin: o auto;
  }
}
.p-post__content > h2.wp-block-heading:not(.block-spacing) {
  padding: min(65px, 5.2419354839vw) 0 min(25px, 2.0161290323vw);
}
@media (max-width: 767px) {
  .p-post__content > h2.wp-block-heading:not(.block-spacing) {
    padding: 9.3333333333vw 0 4vw;
  }
}
.p-post__content > [class*=wp-block-] .wp-block-heading {
  margin-bottom: min(16px, 1.2903225806vw);
}
@media (max-width: 767px) {
  .p-post__content > [class*=wp-block-] .wp-block-heading {
    margin-bottom: 3.2vw;
  }
}
.p-post__content p a {
  display: initial;
  color: #0052A4;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.24rem;
}
.p-post__content a {
  transition: opacity 0.3s ease;
}
.p-post__content a:hover {
  opacity: 0.5;
}
.p-post__content h2.wp-block-heading {
  font-size: min(28px, 2.2580645161vw);
  font-weight: 700;
  line-height: 1.4;
}
@media (max-width: 767px) {
  .p-post__content h2.wp-block-heading {
    font-size: 5.3333333333vw;
  }
}
.p-post__content h3.wp-block-heading {
  font-size: min(24px, 1.935483871vw);
  font-weight: 700;
  line-height: 1.4;
}
@media (max-width: 767px) {
  .p-post__content h3.wp-block-heading {
    font-size: 4.8vw;
  }
}
.p-post__content h4.wp-block-heading {
  font-size: min(20px, 1.6129032258vw);
  font-weight: 700;
  line-height: 1.4;
}
@media (max-width: 767px) {
  .p-post__content h4.wp-block-heading {
    font-size: 4.2666666667vw;
  }
}
.p-post__content h5.wp-block-heading {
  font-size: min(20px, 1.6129032258vw);
  font-weight: 700;
  line-height: 1.4;
}
@media (max-width: 767px) {
  .p-post__content h5.wp-block-heading {
    font-size: 4.2666666667vw;
  }
}
.p-post__content h6.wp-block-heading {
  font-size: min(20px, 1.6129032258vw);
  font-weight: 700;
  line-height: 1.4;
}
@media (max-width: 767px) {
  .p-post__content h6.wp-block-heading {
    font-size: 4.2666666667vw;
  }
}
@media (max-width: 767px) {
  .p-post__content .wp-block-image {
    margin: 2.6666666667vw 0;
  }
}
.p-post__content .wp-block-image img {
  width: 100%;
  height: auto;
  border-radius: min(4px, 0.3225806452vw);
}
@media (max-width: 767px) {
  .p-post__content .wp-block-image img {
    border-radius: 1.0666666667vw;
  }
}
.p-post__content .wp-block-image figcaption {
  font-size: min(12px, 0.9677419355vw);
}
@media (max-width: 767px) {
  .p-post__content .wp-block-image figcaption {
    font-size: 2.6666666667vw;
  }
}
.p-post__content .wp-block-list {
  line-height: 1.8;
}
.p-post__content .wp-block-list li:not(:first-child) {
  margin-top: 0.4em;
}
.p-post__content ul.wp-block-list li {
  list-style: disc;
}
.p-post__content ol.wp-block-list li {
  list-style: decimal;
}
.p-post__content .wp-block-quote:not(.block-spacing) {
  background-color: #F8F8F8;
  padding: min(50px, 4.0322580645vw) min(48px, 3.8709677419vw);
  margin: min(25px, 2.0161290323vw) auto;
  border-radius: min(4px, 0.3225806452vw);
  position: relative;
  overflow: hidden;
}
@media (max-width: 767px) {
  .p-post__content .wp-block-quote:not(.block-spacing) {
    padding: 8vw 5.3333333333vw;
    margin: 4vw auto;
    border-radius: 1.0666666667vw;
  }
}
.p-post-harimavoice .p-post__content .wp-block-quote:not(.block-spacing) {
  background-color: #fff;
}
.p-post__content .wp-block-quote:not(.block-spacing)::before {
  content: "";
  position: absolute;
  top: 0;
  left: min(28px, 2.2580645161vw);
  transform: translateY(-2%);
  width: min(32px, 2.5806451613vw);
  height: min(40px, 3.2258064516vw);
  background-image: url("../images/post/quote_start.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center top;
}
@media (max-width: 767px) {
  .p-post__content .wp-block-quote:not(.block-spacing)::before {
    left: 6.4vw;
    width: 6.4vw;
    height: 8vw;
  }
}
.p-post__content .wp-block-quote:not(.block-spacing)::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: min(28px, 2.2580645161vw);
  transform: translateY(2%);
  width: min(32px, 2.5806451613vw);
  height: min(40px, 3.2258064516vw);
  background-image: url("../images/post/quote_end.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center bottom;
}
@media (max-width: 767px) {
  .p-post__content .wp-block-quote:not(.block-spacing)::after {
    right: 6.4vw;
    width: 6.4vw;
    height: 8vw;
  }
}
.p-post__content .wp-block-button {
  min-width: min(320px, 25.8064516129vw);
}
@media (max-width: 767px) {
  .p-post__content .wp-block-button {
    min-width: 64vw;
  }
}
.p-post__content .wp-block-button a {
  position: relative;
  padding-left: min(30px, 2.4193548387vw);
  padding-right: min(30px, 2.4193548387vw);
  min-width: min(320px, 25.8064516129vw);
}
@media (max-width: 767px) {
  .p-post__content .wp-block-button a {
    padding-left: 8vw;
    padding-right: 8vw;
    min-width: 64vw;
  }
}
.p-post__content .wp-block-button a[href] {
  padding-right: min(46px, 3.7096774194vw);
}
@media (max-width: 767px) {
  .p-post__content .wp-block-button a[href] {
    padding-right: 10.1333333333vw;
  }
}
.p-post__content .wp-block-button a[href]::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  background-image: url("../images/post/icon_arrow.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  width: min(7.4px, 0.5967741935vw);
  height: min(24px, 1.935483871vw);
  right: min(22px, 1.7741935484vw);
}
@media (max-width: 767px) {
  .p-post__content .wp-block-button a[href]::after {
    width: 1.44vw;
    height: 5.3333333333vw;
    right: 4.2666666667vw;
  }
}
.p-post__content .wp-block-button a[target=_blank]::after {
  background-image: url("../images/post/icon_external.svg");
  width: min(12px, 0.9677419355vw);
  height: min(24px, 1.935483871vw);
  right: min(18px, 1.4516129032vw);
}
@media (max-width: 767px) {
  .p-post__content .wp-block-button a[target=_blank]::after {
    width: 2.4vw;
    height: 5.3333333333vw;
    right: 3.7333333333vw;
  }
}
.p-post__content .wp-block-button a[download]::after {
  background-image: url("../images/post/icon_download.svg");
}
.p-post__content .wp-block-custom__acf-image-buttom .acf-image-button {
  display: flex;
  border-radius: min(4px, 0.3225806452vw);
  overflow: hidden;
  position: relative;
}
@media (max-width: 767px) {
  .p-post__content .wp-block-custom__acf-image-buttom .acf-image-button {
    border-radius: 1.0666666667vw;
  }
}
.p-post__content .wp-block-custom__acf-image-buttom .acf-image-button__media {
  flex: 178;
  aspect-ratio: 178/100;
}
@media (max-width: 767px) {
  .p-post__content .wp-block-custom__acf-image-buttom .acf-image-button__media {
    flex: 107;
    aspect-ratio: 107/60;
  }
}
.p-post__content .wp-block-custom__acf-image-buttom .acf-image-button__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  vertical-align: bottom;
}
.p-post__content .wp-block-custom__acf-image-buttom .acf-image-button__body {
  flex: 722;
  color: #fff;
  background-color: #32373C;
  font-size: min(20px, 1.6129032258vw);
  font-weight: 700;
  line-height: 1.4;
  display: flex;
  align-items: center;
  position: relative;
}
@media (max-width: 767px) {
  .p-post__content .wp-block-custom__acf-image-buttom .acf-image-button__body {
    flex: 228;
    font-size: 4vw;
    font-weight: 500;
  }
}
.p-post__content .wp-block-custom__acf-image-buttom .acf-image-button__text {
  padding: 0 min(90px, 7.2580645161vw) 0 min(50px, 4.0322580645vw);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (max-width: 767px) {
  .p-post__content .wp-block-custom__acf-image-buttom .acf-image-button__text {
    padding: 0 10.6666666667vw 0 3.7333333333vw;
    -webkit-line-clamp: 2;
  }
}
.p-post__content .wp-block-custom__acf-image-buttom .acf-image-button__icon {
  position: absolute;
  top: 50%;
  right: 5%;
  transform: translateY(-50%);
  width: min(8px, 0.6451612903vw);
  height: auto;
}
@media (max-width: 767px) {
  .p-post__content .wp-block-custom__acf-image-buttom .acf-image-button__icon {
    right: 7%;
    width: 1.8666666667vw;
  }
}
.p-post__content .wp-block-custom__acf-image-buttom .acf-image-button__icon--external {
  width: min(14px, 1.1290322581vw);
}
@media (max-width: 767px) {
  .p-post__content .wp-block-custom__acf-image-buttom .acf-image-button__icon--external {
    width: 3.2vw;
  }
}
.p-post__content .wp-block-custom__acf-image-buttom .acf-image-button::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.p-post__content .wp-block-custom__acf-image-buttom .acf-image-button--arrow::after {
  background-image: url("../images/post/icon_arrow.svg");
  width: min(7.4px, 0.5967741935vw);
  height: min(24px, 1.935483871vw);
  right: min(30px, 2.4193548387vw);
}
@media (max-width: 767px) {
  .p-post__content .wp-block-custom__acf-image-buttom .acf-image-button--arrow::after {
    width: 1.44vw;
    height: 5.3333333333vw;
    right: 3.7333333333vw;
  }
}
.p-post__content .wp-block-custom__acf-image-buttom .acf-image-button--external::after {
  background-image: url("../images/common/icons/icon-external.svg");
  width: min(14px, 1.1290322581vw);
  height: min(14px, 1.1290322581vw);
  right: min(30px, 2.4193548387vw);
}
@media (max-width: 767px) {
  .p-post__content .wp-block-custom__acf-image-buttom .acf-image-button--external::after {
    width: 2.6666666667vw;
    height: 2.6666666667vw;
    right: 3.7333333333vw;
  }
}
.p-post__content .wp-block-custom__acf-speech .acf-speech-left {
  flex-direction: row;
}
@media (max-width: 767px) {
  .p-post__content .wp-block-custom__acf-speech .acf-speech-left {
    align-items: flex-start;
  }
}
.p-post__content .wp-block-custom__acf-speech .acf-speech-right {
  flex-direction: row-reverse;
}
@media (max-width: 767px) {
  .p-post__content .wp-block-custom__acf-speech .acf-speech-right {
    align-items: flex-end;
  }
}
.p-post__content .wp-block-custom__acf-speech .acf-speech-left,
.p-post__content .wp-block-custom__acf-speech .acf-speech-right {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .p-post__content .wp-block-custom__acf-speech .acf-speech-left,
  .p-post__content .wp-block-custom__acf-speech .acf-speech-right {
    flex-direction: column-reverse;
    gap: 6.4vw 0;
  }
}
.p-post__content .wp-block-custom__acf-speech .acf-speech-left__avatar,
.p-post__content .wp-block-custom__acf-speech .acf-speech-right__avatar {
  width: 13.3333333333%;
}
@media (max-width: 767px) {
  .p-post__content .wp-block-custom__acf-speech .acf-speech-left__avatar,
  .p-post__content .wp-block-custom__acf-speech .acf-speech-right__avatar {
    width: 26.6666666667vw;
  }
}
.p-post__content .wp-block-custom__acf-speech .acf-speech__avatarPic {
  width: min(120px, 9.6774193548vw);
  height: min(120px, 9.6774193548vw);
}
@media (max-width: 767px) {
  .p-post__content .wp-block-custom__acf-speech .acf-speech__avatarPic {
    display: contents;
  }
}
.p-post__content .wp-block-custom__acf-speech .acf-speech__avatarPic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  background-color: #D9D9D9;
}
.p-post__content .wp-block-custom__acf-speech .acf-speech-left__bubble,
.p-post__content .wp-block-custom__acf-speech .acf-speech-right__bubble {
  position: relative;
  width: 82.2222222222%;
  background-color: #F8F8F8;
  padding: min(20px, 1.6129032258vw) min(34px, 2.7419354839vw);
  border-radius: min(4px, 0.3225806452vw);
}
@media (max-width: 767px) {
  .p-post__content .wp-block-custom__acf-speech .acf-speech-left__bubble,
  .p-post__content .wp-block-custom__acf-speech .acf-speech-right__bubble {
    width: 100%;
    padding: 8vw 5.3333333333vw;
    border-radius: 1.0666666667vw;
  }
}
.p-post-harimavoice .p-post__content .wp-block-custom__acf-speech .acf-speech-left__bubble,
.p-post-harimavoice .p-post__content .wp-block-custom__acf-speech .acf-speech-right__bubble {
  background-color: #fff;
}
.p-post__content .wp-block-custom__acf-speech .acf-speech-left__bubble::after, .p-post__content .wp-block-custom__acf-speech .acf-speech-left__bubble::before,
.p-post__content .wp-block-custom__acf-speech .acf-speech-right__bubble::after,
.p-post__content .wp-block-custom__acf-speech .acf-speech-right__bubble::before {
  content: "";
  position: absolute;
  background-color: #F8F8F8;
}
.p-post-harimavoice .p-post__content .wp-block-custom__acf-speech .acf-speech-left__bubble::after, .p-post-harimavoice .p-post__content .wp-block-custom__acf-speech .acf-speech-left__bubble::before,
.p-post-harimavoice .p-post__content .wp-block-custom__acf-speech .acf-speech-right__bubble::after,
.p-post-harimavoice .p-post__content .wp-block-custom__acf-speech .acf-speech-right__bubble::before {
  background-color: #fff;
}
.p-post__content .wp-block-custom__acf-speech .acf-speech-left__bubble::after,
.p-post__content .wp-block-custom__acf-speech .acf-speech-right__bubble::after {
  top: min(60px, 4.8387096774vw);
  width: min(30px, 2.4193548387vw);
  height: min(26px, 2.0967741935vw);
}
@media (max-width: 767px) {
  .p-post__content .wp-block-custom__acf-speech .acf-speech-left__bubble::after,
  .p-post__content .wp-block-custom__acf-speech .acf-speech-right__bubble::after {
    display: none;
  }
}
.p-post__content .wp-block-custom__acf-speech .acf-speech-left__bubble::before,
.p-post__content .wp-block-custom__acf-speech .acf-speech-right__bubble::before {
  display: none;
}
@media (max-width: 767px) {
  .p-post__content .wp-block-custom__acf-speech .acf-speech-left__bubble::before,
  .p-post__content .wp-block-custom__acf-speech .acf-speech-right__bubble::before {
    display: block;
    top: 100%;
    width: 6vw;
    height: 5.2vw;
  }
}
.p-post__content .wp-block-custom__acf-speech .acf-speech-left__bubble::after {
  right: 100%;
  transform: translate(10%, -50%);
  clip-path: polygon(0 50%, 100% 0, 100% 100%);
  /* 頂点(0,50%) → 右上(100%,0) → 右下(100%,100%) の三角形 */
}
.p-post__content .wp-block-custom__acf-speech .acf-speech-left__bubble::before {
  left: 11%;
  transform: translate(0, -10%);
  clip-path: polygon(0 50%, 100% 0, 100% 100%);
}
.p-post__content .wp-block-custom__acf-speech .acf-speech-right__bubble::after {
  left: 100%;
  transform: translate(-10%, -50%);
  clip-path: polygon(100% 50%, 0 0, 0 100%);
}
.p-post__content .wp-block-custom__acf-speech .acf-speech-right__bubble::before {
  right: 11%;
  transform: translate(0, -10%);
  clip-path: polygon(0 50%, 100% 0, 100% 100%);
}
.p-post__content .wp-block-custom__acf-speech .acf-speech-left__bubble::before,
.p-post__content .wp-block-custom__acf-speech .acf-speech-right__bubble::before {
  clip-path: polygon(50% 100%, 0 0, 100% 0);
}
.p-post__content .wp-block-custom__definition-list .acf-definition-list .acf-definition-list__dl {
  overflow: hidden;
  background-color: #FFF;
  border: 1px solid #32373C;
  border-radius: min(4px, 0.3225806452vw);
}
@media (max-width: 767px) {
  .p-post__content .wp-block-custom__definition-list .acf-definition-list .acf-definition-list__dl {
    border-radius: 1.0666666667vw;
  }
}
.p-post__content .wp-block-custom__definition-list .acf-definition-list .acf-definition-list__row {
  display: flex;
}
.p-post__content .wp-block-custom__definition-list .acf-definition-list .acf-definition-list__row:not(:first-child) {
  border-top: 1px solid #32373C;
}
.p-post__content .wp-block-custom__definition-list .acf-definition-list dt,
.p-post__content .wp-block-custom__definition-list .acf-definition-list dd {
  padding: min(14px, 1.1290322581vw) min(20px, 1.6129032258vw) min(15px, 1.2096774194vw) min(20px, 1.6129032258vw);
  line-height: 1.4;
  display: flex;
}
@media (max-width: 767px) {
  .p-post__content .wp-block-custom__definition-list .acf-definition-list dt,
  .p-post__content .wp-block-custom__definition-list .acf-definition-list dd {
    padding: 2.6666666667vw 2.6666666667vw 2.9333333333vw 2.6666666667vw;
  }
}
.p-post__content .wp-block-custom__definition-list .acf-definition-list dt {
  background-color: #F8F8F8;
  border-right: 1px solid #32373C;
  width: 26.6666666667%;
  display: block;
}
@media (max-width: 767px) {
  .p-post__content .wp-block-custom__definition-list .acf-definition-list dt {
    width: 27.7333333333vw;
  }
}
.p-post__content .wp-block-custom__definition-list .acf-definition-list dd {
  background-color: #FFF;
  width: 73.3333333333%;
  margin-inline-start: 0;
}
.p-post__content .wp-block-custom__acf-supervisor {
  margin-top: min(80px, 6.4516129032vw);
}
@media (max-width: 767px) {
  .p-post__content .wp-block-custom__acf-supervisor {
    margin-top: 10.6666666667vw;
  }
}
.p-post__content .wp-block-custom__acf-supervisor .acf-supervisor {
  background-color: #F8F8F8;
  padding: min(40px, 3.2258064516vw) min(40px, 3.2258064516vw);
  border-radius: min(4px, 0.3225806452vw);
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .p-post__content .wp-block-custom__acf-supervisor .acf-supervisor {
    padding: 8vw 5.3333333333vw;
    border-radius: 1.0666666667vw;
    flex-direction: column;
    align-items: center;
    gap: 4.2666666667vw 0;
  }
}
.p-post-harimavoice .p-post__content .wp-block-custom__acf-supervisor .acf-supervisor {
  background-color: #fff;
}
.p-post__content .wp-block-custom__acf-supervisor .acf-supervisor__avatar {
  width: 15.3846153846%;
}
@media (max-width: 767px) {
  .p-post__content .wp-block-custom__acf-supervisor .acf-supervisor__avatar {
    width: initial;
  }
}
.p-post__content .wp-block-custom__acf-supervisor .acf-supervisor__avatarPic {
  width: min(120px, 9.6774193548vw);
  height: min(120px, 9.6774193548vw);
}
@media (max-width: 767px) {
  .p-post__content .wp-block-custom__acf-supervisor .acf-supervisor__avatarPic {
    width: 26.6666666667vw;
    height: 26.6666666667vw;
  }
}
.p-post__content .wp-block-custom__acf-supervisor .acf-supervisor__avatarPic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}
.p-post__content .wp-block-custom__acf-supervisor .acf-supervisor__body {
  margin-top: min(4px, 0.3225806452vw);
  width: 82.0512820513%;
}
@media (max-width: 767px) {
  .p-post__content .wp-block-custom__acf-supervisor .acf-supervisor__body {
    width: 100%;
  }
}
.p-post__content .wp-block-custom__acf-supervisor .acf-supervisor__name {
  font-size: min(20px, 1.6129032258vw);
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: min(10px, 0.8064516129vw);
}
@media (max-width: 767px) {
  .p-post__content .wp-block-custom__acf-supervisor .acf-supervisor__name {
    font-size: 4.2666666667vw;
    margin-bottom: 2.6666666667vw;
  }
}
.p-post__content .wp-block-custom__acf-youtube-custom:has(.is-size-max) {
  max-width: 1100px;
}
.p-post__content .wp-block-custom__acf-youtube-custom .acf-youtube-custom__wrap {
  margin: 0 auto;
}
@media (min-width: 768px) {
  .p-post__content .wp-block-custom__acf-youtube-custom .acf-youtube-custom__wrap.is-size-medium {
    max-width: 600px;
  }
}
@media (min-width: 768px) {
  .p-post__content .wp-block-custom__acf-youtube-custom .acf-youtube-custom__wrap.is-size-large {
    max-width: 900px;
  }
}
@media (min-width: 768px) {
  .p-post__content .wp-block-custom__acf-youtube-custom .acf-youtube-custom__wrap.is-size-max {
    max-width: 100%;
  }
}
.p-post__content .wp-block-custom__acf-youtube-custom .acf-youtube-custom__title {
  margin-bottom: 8px;
  line-height: 1.6;
}
@media (max-width: 767px) {
  .p-post__content .wp-block-custom__acf-youtube-custom .acf-youtube-custom__title {
    margin-bottom: 2.1333333333vw;
  }
}
.p-post__content > [class*=wp-block-].block-spacing, .p-post__content > p.block-spacing {
  background-color: #F8F8F8;
  padding: min(50px, 4.0322580645vw) min(48px, 3.8709677419vw);
  border-radius: min(4px, 0.3225806452vw);
}
@media (max-width: 767px) {
  .p-post__content > [class*=wp-block-].block-spacing, .p-post__content > p.block-spacing {
    padding: 8vw 5.3333333333vw;
    border-radius: 1.0666666667vw;
  }
}
.p-post-harimavoice .p-post__content > [class*=wp-block-].block-spacing, .p-post-harimavoice .p-post__content > p.block-spacing {
  background-color: #fff;
}
.p-post .p-post__content > [class*=wp-block-].width-full, .p-post .p-post__content > p.width-full {
  max-width: 1100px;
}
.p-post__content .p-result-modal-block__finish {
  color: #0052A4;
  margin-bottom: 0.5em;
}
.p-post__content .p-result-modal-block__header-heading {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: min(12px, 0.9677419355vw);
  margin-bottom: 1em;
}
@media (max-width: 767px) {
  .p-post__content .p-result-modal-block__header-heading {
    align-items: flex-start;
    gap: 1.6vw;
    flex-direction: column;
  }
}
.p-post__content .p-result-modal-block__category {
  display: inline-block;
  background: #32373C;
  color: #fff;
  line-height: 1;
  padding: 0.4em 0.5em 0.5em;
}
.p-post__content .p-result-modal-block__empty-note {
  display: block;
  width: 100%;
  padding: 1em;
  font-weight: bold;
  border: 1px solid #000;
  color: #007cba;
  cursor: pointer;
}
.p-post__content .p-result-modal-block__empty-note:hover {
  opacity: 0.8;
  text-decoration: underline;
}
.p-post__content .p-result-modal-block__inner {
  display: grid;
  gap: min(32px, 2.5806451613vw);
  grid-template-columns: min(370px, 29.8387096774vw) 1fr;
}
@media (max-width: 767px) {
  .p-post__content .p-result-modal-block__inner {
    gap: 7.4666666667vw;
    grid-template-columns: 1fr;
  }
}
.p-post__content .p-result-modal-block__col {
  min-width: 0;
}
.p-post__content .p-result-modal-block__col--left {
  padding-right: min(30px, 2.4193548387vw);
  border-right: 1px solid #D8D8D8;
}
@media (max-width: 767px) {
  .p-post__content .p-result-modal-block__col--left {
    border: none;
    padding-right: 0;
  }
}
.p-post__content .p-result-modal-block__figure {
  margin: 0;
}
.p-post__content .p-result-modal-block__image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: min(4px, 0.3225806452vw);
}
.p-post__content .p-result-modal-block__caption {
  margin-top: 1em;
  color: #2d3339;
  font-size: 12px;
}
@media (max-width: 767px) {
  .p-post__content .p-result-modal-block__caption {
    font-size: 3.2vw;
  }
}
.p-post__content .p-result-modal-block__title {
  font-weight: 700;
  line-height: 1.4;
  font-size: 4.2666666667vw;
}
@media (min-width: 768px) {
  .p-post__content .p-result-modal-block__title {
    font-size: clamp(14px, 1.6129032258vw, 20px);
  }
}
.p-post__content .p-result-modal-block__desc {
  margin-top: 0.85em;
  line-height: 1.8;
  font-size: 3.7333333333vw;
}
@media (min-width: 768px) {
  .p-post__content .p-result-modal-block__desc {
    font-size: clamp(14px, 1.2903225806vw, 16px);
  }
}
.p-post__content .p-result-modal-block__desc + .p-result-modal-block__button {
  margin-top: min(24px, 1.935483871vw);
}
@media (max-width: 767px) {
  .p-post__content .p-result-modal-block__desc + .p-result-modal-block__button {
    margin-top: 5.3333333333vw;
  }
}
@media (max-width: 767px) {
  .p-post__content .p-result-modal-block__button {
    text-align: center;
  }
}
.p-post__content .p-result-modal-block__button + .p-result-modal-block__button {
  margin-top: min(12px, 0.9677419355vw);
}
@media (max-width: 767px) {
  .p-post__content .p-result-modal-block__button + .p-result-modal-block__button {
    margin-top: 3.2vw;
  }
}
.p-post__content .p-result-modal-block__button .c-button {
  max-width: 100%;
  width: auto;
  white-space: normal;
  position: relative;
}
.p-post__content .p-result-modal-block__row {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
}
@media (max-width: 767px) {
  .p-post__content .p-result-modal-block__row {
    flex-direction: column;
  }
}
.p-post__content .p-result-modal-block__row:not(:first-child) {
  padding-top: min(32px, 2.5806451613vw);
}
.p-post__content .p-result-modal-block dt {
  font-weight: 500;
  flex: 0 1 25.9515570934%;
  padding-right: min(30px, 2.4193548387vw);
}
@media (max-width: 767px) {
  .p-post__content .p-result-modal-block dt {
    padding-right: 0;
  }
}
.p-post__content .p-result-modal-block dd {
  color: #2d3339;
  flex: 1;
}
.p-post__content ul.wp-block-list li {
  list-style: disc;
  list-style-position: inside;
}
.p-post__content ol.wp-block-list li {
  list-style: decimal;
  list-style-position: inside;
}
.p-post__content #ez-toc-container {
  background-color: #F8F8F8;
  max-width: 900px;
  margin: min(25px, 2.0161290323vw) auto;
  padding: min(24px, 1.935483871vw) min(68px, 5.4838709677vw) min(16px, 1.2903225806vw) min(16px, 1.2903225806vw);
  border-radius: min(4px, 0.3225806452vw);
  position: relative;
}
@media (max-width: 767px) {
  .p-post__content #ez-toc-container {
    display: flex;
    flex-direction: column;
    margin: 4vw auto;
    padding: 2.6666666667vw 5.3333333333vw 1.6vw 5.3333333333vw;
    border-radius: 1.0666666667vw;
  }
}
.p-post-harimavoice .p-post__content #ez-toc-container {
  background-color: #fff;
}
.p-post__content #ez-toc-container:first-child {
  margin: min(80px, 6.4516129032vw) auto min(25px, 2.0161290323vw);
}
@media (max-width: 767px) {
  .p-post__content #ez-toc-container:first-child {
    margin: 13.3333333333vw auto 4vw;
  }
}
@media (min-width: 768px) {
  .p-post__content #ez-toc-container .ez-toc-title-container {
    position: absolute;
    top: min(24px, 1.935483871vw);
    left: min(16px, 1.2903225806vw);
  }
}
@media (max-width: 767px) {
  .p-post__content #ez-toc-container .ez-toc-title-container {
    padding-bottom: 1.8666666667vw;
    width: 100%;
    border-bottom: 1px solid #D8D8D8;
  }
}
.p-post__content #ez-toc-container .ez-toc-title-container .ez-toc-title {
  font-family: "Montserrat", Arial, sans-serif;
  font-weight: 600;
  font-size: min(20px, 1.6129032258vw);
}
@media (min-width: 768px) {
  .p-post__content #ez-toc-container .ez-toc-title-container .ez-toc-title {
    writing-mode: vertical-lr;
    display: inline-block; /* 内在サイズを安定させる */
    white-space: nowrap; /* Safari の予期せぬ改行を防ぐ */
    line-height: 1; /* 行間の計算ブレを最小化 */
    inline-size: auto; /* 必要なら明示的に width を固定 */
  }
}
@media (max-width: 767px) {
  .p-post__content #ez-toc-container .ez-toc-title-container .ez-toc-title {
    font-size: 5.3333333333vw;
  }
}
@media (min-width: 768px) {
  .p-post__content #ez-toc-container nav {
    margin-left: min(42px, 3.3870967742vw);
  }
}
@media (max-width: 767px) {
  .p-post__content #ez-toc-container nav {
    width: 100%;
  }
}
.p-post__content #ez-toc-container nav .ez-toc-list-level-1 > li:last-child:has(.ez-toc-list-level-3) .ez-toc-list-level-3 > li:last-child a::before {
  background-color: #fff;
}
.p-post__content #ez-toc-container nav .ez-toc-list-level-1 > li:last-child:not(:has(.ez-toc-list-level-3)) a::before {
  background-color: #fff;
}
.p-post__content #ez-toc-container nav li {
  position: relative;
}
.p-post__content #ez-toc-container nav li a {
  display: block;
  position: relative;
  line-height: 1.6;
  padding: 0.9em 3.2em 0.9em 0;
}
.p-post__content #ez-toc-container nav li a::before {
  content: "";
  position: absolute;
  height: 1px;
  width: 100%;
  bottom: 0;
  left: 0;
  background-color: #D8D8D8;
}
.p-post__content #ez-toc-container nav li a::after {
  content: "";
  position: absolute;
  right: 0.4em;
  top: 50%;
  transform: translate(-50%, -46%);
  width: min(12px, 0.9677419355vw);
  height: min(16px, 1.2903225806vw);
  background-image: url("../images/post/icon_arrow_down.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
@media (max-width: 767px) {
  .p-post__content #ez-toc-container nav li a::after {
    right: 0;
    width: 3.2vw;
    height: 4.2666666667vw;
  }
}
.p-post__content #ez-toc-container nav li.ez-toc-heading-level-3 a {
  padding-left: 1.4em;
}
@media (max-width: 767px) {
  .p-post__content #ez-toc-container nav li.ez-toc-heading-level-3 a {
    padding-left: 1.4em;
  }
}
.p-post__content #ez-toc-container nav li.ez-toc-heading-level-3 a::before {
  width: calc(100% - 1.4em);
  left: 1.4em;
}
.p-post__content .wp-block-custom__acf-youtube-custom:has(.acf-youtube-custom__placeholder) {
  display: none;
}

/*
 * ハリマボイス 記事ページ
 */
.page-single-harimavoice {
  background-color: #F1F5F8;
}

.p-post-harimavoice {
  color: #000;
  font-size: min(16px, 1.2903225806vw);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.02em;
}
@media (max-width: 767px) {
  .p-post-harimavoice {
    font-size: 3.4666666667vw;
  }
}
.p-post-harimavoice .c-breadcrumb {
  background-color: transparent;
}
.p-post-harimavoice__article {
  padding-bottom: min(80px, 6.4516129032vw);
}
@media (max-width: 767px) {
  .p-post-harimavoice__article {
    padding-bottom: 21.3333333333vw;
  }
}
.p-post-harimavoice__title {
  padding-top: min(80px, 6.4516129032vw);
  text-wrap: initial;
  margin-block-start: 0;
  font-size: min(32px, 2.5806451613vw);
  font-weight: 700;
  line-height: 1.4;
}
@media (max-width: 767px) {
  .p-post-harimavoice__title {
    padding-top: 8.5333333333vw;
    font-size: 6.4vw;
  }
}
.p-post-harimavoice__info {
  display: flex;
  align-items: flex-start;
  gap: 0 min(40px, 3.2258064516vw);
  margin-top: min(54px, 4.3548387097vw);
  margin-bottom: min(44px, 3.5483870968vw);
}
@media (max-width: 767px) {
  .p-post-harimavoice__info {
    display: block;
    margin-top: 6.4vw;
    margin-bottom: 8.5333333333vw;
  }
}
.p-post-harimavoice__info__item:has(.p-post-harimavoice__date) {
  margin-top: min(4px, 0.3225806452vw);
}
@media (max-width: 767px) {
  .p-post-harimavoice__info__item:has(.p-post-harimavoice__date) {
    margin-top: 5.3333333333vw;
  }
}
.p-post-harimavoice__category {
  width: min(144px, 11.6129032258vw);
  height: min(72px, 5.8064516129vw);
  display: flex;
  margin-left: min(16px, 1.2903225806vw);
}
@media (max-width: 767px) {
  .p-post-harimavoice__category {
    margin-left: 0;
    width: 38.4vw;
    height: 16vw;
    margin: 0 auto;
  }
}
.p-post-harimavoice__category__link {
  transition: opacity 0.3s ease;
}
.p-post-harimavoice__category__link:hover {
  opacity: 0.5;
}
.p-post-harimavoice__category__img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.p-post-harimavoice__date {
  display: block;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: min(14px, 1.1290322581vw);
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.08em;
  transition: opacity 0.3s ease;
}
@media (max-width: 767px) {
  .p-post-harimavoice__date {
    font-size: 3.7333333333vw;
  }
}
.p-post-harimavoice__tags {
  display: flex;
  gap: min(12px, 0.9677419355vw);
  flex-wrap: wrap;
  margin-top: min(9px, 0.7258064516vw);
}
@media (max-width: 767px) {
  .p-post-harimavoice__tags {
    gap: 2.1333333333vw;
    margin-top: 2.6666666667vw;
  }
}
.p-post-harimavoice__tags__tag {
  margin-left: max(-4px, -0.3225806452vw);
}
@media (max-width: 767px) {
  .p-post-harimavoice__tags__tag {
    margin-left: -0.5333333333vw;
  }
}
.p-post-harimavoice__tags__tag a {
  display: block;
  line-height: 1.6;
  position: relative;
  color: #FFF;
  background-color: #32373C;
  border-radius: min(54px, 4.3548387097vw);
  padding: min(1px, 0.0806451613vw) min(16px, 1.2903225806vw) min(3px, 0.2419354839vw);
  font-size: min(14px, 1.1290322581vw);
  font-weight: 500;
  transition: opacity 0.3s ease;
}
@media (max-width: 767px) {
  .p-post-harimavoice__tags__tag a {
    border-radius: 14.4vw;
    padding: 0.8vw 2.1333333333vw;
    font-size: 3.2vw;
  }
}
.p-post-harimavoice__tags__tag a:before {
  content: "#";
}
.p-post-harimavoice__tags__tag a:hover {
  opacity: 0.5;
}
.p-post-harimavoice-related {
  background-color: #fff;
  padding: min(72px, 5.8064516129vw) 0 min(80px, 6.4516129032vw);
}
@media (max-width: 767px) {
  .p-post-harimavoice-related {
    padding: 11.7333333333vw 0 15.4666666667vw;
  }
}
.p-post-harimavoice-related__title {
  font-size: min(32px, 2.5806451613vw);
  line-height: 1.4;
  padding-left: 0.8em;
  position: relative;
  margin-bottom: min(10px, 0.8064516129vw);
}
@media (max-width: 767px) {
  .p-post-harimavoice-related__title {
    font-size: 6.4vw;
    margin-bottom: 4.2666666667vw;
  }
}
.p-post-harimavoice-related__title::before {
  content: "";
  position: absolute;
  width: min(8px, 0.6451612903vw);
  height: min(36px, 2.9032258065vw);
  background-color: #0052A4;
  top: 50%;
  left: 0;
  transform: translateY(-44%);
  border-radius: min(2px, 0.1612903226vw);
}
@media (max-width: 767px) {
  .p-post-harimavoice-related__title::before {
    width: 1.6vw;
    height: 8.5333333333vw;
    border-radius: 0.5333333333vw;
  }
}
@media (max-width: 767px) {
  .p-post-harimavoice-related .p-voice-card__items {
    gap: 8.5333333333vw 0;
  }
}

.p-ir-financial-table thead th {
  width: 16.3636363636%;
}
.p-ir-financial-table thead th:first-child {
  width: 18.1818181818%;
}
.p-ir-financial-table tbody td {
  padding-right: min(69px, 5.564516129vw) !important;
}
@media (max-width: 767px) {
  .p-ir-financial-table tbody td {
    padding-right: 6.4vw !important;
  }
}

.page-name-feature .p-about-card,
.page-name-service-features .p-about-card {
  margin-top: min(120px, 9.6774193548vw);
}
@media (max-width: 767px) {
  .page-name-feature .p-about-card,
  .page-name-service-features .p-about-card {
    margin-top: 21.3333333333vw;
  }
}

.p-about-serviceFeature-hero__action {
  margin-top: min(30px, 2.4193548387vw);
  line-height: 1.6;
}
@media (max-width: 767px) {
  .p-about-serviceFeature-hero__action {
    text-align: center;
    margin-top: 8vw;
  }
}

.p-about-serviceFeature-comprehensive {
  margin-top: min(110px, 8.8709677419vw);
}
@media (max-width: 767px) {
  .p-about-serviceFeature-comprehensive {
    margin-top: 22.6666666667vw;
  }
}
.p-about-serviceFeature-comprehensive__lead {
  line-height: 2;
  margin-top: min(25px, 2.0161290323vw);
  max-width: 100%;
}
@media (max-width: 767px) {
  .p-about-serviceFeature-comprehensive__lead {
    letter-spacing: 0.05em;
    margin-top: 5.3333333333vw;
  }
}
.p-about-serviceFeature-comprehensive__system {
  background: linear-gradient(180deg, rgba(248, 248, 248, 0) 0%, #F8F8F8 100%);
  padding-bottom: min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .p-about-serviceFeature-comprehensive__system {
    padding-bottom: 10.6666666667vw;
  }
}
.p-about-serviceFeature-comprehensive__system-image {
  display: block;
  margin-top: min(60px, 4.8387096774vw);
}
@media (max-width: 767px) {
  .p-about-serviceFeature-comprehensive__system-image {
    margin-top: 7.4666666667vw;
    min-width: 95.2vw;
    margin-left: -2.9333333333vw;
  }
}
.p-about-serviceFeature-comprehensive__system-text {
  text-align: center;
  font-weight: 700;
  line-height: 1.4;
  margin-top: min(35px, 2.8225806452vw);
  font-size: 4.8vw;
}
@media (min-width: 768px) {
  .p-about-serviceFeature-comprehensive__system-text {
    font-size: clamp(14px, 1.935483871vw, 24px);
  }
}
@media (max-width: 767px) {
  .p-about-serviceFeature-comprehensive__system-text {
    max-width: 86.6666666667vw;
    margin: 11.2853333333vw auto 0;
  }
}
.p-about-serviceFeature-comprehensive__item {
  display: flex;
  gap: min(52px, 4.1935483871vw);
  margin-top: min(35px, 2.8225806452vw);
}
@media (max-width: 767px) {
  .p-about-serviceFeature-comprehensive__item {
    flex-direction: column;
    gap: 18.6666666667vw;
    margin-top: 9.3333333333vw;
  }
}
.p-about-serviceFeature-comprehensive__item-cnt {
  position: relative;
  max-width: min(332px, 26.7741935484vw);
}
@media (max-width: 767px) {
  .p-about-serviceFeature-comprehensive__item-cnt {
    max-width: 100%;
  }
}
.p-about-serviceFeature-comprehensive__item-cnt::before {
  content: "";
  position: absolute;
  background-color: #D8D8D8;
  width: 1px;
  height: 100%;
  right: max(-26px, -2.0967741935vw);
}
@media (max-width: 767px) {
  .p-about-serviceFeature-comprehensive__item-cnt::before {
    right: inherit;
    width: 100%;
    height: 0.2666666667vw;
    bottom: -10.6666666667vw;
  }
}
.p-about-serviceFeature-comprehensive__item-cnt:last-of-type::before {
  content: none;
}
.p-about-serviceFeature-comprehensive__item-title {
  text-align: center;
  font-weight: 700;
  margin-bottom: min(10px, 0.8064516129vw);
  font-size: 4.2666666667vw;
}
@media (min-width: 768px) {
  .p-about-serviceFeature-comprehensive__item-title {
    font-size: clamp(14px, 1.6129032258vw, 20px);
  }
}
@media (max-width: 767px) {
  .p-about-serviceFeature-comprehensive__item-title {
    margin-bottom: 4vw;
  }
}
.p-about-serviceFeature-comprehensive__item-text {
  line-height: 1.8;
}
@media (max-width: 767px) {
  .p-about-serviceFeature-comprehensive__item-text {
    line-height: 2;
  }
}
.p-about-serviceFeature-comprehensive__item-action {
  text-align: center;
  margin-top: min(20px, 1.6129032258vw);
}
@media (max-width: 767px) {
  .p-about-serviceFeature-comprehensive__item-action {
    margin-top: 6.6666666667vw;
  }
}

.p-about-serviceFeature-innovation {
  margin-top: min(120px, 9.6774193548vw);
}
@media (max-width: 767px) {
  .p-about-serviceFeature-innovation {
    margin-top: 20vw;
  }
}
.p-about-serviceFeature-innovation__lead {
  line-height: 2;
  max-width: 100%;
  margin-top: min(25px, 2.0161290323vw);
}
@media (max-width: 767px) {
  .p-about-serviceFeature-innovation__lead {
    letter-spacing: 0.05em;
    margin-top: 5.3333333333vw;
  }
}
.p-about-serviceFeature-innovation__items {
  margin-top: min(60px, 4.8387096774vw);
}
@media (max-width: 767px) {
  .p-about-serviceFeature-innovation__items {
    margin-top: 13.3333333333vw;
  }
}
.p-about-serviceFeature-innovation__item {
  display: grid;
  gap: 0 min(100px, 8.064516129vw);
}
@media (max-width: 767px) {
  .p-about-serviceFeature-innovation__item {
    display: flex;
    flex-direction: column;
  }
}
.p-about-serviceFeature-innovation__item + .p-about-serviceFeature-innovation__item {
  margin-top: min(70px, 5.6451612903vw);
}
@media (max-width: 767px) {
  .p-about-serviceFeature-innovation__item + .p-about-serviceFeature-innovation__item {
    margin-top: 13.3333333333vw;
  }
}
.p-about-serviceFeature-innovation__item-visual {
  grid-column-end: 3;
  grid-column-start: 2;
  grid-row-end: 3;
  grid-row-start: 1;
}
@media (max-width: 767px) {
  .p-about-serviceFeature-innovation__item-visual {
    order: 2;
  }
}
.p-about-serviceFeature-innovation__item-visual img {
  border-radius: min(4px, 0.3225806452vw);
}
@media (max-width: 767px) {
  .p-about-serviceFeature-innovation__item-visual img {
    border-radius: 1.0666666667vw;
  }
}
.p-about-serviceFeature-innovation__item-title {
  line-height: 1.4;
  font-weight: 700;
  margin-bottom: min(22px, 1.7741935484vw);
  font-size: 5.3333333333vw;
}
@media (min-width: 768px) {
  .p-about-serviceFeature-innovation__item-title {
    font-size: clamp(14px, 2.2580645161vw, 28px);
  }
}
@media (max-width: 767px) {
  .p-about-serviceFeature-innovation__item-title {
    order: 1;
    margin-bottom: 7.4666666667vw;
  }
}
.p-about-serviceFeature-innovation__item-detail {
  line-height: 2;
  max-width: min(600px, 48.3870967742vw);
}
@media (max-width: 767px) {
  .p-about-serviceFeature-innovation__item-detail {
    letter-spacing: 0.05em;
    order: 3;
    max-width: 100%;
    margin-top: 5.3333333333vw;
  }
}
.p-about-serviceFeature-innovation__item-action {
  margin-top: min(30px, 2.4193548387vw);
  line-height: 1.6;
}
@media (max-width: 767px) {
  .p-about-serviceFeature-innovation__item-action {
    text-align: center;
    margin-top: 7.4666666667vw;
  }
}

.p-about-serviceFeature-sustainability {
  margin-top: min(110px, 8.8709677419vw);
}
@media (max-width: 767px) {
  .p-about-serviceFeature-sustainability {
    margin-top: 17.3333333333vw;
  }
}
.p-about-serviceFeature-sustainability__lead {
  display: flex;
  align-items: flex-start;
  gap: min(100px, 8.064516129vw);
  margin-top: min(35px, 2.8225806452vw);
}
@media (max-width: 767px) {
  .p-about-serviceFeature-sustainability__lead {
    flex-direction: column;
    flex-flow: column-reverse;
    gap: 0;
    margin-top: 5.3333333333vw;
  }
}
.p-about-serviceFeature-sustainability__lead-text {
  line-height: 2;
  letter-spacing: 0.05em;
  width: 100%;
  max-width: min(600px, 48.3870967742vw);
}
@media (max-width: 767px) {
  .p-about-serviceFeature-sustainability__lead-text {
    max-width: 100%;
    margin-top: 7.4666666667vw;
  }
}
.p-about-serviceFeature-sustainability__lead-img {
  width: min(400px, 32.2580645161vw);
  border-radius: min(4px, 0.3225806452vw);
}
@media (max-width: 767px) {
  .p-about-serviceFeature-sustainability__lead-img {
    width: 100%;
    border-radius: 1.0666666667vw;
  }
}
.p-about-serviceFeature-sustainability__lead-action {
  margin-top: min(35px, 2.8225806452vw);
  line-height: 1.6;
}
@media (max-width: 767px) {
  .p-about-serviceFeature-sustainability__lead-action {
    text-align: center;
    margin-top: 7.4666666667vw;
  }
}
.p-about-serviceFeature-sustainability__items {
  display: flex;
  gap: min(40px, 3.2258064516vw);
  margin-top: min(100px, 8.064516129vw);
}
@media (max-width: 767px) {
  .p-about-serviceFeature-sustainability__items {
    flex-direction: column;
    gap: 21.3333333333vw;
    margin-top: 21.3333333333vw;
  }
}
.p-about-serviceFeature-sustainability__item {
  position: relative;
  width: min(340px, 27.4193548387vw);
}
@media (max-width: 767px) {
  .p-about-serviceFeature-sustainability__item {
    width: 100%;
  }
}
.p-about-serviceFeature-sustainability__item::before {
  content: "";
  position: absolute;
  background-color: #D8D8D8;
  width: 1px;
  height: 100%;
  right: max(-20px, -1.6129032258vw);
}
@media (max-width: 767px) {
  .p-about-serviceFeature-sustainability__item::before {
    right: inherit;
    bottom: 0;
    width: 100%;
    height: 0.2666666667vw;
    bottom: -10.6666666667vw;
  }
}
.p-about-serviceFeature-sustainability__item:last-of-type::before {
  content: none;
}
.p-about-serviceFeature-sustainability__item-visual {
  margin-bottom: min(15px, 1.2096774194vw);
}
@media (max-width: 767px) {
  .p-about-serviceFeature-sustainability__item-visual {
    margin-bottom: 6.6666666667vw;
  }
}
.p-about-serviceFeature-sustainability__item-visual img {
  border-radius: min(4px, 0.3225806452vw);
}
@media (max-width: 767px) {
  .p-about-serviceFeature-sustainability__item-visual img {
    border-radius: 1.0666666667vw;
  }
}
.p-about-serviceFeature-sustainability__item-title {
  text-align: center;
  line-height: 1.4;
  margin-bottom: min(8px, 0.6451612903vw);
  font-size: 4.2666666667vw;
}
@media (min-width: 768px) {
  .p-about-serviceFeature-sustainability__item-title {
    font-size: clamp(14px, 1.6129032258vw, 20px);
  }
}
@media (max-width: 767px) {
  .p-about-serviceFeature-sustainability__item-title {
    margin-bottom: 5.3333333333vw;
  }
}
.p-about-serviceFeature-sustainability__item-text {
  line-height: 1.8;
}
.p-about-serviceFeature-sustainability__item-action {
  text-align: center;
  margin-top: min(20px, 1.6129032258vw);
}
@media (max-width: 767px) {
  .p-about-serviceFeature-sustainability__item-action {
    margin-top: 6.6666666667vw;
  }
}

.p-about-serviceFeature-card {
  border-radius: min(8px, 0.6451612903vw);
  padding: min(70px, 5.6451612903vw) min(57px, 4.5967741935vw) min(40px, 3.2258064516vw);
  margin-top: min(120px, 9.6774193548vw);
  height: min(360px, 29.0322580645vw);
  position: relative;
  background-color: #F0F2F6;
  background-image: url("../images/about/bnr_01.png");
  background-size: cover;
  background-repeat: no-repeat;
}
@media (max-width: 767px) {
  .p-about-serviceFeature-card {
    background-image: url("../images/about/bnr_01_sp.png");
    background-size: contain;
    height: auto;
    border-radius: 2.1333333333vw;
    padding: 67.2vw 5.3333333333vw 8.5333333333vw;
  }
}
.p-about-serviceFeature-card__wrap {
  padding: 0 min(20px, 1.6129032258vw) min(180px, 14.5161290323vw);
}
@media (max-width: 767px) {
  .p-about-serviceFeature-card__wrap {
    padding: 0 5.3333333333vw 40vw;
  }
}
.p-about-serviceFeature-card__number {
  color: #fff;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: min(100px, 8.064516129vw);
  font-style: italic;
  font-weight: 400;
  line-height: 1;
  position: absolute;
  top: min(0px, 0vw);
  left: min(35px, 2.8225806452vw);
}
@media (max-width: 767px) {
  .p-about-serviceFeature-card__number {
    font-size: 19.2vw;
    top: 5.3333333333vw;
    left: 4vw;
  }
}
.p-about-serviceFeature-card__content {
  position: relative;
  z-index: 2;
}
@media (max-width: 767px) {
  .p-about-serviceFeature-card__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
}
.p-about-serviceFeature-card__title {
  color: #32373C;
  font-size: min(28px, 2.2580645161vw);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.02em;
  margin-bottom: min(20px, 1.6129032258vw);
}
@media (max-width: 767px) {
  .p-about-serviceFeature-card__title {
    font-size: 5.3333333333vw;
    margin-bottom: 3.2vw;
    text-align: center;
  }
}
.p-about-serviceFeature-card__description {
  font-size: min(18px, 1.4516129032vw);
  line-height: 1.8;
  letter-spacing: 0.02em;
  margin-bottom: min(30px, 2.4193548387vw);
}
@media (max-width: 767px) {
  .p-about-serviceFeature-card__description {
    font-size: 3.4666666667vw;
    margin-bottom: 5.3333333333vw;
    width: 100%;
  }
}
.p-about-serviceFeature-card__lead {
  color: #fff;
  font-size: min(32px, 2.5806451613vw);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.02em;
  position: absolute;
  text-align: right;
  bottom: min(40px, 3.2258064516vw);
  right: min(20px, 1.6129032258vw);
}
@media (max-width: 767px) {
  .p-about-serviceFeature-card__lead {
    font-size: 5.3333333333vw;
    bottom: unset;
    top: 40vw;
    text-align: center;
    right: 50%;
    transform: translateX(50%);
    width: 100%;
  }
}

.p-about-serviceFeature-hero__action {
  margin-top: min(35px, 2.8225806452vw);
  line-height: 1.6;
}
@media (max-width: 767px) {
  .p-about-serviceFeature-hero__action {
    margin-top: 8vw;
  }
}

.p-about-feature-growth {
  margin-top: min(100px, 8.064516129vw);
}
@media (max-width: 767px) {
  .p-about-feature-growth {
    margin-top: 17.3333333333vw;
  }
}
.p-about-feature-growth__body {
  max-width: min(830px, 66.935483871vw);
  line-height: 2;
  letter-spacing: 0.04em;
  white-space: pre-line;
}
@media (max-width: 767px) {
  .p-about-feature-growth__body {
    max-width: unset;
    white-space: normal;
    font-size: 3.4666666667vw;
    margin-top: 4vw;
  }
}

.p-about-feature-stats__container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  background-color: #fff;
  position: relative;
  margin-top: min(50px, 4.0322580645vw);
  gap: min(40px, 3.2258064516vw) 0;
}
@media (max-width: 767px) {
  .p-about-feature-stats__container {
    margin-top: 8vw;
    gap: 10.6666666667vw 0;
  }
}
.p-about-feature-stats__container::before {
  content: "";
  position: absolute;
  display: block;
  background-color: #D8D8D8;
  width: 100%;
  height: 1px;
  bottom: 50%;
  transform: translateY(-50%);
}
@media (max-width: 767px) {
  .p-about-feature-stats__container::before {
    content: none;
  }
}
.p-about-feature-stats__item {
  position: relative;
  display: flex;
  padding: min(35px, 2.8225806452vw) min(30px, 2.4193548387vw);
  max-height: min(340px, 27.4193548387vw);
  max-width: min(365px, 29.435483871vw);
  height: 100%;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-about-feature-stats__item {
    max-width: 33.33%;
  }
}
.p-about-feature-stats__item::before {
  content: "";
  position: absolute;
  display: block;
  background-color: #D8D8D8;
  width: 1px;
  height: 100%;
  right: 0;
  top: 0;
}
.p-about-feature-stats__item:nth-of-type(3n)::before {
  content: none;
}
@media (max-width: 767px) {
  .p-about-feature-stats__item:nth-of-type(3n)::before {
    content: "";
  }
}
@media (min-width: 768px) {
  .p-about-feature-stats__item:nth-of-type(4)::after {
    content: "";
    position: absolute;
    display: block;
    background-color: #D8D8D8;
    width: 1px;
    height: 100%;
    left: 0;
    top: 0;
  }
}
@media (max-width: 1023px) {
  .p-about-feature-stats__item {
    padding: min(35px, 2.8225806452vw) min(20px, 1.6129032258vw);
  }
}
@media (max-width: 767px) {
  .p-about-feature-stats__item {
    align-items: center;
    justify-content: center;
    padding: 0 5.3333333333vw 0 0;
    max-width: 44.5333333333vw;
    min-height: 49.8666666667vw;
  }
  .p-about-feature-stats__item:nth-of-type(2n) {
    padding: 0 0 0 5.3333333333vw;
  }
  .p-about-feature-stats__item:last-of-type {
    padding: 0;
    margin-top: -0.5em;
  }
  .p-about-feature-stats__item:nth-of-type(2n)::before, .p-about-feature-stats__item:last-of-type::before {
    content: none;
  }
  .p-about-feature-stats__item::before {
    width: 0.2666666667vw;
    right: 0;
  }
  .p-about-feature-stats__item::after {
    content: "";
    position: absolute;
    display: block;
    background-color: #D8D8D8;
    width: 100%;
    height: 0.2666666667vw;
    right: 0;
    bottom: -5.3333333333vw;
  }
  .p-about-feature-stats__item:last-of-type::after {
    content: none;
  }
}
.p-about-feature-stats__content {
  position: relative;
  text-align: center;
  width: 100%;
  z-index: 1;
}
.p-about-feature-stats__text {
  margin-bottom: min(20px, 1.6129032258vw);
}
@media (max-width: 767px) {
  .p-about-feature-stats__text {
    margin-bottom: 0vw;
  }
}
.p-about-feature-stats__title {
  line-height: 1.4;
  margin-bottom: min(5px, 0.4032258065vw);
  font-size: min(20px, 1.6129032258vw);
}
@media (max-width: 767px) {
  .p-about-feature-stats__title {
    font-size: 4.2666666667vw;
    margin-bottom: 0vw;
    white-space: normal;
    text-align: center;
  }
}
.p-about-feature-stats__title--1, .p-about-feature-stats__title--2 {
  margin-top: 0.5em;
}
@media (max-width: 767px) {
  .p-about-feature-stats__title--2 {
    margin-top: 0em;
  }
}
.p-about-feature-stats__description {
  font-size: min(16px, 1.2903225806vw);
  color: #2d3339;
  line-height: 1.4;
  font-weight: 500;
}
@media (max-width: 767px) {
  .p-about-feature-stats__description {
    font-size: 3.4666666667vw;
    margin-bottom: 3.2vw;
  }
}
.p-about-feature-stats__image {
  max-width: min(300px, 24.1935483871vw);
  margin: 0 auto;
}
@media (max-width: 767px) {
  .p-about-feature-stats__image {
    max-width: 40.5333333333vw;
    margin-top: 2.6666666667vw;
  }
}
.p-about-feature-stats__image--1 {
  margin-top: min(45px, 3.6290322581vw);
}
@media (max-width: 767px) {
  .p-about-feature-stats__image--1 {
    margin-top: 6.6666666667vw;
  }
}
.p-about-feature-stats__image--3 {
  margin-top: max(-10px, -0.8064516129vw);
}
@media (max-width: 767px) {
  .p-about-feature-stats__image--3 {
    margin-top: 0;
  }
}
.p-about-feature-stats__image img {
  width: 100%;
  height: auto;
  display: block;
}

.p-about-feature-license {
  background: #fff;
  margin-top: min(115px, 9.2741935484vw);
}
@media (max-width: 767px) {
  .p-about-feature-license {
    margin-top: 16vw;
  }
}
.p-about-feature-license__body {
  line-height: 2;
  max-width: min(800px, 64.5161290323vw);
}
@media (max-width: 767px) {
  .p-about-feature-license__body {
    max-width: 100%;
  }
}
.p-about-feature-license__buttons {
  display: flex;
  gap: min(20px, 1.6129032258vw);
  margin-bottom: min(60px, 4.8387096774vw);
}
@media (max-width: 767px) {
  .p-about-feature-license__buttons {
    flex-direction: column;
    gap: 4vw;
    margin-bottom: 10.6666666667vw;
    padding: 0 8vw;
  }
}
.p-about-feature-license__list {
  display: grid;
  position: relative;
  list-style: none;
  grid-template-columns: repeat(3, 1fr);
  gap: min(40px, 3.2258064516vw) 0;
}
@media (max-width: 767px) {
  .p-about-feature-license__list {
    overflow: hidden;
    grid-template-columns: repeat(2, 1fr);
    gap: 10.6666666667vw 8vw;
  }
}
.p-about-feature-license__list::before {
  content: "";
  position: absolute;
  display: block;
  background-color: #D8D8D8;
  width: 100%;
  height: 1px;
  bottom: 50%;
  transform: translateY(-50%);
}
@media (max-width: 767px) {
  .p-about-feature-license__list::before {
    content: none;
  }
}
.p-about-feature-license__item {
  position: relative;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  box-sizing: border-box;
  min-height: min(340px, 27.4193548387vw);
  padding: min(30px, 2.4193548387vw) 0 0;
  gap: min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .p-about-feature-license__item {
    max-width: 40vw;
    min-height: 40.5333333333vw;
    padding: 0;
  }
}
.p-about-feature-license__item::before {
  content: "";
  position: absolute;
  display: block;
  background-color: #D8D8D8;
  width: 1px;
  height: 100%;
  right: 0;
  top: 0;
}
@media (max-width: 767px) {
  .p-about-feature-license__item::before {
    width: 0.2666666667vw;
    right: -4vw;
  }
}
.p-about-feature-license__item:nth-of-type(3n)::before {
  content: none;
}
@media (max-width: 767px) {
  .p-about-feature-license__item:nth-of-type(3n)::before {
    content: "";
  }
}
@media (max-width: 767px) {
  .p-about-feature-license__item:nth-of-type(2n)::before {
    content: none;
  }
}
@media (max-width: 767px) {
  .p-about-feature-license__item::after {
    content: "";
    position: absolute;
    display: block;
    background-color: #D8D8D8;
    width: 150%;
    height: 0.2666666667vw;
    bottom: -5.3333333333vw;
  }
  .p-about-feature-license__item:last-of-type::after, .p-about-feature-license__item:nth-last-of-type(2)::after {
    content: none;
  }
}
.p-about-feature-license__title {
  font-size: min(20px, 1.6129032258vw);
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: min(30px, 2.4193548387vw);
  text-align: center;
  word-break: keep-all;
}
@media (max-width: 767px) {
  .p-about-feature-license__title {
    line-height: 1.4;
    font-size: 4vw;
    margin-bottom: 4vw;
  }
  .p-about-feature-license__title--4 {
    margin-top: 2.6666666667vw;
  }
}
.p-about-feature-license__icon {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 767px) {
  .p-about-feature-license__icon--4 {
    margin-top: 8vw;
  }
}
.p-about-feature-license__icon img {
  height: auto;
  width: min(300px, 24.1935483871vw);
}
@media (max-width: 767px) {
  .p-about-feature-license__icon img {
    width: 40vw;
  }
}

.p-about-feature-area {
  overflow: hidden;
  background-color: #fff;
  margin-top: min(120px, 9.6774193548vw);
}
@media (max-width: 767px) {
  .p-about-feature-area {
    margin-top: 18.6666666667vw;
  }
}
.p-about-feature-area__text {
  font-weight: 400;
  line-height: 2;
  color: #333;
  position: relative;
  max-width: min(500px, 40.3225806452vw);
  margin-top: min(25px, 2.0161290323vw);
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-about-feature-area__text {
    max-width: min(350px, 45.5729166667vw);
  }
}
@media (max-width: 767px) {
  .p-about-feature-area__text {
    max-width: 100%;
    font-size: 3.4666666667vw;
    margin-top: 4vw;
  }
}
.p-about-feature-area__map {
  width: min(705.41px, 56.8879032258vw);
  margin-top: max(-256px, -20.6451612903vw);
  margin-right: max(-53px, -4.2741935484vw);
  margin-left: auto;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-about-feature-area__map {
    margin-top: max(-260px, -33.8541666667vw);
    width: min(370px, 48.1770833333vw);
  }
}
@media (max-width: 767px) {
  .p-about-feature-area__map {
    width: 100vw;
    margin-top: -2.6666666667vw;
    margin-right: 0;
    margin-left: -5.3333333333vw;
  }
}
.p-about-feature-area__map-visual {
  position: relative;
  width: 100%;
}
.p-about-feature-area__map-visual picture {
  display: block;
  width: 100%;
}
.p-about-feature-area__map-visual img {
  width: 100%;
  height: auto;
  display: block;
}

.p-about-feature-cta {
  margin-top: min(110px, 8.8709677419vw);
}
@media (max-width: 767px) {
  .p-about-feature-cta {
    margin-top: 5.3333333333vw;
  }
}
.p-about-feature-cta__reason {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  position: relative;
  gap: min(40px, 3.2258064516vw);
  margin-top: min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .p-about-feature-cta__reason {
    overflow: hidden;
    gap: 10.6666666667vw 8vw;
    margin-top: 7.4666666667vw;
  }
}
.p-about-feature-cta__reason::before {
  content: "";
  position: absolute;
  display: block;
  background-color: #D8D8D8;
  width: 100%;
  height: 1px;
  bottom: 50%;
  transform: translateY(-50%);
}
@media (max-width: 767px) {
  .p-about-feature-cta__reason::before {
    content: none;
  }
}
.p-about-feature-cta__reason-cnt {
  position: relative;
  width: min(330px, 26.6129032258vw);
  height: min(340px, 27.4193548387vw);
  padding-top: min(50px, 4.0322580645vw);
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-about-feature-cta__reason-cnt {
    width: 30%;
  }
}
.p-about-feature-cta__reason-cnt::before {
  content: "";
  position: absolute;
  display: block;
  background-color: #D8D8D8;
  width: 1px;
  height: 100%;
  right: max(-20px, -1.6129032258vw);
  top: 0;
}
.p-about-feature-cta__reason-cnt:nth-of-type(3n)::before {
  content: none;
}
@media (min-width: 768px) {
  .p-about-feature-cta__reason-cnt:nth-of-type(4)::after {
    content: "";
    position: absolute;
    display: block;
    background-color: #D8D8D8;
    width: 1px;
    height: 100%;
    left: max(-20px, -1.6129032258vw);
    top: 0;
  }
}
@media (max-width: 767px) {
  .p-about-feature-cta__reason-cnt {
    height: 100%;
    min-height: 63.2vw;
    width: 40.5333333333vw;
    padding-top: 0;
  }
  .p-about-feature-cta__reason-cnt:nth-of-type(4n) {
    padding-top: 1.2em;
  }
  .p-about-feature-cta__reason-cnt:nth-of-type(2n)::before, .p-about-feature-cta__reason-cnt:last-of-type::before {
    content: none;
  }
  .p-about-feature-cta__reason-cnt::before, .p-about-feature-cta__reason-cnt:nth-of-type(3n)::before {
    content: "";
    right: -4vw;
    width: 0.2666666667vw;
  }
  .p-about-feature-cta__reason-cnt::after {
    content: "";
    position: absolute;
    display: block;
    background-color: #D8D8D8;
    width: 300%;
    height: 0.2666666667vw;
    bottom: -5.3333333333vw;
  }
  .p-about-feature-cta__reason-cnt:last-of-type::after, .p-about-feature-cta__reason-cnt:nth-last-of-type(2)::after {
    content: none;
  }
}
.p-about-feature-cta__reason-cnt-head {
  text-align: center;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
  font-size: 4.2666666667vw;
}
@media (min-width: 768px) {
  .p-about-feature-cta__reason-cnt-head {
    font-size: clamp(14px, 1.6129032258vw, 20px);
  }
}
@media (max-width: 767px) {
  .p-about-feature-cta__reason-cnt-head {
    display: block;
    min-height: 8vw;
  }
}
.p-about-feature-cta__reason-cnt-detail {
  text-align: center;
  padding: 0 min(10px, 0.8064516129vw);
}
@media (max-width: 767px) {
  .p-about-feature-cta__reason-cnt-detail {
    padding: 0;
  }
}
.p-about-feature-cta__reason-cnt-detail p {
  line-height: 1.8;
  letter-spacing: -0.032em;
  font-size: 3.4666666667vw;
}
@media (min-width: 768px) {
  .p-about-feature-cta__reason-cnt-detail p {
    font-size: clamp(14px, 1.2903225806vw, 16px);
  }
}
@media (max-width: 767px) {
  .p-about-feature-cta__reason-cnt-detail p {
    text-align: left;
  }
}
.p-about-feature-cta__reason-cnt-detail img {
  width: min(100px, 8.064516129vw);
  margin: min(30px, 2.4193548387vw) auto;
  display: block;
}
@media (max-width: 767px) {
  .p-about-feature-cta__reason-cnt-detail img {
    width: 26.6666666667vw;
    margin: 3.2vw auto 1.6vw;
  }
}

.p-about-feature-card {
  border-radius: min(8px, 0.6451612903vw);
  padding: min(70px, 5.6451612903vw) min(57px, 4.5967741935vw) min(40px, 3.2258064516vw);
  margin-top: min(120px, 9.6774193548vw);
  height: min(360px, 29.0322580645vw);
  position: relative;
  background-color: #F0F2F6;
  background-image: url("../images/about/bnr_02.png");
  background-size: cover;
  background-repeat: no-repeat;
}
@media (max-width: 767px) {
  .p-about-feature-card {
    background-image: url("../images/about/bnr_02_sp.png");
    background-size: contain;
    height: auto;
    border-radius: 2.1333333333vw;
    padding: 67.2vw 5.3333333333vw 8.5333333333vw;
    margin-top: 21.3333333333vw;
  }
}
.p-about-feature-card__wrap {
  padding: 0 min(20px, 1.6129032258vw) min(180px, 14.5161290323vw);
}
@media (max-width: 767px) {
  .p-about-feature-card__wrap {
    padding: 0 5.3333333333vw 40vw;
  }
}
.p-about-feature-card__number {
  color: #fff;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: min(100px, 8.064516129vw);
  font-style: italic;
  font-weight: 400;
  line-height: 1;
  position: absolute;
  top: min(0px, 0vw);
  left: min(35px, 2.8225806452vw);
}
@media (max-width: 767px) {
  .p-about-feature-card__number {
    font-size: 19.2vw;
    top: 4vw;
    left: 2.6666666667vw;
  }
}
.p-about-feature-card__content {
  position: relative;
  z-index: 2;
}
@media (max-width: 767px) {
  .p-about-feature-card__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
}
.p-about-feature-card__title {
  color: #32373C;
  font-size: min(28px, 2.2580645161vw);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.02em;
  margin-bottom: min(20px, 1.6129032258vw);
}
@media (max-width: 767px) {
  .p-about-feature-card__title {
    font-size: 5.3333333333vw;
    margin-bottom: 3.2vw;
    text-align: center;
  }
}
.p-about-feature-card__description {
  font-size: min(18px, 1.4516129032vw);
  line-height: 1.8;
  letter-spacing: 0.02em;
  margin-bottom: min(30px, 2.4193548387vw);
}
@media (max-width: 767px) {
  .p-about-feature-card__description {
    font-size: 3.4666666667vw;
    margin-bottom: 4vw;
    width: 100%;
  }
}
.p-about-feature-card__lead {
  color: #fff;
  font-size: min(32px, 2.5806451613vw);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.02em;
  position: absolute;
  text-align: right;
  bottom: min(40px, 3.2258064516vw);
  right: min(20px, 1.6129032258vw);
}
@media (max-width: 767px) {
  .p-about-feature-card__lead {
    font-size: 5.3333333333vw;
    bottom: unset;
    top: 40vw;
    text-align: center;
    right: 50%;
    transform: translateX(50%);
    width: 100%;
  }
}

/* =========================================
   Company Message Section
========================================= */
.p-company-message {
  position: relative;
  /* ---------- Intro ---------- */
}
.p-company-message__intro {
  max-width: min(900px, 72.5806451613vw);
  padding-top: min(80px, 6.4516129032vw);
  margin-left: auto;
  margin-right: auto;
  font-size: min(32px, 2.5806451613vw);
  letter-spacing: 0.04em;
  font-family: "Noto Sans JP", Arial, sans-serif;
}
@media (max-width: 767px) {
  .p-company-message__intro {
    font-size: 6.4vw;
    max-width: 89.3333333333vw;
    padding-bottom: 8vw;
  }
}
.p-company-message__body {
  max-width: min(900px, 72.5806451613vw);
  padding-top: min(20px, 1.6129032258vw);
  margin-left: auto;
  margin-right: auto;
  font-size: min(18px, 1.4516129032vw);
  line-height: 2;
  white-space: pre-line;
  font-weight: 500;
  font-family: "Noto Sans JP", Arial, sans-serif;
  color: #32373C;
}
@media (max-width: 767px) {
  .p-company-message__body {
    max-width: 89.3333333333vw;
    font-size: 3.7333333333vw;
  }
}

.p-company-message-end {
  display: flex;
  justify-content: flex-end;
  padding-top: min(40px, 3.2258064516vw);
  font-family: "Noto Sans JP", Arial, sans-serif;
  /* ---------- Title (役職) ---------- */
  /* ---------- Furigana ---------- */
  /* ---------- 氏名---------- */
}
@media (max-width: 767px) {
  .p-company-message-end {
    padding-top: 10.6666666667vw;
  }
}
.p-company-message-end__content {
  max-width: min(150px, 12.0967741935vw);
}
@media (max-width: 767px) {
  .p-company-message-end__content {
    max-width: 40vw;
  }
}
.p-company-message-end__title {
  font-size: min(20px, 1.6129032258vw);
  font-weight: 700;
  margin: 0 0 min(8px, 0.6451612903vw) 0;
  text-align: justify;
  text-align-last: justify;
}
@media (max-width: 767px) {
  .p-company-message-end__title {
    font-size: 4.2666666667vw;
    margin: 0 0 1.3333333333vw 0;
  }
}
.p-company-message-end__furigana {
  font-size: min(12px, 0.9677419355vw);
  font-weight: 700;
  margin: 0 0 max(-10px, -0.8064516129vw) 0;
  padding-left: min(15px, 1.2096774194vw);
  text-align: left;
}
@media (max-width: 767px) {
  .p-company-message-end__furigana {
    font-size: 2.6666666667vw;
    margin: 0 0 -0.8vw 0;
    padding-left: 2.1333333333vw;
  }
}
.p-company-message-end__name {
  font-size: min(32px, 2.5806451613vw);
  font-weight: 700;
  margin: 0;
  text-align: justify;
  text-align-last: justify;
}
@media (max-width: 767px) {
  .p-company-message-end__name {
    font-size: 6.4vw;
  }
}

.p-investor-hero {
  background: url("../images/investor/kv-bg.jpg") no-repeat center bottom/cover;
}

.p-investor-news__list {
  border: none;
  margin-top: 0;
}
.p-investor-news__list .c-post-item {
  padding: min(24px, 1.935483871vw) 0;
}
@media (max-width: 767px) {
  .p-investor-news__list .c-post-item {
    padding: 5.3333333333vw 0;
  }
}
.p-investor-news__cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 280px);
  gap: min(40px, 3.2258064516vw);
  margin-top: min(56px, 4.5161290323vw);
}
@media (max-width: 1023px) {
  .p-investor-news__cta {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 767px) {
  .p-investor-news__cta {
    gap: 6.4vw;
    margin-top: 12.8vw;
  }
}
.p-investor-news__links {
  display: flex;
  flex-direction: column;
  gap: min(16px, 1.2903225806vw);
}
@media (max-width: 767px) {
  .p-investor-news__links {
    gap: 3.2vw;
  }
}
.p-investor-news__empty {
  padding: min(80px, 6.4516129032vw) 0;
}
@media (max-width: 767px) {
  .p-investor-news__empty {
    padding: 16vw 0;
  }
}
.p-investor-news .c-post-list {
  margin-top: 0;
}
.p-investor-news .c-post__date {
  width: min(80px, 6.4516129032vw);
}
@media (max-width: 767px) {
  .p-investor-news .c-post__date {
    width: 18.6666666667vw;
  }
}
.p-investor-news .c-post__category {
  width: min(104px, 8.3870967742vw);
  text-align: center;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-investor-news .c-post__category {
    width: min(104px, 13.5416666667vw);
  }
}
@media (max-width: 767px) {
  .p-investor-news .c-post__category {
    width: 27.7333333333vw;
  }
}
@media (max-width: 767px) {
  .p-investor-news .c-post-item__body {
    flex-direction: column;
    gap: 1.0666666667vw;
  }
}

.p-investor-news-utilities {
  padding: min(48px, 3.8709677419vw) 0 min(62px, 5vw);
  background-color: #F0F2F6;
  margin-top: min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .p-investor-news-utilities {
    padding: 10.6666666667vw 0 8.5333333333vw;
    margin-top: 10.6666666667vw;
  }
}
.p-investor-news-utilities .l-container {
  display: flex;
  align-items: flex-start;
  gap: min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .p-investor-news-utilities .l-container {
    flex-direction: column;
    gap: 10.6666666667vw;
  }
}
.p-investor-news-utilities__movie {
  width: 36.3636363636%;
}
@media (max-width: 767px) {
  .p-investor-news-utilities__movie {
    width: 100%;
  }
}
.p-investor-news-utilities__libraly {
  width: 29.4545454545%;
}
@media (max-width: 767px) {
  .p-investor-news-utilities__libraly {
    width: 100%;
  }
}
.p-investor-news-utilities__libraly .c-post-list {
  margin-top: 0;
}
.p-investor-news-utilities__libraly .c-post-item__link {
  padding-top: min(14px, 1.1290322581vw);
  padding-bottom: min(14px, 1.1290322581vw);
}
@media (max-width: 767px) {
  .p-investor-news-utilities__libraly .c-post-item__link {
    padding-top: 3.7333333333vw;
    padding-bottom: 3.7333333333vw;
  }
}
.p-investor-news-utilities__libraly:first-of-type {
  width: 69.4545454545%;
}
@media (max-width: 767px) {
  .p-investor-news-utilities__libraly:first-of-type {
    width: 100%;
  }
}
.p-investor-news-utilities__stock-wrapper {
  width: 26.9090909091%;
}
@media (max-width: 767px) {
  .p-investor-news-utilities__stock-wrapper {
    width: 100%;
  }
}

.p-investor-stock-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: min(20px, 1.6129032258vw);
  padding: min(36px, 2.9032258065vw) min(28px, 2.2580645161vw);
  background-color: #fff;
  border-radius: min(4px, 0.3225806452vw);
  max-width: min(340px, 27.4193548387vw);
}
@media (max-width: 767px) {
  .p-investor-stock-card {
    padding: 7.4666666667vw 8.5333333333vw;
    gap: 5.3333333333vw;
    max-width: 100%;
    width: 100%;
  }
}
.p-investor-stock-card__text {
  text-align: center;
  letter-spacing: 0;
  font-size: 3.4666666667vw;
}
@media (min-width: 768px) {
  .p-investor-stock-card__text {
    font-size: clamp(14px, 1.2096774194vw, 15px);
  }
}
.p-investor-stock-card__logo {
  width: min(143px, 11.5322580645vw);
  height: auto;
}
@media (max-width: 767px) {
  .p-investor-stock-card__logo {
    width: 32vw;
  }
}
.p-investor-stock-card__logo img {
  width: 100%;
}
.p-investor-stock-card__button {
  padding: min(8px, 0.6451612903vw) min(48px, 3.8709677419vw);
  min-width: unset;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-investor-stock-card__button {
    padding-right: min(25px, 3.2552083333vw);
    padding-left: min(25px, 3.2552083333vw);
  }
}
@media (max-width: 767px) {
  .p-investor-stock-card__button {
    padding: 1.6vw 6.4vw;
    width: 100%;
  }
}
.p-investor-stock-card__button::after {
  width: min(10px, 0.8064516129vw);
  background-image: url("../images/common/icons/icon-external.svg");
}
@media (max-width: 767px) {
  .p-investor-stock-card__button::after {
    width: 2.6666666667vw;
    height: 2.6666666667vw;
  }
}
.p-investor-stock-card__button:hover::after {
  background-image: url("../images/common/icons/icon-external-black.svg");
}

.p-investor-info__grid {
  display: grid;
  grid-template-columns: 1fr min(340px, 27.4193548387vw);
  gap: min(30px, 2.4193548387vw);
  align-items: stretch;
}
@media (max-width: 1023px) {
  .p-investor-info__grid {
    grid-template-columns: 1fr;
    gap: 6.4vw;
  }
}
.p-investor-info__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: min(32px, 2.5806451613vw);
  margin-bottom: min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .p-investor-info__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 5.3333333333vw;
    margin-bottom: 8.5333333333vw;
  }
}
.p-investor-info__lead {
  color: #2d3339;
  max-width: min(520px, 41.935483871vw);
  line-height: 1.8;
  letter-spacing: 0.02em;
  font-size: 3.7333333333vw;
}
@media (min-width: 768px) {
  .p-investor-info__lead {
    font-size: clamp(14px, 1.2903225806vw, 16px);
  }
}
@media (max-width: 767px) {
  .p-investor-info__lead {
    max-width: 100%;
  }
}
.p-investor-info__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(24px, 1.935483871vw);
}
@media (max-width: 1023px) {
  .p-investor-info__cards {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 767px) {
  .p-investor-info__cards {
    grid-template-columns: 1fr;
    gap: 4.2666666667vw;
  }
}

.p-investor-info-card {
  display: flex;
  flex-direction: column;
  gap: min(12px, 0.9677419355vw);
  padding: min(32px, 2.5806451613vw);
  border-radius: min(16px, 1.2903225806vw);
  background-color: #f8fafc;
  color: #32373C;
  box-shadow: 0 8px 24px rgba(27, 46, 94, 0.08);
  text-decoration: none;
  transition: transform 0.3s ease box-shadow 0.3s ease ease;
}
@media (max-width: 767px) {
  .p-investor-info-card {
    padding: 6.4vw;
    border-radius: 4.2666666667vw;
    gap: 2.6666666667vw;
  }
}
.p-investor-info-card__title {
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.6;
  font-size: 4.2666666667vw;
}
@media (min-width: 768px) {
  .p-investor-info-card__title {
    font-size: clamp(14px, 1.6129032258vw, 20px);
  }
}
.p-investor-info-card__text {
  color: #2d3339;
  line-height: 1.8;
  letter-spacing: 0.02em;
  font-size: 3.4666666667vw;
}
@media (min-width: 768px) {
  .p-investor-info-card__text {
    font-size: clamp(14px, 1.2096774194vw, 15px);
  }
}
.p-investor-info-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 32px rgba(27, 46, 94, 0.12);
}

.p-investor-policy__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 360px);
  gap: min(40px, 3.2258064516vw);
  padding: min(48px, 3.8709677419vw);
  border-radius: min(16px, 1.2903225806vw);
  background: linear-gradient(135deg, rgba(0, 82, 164, 0.12) 0%, rgba(126, 167, 216, 0.08) 100%);
}
@media (max-width: 1023px) {
  .p-investor-policy__inner {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 767px) {
  .p-investor-policy__inner {
    padding: 8.5333333333vw;
    border-radius: 4.2666666667vw;
    gap: 6.4vw;
  }
}
.p-investor-policy__text {
  margin-top: min(16px, 1.2903225806vw);
  color: #2d3339;
  line-height: 1.8;
  letter-spacing: 0.02em;
  font-size: 3.7333333333vw;
}
@media (min-width: 768px) {
  .p-investor-policy__text {
    font-size: clamp(14px, 1.2903225806vw, 16px);
  }
}
@media (max-width: 767px) {
  .p-investor-policy__text {
    margin-top: 3.2vw;
  }
}
.p-investor-policy__links {
  display: flex;
  flex-direction: column;
  gap: min(16px, 1.2903225806vw);
}
@media (max-width: 767px) {
  .p-investor-policy__links {
    gap: 3.2vw;
  }
}
@media (max-width: 767px) {
  .p-investor-policy .c-grid--col3 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 5.3333333333vw !important;
  }
}
@media (max-width: 767px) {
  .p-investor-policy .c-grid--col3 .c-grid__item {
    width: 100%;
    margin-bottom: 4.2666666667vw;
    margin-top: 0 !important;
  }
  .p-investor-policy .c-grid--col3 .c-grid__item:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
  }
}

.p-investor-about-sec02 .c-table col:nth-child(1) {
  width: 18.1818181818%;
}
.p-investor-about-sec02 .c-table col:nth-child(2) {
  width: 49.0909090909%;
}
.p-investor-about-sec02 .c-table col:nth-child(3) {
  width: 16.3636363636%;
}
.p-investor-about-sec02 .c-table col:nth-child(4) {
  width: 16.3636363636%;
}

.p-investor-about-sec01 .c-table col:nth-child(1) {
  width: 24%;
}
@media (max-width: 767px) {
  .p-investor-about-sec01 .c-table col:nth-child(1) {
    width: 44.1791044776%;
  }
}
.p-investor-about-sec01 .c-table col:nth-child(2) {
  width: auto;
}

.p-investor-post-list-utilitie .c-post-category-list {
  gap: 0;
}
@media (max-width: 767px) {
  .p-investor-post-list-utilitie .c-post-category-list {
    flex-direction: column;
    align-items: flex-start;
  }
}
@media (max-width: 767px) {
  .p-investor-post-list-utilitie .c-post-category-list__item {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .p-investor-post-list-utilitie .c-post-category-list .c-post-category-list__sub-groupe .c-post-category-list__item {
    width: calc(50% - 2.1333333333vw);
  }
}

.p-investor-financial-bottom {
  margin-top: min(60px, 4.8387096774vw);
}
@media (max-width: 767px) {
  .p-investor-financial-bottom {
    margin-top: 10.6666666667vw;
  }
}

.p-company-hero {
  background: url("../images/company/kv-bg.jpg") no-repeat center bottom/cover;
}
@media (max-width: 767px) {
  .p-company-hero {
    background: url("../images/company/kv-bg_sp.png") no-repeat center bottom/cover;
  }
}

.p-company-menu {
  display: flex;
  flex-wrap: wrap;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: min(52px, 4.1935483871vw);
  margin-top: min(120px, 9.6774193548vw);
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-company-menu {
    display: flex;
  }
}
@media (max-width: 767px) {
  .p-company-menu {
    grid-template-columns: 1fr;
    gap: 10.6666666667vw;
    margin-top: 21.3333333333vw;
  }
}
.p-company-menu__item--2col {
  grid-column: span 6;
}
.p-company-menu__item--2col.is__border {
  position: relative;
}
.p-company-menu__item--2col.is__border::before {
  content: "";
  position: absolute;
  display: block;
  bottom: max(-35px, -2.8225806452vw);
  width: 100%;
  height: min(1px, 0.0806451613vw);
  background-color: #D8D8D8;
}
@media (max-width: 767px) {
  .p-company-menu__item--2col.is__border::before {
    content: none;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-company-menu__item--2col .p-company-menu__cnt {
    width: calc((100% - min(38px, 4.9479166667vw)) / 2);
  }
}
.p-company-menu__item--3col {
  grid-column: span 4;
  margin-top: min(70px, 5.6451612903vw);
}
.p-company-menu__item--3col.is__border {
  position: relative;
}
.p-company-menu__item--3col.is__border::before {
  content: "";
  position: absolute;
  display: block;
  bottom: max(-35px, -2.8225806452vw);
  width: 100%;
  height: min(1px, 0.0806451613vw);
  background-color: #D8D8D8;
}
@media (max-width: 767px) {
  .p-company-menu__item--3col.is__border::before {
    content: none;
  }
}
@media (max-width: 767px) {
  .p-company-menu__item--3col {
    margin-top: 10.6666666667vw;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-company-menu__item--3col .p-company-menu__cnt {
    width: calc((100% - min(76px, 9.8958333333vw)) / 3);
  }
}
.p-company-menu__cnt {
  position: relative;
}
.p-company-menu__cnt::before {
  content: "";
  position: absolute;
  display: block;
  background-color: #D8D8D8;
  height: 100%;
  width: min(1px, 0.0806451613vw);
  right: max(-26px, -2.0967741935vw);
}
@media (max-width: 767px) {
  .p-company-menu__cnt::before {
    width: 100%;
    right: 0;
    bottom: -4.2666666667vw;
    height: 0.2666666667vw;
  }
}
.p-company-menu__cnt:last-of-type::before {
  content: none;
}
@media (max-width: 767px) {
  .p-company-menu__cnt:last-of-type::before {
    content: "";
  }
}
@media (max-width: 767px) {
  .p-company-menu__cnt--last::before {
    content: none !important;
  }
}
.p-company-menu__item {
  display: block;
  width: min(524px, 42.2580645161vw);
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-company-menu__item {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .p-company-menu__item {
    width: 100%;
  }
}
.p-company-menu__item--3, .p-company-menu__item--4, .p-company-menu__item--5, .p-company-menu__item--6, .p-company-menu__item--7, .p-company-menu__item--8 {
  width: min(332px, 26.7741935484vw);
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-company-menu__item--3, .p-company-menu__item--4, .p-company-menu__item--5, .p-company-menu__item--6, .p-company-menu__item--7, .p-company-menu__item--8 {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .p-company-menu__item--3, .p-company-menu__item--4, .p-company-menu__item--5, .p-company-menu__item--6, .p-company-menu__item--7, .p-company-menu__item--8 {
    width: 100%;
  }
}
.p-company-menu__item:hover p {
  opacity: 0.8;
}
.p-company-menu__item:hover .p-company-menu__item_thumb img {
  transform: scale(1.05);
}
.p-company-menu__item_thumb {
  overflow: hidden;
  border-radius: min(4px, 0.3225806452vw);
  width: min(524px, 42.2580645161vw);
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-company-menu__item_thumb {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .p-company-menu__item_thumb {
    width: 100%;
    border-radius: 1.0666666667vw;
  }
}
.p-company-menu__item_thumb--3, .p-company-menu__item_thumb--4, .p-company-menu__item_thumb--5, .p-company-menu__item_thumb--6, .p-company-menu__item_thumb--7, .p-company-menu__item_thumb--8 {
  width: min(332px, 26.7741935484vw);
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-company-menu__item_thumb--3, .p-company-menu__item_thumb--4, .p-company-menu__item_thumb--5, .p-company-menu__item_thumb--6, .p-company-menu__item_thumb--7, .p-company-menu__item_thumb--8 {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .p-company-menu__item_thumb--3, .p-company-menu__item_thumb--4, .p-company-menu__item_thumb--5, .p-company-menu__item_thumb--6, .p-company-menu__item_thumb--7, .p-company-menu__item_thumb--8 {
    width: 100%;
  }
}
.p-company-menu__item_thumb img {
  transform: scale(1);
  object-fit: cover;
  transition: transform 0.3s ease;
}
.p-company-menu__item_text {
  position: relative;
  margin-top: min(12px, 0.9677419355vw);
}
@media (max-width: 767px) {
  .p-company-menu__item_text {
    margin-top: 2.6666666667vw;
  }
}
.p-company-menu__item_text::before {
  content: "";
  position: absolute;
  display: block;
  right: 0;
  width: min(6px, 0.4838709677vw);
  height: min(10px, 0.8064516129vw);
  background: url(../images/common/arrow-black.svg) no-repeat;
  background-size: contain;
  top: 50%;
  transform: translateY(-50%);
}
@media (max-width: 767px) {
  .p-company-menu__item_text::before {
    width: 1.6vw;
    height: 2.6666666667vw;
  }
}

.p-companyOverview-anchor {
  display: flex;
  align-items: center;
  gap: min(30px, 2.4193548387vw);
  margin-left: auto;
}
@media (max-width: 767px) {
  .p-companyOverview-anchor {
    flex-direction: column;
    gap: 0;
  }
}
.p-companyOverview-anchor .c-anchors {
  flex: 1;
}
.p-companyOverview-anchor .c-anchors__list {
  gap: min(30px, 2.4193548387vw);
}
@media (max-width: 767px) {
  .p-companyOverview-anchor .c-anchors {
    width: 100%;
    margin-bottom: 7.4666666667vw;
  }
}

.p-companyOverview-headOffice {
  margin-top: min(120px, 9.6774193548vw);
}
@media (max-width: 767px) {
  .p-companyOverview-headOffice {
    margin-top: 21.3333333333vw;
  }
}
.p-companyOverview-headOffice__table {
  margin-top: min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .p-companyOverview-headOffice__table {
    margin-top: 7.4666666667vw;
  }
}
.p-companyOverview-headOffice__map {
  position: relative;
  width: 100%;
  padding-top: min(500px, 40.3225806452vw);
  margin-top: min(60px, 4.8387096774vw);
}
@media (max-width: 767px) {
  .p-companyOverview-headOffice__map {
    padding-top: 41.8666666667vw;
    margin-top: 10.6666666667vw;
  }
}
.p-companyOverview-headOffice__map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.p-companyOverview-businessBase {
  margin-top: min(120px, 9.6774193548vw);
}
@media (max-width: 767px) {
  .p-companyOverview-businessBase {
    margin-top: 21.3333333333vw;
  }
}
.p-companyOverview-businessBase__list {
  border-top: min(1px, 0.0806451613vw) solid #D8D8D8;
  margin-top: min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .p-companyOverview-businessBase__list {
    border-top: 0.2666666667vw solid #D8D8D8;
    margin-top: 7.4666666667vw;
  }
}
.p-companyOverview-businessBase__list_item {
  display: flex;
  align-items: stretch;
  border-bottom: min(1px, 0.0806451613vw) solid #D8D8D8;
  padding: min(15px, 1.2096774194vw) 0;
  gap: min(33px, 2.6612903226vw);
}
@media (max-width: 767px) {
  .p-companyOverview-businessBase__list_item {
    flex-direction: column;
    border-bottom: 0.2666666667vw solid #D8D8D8;
    padding: 3.7333333333vw 0;
    gap: 0vw;
  }
}
.p-companyOverview-businessBase__list_item_head {
  display: flex;
  align-items: center;
  width: 100%;
  font-weight: 500;
  line-height: 1.8;
  max-width: min(260px, 20.9677419355vw);
  border-right: min(1px, 0.0806451613vw) solid #D8D8D8;
  font-size: 3.7333333333vw;
}
@media (min-width: 768px) {
  .p-companyOverview-businessBase__list_item_head {
    font-size: clamp(14px, 1.4516129032vw, 18px);
  }
}
@media (max-width: 767px) {
  .p-companyOverview-businessBase__list_item_head {
    max-width: 100%;
    border-right: none;
  }
}
.p-companyOverview-businessBase__list_item_deatil {
  display: flex;
  align-items: center;
  width: 100%;
  gap: min(27px, 2.1774193548vw);
  padding: min(14px, 1.1290322581vw) 0;
}
.p-companyOverview-businessBase__list_item_deatil address {
  line-height: 1.8;
  width: 100%;
  max-width: min(580px, 46.7741935484vw);
  font-size: 3.4666666667vw;
}
@media (min-width: 768px) {
  .p-companyOverview-businessBase__list_item_deatil address {
    font-size: clamp(14px, 1.2903225806vw, 16px);
  }
}
@media (max-width: 767px) {
  .p-companyOverview-businessBase__list_item_deatil {
    flex-direction: column;
    align-items: inherit;
    gap: 2.6666666667vw;
    padding: 1.0666666667vw 0;
  }
  .p-companyOverview-businessBase__list_item_deatil address {
    max-width: 100%;
  }
}
.p-companyOverview-businessBase__list_item_mapBtn {
  position: relative;
  width: 100%;
  max-width: min(200px, 16.1290322581vw);
  border-radius: min(24px, 1.935483871vw);
  font-size: 3.7333333333vw;
}
@media (min-width: 768px) {
  .p-companyOverview-businessBase__list_item_mapBtn {
    font-size: clamp(14px, 1.2096774194vw, 15px);
  }
}
@media (max-width: 767px) {
  .p-companyOverview-businessBase__list_item_mapBtn {
    line-height: normal;
    max-width: 53.3333333333vw;
    border-radius: 6.4vw;
    padding-top: 2.1333333333vw;
    padding-bottom: 2.1333333333vw;
  }
}
.p-companyOverview-businessBase__list_item_mapBtn::before {
  content: "";
  position: absolute;
  display: block;
  right: min(18.73px, 1.510483871vw);
  width: min(10.27px, 0.8282258065vw);
  height: min(10.27px, 0.8282258065vw);
  background: url(../images/common/icon-external.svg) no-repeat;
  background-size: contain;
}
@media (max-width: 767px) {
  .p-companyOverview-businessBase__list_item_mapBtn::before {
    right: 4.9946666667vw;
    width: 2.7386666667vw;
    height: 2.7386666667vw;
  }
}

.p-companyOverview-groupCompany {
  margin-top: min(120px, 9.6774193548vw);
}
@media (max-width: 767px) {
  .p-companyOverview-groupCompany {
    margin-top: 21.3333333333vw;
  }
}
.p-companyOverview-groupCompany__name {
  font-weight: 700;
  line-height: 1.4;
  margin-top: min(30px, 2.4193548387vw);
  font-size: 4.8vw;
}
@media (min-width: 768px) {
  .p-companyOverview-groupCompany__name {
    font-size: clamp(14px, 1.935483871vw, 24px);
  }
}
@media (max-width: 767px) {
  .p-companyOverview-groupCompany__name {
    margin-top: 5.3333333333vw;
  }
}
.p-companyOverview-groupCompany__table {
  margin-top: min(29px, 2.3387096774vw);
}
@media (max-width: 767px) {
  .p-companyOverview-groupCompany__table {
    margin-top: 5.3333333333vw;
  }
}

.p-companyOverview-table.c-table col:nth-child(1) {
  width: 18.1818181818%;
}
.p-companyOverview-table.c-table col:nth-child(2) {
  width: 81.8181818182%;
}
.p-companyOverview-table.c-table td, .p-companyOverview-table.c-table th {
  line-height: 1.8;
  letter-spacing: -0.026em;
}
.p-companyOverview-table.c-table td {
  padding-left: min(40px, 3.2258064516vw);
}
.p-companyOverview-table.c-table td dl + dl {
  margin-top: 1.8em;
}
@media (max-width: 767px) {
  .p-companyOverview-table.c-table col:nth-child(1) {
    width: 29.552238806%;
  }
  .p-companyOverview-table.c-table col:nth-child(2) {
    width: 70.447761194%;
  }
  .p-companyOverview-table.c-table td, .p-companyOverview-table.c-table th {
    padding-top: 3.2vw;
    padding-bottom: 3.2vw;
  }
  .p-companyOverview-table.c-table td {
    padding-left: 4.2666666667vw;
  }
  .p-companyOverview-table.c-table th {
    padding-left: 4.2666666667vw;
    padding-right: 4.2666666667vw;
  }
}

.p-company-executives__subtitle {
  font-size: min(18px, 1.4516129032vw);
  font-weight: 500;
  padding-left: min(20px, 1.6129032258vw);
}
@media (max-width: 767px) {
  .p-company-executives__subtitle {
    font-size: 3.2vw;
    padding-left: 0;
  }
}
.p-company-executives__caption {
  text-align: end;
}
@media (max-width: 767px) {
  .p-company-executives__caption {
    font-size: 3.2vw;
    text-align: left;
  }
}
.p-company-executives__table {
  width: 100%;
  max-width: min(1100px, 88.7096774194vw);
  margin: 0 auto;
  overflow-x: auto;
  padding-bottom: min(120px, 9.6774193548vw);
}
@media (max-width: 767px) {
  .p-company-executives__table {
    overflow-x: visible;
    padding-bottom: 16vw;
  }
}
.p-company-executives__table:last-child {
  padding-bottom: 0;
}
@media (max-width: 767px) {
  .p-company-executives__table:last-child {
    padding-bottom: 0;
  }
}
.p-company-executives__table table.pc-only {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  border-top: 1px solid #D8D8D8;
  border-bottom: 1px solid #D8D8D8;
  background: #fff;
}
.p-company-executives__table table.pc-only colgroup col:nth-child(1) {
  width: 23%;
}
.p-company-executives__table table.pc-only colgroup col:nth-child(2) {
  width: 20%;
}
.p-company-executives__table table.pc-only colgroup col:nth-child(3) {
  width: 73%;
}
@media (max-width: 767px) {
  .p-company-executives__table table.pc-only {
    display: none;
  }
}
.p-company-executives__table table.sp-only {
  display: none;
}
@media (max-width: 767px) {
  .p-company-executives__table table.sp-only {
    display: table;
    width: 100%;
    border-collapse: collapse;
    border-top: 1px solid #D8D8D8;
    border-bottom: 1px solid #D8D8D8;
    background: #fff;
  }
}
.p-company-executives__table tr {
  border-bottom: 1px solid #D8D8D8;
}
.p-company-executives__table tr:last-child {
  border-bottom: none;
}
@media (max-width: 767px) {
  .p-company-executives__table tr:has(th:empty) {
    border-bottom: none;
  }
}
.p-company-executives__table th {
  width: 22%;
  padding: min(16px, 1.2903225806vw) min(0px, 0vw) min(14px, 1.1290322581vw) min(20px, 1.6129032258vw);
  font-weight: 400;
  background: #F0F2F6;
  font-size: min(16px, 1.2903225806vw);
  color: #32373C;
  text-align: left;
  line-height: 2;
  vertical-align: top;
}
.p-company-executives__table th[rowspan] {
  vertical-align: top;
}
@media (max-width: 767px) {
  .p-company-executives__table th {
    width: 25%;
    padding: 3.2vw 3.4666666667vw;
    font-size: 3.2vw;
    line-height: 1.5;
    white-space: pre-line;
  }
  .p-company-executives__table th:empty {
    background: #fff;
    border-right: none;
  }
}
.p-company-executives__table td {
  padding: min(10px, 0.8064516129vw) min(20px, 1.6129032258vw);
  background: #fff;
  color: #32373C;
  text-align: left;
  vertical-align: middle;
  line-height: 2;
  border-right: 1px solid #D8D8D8;
}
.p-company-executives__table td:last-child {
  border-right: none;
}
.p-company-executives__table td:first-of-type {
  font-weight: 500;
}
@media (max-width: 767px) {
  .p-company-executives__table td {
    width: 70%;
    padding: 2.6666666667vw 3.7333333333vw;
    font-size: 3.7333333333vw;
    line-height: 1.6;
    vertical-align: middle;
    border-right: none;
  }
}
@media (max-width: 767px) {
  .p-company-executives__table .sp-name,
  .p-company-executives__table .sp-position {
    display: block;
    font-size: 3.7333333333vw;
    line-height: 1.6;
  }
}
@media (max-width: 767px) {
  .p-company-executives__table .sp-name {
    font-weight: 500;
    margin-bottom: 1.0666666667vw;
  }
}
@media (max-width: 767px) {
  .p-company-executives__table .sp-position {
    font-size: 3.4666666667vw;
    font-weight: 400;
  }
}
@media (max-width: 767px) {
  .p-company-executives__space-sp {
    display: block;
  }
}
.p-company-executives__row {
  vertical-align: top !important;
}

.p-company-organization {
  margin-top: min(80px, 6.4516129032vw);
}
@media (max-width: 767px) {
  .p-company-organization {
    margin-top: -4vw;
  }
}

.p-privacy-policy {
  margin-top: min(86px, 6.935483871vw);
}
@media (max-width: 767px) {
  .p-privacy-policy {
    margin-top: 16vw;
  }
}
.p-privacy-policy .pc-only {
  display: block;
}
@media (max-width: 767px) {
  .p-privacy-policy .pc-only {
    display: none;
  }
}
.p-privacy-policy .sp-only {
  display: none;
}
@media (max-width: 767px) {
  .p-privacy-policy .sp-only {
    display: inline;
  }
}
.p-privacy-policy__anchors {
  align-items: center;
  display: flex;
  justify-content: center;
}
@media (max-width: 767px) {
  .p-privacy-policy__anchors {
    padding-left: 0vw;
    padding-right: 0vw;
  }
}
.p-privacy-policy__anchors .c-anchors__list {
  width: min(720px, 58.064516129vw);
  justify-content: center;
}
@media (max-width: 767px) {
  .p-privacy-policy__anchors .c-anchors__list {
    width: 90.6666666667vw;
  }
}
.p-privacy-policy__anchors .c-anchors__item {
  flex: 1;
  min-width: min(360px, 29.0322580645vw);
}
@media (max-width: 767px) {
  .p-privacy-policy__anchors .c-anchors__item {
    min-width: 89.3333333333vw;
  }
}
.p-privacy-policy__text {
  letter-spacing: 0.02em;
  line-height: 200%;
  font-size: min(16px, 1.2903225806vw);
}
@media (max-width: 767px) {
  .p-privacy-policy__text {
    font-size: 3.7333333333vw;
  }
}
.p-privacy-policy__subtitle {
  margin-top: min(20px, 1.6129032258vw);
  margin-bottom: min(10px, 0.8064516129vw);
  letter-spacing: 0.04em;
  font-size: min(24px, 1.935483871vw);
}
.p-privacy-policy__subtitle--last {
  margin-top: min(30px, 2.4193548387vw);
  margin-bottom: max(-10px, -0.8064516129vw);
}
@media (max-width: 767px) {
  .p-privacy-policy__subtitle {
    font-size: 4.8vw;
    margin-top: 8vw;
    margin-bottom: 4.8vw;
  }
}
.p-privacy-policy__right-text {
  margin-top: min(30px, 2.4193548387vw);
  font-weight: 400;
  font-size: min(16px, 1.2903225806vw);
  line-height: 200%;
  letter-spacing: 0.02em;
  text-align: right;
  padding: min(10px, 0.8064516129vw);
  margin-left: auto;
}
@media (max-width: 767px) {
  .p-privacy-policy__right-text {
    font-size: 3.4666666667vw;
    margin-top: 8vw;
    margin-bottom: 2.6666666667vw;
    line-height: 180%;
  }
}
.p-privacy-policy__right-text-line {
  margin: 0;
}
.p-privacy-policy__section-header {
  padding: min(5px, 0.4032258065vw);
  gap: min(12px, 0.9677419355vw);
  background: #f0f2f6;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  margin-bottom: min(10px, 0.8064516129vw);
  margin-top: min(30px, 2.4193548387vw);
}
@media (max-width: 767px) {
  .p-privacy-policy__section-header {
    min-width: 89.3333333333vw;
    min-height: 5.3333333333vw;
    padding: 2.6666666667vw;
    gap: 2.6666666667vw;
    margin-bottom: 2.1333333333vw;
    margin-top: 6.1333333333vw;
    align-items: flex-start;
  }
}
.p-privacy-policy__section-title {
  font-weight: 700;
  font-size: min(20px, 1.6129032258vw);
  line-height: 140%;
  letter-spacing: 0.02em;
  margin: 0;
  display: flex;
  align-items: flex-start;
  gap: min(0px, 0vw);
  padding-left: min(10px, 0.8064516129vw);
}
@media (max-width: 767px) {
  .p-privacy-policy__section-title {
    font-size: 4.2666666667vw;
    line-height: 140%;
    letter-spacing: 0.02em;
    gap: 2.1333333333vw;
    align-items: center;
    padding-left: 1.3333333333vw;
  }
}
.p-privacy-policy__section-number {
  flex-shrink: 0;
}
.p-privacy-policy__section-text {
  flex: 1;
}
@media (max-width: 767px) {
  .p-privacy-policy__section-text {
    width: 65.3333333333vw;
    min-height: 8.8vw;
  }
}
.p-privacy-policy__section-content {
  font-weight: 400;
  font-size: min(16px, 1.2903225806vw);
  line-height: 180%;
  letter-spacing: 0.03em;
}
@media (max-width: 767px) {
  .p-privacy-policy__section-content {
    font-size: 3.7333333333vw;
    line-height: 180%;
    letter-spacing: 0.03em;
    margin-top: 2.6666666667vw;
  }
}
.p-privacy-policy__subsection {
  margin-bottom: min(18px, 1.4516129032vw);
}
.p-privacy-policy__subsection-title {
  font-weight: 400;
}
@media (max-width: 767px) {
  .p-privacy-policy__subsection-title {
    font-size: 3.7333333333vw;
    margin-bottom: 1.3333333333vw;
  }
}
.p-privacy-policy__subsection-text {
  margin-bottom: min(10px, 0.8064516129vw);
  padding-left: min(20px, 1.6129032258vw);
}
@media (max-width: 767px) {
  .p-privacy-policy__subsection-text {
    padding-left: 4.2666666667vw;
    font-size: 3.7333333333vw;
  }
}
.p-privacy-policy__subsection-list {
  padding-left: min(8px, 0.6451612903vw);
  margin: 0;
  list-style: none;
  counter-reset: subsection-counter;
  letter-spacing: 0.04em;
}
@media (max-width: 767px) {
  .p-privacy-policy__subsection-list {
    padding-left: 4.2666666667vw;
  }
}
.p-privacy-policy__subsection-item {
  position: relative;
  padding-left: min(23px, 1.8548387097vw);
  margin-bottom: min(5px, 0.4032258065vw);
  counter-increment: subsection-counter;
}
.p-privacy-policy__subsection-item::before {
  content: counter(subsection-counter) ".";
  position: absolute;
  left: 0;
  min-width: min(20px, 1.6129032258vw);
}
@media (max-width: 767px) {
  .p-privacy-policy__subsection-item {
    padding-left: 5.3333333333vw;
    font-size: 3.7333333333vw;
  }
  .p-privacy-policy__subsection-item::before {
    min-width: 4.8vw;
  }
}
.p-privacy-policy__condition {
  padding-top: min(20px, 1.6129032258vw);
  padding-left: 0;
  margin: 0;
  list-style: none;
  counter-reset: condition-counter;
}
@media (max-width: 767px) {
  .p-privacy-policy__condition {
    font-size: 3.7333333333vw;
    margin-top: 1.3333333333vw;
  }
}
.p-privacy-policy__condition-item {
  position: relative;
  padding-left: min(20px, 1.6129032258vw);
  margin-bottom: min(8px, 0.6451612903vw);
  margin-top: min(8px, 0.6451612903vw);
  letter-spacing: 0.02em;
  counter-increment: condition-counter;
}
.p-privacy-policy__condition-item::before {
  content: counter(condition-counter) ".";
  position: absolute;
  left: 0;
  min-width: min(20px, 1.6129032258vw);
}
@media (max-width: 767px) {
  .p-privacy-policy__condition-item {
    font-size: 3.7333333333vw;
    padding-left: 5.3333333333vw;
  }
  .p-privacy-policy__condition-item::before {
    min-width: 5.3333333333vw;
  }
}
.p-privacy-policy__contact-box {
  gap: min(10px, 0.8064516129vw);
  padding: min(40px, 3.2258064516vw);
  border-radius: min(8px, 0.6451612903vw);
  background: #f8f8f8;
  box-sizing: border-box;
  margin-top: min(28px, 2.2580645161vw);
  margin-bottom: min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .p-privacy-policy__contact-box {
    width: 89.3333333333vw;
    min-height: 62.4vw;
    padding: 5.3333333333vw;
    gap: 2.6666666667vw;
    border-radius: 1.0666666667vw;
  }
}
.p-privacy-policy__contact-content {
  font-weight: 400;
  font-size: min(16px, 1.2903225806vw);
  line-height: 200%;
  letter-spacing: 0.02em;
  margin: 0;
}
@media (max-width: 767px) {
  .p-privacy-policy__contact-content {
    width: 78.6666666667vw;
    min-height: 51.7333333333vw;
    font-size: 3.4666666667vw;
    line-height: 180%;
    letter-spacing: 0.02em;
  }
}
.p-privacy-policy__contact-line {
  margin: 0;
}

.p-customer-harassment__subtitle {
  padding-bottom: min(10px, 0.8064516129vw);
  margin-top: max(-10px, -0.8064516129vw);
  font-size: min(24px, 1.935483871vw);
}
@media (max-width: 767px) {
  .p-customer-harassment__subtitle {
    font-size: 4.8vw;
    margin-top: -5.3333333333vw;
    margin-bottom: 5.3333333333vw;
  }
}
.p-customer-harassment__text {
  line-height: 200%;
  font-size: min(16px, 1.2903225806vw);
  white-space: pre-line;
  font-weight: 400;
  letter-spacing: 0.03em;
  margin-bottom: min(100px, 8.064516129vw);
}
@media (max-width: 767px) {
  .p-customer-harassment__text {
    font-size: 3.7333333333vw;
    margin-bottom: 20vw;
    margin-top: -5.3333333333vw;
  }
}
.p-customer-harassment__list {
  list-style: none;
  padding-left: min(8px, 0.6451612903vw);
  margin: 0;
  margin-bottom: min(120px, 9.6774193548vw);
  letter-spacing: 0.04em;
  font-size: min(16px, 1.2903225806vw);
}
.p-customer-harassment__list li {
  position: relative;
  padding-left: min(15px, 1.2096774194vw);
  margin-bottom: min(8px, 0.6451612903vw);
}
.p-customer-harassment__list li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: inherit;
}
@media (max-width: 767px) {
  .p-customer-harassment__list {
    font-size: 3.7333333333vw;
  }
  .p-customer-harassment__list li {
    padding-left: 5.3333333333vw;
    margin-bottom: 2.1333333333vw;
  }
}
.p-customer-harassment__section {
  margin-top: max(-60px, -4.8387096774vw);
}
@media (max-width: 767px) {
  .p-customer-harassment__section {
    margin-top: -10.6666666667vw;
  }
}
.p-customer-harassment__section-header {
  padding: min(5px, 0.4032258065vw);
  gap: min(12px, 0.9677419355vw);
  background: #f0f2f6;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  margin-bottom: min(10px, 0.8064516129vw);
  margin-top: min(25px, 2.0161290323vw);
}
@media (max-width: 767px) {
  .p-customer-harassment__section-header {
    min-width: 89.3333333333vw;
    min-height: 6.6666666667vw;
    padding: 2.6666666667vw;
    gap: 8vw;
    margin-bottom: 4vw;
    margin-top: 6.1333333333vw;
    align-items: flex-start;
  }
}
.p-customer-harassment__section-title {
  font-weight: 700;
  font-size: min(20px, 1.6129032258vw);
  line-height: 140%;
  letter-spacing: 0.02em;
  margin: 0;
  padding-left: min(10px, 0.8064516129vw);
}
@media (max-width: 767px) {
  .p-customer-harassment__section-title {
    font-size: 4.2666666667vw;
    line-height: 140%;
    letter-spacing: 0.02em;
    padding-left: 1.3333333333vw;
    display: flex;
    flex-direction: column;
  }
}
.p-customer-harassment__note {
  font-size: min(16px, 1.2903225806vw);
  font-weight: 200;
}
@media (max-width: 767px) {
  .p-customer-harassment__note {
    font-size: 2.6666666667vw;
    display: block;
    margin-top: 0vw;
  }
}
.p-customer-harassment__right-text {
  margin-top: min(0px, 0vw);
  font-weight: 400;
  font-size: min(16px, 1.2903225806vw);
  line-height: 200%;
  letter-spacing: 0.02em;
  text-align: right;
  padding: min(10px, 0.8064516129vw);
  margin-left: auto;
}
@media (max-width: 767px) {
  .p-customer-harassment__right-text {
    font-size: 3.4666666667vw;
    margin-top: 8vw;
    margin-bottom: 2.6666666667vw;
    line-height: 180%;
  }
}
.p-customer-harassment__right-text-line {
  margin: 0;
}

.p-ppp-hero {
  margin-bottom: min(120px, 9.6774193548vw);
}
@media (max-width: 767px) {
  .p-ppp-hero {
    margin-bottom: 21.3333333333vw;
  }
}

.p-ppp-feature {
  margin-bottom: min(120px, 9.6774193548vw);
}
@media (max-width: 767px) {
  .p-ppp-feature {
    margin-bottom: 21.3333333333vw;
  }
}
.p-ppp-feature .c-card-overlay {
  height: min(366px, 29.5161290323vw);
}
@media (max-width: 767px) {
  .p-ppp-feature .c-card-overlay {
    flex-direction: column !important;
    height: auto !important;
    max-width: 89.3333333333vw !important;
    margin: 0 auto !important;
  }
}
@media (max-width: 767px) {
  .p-ppp-feature .c-card-overlay__image {
    width: 100% !important;
    height: 47.7333333333vw !important;
    order: 1 !important;
  }
}
@media (max-width: 767px) {
  .p-ppp-feature .c-card-overlay__content {
    width: 100%;
    padding: 7.4666666667vw 4.8vw 7.4666666667vw 4.8vw;
    border-radius: 0 !important;
    border-bottom-left-radius: 2.1333333333vw;
    border-bottom-right-radius: 2.1333333333vw;
    order: 2 !important;
    display: block !important;
  }
}
.p-ppp-feature .c-card-overlay__title {
  width: min(440px, 35.4838709677vw);
  height: min(90px, 7.2580645161vw);
  font-weight: 700;
  font-size: min(29px, 2.3387096774vw);
  line-height: 140%;
  letter-spacing: 0.02em;
}
@media (max-width: 767px) {
  .p-ppp-feature .c-card-overlay__title {
    width: 100%;
    height: auto;
    font-size: 5.3333333333vw;
    margin-bottom: 3.2vw;
  }
}
.p-ppp-feature .c-card-overlay__text {
  width: min(440px, 35.4838709677vw);
}
@media (max-width: 767px) {
  .p-ppp-feature .c-card-overlay__text {
    width: 100%;
    font-size: 3.4666666667vw;
    line-height: 1.7;
    margin-bottom: 5.3333333333vw;
  }
}
@media (max-width: 767px) {
  .p-ppp-feature .c-card-overlay__btn {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
  }
}

.p-ppp-intro {
  margin-top: min(120px, 9.6774193548vw);
}
@media (max-width: 767px) {
  .p-ppp-intro {
    margin-top: 21.3333333333vw;
  }
}
.p-ppp-intro__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .p-ppp-intro__grid {
    grid-template-columns: 1fr;
    gap: 5.3333333333vw;
  }
}
.p-ppp-intro__item {
  border-radius: min(8px, 0.6451612903vw);
  overflow: hidden;
  height: min(220px, 17.7419354839vw);
}
@media (max-width: 767px) {
  .p-ppp-intro__item {
    border-radius: 2.1333333333vw;
    height: 37.0666666667vw;
  }
}
.p-ppp-intro__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.p-ppp-intro__link {
  position: relative;
  display: block;
  height: 100%;
}
.p-ppp-intro__link:hover .p-ppp-intro__image img {
  transform: scale(1.05);
}
.p-ppp-intro__content {
  position: absolute;
  bottom: min(20px, 1.6129032258vw);
  left: 0;
  width: min(200px, 16.1290322581vw);
  height: min(48px, 3.8709677419vw);
  display: flex;
  align-items: center;
  padding-left: min(20px, 1.6129032258vw);
  padding-right: min(10px, 0.8064516129vw);
  background: rgba(255, 255, 255, 0.65);
  backdrop-filter: blur(5px);
  border-top-right-radius: min(8px, 0.6451612903vw);
  border-bottom-right-radius: min(8px, 0.6451612903vw);
}
@media (max-width: 767px) {
  .p-ppp-intro__content {
    bottom: 4.2666666667vw;
    width: 48vw;
    height: 10.6666666667vw;
    padding-left: 3.2vw;
    padding-right: 1.3333333333vw;
    border-top-right-radius: 2.1333333333vw;
    border-bottom-right-radius: 2.1333333333vw;
  }
}
.p-ppp-intro__title {
  font-weight: 700;
  font-size: min(20px, 1.6129032258vw);
  line-height: 220%;
  letter-spacing: 0.02em;
  display: flex;
  align-items: center;
  gap: min(37px, 2.9838709677vw);
}
@media (max-width: 767px) {
  .p-ppp-intro__title {
    font-size: 4.2666666667vw;
    line-height: 140%;
    letter-spacing: 0.02em;
    gap: 13.8666666667vw;
  }
}
.p-ppp-intro__title::after {
  content: "";
  display: inline-block;
  width: min(6px, 0.4838709677vw);
  height: min(10px, 0.8064516129vw);
  background-image: url("../images/common/arrow-black.svg");
  background-size: contain;
  background-repeat: no-repeat;
  flex-shrink: 0;
}
@media (max-width: 767px) {
  .p-ppp-intro__title::after {
    width: 1.6vw;
    height: 2.6666666667vw;
  }
}

.p-ppp-features-box {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .p-ppp-features-box {
    flex-direction: column-reverse;
    gap: 2.1333333333vw 0;
  }
}
.p-ppp-features-box__item {
  width: 65.4545454545%;
}
@media (max-width: 767px) {
  .p-ppp-features-box__item {
    width: 100%;
  }
}
.p-ppp-features-box__desc {
  margin-bottom: min(40px, 3.2258064516vw);
  line-height: 200%;
  letter-spacing: 0.32px;
}
.p-ppp-features-box__notes {
  font-size: min(12px, 0.9677419355vw);
  letter-spacing: 0.24px;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-ppp-features-box__notes {
    font-size: min(14px, 1.1290322581vw);
  }
}
@media (max-width: 767px) {
  .p-ppp-features-box__notes {
    font-size: 2.6666666667vw;
  }
}
.p-ppp-features-box__image {
  width: 27.2727272727%;
}
@media (max-width: 767px) {
  .p-ppp-features-box__image {
    width: 100%;
    margin-bottom: 4vw;
    text-align: center;
  }
}
.p-ppp-features-box__image img {
  width: 53.3333333333vw;
  border-radius: min(4px, 0.3225806452vw);
}
@media (max-width: 767px) {
  .p-ppp-features-box__image img {
    border-radius: 1.0666666667vw;
  }
}
.p-ppp-features-box__image-caption {
  margin-top: min(15px, 1.2096774194vw);
  font-weight: 500;
  font-size: min(18px, 1.4516129032vw);
  line-height: 200%;
  letter-spacing: 0.32px;
}
@media (max-width: 767px) {
  .p-ppp-features-box__image-caption {
    margin-top: 2.6666666667vw;
    font-size: 3.7333333333vw;
  }
}
.p-ppp-features-box a {
  color: #0052A4;
}

.p-ppp-features-image {
  margin-bottom: min(75px, 6.0483870968vw);
}
@media (max-width: 767px) {
  .p-ppp-features-image {
    margin-bottom: 10.6666666667vw;
  }
}

.p-ppp-features-points__item:nth-child(1) .p-ppp-features-points__title {
  background: linear-gradient(90deg, rgba(66, 211, 255, 0.4) 0%, rgba(252, 183, 205, 0.4) 100%);
}
.p-ppp-features-points__item:nth-child(2) .p-ppp-features-points__title {
  background: linear-gradient(90deg, rgba(66, 211, 255, 0.4) 0%, rgba(249, 238, 178, 0.4) 100%);
}
.p-ppp-features-points__item:nth-child(3) .p-ppp-features-points__title {
  background: linear-gradient(90deg, rgba(66, 211, 255, 0.4) 0%, rgba(124, 241, 194, 0.4) 100%);
}
.p-ppp-features-points__item:not(:last-of-type) {
  margin-bottom: min(75px, 6.0483870968vw);
}
.p-ppp-features-points__content + .p-ppp-features-points__content {
  margin-top: min(130px, 10.4838709677vw);
}
.p-ppp-features-points__title {
  display: flex;
  align-items: center;
  max-width: min(1100px, 88.7096774194vw);
  margin-bottom: min(40px, 3.2258064516vw);
  padding: min(8px, 0.6451612903vw) min(20px, 1.6129032258vw);
  font-size: min(24px, 1.935483871vw);
  font-weight: 700;
  letter-spacing: 0.48px;
}
@media (max-width: 767px) {
  .p-ppp-features-points__title {
    margin-bottom: 6.1333333333vw;
    padding: 2.6666666667vw;
    font-size: 4.8vw;
  }
}
.p-ppp-features-points__title .strong {
  position: relative;
  display: flex;
  align-items: center;
}
@media (max-width: 767px) {
  .p-ppp-features-points__title .strong {
    flex-direction: column;
    justify-content: center;
    font-size: 3.4666666667vw;
  }
}
.p-ppp-features-points__title .num {
  position: relative;
  margin-right: 20px;
  padding-right: 20px;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: min(44px, 3.5483870968vw);
  font-style: italic;
  font-weight: 400;
  letter-spacing: 1.32px;
  line-height: 1;
}
@media (max-width: 767px) {
  .p-ppp-features-points__title .num {
    padding-right: 0;
    font-size: 9.6vw;
  }
}
@media (min-width: 768px) {
  .p-ppp-features-points__title .num::after {
    display: inline-block;
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 1px;
    height: calc(100% - 10px);
    transform: translateY(-50%);
    background-color: #32373C;
  }
}
.p-ppp-features-points__title .title {
  position: relative;
  flex: 1;
}
@media (max-width: 767px) {
  .p-ppp-features-points__title .title {
    padding-left: 12px;
  }
}
@media (max-width: 767px) {
  .p-ppp-features-points__title .title::before {
    display: inline-block;
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 1px;
    height: calc(100% - 10px);
    transform: translateY(-50%);
    background-color: #32373C;
  }
}
.p-ppp-features-points__sub-title {
  margin-bottom: min(20px, 1.6129032258vw);
  font-size: min(20px, 1.6129032258vw);
  font-weight: 700;
  letter-spacing: 0.4px;
  line-height: 140%;
}
@media (max-width: 767px) {
  .p-ppp-features-points__sub-title {
    font-size: 4.2666666667vw;
  }
}
.p-ppp-features-points__desc {
  margin-bottom: min(40px, 3.2258064516vw);
  line-height: 200%;
}
@media (max-width: 767px) {
  .p-ppp-features-points__desc {
    margin-bottom: 6.6666666667vw;
  }
}
.p-ppp-features-points__related {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0 min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .p-ppp-features-points__related {
    grid-template-columns: 1fr;
    gap: 7.4666666667vw 0;
  }
}
.p-ppp-features-points__related__item {
  text-align: center;
}
.p-ppp-features-points__related__item-visual {
  margin-bottom: min(28px, 2.2580645161vw);
  border-radius: min(4px, 0.3225806452vw);
  overflow: hidden;
}
@media (max-width: 767px) {
  .p-ppp-features-points__related__item-visual {
    margin-bottom: 4vw;
    border-radius: 1.0666666667vw;
  }
}
.p-ppp-features-points__related__item-action .c-button {
  padding-right: min(30px, 2.4193548387vw);
  padding-left: min(30px, 2.4193548387vw);
}
.p-ppp-features-points__text {
  max-width: 100%;
}
@media (max-width: 767px) {
  .p-ppp-features-points__text {
    width: 88vw;
  }
}
.p-ppp-features-points__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .p-ppp-features-points__cards {
    grid-template-columns: repeat(1, 1fr);
    gap: 6.4vw;
  }
}
.p-ppp-features-points__cards .newmark {
  display: none;
}
.p-ppp-features-points__cards .p-voice-card__item {
  width: 100%;
}

.p-result-modal .p-post__content {
  margin-top: 0;
}

.p-result-card {
  display: flex;
  flex-direction: column;
  gap: min(12px, 0.9677419355vw);
  text-align: left;
  width: 100%;
}
@media (max-width: 767px) {
  .p-result-card {
    gap: 3.2vw;
  }
}
.p-result-card:not(.is-disabled) {
  cursor: pointer;
}
.p-result-card:not(.is-disabled):hover .p-result-card__thumb > img {
  transform: scale(1.05);
}
.p-result-card__thumb {
  position: relative;
  aspect-ratio: 340/192;
  overflow: hidden;
}
@media (max-width: 767px) {
  .p-result-card__thumb {
    width: 89.3333333333vw;
  }
}
.p-result-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
  border-radius: min(4px, 0.3225806452vw);
}
@media (max-width: 767px) {
  .p-result-card__thumb img {
    border-radius: 1.0666666667vw;
  }
}
.p-result-card__modal-icon {
  position: absolute;
  bottom: min(12px, 0.9677419355vw);
  right: min(12px, 0.9677419355vw);
}
@media (max-width: 767px) {
  .p-result-card__modal-icon {
    bottom: 3.2vw;
    right: 3.2vw;
  }
}
.p-result-card__modal-icon img {
  width: min(48px, 3.8709677419vw);
  height: min(48px, 3.8709677419vw);
}
@media (max-width: 767px) {
  .p-result-card__modal-icon img {
    width: 12.8vw;
    height: 12.8vw;
  }
}

.p-result-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .p-result-cards {
    grid-template-columns: repeat(1, 1fr);
    gap: 6.4vw;
  }
}

.p-result-filter {
  background: #F0F2F6;
  padding: min(40px, 3.2258064516vw) min(60px, 4.8387096774vw) min(48px, 3.8709677419vw);
  border-radius: min(8px, 0.6451612903vw);
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
}
@media (max-width: 767px) {
  .p-result-filter {
    padding: 10.6666666667vw 0vw;
    border-radius: 2.1333333333vw;
  }
}
.p-result-filter__form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: min(80px, 6.4516129032vw);
  row-gap: min(16px, 1.2903225806vw);
  align-items: end;
  position: relative;
}
@media (max-width: 767px) {
  .p-result-filter__form {
    grid-template-columns: 1fr;
    column-gap: 0;
    row-gap: 14.9333333333vw;
  }
}
.p-result-filter__form .c-form__select-control {
  display: block;
  width: 100%;
}
.p-result-filter__row {
  position: relative;
  display: block;
}
.p-result-filter__row:first-of-type::after {
  content: "";
  background-color: #D8D8D8;
  width: 1px;
  height: 100%;
  position: absolute;
  top: 0;
  right: max(-40px, -3.2258064516vw);
}
@media (max-width: 767px) {
  .p-result-filter__row:first-of-type::after {
    top: auto;
    left: 0;
    bottom: -8.5333333333vw;
    width: 100%;
    height: 1px;
  }
}
.p-result-filter__label {
  display: block;
  color: #32373C;
  font-size: min(16px, 1.2903225806vw);
  line-height: 1.6;
  margin-bottom: min(8px, 0.6451612903vw);
}
@media (max-width: 767px) {
  .p-result-filter__label {
    font-size: 3.4666666667vw;
    line-height: 1.8;
    margin-bottom: 2.1333333333vw;
  }
}
.p-result-filter__select-wrap {
  position: relative;
  border-radius: min(4px, 0.3225806452vw);
  overflow: hidden;
  background: #FFFFFF;
}
@media (max-width: 767px) {
  .p-result-filter__select-wrap {
    border-radius: 1.0666666667vw;
  }
}
.p-result-filter__select-wrap::after {
  content: "";
  position: absolute;
  top: 50%;
  right: min(12px, 0.9677419355vw);
  width: min(6px, 0.4838709677vw);
  height: min(6px, 0.4838709677vw);
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
  pointer-events: none;
  z-index: 2;
}
@media (max-width: 767px) {
  .p-result-filter__select-wrap::after {
    right: 4.2666666667vw;
    width: 1.6vw;
    height: 1.6vw;
  }
}
.p-result-filter__select-wrap::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(40px, 3.2258064516vw);
  background: #32373C;
  pointer-events: none;
}
@media (max-width: 767px) {
  .p-result-filter__select-wrap::before {
    width: 14.9333333333vw;
  }
}
.p-result-filter__actions {
  grid-column: 2/3;
  justify-self: end;
  align-self: start;
}
@media (max-width: 767px) {
  .p-result-filter__actions {
    grid-column: 1/-1;
    justify-self: stretch;
  }
}
.p-result-filter__count {
  margin-top: min(32px, 2.5806451613vw);
  margin-bottom: min(32px, 2.5806451613vw);
  font-weight: 500;
  font-size: 3.7333333333vw;
}
@media (min-width: 768px) {
  .p-result-filter__count {
    font-size: clamp(14px, 1.4516129032vw, 18px);
  }
}
@media (max-width: 767px) {
  .p-result-filter__count {
    margin-top: 6.4vw;
    margin-bottom: 6.4vw;
  }
}

.p-sustainability-hero {
  background: url("../images/sustainability/top/hero-pc.jpg") no-repeat top center/cover;
}
@media (max-width: 767px) {
  .p-sustainability-hero {
    background: url("../images/sustainability/top/hero-sp.jpg") no-repeat top center/cover;
  }
}

.p-sustainability-text {
  line-height: 2;
}
.p-sustainability-text.pst-w800 {
  width: min(800px, 64.5161290323vw);
}
@media (max-width: 767px) {
  .p-sustainability-text.pst-w800 {
    width: 100%;
  }
}
.p-sustainability-text.pst-environmental {
  margin-bottom: min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .p-sustainability-text.pst-environmental {
    margin-bottom: 9.6vw;
  }
}
.p-sustainability-text.pst-social {
  margin-bottom: min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .p-sustainability-text.pst-social {
    margin-bottom: 6.4vw;
  }
}
.p-sustainability-text.pst-governance {
  margin-top: min(60px, 4.8387096774vw);
}
@media (max-width: 767px) {
  .p-sustainability-text.pst-governance {
    margin-top: 9.6vw;
  }
}
.p-sustainability-text--large {
  font-size: min(18px, 1.4516129032vw);
  font-weight: 500;
  margin-bottom: min(20px, 1.6129032258vw);
}
@media (max-width: 767px) {
  .p-sustainability-text--large {
    font-size: 3.7333333333vw;
    margin-bottom: 3.2vw;
  }
}
.p-sustainability-image.psi-w900 {
  width: min(900px, 72.5806451613vw);
  margin: 0 auto;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-sustainability-image.psi-w900 {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .p-sustainability-image.psi-w900 {
    width: 100%;
  }
}
.p-sustainability-image.psi-w1000 {
  width: min(1000px, 80.6451612903vw);
  margin: 0 auto;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-sustainability-image.psi-w1000 {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .p-sustainability-image.psi-w1000 {
    width: 100%;
  }
}
.p-sustainability-boxs {
  display: flex;
  flex-direction: column;
  gap: min(100px, 8.064516129vw) 0;
}
@media (max-width: 767px) {
  .p-sustainability-boxs {
    gap: 16vw 0;
  }
}
.p-sustainability-boxs.psbs-priorities-workplace {
  gap: min(80px, 6.4516129032vw) 0;
}
@media (max-width: 767px) {
  .p-sustainability-boxs.psbs-priorities-workplace {
    gap: 12.8vw 0;
  }
}
.p-sustainability-boxs.psbs-priorities-contribution {
  gap: min(80px, 6.4516129032vw) 0;
}
@media (max-width: 767px) {
  .p-sustainability-boxs.psbs-priorities-contribution {
    gap: 16vw 0;
  }
}
.p-sustainability-boxs.psbs-priorities-care {
  gap: min(80px, 6.4516129032vw) 0;
}
@media (max-width: 767px) {
  .p-sustainability-boxs.psbs-priorities-care {
    gap: 16vw 0;
  }
}
.p-sustainabilityTop .p-sustainability-boxs {
  gap: min(60px, 4.8387096774vw) 0;
}
@media (max-width: 767px) {
  .p-sustainabilityTop .p-sustainability-boxs {
    gap: 5.8666666667vw 0;
  }
}
.p-sustainability-box {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .p-sustainability-box {
    flex-direction: column;
    gap: 2.1333333333vw 0;
  }
}
@media (max-width: 767px) {
  .p-sustainabilityTop .p-sustainability-box {
    gap: 5.8666666667vw;
  }
}
.p-sustainability-box.psb-talent {
  margin-top: min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .p-sustainability-box.psb-talent {
    margin-top: 8.5333333333vw;
    gap: 4.8vw 0;
  }
}
.p-sustainability-box.psbi-reverse {
  flex-direction: row-reverse;
}
@media (max-width: 767px) {
  .p-sustainability-box.psbi-reverse {
    flex-direction: column;
  }
}
.p-sustainability-box__item.psbi-w600 {
  width: 54.5454545455%;
}
@media (max-width: 767px) {
  .p-sustainability-box__item.psbi-w600 {
    width: 100%;
  }
}
.p-sustainability-box__item.psbi-safety {
  width: 56.3636363636%;
}
@media (max-width: 767px) {
  .p-sustainability-box__item.psbi-safety {
    width: 100%;
    margin-bottom: 5.3333333333vw;
  }
}
.p-sustainability-box__item.psbi-w400 {
  width: 36.3636363636%;
}
@media (max-width: 767px) {
  .p-sustainability-box__item.psbi-w400 {
    width: 100%;
  }
}
.p-sustainability-box__item.psbi-w420 {
  width: 38.1818181818%;
}
@media (max-width: 767px) {
  .p-sustainability-box__item.psbi-w420 {
    width: 100%;
  }
}
.p-sustainability-box__item.psbi-w426 {
  width: 38.7272727273%;
}
@media (max-width: 767px) {
  .p-sustainability-box__item.psbi-w426 {
    width: 100%;
  }
}
.p-sustainability-box__item.psbi-w430 {
  width: 39.0909090909%;
}
@media (max-width: 767px) {
  .p-sustainability-box__item.psbi-w430 {
    width: 100%;
  }
}
.p-sustainability-box__item.psbi-w440 {
  width: 40%;
}
@media (max-width: 767px) {
  .p-sustainability-box__item.psbi-w440 {
    width: 100%;
  }
}
.p-sustainability-box__item.psbi-w500 {
  width: 45.4545454545%;
}
@media (max-width: 767px) {
  .p-sustainability-box__item.psbi-w500 {
    width: 100%;
  }
}
.p-sustainability-box__item.psbi-w540 {
  width: 49.0909090909%;
}
@media (max-width: 767px) {
  .p-sustainability-box__item.psbi-w540 {
    width: 100%;
  }
}
.p-sustainability-box__item.psbi-w545 {
  width: 49.5454545455%;
}
@media (max-width: 767px) {
  .p-sustainability-box__item.psbi-w545 {
    width: 100%;
  }
}
.p-sustainability-box__item.psbi-w550 {
  width: 50%;
}
@media (max-width: 767px) {
  .p-sustainability-box__item.psbi-w550 {
    width: 100%;
  }
}
.p-sustainability-box__item.psbi-image {
  margin-top: min(12px, 0.9677419355vw);
}
@media (max-width: 767px) {
  .p-sustainability-box__item.psbi-image {
    margin-top: 0;
  }
}
.p-sustainability-box__item.psbi-image img {
  width: 100%;
  border-radius: min(4px, 0.3225806452vw);
}
@media (max-width: 767px) {
  .p-sustainability-box__item.psbi-image img {
    border-radius: 1.0666666667vw;
  }
}
.p-sustainability-box__item.psbi-image figcaption {
  margin-top: min(12px, 0.9677419355vw);
}
@media (max-width: 767px) {
  .p-sustainability-box__item.psbi-image figcaption {
    margin-top: 2.1333333333vw;
  }
}
@media (max-width: 767px) {
  .p-sustainability-box__item.psbi-contents {
    display: contents;
  }
}
.p-sustainability-box__heading {
  font-size: min(24px, 1.935483871vw);
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: min(20px, 1.6129032258vw);
}
@media (max-width: 767px) {
  .p-sustainability-box__heading {
    font-size: 5.3333333333vw;
    margin-bottom: 2.1333333333vw;
  }
}
.p-sustainability-box__desc {
  font-size: min(16px, 1.2903225806vw);
  font-weight: 400;
  line-height: 2;
}
@media (max-width: 767px) {
  .p-sustainability-box__desc {
    font-size: 3.4666666667vw;
    margin-top: 2.1333333333vw;
  }
}
.p-sustainabilityTop .p-sustainability-box__desc {
  font-size: min(18px, 1.4516129032vw);
  font-weight: 500;
}
@media (max-width: 767px) {
  .p-sustainabilityTop .p-sustainability-box__desc {
    font-size: 3.7333333333vw;
    margin-top: 0vw;
  }
}
.p-sustainability-box__button {
  margin-top: min(32px, 2.5806451613vw);
}
@media (max-width: 767px) {
  .p-sustainability-box__button {
    margin-top: 5.8666666667vw;
    text-align: center;
  }
}
@media (max-width: 767px) {
  .p-sustainability-box__button.psbb-solution {
    margin-bottom: 8.5333333333vw;
  }
}
@media (max-width: 767px) {
  .p-sustainability-box__button.psbb-lcm {
    margin-bottom: 9.0666666667vw;
  }
}
.p-sustainability-box__button a[target=_blank]::after {
  background-image: url("../images/common/icons/icon-external.svg");
  width: min(12px, 0.9677419355vw);
  height: min(24px, 1.935483871vw);
  right: min(18px, 1.4516129032vw);
}
@media (max-width: 767px) {
  .p-sustainability-box__button a[target=_blank]::after {
    width: 2.4vw;
    height: 5.3333333333vw;
    right: 3.7333333333vw;
  }
}
.p-sustainability-box__button a[target=_blank]:hover::after {
  background-image: url("../images/common/icons/icon-external-black.svg");
}
.p-sustainability-box .psbi-sort-1 {
  order: 1;
}
.p-sustainability-box .psbi-sort-2 {
  order: 2;
}
.p-sustainability-box .psbi-sort-3 {
  order: 3;
}
.p-sustainability-box .psbi-sort-4 {
  order: 4;
}
.p-sustainabilityTop.l-main--no-bottom .c-breadcrumb {
  position: absolute;
  background-color: transparent;
}
.p-sustainability-leadLarge {
  font-size: min(32px, 2.5806451613vw);
  font-weight: 700;
  line-height: 1.4;
  margin-top: min(44px, 3.5483870968vw);
  margin-bottom: min(36px, 2.9032258065vw);
}
@media (max-width: 767px) {
  .p-sustainability-leadLarge {
    font-size: 6.4vw;
    margin-top: 7.4666666667vw;
    margin-bottom: 4.8vw;
  }
}
.p-sustainability-esgitems {
  display: flex;
  flex-direction: column;
  gap: min(30px, 2.4193548387vw) 0;
  margin-top: min(48px, 3.8709677419vw);
}
@media (max-width: 767px) {
  .p-sustainability-esgitems {
    gap: 9.6vw 0;
    text-align: center;
    margin-top: 6.9333333333vw;
  }
}
.p-sustainability-esgitems .c-card-overlay {
  border-radius: min(8px, 0.6451612903vw);
}
@media (max-width: 767px) {
  .p-sustainability-esgitems .c-card-overlay {
    border-radius: 2.1333333333vw;
  }
}
.p-sustainability-next {
  margin-top: min(60px, 4.8387096774vw);
  text-align: center;
}
@media (max-width: 767px) {
  .p-sustainability-next {
    margin-top: 10.6666666667vw;
  }
}
.p-sustainability-next.psn-flex {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 min(20px, 1.6129032258vw);
}
@media (max-width: 767px) {
  .p-sustainability-next.psn-flex {
    flex-direction: column;
    gap: 4.2666666667vw 0;
  }
}
@media (max-width: 767px) {
  .p-sustainability-next.psn-flex .c-button {
    width: 76.2666666667vw;
  }
}
.p-sustainability-priority {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0 min(32px, 2.5806451613vw);
}
@media (max-width: 767px) {
  .p-sustainability-priority {
    grid-template-columns: 1fr;
    gap: 7.4666666667vw 0;
  }
}
.p-sustainability-priority__item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  gap: min(24px, 1.935483871vw) 0;
  background-color: #F0F2F6;
  padding: min(32px, 2.5806451613vw) 0 min(42px, 3.3870967742vw);
  border-radius: min(4px, 0.3225806452vw);
}
@media (max-width: 767px) {
  .p-sustainability-priority__item {
    gap: 5.3333333333vw 0;
    border-radius: 1.0666666667vw;
    width: 100%;
    padding: 8.5333333333vw 0 11.2vw;
  }
}
.p-sustainability-priority__goals {
  display: flex;
  justify-content: center;
  gap: 0 min(4px, 0.3225806452vw);
}
@media (max-width: 767px) {
  .p-sustainability-priority__goals {
    gap: 0 1.0666666667vw;
  }
}
.p-sustainability-priority__goals img {
  width: min(72px, 5.8064516129vw);
  height: 100%;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-sustainability-priority__goals img {
    width: min(42px, 5.46875vw);
  }
}
@media (max-width: 767px) {
  .p-sustainability-priority__goals img {
    width: 19.2vw;
  }
}
.p-sustainability-priority__heading {
  font-size: min(24px, 1.935483871vw);
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
@media (max-width: 767px) {
  .p-sustainability-priority__heading {
    font-size: 4.8vw;
  }
}
.p-sustainability-priority__text {
  line-height: 1.8;
  padding: 0 min(23px, 1.8548387097vw);
  text-align: left;
}
@media (max-width: 767px) {
  .p-sustainability-priority__text {
    padding: 0 8.5333333333vw;
  }
}
.p-sustainability-priority__button {
  width: min(270px, 21.7741935484vw);
  margin: 0 auto;
}
@media (max-width: 767px) {
  .p-sustainability-priority__button {
    width: 72vw;
  }
}
.p-sustainability-bottom {
  margin-top: min(120px, 9.6774193548vw);
  background-color: #F8F8F8;
}
@media (max-width: 767px) {
  .p-sustainability-bottom {
    margin-top: 21.3333333333vw;
  }
}
.p-sustainability-related {
  padding-bottom: min(160px, 12.9032258065vw);
}
@media (max-width: 767px) {
  .p-sustainability-related {
    padding-bottom: 32vw;
  }
}
.p-sustainability-future {
  background-image: url("../images/sustainability/sustainability-policy/policy-pc.jpg");
  background-size: cover;
  background-position: center top;
  text-align: center;
  padding: min(54px, 4.3548387097vw) 0 min(58px, 4.6774193548vw);
  margin-top: min(28px, 2.2580645161vw);
  border-radius: min(4px, 0.3225806452vw);
}
@media (max-width: 767px) {
  .p-sustainability-future {
    background-image: url("../images/sustainability/sustainability-policy/policy-sp.jpg");
    padding: 14.4vw 0 12.8vw;
    margin-top: 5.8666666667vw;
    border-radius: 1.0666666667vw;
  }
}
.p-sustainability-future__heading {
  color: #fff;
  font-size: min(24px, 1.935483871vw);
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: min(24px, 1.935483871vw);
}
@media (max-width: 767px) {
  .p-sustainability-future__heading {
    font-size: 4.8vw;
    margin-bottom: 3.7333333333vw;
  }
}
.p-sustainability-future__desc {
  color: #fff;
  line-height: 2;
}
@media (max-width: 767px) {
  .p-sustainability-future__desc {
    text-align: left;
    padding: 0 4.8vw 0 5.6vw;
  }
}
.p-sustainability-future__topics {
  display: flex;
  justify-content: center;
  gap: 0 min(42px, 3.3870967742vw);
  margin-top: min(24px, 1.935483871vw);
}
@media (max-width: 767px) {
  .p-sustainability-future__topics {
    flex-wrap: wrap;
    gap: 0 4vw;
    margin-top: 5.8666666667vw;
  }
}
.p-sustainability-future__topic {
  position: relative;
  width: min(200px, 16.1290322581vw);
  height: min(200px, 16.1290322581vw);
  border-radius: min(100px, 8.064516129vw);
  background-color: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(8px);
}
@media (max-width: 767px) {
  .p-sustainability-future__topic {
    width: 37.3333333333vw;
    height: 37.3333333333vw;
    border-radius: 18.6666666667vw;
  }
}
@media (max-width: 767px) {
  .p-sustainability-future__topic:first-child {
    margin: 0 10.6666666667vw;
  }
}
@media (max-width: 767px) {
  .p-sustainability-future__topic:nth-child(n+2) {
    margin-top: -0.8vw;
  }
}
.p-sustainability-future__topicicon {
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.p-sustainability-future__topicicon.psfi-w69 {
  width: min(69px, 5.564516129vw);
}
@media (max-width: 767px) {
  .p-sustainability-future__topicicon.psfi-w69 {
    width: 16.5333333333vw;
  }
}
.p-sustainability-future__topicicon.psfi-w85 {
  width: min(85px, 6.8548387097vw);
}
@media (max-width: 767px) {
  .p-sustainability-future__topicicon.psfi-w85 {
    width: 20.2666666667vw;
  }
}
.p-sustainability-future__topicicon.psfi-w66 {
  width: min(66px, 5.3225806452vw);
}
@media (max-width: 767px) {
  .p-sustainability-future__topicicon.psfi-w66 {
    width: 15.4666666667vw;
  }
}
.p-sustainability-future__topictext {
  position: absolute;
  top: 68%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: min(18px, 1.4516129032vw);
  font-weight: 700;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .p-sustainability-future__topictext {
    font-size: 3.7333333333vw;
  }
}
.p-sustainability-figureArea {
  margin-top: min(48px, 3.8709677419vw);
  margin-bottom: min(48px, 3.8709677419vw);
}
@media (max-width: 767px) {
  .p-sustainability-figureArea {
    margin-top: 7.4666666667vw;
    margin-bottom: 6.4vw;
  }
}
.p-sustainability-figureArea__heading {
  font-size: min(28px, 2.2580645161vw);
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: min(24px, 1.935483871vw);
  text-align: center;
}
@media (max-width: 767px) {
  .p-sustainability-figureArea__heading {
    font-size: 4.8vw;
    margin-top: 6.4vw;
    margin-bottom: 3.2vw;
    text-align: left;
  }
}
.p-sustainability-phrase {
  font-size: min(24px, 1.935483871vw);
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: min(12px, 0.9677419355vw);
}
@media (max-width: 767px) {
  .p-sustainability-phrase {
    font-size: 4.8vw;
    margin-bottom: 3.2vw;
  }
}
.p-sustainability-ul {
  line-height: 2;
  margin-left: 1.6em;
}
@media (max-width: 767px) {
  .p-sustainability-ul {
    margin-left: 5.8666666667vw;
  }
}
.p-sustainability-ul.psu-environmental {
  margin-top: min(24px, 1.935483871vw);
  margin-bottom: min(24px, 1.935483871vw);
}
@media (max-width: 767px) {
  .p-sustainability-ul.psu-environmental {
    margin-top: 3.2vw;
    margin-bottom: 3.2vw;
  }
}
.p-sustainability-ul li {
  list-style: disc;
}
@media (max-width: 767px) {
  .p-sustainability-ul li {
    margin-top: 0.5333333333vw;
  }
}
.p-sustainability-ol {
  line-height: 2;
  margin-left: 1.4em;
}
.p-sustainability-ol li {
  list-style-type: decimal;
}
.p-sustainability-category__heading {
  font-size: min(24px, 1.935483871vw);
  font-weight: 700;
  line-height: 1.4;
  margin-top: min(60px, 4.8387096774vw);
  margin-bottom: min(22px, 1.7741935484vw);
}
@media (max-width: 767px) {
  .p-sustainability-category__heading {
    font-size: 4.8vw;
    margin-top: 9.6vw;
    margin-bottom: 3.2vw;
  }
}
.p-sustainability-category__heading.psc-social {
  margin-top: min(60px, 4.8387096774vw);
  margin-bottom: min(22px, 1.7741935484vw);
}
@media (max-width: 767px) {
  .p-sustainability-category__heading.psc-social {
    margin-top: 9.6vw;
    margin-bottom: 3.2vw;
  }
}
.p-sustainability-category__heading.psc-social-first {
  margin-top: min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .p-sustainability-category__heading.psc-social-first {
    margin-top: 10.6666666667vw;
  }
}
.p-sustainability-category__heading.psch-governance1 {
  font-size: min(28px, 2.2580645161vw);
  margin-top: min(36px, 2.9032258065vw);
  margin-bottom: min(22px, 1.7741935484vw);
}
@media (max-width: 767px) {
  .p-sustainability-category__heading.psch-governance1 {
    font-size: 5.3333333333vw;
    margin-top: 9.6vw;
    margin-bottom: 3.2vw;
  }
}
.p-sustainability-category__heading.psch-governance2 {
  font-size: min(28px, 2.2580645161vw);
  margin-top: min(26px, 2.0967741935vw);
  margin-bottom: min(8px, 0.6451612903vw);
}
@media (max-width: 767px) {
  .p-sustainability-category__heading.psch-governance2 {
    font-size: 5.3333333333vw;
    margin-top: 3.7333333333vw;
    margin-bottom: 1.6vw;
  }
}
.p-sustainability-category__heading.psch-governance2-first {
  margin-top: min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .p-sustainability-category__heading.psch-governance2-first {
    margin-top: 10.6666666667vw;
  }
}
.p-sustainability-lines {
  margin-bottom: min(12px, 0.9677419355vw);
}
@media (max-width: 767px) {
  .p-sustainability-lines {
    margin-bottom: 3.2vw;
  }
}
.p-sustainability-line {
  display: flex;
  align-items: center;
  gap: 0 min(120px, 9.6774193548vw);
  padding: min(8px, 0.6451612903vw) 0 min(16px, 1.2903225806vw);
  border-top: 1px solid #D8D8D8;
}
@media (max-width: 767px) {
  .p-sustainability-line {
    gap: 0;
    padding: 3.2vw 0 3.2vw;
    justify-content: space-between;
  }
}
.p-sustainability-line img {
  width: min(180px, 14.5161290323vw);
}
@media (max-width: 767px) {
  .p-sustainability-line img {
    width: 32vw;
  }
}
.p-sustainability-line p {
  flex-grow: 1;
}
@media (max-width: 767px) {
  .p-sustainability-line p {
    flex-grow: initial;
    width: 52vw;
  }
}
.p-sustainability-line:last-child {
  border-bottom: 1px solid #D8D8D8;
  margin-bottom: min(16px, 1.2903225806vw);
}
.p-sustainability-examples {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: min(60px, 4.8387096774vw) min(100px, 8.064516129vw);
}
@media (max-width: 767px) {
  .p-sustainability-examples {
    grid-template-columns: 1fr;
    gap: 6.4vw 0;
  }
}
.p-sustainability-example {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: min(20px, 1.6129032258vw);
}
@media (max-width: 767px) {
  .p-sustainability-example {
    gap: 3.2vw 0;
  }
}
.p-sustainability-example h4 {
  font-size: min(18px, 1.4516129032vw);
  font-weight: 500;
}
@media (max-width: 767px) {
  .p-sustainability-example h4 {
    font-size: 3.7333333333vw;
  }
}
.p-sustainability-example h4 .additional {
  display: block;
  font-size: min(16px, 1.2903225806vw);
  font-weight: 400;
}
@media (max-width: 767px) {
  .p-sustainability-example h4 .additional {
    font-size: 3.4666666667vw;
  }
}
.p-sustainability-example img {
  width: min(540px, 43.5483870968vw);
  margin: 0 auto;
}
@media (max-width: 767px) {
  .p-sustainability-example img {
    width: 100%;
  }
}
.p-sustainability-healthSystem {
  background-color: #F0F2F6;
  padding: 0 min(20px, 1.6129032258vw) min(40px, 3.2258064516vw);
}
@media (max-width: 767px) {
  .p-sustainability-healthSystem {
    padding: 0 5.3333333333vw 5.3333333333vw;
  }
}
.p-sustainability-healthSystem__heading {
  font-size: min(20px, 1.6129032258vw);
  font-weight: 700;
  line-height: 1.4;
  padding-top: min(16px, 1.2903225806vw);
  margin-bottom: min(20px, 1.6129032258vw);
  border-radius: min(4px, 0.3225806452vw);
}
@media (max-width: 767px) {
  .p-sustainability-healthSystem__heading {
    font-size: 4.2666666667vw;
    padding-top: 3.2vw;
    margin-bottom: 3.2vw;
    text-align: center;
    border-radius: 1.0666666667vw;
  }
}
.p-sustainability-healthSystem img {
  display: block;
  width: min(600px, 48.3870967742vw);
  margin: 0 auto;
}
@media (max-width: 767px) {
  .p-sustainability-healthSystem img {
    width: 78.6666666667vw;
  }
}
.p-sustainability-leadblock {
  margin-bottom: min(120px, 9.6774193548vw);
}
@media (max-width: 767px) {
  .p-sustainability-leadblock {
    margin-bottom: 21.3333333333vw;
  }
}
.p-sustainability-leadblock__text {
  font-size: min(18px, 1.4516129032vw);
  font-weight: 400;
  line-height: 2;
  max-width: 800px;
  margin-top: max(-24px, -1.935483871vw);
}
@media (max-width: 767px) {
  .p-sustainability-leadblock__text {
    font-size: 3.7333333333vw;
    max-width: initial;
    margin-top: -9.6vw;
  }
}
.p-sustainability-leadblock__goals {
  display: flex;
  gap: 0 min(16px, 1.2903225806vw);
  margin-top: min(26px, 2.0967741935vw);
}
@media (max-width: 767px) {
  .p-sustainability-leadblock__goals {
    justify-content: center;
    gap: 0 2.1333333333vw;
    margin-top: 5.8666666667vw;
  }
}
.p-sustainability-leadblock__goals img {
  width: min(100px, 8.064516129vw);
}
@media (max-width: 767px) {
  .p-sustainability-leadblock__goals img {
    width: 19.2vw;
  }
}
.p-sustainability-harimavoice {
  margin-top: min(24px, 1.935483871vw);
}
@media (max-width: 767px) {
  .p-sustainability-harimavoice {
    margin-top: 3.2vw;
  }
}
.p-sustainability-harimavoice.psh-care {
  margin-top: min(100px, 8.064516129vw);
}
@media (max-width: 767px) {
  .p-sustainability-harimavoice.psh-care {
    margin-top: 13.3333333333vw;
  }
}
.p-sustainability-harimavoice__head {
  margin-bottom: min(8px, 0.6451612903vw);
}
@media (max-width: 767px) {
  .p-sustainability-harimavoice__head {
    margin-bottom: 2.1333333333vw;
  }
}
.p-sustainability-harimavoice__head img {
  width: min(152px, 12.2580645161vw);
}
@media (max-width: 767px) {
  .p-sustainability-harimavoice__head img {
    width: 42.1333333333vw;
  }
}
.p-sustainability-harimavoice a {
  transition: opacity 0.3s ease;
}
.p-sustainability-harimavoice a:hover {
  opacity: 0.7;
}

.p-company-certifications-nav {
  margin-bottom: min(20px, 1.6129032258vw);
}

.p-company-certifications {
  display: flex;
  gap: min(40px, 3.2258064516vw);
  padding: min(10px, 0.8064516129vw) 0;
}
.p-company-certifications__section-header {
  padding: min(5px, 0.4032258065vw);
  gap: min(12px, 0.9677419355vw);
  background: #f0f2f6;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  margin-bottom: min(10px, 0.8064516129vw);
  margin-top: min(30px, 2.4193548387vw);
}
@media (max-width: 767px) {
  .p-company-certifications__section-header {
    min-width: 89.3333333333vw;
    min-height: 5.3333333333vw;
    padding: 2.6666666667vw;
    gap: 2.6666666667vw;
    margin-bottom: 2.1333333333vw;
    margin-top: 6.1333333333vw;
    align-items: flex-start;
  }
}
.p-company-certifications__section-title {
  font-weight: 700;
  font-size: min(20px, 1.6129032258vw);
  line-height: 140%;
  letter-spacing: 0.02em;
  margin: 0;
  display: flex;
  align-items: flex-start;
  gap: min(0px, 0vw);
  padding-left: min(10px, 0.8064516129vw);
}
@media (max-width: 767px) {
  .p-company-certifications__section-title {
    font-size: 4.2666666667vw;
    line-height: 140%;
    letter-spacing: 0.02em;
    gap: 2.1333333333vw;
    align-items: center;
    padding-left: 1.3333333333vw;
  }
}
.p-company-certifications__item {
  flex: 1;
  position: relative;
}
.p-company-certifications__item:not(:last-child)::after {
  content: "";
  position: absolute;
  right: max(-20px, -1.6129032258vw);
  top: 0;
  bottom: 0;
  width: 1px;
  background-color: #ddd;
}
.p-company-certifications__title {
  font-weight: 500;
  font-size: min(18px, 1.4516129032vw);
  line-height: 180%;
  letter-spacing: 0.02em;
  margin-bottom: min(10px, 0.8064516129vw);
}
.p-company-certifications__list {
  margin: 0;
  padding-left: min(25px, 2.0161290323vw);
  list-style-type: disc;
  list-style-position: outside;
}
.p-company-certifications__list li {
  font-weight: 400;
  font-size: min(16px, 1.2903225806vw);
  line-height: 180%;
  letter-spacing: 0.02em;
  margin-bottom: min(5px, 0.4032258065vw);
  display: list-item !important;
  list-style: disc !important;
}
.p-company-certifications__list li:last-child {
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .p-company-certifications {
    flex-direction: column;
    gap: 2.6666666667vw;
  }
  .p-company-certifications__item {
    padding-left: 0vw;
  }
  .p-company-certifications__item:not(:last-child)::after {
    display: none;
  }
  .p-company-certifications__item:not(:last-child) {
    padding-bottom: 2.6666666667vw;
    border-bottom: 1px solid #ddd;
  }
  .p-company-certifications__title {
    font-size: 3.7333333333vw;
    margin-bottom: 2.6666666667vw;
    margin-top: 2.6666666667vw;
  }
  .p-company-certifications__list {
    padding-left: 5.3333333333vw !important;
  }
  .p-company-certifications__list li {
    font-size: 3.4666666667vw;
    margin-bottom: 0.8vw;
  }
}

.p-company-certifications-law {
  display: flex;
  gap: min(40px, 3.2258064516vw);
  padding: min(15px, 1.2096774194vw);
  position: relative;
}
.p-company-certifications-law::after {
  content: "";
  position: absolute;
  top: min(20px, 1.6129032258vw);
  bottom: min(10px, 0.8064516129vw);
  left: 50%;
  width: 1px;
  background-color: #ddd;
  transform: translateX(-50%);
}
.p-company-certifications-law__left {
  flex: 1;
  position: relative;
  padding-right: min(20px, 1.6129032258vw);
}
.p-company-certifications-law__left-title {
  font-weight: 500;
  font-size: min(18px, 1.4516129032vw);
  line-height: 180%;
  letter-spacing: 0.02em;
  margin-bottom: min(8px, 0.6451612903vw);
}
.p-company-certifications-law__left-subtitle {
  font-weight: 400;
  font-size: min(16px, 1.2903225806vw);
  line-height: 180%;
  letter-spacing: 0.02em;
  margin-bottom: min(20px, 1.6129032258vw);
}
.p-company-certifications-law__left-img {
  width: min(400px, 32.2580645161vw);
  height: auto;
  display: block;
}
.p-company-certifications-law__right {
  flex: 1;
  position: relative;
  padding-left: min(20px, 1.6129032258vw);
}
.p-company-certifications-law__right-title {
  font-weight: 500;
  font-size: min(18px, 1.4516129032vw);
  line-height: 180%;
  letter-spacing: 0.02em;
  margin-bottom: min(10px, 0.8064516129vw);
}
.p-company-certifications-law__right-list {
  margin: 0;
  padding-left: min(30px, 2.4193548387vw) !important;
  list-style-type: disc !important;
  list-style-position: outside !important;
}
.p-company-certifications-law__right-list li {
  font-weight: 400;
  font-size: min(16px, 1.2903225806vw);
  line-height: 180%;
  letter-spacing: 0.02em;
  margin-bottom: min(8px, 0.6451612903vw);
  display: list-item !important;
  list-style: disc !important;
}
.p-company-certifications-law__right-list li:last-child {
  margin-bottom: 0vw;
}
@media (max-width: 767px) {
  .p-company-certifications-law {
    flex-direction: column;
    gap: 4vw;
  }
  .p-company-certifications-law::after {
    display: none;
  }
  .p-company-certifications-law__left {
    margin-top: 2.6666666667vw;
  }
  .p-company-certifications-law__right {
    padding: 0;
  }
  .p-company-certifications-law__left {
    padding-bottom: 8vw;
    border-bottom: 1px solid #ddd;
  }
  .p-company-certifications-law__left-title {
    font-size: 3.7333333333vw;
    margin-bottom: 2.1333333333vw;
  }
  .p-company-certifications-law__left-subtitle {
    font-size: 3.4666666667vw;
    margin-bottom: 4vw;
  }
  .p-company-certifications-law__left-img {
    width: 100%;
    height: auto;
  }
  .p-company-certifications-law__right-title {
    font-size: 3.7333333333vw;
    margin-bottom: 2.6666666667vw;
  }
  .p-company-certifications-law__right-list {
    padding-left: 8vw !important;
  }
  .p-company-certifications-law__right-list li {
    font-size: 3.4666666667vw;
    margin-bottom: 0.8vw;
  }
}

.p-company-certifications-license {
  display: flex;
  flex-direction: column;
  gap: min(60px, 4.8387096774vw);
  padding: min(60px, 4.8387096774vw) 0;
}
.p-company-certifications-license__group {
  display: flex;
  justify-content: space-between;
  gap: min(60px, 4.8387096774vw);
}
.p-company-certifications-license__item {
  width: min(520px, 41.935483871vw);
}
.p-company-certifications-license__header {
  background-color: #f0f2f6;
  padding: min(10px, 0.8064516129vw) min(15px, 1.2096774194vw);
  display: flex;
  align-items: center;
  height: min(40px, 3.2258064516vw);
  box-sizing: border-box;
}
.p-company-certifications-license__title {
  font-weight: 700;
  font-size: min(18px, 1.4516129032vw);
  line-height: 180%;
  letter-spacing: 0.02em;
  margin: 0;
}
.p-company-certifications-license__body {
  padding-top: min(15px, 1.2096774194vw);
}
.p-company-certifications-license__body p:first-child {
  font-weight: 500;
  font-size: min(18px, 1.4516129032vw);
  line-height: 180%;
  letter-spacing: 0.02em;
  margin: 0 0 min(8px, 0.6451612903vw) 0;
}
.p-company-certifications-license__body p:not(:first-child) {
  font-weight: 400;
  font-size: min(16px, 1.2903225806vw);
  line-height: 180%;
  letter-spacing: 0.02em;
  margin: 0 0 min(8px, 0.6451612903vw) 0;
}
.p-company-certifications-license__body p:last-child {
  margin-bottom: 0;
}
.p-company-certifications-license__image-medical {
  margin-top: min(41px, 3.3064516129vw);
  margin-left: auto;
  margin-right: auto;
  width: min(280px, 22.5806451613vw);
  height: min(396px, 31.935483871vw);
  display: block;
}
@media (max-width: 767px) {
  .p-company-certifications-license__image-medical {
    height: 58.6666666667vw;
    width: 41.6vw;
    margin-top: 7.4666666667vw;
    margin-left: auto;
    margin-right: auto;
  }
}
.p-company-certifications-license__image-realestate {
  margin-top: min(100px, 8.064516129vw);
  margin-left: auto;
  margin-right: auto;
  width: min(396px, 31.935483871vw);
  height: min(280px, 22.5806451613vw);
  display: block;
}
@media (max-width: 767px) {
  .p-company-certifications-license__image-realestate {
    width: 58.6666666667vw;
    height: 41.6vw;
    margin-top: 7.4666666667vw;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (max-width: 767px) {
  .p-company-certifications-license {
    gap: 8vw;
    padding: 8vw 0;
  }
  .p-company-certifications-license__group {
    flex-direction: column;
    gap: 8vw;
  }
  .p-company-certifications-license__item {
    width: 100%;
  }
  .p-company-certifications-license__header {
    height: 10.6666666667vw;
    padding: 2.6666666667vw;
  }
  .p-company-certifications-license__title {
    font-size: 4.2666666667vw;
  }
  .p-company-certifications-license__body {
    padding-top: 5.3333333333vw;
  }
  .p-company-certifications-license__body p:first-child {
    font-weight: 500;
    font-size: 3.7333333333vw;
    line-height: 180%;
    letter-spacing: 0.03em;
    margin-bottom: 1.6vw;
  }
  .p-company-certifications-license__body p:not(:first-child) {
    font-weight: 400;
    font-size: 3.7333333333vw;
    line-height: 180%;
    letter-spacing: 0.03em;
    margin-bottom: 1.6vw;
  }
}

.p-company-certifications-eco__wrapper {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row-reverse;
  gap: min(100px, 8.064516129vw);
  margin-bottom: 0;
  margin-top: min(30px, 2.4193548387vw);
}
@media (max-width: 767px) {
  .p-company-certifications-eco__wrapper {
    flex-direction: column;
    gap: 8vw;
    margin-bottom: 0;
  }
}
.p-company-certifications-eco__content {
  flex: 1;
}
@media (max-width: 767px) {
  .p-company-certifications-eco__content {
    width: 100%;
  }
}
.p-company-certifications-eco__title {
  font-weight: 500;
  font-size: min(18px, 1.4516129032vw);
  line-height: 180%;
  letter-spacing: 0.02em;
  margin-bottom: min(20px, 1.6129032258vw);
}
@media (max-width: 767px) {
  .p-company-certifications-eco__title {
    font-size: 3.7333333333vw;
    font-weight: 500;
    margin-bottom: 2.6666666667vw;
    margin-top: -1.3333333333vw;
  }
}
.p-company-certifications-eco__text {
  font-weight: 400;
  font-size: min(16px, 1.2903225806vw);
  line-height: 180%;
  letter-spacing: 0.02em;
  margin-bottom: min(20px, 1.6129032258vw);
}
@media (max-width: 767px) {
  .p-company-certifications-eco__text {
    font-size: 3.4666666667vw;
    line-height: 180%;
    letter-spacing: 0.02em;
    margin-bottom: 5.3333333333vw;
  }
}
.p-company-certifications-eco__info {
  font-weight: 400;
  font-size: min(16px, 1.2903225806vw);
  line-height: 180%;
  letter-spacing: 0.02em;
  margin-bottom: min(30px, 2.4193548387vw);
}
@media (max-width: 767px) {
  .p-company-certifications-eco__info {
    font-size: 3.4666666667vw;
    line-height: 180%;
    letter-spacing: 0.02em;
    margin-bottom: 8vw;
  }
}
.p-company-certifications-eco__image {
  width: min(300px, 24.1935483871vw);
  flex-shrink: 0;
}
.p-company-certifications-eco__image img {
  width: 100%;
  height: auto;
  display: block;
}
@media (max-width: 767px) {
  .p-company-certifications-eco__image {
    width: 41.6vw;
    margin: 0 auto;
    margin-top: 5.3333333333vw;
  }
}
.p-company-certifications-eco__box {
  background-color: #f8f8f8;
  border-radius: min(4px, 0.3225806452vw);
  padding: min(40px, 3.2258064516vw);
  margin-bottom: min(30px, 2.4193548387vw);
}
@media (max-width: 767px) {
  .p-company-certifications-eco__box {
    width: 100%;
    padding: 6.6666666667vw;
    border-radius: 1.0666666667vw;
    margin-top: 6.6666666667vw;
    margin-bottom: 0vw;
  }
}
.p-company-certifications-eco__box-title {
  font-weight: 700;
  font-size: min(18px, 1.4516129032vw);
  line-height: 180%;
  letter-spacing: 0.03em;
  margin-bottom: min(20px, 1.6129032258vw);
}
@media (max-width: 767px) {
  .p-company-certifications-eco__box-title {
    font-size: 3.7333333333vw;
    margin-bottom: 5.3333333333vw;
  }
}
.p-company-certifications-eco__box-text {
  font-weight: 400;
  font-size: min(16px, 1.2903225806vw);
  line-height: 180%;
  letter-spacing: 0.04em;
  margin-bottom: min(30px, 2.4193548387vw);
}
@media (max-width: 767px) {
  .p-company-certifications-eco__box-text {
    font-size: 3.4666666667vw;
    line-height: 180%;
    letter-spacing: 0.02em;
    margin-bottom: 8vw;
  }
}
.p-company-certifications-eco__icon {
  display: flex;
  align-items: center;
  gap: min(24px, 1.935483871vw);
  padding-top: min(20px, 1.6129032258vw);
  padding-left: min(140px, 11.2903225806vw);
  padding-right: min(150px, 12.0967741935vw);
  margin-top: min(20px, 1.6129032258vw);
  border-top: 1px solid #ddd;
  font-weight: 400;
  font-size: min(16px, 1.2903225806vw);
  line-height: 180%;
  letter-spacing: 0.02em;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-company-certifications-eco__icon {
    justify-content: center;
    padding-left: 0;
    padding-right: 0;
  }
}
.p-company-certifications-eco__icon img {
  width: min(100px, 8.064516129vw);
  height: auto;
  display: block;
}
@media (max-width: 767px) {
  .p-company-certifications-eco__icon {
    gap: 5.3333333333vw;
    padding-top: 5.3333333333vw;
    margin-top: 5.3333333333vw;
    padding-left: 2.1333333333vw;
    padding-right: 2.6666666667vw;
    border-top: 1px solid #ddd;
    font-size: 3.7333333333vw;
  }
  .p-company-certifications-eco__icon img {
    width: 18.6666666667vw;
  }
}
.p-company-certifications-eco__footer {
  font-weight: 400;
  font-size: min(16px, 1.2903225806vw);
  line-height: 180%;
  letter-spacing: 0.02em;
}
@media (max-width: 767px) {
  .p-company-certifications-eco__footer {
    width: 100%;
    font-size: 3.4666666667vw;
    line-height: 180%;
    letter-spacing: 0.02em;
    margin-top: 5.3333333333vw;
  }
}

.p-company-certifications-seeser {
  margin-top: min(120px, 9.6774193548vw);
}
@media (max-width: 767px) {
  .p-company-certifications-seeser {
    margin-top: 21.3333333333vw;
  }
}
.p-company-certifications-seeser__wrapper {
  display: flex;
  gap: min(100px, 8.064516129vw);
  align-items: flex-start;
}
@media (max-width: 767px) {
  .p-company-certifications-seeser__wrapper {
    flex-direction: column-reverse;
    padding: -2.6666666667vw 0 10.6666666667vw 0;
  }
}
.p-company-certifications-seeser__content {
  flex: 1;
}
.p-company-certifications-seeser__intro {
  font-weight: 500;
  font-size: min(18px, 1.4516129032vw);
  line-height: 180%;
  letter-spacing: 0.02em;
  margin-bottom: min(30px, 2.4193548387vw);
}
@media (max-width: 767px) {
  .p-company-certifications-seeser__intro {
    font-size: 3.7333333333vw;
  }
}
.p-company-certifications-seeser__details {
  margin-bottom: min(20px, 1.6129032258vw);
}
@media (max-width: 767px) {
  .p-company-certifications-seeser__details {
    margin-bottom: 5.3333333333vw;
  }
}
.p-company-certifications-seeser__details p {
  font-weight: 400;
  font-size: min(16px, 1.2903225806vw);
  line-height: 180%;
  letter-spacing: 0.02em;
  margin-bottom: min(6px, 0.4838709677vw);
}
@media (max-width: 767px) {
  .p-company-certifications-seeser__details p {
    font-size: 3.4666666667vw;
    margin-bottom: 2.6666666667vw;
    line-height: 100%;
  }
}
.p-company-certifications-seeser__details p:last-child {
  margin-bottom: 0;
}
.p-company-certifications-seeser__description {
  margin-bottom: min(30px, 2.4193548387vw);
  font-weight: 400;
  font-size: min(16px, 1.2903225806vw);
  line-height: 180%;
  letter-spacing: 0.02em;
}
@media (max-width: 767px) {
  .p-company-certifications-seeser__description {
    font-size: 3.4666666667vw;
    margin-bottom: 8vw;
  }
}
.p-company-certifications-seeser__conclusion {
  font-weight: 400;
  font-size: min(16px, 1.2903225806vw);
  line-height: 180%;
  letter-spacing: 0.02em;
}
@media (max-width: 767px) {
  .p-company-certifications-seeser__conclusion {
    font-size: 3.4666666667vw;
  }
}
.p-company-certifications-seeser__criteria-list {
  margin: 0 0 min(30px, 2.4193548387vw) 0;
  padding: min(30px, 2.4193548387vw) min(50px, 4.0322580645vw);
  background: #F8F8F8;
  list-style: none;
  border-radius: min(4px, 0.3225806452vw);
  counter-reset: item;
}
@media (max-width: 767px) {
  .p-company-certifications-seeser__criteria-list {
    margin-bottom: 5.3333333333vw;
    padding: 8vw 6.6666666667vw;
    border-radius: 1.0666666667vw;
  }
}
.p-company-certifications-seeser__criteria-list li {
  font-weight: 400;
  font-size: min(16px, 1.2903225806vw);
  line-height: 180%;
  letter-spacing: 0.02em;
  counter-increment: item;
}
.p-company-certifications-seeser__criteria-list li::before {
  content: counter(item) ". ";
}
@media (max-width: 767px) {
  .p-company-certifications-seeser__criteria-list li {
    font-size: 3.4666666667vw;
    display: flex;
  }
  .p-company-certifications-seeser__criteria-list li::before {
    content: counter(item) ". ";
    flex-shrink: 0;
    margin-right: 1.3333333333vw;
  }
}
.p-company-certifications-seeser__criteria-list li:last-child {
  margin-bottom: 0;
}
.p-company-certifications-seeser__certificate {
  flex-shrink: 0;
  width: min(300px, 24.1935483871vw);
}
@media (max-width: 767px) {
  .p-company-certifications-seeser__certificate {
    width: 100%;
    max-width: 41.6vw;
    margin: 0 auto;
  }
}

.p-company-certifications-iso {
  margin-top: min(120px, 9.6774193548vw);
}
@media (max-width: 767px) {
  .p-company-certifications-iso {
    margin-top: 21.3333333333vw;
  }
}
.p-company-certifications-iso__wrapper {
  display: flex;
  gap: min(50px, 4.0322580645vw);
  align-items: flex-start;
  margin-top: min(30px, 2.4193548387vw);
  margin-bottom: min(60px, 4.8387096774vw);
}
@media (max-width: 767px) {
  .p-company-certifications-iso__wrapper {
    flex-direction: column-reverse;
    gap: 4vw;
    margin-top: 8vw;
  }
}
.p-company-certifications-iso__content {
  flex: 1;
  min-width: 0;
}
@media (max-width: 767px) {
  .p-company-certifications-iso__content {
    width: 100%;
  }
}
.p-company-certifications-iso__details dt {
  font-weight: 500;
  font-size: min(18px, 1.4516129032vw);
  line-height: 180%;
  letter-spacing: 0.02em;
  margin-bottom: min(0px, 0vw);
  margin-top: min(20px, 1.6129032258vw);
}
.p-company-certifications-iso__details dt:first-child {
  margin-top: 0;
}
@media (max-width: 767px) {
  .p-company-certifications-iso__details dt {
    font-size: 3.7333333333vw;
    font-weight: 500;
    margin-bottom: 2.1333333333vw;
    margin-top: 4vw;
  }
}
.p-company-certifications-iso__details dd {
  font-weight: 400;
  font-size: min(16px, 1.2903225806vw);
  line-height: 180%;
  letter-spacing: 0.03em;
  margin-left: 0;
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .p-company-certifications-iso__details dd {
    font-size: 3.4666666667vw;
    line-height: 180%;
    letter-spacing: 0.02em;
  }
}
.p-company-certifications-iso__image {
  width: min(590px, 47.5806451613vw);
}
@media (max-width: 767px) {
  .p-company-certifications-iso__image {
    width: 100%;
  }
}
.p-company-certifications-iso__caption {
  text-align: end;
  margin-top: max(-30px, -2.4193548387vw);
}
@media (max-width: 767px) {
  .p-company-certifications-iso__caption {
    text-align: left;
    margin-top: 0vw;
  }
}
.p-company-certifications-iso__caption .c-caption {
  font-size: min(12px, 0.9677419355vw);
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.03em;
}
@media (max-width: 767px) {
  .p-company-certifications-iso__caption .c-caption {
    text-align: end;
    font-size: 3.2vw;
  }
}

.p-group-hero {
  background: url("../images/group/top/hero-pc.jpg") no-repeat center center/cover;
}
@media (max-width: 767px) {
  .p-group-hero {
    background: url("../images/group/top/hero-sp.jpg") no-repeat center center/cover;
  }
}
.p-group-intro {
  padding: min(50px, 4.0322580645vw) 0 min(120px, 9.6774193548vw);
}
@media (max-width: 767px) {
  .p-group-intro {
    padding: 10.1333333333vw 0 21.3333333333vw;
  }
}
.p-group-intro__title {
  font-size: min(32px, 2.5806451613vw);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.02em;
  margin-bottom: min(15px, 1.2096774194vw);
}
@media (max-width: 767px) {
  .p-group-intro__title {
    font-size: 6.4vw;
    margin-bottom: 3.2vw;
  }
}
.p-group-intro__text {
  font-size: min(18px, 1.4516129032vw);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.03em;
  margin-bottom: min(28px, 2.2580645161vw);
  max-width: min(800px, 64.5161290323vw);
}
@media (max-width: 767px) {
  .p-group-intro__text {
    font-size: 3.7333333333vw;
    max-width: unset;
    margin-bottom: 8vw;
  }
}
@media (max-width: 767px) {
  .p-group-intro__button {
    text-align: center;
  }
}
.p-group-join__inner {
  padding-top: min(110px, 8.8709677419vw);
  padding-bottom: min(120px, 9.6774193548vw);
}
@media (max-width: 767px) {
  .p-group-join__inner {
    padding-top: 21.3333333333vw;
    padding-bottom: 21.3333333333vw;
  }
}
.p-group-join__message {
  display: flex;
  gap: min(60px, 4.8387096774vw);
}
@media (max-width: 767px) {
  .p-group-join__message {
    gap: 5.3333333333vw;
    flex-direction: column-reverse;
  }
}
.p-group-join__message-left {
  flex-basis: min(600px, 48.3870967742vw);
}
@media (max-width: 767px) {
  .p-group-join__message-left {
    flex-basis: 80vw;
  }
}
.p-group-join__message p {
  font-size: min(16px, 1.2903225806vw);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.03em;
  margin-bottom: min(30px, 2.4193548387vw);
}
@media (max-width: 767px) {
  .p-group-join__message p {
    font-size: 3.4666666667vw;
    margin-bottom: 6.6666666667vw;
  }
}
.p-group-join__message-lead {
  font-size: min(24px, 1.935483871vw);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.02em;
  margin-bottom: min(10px, 0.8064516129vw);
}
@media (max-width: 767px) {
  .p-group-join__message-lead {
    font-size: 4.8vw;
    margin-bottom: 1.6vw;
  }
}
.p-group-join__message-cto {
  text-align: right;
  font-size: min(20px, 1.6129032258vw);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.03em;
}
@media (max-width: 767px) {
  .p-group-join__message-cto {
    font-size: 4.2666666667vw;
  }
}
.p-group-join__message-right {
  flex-basis: min(440px, 35.4838709677vw);
}
@media (max-width: 767px) {
  .p-group-join__message-right {
    flex-basis: 80vw;
  }
}
.p-group-join__companies-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  padding: min(60px, 4.8387096774vw) 0 min(44px, 3.5483870968vw);
  gap: min(20px, 1.6129032258vw);
}
@media (max-width: 767px) {
  .p-group-join__companies-list {
    grid-template-columns: repeat(2, 1fr);
    padding: 10.6666666667vw 0 10.6666666667vw;
    gap: 4vw;
  }
}
.p-group-join__companies-image {
  background-color: #f8f8f8;
  border-radius: min(4px, 0.3225806452vw);
  overflow: hidden;
}
@media (max-width: 767px) {
  .p-group-join__companies-image {
    border-radius: 1.0666666667vw;
  }
}
.p-group-join__companies-name {
  text-align: center;
  line-height: 2;
  font-size: min(16px, 1.2903225806vw);
  font-weight: 400;
  letter-spacing: 0.03em;
  margin-top: min(2px, 0.1612903226vw);
}
@media (max-width: 767px) {
  .p-group-join__companies-name {
    font-size: 3.4666666667vw;
    line-height: 1.8;
    margin-top: 2.1333333333vw;
  }
}
.p-group-join__companies-button {
  text-align: center;
}
.p-group-join-about {
  padding-bottom: min(106px, 8.5483870968vw);
}
@media (max-width: 767px) {
  .p-group-join-about {
    padding-bottom: 18.1333333333vw;
  }
}

.p-group-types-system__inner {
  padding-top: min(95px, 7.6612903226vw);
  padding-bottom: min(110px, 8.8709677419vw);
}
@media (max-width: 767px) {
  .p-group-types-system__inner {
    padding-top: 17.0666666667vw;
    padding-bottom: 21.3333333333vw;
  }
}
.p-group-types-system__text {
  font-size: min(16px, 1.2903225806vw);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.03em;
  margin-bottom: min(50px, 4.0322580645vw);
  max-width: 100%;
}
@media (max-width: 767px) {
  .p-group-types-system__text {
    max-width: unset;
    font-size: 3.4666666667vw;
    margin-bottom: 8.5333333333vw;
  }
}
.p-group-types-system__image {
  max-width: min(900px, 72.5806451613vw);
  margin: 0 auto;
}
@media (max-width: 767px) {
  .p-group-types-system__image {
    max-width: unset;
  }
}
.p-group-types-management__content {
  display: flex;
  gap: min(60px, 4.8387096774vw);
  justify-content: space-between;
}
@media (max-width: 767px) {
  .p-group-types-management__content {
    gap: 10.6666666667vw;
    flex-direction: column;
  }
}
.p-group-types-management__left {
  flex-basis: min(500px, 40.3225806452vw);
  font-size: min(16px, 1.2903225806vw);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.03em;
}
@media (max-width: 767px) {
  .p-group-types-management__left {
    font-size: 3.4666666667vw;
    line-height: 1.8;
    margin-top: 2.1333333333vw;
    max-width: unset;
  }
}
.p-group-types-management__right {
  flex-basis: min(500px, 40.3225806452vw);
  border-radius: min(4px, 0.3225806452vw);
  overflow: hidden;
}
@media (max-width: 767px) {
  .p-group-types-management__right {
    flex-basis: unset;
    border-radius: 1.0666666667vw;
  }
}

.p-group-join-voice {
  padding-top: min(62px, 5vw);
  padding-bottom: min(105px, 8.4677419355vw);
}
@media (max-width: 767px) {
  .p-group-join-voice {
    padding-top: 21.3333333333vw;
    padding-bottom: 21.3333333333vw;
  }
}
.p-group-join-flow__inner {
  padding-bottom: min(120px, 9.6774193548vw);
}
@media (max-width: 767px) {
  .p-group-join-flow__inner {
    padding-bottom: 21.3333333333vw;
  }
}
.p-group-join-flow__steps {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: min(36px, 2.9032258065vw);
}
@media (max-width: 767px) {
  .p-group-join-flow__steps {
    gap: 9.6vw;
  }
}
.p-group-join-flow__step {
  background-color: #F0F2F6;
  display: flex;
  padding: min(44px, 3.5483870968vw) min(54px, 4.3548387097vw);
  justify-content: space-between;
  align-items: center;
  position: relative;
  border-radius: min(4px, 0.3225806452vw);
}
@media (max-width: 767px) {
  .p-group-join-flow__step {
    padding: 7.4666666667vw 4.8vw;
    border-radius: 1.0666666667vw;
    flex-direction: column;
    gap: 7.4666666667vw;
  }
}
.p-group-join-flow__step:not(:last-child)::after {
  content: "";
  display: block;
  position: absolute;
  bottom: min(12px, 0.9677419355vw);
  left: 50%;
  transform: translateX(-50%) translateY(100%);
  border: 36px solid #000;
  border-bottom: none;
  border-left-color: transparent;
  border-right-color: transparent;
  z-index: -1;
}
@media (max-width: 767px) {
  .p-group-join-flow__step:not(:last-child)::after {
    bottom: 3.2vw;
  }
}
.p-group-join-flow__step-block {
  display: flex;
  flex-basis: min(862px, 69.5161290323vw);
  gap: min(46px, 3.7096774194vw);
  height: 100%;
}
@media (max-width: 767px) {
  .p-group-join-flow__step-block {
    gap: 5.3333333333vw;
    flex-direction: column;
    flex-basis: unset;
    width: 100%;
  }
}
.p-group-join-flow__step-number {
  flex-basis: min(120px, 9.6774193548vw);
  display: flex;
  align-items: center;
  justify-content: center;
  border-right: 1px solid #000;
  padding-right: min(46px, 3.7096774194vw);
}
@media (max-width: 767px) {
  .p-group-join-flow__step-number {
    border-right: none;
    border-bottom: 1px solid #000;
    padding-right: 0;
    padding-bottom: 5.3333333333vw;
    flex-basis: unset;
  }
  .p-group-join-flow__step-number img {
    width: 10.6666666667vw;
  }
}
.p-group-join-flow__step-content {
  flex-basis: min(600px, 48.3870967742vw);
  display: flex;
  flex-direction: column;
  gap: min(28px, 2.2580645161vw);
  justify-content: center;
  align-items: flex-start;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-group-join-flow__step-content {
    padding-right: min(60px, 7.8125vw);
  }
}
@media (max-width: 767px) {
  .p-group-join-flow__step-content {
    justify-content: flex-start;
    align-items: center;
    gap: 7.4666666667vw;
    flex-basis: unset;
  }
}
.p-group-join-flow__step-title {
  color: #000;
  font-size: min(24px, 1.935483871vw);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.02em;
}
@media (max-width: 767px) {
  .p-group-join-flow__step-title {
    font-size: 4.8vw;
    text-align: center;
  }
}
.p-group-join-flow__step-text {
  font-size: min(16px, 1.2903225806vw);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.03em;
}
@media (max-width: 767px) {
  .p-group-join-flow__step-text {
    font-size: 3.4666666667vw;
  }
}
.p-group-join-flow__step-text small {
  font-size: min(12px, 0.9677419355vw);
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.03em;
}
@media (max-width: 767px) {
  .p-group-join-flow__step-text small {
    font-size: 3.2vw;
  }
}
@media (max-width: 767px) {
  .p-group-join-flow__step-image {
    width: 37.3333333333vw;
  }
}
.p-group-join-cta {
  background: url("../images/group/join/cta-bg-pc.png") no-repeat center center/cover;
  padding: min(118px, 9.5161290323vw) 0;
}
@media (max-width: 767px) {
  .p-group-join-cta {
    padding: 21.3333333333vw 0;
  }
}
.p-group-join-cta__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: min(65px, 5.2419354839vw);
}
@media (max-width: 767px) {
  .p-group-join-cta__inner {
    gap: 10.6666666667vw;
  }
}
.p-group-join-cta__title {
  color: #000;
  font-size: min(32px, 2.5806451613vw);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.02em;
}
@media (max-width: 767px) {
  .p-group-join-cta__title {
    font-size: 6.4vw;
    text-align: center;
  }
}
.p-group-join-cta__button a {
  font-size: min(20px, 1.6129032258vw);
  padding: min(24px, 1.935483871vw) min(65px, 5.2419354839vw);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.02em;
}
@media (max-width: 767px) {
  .p-group-join-cta__button a {
    font-size: 4.2666666667vw;
    padding: 4.8vw 12.8vw;
  }
}
.p-group-join-cta__button a::after {
  width: min(12px, 0.9677419355vw);
  height: min(18px, 1.4516129032vw);
}
@media (max-width: 767px) {
  .p-group-join-cta__button a::after {
    width: 2.6666666667vw;
    height: 3.7333333333vw;
  }
}

.p-group-list-companies__list {
  padding: min(120px, 9.6774193548vw) 0 min(106px, 8.5483870968vw);
}
@media (max-width: 767px) {
  .p-group-list-companies__list {
    padding: 24.5333333333vw 0 15.4666666667vw;
  }
}
.p-group-list-companies__item {
  position: relative;
  display: flex;
  gap: min(60px, 4.8387096774vw);
}
@media (max-width: 767px) {
  .p-group-list-companies__item {
    flex-direction: column-reverse;
    gap: 5.3333333333vw;
  }
}
.p-group-list-companies__item + .p-group-list-companies__item {
  margin-top: min(96px, 7.7419354839vw);
}
@media (max-width: 767px) {
  .p-group-list-companies__item + .p-group-list-companies__item {
    margin-top: 21.3333333333vw;
  }
}
.p-group-list-companies__item + .p-group-list-companies__item::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #32373C;
  position: absolute;
  top: max(-48px, -3.8709677419vw);
  left: 0;
}
@media (max-width: 767px) {
  .p-group-list-companies__item + .p-group-list-companies__item::after {
    top: -10.6666666667vw;
  }
}
.p-group-list-companies__image {
  display: flex;
  flex-direction: column;
  gap: min(20px, 1.6129032258vw);
  flex: 0 1 21.4545454545%;
}
@media (max-width: 767px) {
  .p-group-list-companies__image {
    flex-direction: row;
    gap: 2.6666666667vw;
  }
}
.p-group-list-companies__image img {
  border-radius: min(4px, 0.3225806452vw);
}
@media (max-width: 767px) {
  .p-group-list-companies__image img {
    max-width: 32vw;
    border-radius: 1.0666666667vw;
  }
}
.p-group-list-companies__body {
  flex: 1;
}
.p-group-list-companies__name {
  color: var(--text_, #32373C);
  font-size: min(24px, 1.935483871vw);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.02em;
  position: relative;
  display: inline-block;
  position: relative;
}
@media (max-width: 767px) {
  .p-group-list-companies__name {
    font-size: 4.8vw;
  }
}
.p-group-list-companies__name a {
  transition: opacity 0.3s ease;
}
.p-group-list-companies__name a:hover {
  opacity: 0.8;
}
.p-group-list-companies__name a[target=_blank]::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(150%, -50%);
  width: min(14px, 1.1290322581vw);
  height: min(14px, 1.1290322581vw);
  background: url("../images/common/icons/icon-external-black.svg") no-repeat center center/contain;
}
@media (max-width: 767px) {
  .p-group-list-companies__name a[target=_blank]::after {
    width: 2.6666666667vw;
    height: 2.6666666667vw;
  }
}
.p-group-list-companies__tags {
  padding: min(20px, 1.6129032258vw) 0 min(28px, 2.2580645161vw);
  display: flex;
  flex-wrap: wrap;
  gap: min(12px, 0.9677419355vw);
}
@media (max-width: 767px) {
  .p-group-list-companies__tags {
    padding: 2.6666666667vw 0 4.2666666667vw;
    gap: 2.1333333333vw;
  }
}
.p-group-list-companies__tag {
  padding: min(8px, 0.6451612903vw) min(28px, 2.2580645161vw);
  background-color: #6C7682;
  border-radius: min(4px, 0.3225806452vw);
  color: #fff;
  font-size: min(15px, 1.2096774194vw);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.03em;
  display: inline-block;
}
@media (max-width: 767px) {
  .p-group-list-companies__tag {
    font-size: 3.2vw;
    padding: 2.1333333333vw 4.2666666667vw;
    border-radius: 1.0666666667vw;
  }
}
.p-group-list-companies__info {
  font-size: min(16px, 1.2903225806vw);
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.03em;
}
@media (max-width: 767px) {
  .p-group-list-companies__info {
    font-size: 3.4666666667vw;
  }
}
.p-group-list-companies__detail {
  display: flex;
  border-top: 1px solid #D8D8D8;
  padding-top: min(20px, 1.6129032258vw);
  padding-bottom: min(20px, 1.6129032258vw);
  align-items: center;
  gap: min(20px, 1.6129032258vw);
}
@media (max-width: 767px) {
  .p-group-list-companies__detail {
    padding-top: 2.6666666667vw;
    padding-bottom: 2.6666666667vw;
  }
}
.p-group-list-companies__detail:last-child {
  border-bottom: 1px solid #D8D8D8;
}
.p-group-list-companies__detail dt {
  flex: 0 1 20%;
}
@media (max-width: 767px) {
  .p-group-list-companies__detail dt {
    flex: 0 1 29.8507462687%;
  }
}
.p-group-list-companies__detail dd {
  flex: 1;
}

.p-block-editor > *:not(:last-child):not(h2):not(h3) {
  margin-bottom: min(80px, 6.4516129032vw);
}
@media (max-width: 767px) {
  .p-block-editor > *:not(:last-child):not(h2):not(h3) {
    margin-bottom: 10.6666666667vw;
  }
}
.p-block-editor dl div {
  display: grid;
  grid-template-columns: min(270px, 21.7741935484vw) 1fr;
  border-bottom: 1px solid #D8D8D8;
  align-items: center;
}
@media (max-width: 767px) {
  .p-block-editor dl div {
    grid-template-columns: 48.5333333333vw 1fr;
  }
}
.p-block-editor dl div dt, .p-block-editor dl div dd {
  padding: min(10px, 0.8064516129vw);
}
@media (max-width: 767px) {
  .p-block-editor dl div dt, .p-block-editor dl div dd {
    padding: 2.6666666667vw;
  }
}
.p-block-editor dl div dt {
  background-color: #F0F2F6;
  align-self: stretch;
  display: flex;
  align-items: center;
}
.p-block-editor dl div:first-child {
  border-top: 1px solid #D8D8D8;
}
.p-block-editor .wp-block-columns {
  gap: min(20px, 1.6129032258vw);
}
@media (max-width: 767px) {
  .p-block-editor .wp-block-columns {
    gap: 0;
  }
}
@media (max-width: 767px) {
  .p-block-editor .wp-block-columns .wp-block-column:not(:first-child) dl div:first-child {
    border-top: none;
  }
}

.p-company-philosophy {
  padding-top: 113.0666666667vw;
  padding-bottom: 96vw;
  position: relative;
}
@media (min-width: 768px) {
  .p-company-philosophy {
    padding-top: 224px;
    padding-bottom: 360px;
  }
}
.p-company-philosophy::before {
  content: "";
  position: sticky;
  top: 0;
  display: block;
  margin-top: -128vw;
  height: 229.8666666667vw;
  margin-bottom: -195.2vw;
  background: url("../../assets/images/company/philosophy/bg-sp.png");
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  pointer-events: none;
  z-index: -1;
}
@media (min-width: 768px) {
  .p-company-philosophy::before {
    margin-top: -324px;
    height: calc(100vh + 224px);
    margin-bottom: -100vh;
    background: url("../../assets/images/company/philosophy/bg.png");
    background-position: center top, center -160px;
    background-repeat: no-repeat;
    background-size: cover;
  }
}
.p-company-philosophy::after {
  content: "";
  bottom: 0;
  display: block;
  height: 69.3333333333vw;
  margin-bottom: -114.6666666667vw;
  background: url("../../assets/images/company/philosophy/city-sp.png");
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: none;
  z-index: -1;
}
@media (min-width: 768px) {
  .p-company-philosophy::after {
    bottom: 0;
    display: block;
    height: 460px;
    margin-bottom: -466px;
    background: url("../../assets/images/company/philosophy/city.png");
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: cover;
  }
}
.p-company-philosophy__title {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
@media (min-width: 768px) {
  .p-company-philosophy__title {
    width: 612px;
  }
}
.p-company-philosophy__title-text {
  margin-top: 12.2666666667vw;
  font-size: 3.7333333333vw;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.36px;
  text-align: center;
}
@media (min-width: 768px) {
  .p-company-philosophy__title-text {
    margin-top: 64px;
    font-size: 18px;
  }
}
.p-company-philosophy__title-wrap {
  display: flex;
  gap: 2.6666666667vw;
  justify-content: center;
  margin-top: 12.8vw;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
@media (min-width: 768px) {
  .p-company-philosophy__title-wrap {
    margin-top: 72px;
    max-width: 1100px;
    gap: 1.6129032258vw;
  }
}
.p-company-philosophy__title-img {
  aspect-ratio: 4/3;
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}
@media (min-width: 768px) {
  .p-company-philosophy__title-img {
    max-width: 354px;
  }
}
.p-company-philosophy__title-img img {
  border-radius: 1.0666666667vw;
  width: 100%;
}
@media (min-width: 768px) {
  .p-company-philosophy__title-img img {
    border-radius: 4px;
  }
}
.p-company-philosophy__section {
  margin-top: 19.2vw;
}
@media (min-width: 768px) {
  .p-company-philosophy__section {
    margin-top: 100px;
  }
}
.p-company-philosophy__heading {
  text-align: center;
  font-size: 4.8vw;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.48px;
}
@media (min-width: 768px) {
  .p-company-philosophy__heading {
    font-size: 24px;
  }
}
.p-company-philosophy__philosophy {
  margin-top: 6.9333333333vw;
  display: flex;
  flex-direction: column;
  gap: 6.4vw;
}
@media (min-width: 768px) {
  .p-company-philosophy__philosophy {
    margin-top: 36px;
    gap: 30px;
  }
}
.p-company-philosophy__philosophy p {
  font-size: 3.7333333333vw;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.36px;
}
@media (min-width: 768px) {
  .p-company-philosophy__philosophy p {
    text-align: center;
    font-size: 18px;
  }
}
.p-company-philosophy__philosophy strong {
  display: block;
  text-align: center;
  color: #0052A4;
  font-size: 6.4vw;
  font-weight: 700;
  line-height: 140%;
  letter-spacing: 0.64px;
}
@media (min-width: 768px) {
  .p-company-philosophy__philosophy strong {
    font-size: 32px;
  }
}
.p-company-philosophy__policy {
  margin-top: 9.6vw;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  width: 100%;
  border-top: 1px solid #D8D8D8;
}
@media (min-width: 768px) {
  .p-company-philosophy__policy {
    margin-top: 42px;
    max-width: 600px;
  }
}
.p-company-philosophy__policy-list {
  display: flex;
  gap: 2.1333333333vw;
  padding: 6.4vw 2.1333333333vw;
  border-bottom: 1px solid #D8D8D8;
}
@media (min-width: 768px) {
  .p-company-philosophy__policy-list {
    gap: 20px;
    padding: 26px 32px 26px 56px;
  }
}
.p-company-philosophy__policy-number {
  width: 10.6666666667vw;
}
@media (min-width: 768px) {
  .p-company-philosophy__policy-number {
    width: 66px;
  }
}
.p-company-philosophy__policy-text {
  font-size: 4.2666666667vw;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.52px;
}
@media (min-width: 768px) {
  .p-company-philosophy__policy-text {
    font-size: 26px;
  }
}
.p-company-philosophy__promises {
  margin-top: 4.2666666667vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}
@media (min-width: 768px) {
  .p-company-philosophy__promises {
    flex-wrap: wrap;
    flex-direction: row;
    margin-top: 50px;
    gap: 40px 0;
  }
}
.p-company-philosophy__promises::before {
  display: none;
}
@media (min-width: 768px) {
  .p-company-philosophy__promises::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    height: 1px;
    background-color: #D8D8D8;
    display: block;
  }
}
.p-company-philosophy__promises-list {
  width: 100%;
  display: flex;
  flex-direction: row;
  gap: 4.2666666667vw;
  padding: 7.4666666667vw 0;
  border-bottom: 1px solid #D8D8D8;
}
.p-company-philosophy__promises-list:last-child {
  border-bottom: none;
}
@media (min-width: 768px) {
  .p-company-philosophy__promises-list {
    border-bottom: none;
    flex-direction: column;
    align-items: flex-start;
    width: 28.125vw;
    gap: 10px;
    padding: 3.125vw 2.0833333333vw;
  }
  .p-company-philosophy__promises-list:nth-child(1), .p-company-philosophy__promises-list:nth-child(2), .p-company-philosophy__promises-list:nth-child(4), .p-company-philosophy__promises-list:nth-child(5) {
    border-right: 1px solid #D8D8D8;
  }
  .p-company-philosophy__promises-list:nth-child(4) {
    border-left: 1px solid #D8D8D8;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-company-philosophy__promises-list {
    width: 33.3333333333%;
  }
}
@media (min-width: 1280px) {
  .p-company-philosophy__promises-list {
    width: 366px;
    padding: 43px 33px;
  }
}
.p-company-philosophy__promises-img {
  width: 40.5333333333vw;
}
@media (min-width: 768px) {
  .p-company-philosophy__promises-img {
    width: 100%;
  }
}
.p-company-philosophy__promises-text {
  width: 42.6666666667vw;
  text-align: left;
  font-size: 4.2666666667vw;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.4px;
}
@media (min-width: 768px) {
  .p-company-philosophy__promises-text {
    width: 100%;
    text-align: center;
    font-size: 16px;
  }
}
.p-company-philosophy__banner {
  margin-top: 19.2vw;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  overflow: hidden;
}
@media (min-width: 768px) {
  .p-company-philosophy__banner {
    max-width: 924px;
    margin-top: 100px;
    border-radius: min(4px, 0.3225806452vw);
  }
}
@media (max-width: 767px) {
  .p-company-philosophy__banner {
    border-radius: 1.0666666667vw;
  }
}
.p-company-philosophy__breadcrumbs .c-breadcrumb {
  background-color: #fff;
}

.page-philosophy .l-main {
  position: relative;
}
.page-philosophy .p-top-svg01 {
  position: absolute;
  top: 8%;
  left: calc(50% - 50vw);
  right: calc(50% - 50vw);
  pointer-events: none;
  z-index: 0;
}
.page-philosophy .p-top-svg01.u-sp-only {
  top: 19%;
}
.page-philosophy .p-top-svg01--bottom {
  top: auto;
  bottom: 5%;
}
.page-philosophy .p-top-svg01--bottom.u-sp-only {
  bottom: auto;
  top: 74%;
}
.page-philosophy .p-top-svg01--back {
  z-index: -1;
}
.page-philosophy .p-top-svg01 svg {
  position: static;
  display: block;
  width: 100%;
  height: auto;
}
.page-philosophy .p-top-svg01 .svg-line04 {
  stroke-dasharray: 3428.61;
  stroke-dashoffset: 3428.61;
}
.page-philosophy .p-top-svg01 .svg-line04--sp {
  stroke-dasharray: 1484.23;
  stroke-dashoffset: 1484.23;
}
.page-philosophy .is-active .svg-line04 {
  animation: philosophy-draw-svg-line04 2.2s ease-out forwards !important;
}
.page-philosophy .is-active .svg-line04--sp {
  animation: philosophy-draw-svg-line04-sp 1.6s ease-out forwards !important;
}

@keyframes philosophy-draw-svg-line04 {
  0% {
    stroke-dashoffset: 3428.61;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
@keyframes philosophy-draw-svg-line04-sp {
  0% {
    stroke-dashoffset: 1484.23;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
.p-company-history {
  margin-top: min(100px, 8.064516129vw);
  margin-bottom: min(30px, 2.4193548387vw);
}
@media (max-width: 767px) {
  .p-company-history {
    margin-top: 16vw;
    margin-bottom: 4vw;
  }
}
.p-company-history__section {
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .p-company-history__section {
    margin-bottom: 0;
  }
}
.p-company-history__text {
  margin-top: min(40px, 3.2258064516vw);
  width: min(800px, 64.5161290323vw);
  font-weight: 700;
  font-size: min(16px, 1.2903225806vw);
  line-height: 180%;
}
@media (max-width: 767px) {
  .p-company-history__text {
    width: 89.3333333333vw;
    font-size: 3.4666666667vw;
  }
}
.p-company-history__table {
  width: 100%;
  max-width: min(1100px, 88.7096774194vw);
  margin: 0 auto;
  overflow-x: auto;
  padding-bottom: min(80px, 6.4516129032vw);
  border-collapse: collapse;
}
.p-company-history__table tr {
  border-bottom: 1px solid #D8D8D8;
}
.p-company-history__table tr:last-child {
  border-bottom: none;
}
@media (max-width: 767px) {
  .p-company-history__table tr:has(th:empty) {
    border-bottom: none;
  }
}
.p-company-history__table th {
  width: 22%;
  padding: min(16px, 1.2903225806vw) min(0px, 0vw) min(14px, 1.1290322581vw) min(20px, 1.6129032258vw);
  font-weight: 400;
  background: #F0F2F6;
  font-size: min(16px, 1.2903225806vw);
  text-align: left;
  line-height: 2;
  vertical-align: middle;
  border-top: 1px solid #D8D8D8;
  border-bottom: 1px solid #D8D8D8;
  justify-content: center;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .p-company-history__table th {
    width: 25%;
  }
}
.p-company-history__table th:last-child {
  border-right: none;
}
@media (max-width: 767px) {
  .p-company-history__table th {
    width: 30%;
    padding: 2.6666666667vw 2.1333333333vw;
    font-size: 3.4666666667vw;
    line-height: 1.5;
    text-align: center;
  }
  .p-company-history__table th:empty {
    background: #fff;
    border-right: none;
    align-items: center;
  }
}
.p-company-history__table td {
  padding: min(10px, 0.8064516129vw) min(30px, 2.4193548387vw);
  background: #fff;
  text-align: left;
  font-weight: 400;
  vertical-align: middle;
  line-height: 2;
  border-right: 1px solid #D8D8D8;
  border-bottom: 1px solid #D8D8D8;
  border-top: 1px solid #D8D8D8;
}
.p-company-history__table td:last-child {
  border-right: none;
}
@media (max-width: 767px) {
  .p-company-history__table td {
    width: 70%;
    padding: 2.6666666667vw 0.5333333333vw 3.7333333333vw 3.4666666667vw;
    font-size: 3.4666666667vw;
    line-height: 1.6;
    vertical-align: middle;
    border-right: none;
  }
}
@media (max-width: 767px) {
  .p-company-history__table {
    overflow-x: visible;
    padding-bottom: 16vw;
  }
}

.page-name-qualified-personnel .p-block-editor h3 {
  line-height: 1.4;
  letter-spacing: 0.048em;
  font-weight: 700;
  margin-bottom: 1em;
  font-size: 4.8vw;
}
@media (min-width: 768px) {
  .page-name-qualified-personnel .p-block-editor h3 {
    font-size: clamp(14px, 1.935483871vw, 24px);
  }
}

/**
 * Swiper 8.4.7
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2023 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: January 30, 2023
 */
@font-face {
  font-family: swiper-icons;
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color:#007aff;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box;
}

.swiper-android .swiper-slide, .swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-pointer-events {
  touch-action: pan-y;
}

.swiper-pointer-events.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

.swiper-autoheight, .swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-3d, .swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-cube-shadow, .swiper-3d .swiper-slide, .swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top, .swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-horizontal.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-vertical.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}

.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}

.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
  height: 1px;
  width: var(--swiper-virtual-size);
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
  width: 1px;
  height: var(--swiper-virtual-size);
}

:root {
  --swiper-navigation-size:44px;
}

.swiper-button-next, .swiper-button-prev {
  position: absolute;
  top: 50%;
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

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

.swiper-button-next.swiper-button-hidden, .swiper-button-prev.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}

.swiper-navigation-disabled .swiper-button-next, .swiper-navigation-disabled .swiper-button-prev {
  display: none !important;
}

.swiper-button-next:after, .swiper-button-prev:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}

.swiper-button-prev, .swiper-rtl .swiper-button-next {
  left: 10px;
  right: auto;
}

.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
  content: "prev";
}

.swiper-button-next, .swiper-rtl .swiper-button-prev {
  right: 10px;
  left: auto;
}

.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {
  content: "next";
}

.swiper-button-lock {
  display: none;
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 0.3s opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-pagination-disabled > .swiper-pagination, .swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: 10px;
  left: 0;
  width: 100%;
}

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: 50%;
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet:only-child {
  display: none !important;
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-pagination-vertical.swiper-pagination-bullets, .swiper-vertical > .swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 0.2s transform, 0.2s top;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s left;
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s right;
}

.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}

.swiper-horizontal > .swiper-pagination-progressbar, .swiper-pagination-progressbar.swiper-pagination-horizontal, .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite, .swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0;
}

.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-vertical, .swiper-vertical > .swiper-pagination-progressbar {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-lock {
  display: none;
}

.swiper-scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1);
}

.swiper-scrollbar-disabled > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%;
}

.swiper-scrollbar.swiper-scrollbar-vertical, .swiper-vertical > .swiper-scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%;
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.swiper-zoom-container > canvas, .swiper-zoom-container > img, .swiper-zoom-container > svg {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.swiper-slide-zoomed {
  cursor: move;
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader, .swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color:#fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color:#000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.swiper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-grid > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-grid-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}

.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-fade .swiper-slide-active, .swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube {
  overflow: visible;
}

.swiper-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-cube.swiper-rtl .swiper-slide {
  transform-origin: 100% 0;
}

.swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-next, .swiper-cube .swiper-slide-next + .swiper-slide, .swiper-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-slide-shadow-bottom, .swiper-cube .swiper-slide-shadow-left, .swiper-cube .swiper-slide-shadow-right, .swiper-cube .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  z-index: 0;
}

.swiper-cube .swiper-cube-shadow:before {
  content: "";
  background: #000;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  filter: blur(50px);
}

.swiper-flip {
  overflow: visible;
}

.swiper-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-flip .swiper-slide-active, .swiper-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-flip .swiper-slide-shadow-bottom, .swiper-flip .swiper-slide-shadow-left, .swiper-flip .swiper-slide-shadow-right, .swiper-flip .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-creative .swiper-slide {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
  transition-property: transform, opacity, height;
}

.swiper-cards {
  overflow: visible;
}

.swiper-cards .swiper-slide {
  transform-origin: center bottom;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
}

/*! 
 * OverlayScrollbars
 * Version: 2.12.0
 * 
 * Copyright (c) Rene Haas | KingSora.
 * https://github.com/KingSora
 * 
 * Released under the MIT license.
 */
.os-size-observer, .os-size-observer-listener {
  box-sizing: border-box;
  direction: inherit;
  overflow: hidden;
  pointer-events: none;
  scroll-behavior: auto !important;
  visibility: hidden;
}

.os-size-observer, .os-size-observer-listener, .os-size-observer-listener-item, .os-size-observer-listener-item-final {
  left: 0;
  position: absolute;
  top: 0;
  writing-mode: horizontal-tb;
}

.os-size-observer {
  border: inherit;
  bottom: 0;
  box-sizing: inherit;
  contain: strict;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  left: 0;
  margin: -133px;
  padding: inherit;
  right: 0;
  top: 0;
  transform: scale(0.1);
  z-index: -1;
}

.os-size-observer:before {
  box-sizing: inherit;
  content: "";
  flex: none;
  height: 10px;
  padding: 10px;
  width: 10px;
}

.os-size-observer-appear {
  animation: os-size-observer-appear-animation 1ms forwards;
}

.os-size-observer-listener {
  border: inherit;
  box-sizing: border-box;
  flex: auto;
  margin: -133px;
  padding: inherit;
  position: relative;
  transform: scale(10);
}

.os-size-observer-listener.ltr {
  margin-left: 0;
  margin-right: -266px;
}

.os-size-observer-listener.rtl {
  margin-left: -266px;
  margin-right: 0;
}

.os-size-observer-listener:empty:before {
  content: "";
  height: 100%;
  width: 100%;
}

.os-size-observer-listener:empty:before, .os-size-observer-listener > .os-size-observer-listener-item {
  border: inherit;
  box-sizing: content-box;
  display: block;
  flex: auto;
  padding: inherit;
  position: relative;
}

.os-size-observer-listener-scroll {
  box-sizing: border-box;
  display: flex;
}

.os-size-observer-listener-item {
  bottom: 0;
  direction: ltr;
  flex: none;
  overflow: hidden;
  right: 0;
}

.os-size-observer-listener-item-final {
  transition: none;
}

@keyframes os-size-observer-appear-animation {
  0% {
    cursor: auto;
  }
  to {
    cursor: none;
  }
}
.os-trinsic-observer {
  border: none;
  box-sizing: border-box;
  contain: strict;
  flex: none;
  height: 0;
  margin: 0;
  max-height: 1px;
  max-width: 0;
  overflow: hidden;
  padding: 0;
  position: relative;
  top: calc(100% + 1px);
  z-index: -1;
}

.os-trinsic-observer:not(:empty) {
  height: calc(100% + 1px);
  top: -1px;
}

.os-trinsic-observer:not(:empty) > .os-size-observer {
  height: 1000%;
  min-height: 1px;
  min-width: 1px;
  width: 1000%;
}

[data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport]), [data-overlayscrollbars-viewport~=scrollbarHidden], html[data-overlayscrollbars-viewport~=scrollbarHidden] > body {
  scrollbar-width: none !important;
}

[data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport])::-webkit-scrollbar, [data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport])::-webkit-scrollbar-corner, [data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar, [data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar-corner, html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar, html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar-corner {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: none !important;
  height: 0 !important;
  width: 0 !important;
}

[data-overlayscrollbars-initialize]:not([data-overlayscrollbars]):not(html):not(body) {
  overflow: auto;
}

html[data-overlayscrollbars-body] {
  overflow: hidden;
}

html[data-overlayscrollbars-body], html[data-overlayscrollbars-body] > body {
  height: 100%;
  margin: 0;
  width: 100%;
}

html[data-overlayscrollbars-body] > body {
  margin: 0;
  overflow: visible;
}

[data-overlayscrollbars] {
  position: relative;
}

[data-overlayscrollbars-padding], [data-overlayscrollbars~=host] {
  align-items: stretch !important;
  display: flex;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  scroll-behavior: auto !important;
}

[data-overlayscrollbars-padding], [data-overlayscrollbars-viewport]:not([data-overlayscrollbars]) {
  border: none;
  box-sizing: inherit;
  flex: auto;
  height: auto;
  margin: 0;
  min-width: 0;
  padding: 0;
  position: relative;
  width: 100%;
  z-index: 0;
}

[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]) {
  --os-vaw:0;
  --os-vah:0;
  outline: none;
}

[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]):focus {
  outline: none;
}

[data-overlayscrollbars-viewport][data-overlayscrollbars-viewport~=arrange]:before {
  content: "";
  height: var(--os-vah);
  min-height: 1px;
  min-width: 1px;
  pointer-events: none;
  position: absolute;
  width: var(--os-vaw);
  z-index: -1;
}

[data-overlayscrollbars-padding], [data-overlayscrollbars~=host] {
  overflow: hidden !important;
}

[data-overlayscrollbars-padding~=noClipping], [data-overlayscrollbars~=host][data-overlayscrollbars~=noClipping] {
  overflow: visible !important;
}

[data-overlayscrollbars-viewport] {
  --os-viewport-overflow-x:hidden;
  --os-viewport-overflow-y:hidden;
  overflow-x: var(--os-viewport-overflow-x);
  overflow-y: var(--os-viewport-overflow-y);
}

[data-overlayscrollbars-viewport~=overflowXVisible] {
  --os-viewport-overflow-x:visible;
}

[data-overlayscrollbars-viewport~=overflowXHidden] {
  --os-viewport-overflow-x:hidden;
}

[data-overlayscrollbars-viewport~=overflowXScroll] {
  --os-viewport-overflow-x:scroll;
}

[data-overlayscrollbars-viewport~=overflowYVisible] {
  --os-viewport-overflow-y:visible;
}

[data-overlayscrollbars-viewport~=overflowYHidden] {
  --os-viewport-overflow-y:hidden;
}

[data-overlayscrollbars-viewport~=overflowYScroll] {
  --os-viewport-overflow-y:scroll;
}

[data-overlayscrollbars-viewport~=overflowImportant] {
  overflow-x: var(--os-viewport-overflow-x) !important;
  overflow-y: var(--os-viewport-overflow-y) !important;
}

[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId) {
  font-size: 0 !important;
  line-height: 0 !important;
}

[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId):after, [data-overlayscrollbars-viewport~=noContent]:not(#osFakeId):before, [data-overlayscrollbars-viewport~=noContent]:not(#osFakeId) > * {
  clip: rect(0, 0, 0, 0) !important;
  border-width: 0 !important;
  display: none !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
}

[data-overlayscrollbars-viewport~=measuring], [data-overlayscrollbars-viewport~=scrolling] {
  scroll-behavior: auto !important;
  scroll-snap-type: none !important;
}

[data-overlayscrollbars-viewport~=measuring][data-overlayscrollbars-viewport~=overflowXVisible] {
  overflow-x: hidden !important;
}

[data-overlayscrollbars-viewport~=measuring][data-overlayscrollbars-viewport~=overflowYVisible] {
  overflow-y: hidden !important;
}

[data-overlayscrollbars-content] {
  box-sizing: inherit;
}

[data-overlayscrollbars-contents]:not(#osFakeId):not([data-overlayscrollbars-padding]):not([data-overlayscrollbars-viewport]):not([data-overlayscrollbars-content]) {
  display: contents;
}

[data-overlayscrollbars-grid], [data-overlayscrollbars-grid] [data-overlayscrollbars-padding] {
  display: grid;
  grid-template: 1fr/1fr;
}

[data-overlayscrollbars-grid] > [data-overlayscrollbars-padding], [data-overlayscrollbars-grid] > [data-overlayscrollbars-padding] > [data-overlayscrollbars-viewport], [data-overlayscrollbars-grid] > [data-overlayscrollbars-viewport] {
  height: auto !important;
  width: auto !important;
}

@property --os-scroll-percent {
  syntax: "<number>";
  inherits: true;
  initial-value: 0;
}
@property --os-viewport-percent {
  syntax: "<number>";
  inherits: true;
  initial-value: 0;
}
.os-scrollbar {
  --os-viewport-percent:0;
  --os-scroll-percent:0;
  --os-scroll-direction:0;
  --os-scroll-percent-directional:calc(var(--os-scroll-percent) - (var(--os-scroll-percent) + (1 - var(--os-scroll-percent))*-1)*var(--os-scroll-direction));
  contain: size layout;
  contain: size layout style;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transition: opacity 0.15s, visibility 0.15s, top 0.15s, right 0.15s, bottom 0.15s, left 0.15s;
  visibility: hidden;
}

body > .os-scrollbar {
  position: fixed;
  z-index: 99999;
}

.os-scrollbar-transitionless {
  transition: none !important;
}

.os-scrollbar-track {
  border: none !important;
  padding: 0 !important;
  position: relative;
}

.os-scrollbar-handle {
  position: absolute;
}

.os-scrollbar-handle, .os-scrollbar-track {
  height: 100%;
  pointer-events: none;
  width: 100%;
}

.os-scrollbar.os-scrollbar-handle-interactive .os-scrollbar-handle, .os-scrollbar.os-scrollbar-track-interactive .os-scrollbar-track {
  pointer-events: auto;
  touch-action: none;
}

.os-scrollbar-horizontal {
  bottom: 0;
  left: 0;
}

.os-scrollbar-vertical {
  right: 0;
  top: 0;
}

.os-scrollbar-rtl.os-scrollbar-horizontal {
  right: 0;
}

.os-scrollbar-rtl.os-scrollbar-vertical {
  left: 0;
  right: auto;
}

.os-scrollbar-visible {
  opacity: 1;
  visibility: visible;
}

.os-scrollbar-auto-hide.os-scrollbar-auto-hide-hidden {
  opacity: 0;
  visibility: hidden;
}

.os-scrollbar-interaction.os-scrollbar-visible {
  opacity: 1;
  visibility: visible;
}

.os-scrollbar-unusable, .os-scrollbar-unusable *, .os-scrollbar-wheel, .os-scrollbar-wheel * {
  pointer-events: none !important;
}

.os-scrollbar-unusable .os-scrollbar-handle {
  opacity: 0 !important;
  transition: none !important;
}

.os-scrollbar-horizontal .os-scrollbar-handle {
  bottom: 0;
  left: calc(var(--os-scroll-percent-directional) * 100%);
  transform: translateX(calc(var(--os-scroll-percent-directional) * -100%));
  width: calc(var(--os-viewport-percent) * 100%);
}

.os-scrollbar-vertical .os-scrollbar-handle {
  height: calc(var(--os-viewport-percent) * 100%);
  right: 0;
  top: calc(var(--os-scroll-percent-directional) * 100%);
  transform: translateY(calc(var(--os-scroll-percent-directional) * -100%));
}

@supports (container-type: size) {
  .os-scrollbar-track {
    container-type: size;
  }
  .os-scrollbar-horizontal .os-scrollbar-handle {
    left: auto;
    transform: translateX(calc(var(--os-scroll-percent-directional) * 100cqw + var(--os-scroll-percent-directional) * -100%));
  }
  .os-scrollbar-vertical .os-scrollbar-handle {
    top: auto;
    transform: translateY(calc(var(--os-scroll-percent-directional) * 100cqh + var(--os-scroll-percent-directional) * -100%));
  }
  .os-scrollbar-rtl.os-scrollbar-horizontal .os-scrollbar-handle {
    left: 0;
    right: auto;
  }
}
.os-scrollbar-rtl.os-scrollbar-vertical .os-scrollbar-handle {
  left: 0;
  right: auto;
}

.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless, .os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless.os-scrollbar-rtl {
  left: 0;
  right: 0;
}

.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless, .os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless.os-scrollbar-rtl {
  bottom: 0;
  top: 0;
}

@media print {
  .os-scrollbar {
    display: none;
  }
}
.os-scrollbar {
  --os-size:0;
  --os-padding-perpendicular:0;
  --os-padding-axis:0;
  --os-track-border-radius:0;
  --os-track-bg:none;
  --os-track-bg-hover:none;
  --os-track-bg-active:none;
  --os-track-border:none;
  --os-track-border-hover:none;
  --os-track-border-active:none;
  --os-handle-border-radius:0;
  --os-handle-bg:none;
  --os-handle-bg-hover:none;
  --os-handle-bg-active:none;
  --os-handle-border:none;
  --os-handle-border-hover:none;
  --os-handle-border-active:none;
  --os-handle-min-size:33px;
  --os-handle-max-size:none;
  --os-handle-perpendicular-size:100%;
  --os-handle-perpendicular-size-hover:100%;
  --os-handle-perpendicular-size-active:100%;
  --os-handle-interactive-area-offset:0;
}

.os-scrollbar-track {
  background: var(--os-track-bg);
  border: var(--os-track-border);
  border-radius: var(--os-track-border-radius);
  transition: opacity 0.15s, background-color 0.15s, border-color 0.15s;
}

.os-scrollbar-track:hover {
  background: var(--os-track-bg-hover);
  border: var(--os-track-border-hover);
}

.os-scrollbar-track:active {
  background: var(--os-track-bg-active);
  border: var(--os-track-border-active);
}

.os-scrollbar-handle {
  background: var(--os-handle-bg);
  border: var(--os-handle-border);
  border-radius: var(--os-handle-border-radius);
}

.os-scrollbar-handle:hover {
  background: var(--os-handle-bg-hover);
  border: var(--os-handle-border-hover);
}

.os-scrollbar-handle:active {
  background: var(--os-handle-bg-active);
  border: var(--os-handle-border-active);
}

.os-scrollbar-handle:before, .os-scrollbar-track:before {
  bottom: 0;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.os-scrollbar-horizontal {
  height: var(--os-size);
  padding: var(--os-padding-perpendicular) var(--os-padding-axis);
  right: var(--os-size);
}

.os-scrollbar-horizontal.os-scrollbar-rtl {
  left: var(--os-size);
  right: 0;
}

.os-scrollbar-horizontal .os-scrollbar-track:before {
  bottom: calc(var(--os-padding-perpendicular) * -1);
  top: calc(var(--os-padding-perpendicular) * -1);
}

.os-scrollbar-horizontal .os-scrollbar-handle {
  height: var(--os-handle-perpendicular-size);
  max-width: var(--os-handle-max-size);
  min-width: var(--os-handle-min-size);
  transition: opacity 0.15s, background-color 0.15s, border-color 0.15s, height 0.15s;
}

.os-scrollbar-horizontal .os-scrollbar-handle:before {
  bottom: calc(var(--os-padding-perpendicular) * -1);
  top: calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);
}

.os-scrollbar-horizontal:hover .os-scrollbar-handle {
  height: var(--os-handle-perpendicular-size-hover);
}

.os-scrollbar-horizontal:active .os-scrollbar-handle {
  height: var(--os-handle-perpendicular-size-active);
}

.os-scrollbar-vertical {
  bottom: var(--os-size);
  padding: var(--os-padding-axis) var(--os-padding-perpendicular);
  width: var(--os-size);
}

.os-scrollbar-vertical .os-scrollbar-track:before {
  left: calc(var(--os-padding-perpendicular) * -1);
  right: calc(var(--os-padding-perpendicular) * -1);
}

.os-scrollbar-vertical .os-scrollbar-handle {
  max-height: var(--os-handle-max-size);
  min-height: var(--os-handle-min-size);
  transition: opacity 0.15s, background-color 0.15s, border-color 0.15s, width 0.15s;
  width: var(--os-handle-perpendicular-size);
}

.os-scrollbar-vertical .os-scrollbar-handle:before {
  left: calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);
  right: calc(var(--os-padding-perpendicular) * -1);
}

.os-scrollbar-vertical.os-scrollbar-rtl .os-scrollbar-handle:before {
  left: calc(var(--os-padding-perpendicular) * -1);
  right: calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);
}

.os-scrollbar-vertical:hover .os-scrollbar-handle {
  width: var(--os-handle-perpendicular-size-hover);
}

.os-scrollbar-vertical:active .os-scrollbar-handle {
  width: var(--os-handle-perpendicular-size-active);
}

.os-theme-none.os-scrollbar, [data-overlayscrollbars-viewport~=measuring] > .os-scrollbar {
  display: none !important;
}

.os-theme-dark, .os-theme-light {
  --os-size:10px;
  --os-padding-perpendicular:2px;
  --os-padding-axis:2px;
  --os-track-border-radius:10px;
  --os-handle-interactive-area-offset:4px;
  --os-handle-border-radius:10px;
  box-sizing: border-box;
}

.os-theme-dark {
  --os-handle-bg:rgba(0,0,0,.44);
  --os-handle-bg-hover:rgba(0,0,0,.55);
  --os-handle-bg-active:rgba(0,0,0,.66);
}

.os-theme-light {
  --os-handle-bg:hsla(0,0%,100%,.44);
  --os-handle-bg-hover:hsla(0,0%,100%,.55);
  --os-handle-bg-active:hsla(0,0%,100%,.66);
}

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