@charset "UTF-8";
/*----------▼▼ Reboot ▼▼----------*/
/*** The new CSS reset - version 1.9 (last updated 19.6.2023) ***/
:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}

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

a, button {
  cursor: revert;
}

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

img {
  max-inline-size: 100%;
  max-block-size: 100%;
}

table {
  border-collapse: collapse;
}

input, textarea {
  -webkit-user-select: auto;
}

textarea {
  white-space: revert;
}

meter {
  -webkit-appearance: revert;
  appearance: revert;
}

:where(pre) {
  all: revert;
}

::placeholder {
  color: unset;
}

::marker {
  content: initial;
}

:where([hidden]) {
  display: none;
}

:where([contenteditable]:not([contenteditable=false])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}

:where([draggable=true]) {
  -webkit-user-drag: element;
}

:where(dialog:modal) {
  all: revert;
}

/*----------▲▲ Reboot ▲▲----------*/
/*----------▼▼ base ▼▼----------*/
html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -ms-overflow-style: scrollbar;
  -webkit-tap-highlight-color: rgba(51, 51, 51, 0);
  overflow: auto;
  font-size: 100%;
}

@-ms-viewport {
  width: device-width;
}
article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
  display: block;
}

html, body, div, p, h1, h2, h3, h4, h5, h6, ul, ol, li, a, span, table, thead, tbody, tfoot, th, td, header, footer, main, section, article, aside, nav {
  box-sizing: border-box;
  line-height: 1.8;
}

body {
  margin: 0;
  text-align: left;
  background-color: #FFF;
  color: #141420;
  font-weight: 400;
  font-family: "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow: hidden;
  position: relative;
  z-index: 0;
}

@media screen and (max-width: 767px) {
  body {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
main {
  position: relative;
  z-index: 10;
}

[tabindex="-1"]:focus {
  outline: 0 !important;
}

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

h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 0;
}

p {
  margin-top: 0;
  margin-bottom: 0;
}

abbr[title],
abbr[data-original-title] {
  text-decoration: underline;
  text-decoration: underline dotted;
  cursor: help;
  border-bottom: 0;
}

address {
  margin-bottom: 10px;
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 0;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}

dt {
  font-weight: bold;
}

dd {
  margin-bottom: 0;
  margin-left: 0;
}

blockquote {
  margin: 0 0 10px;
  margin: 0 0 1rem;
}

dfn {
  font-style: italic;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  color: #0075C1;
  text-decoration: none;
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
  transition: 0.3s;
  cursor: pointer;
}

a:hover {
  text-decoration: none;
  opacity: 0.6;
}
@media screen and (max-width: 767px) {
  a:hover {
    opacity: 1;
  }
}

a:not([href]):not([tabindex]) {
  color: inherit;
  text-decoration: none;
}

a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]) hover {
  color: inherit;
  text-decoration: none;
}

a:not([href]):not([tabindex]):focus {
  outline: 0;
}

a:focus-visible {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color;
}

pre,
code,
kbd,
samp {
  font-family: "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1em;
}

pre {
  margin-top: 0;
  margin-bottom: 10px;
  margin-bottom: 1rem;
  overflow: auto;
  -ms-overflow-style: scrollbar;
}

figure {
  margin: 0;
  margin: 0;
}

img {
  vertical-align: middle;
  border-style: none;
}

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

table {
  border-collapse: collapse;
}

caption {
  padding-top: 7.5px;
  padding-top: 0.75rem;
  padding-bottom: 7.5px;
  padding-bottom: 0.75rem;
  color: #6c757d;
  text-align: left;
  caption-side: bottom;
}

th {
  text-align: inherit;
}

label {
  display: inline-block;
  margin-bottom: 5px;
  margin-bottom: 0.5rem;
}

button {
  border-radius: 0;
}

button:focus-visible {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color;
}

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

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

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

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

input[type=date],
input[type=time],
input[type=datetime-local],
input[type=month] {
  -webkit-appearance: listbox;
}

textarea {
  overflow: auto;
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin-bottom: 5px;
  margin-bottom: 0.5rem;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: inherit;
  color: inherit;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

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

[type=search] {
  outline-offset: -2px;
  -webkit-appearance: none;
}

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

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

output {
  display: inline-block;
}

summary {
  display: list-item;
  cursor: pointer;
}

template {
  display: none;
}

[hidden] {
  display: none !important;
}

/*----------▲▲ base ▲▲----------*/
/*----------▼▼ header ▼▼----------*/
:root {
  --header-h: 81px;
}

@media screen and (max-width: 767px) {
  :root {
    --header-h: clamp(50px, 0px + 15.625vw, 120px);
  }
}
.home main {
  padding-top: 0;
}

main {
  padding-top: var(--header-h);
}

.l-header {
  width: 100%;
  height: var(--header-h);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  background: transparent;
  border-bottom: 1px solid transparent;
  transition: background 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}
.l-header.is-scrolled {
  background: #FFF;
  border-bottom: 1px solid #E6EAF2;
  box-shadow: 0 4px 18px -10px rgba(20, 20, 32, 0.18);
}
.l-header.is-scrolled .l-header__logoMark {
  background: #0075C1;
}
.l-header.is-scrolled .l-header__item a {
  color: #141420;
}
@media (hover: hover) {
  .l-header.is-scrolled .l-header__item a:hover {
    color: #FFF;
    opacity: 1;
  }
}
.l-header.is-scrolled .l-header__searchTrigger svg {
  color: #141420;
}
@media (hover: hover) {
  .l-header.is-scrolled .l-header__searchTrigger:hover {
    background: #F5F7FD;
  }
}
.l-header.is-scrolled .l-header__langGlobe {
  color: #141420;
}
@media (hover: hover) {
  .l-header.is-scrolled .l-header__langGlobe:hover {
    background: #F5F7FD;
  }
}
.l-header.is-scrolled .l-header__contact {
  background: transparent;
  border-color: #0075C1;
  color: #0075C1;
}
@media (hover: hover) {
  .l-header.is-scrolled .l-header__contact:hover {
    background: #0075C1;
    color: #FFF;
    opacity: 1;
  }
}
.l-header.is-scrolled .l-header__hamburgerBars span {
  background: #141420;
}
.l-header__inner {
  width: 100%;
  height: 100%;
  padding: 0 clamp(21.9428571429px, 0px + 2.8571428571vw, 40px);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .l-header__inner {
    padding: 0 5vw;
  }
}
.l-header__logo {
  flex-shrink: 0;
}
.l-header__logo a {
  display: block;
}
.l-header__logoMark {
  display: block;
  width: clamp(120px, 47.0886075949px + 9.4936708861vw, 180px);
  height: clamp(12px, 4.7088607595px + 0.9493670886vw, 18px);
  background: #FFF;
  mask-repeat: no-repeat;
  mask-position: left center;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: left center;
  -webkit-mask-size: contain;
  transition: background 0.25s ease;
}
@media screen and (max-width: 767px) {
  .l-header__logoMark {
    width: clamp(133.3333333333px, 0px + 41.6666666667vw, 320px);
    height: clamp(13.3333333333px, 0px + 4.1666666667vw, 32px);
  }
}
@media screen and (max-width: 1200px) {
  .l-header__nav {
    display: none;
  }
}
.l-header__list {
  display: flex;
  gap: clamp(2.1942857143px, 0px + 0.2857142857vw, 4px);
  list-style: none;
}
.l-header__item a {
  display: block;
  font-size: clamp(0.625rem, 0.3212025316rem + 0.6329113924vw, 0.875rem);
  font-weight: 500;
  color: #FFF;
  text-decoration: none;
  padding: 3px clamp(2px, -7.7215189873px + 1.2658227848vw, 10px);
  border-radius: 2px;
  white-space: nowrap;
  line-height: 1.6;
  position: relative;
  overflow: hidden;
  z-index: 0;
  transition: color 0.25s ease;
}
.l-header__item a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0;
  background: #0075C1;
  transition: width 0.25s ease-out;
  z-index: -1;
}
@media (hover: hover) {
  .l-header__item a:hover {
    color: #FFF;
    opacity: 1;
  }
  .l-header__item a:hover::before {
    width: 100%;
  }
}
.l-header__tools {
  display: flex;
  align-items: center;
  gap: clamp(5.4857142857px, 0px + 0.7142857143vw, 10px);
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .l-header__tools {
    gap: clamp(8.3333333333px, 0px + 2.6041666667vw, 20px);
  }
}
.l-header__search {
  position: relative;
}
.l-header__searchTrigger {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  background: transparent;
  border: 0;
  padding: 0;
  transition: background 0.2s ease;
}
@media screen and (max-width: 767px) {
  .l-header__searchTrigger {
    width: clamp(28.3333333333px, 0px + 8.8541666667vw, 68px);
    height: clamp(28.3333333333px, 0px + 8.8541666667vw, 68px);
  }
}
.l-header__searchTrigger svg {
  width: 16px;
  height: 16px;
  color: #FFF;
}
@media screen and (max-width: 767px) {
  .l-header__searchTrigger svg {
    width: clamp(13.3333333333px, 0px + 4.1666666667vw, 32px);
    height: clamp(13.3333333333px, 0px + 4.1666666667vw, 32px);
  }
}
@media (hover: hover) {
  .l-header__searchTrigger:hover {
    background: rgba(255, 255, 255, 0.08);
  }
}
.l-header__searchDrop {
  position: absolute;
  top: 100%;
  left: 50%;
  margin-top: 8px;
  background: #FFF;
  border: 1px solid #E6EAF2;
  border-radius: 24px;
  padding: 6px 14px;
  width: 260px;
  display: flex;
  align-items: center;
  gap: 8px;
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, -4px);
  transition: all 0.2s ease;
  box-shadow: 0 10px 30px -10px rgba(20, 20, 32, 0.18);
}
@media screen and (max-width: 767px) {
  .l-header__searchDrop {
    margin-top: clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
    border-radius: clamp(20px, 0px + 6.25vw, 48px);
    padding: clamp(5px, 0px + 1.5625vw, 12px) clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
    width: clamp(216.6666666667px, 0px + 67.7083333333vw, 520px);
    gap: clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
    transform: translate(-60%, -fclamp(sp, 8));
  }
}
.l-header__search:hover .l-header__searchDrop, .l-header__search:focus-within .l-header__searchDrop {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}
@media screen and (max-width: 767px) {
  .l-header__search:hover .l-header__searchDrop, .l-header__search:focus-within .l-header__searchDrop {
    transform: translate(-60%, 0);
  }
}
.l-header__searchDrop svg {
  width: 14px;
  height: 14px;
  color: #707080;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .l-header__searchDrop svg {
    width: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
    height: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
  }
}
.l-header__searchDrop input {
  flex: 1;
  border: 0;
  outline: 0;
  background: transparent;
  font-size: 0.8125rem;
  font-family: inherit;
  color: #141420;
}
@media screen and (max-width: 767px) {
  .l-header__searchDrop input {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
  }
}
.l-header__searchDrop input::placeholder {
  color: #707080;
}
.l-header__searchDrop input:focus::placeholder {
  color: transparent;
}
.l-header__searchForm {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .l-header__searchForm {
    gap: clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
  }
}
.l-header__lang {
  position: relative;
}
.l-header__langGlobe {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  background: transparent;
  border: 0;
  padding: 0;
  color: #FFF;
  transition: background 0.2s ease, color 0.2s ease;
}
@media screen and (max-width: 767px) {
  .l-header__langGlobe {
    width: clamp(28.3333333333px, 0px + 8.8541666667vw, 68px);
    height: clamp(28.3333333333px, 0px + 8.8541666667vw, 68px);
  }
}
.l-header__langGlobe svg {
  width: 18px;
  height: 18px;
}
@media screen and (max-width: 767px) {
  .l-header__langGlobe svg {
    width: clamp(15px, 0px + 4.6875vw, 36px);
    height: clamp(15px, 0px + 4.6875vw, 36px);
  }
}
@media (hover: hover) {
  .l-header__langGlobe:hover {
    background: rgba(255, 255, 255, 0.08);
  }
}
.l-header__langDrop {
  position: absolute;
  top: 100%;
  left: 50%;
  margin-top: 8px;
  background: #FFF;
  border: 1px solid #E6EAF2;
  border-radius: 6px;
  padding: 8px 0;
  min-width: 140px;
  display: flex;
  flex-direction: column;
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, -4px);
  transition: all 0.2s ease;
  box-shadow: 0 12px 30px -10px rgba(20, 20, 32, 0.2);
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .l-header__langDrop {
    margin-top: clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
    border-radius: clamp(5px, 0px + 1.5625vw, 12px);
    padding: clamp(6.6666666667px, 0px + 2.0833333333vw, 16px) 0;
    min-width: clamp(116.6666666667px, 0px + 36.4583333333vw, 280px);
    transform: translate(-50%, -fclamp(sp, 8));
  }
}
.l-header__lang:hover .l-header__langDrop {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}
.l-header__langItem {
  padding: 8px 18px;
  font-size: 0.8125rem;
  color: #141420;
  text-decoration: none;
  font-weight: 400;
  transition: background 0.15s ease;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
@media screen and (max-width: 767px) {
  .l-header__langItem {
    padding: clamp(6.6666666667px, 0px + 2.0833333333vw, 16px) clamp(15px, 0px + 4.6875vw, 36px);
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
    gap: clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
  }
}
@media (hover: hover) {
  .l-header__langItem:hover {
    background: #F5F7FD;
    color: #0075C1;
    opacity: 1;
  }
}
.l-header__langItem.is-current {
  font-weight: 700;
  color: #0075C1;
}
.l-header__langItem.is-current::after {
  content: "✓";
  font-size: 0.6875rem;
  color: #0075C1;
}
@media screen and (max-width: 767px) {
  .l-header__langItem.is-current::after {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
  }
}
.l-header__contact {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 34px;
  padding: 0 16px;
  border-radius: 18px;
  font-size: 0.75rem;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-decoration: none;
  white-space: nowrap;
  background: rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.55);
  color: #FFF;
  transition: 0.2s;
}
@media screen and (max-width: 767px) {
  .l-header__contact {
    display: none;
  }
}
@media (hover: hover) {
  .l-header__contact:hover {
    background: #0075C1;
    border-color: #0075C1;
    color: #FFF;
    opacity: 1;
  }
}
.l-header__extGroup {
  display: inline-flex;
  align-items: center;
  gap: 3px;
}
@media screen and (max-width: 767px) {
  .l-header__extGroup {
    display: none;
  }
}
.l-header__extBtn {
  height: 30px;
  padding: 0 12px;
  border-radius: 3px;
  font-size: 0.6875rem;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  letter-spacing: 0.08em;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  text-decoration: none;
  color: #FFF;
  line-height: 1;
  transition: 0.2s;
}
.l-header__extBtn.is-recruit {
  background: #FF9C00;
}
@media (hover: hover) {
  .l-header__extBtn.is-recruit:hover {
    background: #e88a00;
    opacity: 1;
  }
}
.l-header__extBtn.is-clubphi {
  background: #0075C1;
}
@media (hover: hover) {
  .l-header__extBtn.is-clubphi:hover {
    background: #005d9b;
    opacity: 1;
  }
}
.l-header__extIcon {
  width: 11px;
  height: 11px;
  display: inline-block;
  background: #FFF;
  -webkit-mask-image: url(../img/common/icon-external.svg);
  mask-image: url(../img/common/icon-external.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}
.l-header__hamburger {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border-radius: 50%;
  background: transparent;
  border: 0;
  padding: 0;
  transition: background 0.2s ease;
}
@media screen and (max-width: 767px) {
  .l-header__hamburger {
    width: clamp(33.3333333333px, 0px + 10.4166666667vw, 80px);
    height: clamp(33.3333333333px, 0px + 10.4166666667vw, 80px);
  }
}
@media (hover: hover) {
  .l-header__hamburger:hover {
    background: rgba(255, 255, 255, 0.08);
  }
}
.l-header__hamburgerBars {
  width: 18px;
  height: 14px;
  position: relative;
  display: block;
}
@media screen and (max-width: 767px) {
  .l-header__hamburgerBars {
    width: clamp(15px, 0px + 4.6875vw, 36px);
    height: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
  }
}
.l-header__hamburgerBars span {
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  background: #FFF;
  border-radius: 1px;
  transition: transform 0.3s ease, top 0.3s ease, opacity 0.2s ease, background 0.25s ease;
}
@media screen and (max-width: 767px) {
  .l-header__hamburgerBars span {
    height: clamp(1.6666666667px, 0px + 0.5208333333vw, 4px);
  }
}
.l-header__hamburgerBars span:nth-child(1) {
  top: 0;
}
.l-header__hamburgerBars span:nth-child(2) {
  top: 6px;
}
.l-header__hamburgerBars span:nth-child(3) {
  top: 12px;
}
@media screen and (max-width: 767px) {
  .l-header__hamburgerBars span:nth-child(1) {
    top: 0;
  }
  .l-header__hamburgerBars span:nth-child(2) {
    top: clamp(5px, 0px + 1.5625vw, 12px);
  }
  .l-header__hamburgerBars span:nth-child(3) {
    top: clamp(10px, 0px + 3.125vw, 24px);
  }
}

body.is-menuOpen .l-header__hamburgerBars span:nth-child(1) {
  top: 6px;
  transform: rotate(45deg);
}
body.is-menuOpen .l-header__hamburgerBars span:nth-child(2) {
  opacity: 0;
}
body.is-menuOpen .l-header__hamburgerBars span:nth-child(3) {
  top: 6px;
  transform: rotate(-45deg);
}

.l-header__overlay {
  position: fixed;
  inset: 0;
  z-index: 200;
  background: #0E1626;
  color: #FFF;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease, visibility 0.4s ease;
  overflow-y: auto;
}
body.is-menuOpen .l-header__overlay {
  opacity: 1;
  visibility: visible;
}

.l-header__overlayClose {
  position: fixed;
  top: calc((var(--header-h) - 40px) / 2);
  right: clamp(21.9428571429px, 0px + 2.8571428571vw, 40px);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 201;
  transition: background 0.2s ease;
}
@media screen and (max-width: 767px) {
  .l-header__overlayClose {
    top: calc((var(--header-h) - clamp(33.3333333333px, 0px + 10.4166666667vw, 80px)) / 2);
    right: 5vw;
    width: clamp(33.3333333333px, 0px + 10.4166666667vw, 80px);
    height: clamp(33.3333333333px, 0px + 10.4166666667vw, 80px);
  }
}
body.is-menuOpen .l-header__overlayClose {
  display: flex;
}
@media (hover: hover) {
  .l-header__overlayClose:hover {
    background: rgba(255, 255, 255, 0.08);
  }
}
.l-header__overlayClose::before, .l-header__overlayClose::after {
  content: "";
  position: absolute;
  width: 18px;
  height: 2px;
  background: #FFF;
  border-radius: 1px;
}
@media screen and (max-width: 767px) {
  .l-header__overlayClose::before, .l-header__overlayClose::after {
    width: clamp(15px, 0px + 4.6875vw, 36px);
    height: clamp(1.6666666667px, 0px + 0.5208333333vw, 4px);
    border-radius: clamp(0.8333333333px, 0px + 0.2604166667vw, 2px);
  }
}
.l-header__overlayClose::before {
  transform: rotate(45deg);
}
.l-header__overlayClose::after {
  transform: rotate(-45deg);
}

.l-header__overlayInner {
  max-width: 1300px;
  margin: 0 auto;
  padding: 80px 60px 60px;
}
@media screen and (max-width: 767px) {
  .l-header__overlayInner {
    padding: clamp(66.6666666667px, 0px + 20.8333333333vw, 160px) 5vw clamp(50px, 0px + 15.625vw, 120px);
  }
}
.l-header__overlayInner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 767px) {
  .l-header__overlayInner {
    grid-template-columns: repeat(2, 1fr);
  }
}
.l-header__overlayInner {
  gap: 40px 48px;
}
@media screen and (max-width: 767px) {
  .l-header__overlayInner {
    gap: clamp(33.3333333333px, 0px + 10.4166666667vw, 80px) clamp(25px, 0px + 7.8125vw, 60px);
  }
}

.l-header__overlayCol {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
@media screen and (max-width: 767px) {
  .l-header__overlayCol {
    gap: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
  }
}

.l-header__overlayColHead {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.375rem;
}
@media screen and (max-width: 767px) {
  .l-header__overlayColHead {
    font-size: clamp(0.9375rem, 0rem + 4.6875vw, 2.25rem);
  }
}
.l-header__overlayColHead {
  font-weight: 700;
  color: #FFF;
  margin: 0;
  letter-spacing: 0.04em;
  padding-bottom: 14px;
}
@media screen and (max-width: 767px) {
  .l-header__overlayColHead {
    padding-bottom: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
  }
}
.l-header__overlayColHead {
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  display: flex;
  align-items: baseline;
  gap: 14px;
}
@media screen and (max-width: 767px) {
  .l-header__overlayColHead {
    flex-direction: column;
    align-items: flex-start;
    gap: clamp(2.5px, 0px + 0.78125vw, 6px);
  }
}
.l-header__overlayColHead a {
  color: #FFF;
  text-decoration: none;
  position: relative;
  display: inline-block;
  transition: color 0.2s ease;
}
.l-header__overlayColHead a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -2px;
  height: 1px;
  background: #FFF;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
}
@media (hover: hover) {
  .l-header__overlayColHead a:hover {
    opacity: 1;
  }
  .l-header__overlayColHead a:hover::after {
    transform: scaleX(1);
  }
}

.l-header__overlayColEn {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
}
@media screen and (max-width: 767px) {
  .l-header__overlayColEn {
    font-size: clamp(0.4166666667rem, 0rem + 2.0833333333vw, 1rem);
  }
}
.l-header__overlayColEn {
  letter-spacing: 0.2em;
  color: #7FB6F4;
  text-transform: uppercase;
  font-weight: 600;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .l-header__overlayColEn {
    margin-left: 0;
  }
}

.l-header__overlayCol ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
@media screen and (max-width: 767px) {
  .l-header__overlayCol ul {
    gap: clamp(1.6666666667px, 0px + 0.5208333333vw, 4px);
  }
}
.l-header__overlayCol ul li a {
  display: inline-block;
  font-size: 0.875rem;
}
@media screen and (max-width: 767px) {
  .l-header__overlayCol ul li a {
    font-size: clamp(0.5729166667rem, 0rem + 2.8645833333vw, 1.375rem);
  }
}
.l-header__overlayCol ul li a {
  color: #A8B3C6;
  text-decoration: none;
  padding: 4px 0;
}
@media screen and (max-width: 767px) {
  .l-header__overlayCol ul li a {
    padding: clamp(3.3333333333px, 0px + 1.0416666667vw, 8px) 0;
  }
}
.l-header__overlayCol ul li a {
  letter-spacing: 0.02em;
  transition: color 0.2s ease;
  position: relative;
}
.l-header__overlayCol ul li a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: #FFF;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
}
@media (hover: hover) {
  .l-header__overlayCol ul li a:hover {
    color: #FFF;
    opacity: 1;
  }
  .l-header__overlayCol ul li a:hover::after {
    transform: scaleX(1);
  }
}

.l-header__overlayLinkIcon {
  width: 11px;
  height: 11px;
}
@media screen and (max-width: 767px) {
  .l-header__overlayLinkIcon {
    width: clamp(9.1666666667px, 0px + 2.8645833333vw, 22px);
    height: clamp(9.1666666667px, 0px + 2.8645833333vw, 22px);
  }
}
.l-header__overlayLinkIcon {
  display: inline-block;
  margin-left: 5px;
  vertical-align: middle;
  background: #A8B3C6;
  -webkit-mask-image: url(../img/common/icon-external.svg);
  mask-image: url(../img/common/icon-external.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  transition: background 0.2s ease;
}
.l-header__overlayCol ul li a:hover .l-header__overlayLinkIcon {
  background: #FFF;
}

.l-header__overlayFoot {
  max-width: 1300px;
  margin: 24px auto 0;
}
@media screen and (max-width: 767px) {
  .l-header__overlayFoot {
    margin: 0 auto;
  }
}
.l-header__overlayFoot {
  padding: 32px 60px 80px;
}
@media screen and (max-width: 767px) {
  .l-header__overlayFoot {
    padding: clamp(26.6666666667px, 0px + 8.3333333333vw, 64px) 5vw clamp(33.3333333333px, 0px + 10.4166666667vw, 80px);
  }
}
.l-header__overlayFoot {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .l-header__overlayFoot {
    flex-direction: column;
    align-items: stretch;
  }
}
.l-header__overlayFoot {
  gap: 32px;
}
@media screen and (max-width: 767px) {
  .l-header__overlayFoot {
    gap: clamp(26.6666666667px, 0px + 8.3333333333vw, 64px);
  }
}
.l-header__overlayFoot {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.l-header__overlayExtRow {
  display: flex;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .l-header__overlayExtRow {
    width: 100%;
    gap: clamp(8.3333333333px, 0px + 2.6041666667vw, 20px);
  }
}

.l-header__overlayExtBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .l-header__overlayExtBtn {
    flex: 1;
    gap: clamp(8.3333333333px, 0px + 2.6041666667vw, 20px);
  }
}
.l-header__overlayExtBtn {
  background: rgba(255, 255, 255, 0.08);
  color: #FFF;
  padding: 14px 22px;
}
@media screen and (max-width: 767px) {
  .l-header__overlayExtBtn {
    padding: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px) clamp(18.3333333333px, 0px + 5.7291666667vw, 44px);
  }
}
.l-header__overlayExtBtn {
  border-radius: 4px;
}
@media screen and (max-width: 767px) {
  .l-header__overlayExtBtn {
    border-radius: clamp(3.3333333333px, 0px + 1.0416666667vw, 8px);
  }
}
.l-header__overlayExtBtn {
  text-decoration: none;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.8125rem;
}
@media screen and (max-width: 767px) {
  .l-header__overlayExtBtn {
    font-size: clamp(0.6770833333rem, 0rem + 3.3854166667vw, 1.625rem);
  }
}
.l-header__overlayExtBtn {
  font-weight: 600;
  letter-spacing: 0.08em;
  transition: 0.2s;
}
@media (hover: hover) {
  .l-header__overlayExtBtn:hover {
    background: #0075C1;
    opacity: 1;
  }
  .l-header__overlayExtBtn.is-recruit:hover {
    background: #FF9C00;
  }
}
@media (hover: none) {
  .l-header__overlayExtBtn {
    background: #0075C1;
  }
  .l-header__overlayExtBtn.is-recruit {
    background: #FF9C00;
  }
}

.l-header__overlayExtIcon {
  width: 13px;
  height: 13px;
}
@media screen and (max-width: 767px) {
  .l-header__overlayExtIcon {
    width: clamp(10.8333333333px, 0px + 3.3854166667vw, 26px);
    height: clamp(10.8333333333px, 0px + 3.3854166667vw, 26px);
  }
}
.l-header__overlayExtIcon {
  background: #FFF;
  -webkit-mask-image: url(../img/common/icon-external.svg);
  mask-image: url(../img/common/icon-external.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  display: inline-block;
}

.l-header__overlayFootNav {
  display: flex;
  gap: 28px;
}
@media screen and (max-width: 767px) {
  .l-header__overlayFootNav {
    gap: clamp(23.3333333333px, 0px + 7.2916666667vw, 56px);
  }
}

.l-header__overlayFootLink {
  position: relative;
  display: inline-block;
  font-size: 0.875rem;
}
@media screen and (max-width: 767px) {
  .l-header__overlayFootLink {
    font-size: clamp(0.6770833333rem, 0rem + 3.3854166667vw, 1.625rem);
  }
}
.l-header__overlayFootLink {
  color: #A8B3C6;
  text-decoration: none;
  letter-spacing: 0.02em;
  transition: color 0.2s ease;
}
.l-header__overlayFootLink::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -4px;
  height: 1px;
  background: #FFF;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
}
@media (hover: hover) {
  .l-header__overlayFootLink:hover {
    color: #FFF;
    opacity: 1;
  }
  .l-header__overlayFootLink:hover::after {
    transform: scaleX(1);
  }
}

/*----------▲▲ header ▲▲----------*/
/*----------▼▼ footer ▼▼----------*/
.l-footer {
  position: relative;
  z-index: 90;
  background: #0E1626;
  color: #A8B3C6;
}
.l-footer__inner {
  padding: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px) 7vw 0;
}
@media screen and (max-width: 767px) {
  .l-footer__inner {
    padding: clamp(40px, 0px + 12.5vw, 96px) 5vw 0;
  }
}
.l-footer__grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1.1fr 1fr 1fr 1fr 1.4fr;
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .l-footer__grid {
    grid-template-columns: 1fr 1fr;
    gap: clamp(20px, 0px + 6.25vw, 48px) clamp(16.6666666667px, 0px + 5.2083333333vw, 40px);
  }
}
@media screen and (max-width: 767px) {
  .l-footer__brand {
    grid-column: 1/-1;
    margin-bottom: clamp(20px, 0px + 6.25vw, 48px);
  }
}
@media screen and (max-width: 767px) {
  .l-footer__col {
    display: contents;
  }
}
.l-footer__logo {
  display: block;
  width: fit-content;
  margin-bottom: clamp(8.7771428571px, 0px + 1.1428571429vw, 16px);
}
@media screen and (max-width: 767px) {
  .l-footer__logo {
    margin-bottom: clamp(13.3333333333px, 0px + 4.1666666667vw, 32px);
  }
}
.l-footer__logoMark {
  display: block;
  width: 180px;
  height: 18px;
  background: #FFF;
  mask-repeat: no-repeat;
  mask-position: left center;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: left center;
  -webkit-mask-size: contain;
}
@media screen and (max-width: 767px) {
  .l-footer__logoMark {
    width: clamp(183.3333333333px, 0px + 57.2916666667vw, 440px);
    height: clamp(18.3333333333px, 0px + 5.7291666667vw, 44px);
  }
}
.l-footer__addr {
  font-style: normal;
  font-size: 0.6875rem;
}
@media screen and (max-width: 767px) {
  .l-footer__addr {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.l-footer__addr {
  line-height: 1.85;
  color: #7B8699;
}
.l-footer__heading {
  font-size: 0.8125rem;
}
@media screen and (max-width: 767px) {
  .l-footer__heading {
    font-size: clamp(0.78125rem, 0rem + 3.90625vw, 1.875rem);
  }
}
.l-footer__heading {
  font-weight: 700;
  color: #FFF;
  margin: 0 0 clamp(8.7771428571px, 0px + 1.1428571429vw, 16px);
}
@media screen and (max-width: 767px) {
  .l-footer__heading {
    margin: 0;
  }
}
.l-footer__heading a {
  color: #FFF;
  text-decoration: none;
  transition: text-decoration 0.2s ease;
}
@media (hover: hover) {
  .l-footer__heading a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
    opacity: 1;
  }
}
.l-footer__list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 9px;
}
@media screen and (max-width: 767px) {
  .l-footer__list {
    display: none;
  }
}
.l-footer__list a {
  color: #A8B3C6;
  text-decoration: none;
  font-size: 0.75rem;
  line-height: 1.6;
  transition: color 0.2s ease;
}
@media (hover: hover) {
  .l-footer__list a:hover {
    color: #FFF;
    opacity: 1;
  }
}
.l-footer__stack {
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  .l-footer__stack {
    display: contents;
  }
}
.l-footer__stackBlock + .l-footer__stackBlock {
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .l-footer__stackBlock {
    display: contents;
  }
}
.l-footer__cta {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .l-footer__cta {
    grid-column: 1/-1;
    flex-direction: row;
    gap: clamp(8.3333333333px, 0px + 2.6041666667vw, 20px);
    margin-top: clamp(20px, 0px + 6.25vw, 48px);
  }
}
.l-footer__ctaCard {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
@media screen and (max-width: 767px) {
  .l-footer__ctaCard {
    flex: 1;
    gap: clamp(3.3333333333px, 0px + 1.0416666667vw, 8px);
  }
}
.l-footer__ctaCard {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 6px;
}
@media screen and (max-width: 767px) {
  .l-footer__ctaCard {
    border-radius: clamp(5px, 0px + 1.5625vw, 12px);
  }
}
.l-footer__ctaCard {
  padding: 14px 16px;
}
@media screen and (max-width: 767px) {
  .l-footer__ctaCard {
    padding: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px) clamp(13.3333333333px, 0px + 4.1666666667vw, 32px);
  }
}
.l-footer__ctaCard {
  text-decoration: none;
  color: #FFF;
  transition: all 0.25s ease;
}
@media (hover: hover) {
  .l-footer__ctaCard:hover {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(127, 182, 244, 0.3);
    opacity: 1;
  }
}
.l-footer__ctaCard.is-recruit .l-footer__ctaLabel {
  color: #FFB84D;
}
@media (hover: hover) {
  .l-footer__ctaCard.is-recruit:hover {
    border-color: rgba(255, 156, 0, 0.4);
  }
}
.l-footer__ctaCard.is-clubphi .l-footer__ctaLabel {
  color: #7FB6F4;
}
.l-footer__ctaLabel {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
}
@media screen and (max-width: 767px) {
  .l-footer__ctaLabel {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
  }
}
.l-footer__ctaLabel {
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 8px;
}
.l-footer__ctaTitle {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.8125rem;
}
@media screen and (max-width: 767px) {
  .l-footer__ctaTitle {
    font-size: clamp(0.6770833333rem, 0rem + 3.3854166667vw, 1.625rem);
  }
}
.l-footer__ctaTitle {
  font-weight: 700;
  color: #FFF;
  letter-spacing: 0.02em;
}
.l-footer__ctaDesc {
  font-size: 0.6875rem;
}
@media screen and (max-width: 767px) {
  .l-footer__ctaDesc {
    font-size: clamp(0.5729166667rem, 0rem + 2.8645833333vw, 1.375rem);
  }
}
.l-footer__ctaDesc {
  color: #A8B3C6;
  line-height: 1.6;
}
.l-footer__extIcon {
  width: 11px;
  height: 11px;
  display: inline-block;
  background: #FFF;
  -webkit-mask-image: url(../img/common/icon-external.svg);
  mask-image: url(../img/common/icon-external.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  margin-left: auto;
  opacity: 0.7;
  transition: opacity 0.2s ease;
}
@media screen and (max-width: 767px) {
  .l-footer__extIcon {
    width: clamp(9.1666666667px, 0px + 2.8645833333vw, 22px);
    height: clamp(9.1666666667px, 0px + 2.8645833333vw, 22px);
  }
}
.l-footer__list a .l-footer__extIcon {
  margin-left: 5px;
  vertical-align: middle;
  background: #A8B3C6;
}
.l-footer__list a:hover .l-footer__extIcon {
  background: #FFF;
}
.l-footer__ctaCard:hover .l-footer__extIcon {
  opacity: 1;
}
.l-footer__bottom {
  margin-top: clamp(26.3314285714px, 0px + 3.4285714286vw, 48px);
}
@media screen and (max-width: 767px) {
  .l-footer__bottom {
    margin-top: clamp(33.3333333333px, 0px + 10.4166666667vw, 80px);
  }
}
.l-footer__bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding: 24px 0;
}
@media screen and (max-width: 767px) {
  .l-footer__bottom {
    padding: clamp(20px, 0px + 6.25vw, 48px) 0;
  }
}
.l-footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .l-footer__bottom {
    flex-direction: column-reverse;
    align-items: flex-start;
    gap: clamp(13.3333333333px, 0px + 4.1666666667vw, 32px);
  }
}
.l-footer__copyright {
  font-size: 0.6875rem;
}
@media screen and (max-width: 767px) {
  .l-footer__copyright {
    font-size: clamp(0.5729166667rem, 0rem + 2.8645833333vw, 1.375rem);
  }
}
.l-footer__copyright {
  color: #7B8699;
}
.l-footer__bottom-links {
  display: flex;
  gap: 20px;
  list-style: none;
}
@media screen and (max-width: 767px) {
  .l-footer__bottom-links {
    flex-wrap: wrap;
    gap: clamp(10px, 0px + 3.125vw, 24px) clamp(16.6666666667px, 0px + 5.2083333333vw, 40px);
  }
}
.l-footer__bottom-links a {
  color: #7B8699;
  text-decoration: none;
  font-size: 0.6875rem;
}
@media screen and (max-width: 767px) {
  .l-footer__bottom-links a {
    font-size: clamp(0.5729166667rem, 0rem + 2.8645833333vw, 1.375rem);
  }
}
.l-footer__bottom-links a {
  transition: color 0.2s ease;
}
@media (hover: hover) {
  .l-footer__bottom-links a:hover {
    color: #FFF;
    opacity: 1;
  }
}

/*----------▲▲ footer ▲▲----------*/
/*----------▼▼ common ▼▼----------*/
html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--header-h);
}

body {
  overflow: clip;
}

.l-inner {
  padding: 0 7vw;
  max-width: 1400px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .l-inner {
    padding: 0 5vw;
  }
}

/*----------▲▲ common ▲▲----------*/
/*----------▼▼ module ▼▼----------*/
/*----------▲▲ module ▲▲----------*/
/*----------▼▼ cookie ▼▼----------*/
.c-cookieConsent {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: fixed;
  z-index: 150;
  bottom: -100px;
  left: calc(50% - 40vw);
  width: 80vw;
  background-color: rgb(255, 255, 255);
  padding: 16px 30px;
  border-radius: 5px;
  box-sizing: border-box;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1);
  visibility: visible;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .c-cookieConsent {
    display: block;
    bottom: -200px;
    padding: 20px 20px;
    left: 30px;
    width: calc(100% - 60px);
    text-align: center;
  }
}
.c-cookieConsent.is-show {
  bottom: 30px;
}
@media screen and (max-width: 767px) {
  .c-cookieConsent.is-show {
    bottom: 30px;
  }
}
.c-cookieConsent__text {
  width: 90%;
  font-size: 0.875rem;
}
@media screen and (max-width: 767px) {
  .c-cookieConsent__text {
    width: 100%;
    text-align: left;
  }
}
.c-cookieConsent__agree {
  font-size: 0.875rem;
  color: #141420;
  background-color: #FFF;
  border: solid 1px #CCC;
  padding: 10px 30px;
  border-radius: 30px;
  cursor: pointer;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .c-cookieConsent__agree {
    display: inline-block;
    text-align: center;
    margin: 10px auto 0;
  }
}
.c-cookieConsent__agree:hover {
  opacity: 0.6;
  color: #FFF;
  background-color: #0075C1;
}

.c-cookieConsent.is-ccHide {
  animation: hide 1s linear 0s;
  animation-fill-mode: forwards;
}

@keyframes hide {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    visibility: hidden;
  }
}
/*----------▲▲ cookie ▲▲----------*/
/*----------▼▼ wysiwyg ▼▼----------*/
.c-wysiwyg h2,
.c-wysiwyg h3,
.c-wysiwyg h4,
.c-wysiwyg h5,
.c-wysiwyg h6 {
  margin: 0;
  padding: 0;
  margin-top: 60px;
}
.c-wysiwyg h2 {
  font-weight: normal;
  font-size: 26px;
  line-height: 38px;
  text-align: left;
  color: #333;
  padding-bottom: 40px;
  border-bottom: solid 1px #ccc;
}
.c-wysiwyg h3 {
  font-weight: normal;
  font-size: 24px;
  line-height: 38px;
  text-align: left;
  color: #333;
  padding-left: 30px;
  border-left: solid 1px #ccc;
}
.c-wysiwyg h4 {
  font-weight: normal;
  font-size: 18px;
  line-height: 33px;
  color: #111;
}
.c-wysiwyg h5 {
  font-weight: normal;
  font-size: 16px;
  line-height: 32px;
  color: #111;
}
.c-wysiwyg h6 {
  font-weight: normal;
  font-size: 16px;
  line-height: 32px;
  color: #999;
}
.c-wysiwyg p {
  font-weight: normal;
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 32px;
  color: #333;
  margin-top: 48px;
}
.c-wysiwyg p a {
  text-decoration: underline;
  word-break: break-all;
}
.c-wysiwyg li {
  font-weight: normal;
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 26px;
  text-align: left;
  color: #333;
  padding-left: 30px;
  position: relative;
}
.c-wysiwyg li + li {
  margin-top: 20px;
}
.c-wysiwyg ul,
.c-wysiwyg ol {
  margin: 30px 0;
}
.c-wysiwyg ul li::before {
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 32px;
  color: #333;
  content: "・";
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0;
}
.c-wysiwyg ol {
  list-style: none;
  padding-left: 0;
  counter-reset: n;
}
.c-wysiwyg ol li:before {
  content: counter(n);
  counter-increment: n;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 32px;
  color: #333;
  position: absolute;
  left: 0;
  top: 0;
}
.c-wysiwyg img {
  max-width: 100%;
  height: auto;
}
.c-wysiwyg table {
  border-collapse: collapse;
  width: 100%;
  border-top: 1px solid #ccc;
  margin-top: 40px;
}
.c-wysiwyg table tr {
  border-bottom: 1px solid #ccc;
}
.c-wysiwyg table th,
.c-wysiwyg table td {
  font-size: 16px;
  color: #333;
  padding: 1em;
}
.c-wysiwyg table th {
  font-weight: bold;
  width: 20%;
  background-color: #F4F3F0;
}
.c-wysiwyg dl {
  line-height: 36px;
}
.c-wysiwyg dl dt {
  font-weight: bold;
  font-size: 16px;
  color: #333;
}
.c-wysiwyg dl dd {
  font-weight: normal;
  font-size: 16px;
  color: #333;
}
.c-wysiwyg form {
  margin-top: 100px;
}
.c-wysiwyg h2:first-child,
.c-wysiwyg h3:first-child,
.c-wysiwyg h4:first-child,
.c-wysiwyg h5:first-child,
.c-wysiwyg h6:first-child,
.c-wysiwyg p:first-child {
  margin-top: 0;
}

/*----------▲▲ wysiwyg ▲▲----------*/
/*----------▼▼ breadcrumb ▼▼----------*/
.c-breadcrumb {
  background: #FFF;
  border-bottom: 1px solid #E6EAF2;
  padding: 1.125rem 0;
}
@media screen and (max-width: 767px) {
  .c-breadcrumb {
    padding: clamp(15px, 0px + 4.6875vw, 36px) 0;
  }
}
.c-breadcrumb__nav {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  font-size: 0.75rem;
  color: #707080;
}
@media screen and (max-width: 767px) {
  .c-breadcrumb__nav {
    gap: clamp(8.3333333333px, 0px + 2.6041666667vw, 20px);
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
  }
}
.c-breadcrumb a {
  color: #707080;
  text-decoration: none;
  transition: 0.3s;
}
@media (hover: hover) {
  .c-breadcrumb a:hover {
    color: #0075C1;
  }
}
.c-breadcrumb__sep {
  opacity: 0.4;
}
.c-breadcrumb__current {
  color: #141420;
  font-weight: 500;
}

/*----------▲▲ breadcrumb ▲▲----------*/
/*----------▼▼ page-hero ▼▼----------*/
.c-pageHero {
  position: relative;
  margin-top: calc(-1 * var(--header-h));
  height: 480px;
  overflow: hidden;
  background-color: #1F2940;
  background-size: cover;
  background-position: center;
  color: #FFF;
}
@media screen and (max-width: 767px) {
  .c-pageHero {
    height: clamp(266.6666666667px, 0px + 83.3333333333vw, 640px);
  }
}
.c-pageHero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(13, 27, 42, 0.82) 0%, rgba(13, 27, 42, 0.55) 50%, rgba(13, 27, 42, 0.35) 100%);
}
.c-pageHero__inner {
  position: relative;
  z-index: 1;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 0 7vw clamp(43.8857142857px, 0px + 5.7142857143vw, 80px);
  max-width: 1400px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .c-pageHero__inner {
    padding: 0 5vw clamp(25px, 0px + 7.8125vw, 60px);
  }
}
.c-pageHero__eyebrow {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  letter-spacing: 0.25em;
  color: #7FB6F4;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  gap: 14px;
}
@media screen and (max-width: 767px) {
  .c-pageHero__eyebrow {
    font-size: clamp(0.5729166667rem, 0rem + 2.8645833333vw, 1.375rem);
    margin-bottom: clamp(3.3333333333px, 0px + 1.0416666667vw, 8px);
    gap: clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
  }
}
.c-pageHero__eyebrow::before {
  content: "";
  width: 32px;
  height: 1px;
  background: #7FB6F4;
}
@media screen and (max-width: 767px) {
  .c-pageHero__eyebrow::before {
    width: clamp(16.6666666667px, 0px + 5.2083333333vw, 40px);
    height: clamp(0.8333333333px, 0px + 0.2604166667vw, 2px);
  }
}
.c-pageHero__title {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.005em;
  margin: 0 0 14px;
  color: #FFF;
}
@media screen and (max-width: 767px) {
  .c-pageHero__title {
    font-size: clamp(2.0833333333rem, 0rem + 10.4166666667vw, 5rem);
    margin-bottom: clamp(3.3333333333px, 0px + 1.0416666667vw, 8px);
  }
}
.c-pageHero__titleJa {
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: #D8E2F2;
}
@media screen and (max-width: 767px) {
  .c-pageHero__titleJa {
    font-size: clamp(0.8333333333rem, 0rem + 4.1666666667vw, 2rem);
  }
}

/*----------▲▲ page-hero ▲▲----------*/
/*----------▼▼ cta ▼▼----------*/
.c-cta {
  position: relative;
  overflow: hidden;
  color: #FFF;
  padding: clamp(65.8285714286px, 0px + 8.5714285714vw, 120px) 7vw clamp(60.3428571429px, 0px + 7.8571428571vw, 110px);
}
@media screen and (max-width: 767px) {
  .c-cta {
    padding: clamp(75px, 0px + 23.4375vw, 180px) 5vw clamp(68.75px, 0px + 21.484375vw, 165px);
  }
}
.c-cta {
  text-align: center;
  background: radial-gradient(ellipse 75% 55% at 50% 50%, rgba(10, 117, 193, 0.55) 0%, rgba(31, 41, 64, 0) 70%), #1F2940;
}
.c-cta::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 900px;
  height: 900px;
  background: radial-gradient(circle, rgba(127, 182, 244, 0.18), rgba(31, 41, 64, 0) 60%);
  pointer-events: none;
}
.c-cta__inner {
  position: relative;
}
.c-cta__title {
  font-family: "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 4.5rem;
  font-weight: 300;
  letter-spacing: 0.14em;
  margin: 0 0 14px;
  color: #FFF;
  line-height: 1;
  mix-blend-mode: overlay;
  opacity: 0.85;
}
@media screen and (max-width: 767px) {
  .c-cta__title {
    font-size: clamp(2.5rem, 0rem + 12.5vw, 6rem);
    margin: 0 0 clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
  }
}
.c-cta__sub {
  font-size: 0.875rem;
  color: #D8E2F2;
  margin-bottom: clamp(23.04px, 0px + 3vw, 42px);
}
@media screen and (max-width: 767px) {
  .c-cta__sub {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
    margin-bottom: clamp(35px, 0px + 10.9375vw, 84px);
  }
}
.c-cta__buttons {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
  list-style: none;
}
@media screen and (max-width: 767px) {
  .c-cta__buttons {
    gap: 3vw;
  }
}
@media screen and (max-width: 767px) {
  .c-cta__buttons li {
    width: calc(50% - 1.5vw);
  }
}
.c-cta__btn {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  background: rgba(255, 255, 255, 0.95);
  color: #141420;
  padding: 18px 28px;
  border-radius: 4px;
  text-decoration: none;
  font-size: 0.8125rem;
  font-weight: 600;
  min-width: 220px;
  height: stretch;
  justify-content: space-between;
  transition: 0.2s;
  backdrop-filter: blur(4px);
}
@media screen and (max-width: 767px) {
  .c-cta__btn {
    min-width: 0;
    padding: clamp(15px, 0px + 4.6875vw, 36px) clamp(23.3333333333px, 0px + 7.2916666667vw, 56px);
    font-size: clamp(0.6770833333rem, 0rem + 3.3854166667vw, 1.625rem);
    gap: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
  }
}
@media (hover: hover) {
  .c-cta__btn:hover {
    background: #0075C1;
    color: #FFF;
  }
  .c-cta__btn:hover .c-cta__btnExtIcon {
    background: #FFF;
  }
}
.c-cta__btnArrow {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .c-cta__btnArrow {
    width: clamp(15px, 0px + 4.6875vw, 36px);
    height: clamp(15px, 0px + 4.6875vw, 36px);
  }
}
.c-cta__btnExtIcon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  display: inline-block;
  background: #141420;
  -webkit-mask-image: url(../img/common/icon-external.svg);
  mask-image: url(../img/common/icon-external.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  transition: background 0.2s;
}
@media screen and (max-width: 767px) {
  .c-cta__btnExtIcon {
    width: clamp(13.3333333333px, 0px + 4.1666666667vw, 32px);
    height: clamp(13.3333333333px, 0px + 4.1666666667vw, 32px);
  }
}

/*----------▲▲ cta ▲▲----------*/
/*----------▼▼ subMenu ▼▼----------*/
.c-subMenu {
  padding: clamp(43.8857142857px, 0px + 5.7142857143vw, 80px) 0;
  background: #F5F7FD;
}
@media screen and (max-width: 767px) {
  .c-subMenu {
    padding: clamp(40px, 0px + 12.5vw, 96px) 0;
  }
}
.c-subMenu__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: clamp(21.9428571429px, 0px + 2.8571428571vw, 40px);
}
@media screen and (max-width: 767px) {
  .c-subMenu__head {
    flex-direction: column;
    align-items: flex-start;
    gap: clamp(5px, 0px + 1.5625vw, 12px);
    margin-bottom: clamp(10px, 0px + 3.125vw, 24px);
  }
}
.c-subMenu__headLeft {
  display: flex;
  flex-direction: column;
}
.c-subMenu__en {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  letter-spacing: 0.25em;
  color: #0075C1;
  font-weight: 600;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .c-subMenu__en {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
  }
}
.c-subMenu__ja {
  font-size: 1.5rem;
  font-weight: 700;
  color: #141420;
  margin: 8px 0 0;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .c-subMenu__ja {
    font-size: clamp(1.1458333333rem, 0rem + 5.7291666667vw, 2.75rem);
    margin-top: clamp(5px, 0px + 1.5625vw, 12px);
  }
}
.c-subMenu__rule {
  width: 48px;
  height: 2px;
  background: #0075C1;
  margin-top: 14px;
}
@media screen and (max-width: 767px) {
  .c-subMenu__rule {
    width: clamp(26.6666666667px, 0px + 8.3333333333vw, 64px);
    height: clamp(1.6666666667px, 0px + 0.5208333333vw, 4px);
    margin-top: clamp(10px, 0px + 3.125vw, 24px);
  }
}
.c-subMenu__back {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 0.8125rem;
  color: #141420;
  text-decoration: none;
  font-weight: 500;
  padding-bottom: 4px;
  position: relative;
  transition: color 0.25s ease;
}
@media screen and (max-width: 767px) {
  .c-subMenu__back {
    font-size: clamp(0.6770833333rem, 0rem + 3.3854166667vw, 1.625rem);
    align-self: flex-end;
  }
}
.c-subMenu__back::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: #0075C1;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
}
@media (hover: hover) {
  .c-subMenu__back:hover {
    color: #0075C1;
    opacity: 1;
  }
  .c-subMenu__back:hover::after {
    transform: scaleX(1);
  }
}
.c-subMenu__count {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.8125rem;
  color: #707080;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .c-subMenu__count {
    font-size: clamp(0.6770833333rem, 0rem + 3.3854166667vw, 1.625rem);
  }
}
.c-subMenu__count b {
  color: #141420;
  font-size: 1.125rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .c-subMenu__count b {
    font-size: clamp(0.8333333333rem, 0rem + 4.1666666667vw, 2rem);
  }
}
.c-subMenu__lead {
  font-size: 0.9375rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
  margin: 0 0 clamp(21.9428571429px, 0px + 2.8571428571vw, 40px);
}
@media screen and (max-width: 767px) {
  .c-subMenu__lead {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
    margin: 0 0 clamp(26.6666666667px, 0px + 8.3333333333vw, 64px);
  }
}
.c-subMenu__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .c-subMenu__grid {
    grid-template-columns: repeat(2, calc(50% - 1.5vw));
    gap: 3vw;
  }
}
.c-subMenu__card {
  position: relative;
  background: #FFF;
  border: 1px solid #E6EAF2;
  border-radius: 8px;
  text-decoration: none;
  color: #141420;
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
  display: grid;
  grid-template-columns: clamp(48px, 28.5569620253px + 2.5316455696vw, 64px) 1fr clamp(32px, 17.417721519px + 1.8987341772vw, 44px);
  align-items: stretch;
  min-height: 96px;
}
@media screen and (max-width: 767px) {
  .c-subMenu__card {
    border-radius: clamp(3.3333333333px, 0px + 1.0416666667vw, 8px);
    grid-template-columns: clamp(23.3333333333px, 0px + 7.2916666667vw, 56px) 1fr clamp(20px, 0px + 6.25vw, 48px);
    min-height: clamp(56.6666666667px, 0px + 17.7083333333vw, 136px);
  }
}
.c-subMenu__card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 0;
  background: #0075C1;
  transition: width 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
  z-index: 0;
}
@media (hover: hover) {
  .c-subMenu__card:hover {
    border-color: #0075C1;
    transform: translateY(-2px);
    box-shadow: 0 14px 32px -18px rgba(0, 117, 193, 0.35);
    opacity: 1;
  }
  .c-subMenu__card:hover::before {
    width: 4px;
  }
  .c-subMenu__card:hover .c-subMenu__cardArrow {
    color: #0075C1;
    transform: translateX(4px);
  }
}
.c-subMenu__card.is-current {
  border-color: #0075C1;
}
.c-subMenu__card.is-current::before {
  width: 4px;
}
@media screen and (max-width: 767px) {
  .c-subMenu__card.is-current::before {
    width: clamp(1.6666666667px, 0px + 0.5208333333vw, 4px);
  }
}
.c-subMenu__cardNum {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  font-weight: 600;
  color: #0075C1;
  letter-spacing: 0.1em;
  border-right: 1px solid #E6EAF2;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .c-subMenu__cardNum {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
  }
}
.c-subMenu__cardBody {
  padding: 20px 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .c-subMenu__cardBody {
    padding: clamp(8.3333333333px, 0px + 2.6041666667vw, 20px) clamp(10px, 0px + 3.125vw, 24px);
  }
}
.c-subMenu__cardJa {
  font-size: 0.9375rem;
  font-weight: 700;
  color: #141420;
  letter-spacing: 0.02em;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .c-subMenu__cardJa {
    font-size: clamp(0.5729166667rem, 0rem + 2.8645833333vw, 1.375rem);
  }
}
.c-subMenu__cardEn {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
  color: #707080;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .c-subMenu__cardEn {
    font-size: clamp(0.4166666667rem, 0rem + 2.0833333333vw, 1rem);
  }
}
.c-subMenu__cardArrow {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #141420;
  transition: color 0.25s ease, transform 0.25s ease;
  position: relative;
  z-index: 1;
}
.c-subMenu__cardArrow svg {
  width: 18px;
  height: 18px;
}
@media screen and (max-width: 767px) {
  .c-subMenu__cardArrow svg {
    width: clamp(10px, 0px + 3.125vw, 24px);
    height: clamp(10px, 0px + 3.125vw, 24px);
  }
}
@media screen and (max-width: 767px) {
  .c-subMenu.is-index .c-subMenu__head {
    gap: clamp(20px, 0px + 6.25vw, 48px);
    margin-bottom: clamp(20px, 0px + 6.25vw, 48px);
  }
}
.c-subMenu.is-index .c-subMenu__ja {
  font-size: 1.75rem;
}
@media screen and (max-width: 767px) {
  .c-subMenu.is-index .c-subMenu__ja {
    font-size: clamp(1.1458333333rem, 0rem + 5.7291666667vw, 2.75rem);
  }
}
.c-subMenu.is-index .c-subMenu__grid {
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .c-subMenu.is-index .c-subMenu__grid {
    grid-template-columns: 1fr;
    gap: 3vw;
  }
}
.c-subMenu.is-index .c-subMenu__card {
  grid-template-columns: 80px 1fr 56px;
  min-height: 140px;
}
@media screen and (max-width: 767px) {
  .c-subMenu.is-index .c-subMenu__card {
    grid-template-columns: clamp(50px, 0px + 15.625vw, 120px) 1fr clamp(50px, 0px + 15.625vw, 120px);
    min-height: clamp(91.6666666667px, 0px + 28.6458333333vw, 220px);
  }
}
.c-subMenu.is-index .c-subMenu__cardBody {
  padding: 28px 32px;
  gap: 6px;
}
@media screen and (max-width: 767px) {
  .c-subMenu.is-index .c-subMenu__cardBody {
    padding: clamp(10px, 0px + 3.125vw, 24px) clamp(12.5px, 0px + 3.90625vw, 30px);
  }
}
@media screen and (max-width: 767px) {
  .c-subMenu.is-index .c-subMenu__cardNum {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
  }
}
.c-subMenu.is-index .c-subMenu__cardJa {
  font-size: 1.125rem;
}
@media screen and (max-width: 767px) {
  .c-subMenu.is-index .c-subMenu__cardJa {
    font-size: clamp(0.8333333333rem, 0rem + 4.1666666667vw, 2rem);
  }
}
.c-subMenu.is-index .c-subMenu__cardEn {
  font-size: 0.6875rem;
}
@media screen and (max-width: 767px) {
  .c-subMenu.is-index .c-subMenu__cardEn {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
  }
}
.c-subMenu.is-index .c-subMenu__cardArrow svg {
  width: 20px;
  height: 20px;
}
@media screen and (max-width: 767px) {
  .c-subMenu.is-index .c-subMenu__cardArrow svg {
    width: clamp(16.6666666667px, 0px + 5.2083333333vw, 40px);
    height: clamp(16.6666666667px, 0px + 5.2083333333vw, 40px);
  }
}

/*----------▲▲ subMenu ▲▲----------*/
/*----------▼▼ company-menu ▼▼----------*/
/*----------▲▲ company-menu ▲▲----------*/
/*----------▼▼ sustainability-menu ▼▼----------*/
/*----------▲▲ sustainability-menu ▲▲----------*/
/*----------▼▼ applications-menu ▼▼----------*/
/*----------▲▲ applications-menu ▲▲----------*/
/*----------▼▼ cardList ▼▼----------*/
.c-cardList {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .c-cardList {
    grid-template-columns: 1fr;
    gap: clamp(16.6666666667px, 0px + 5.2083333333vw, 40px);
  }
}
.c-cardList__item {
  background: #FFF;
  border: 1px solid #E6EAF2;
  border-radius: 8px;
  overflow: hidden;
  text-decoration: none;
  color: #141420;
  display: flex;
  flex-direction: column;
  transition: 0.25s;
}
@media (hover: hover) {
  .c-cardList__item:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px -18px rgba(20, 20, 32, 0.2);
    border-color: #cdd6e6;
    opacity: 1;
  }
}
.c-cardList__img {
  aspect-ratio: 16/9;
  background: #E0E6F0;
  background-image: repeating-linear-gradient(135deg, rgba(20, 20, 32, 0.025) 0 1px, transparent 1px 14px);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #9AA6BD;
  font-size: 0.6875rem;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  letter-spacing: 0.15em;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-cardList__img {
    font-size: clamp(0.5729166667rem, 0rem + 2.8645833333vw, 1.375rem);
  }
}
.c-cardList__img img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-cardList__imgLabel {
  position: relative;
  z-index: 1;
}
.c-cardList__pin {
  position: absolute;
  top: 12px;
  left: 12px;
  background: #0075C1;
  color: #FFF;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  padding: 4px 8px;
  border-radius: 2px;
}
@media screen and (max-width: 767px) {
  .c-cardList__pin {
    top: clamp(10px, 0px + 3.125vw, 24px);
    left: clamp(10px, 0px + 3.125vw, 24px);
    font-size: clamp(0.46875rem, 0rem + 2.34375vw, 1.125rem);
    padding: clamp(3.3333333333px, 0px + 1.0416666667vw, 8px) clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
  }
}
.c-cardList__pin.is-ongoing {
  background: #FF9C00;
}
.c-cardList__pin.is-ended {
  background: #9AA6BD;
}
.c-cardList__pin.is-report {
  background: #1F2940;
}
.c-cardList__body {
  padding: 20px 22px 22px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}
@media screen and (max-width: 767px) {
  .c-cardList__body {
    padding: clamp(16.6666666667px, 0px + 5.2083333333vw, 40px) clamp(18.3333333333px, 0px + 5.7291666667vw, 44px) clamp(18.3333333333px, 0px + 5.7291666667vw, 44px);
    gap: clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
  }
}
.c-cardList__meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .c-cardList__meta {
    gap: clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
  }
}
.c-cardList__cat {
  background: #EDF3FF;
  color: #0075C1;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  padding: 3px 8px;
  border-radius: 2px;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .c-cardList__cat {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
    padding: clamp(2.5px, 0px + 0.78125vw, 6px) clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
  }
}
.c-cardList__cat.is-dark {
  background: #141420;
  color: #FFF;
}
.c-cardList__tag {
  background: #EDF3FF;
  color: #0075C1;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  padding: 3px 8px;
  border-radius: 2px;
}
@media screen and (max-width: 767px) {
  .c-cardList__tag {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
    padding: clamp(2.5px, 0px + 0.78125vw, 6px) clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
  }
}
.c-cardList__date {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  color: #707080;
  font-weight: 500;
  letter-spacing: 0.04em;
  margin-top: 2px;
}
@media screen and (max-width: 767px) {
  .c-cardList__date {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
    margin-top: clamp(1.6666666667px, 0px + 0.5208333333vw, 4px);
  }
}
.c-cardList__title {
  font-size: 0.9375rem;
  font-weight: 700;
  color: #141420;
  line-height: 1.55;
  margin: 2px 0 4px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .c-cardList__title {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
    margin: clamp(1.6666666667px, 0px + 0.5208333333vw, 4px) 0 clamp(3.3333333333px, 0px + 1.0416666667vw, 8px);
  }
}
.c-cardList__desc {
  font-size: 0.75rem;
  color: #3a3a48;
  line-height: 1.75;
  flex: 1;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .c-cardList__desc {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
  }
}
.c-cardList__location, .c-cardList__target, .c-cardList__register {
  font-size: 0.75rem;
  color: #3a3a48;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .c-cardList__location, .c-cardList__target, .c-cardList__register {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
  }
}
.c-cardList__more {
  margin-top: auto;
  padding-top: 6px;
  color: #0075C1;
  font-size: 0.75rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
@media screen and (max-width: 767px) {
  .c-cardList__more {
    padding-top: clamp(5px, 0px + 1.5625vw, 12px);
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
    gap: clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
  }
}
.c-cardList__more::after {
  content: "→";
  transition: transform 0.25s ease;
}
@media (hover: hover) {
  .c-cardList__item:hover .c-cardList__more::after {
    transform: translateX(4px);
  }
}

/*----------▲▲ cardList ▲▲----------*/
/*----------▼▼ club-phi ▼▼----------*/
.c-clubPhi {
  padding: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px) 7vw;
  background: #FFF;
}
@media screen and (max-width: 767px) {
  .c-clubPhi {
    padding: clamp(33.3333333333px, 0px + 10.4166666667vw, 80px) 5vw;
  }
}
.c-clubPhi__inner {
  max-width: 900px;
  margin: 0 auto;
  background: #1F2940;
  border-radius: 8px;
  padding: clamp(21.9428571429px, 0px + 2.8571428571vw, 40px) clamp(24.1371428571px, 0px + 3.1428571429vw, 44px);
  color: #FFF;
}
@media screen and (max-width: 767px) {
  .c-clubPhi__inner {
    padding: clamp(23.3333333333px, 0px + 7.2916666667vw, 56px) clamp(20px, 0px + 6.25vw, 48px);
  }
}
.c-clubPhi__en {
  display: block;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #7FB6F4;
}
.c-clubPhi__title {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #FFF;
  margin: 8px 0 0;
}
@media screen and (max-width: 767px) {
  .c-clubPhi__title {
    font-size: clamp(0.9895833333rem, 0rem + 4.9479166667vw, 2.375rem);
  }
}
.c-clubPhi__lead {
  font-size: 0.8125rem;
  line-height: 1.9;
  color: #C7D2E2;
  margin: 16px 0 24px;
}
@media screen and (max-width: 767px) {
  .c-clubPhi__lead {
    font-size: clamp(0.6770833333rem, 0rem + 3.3854166667vw, 1.625rem);
  }
}
.c-clubPhi__list {
  list-style: none;
  margin: 0 0 22px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.c-clubPhi__dl {
  display: flex;
  align-items: center;
  gap: 20px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 6px;
  padding: 18px 22px;
  text-decoration: none;
  color: #FFF;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .c-clubPhi__dl {
    flex-wrap: wrap;
    gap: clamp(10px, 0px + 3.125vw, 24px);
    padding: clamp(13.3333333333px, 0px + 4.1666666667vw, 32px) clamp(15px, 0px + 4.6875vw, 36px);
  }
}
@media (hover: hover) {
  .c-clubPhi__dl:hover {
    background: rgba(255, 255, 255, 0.09);
    border-color: rgba(127, 182, 244, 0.4);
  }
}
.c-clubPhi__pdf {
  flex-shrink: 0;
  width: 40px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(127, 182, 244, 0.18);
  color: #7FB6F4;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  border-radius: 3px;
}
.c-clubPhi__dlBody {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.c-clubPhi__dlTtl {
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #FFF;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .c-clubPhi__dlTtl {
    font-size: clamp(0.6770833333rem, 0rem + 3.3854166667vw, 1.625rem);
  }
}
.c-clubPhi__dlArrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #FFF;
  white-space: nowrap;
}
.c-clubPhi__note {
  font-size: 0.75rem;
  line-height: 1.8;
  color: #A8B3C6;
  margin: 0 0 22px;
}
@media screen and (max-width: 767px) {
  .c-clubPhi__note {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
  }
}
.c-clubPhi__list + .c-clubPhi__note {
  margin-top: 20px;
}
.c-clubPhi__cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}
.c-clubPhi__btnPrimary, .c-clubPhi__btnGhost {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 46px;
  border-radius: 4px;
  font-size: 0.8125rem;
  letter-spacing: 0.04em;
  text-decoration: none;
  color: #FFF;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .c-clubPhi__btnPrimary, .c-clubPhi__btnGhost {
    font-size: clamp(0.6770833333rem, 0rem + 3.3854166667vw, 1.625rem);
    height: auto;
    padding-top: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
    padding-bottom: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
  }
}
.c-clubPhi__btnPrimary {
  background: #0075C1;
  padding: 0 28px;
  font-weight: 600;
}
@media (hover: hover) {
  .c-clubPhi__btnPrimary:hover {
    background: #005d9b;
  }
}
.c-clubPhi__btnGhost {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.35);
  padding: 0 22px;
  font-weight: 500;
}
@media (hover: hover) {
  .c-clubPhi__btnGhost:hover {
    background: rgba(255, 255, 255, 0.08);
  }
}
.c-clubPhi__extIcon {
  flex-shrink: 0;
  width: 12px;
  height: 12px;
  background: #FFF;
  -webkit-mask: url(../img/common/icon-external.svg) no-repeat center/contain;
  mask: url(../img/common/icon-external.svg) no-repeat center/contain;
  display: inline-block;
}

/*----------▲▲ club-phi ▲▲----------*/
/*----------▼▼ productsHero ▼▼----------*/
.c-productsHero {
  position: relative;
  min-height: 680px;
  background: linear-gradient(135deg, #0D1B2A 0%, #1F2940 60%, #0E1E35 100%);
  color: #fff;
  overflow: hidden;
  margin-top: calc(-1 * var(--header-h));
  padding: 140px 7vw 60px;
}
@media screen and (max-width: 767px) {
  .c-productsHero {
    min-height: auto;
    padding: clamp(91.6666666667px, 0px + 28.6458333333vw, 220px) 5vw clamp(50px, 0px + 15.625vw, 120px);
  }
}
.c-productsHero::before {
  content: "";
  position: absolute;
  right: -200px;
  top: -100px;
  width: 900px;
  height: 900px;
  background: radial-gradient(circle, rgba(10, 117, 193, 0.35), rgba(13, 27, 42, 0) 60%);
  filter: blur(20px);
  pointer-events: none;
}
.c-productsHero::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
  background-size: 80px 80px;
  pointer-events: none;
}
.c-productsHero__inner {
  position: relative;
  z-index: 2;
  max-width: calc(1400px - 7vw * 2);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 48% 48%;
  gap: 4%;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .c-productsHero__inner {
    grid-template-columns: 1fr;
    gap: clamp(16.6666666667px, 0px + 5.2083333333vw, 40px);
  }
}
.c-productsHero__meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}
@media screen and (max-width: 767px) {
  .c-productsHero__meta {
    gap: clamp(10px, 0px + 3.125vw, 24px);
    margin-bottom: clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
  }
}
.c-productsHero__meta .c-productsHero__cat {
  margin-bottom: 0;
}
.c-productsHero__cat {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  letter-spacing: 0.25em;
  color: #7FB6F4;
  font-weight: 600;
  margin-bottom: 20px;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 14px;
}
@media screen and (max-width: 767px) {
  .c-productsHero__cat {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
    margin-bottom: clamp(16.6666666667px, 0px + 5.2083333333vw, 40px);
    gap: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
  }
}
.c-productsHero__cat::before {
  content: "";
  width: 32px;
  height: 1px;
  background: #7FB6F4;
}
@media screen and (max-width: 767px) {
  .c-productsHero__cat::before {
    width: clamp(26.6666666667px, 0px + 8.3333333333vw, 64px);
  }
}
.c-productsHero__badge {
  background: #0075C1;
  color: #fff;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  padding: 4px 10px;
  border-radius: 3px;
}
@media screen and (max-width: 767px) {
  .c-productsHero__badge {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
    padding: clamp(3.3333333333px, 0px + 1.0416666667vw, 8px) clamp(8.3333333333px, 0px + 2.6041666667vw, 20px);
  }
}
.c-productsHero__name {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: clamp(3.5rem, 2.2848101266rem + 2.5316455696vw, 4.5rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.01em;
  margin: 0 0 14px;
  color: #fff;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .c-productsHero__name {
    font-size: clamp(1.875rem, 0rem + 9.375vw, 4.5rem);
    margin: 0 0 clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
  }
}
.c-productsHero__full {
  font-size: 1rem;
  font-weight: 500;
  color: #D8E2F2;
  letter-spacing: 0.02em;
  margin: 0 0 32px;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .c-productsHero__full {
    font-size: clamp(0.8333333333rem, 0rem + 4.1666666667vw, 2rem);
    margin: 0 0 clamp(26.6666666667px, 0px + 8.3333333333vw, 64px);
  }
}
.c-productsHero__catch {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
  letter-spacing: 0.02em;
  margin: 0 0 20px;
}
@media screen and (max-width: 767px) {
  .c-productsHero__catch {
    font-size: clamp(1.25rem, 0rem + 6.25vw, 3rem);
    margin: 0 0 clamp(16.6666666667px, 0px + 5.2083333333vw, 40px);
  }
}
.c-productsHero__lede {
  font-size: 0.875rem;
  line-height: 1.9;
  color: #B6C2D4;
  letter-spacing: 0.02em;
  margin: 0 0 36px;
  max-width: 480px;
}
@media screen and (max-width: 767px) {
  .c-productsHero__lede {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
    margin: 0 0 clamp(30px, 0px + 9.375vw, 72px);
    max-width: none;
  }
}
.c-productsHero__keytech {
  margin: 0 0 36px;
  max-width: 480px;
}
@media screen and (max-width: 767px) {
  .c-productsHero__keytech {
    margin: 0 0 clamp(30px, 0px + 9.375vw, 72px);
    max-width: none;
  }
}
.c-productsHero__keytechLabel {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  letter-spacing: 0.25em;
  color: #7FB6F4;
  font-weight: 600;
  text-transform: uppercase;
  display: block;
  margin-bottom: 14px;
}
@media screen and (max-width: 767px) {
  .c-productsHero__keytechLabel {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
    margin-bottom: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
  }
}
.c-productsHero__keytechList {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
@media screen and (max-width: 767px) {
  .c-productsHero__keytechList {
    gap: clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
  }
}
.c-productsHero__keytechList li {
  position: relative;
  padding-left: 20px;
  font-size: 0.875rem;
  line-height: 1.6;
  color: #D8E2F2;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .c-productsHero__keytechList li {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
    padding-left: clamp(16.6666666667px, 0px + 5.2083333333vw, 40px);
  }
}
.c-productsHero__keytechList li::before {
  content: "";
  position: absolute;
  top: calc(0.8em - 3px);
  left: 2px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #7FB6F4;
}
@media screen and (max-width: 767px) {
  .c-productsHero__keytechList li::before {
    top: calc(0.8em - 6px);
    left: clamp(1.6666666667px, 0px + 0.5208333333vw, 4px);
    width: clamp(5px, 0px + 1.5625vw, 12px);
    height: clamp(5px, 0px + 1.5625vw, 12px);
  }
}
.c-productsHero__bullets {
  list-style: none;
  margin: 0 0 32px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .c-productsHero__bullets {
    gap: clamp(8.3333333333px, 0px + 2.6041666667vw, 20px);
    margin: 0 0 clamp(26.6666666667px, 0px + 8.3333333333vw, 64px);
  }
}
.c-productsHero__bullets li {
  position: relative;
  padding-left: 22px;
  font-size: 0.875rem;
  color: #D8E2F2;
  line-height: 1.7;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 767px) {
  .c-productsHero__bullets li {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
    padding-left: clamp(18.3333333333px, 0px + 5.7291666667vw, 44px);
  }
}
.c-productsHero__bullets li::before {
  content: "›";
  position: absolute;
  left: 4px;
  top: 0;
  color: #7FB6F4;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .c-productsHero__bullets li::before {
    font-size: clamp(0.8333333333rem, 0rem + 4.1666666667vw, 2rem);
    left: clamp(3.3333333333px, 0px + 1.0416666667vw, 8px);
  }
}
.c-productsHero__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .c-productsHero__actions {
    gap: clamp(10px, 0px + 3.125vw, 24px);
  }
}
.c-productsHero__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #0075C1;
  color: #fff;
  height: 46px;
  padding: 0 28px;
  border-radius: 4px;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: background 0.2s ease;
}
@media screen and (max-width: 767px) {
  .c-productsHero__btn {
    height: auto;
    padding: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px) clamp(23.3333333333px, 0px + 7.2916666667vw, 56px);
    font-size: clamp(0.6770833333rem, 0rem + 3.3854166667vw, 1.625rem);
    gap: clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
  }
}
@media (hover: hover) {
  .c-productsHero__btn:hover {
    background: #005d9b;
  }
}
.c-productsHero__img {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .c-productsHero__img {
    order: -1;
  }
}
.c-productsHero__img img {
  width: 100%;
  height: auto;
  display: block;
  filter: drop-shadow(0 40px 80px rgba(127, 182, 244, 0.18));
}
@media screen and (max-width: 767px) {
  .c-productsHero__img img {
    width: 80%;
  }
}

/*----------▲▲ productsHero ▲▲----------*/
/*----------▼▼ home ▼▼----------*/
.p-homeHero {
  position: relative;
  height: 100vh;
  min-height: 680px;
  overflow: hidden;
  color: #FFF;
  background: #1F2940;
}
@media screen and (max-width: 767px) {
  .p-homeHero {
    min-height: clamp(366.6666666667px, 0px + 114.5833333333vw, 880px);
  }
}
.p-homeHero__stack {
  position: absolute;
  inset: 0;
}
.p-homeHero__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 1.2s ease, transform 1.2s ease;
}
.p-homeHero__slide.is-active {
  opacity: 1;
  z-index: 1;
}
.p-homeHero__slide.is-leaving {
  opacity: 0;
  transform: scale(1.08);
  z-index: 2;
}
.p-homeHero__slideBg {
  position: absolute;
  inset: 0;
  background-image: var(--heroBgPc);
  background-size: cover;
  background-position: center;
}
@media screen and (max-width: 767px) {
  .p-homeHero__slideBg {
    background-image: var(--heroBgSp);
  }
}
.p-homeHero__slideOverlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(13, 27, 42, 0.78) 0%, rgba(13, 27, 42, 0.5) 50%, rgba(13, 27, 42, 0.25) 100%);
}
.p-homeHero__copy {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  max-width: 1400px;
  padding: 0 7vw;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .p-homeHero__copy {
    top: 54%;
  }
}
.p-homeHero__copyInner {
  max-width: 680px;
}
.p-homeHero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  color: #7FB6F4;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: clamp(13.1657142857px, 0px + 1.7142857143vw, 24px);
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
}
@media screen and (max-width: 767px) {
  .p-homeHero__eyebrow {
    gap: clamp(8.3333333333px, 0px + 2.6041666667vw, 20px);
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
    margin-bottom: clamp(15px, 0px + 4.6875vw, 36px);
  }
}
.p-homeHero__eyebrow::before {
  content: "";
  width: 28px;
  height: 1px;
  background: #7FB6F4;
}
@media screen and (max-width: 767px) {
  .p-homeHero__eyebrow::before {
    width: clamp(23.3333333333px, 0px + 7.2916666667vw, 56px);
  }
}
.p-homeHero__titleEn {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 3.5rem;
  font-weight: 700;
  line-height: 1.04;
  letter-spacing: -0.01em;
  margin: 0 0 clamp(8.7771428571px, 0px + 1.1428571429vw, 16px);
}
@media screen and (max-width: 767px) {
  .p-homeHero__titleEn {
    font-size: clamp(1.6666666667rem, 0rem + 8.3333333333vw, 4rem);
    margin: 0 0 clamp(13.3333333333px, 0px + 4.1666666667vw, 32px);
    line-height: 0.75;
  }
}
.p-homeHero__titleAccent {
  color: #7FB6F4;
}
.p-homeHero__titleJp {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.6;
  margin: 0 0 clamp(15.36px, 0px + 2vw, 28px);
  color: #E2EAF5;
}
@media screen and (max-width: 767px) {
  .p-homeHero__titleJp {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
    margin: 0 0 clamp(23.3333333333px, 0px + 7.2916666667vw, 56px);
  }
}
.p-homeHero__lede {
  font-size: 0.875rem;
  line-height: 1.9;
  color: #B6C2D4;
  margin: 0;
  max-width: 520px;
}
@media screen and (max-width: 767px) {
  .p-homeHero__lede {
    font-size: clamp(0.5729166667rem, 0rem + 2.8645833333vw, 1.375rem);
    max-width: unset;
  }
}
.p-homeHero__scroll {
  position: absolute;
  left: 50%;
  bottom: 36px;
  transform: translateX(-50%);
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  color: #FFF;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .p-homeHero__scroll {
    display: none;
    bottom: clamp(26.6666666667px, 0px + 8.3333333333vw, 64px);
    gap: clamp(5.8333333333px, 0px + 1.8229166667vw, 14px);
  }
}
.p-homeHero__scrollLabel {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
  letter-spacing: 0.3em;
  color: rgba(255, 255, 255, 0.7);
  font-weight: 500;
  writing-mode: vertical-rl;
}
@media screen and (max-width: 767px) {
  .p-homeHero__scrollLabel {
    font-size: clamp(0.4166666667rem, 0rem + 2.0833333333vw, 1rem);
  }
}
.p-homeHero__scrollLine {
  width: 1px;
  height: 60px;
  background: rgba(255, 255, 255, 0.3);
  display: block;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-homeHero__scrollLine {
    height: clamp(25px, 0px + 7.8125vw, 60px);
  }
}
.p-homeHero__scrollLine::after {
  content: "";
  position: absolute;
  top: -50%;
  left: 0;
  right: 0;
  height: 50%;
  background: #FFF;
  animation: scrollLine 2.2s cubic-bezier(0.65, 0.05, 0.36, 1) infinite;
}

@keyframes scrollLine {
  0% {
    top: -50%;
  }
  100% {
    top: 100%;
  }
}
.p-homeNews {
  padding: clamp(48.2742857143px, 0px + 6.2857142857vw, 88px) 0;
}
@media screen and (max-width: 767px) {
  .p-homeNews {
    padding: clamp(50px, 0px + 15.625vw, 120px) 0;
  }
}
.p-homeNews__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(26.3314285714px, 0px + 3.4285714286vw, 48px);
}
@media screen and (max-width: 767px) {
  .p-homeNews__grid {
    display: flex;
    flex-flow: column;
    gap: clamp(26.6666666667px, 0px + 8.3333333333vw, 64px);
  }
}
.p-homeNews__head {
  margin-bottom: 8px;
}
@media screen and (max-width: 767px) {
  .p-homeNews__head {
    margin-bottom: clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
  }
}
.p-homeNews__label {
  font-size: 0.875rem;
  font-weight: 700;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  letter-spacing: 0.15em;
  color: #141420;
}
@media screen and (max-width: 767px) {
  .p-homeNews__label {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-homeNews__list {
  list-style: none;
  margin-top: clamp(13.1657142857px, 0px + 1.7142857143vw, 24px);
}
@media screen and (max-width: 767px) {
  .p-homeNews__list {
    margin-top: clamp(15px, 0px + 4.6875vw, 36px);
  }
}
.p-homeNews__item {
  display: grid;
  grid-template-columns: auto auto 1fr;
  align-items: center;
  gap: 14px;
  padding: 16px 32px 16px 0;
  border-bottom: 1px solid #E6EAF2;
  cursor: pointer;
  position: relative;
  transition: 0.2s;
}
@media screen and (max-width: 767px) {
  .p-homeNews__item {
    gap: clamp(9.1666666667px, 0px + 2.8645833333vw, 22px);
    padding: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px) clamp(23.3333333333px, 0px + 7.2916666667vw, 56px) clamp(11.6666666667px, 0px + 3.6458333333vw, 28px) 0;
  }
}
.p-homeNews__item::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 1px;
  background: #0075C1;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.45s cubic-bezier(0.22, 0.61, 0.36, 1);
}
@media (hover: hover) {
  .p-homeNews__item:hover .p-homeNews__ttl {
    color: #0075C1;
  }
  .p-homeNews__item:hover::after {
    transform: scaleX(1);
  }
}
.p-homeNews__date {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.8125rem;
  color: #707080;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-homeNews__date {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
  }
}
.p-homeNews__tag {
  font-size: 0.625rem;
  font-weight: 700;
  color: #0075C1;
  border: 1px solid #0075C1;
  padding: 2px 8px;
  border-radius: 2px;
  text-align: center;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-homeNews__tag {
    font-size: clamp(0.46875rem, 0rem + 2.34375vw, 1.125rem);
    padding: clamp(1.6666666667px, 0px + 0.5208333333vw, 4px) clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
    border-radius: clamp(1.6666666667px, 0px + 0.5208333333vw, 4px);
  }
}
.p-homeNews__tag--dark {
  color: #141420;
  border-color: #141420;
}
.p-homeNews__ttl {
  font-size: 0.8125rem;
  color: #141420;
  font-weight: 500;
  transition: color 0.2s ease;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media screen and (max-width: 767px) {
  .p-homeNews__ttl {
    grid-column: 1/-1;
    grid-row: 2;
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-homeNews__arrow {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  color: #707080;
  font-size: 0.8125rem;
}
@media screen and (max-width: 767px) {
  .p-homeNews__arrow {
    font-size: clamp(0.6770833333rem, 0rem + 3.3854166667vw, 1.625rem);
  }
}
.p-homeNews__more {
  display: flex;
  justify-content: flex-end;
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .p-homeNews__more {
    margin-top: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
  }
}
.p-homeNews__more a {
  color: #0075C1;
  font-size: 0.8125rem;
  font-weight: 500;
  text-decoration: none;
  position: relative;
  padding-bottom: 3px;
}
@media screen and (max-width: 767px) {
  .p-homeNews__more a {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
  }
}
.p-homeNews__more a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: #0075C1;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
}
@media (hover: hover) {
  .p-homeNews__more a:hover::after {
    transform: scaleX(1);
  }
}

.p-homeProd {
  padding: clamp(48.2742857143px, 0px + 6.2857142857vw, 88px) 0;
  background: #F5F7FD;
}
@media screen and (max-width: 767px) {
  .p-homeProd {
    padding: clamp(50px, 0px + 15.625vw, 120px) 0;
  }
}
.p-homeProd__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: clamp(21.9428571429px, 0px + 2.8571428571vw, 40px);
}
@media screen and (max-width: 767px) {
  .p-homeProd__head {
    margin-bottom: clamp(26.6666666667px, 0px + 8.3333333333vw, 64px);
  }
}
.p-homeProd__headLeft {
  display: flex;
  flex-direction: column;
}
.p-homeProd__eyebrow {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 14px;
}
@media screen and (max-width: 767px) {
  .p-homeProd__eyebrow {
    gap: clamp(5px, 0px + 1.5625vw, 12px);
    margin-bottom: clamp(9.1666666667px, 0px + 2.8645833333vw, 22px);
  }
}
.p-homeProd__eyebrowEn {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  letter-spacing: 0.25em;
  color: #707080;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .p-homeProd__eyebrowEn {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
  }
}
.p-homeProd__eyebrowJa {
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #141420;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-homeProd__eyebrowJa {
    font-size: clamp(1.1458333333rem, 0rem + 5.7291666667vw, 2.75rem);
  }
}
.p-homeProd__rule {
  width: 80px;
  height: 2px;
  background: #0075C1;
}
@media screen and (max-width: 767px) {
  .p-homeProd__rule {
    width: clamp(58.3333333333px, 0px + 18.2291666667vw, 140px);
    height: clamp(1.6666666667px, 0px + 0.5208333333vw, 4px);
  }
}
.p-homeProd__more {
  display: inline-flex;
  align-items: center;
  color: #0075C1;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-decoration: none;
  position: relative;
  padding-bottom: 3px;
}
@media screen and (max-width: 767px) {
  .p-homeProd__more {
    font-size: clamp(0.5729166667rem, 0rem + 2.8645833333vw, 1.375rem);
    padding-bottom: clamp(2.5px, 0px + 0.78125vw, 6px);
  }
}
.p-homeProd__more::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: #0075C1;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
}
@media (hover: hover) {
  .p-homeProd__more:hover::after {
    transform: scaleX(1);
  }
}
.p-homeProd__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(13.1657142857px, 0px + 1.7142857143vw, 24px);
  list-style: none;
}
@media screen and (max-width: 767px) {
  .p-homeProd__grid {
    grid-template-columns: 1fr;
    gap: clamp(20px, 0px + 6.25vw, 48px);
  }
}
.p-homeProd__grid li {
  display: flex;
}
.p-homeProd__card {
  background: #FFF;
  border: 1px solid #E6EAF2;
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
  text-decoration: none;
  color: inherit;
  transition: 0.25s;
}
@media (hover: hover) {
  .p-homeProd__card:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 36px -20px rgba(20, 20, 32, 0.18);
  }
}
.p-homeProd__img {
  aspect-ratio: 4/3;
  overflow: hidden;
  background: linear-gradient(135deg, #FAFBFE 0%, #EDF1F8 100%);
  border-bottom: 1px solid #E6EAF2;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(13.1657142857px, 0px + 1.7142857143vw, 24px);
}
@media screen and (max-width: 767px) {
  .p-homeProd__img {
    padding: clamp(20px, 0px + 6.25vw, 48px);
  }
}
.p-homeProd__img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-homeProd__img.is-small img {
  width: 75%;
  height: 75%;
}
.p-homeProd__info {
  display: flex;
  flex-direction: column;
  gap: clamp(7.68px, 0px + 1vw, 14px);
  padding: clamp(13.1657142857px, 0px + 1.7142857143vw, 24px) clamp(13.1657142857px, 0px + 1.7142857143vw, 24px) clamp(15.36px, 0px + 2vw, 28px);
  flex: 1;
}
@media screen and (max-width: 767px) {
  .p-homeProd__info {
    gap: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
    padding: clamp(20px, 0px + 6.25vw, 48px);
  }
}
.p-homeProd__infoTop {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
@media screen and (max-width: 767px) {
  .p-homeProd__infoTop {
    gap: clamp(5px, 0px + 1.5625vw, 12px);
  }
}
.p-homeProd__infoBottom {
  display: flex;
  flex-direction: column;
  gap: clamp(7.68px, 0px + 1vw, 14px);
  flex: 1;
}
@media screen and (max-width: 767px) {
  .p-homeProd__infoBottom {
    gap: clamp(9.1666666667px, 0px + 2.8645833333vw, 22px);
  }
}
.p-homeProd__cat {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  color: #0075C1;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .p-homeProd__cat {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
  }
}
.p-homeProd__catJa {
  display: block;
  color: #707080;
  font-family: "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.6875rem;
  letter-spacing: 0.04em;
  margin-top: 4px;
  text-transform: none;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .p-homeProd__catJa {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
    margin-top: clamp(2.5px, 0px + 0.78125vw, 6px);
  }
}
.p-homeProd__name {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.5rem;
  font-weight: 700;
  color: #141420;
  line-height: 1.1;
  letter-spacing: -0.005em;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .p-homeProd__name {
    font-size: clamp(1.1458333333rem, 0rem + 5.7291666667vw, 2.75rem);
  }
}
.p-homeProd__desc {
  font-size: 0.8125rem;
  line-height: 1.85;
  color: #3a3a48;
  margin: 0;
  flex: 1;
}
@media screen and (max-width: 767px) {
  .p-homeProd__desc {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-homeProd__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  list-style: none;
}
@media screen and (max-width: 767px) {
  .p-homeProd__badges {
    gap: clamp(4.1666666667px, 0px + 1.3020833333vw, 10px);
  }
}
.p-homeProd__badge {
  background: #EDF3FF;
  color: #0075C1;
  font-size: 0.625rem;
  font-weight: 500;
  padding: 4px 10px;
  border-radius: 20px;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-homeProd__badge {
    font-size: clamp(0.46875rem, 0rem + 2.34375vw, 1.125rem);
    padding: clamp(2.5px, 0px + 0.78125vw, 6px) clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
    border-radius: clamp(15px, 0px + 4.6875vw, 36px);
  }
}
.p-homeProd__detail {
  display: inline-flex;
  align-items: center;
  align-self: flex-end;
  color: #0075C1;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  margin-top: auto;
  position: relative;
  padding-bottom: 3px;
}
@media screen and (max-width: 767px) {
  .p-homeProd__detail {
    font-size: clamp(0.5729166667rem, 0rem + 2.8645833333vw, 1.375rem);
    padding-bottom: clamp(2.5px, 0px + 0.78125vw, 6px);
  }
}
.p-homeProd__detail::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: #0075C1;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
}
@media (hover: hover) {
  .p-homeProd__card:hover .p-homeProd__detail::after {
    transform: scaleX(1);
  }
}

.p-homeCompany {
  position: relative;
  height: 720px;
  overflow: hidden;
  color: #FFF;
  background-image: url(../img/home/company_entrance.jpg);
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
}
@media screen and (max-width: 767px) {
  .p-homeCompany {
    height: auto;
  }
}
.p-homeCompany::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(14, 28, 50, 0.85) 0%, rgba(14, 28, 50, 0.7) 50%, rgba(14, 28, 50, 0.35) 100%);
}
.p-homeCompany__inner {
  position: relative;
  z-index: 1;
  height: 100%;
  display: flex;
  align-items: center;
  padding: clamp(65.8285714286px, 0px + 8.5714285714vw, 120px) 7vw;
  max-width: 1400px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-homeCompany__inner {
    padding: clamp(50px, 0px + 15.625vw, 120px) 5vw;
  }
}
.p-homeCompany__copy {
  max-width: 60%;
}
@media screen and (max-width: 767px) {
  .p-homeCompany__copy {
    max-width: unset;
  }
}
.p-homeCompany__eyebrow {
  font-family: "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.8125rem;
  font-weight: 400;
  color: #7FB6F4;
  letter-spacing: 0.15em;
  margin-bottom: clamp(9.8742857143px, 0px + 1.2857142857vw, 18px);
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .p-homeCompany__eyebrow {
    font-size: clamp(0.5729166667rem, 0rem + 2.8645833333vw, 1.375rem);
    margin-bottom: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
  }
}
.p-homeCompany__title {
  font-size: 2.25rem;
  font-weight: 700;
  color: #FFF;
  line-height: 1.45;
  margin: 0 0 clamp(19.7485714286px, 0px + 2.5714285714vw, 36px);
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-homeCompany__title {
    font-size: clamp(1.3541666667rem, 0rem + 6.7708333333vw, 3.25rem);
    margin-bottom: clamp(21.6666666667px, 0px + 6.7708333333vw, 52px);
  }
}
.p-homeCompany__body p {
  font-size: 0.875rem;
  line-height: 1.9;
  color: #FFF;
  opacity: 0.92;
  margin: 0 0 clamp(9.8742857143px, 0px + 1.2857142857vw, 18px);
  max-width: 620px;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .p-homeCompany__body p {
    font-size: clamp(0.5729166667rem, 0rem + 2.8645833333vw, 1.375rem);
    margin-bottom: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
  }
}
.p-homeCompany__cta {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: clamp(15.36px, 0px + 2vw, 28px);
  background: #0075C1;
  color: #FFF;
  padding: 16px 30px;
  border-radius: 4px;
  text-decoration: none;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  transition: 0.2s;
}
@media screen and (max-width: 767px) {
  .p-homeCompany__cta {
    gap: clamp(8.3333333333px, 0px + 2.6041666667vw, 20px);
    margin-top: clamp(20px, 0px + 6.25vw, 48px);
    padding: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px) clamp(20px, 0px + 6.25vw, 48px);
    border-radius: clamp(2.5px, 0px + 0.78125vw, 6px);
    font-size: clamp(0.5729166667rem, 0rem + 2.8645833333vw, 1.375rem);
  }
}
@media (hover: hover) {
  .p-homeCompany__cta:hover {
    background: #005d9b;
    color: #FFF;
  }
}
.p-homeCompany__ctaArrow {
  width: 16px;
  height: 16px;
}
@media screen and (max-width: 767px) {
  .p-homeCompany__ctaArrow {
    width: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
    height: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
  }
}

.p-homeApps {
  padding: clamp(48.2742857143px, 0px + 6.2857142857vw, 88px) 0;
  background: #0E1E35;
}
@media screen and (max-width: 767px) {
  .p-homeApps {
    padding: clamp(50px, 0px + 15.625vw, 120px) 0;
  }
}
.p-homeApps__title {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #FFF;
  margin: 0 0 clamp(17.5542857143px, 0px + 2.2857142857vw, 32px);
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-homeApps__title {
    font-size: clamp(1.4583333333rem, 0rem + 7.2916666667vw, 3.5rem);
    margin: 0 0 clamp(26.6666666667px, 0px + 8.3333333333vw, 64px);
  }
}
.p-homeApps__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  list-style: none;
}
@media screen and (max-width: 767px) {
  .p-homeApps__grid {
    display: flex;
    flex-wrap: wrap;
    gap: 3vw;
  }
}
@media screen and (max-width: 767px) {
  .p-homeApps__grid li {
    width: calc(50% - 1.5vw);
  }
}
.p-homeApps__card {
  background: #1A2B45;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 8px;
  padding: 32px 26px 36px;
  display: flex;
  flex-direction: column;
  gap: clamp(9.8742857143px, 0px + 1.2857142857vw, 18px);
  text-decoration: none;
  color: #FFF;
  height: stretch;
  min-height: 320px;
  transition: 0.25s;
}
@media screen and (max-width: 767px) {
  .p-homeApps__card {
    width: 100%;
    padding: clamp(15px, 0px + 4.6875vw, 36px) clamp(12.5px, 0px + 3.90625vw, 30px) clamp(16.6666666667px, 0px + 5.2083333333vw, 40px);
    gap: clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
    min-height: auto;
    align-items: center;
    text-align: center;
  }
}
@media (hover: hover) {
  .p-homeApps__card:hover {
    background: #0075C1;
    transform: translateY(-2px);
    box-shadow: 0 14px 30px -16px rgba(0, 117, 193, 0.55);
  }
  .p-homeApps__card:hover .p-homeApps__icon {
    background: #FFF;
  }
}
.p-homeApps__card--all {
  background: transparent;
  border: 2px solid #0075C1;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 10px;
  color: #0075C1;
}
@media screen and (max-width: 767px) {
  .p-homeApps__card--all {
    gap: clamp(8.3333333333px, 0px + 2.6041666667vw, 20px);
  }
}
@media (hover: hover) {
  .p-homeApps__card--all:hover {
    background: #0075C1;
    color: #FFF;
  }
}
.p-homeApps__iconBox {
  width: 64px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .p-homeApps__iconBox {
    width: clamp(53.3333333333px, 0px + 16.6666666667vw, 128px);
    height: clamp(53.3333333333px, 0px + 16.6666666667vw, 128px);
  }
}
.p-homeApps__icon {
  width: 48px;
  height: 48px;
  background: #FFF;
  display: block;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  transition: background 0.25s ease;
}
@media screen and (max-width: 767px) {
  .p-homeApps__icon {
    width: clamp(40px, 0px + 12.5vw, 96px);
    height: clamp(40px, 0px + 12.5vw, 96px);
  }
}
.p-homeApps__name {
  font-size: 1rem;
  font-weight: 700;
  color: #FFF;
}
@media screen and (max-width: 767px) {
  .p-homeApps__name {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
  }
}
.p-homeApps__nameEn {
  font-size: 0.6875rem;
  color: rgba(255, 255, 255, 0.55);
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-top: 4px;
}
@media screen and (max-width: 767px) {
  .p-homeApps__nameEn {
    font-size: clamp(0.46875rem, 0rem + 2.34375vw, 1.125rem);
    margin-top: clamp(3.3333333333px, 0px + 1.0416666667vw, 8px);
  }
}
.p-homeApps__desc {
  font-size: 0.8125rem;
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.7;
  margin-top: 6px;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .p-homeApps__desc {
    display: none;
    font-size: clamp(0.6770833333rem, 0rem + 3.3854166667vw, 1.625rem);
    margin-top: clamp(5px, 0px + 1.5625vw, 12px);
    align-self: stretch;
    text-align: left;
  }
}
.p-homeApps__allText {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  display: inline-flex;
  align-items: center;
  gap: 14px;
}
@media screen and (max-width: 767px) {
  .p-homeApps__allText {
    font-size: clamp(0.8333333333rem, 0rem + 4.1666666667vw, 2rem);
    gap: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
  }
}
.p-homeApps__allText svg {
  width: 20px;
  height: 20px;
}
@media screen and (max-width: 767px) {
  .p-homeApps__allText svg {
    width: clamp(16.6666666667px, 0px + 5.2083333333vw, 40px);
    height: clamp(16.6666666667px, 0px + 5.2083333333vw, 40px);
  }
}

.p-homeTopics {
  padding: clamp(48.2742857143px, 0px + 6.2857142857vw, 88px) 0;
  background: #F5F7FD;
}
@media screen and (max-width: 767px) {
  .p-homeTopics {
    padding: clamp(50px, 0px + 15.625vw, 120px) 0;
  }
}
.p-homeTopics__head {
  margin-bottom: clamp(26.3314285714px, 0px + 3.4285714286vw, 48px);
}
@media screen and (max-width: 767px) {
  .p-homeTopics__head {
    margin-bottom: clamp(33.3333333333px, 0px + 10.4166666667vw, 80px);
  }
}
.p-homeTopics__eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}
@media screen and (max-width: 767px) {
  .p-homeTopics__eyebrow {
    gap: clamp(8.3333333333px, 0px + 2.6041666667vw, 20px);
    margin-bottom: clamp(9.1666666667px, 0px + 2.8645833333vw, 22px);
  }
}
.p-homeTopics__eyebrowJa {
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #141420;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-homeTopics__eyebrowJa {
    font-size: clamp(1.25rem, 0rem + 6.25vw, 3rem);
  }
}
.p-homeTopics__eyebrowEn {
  margin-left: auto;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  letter-spacing: 0.25em;
  color: #707080;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .p-homeTopics__eyebrowEn {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
  }
}
.p-homeTopics__rule {
  width: 80px;
  height: 2px;
  background: #0075C1;
  margin-bottom: 8px;
}
@media screen and (max-width: 767px) {
  .p-homeTopics__rule {
    width: clamp(58.3333333333px, 0px + 18.2291666667vw, 140px);
    height: clamp(1.6666666667px, 0px + 0.5208333333vw, 4px);
    margin-bottom: clamp(5px, 0px + 1.5625vw, 12px);
  }
}
.p-homeTopics__knowList {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: clamp(8.7771428571px, 0px + 1.1428571429vw, 16px);
  margin-bottom: clamp(26.3314285714px, 0px + 3.4285714286vw, 48px);
  list-style: none;
}
@media screen and (max-width: 767px) {
  .p-homeTopics__knowList {
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(10px, 0px + 3.125vw, 24px);
    margin-bottom: clamp(33.3333333333px, 0px + 10.4166666667vw, 80px);
  }
}
.p-homeTopics__knowList li {
  display: flex;
}
.p-homeTopics__knowCard {
  position: relative;
  width: 100%;
  background: #FFF;
  border: 1px solid #E6EAF2;
  border-radius: 8px;
  padding: clamp(13.1657142857px, 0px + 1.7142857143vw, 24px) clamp(12.0685714286px, 0px + 1.5714285714vw, 22px);
  text-decoration: none;
  color: #141420;
  display: flex;
  flex-direction: column;
  gap: 4px;
  overflow: hidden;
  transition: 0.25s;
}
@media screen and (max-width: 767px) {
  .p-homeTopics__knowCard {
    border-radius: clamp(5px, 0px + 1.5625vw, 12px);
    padding: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
    gap: clamp(2.5px, 0px + 0.78125vw, 6px);
  }
}
@media (hover: hover) {
  .p-homeTopics__knowCard:hover {
    border-color: #0075C1;
    transform: translateY(-2px);
    box-shadow: 0 12px 28px -18px rgba(0, 117, 193, 0.3);
  }
}
.p-homeTopics__knowJa {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1rem;
  font-weight: 700;
  color: #141420;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-homeTopics__knowJa {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-homeTopics__knowEn {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
  color: #707080;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-homeTopics__knowEn {
    font-size: clamp(0.46875rem, 0rem + 2.34375vw, 1.125rem);
  }
}
.p-homeTopics__knowArrow {
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  color: #707080;
  font-size: 0.9375rem;
  transition: color 0.25s, transform 0.25s;
}
@media screen and (max-width: 767px) {
  .p-homeTopics__knowArrow {
    right: clamp(10px, 0px + 3.125vw, 24px);
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
@media (hover: hover) {
  .p-homeTopics__knowCard:hover .p-homeTopics__knowArrow {
    color: #0075C1;
    transform: translateY(-50%) translateX(3px);
  }
}
.p-homeTopics__topicsHead {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .p-homeTopics__topicsHead {
    margin-bottom: clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
  }
}
.p-homeTopics__topicsTtl {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.9375rem;
  font-weight: 700;
  color: #141420;
  letter-spacing: 0.02em;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .p-homeTopics__topicsTtl {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-homeTopics__topicsAll {
  font-size: 0.75rem;
  color: #141420;
  text-decoration: none;
  font-weight: 500;
  letter-spacing: 0.04em;
  transition: 0.25s;
}
@media screen and (max-width: 767px) {
  .p-homeTopics__topicsAll {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
  }
}
@media (hover: hover) {
  .p-homeTopics__topicsAll:hover {
    color: #0075C1;
  }
}
.p-homeTopics__list {
  list-style: none;
  border-top: 1px solid #E6EAF2;
}
.p-homeTopics__listLink {
  display: grid;
  grid-template-columns: 96px 90px 1fr 18px;
  align-items: center;
  gap: 14px;
  padding: 14px 4px;
  border-bottom: 1px solid #E6EAF2;
  text-decoration: none;
  color: #141420;
  transition: background 0.2s;
}
@media screen and (max-width: 767px) {
  .p-homeTopics__listLink {
    grid-template-columns: auto 1fr;
    column-gap: clamp(10px, 0px + 3.125vw, 24px);
    row-gap: clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
    padding: clamp(13.3333333333px, 0px + 4.1666666667vw, 32px) clamp(3.3333333333px, 0px + 1.0416666667vw, 8px);
  }
}
@media (hover: hover) {
  .p-homeTopics__listLink:hover {
    background: rgba(0, 117, 193, 0.08);
  }
}
.p-homeTopics__listDate {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  color: #707080;
  font-weight: 500;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-homeTopics__listDate {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
  }
}
.p-homeTopics__listCat {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
  font-weight: 700;
  color: #0075C1;
  border: 1px solid #0075C1;
  padding: 3px 8px;
  border-radius: 2px;
  text-align: center;
  letter-spacing: 0.05em;
  justify-self: start;
  min-width: 4.5rem;
  transition: background 0.2s, color 0.2s;
}
@media screen and (max-width: 767px) {
  .p-homeTopics__listCat {
    font-size: clamp(0.46875rem, 0rem + 2.34375vw, 1.125rem);
    min-width: clamp(50px, 0px + 15.625vw, 120px);
  }
}
.p-homeTopics__listTtl {
  font-size: 0.8125rem;
  color: #141420;
  font-weight: 500;
  line-height: 1.5;
  transition: color 0.2s;
}
@media screen and (max-width: 767px) {
  .p-homeTopics__listTtl {
    grid-column: 1/-1;
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-homeTopics__listArrow {
  color: #707080;
  font-size: 0.8125rem;
  transition: color 0.2s, transform 0.2s;
}
@media screen and (max-width: 767px) {
  .p-homeTopics__listArrow {
    display: none;
  }
}
@media (hover: hover) {
  .p-homeTopics__listLink:hover .p-homeTopics__listCat {
    background: #0075C1;
    color: #FFF;
  }
  .p-homeTopics__listLink:hover .p-homeTopics__listTtl {
    color: #0075C1;
  }
  .p-homeTopics__listLink:hover .p-homeTopics__listArrow {
    color: #0075C1;
    transform: translateX(3px);
  }
}

/*----------▲▲ home ▲▲----------*/
/*----------▼▼ applications ▼▼----------*/
.p-applications {
  padding: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px) 0 clamp(43.8857142857px, 0px + 5.7142857143vw, 80px);
  background: #FFF;
}
@media screen and (max-width: 767px) {
  .p-applications {
    padding: clamp(40px, 0px + 12.5vw, 96px) 0 clamp(53.3333333333px, 0px + 16.6666666667vw, 128px);
  }
}
.p-applications__lead {
  font-size: 0.875rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-applications__lead {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-applications__lead p {
  margin: 0 0 22px;
}
@media screen and (max-width: 767px) {
  .p-applications__lead p {
    margin: 0 0 clamp(16.6666666667px, 0px + 5.2083333333vw, 40px);
  }
}
.p-applications__lead p:last-child {
  margin-bottom: 0;
}
.p-applications__lead a {
  color: #0075C1;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: 0.2s;
}
@media (hover: hover) {
  .p-applications__lead a:hover {
    text-decoration-thickness: 2px;
  }
}
.p-applications__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-top: clamp(19.7485714286px, 0px + 2.5714285714vw, 36px);
}
@media screen and (max-width: 767px) {
  .p-applications__grid {
    grid-template-columns: 1fr;
    gap: clamp(13.3333333333px, 0px + 4.1666666667vw, 32px);
    margin-top: clamp(26.6666666667px, 0px + 8.3333333333vw, 64px);
  }
}
.p-applications__card {
  background: #1A2B45;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 8px;
  padding: clamp(17.5542857143px, 0px + 2.2857142857vw, 32px) clamp(14.2628571429px, 0px + 1.8571428571vw, 26px) clamp(19.7485714286px, 0px + 2.5714285714vw, 36px);
  display: flex;
  flex-direction: column;
  gap: clamp(9.8742857143px, 0px + 1.2857142857vw, 18px);
  text-decoration: none;
  color: #FFF;
  transition: 0.25s;
}
@media screen and (max-width: 767px) {
  .p-applications__card {
    padding: clamp(23.3333333333px, 0px + 7.2916666667vw, 56px) clamp(20px, 0px + 6.25vw, 48px) clamp(26.6666666667px, 0px + 8.3333333333vw, 64px);
    gap: clamp(13.3333333333px, 0px + 4.1666666667vw, 32px);
  }
}
@media (hover: hover) {
  .p-applications__card:hover {
    background: #0075C1;
    transform: translateY(-2px);
    box-shadow: 0 14px 30px -16px rgba(0, 117, 193, 0.55);
  }
}
.p-applications__iconBox {
  width: 64px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .p-applications__iconBox {
    width: clamp(46.6666666667px, 0px + 14.5833333333vw, 112px);
    height: clamp(46.6666666667px, 0px + 14.5833333333vw, 112px);
  }
}
.p-applications__icon {
  width: 48px;
  height: 48px;
  background: #FFF;
  display: block;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
}
@media screen and (max-width: 767px) {
  .p-applications__icon {
    width: clamp(36.6666666667px, 0px + 11.4583333333vw, 88px);
    height: clamp(36.6666666667px, 0px + 11.4583333333vw, 88px);
  }
}
.p-applications__cardBody {
  display: flex;
  flex-direction: column;
}
.p-applications__cardTit {
  font-size: 1rem;
  font-weight: 700;
  color: #FFF;
  letter-spacing: 0.02em;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .p-applications__cardTit {
    font-size: clamp(0.8333333333rem, 0rem + 4.1666666667vw, 2rem);
  }
}
.p-applications__cardDesc {
  font-size: 0.8125rem;
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.7;
  margin: 10px 0 0;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .p-applications__cardDesc {
    font-size: clamp(0.6770833333rem, 0rem + 3.3854166667vw, 1.625rem);
    margin: clamp(8.3333333333px, 0px + 2.6041666667vw, 20px) 0 0;
  }
}
.p-applications__cardMore {
  color: #FFF;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin-top: 14px;
  opacity: 0.85;
}
@media screen and (max-width: 767px) {
  .p-applications__cardMore {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
    margin-top: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
  }
}

/*----------▲▲ applications ▲▲----------*/
/*----------▼▼ company ▼▼----------*/
.p-companyIntro {
  padding: clamp(52.6628571429px, 0px + 6.8571428571vw, 96px) 7vw clamp(43.8857142857px, 0px + 5.7142857143vw, 80px);
  background: #FFF;
  max-width: 1400px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-companyIntro {
    padding: clamp(50px, 0px + 15.625vw, 120px) 5vw clamp(41.6666666667px, 0px + 13.0208333333vw, 100px);
  }
}
.p-companyIntro__grid {
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px);
  align-items: start;
  border-bottom: 1px solid #E6EAF2;
  padding-bottom: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px);
  margin-bottom: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px);
}
@media screen and (max-width: 767px) {
  .p-companyIntro__grid {
    grid-template-columns: 1fr;
    gap: clamp(20px, 0px + 6.25vw, 48px);
    padding-bottom: clamp(33.3333333333px, 0px + 10.4166666667vw, 80px);
    margin-bottom: clamp(33.3333333333px, 0px + 10.4166666667vw, 80px);
  }
}
.p-companyIntro__grid:last-child {
  border-bottom: 0;
  padding-bottom: 0;
  margin-bottom: 0;
}
.p-companyIntro__head {
  display: flex;
  flex-direction: column;
}
.p-companyIntro__en {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  letter-spacing: 0.25em;
  color: #0075C1;
  font-weight: 600;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .p-companyIntro__en {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
  }
}
.p-companyIntro__ja {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.3;
  color: #141420;
  letter-spacing: 0.02em;
  margin: 8px 0 0;
}
@media screen and (max-width: 767px) {
  .p-companyIntro__ja {
    font-size: clamp(1.1458333333rem, 0rem + 5.7291666667vw, 2.75rem);
    margin-top: clamp(5px, 0px + 1.5625vw, 12px);
  }
}
.p-companyIntro__rule {
  width: 48px;
  height: 2px;
  background: #0075C1;
  margin-top: 14px;
}
@media screen and (max-width: 767px) {
  .p-companyIntro__rule {
    width: clamp(26.6666666667px, 0px + 8.3333333333vw, 64px);
    height: clamp(1.6666666667px, 0px + 0.5208333333vw, 4px);
    margin-top: clamp(10px, 0px + 3.125vw, 24px);
  }
}
.p-companyIntro__body {
  padding-top: 8px;
}
@media screen and (max-width: 767px) {
  .p-companyIntro__body {
    padding-top: 0;
  }
}
.p-companyIntro__body p {
  font-size: 0.9375rem;
  line-height: 2;
  color: #3a3a48;
  margin: 0;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-companyIntro__body p {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
  }
}

/*----------▲▲ company ▲▲----------*/
/*----------▼▼ quality ▼▼----------*/
.p-quality {
  padding: clamp(65.8285714286px, 0px + 8.5714285714vw, 120px) 0 clamp(52.6628571429px, 0px + 6.8571428571vw, 96px);
  background: #FFF;
}
.p-quality__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 7vw;
}
.p-quality__lead {
  font-size: 0.9375rem;
  line-height: 2;
  color: #3a3a48;
  margin: 0 0 28px;
  letter-spacing: 0.02em;
}
.p-quality__certBanner {
  background: #F5F7FD;
  border: 1px solid #E6EAF2;
  border-radius: 8px;
  padding: 28px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-quality__certBanner img {
  max-width: 380px;
  width: 100%;
  height: auto;
  display: block;
}
.p-quality__policy {
  margin: 0;
  background: #F5F7FD;
  border-left: 3px solid #0075C1;
  border-radius: 0 6px 6px 0;
  padding: 32px 36px;
  font-size: 1rem;
  line-height: 2.1;
  color: #141420;
  font-weight: 500;
  letter-spacing: 0.03em;
}

.p-qualitySection {
  margin-bottom: clamp(52.6628571429px, 0px + 6.8571428571vw, 96px);
}
.p-qualitySection:last-child {
  margin-bottom: 0;
}
.p-qualitySection__head {
  display: flex;
  align-items: baseline;
  gap: 18px;
  margin: 0 0 32px;
  padding-bottom: 16px;
  border-bottom: 1px solid #E6EAF2;
}
.p-qualitySection__title {
  font-size: 1.75rem;
  font-weight: 700;
  color: #141420;
  margin: 0;
  line-height: 1.3;
  letter-spacing: 0.02em;
}

.p-qualityCards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.p-qualityCard {
  background: #F5F7FD;
  border: 1px solid #E6EAF2;
  border-radius: 8px;
  padding: 28px 26px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.p-qualityCard__badge {
  align-self: flex-start;
  background: #0075C1;
  color: #FFF;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  padding: 8px 16px;
  border-radius: 4px;
}
.p-qualityCard__title {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.25rem;
  font-weight: 700;
  color: #141420;
  margin: 0;
  letter-spacing: 0.02em;
  line-height: 1.45;
}
.p-qualityCard__body {
  font-size: 0.8125rem;
  line-height: 1.95;
  color: #3a3a48;
  margin: 0;
  letter-spacing: 0.02em;
}
.p-qualityCard__list {
  margin: 4px 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.p-qualityCard__list li {
  position: relative;
  padding-left: 18px;
  font-size: 0.75rem;
  line-height: 1.7;
  color: #3a3a48;
}
.p-qualityCard__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #0075C1;
}

.p-qualityPolicyList {
  margin: 0 0 28px;
  padding: 0;
  list-style: none;
  border-top: 1px solid #E6EAF2;
}
.p-qualityPolicyList__item {
  position: relative;
  padding: 20px 20px 20px 24px;
  border-bottom: 1px solid #E6EAF2;
  font-size: 0.875rem;
  line-height: 1.9;
  letter-spacing: 0.02em;
  color: #3a3a48;
}
.p-qualityPolicyList__item::before {
  content: "";
  position: absolute;
  left: 4px;
  top: calc(20px + 0.95em - 3px);
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #0075C1;
}

.p-qualityGreen {
  margin-top: 24px;
  padding: 28px 32px;
  background: #F5F7FD;
  border: 1px solid #E6EAF2;
  border-radius: 8px;
}
.p-qualityGreen__title {
  margin: 0 0 10px;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #141420;
}
.p-qualityGreen__desc {
  margin: 0 0 18px;
  font-size: 0.875rem;
  line-height: 1.9;
  letter-spacing: 0.02em;
  color: #3a3a48;
}
.p-qualityGreen__links {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.p-qualityGreen__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #0075C1;
  text-decoration: none;
}
@media (hover: hover) {
  .p-qualityGreen__link:hover {
    text-decoration: underline;
  }
}
.p-qualityGreen__extIcon {
  width: 12px;
  height: 12px;
  background: #0075C1;
  -webkit-mask: url(../img/common/icon-external.svg) no-repeat center/contain;
  mask: url(../img/common/icon-external.svg) no-repeat center/contain;
  display: inline-block;
}
.p-qualityGreen__arrow {
  font-size: 0.875rem;
  line-height: 1;
}

/*----------▲▲ quality ▲▲----------*/
/*----------▼▼ top_message ▼▼----------*/
.p-msgArticle {
  padding: clamp(65.8285714286px, 0px + 8.5714285714vw, 120px) 7vw clamp(52.6628571429px, 0px + 6.8571428571vw, 96px);
  background: #FFF;
  max-width: 1400px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-msgArticle {
    padding: clamp(50px, 0px + 15.625vw, 120px) 5vw clamp(40px, 0px + 12.5vw, 96px);
  }
}

.p-msgMain {
  max-width: 760px;
  width: 100%;
  margin: 0 auto;
}

.p-msgLede {
  font-family: "Noto Serif JP", serif, "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝";
  font-size: 2.25rem;
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: 0.02em;
  color: #141420;
  margin: 0 0 clamp(30.72px, 0px + 4vw, 56px);
}
@media screen and (max-width: 767px) {
  .p-msgLede {
    font-size: clamp(1.25rem, 0rem + 6.25vw, 3rem);
    margin-bottom: clamp(26.6666666667px, 0px + 8.3333333333vw, 64px);
  }
}
.p-msgLede__accent {
  color: #0075C1;
}

.p-msgPortrait {
  position: relative;
  margin: 0 0 clamp(35.1085714286px, 0px + 4.5714285714vw, 64px);
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid #E6EAF2;
  aspect-ratio: 16/10;
}
@media screen and (max-width: 767px) {
  .p-msgPortrait {
    margin-bottom: clamp(53.3333333333px, 0px + 16.6666666667vw, 128px);
  }
}
.p-msgPortrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.p-msgSection {
  margin-bottom: clamp(39.4971428571px, 0px + 5.1428571429vw, 72px);
}
@media screen and (max-width: 767px) {
  .p-msgSection {
    margin-bottom: clamp(60px, 0px + 18.75vw, 144px);
  }
}
.p-msgSection:last-of-type {
  margin-bottom: clamp(26.3314285714px, 0px + 3.4285714286vw, 48px);
}
@media screen and (max-width: 767px) {
  .p-msgSection:last-of-type {
    margin-bottom: clamp(40px, 0px + 12.5vw, 96px);
  }
}
.p-msgSection__head {
  margin-bottom: clamp(13.1657142857px, 0px + 1.7142857143vw, 24px);
}
@media screen and (max-width: 767px) {
  .p-msgSection__head {
    margin-bottom: clamp(20px, 0px + 6.25vw, 48px);
  }
}
.p-msgSection__title {
  font-size: 1.625rem;
  font-weight: 700;
  color: #141420;
  margin: 0;
  line-height: 1.4;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-msgSection__title {
    font-size: clamp(0.8333333333rem, 0rem + 4.1666666667vw, 2rem);
  }
}
.p-msgSection p {
  font-size: 0.9375rem;
  line-height: 2;
  color: #3a3a48;
  margin: 0 0 20px;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-msgSection p {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
    margin-bottom: clamp(16.6666666667px, 0px + 5.2083333333vw, 40px);
  }
}

.p-msgList {
  margin: clamp(13.1657142857px, 0px + 1.7142857143vw, 24px) 0;
  padding: 24px 28px;
  background: #F5F7FD;
  border-left: 3px solid #0075C1;
  border-radius: 0 4px 4px 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 32px;
  list-style: none;
}
@media screen and (max-width: 767px) {
  .p-msgList {
    margin: clamp(20px, 0px + 6.25vw, 48px) 0;
    padding: clamp(13.3333333333px, 0px + 4.1666666667vw, 32px);
    grid-template-columns: 1fr;
    gap: clamp(8.3333333333px, 0px + 2.6041666667vw, 20px);
  }
}
.p-msgList li {
  font-size: 0.8125rem;
  color: #141420;
  font-weight: 500;
  padding-left: 18px;
  position: relative;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-msgList li {
    font-size: clamp(0.5729166667rem, 0rem + 2.8645833333vw, 1.375rem);
    padding-left: clamp(13.3333333333px, 0px + 4.1666666667vw, 32px);
  }
}
.p-msgList li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  width: 6px;
  height: 6px;
  background: #0075C1;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .p-msgList li::before {
    top: clamp(5px, 0px + 1.5625vw, 12px);
    width: clamp(4.1666666667px, 0px + 1.3020833333vw, 10px);
    height: clamp(4.1666666667px, 0px + 1.3020833333vw, 10px);
  }
}

.p-msgSign {
  margin-top: clamp(30.72px, 0px + 4vw, 56px);
  padding-top: 36px;
  border-top: 1px solid #E6EAF2;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-msgSign {
    margin-top: clamp(40px, 0px + 12.5vw, 96px);
    padding-top: clamp(21.6666666667px, 0px + 6.7708333333vw, 52px);
  }
}
.p-msgSign__company {
  font-size: 0.875rem;
  color: #707080;
  font-weight: 500;
  margin-bottom: 4px;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .p-msgSign__company {
    font-size: clamp(0.5729166667rem, 0rem + 2.8645833333vw, 1.375rem);
    margin-bottom: clamp(3.3333333333px, 0px + 1.0416666667vw, 8px);
  }
}
.p-msgSign__role {
  font-size: 0.75rem;
  color: #707080;
  font-weight: 500;
  margin-bottom: 6px;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .p-msgSign__role {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
    margin-bottom: clamp(3.3333333333px, 0px + 1.0416666667vw, 8px);
  }
}
.p-msgSign__name {
  font-family: "Noto Serif JP", serif, "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝";
  font-size: 1.5rem;
  font-weight: 500;
  color: #141420;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-msgSign__name {
    font-size: clamp(1.0416666667rem, 0rem + 5.2083333333vw, 2.5rem);
  }
}

/*----------▲▲ top_message ▲▲----------*/
/*----------▼▼ about ▼▼----------*/
.p-aboutArticle {
  padding: clamp(65.8285714286px, 0px + 8.5714285714vw, 120px) 7vw clamp(52.6628571429px, 0px + 6.8571428571vw, 96px);
  background: #FFF;
  max-width: 1400px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-aboutArticle {
    padding: clamp(50px, 0px + 15.625vw, 120px) 5vw clamp(40px, 0px + 12.5vw, 96px);
  }
}

.p-aboutMain {
  max-width: 840px;
  width: 100%;
  margin: 0 auto;
}

.p-aboutSection {
  margin-bottom: clamp(52.6628571429px, 0px + 6.8571428571vw, 96px);
}
@media screen and (max-width: 767px) {
  .p-aboutSection {
    margin-bottom: clamp(50px, 0px + 15.625vw, 120px);
  }
}
.p-aboutSection:last-child {
  margin-bottom: 0;
}
.p-aboutSection__head {
  margin-bottom: clamp(17.5542857143px, 0px + 2.2857142857vw, 32px);
  padding-bottom: 16px;
  border-bottom: 1px solid #E6EAF2;
}
@media screen and (max-width: 767px) {
  .p-aboutSection__head {
    margin-bottom: clamp(20px, 0px + 6.25vw, 48px);
    padding-bottom: clamp(10px, 0px + 3.125vw, 24px);
  }
}
.p-aboutSection__title {
  font-size: 1.75rem;
  font-weight: 700;
  color: #141420;
  margin: 0;
  line-height: 1.3;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-aboutSection__title {
    font-size: clamp(1.09375rem, 0rem + 5.46875vw, 2.625rem);
  }
}

.p-aboutTable {
  width: 100%;
  border-collapse: collapse;
}
.p-aboutTable tr {
  border-bottom: 1px solid #E6EAF2;
}
.p-aboutTable tr:first-child {
  border-top: 1px solid #E6EAF2;
}
.p-aboutTable th {
  text-align: left;
  vertical-align: top;
  padding: 20px 24px;
  width: 160px;
  background: #F5F7FD;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #141420;
  letter-spacing: 0.04em;
  border-right: 1px solid #E6EAF2;
}
@media screen and (max-width: 767px) {
  .p-aboutTable th {
    display: block;
    width: 100%;
    padding: clamp(10px, 0px + 3.125vw, 24px) clamp(13.3333333333px, 0px + 4.1666666667vw, 32px);
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
    border-right: none;
    border-bottom: 1px solid #E6EAF2;
  }
}
.p-aboutTable td {
  padding: 20px 28px;
  font-size: 0.875rem;
  color: #3a3a48;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-aboutTable td {
    display: block;
    width: 100%;
    padding: clamp(13.3333333333px, 0px + 4.1666666667vw, 32px) clamp(16.6666666667px, 0px + 5.2083333333vw, 40px);
    font-size: clamp(0.6770833333rem, 0rem + 3.3854166667vw, 1.625rem);
  }
}
.p-aboutTable td.p-aboutTable__compound {
  padding: 0;
}
@media screen and (max-width: 767px) {
  .p-aboutTable td.p-aboutTable__compound {
    padding: 0;
  }
}
.p-aboutTable td.p-aboutTable__compound table {
  width: 100%;
  border-collapse: collapse;
}
.p-aboutTable td.p-aboutTable__compound tr {
  border-bottom: 1px solid #E6EAF2;
  border-top: none;
}
.p-aboutTable td.p-aboutTable__compound tr:first-child {
  border-top: none;
}
.p-aboutTable td.p-aboutTable__compound tr:last-child {
  border-bottom: none;
}
.p-aboutTable td.p-aboutTable__compound td {
  padding: 14px 28px;
  font-size: 0.875rem;
}
@media screen and (max-width: 767px) {
  .p-aboutTable td.p-aboutTable__compound td {
    display: block;
    width: 100%;
    padding: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px) clamp(16.6666666667px, 0px + 5.2083333333vw, 40px);
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-aboutTable td.p-aboutTable__compound td:first-child {
  width: 200px;
  color: #707080;
  font-size: 0.75rem;
  font-weight: 500;
  border-right: 1px dashed #E6EAF2;
  background: #FAFBFE;
}
@media screen and (max-width: 767px) {
  .p-aboutTable td.p-aboutTable__compound td:first-child {
    width: 100%;
    border-right: none;
    border-bottom: 1px dashed #E6EAF2;
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
  }
}
.p-aboutTable__name {
  font-size: 0.875rem;
  color: #141420;
  font-weight: 500;
  margin-right: 10px;
}
@media screen and (max-width: 767px) {
  .p-aboutTable__name {
    font-size: clamp(0.6770833333rem, 0rem + 3.3854166667vw, 1.625rem);
    margin-right: clamp(8.3333333333px, 0px + 2.6041666667vw, 20px);
  }
}
.p-aboutTable__org {
  font-size: 0.75rem;
  color: #707080;
  line-height: 1.6;
  display: block;
  margin-top: 2px;
}
@media screen and (max-width: 767px) {
  .p-aboutTable__org {
    font-size: clamp(0.5729166667rem, 0rem + 2.8645833333vw, 1.375rem);
    margin-top: clamp(1.6666666667px, 0px + 0.5208333333vw, 4px);
  }
}

.p-aboutTimeline {
  position: relative;
  padding-left: 32px;
}
@media screen and (max-width: 767px) {
  .p-aboutTimeline {
    padding-left: clamp(26.6666666667px, 0px + 8.3333333333vw, 64px);
  }
}
.p-aboutTimeline::before {
  content: "";
  position: absolute;
  left: 7px;
  top: 8px;
  bottom: 8px;
  width: 2px;
  background: #E6EAF2;
}
@media screen and (max-width: 767px) {
  .p-aboutTimeline::before {
    top: clamp(5px, 0px + 1.5625vw, 12px);
    left: clamp(5.8333333333px, 0px + 1.8229166667vw, 14px);
  }
}
.p-aboutTimeline__item {
  position: relative;
  padding: 0 0 28px 32px;
}
@media screen and (max-width: 767px) {
  .p-aboutTimeline__item {
    padding: 0 0 clamp(17.5px, 0px + 5.46875vw, 42px) clamp(10px, 0px + 3.125vw, 24px);
  }
}
.p-aboutTimeline__item:last-child {
  padding-bottom: 0;
}
.p-aboutTimeline__item::before {
  content: "";
  position: absolute;
  left: -32px;
  top: 6px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #FFF;
  border: 2px solid #E6EAF2;
  box-sizing: border-box;
  transition: all 0.2s ease;
}
@media screen and (max-width: 767px) {
  .p-aboutTimeline__item::before {
    left: calc(-1 * clamp(25.8333333333px, 0px + 8.0729166667vw, 62px));
    top: clamp(1.6666666667px, 0px + 0.5208333333vw, 4px);
    width: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
    height: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
  }
}
.p-aboutTimeline__item.is-major::before {
  background: #0075C1;
  border-color: #0075C1;
}
@media (hover: hover) {
  .p-aboutTimeline__item:hover::before {
    border-color: #0075C1;
  }
}
.p-aboutTimeline__date {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #0075C1;
  letter-spacing: 0.04em;
  margin-bottom: 6px;
  display: block;
}
@media screen and (max-width: 767px) {
  .p-aboutTimeline__date {
    font-size: clamp(0.5729166667rem, 0rem + 2.8645833333vw, 1.375rem);
    margin-bottom: clamp(5px, 0px + 1.5625vw, 12px);
  }
}
.p-aboutTimeline__text {
  font-size: 0.875rem;
  color: #3a3a48;
  line-height: 1.85;
}
@media screen and (max-width: 767px) {
  .p-aboutTimeline__text {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
  }
}
.p-aboutTimeline__text strong {
  color: #141420;
  font-weight: 600;
}

/*----------▲▲ about ▲▲----------*/
/*----------▼▼ access ▼▼----------*/
.p-accessArticle {
  padding: clamp(65.8285714286px, 0px + 8.5714285714vw, 120px) 7vw clamp(52.6628571429px, 0px + 6.8571428571vw, 96px);
  background: #FFF;
  max-width: 1400px;
  margin: 0 auto;
}

.p-accessMain {
  max-width: 840px;
  width: 100%;
  margin: 0 auto;
}

.p-accessSection {
  margin-bottom: clamp(48.2742857143px, 0px + 6.2857142857vw, 88px);
}
.p-accessSection:last-child {
  margin-bottom: 0;
}
.p-accessSection__head {
  margin-bottom: clamp(17.5542857143px, 0px + 2.2857142857vw, 32px);
  padding-bottom: 16px;
  border-bottom: 1px solid #E6EAF2;
}
.p-accessSection__title {
  font-size: 1.75rem;
  font-weight: 700;
  color: #141420;
  margin: 0;
  line-height: 1.3;
  letter-spacing: 0.02em;
}

.p-accessLocCard {
  background: #FFF;
  border: 1px solid #E6EAF2;
  border-radius: 8px;
  overflow: hidden;
}
.p-accessLocCard__info {
  padding: 32px 36px;
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 48px;
  align-items: start;
  border-bottom: 1px solid #E6EAF2;
  background: linear-gradient(135deg, #FAFBFE 0%, #F5F7FD 100%);
}
.p-accessLocCard__label {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  font-weight: 600;
  color: #0075C1;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.p-accessLocCard__name {
  font-size: 1.375rem;
  font-weight: 700;
  color: #141420;
  margin: 0 0 10px;
  letter-spacing: 0.02em;
  line-height: 1.55;
}
.p-accessLocCard__zip {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #707080;
  letter-spacing: 0.04em;
  margin-right: 10px;
}
.p-accessLocCard__addr {
  font-size: 1rem;
  font-weight: 500;
  color: #141420;
  line-height: 1.7;
  letter-spacing: 0.02em;
}
.p-accessLocCard__contact {
  padding-top: 8px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.p-accessLocCard__contactRow {
  display: flex;
  align-items: baseline;
  gap: 14px;
}
.p-accessLocCard__contactKey {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
  font-weight: 700;
  color: #707080;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  width: 46px;
  flex-shrink: 0;
}
.p-accessLocCard__contactVal {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.125rem;
  font-weight: 600;
  color: #141420;
  letter-spacing: 0.02em;
}
.p-accessLocCard__note {
  font-size: 0.6875rem;
  color: #707080;
  font-weight: 500;
  line-height: 1.7;
}
.p-accessLocCard__map {
  aspect-ratio: 16/8;
  background: #E0E6F0;
  overflow: hidden;
}
.p-accessLocCard__map iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.p-accessIntro {
  font-size: 0.875rem;
  color: #3a3a48;
  line-height: 1.9;
  margin: 0 0 24px;
}

.p-accessStation {
  margin-bottom: 28px;
  padding: 24px 28px;
  border: 1px solid #E6EAF2;
  border-radius: 8px;
  background: #F5F7FD;
  display: flex;
  align-items: center;
  gap: 18px;
}
.p-accessStation__pin {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #0075C1;
  color: #FFF;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.p-accessStation__text {
  font-size: 1rem;
  font-weight: 700;
  color: #141420;
  letter-spacing: 0.02em;
}
.p-accessStation__label {
  display: block;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.6875rem;
  color: #707080;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 2px;
}

.p-accessRoutes {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}

.p-accessRouteCard {
  background: #FFF;
  border: 1px solid #E6EAF2;
  border-radius: 8px;
  padding: 28px 28px 32px;
  transition: 0.3s;
}
@media (hover: hover) {
  .p-accessRouteCard:hover {
    border-color: #0075C1;
    transform: translateY(-2px);
    box-shadow: 0 12px 28px -18px rgba(0, 117, 193, 0.3);
    opacity: 1;
  }
}
.p-accessRouteCard__icon {
  width: 48px;
  height: 48px;
  border-radius: 8px;
  background: #EDF3FF;
  color: #0075C1;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
}
.p-accessRouteCard__title {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.125rem;
  font-weight: 700;
  color: #141420;
  margin: 0 0 6px;
  letter-spacing: 0.02em;
}
.p-accessRouteCard__time {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  color: #0075C1;
  font-weight: 600;
  letter-spacing: 0.08em;
  margin-bottom: 14px;
}
.p-accessRouteCard__desc {
  font-size: 0.8125rem;
  color: #3a3a48;
  line-height: 1.8;
  margin: 0;
}
.p-accessRouteCard__stop {
  font-size: 0.8125rem;
  color: #141420;
  font-weight: 500;
  margin-top: 8px;
  display: flex;
  align-items: baseline;
  gap: 6px;
}
.p-accessRouteCard__stop b {
  color: #0075C1;
}

.p-accessPdfCard {
  display: grid;
  grid-template-columns: 80px 1fr auto;
  gap: 24px;
  align-items: center;
  padding: 28px 32px;
  background: #1F2940;
  color: #FFF;
  border-radius: 8px;
  text-decoration: none;
  transition: 0.25s;
}
@media (hover: hover) {
  .p-accessPdfCard:hover {
    background: #172238;
    transform: translateY(-2px);
    box-shadow: 0 14px 32px -18px rgba(20, 20, 32, 0.45);
    opacity: 1;
  }
}
.p-accessPdfCard__fileIcon {
  width: 64px;
  height: 80px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #7FB6F4;
  position: relative;
}
.p-accessPdfCard__fileIcon::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  border-style: solid;
  border-width: 0 14px 14px 0;
  border-color: transparent rgba(20, 20, 32, 0.2) transparent transparent;
}
.p-accessPdfCard__body {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.p-accessPdfCard__label {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.6875rem;
  letter-spacing: 0.2em;
  color: #7FB6F4;
  font-weight: 600;
  text-transform: uppercase;
}
.p-accessPdfCard__title {
  font-size: 1.125rem;
  font-weight: 700;
  color: #FFF;
  letter-spacing: 0.02em;
}
.p-accessPdfCard__desc {
  font-size: 0.75rem;
  color: #A8B3C6;
  line-height: 1.7;
}
.p-accessPdfCard__arrow {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #FFF;
  font-size: 0.8125rem;
  font-weight: 600;
  white-space: nowrap;
}

/*----------▲▲ access ▲▲----------*/
/*----------▼▼ products ▼▼----------*/
.p-productsCat {
  padding: clamp(32.9142857143px, 0px + 4.2857142857vw, 60px) 7vw clamp(52.6628571429px, 0px + 6.8571428571vw, 96px);
  background: #FFF;
  max-width: 1400px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-productsCat {
    padding: clamp(50px, 0px + 15.625vw, 120px) 5vw clamp(66.6666666667px, 0px + 20.8333333333vw, 160px);
  }
}
.p-productsCat + .p-productsCat {
  padding-top: 0;
}
.p-productsCat__head {
  display: flex;
  align-items: baseline;
  gap: 18px;
  margin-bottom: clamp(17.5542857143px, 0px + 2.2857142857vw, 32px);
}
@media screen and (max-width: 767px) {
  .p-productsCat__head {
    flex-wrap: wrap;
    gap: clamp(6.6666666667px, 0px + 2.0833333333vw, 16px) clamp(10px, 0px + 3.125vw, 24px);
    margin-bottom: clamp(20px, 0px + 6.25vw, 48px);
  }
}
.p-productsCat__abbr {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 2rem;
  font-weight: 700;
  color: #0075C1;
  letter-spacing: 0.02em;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-productsCat__abbr {
    font-size: clamp(1.3541666667rem, 0rem + 6.7708333333vw, 3.25rem);
    order: 1;
  }
}
.p-productsCat__ja {
  font-size: 1rem;
  font-weight: 600;
  color: #141420;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-productsCat__ja {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
    order: 3;
    width: 100%;
  }
}
.p-productsCat__en {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.6875rem;
  color: #707080;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .p-productsCat__en {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
    order: 2;
    margin-left: 0;
  }
}
.p-productsCat__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .p-productsCat__grid {
    gap: clamp(20px, 0px + 6.25vw, 48px);
  }
}

.p-productsCard {
  position: relative;
  background: #FFF;
  border: 1px solid #E6EAF2;
  border-radius: 8px;
  overflow: hidden;
  text-decoration: none;
  color: #141420;
  display: flex;
  flex-direction: row;
  transition: all 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
}
@media screen and (max-width: 767px) {
  .p-productsCard {
    flex-direction: column;
  }
}
@media (hover: hover) {
  .p-productsCard:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 38px -20px rgba(20, 20, 32, 0.22);
    border-color: #cdd6e6;
    opacity: 1;
  }
  .p-productsCard:hover .p-productsCard__arrow::after {
    transform: scaleX(1);
  }
}
.p-productsCard__img {
  flex: 0 0 55%;
  background: linear-gradient(135deg, #FAFBFE 0%, #EDF1F8 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px;
  border-right: 1px solid #E6EAF2;
  min-height: 440px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-productsCard__img {
    flex: none;
    width: 100%;
    aspect-ratio: 4/3;
    min-height: auto;
    padding: clamp(20px, 0px + 6.25vw, 48px);
    border-right: none;
    border-bottom: 1px solid #E6EAF2;
  }
}
.p-productsCard__img img {
  width: 100%;
  height: 100%;
  max-height: 380px;
  object-fit: contain;
  display: block;
}
.p-productsCard__body {
  flex: 1;
  padding: 48px 56px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .p-productsCard__body {
    padding: clamp(20px, 0px + 6.25vw, 48px);
    gap: clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
  }
}
.p-productsCard__meta {
  display: flex;
  align-items: center;
  gap: 8px;
}
@media screen and (max-width: 767px) {
  .p-productsCard__meta {
    gap: clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
  }
}
.p-productsCard__catBadge {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
  font-weight: 700;
  color: #0075C1;
  letter-spacing: 0.12em;
  background: #EDF3FF;
  padding: 5px 10px;
  border-radius: 3px;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .p-productsCard__catBadge {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
    padding: clamp(4.1666666667px, 0px + 1.3020833333vw, 10px) clamp(8.3333333333px, 0px + 2.6041666667vw, 20px);
  }
}
.p-productsCard__newBadge {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  background: #0075C1;
  color: #FFF;
  font-size: 0.625rem;
  font-weight: 700;
  padding: 5px 10px;
  border-radius: 3px;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .p-productsCard__newBadge {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
    padding: clamp(4.1666666667px, 0px + 1.3020833333vw, 10px) clamp(8.3333333333px, 0px + 2.6041666667vw, 20px);
  }
}
.p-productsCard__name {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 2.25rem;
  font-weight: 700;
  color: #141420;
  letter-spacing: 0.01em;
  margin: 8px 0 0;
  line-height: 1.1;
}
@media screen and (max-width: 767px) {
  .p-productsCard__name {
    font-size: clamp(1.25rem, 0rem + 6.25vw, 3rem);
    margin: clamp(6.6666666667px, 0px + 2.0833333333vw, 16px) 0 0;
  }
}
.p-productsCard__fullName {
  font-size: 0.8125rem;
  color: #707080;
  line-height: 1.6;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .p-productsCard__fullName {
    font-size: clamp(0.5729166667rem, 0rem + 2.8645833333vw, 1.375rem);
  }
}
.p-productsCard__desc {
  font-size: 0.875rem;
  color: #3a3a48;
  line-height: 1.95;
  margin: 4px 0 0;
}
@media screen and (max-width: 767px) {
  .p-productsCard__desc {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
    margin: clamp(3.3333333333px, 0px + 1.0416666667vw, 8px) 0 0;
  }
}
.p-productsCard__arrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #0075C1;
  font-size: 0.8125rem;
  font-weight: 700;
  margin-top: 14px;
  position: relative;
  align-self: flex-start;
  padding-bottom: 3px;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-productsCard__arrow {
    font-size: clamp(0.6770833333rem, 0rem + 3.3854166667vw, 1.625rem);
    gap: clamp(8.3333333333px, 0px + 2.6041666667vw, 20px);
    margin-top: clamp(10px, 0px + 3.125vw, 24px);
  }
}
.p-productsCard__arrow::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: #0075C1;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.p-productsSw {
  padding: clamp(32.9142857143px, 0px + 4.2857142857vw, 60px) 7vw;
  background: #FFF;
}
@media screen and (max-width: 767px) {
  .p-productsSw {
    padding: clamp(16.6666666667px, 0px + 5.2083333333vw, 40px) 5vw;
  }
}
.p-productsSw__head {
  display: flex;
  align-items: baseline;
  gap: 18px;
  margin-bottom: clamp(17.5542857143px, 0px + 2.2857142857vw, 32px);
}
@media screen and (max-width: 767px) {
  .p-productsSw__head {
    gap: clamp(15px, 0px + 4.6875vw, 36px);
    margin-bottom: clamp(20px, 0px + 6.25vw, 48px);
  }
}
.p-productsSw__abbr {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.25rem;
  font-weight: 700;
  color: #141420;
  letter-spacing: 0.02em;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-productsSw__abbr {
    font-size: clamp(1.0416666667rem, 0rem + 5.2083333333vw, 2.5rem);
  }
}
.p-productsSw__en {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.6875rem;
  color: #707080;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .p-productsSw__en {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
  }
}
.p-productsSw__list {
  border-top: 1px solid #E6EAF2;
}

.p-productsBooks {
  padding: 0 7vw clamp(32.9142857143px, 0px + 4.2857142857vw, 60px);
  background: #FFF;
}
@media screen and (max-width: 767px) {
  .p-productsBooks {
    padding: clamp(40px, 0px + 12.5vw, 96px) 5vw;
  }
}
.p-productsBooks__head {
  display: flex;
  align-items: baseline;
  gap: 18px;
  margin-bottom: clamp(17.5542857143px, 0px + 2.2857142857vw, 32px);
}
@media screen and (max-width: 767px) {
  .p-productsBooks__head {
    gap: clamp(15px, 0px + 4.6875vw, 36px);
    margin-bottom: clamp(20px, 0px + 6.25vw, 48px);
  }
}
.p-productsBooks__abbr {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.25rem;
  font-weight: 700;
  color: #141420;
  letter-spacing: 0.02em;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-productsBooks__abbr {
    font-size: clamp(1.0416666667rem, 0rem + 5.2083333333vw, 2.5rem);
  }
}
.p-productsBooks__en {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.6875rem;
  color: #707080;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .p-productsBooks__en {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
  }
}
.p-productsBooks__list {
  border-top: 1px solid #E6EAF2;
}

.p-productsUsed {
  padding: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px) 0 clamp(43.8857142857px, 0px + 5.7142857143vw, 80px);
  background: #F5F7FD;
  border-top: 1px solid #E6EAF2;
}
@media screen and (max-width: 767px) {
  .p-productsUsed {
    padding: clamp(40px, 0px + 12.5vw, 96px) 0 clamp(50px, 0px + 15.625vw, 120px);
  }
}
.p-productsUsed__card {
  display: block;
}
.p-productsUsed__body {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
@media screen and (max-width: 767px) {
  .p-productsUsed__body {
    gap: clamp(3.3333333333px, 0px + 1.0416666667vw, 8px);
  }
}
.p-productsUsed__label {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
  letter-spacing: 0.2em;
  color: #0075C1;
  font-weight: 700;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .p-productsUsed__label {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
  }
}
.p-productsUsed__title {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.25rem;
  font-weight: 700;
  color: #141420;
  margin: 4px 0 8px;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-productsUsed__title {
    margin: clamp(3.3333333333px, 0px + 1.0416666667vw, 8px) 0 clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
    font-size: clamp(1.0416666667rem, 0rem + 5.2083333333vw, 2.5rem);
  }
}
.p-productsUsed__desc {
  font-size: 0.8125rem;
  color: #3a3a48;
  line-height: 1.95;
  margin: 0;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-productsUsed__desc {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
  }
}

.p-productsRow {
  display: grid;
  grid-template-columns: 1.2fr 2fr auto;
  gap: 32px;
  align-items: center;
  padding: 22px 32px;
  border-bottom: 1px solid #E6EAF2;
  background: #FFF;
  text-decoration: none;
  color: #141420;
  transition: background 0.2s ease;
}
@media screen and (max-width: 767px) {
  .p-productsRow {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: clamp(5px, 0px + 1.5625vw, 12px);
    padding: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
  }
}
@media (hover: hover) {
  .p-productsRow:hover {
    background: #F5F7FD;
    opacity: 1;
  }
}
.p-productsRow__name {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.875rem;
  font-weight: 700;
  color: #141420;
  letter-spacing: 0.01em;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-productsRow__name {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
    width: 100%;
  }
}
.p-productsRow__desc {
  font-size: 0.75rem;
  color: #3a3a48;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .p-productsRow__desc {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
    width: 100%;
  }
}
.p-productsRow__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #0075C1;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-productsRow__link {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
    gap: clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
    align-self: flex-end;
  }
}
.p-productsRow__link::after {
  content: "→";
  display: inline-block;
  transition: transform 0.25s ease;
}
@media (hover: hover) {
  .p-productsRow:hover .p-productsRow__link::after {
    transform: translateX(4px);
  }
}

/*----------▲▲ products ▲▲----------*/
/*----------▼▼ service-support ▼▼----------*/
.p-support {
  padding: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px) 0;
  background: #FFF;
}
.p-support__head {
  margin-bottom: clamp(21.9428571429px, 0px + 2.8571428571vw, 40px);
}
.p-support__en {
  display: block;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  letter-spacing: 0.25em;
  color: #0075C1;
  font-weight: 600;
  text-transform: uppercase;
}
.p-support__title {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 2rem;
  font-weight: 700;
  color: #141420;
  margin: 8px 0 0;
  letter-spacing: 0.02em;
  line-height: 1.3;
}
.p-support__rule {
  width: 48px;
  height: 2px;
  background: #0075C1;
  margin-top: 14px;
}
.p-support__h2Row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}
.p-support__targetRow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 0.75rem;
  color: #707080;
  letter-spacing: 0.04em;
}
.p-support__targetBadge {
  background: #EDF3FF;
  color: #0075C1;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  padding: 4px 10px;
  border-radius: 2px;
  text-transform: uppercase;
}
.p-support__svcGrid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}
.p-support__csRow {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 18px;
}
.p-support__infoCard {
  border-top: 1px solid #E6EAF2;
  padding-top: 24px;
  margin-top: 32px;
}
.p-support__infoCardTitle {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.9375rem;
  font-weight: 700;
  color: #141420;
  margin: 0 0 12px;
  letter-spacing: 0.02em;
  display: flex;
  align-items: center;
  gap: 10px;
}
.p-support__infoCardTitle svg {
  width: 18px;
  height: 18px;
  color: #707080;
  flex-shrink: 0;
}
.p-support__infoCardDesc {
  font-size: 0.8125rem;
  color: #3a3a48;
  line-height: 1.95;
  margin: 0;
}

.p-supportClubphiCorner {
  position: absolute;
  top: 14px;
  right: 14px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #0075C1;
  color: #FFF;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  padding: 6px 11px;
  border-radius: 3px;
  text-transform: uppercase;
  line-height: 1;
}
.p-supportClubphiCorner__icon {
  width: 9px;
  height: 9px;
  background: #FFF;
  -webkit-mask-image: url(../img/common/icon-external.svg);
  mask-image: url(../img/common/icon-external.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  display: inline-block;
}

.p-supportSvcCard {
  background: #FFF;
  border: 1px solid #E6EAF2;
  border-radius: 8px;
  padding: 24px 28px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-decoration: none;
  color: #141420;
  transition: 0.25s;
  position: relative;
}
@media (hover: hover) {
  .p-supportSvcCard:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 32px -20px rgba(20, 20, 32, 0.22);
    border-color: #0075C1;
    opacity: 1;
  }
  .p-supportSvcCard:hover .p-supportSvcCard__more::after {
    transform: translateX(4px);
  }
}
.p-supportSvcCard__label {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
  letter-spacing: 0.18em;
  color: #0075C1;
  font-weight: 700;
  text-transform: uppercase;
}
.p-supportSvcCard__title {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.1875rem;
  font-weight: 700;
  color: #141420;
  margin: 2px 0 4px;
  letter-spacing: 0.02em;
  line-height: 1.45;
}
.p-supportSvcCard__org {
  font-size: 0.75rem;
  color: #707080;
  letter-spacing: 0.04em;
}
.p-supportSvcCard__desc {
  font-size: 0.8125rem;
  color: #3a3a48;
  line-height: 1.85;
  margin: 6px 0 0;
}
.p-supportSvcCard__more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #0075C1;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin-top: 14px;
  align-self: flex-start;
}
.p-supportSvcCard__more::after {
  content: "→";
  display: inline-block;
  transition: transform 0.25s ease;
}

.p-supportContactCard {
  background: #FFF;
  border: 1px solid #E6EAF2;
  border-radius: 8px;
  padding: 24px 26px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-decoration: none;
  color: #141420;
  transition: 0.25s;
  position: relative;
}
@media (hover: hover) {
  .p-supportContactCard[href]:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px -18px rgba(20, 20, 32, 0.2);
    border-color: #0075C1;
    opacity: 1;
  }
  .p-supportContactCard[href]:hover .p-supportContactCard__more::after {
    transform: translateX(4px);
  }
}
.p-supportContactCard__icon {
  width: 42px;
  height: 42px;
  background: #EDF3FF;
  color: #0075C1;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 4px;
}
.p-supportContactCard__icon svg {
  width: 20px;
  height: 20px;
}
.p-supportContactCard__label {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
  letter-spacing: 0.18em;
  color: #0075C1;
  font-weight: 700;
  text-transform: uppercase;
}
.p-supportContactCard__title {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1rem;
  font-weight: 700;
  color: #141420;
  margin: 2px 0 4px;
  letter-spacing: 0.02em;
}
.p-supportContactCard__num {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.5rem;
  font-weight: 700;
  color: #0075C1;
  letter-spacing: 0.03em;
  margin: 6px 0 4px;
}
.p-supportContactCard__hours {
  font-size: 0.75rem;
  color: #707080;
  line-height: 1.7;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.p-supportContactCard__note {
  font-size: 0.625rem;
  color: #707080;
  line-height: 1.6;
}
.p-supportContactCard__desc {
  font-size: 0.75rem;
  color: #3a3a48;
  line-height: 1.75;
  margin: 6px 0 0;
  flex: 1;
}
.p-supportContactCard__more {
  margin-top: 10px;
  color: #0075C1;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  align-self: flex-start;
}
.p-supportContactCard__more::after {
  content: "→";
  display: inline-block;
  margin-left: 6px;
  transition: transform 0.25s ease;
}

.p-supportOther {
  padding: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px) 0;
  background: #F5F7FD;
}
.p-supportOther__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

.p-supportOtherCard {
  position: relative;
  background: #FFF;
  border: 1px solid #E6EAF2;
  border-radius: 8px;
  padding: 24px 28px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  text-decoration: none;
  color: #141420;
  transition: 0.25s;
}
@media (hover: hover) {
  .p-supportOtherCard:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px -18px rgba(20, 20, 32, 0.2);
    border-color: #0075C1;
    opacity: 1;
  }
  .p-supportOtherCard:hover .p-supportOtherCard__arrow {
    color: #0075C1;
    transform: translateY(-50%) translateX(4px);
  }
}
.p-supportOtherCard__label {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
  letter-spacing: 0.18em;
  color: #0075C1;
  font-weight: 700;
  text-transform: uppercase;
}
.p-supportOtherCard__title {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.0625rem;
  font-weight: 700;
  color: #141420;
  margin: 2px 0 4px;
  letter-spacing: 0.02em;
}
.p-supportOtherCard__desc {
  font-size: 0.75rem;
  color: #3a3a48;
  line-height: 1.7;
}
.p-supportOtherCard__arrow {
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
  color: #707080;
  font-size: 1.125rem;
  transition: all 0.25s ease;
}

.p-supportFaq {
  padding: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px) 0 clamp(52.6628571429px, 0px + 6.8571428571vw, 96px);
  background: #F5F7FD;
  border-top: 1px solid #E6EAF2;
}
.p-supportFaq__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 32px;
  gap: 24px;
  flex-wrap: wrap;
}
.p-supportFaq__headLeft {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.p-supportFaq__en {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  letter-spacing: 0.25em;
  color: #0075C1;
  font-weight: 600;
  text-transform: uppercase;
}
.p-supportFaq__title {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.75rem;
  font-weight: 700;
  color: #141420;
  margin: 6px 0 0;
  letter-spacing: 0.02em;
  line-height: 1.3;
}
.p-supportFaq__rule {
  width: 48px;
  height: 2px;
  background: #0075C1;
  margin-top: 10px;
}
.p-supportFaq__allLink {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #0075C1;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-decoration: none;
  padding: 12px 22px;
  border: 1px solid #0075C1;
  border-radius: 4px;
  transition: 0.2s;
}
@media (hover: hover) {
  .p-supportFaq__allLink:hover {
    background: #0075C1;
    color: #FFF;
  }
  .p-supportFaq__allLink:hover .p-supportFaq__allArrow {
    transform: translateX(3px);
  }
}
.p-supportFaq__allArrow {
  display: inline-block;
  transition: transform 0.2s ease;
}
.p-supportFaq__list {
  display: flex;
  flex-direction: column;
}

.p-supportFaqItem {
  background: #FFF;
  border: 1px solid #E6EAF2;
  border-bottom: 0;
}
.p-supportFaqItem:first-child {
  border-radius: 8px 8px 0 0;
}
.p-supportFaqItem:last-child {
  border-bottom: 1px solid #E6EAF2;
  border-radius: 0 0 8px 8px;
}
.p-supportFaqItem[open] .p-supportFaqItem__chevron {
  transform: rotate(180deg);
  color: #0075C1;
}
.p-supportFaqItem__q {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  padding: 22px 28px;
  cursor: pointer;
  list-style: none;
  font-size: 0.9375rem;
  font-weight: 500;
  color: #141420;
  letter-spacing: 0.02em;
  transition: background 0.2s ease;
}
.p-supportFaqItem__q::-webkit-details-marker {
  display: none;
}
@media (hover: hover) {
  .p-supportFaqItem__q:hover {
    background: #F5F7FD;
  }
}
.p-supportFaqItem__qMark {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.125rem;
  font-weight: 700;
  color: #0075C1;
  min-width: 22px;
  line-height: 1.4;
}
.p-supportFaqItem__qText {
  flex: 1;
  line-height: 1.6;
  padding-top: 1px;
}
.p-supportFaqItem__chevron {
  width: 18px;
  height: 18px;
  color: #707080;
  flex-shrink: 0;
  transition: transform 0.25s ease, color 0.25s ease;
  margin-top: 3px;
}
.p-supportFaqItem__a {
  padding: 0 28px 24px 68px;
  font-size: 0.8125rem;
  color: #3a3a48;
  line-height: 1.95;
  letter-spacing: 0.02em;
}

.p-supportElite {
  padding: clamp(26.3314285714px, 0px + 3.4285714286vw, 48px) 0 clamp(35.1085714286px, 0px + 4.5714285714vw, 64px);
  background: #FFF;
  border-top: 1px solid #E6EAF2;
}
.p-supportElite__card {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  padding: 24px 28px;
  background: #FAFBFE;
  border: 1px solid #E6EAF2;
  border-radius: 6px;
}
.p-supportElite__badge {
  background: #0075C1;
  color: #FFF;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  padding: 6px 10px;
  border-radius: 3px;
  text-transform: uppercase;
  line-height: 1;
  flex-shrink: 0;
  margin-top: 2px;
}
.p-supportElite__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.p-supportElite__title {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.9375rem;
  font-weight: 700;
  color: #141420;
  margin: 0;
  letter-spacing: 0.02em;
  line-height: 1.5;
}
.p-supportElite__desc {
  font-size: 0.8125rem;
  color: #3a3a48;
  line-height: 1.9;
  margin: 0;
  letter-spacing: 0.02em;
}
.p-supportElite__more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #0075C1;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
  margin-top: 4px;
  align-self: flex-start;
  transition: color 0.2s ease;
}
@media (hover: hover) {
  .p-supportElite__more:hover {
    color: #005d9b;
  }
  .p-supportElite__more:hover .p-supportElite__moreArrow {
    transform: translateX(3px);
  }
}
.p-supportElite__moreArrow {
  display: inline-block;
  transition: transform 0.2s ease;
}

.p-supportRepair {
  background: #FFF;
  border: 1px solid #E6EAF2;
  border-radius: 8px;
  overflow: hidden;
}
.p-supportRepair__head {
  padding: 18px 28px 0;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1rem;
  font-weight: 700;
  color: #141420;
  letter-spacing: 0.02em;
}
.p-supportRepair__intro {
  padding: 14px 28px 0;
  font-size: 0.8125rem;
  color: #3a3a48;
  line-height: 1.8;
}
.p-supportRepair__split {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.p-supportRepair__col {
  padding: 24px 30px 28px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
}
.p-supportRepair__col + .p-supportRepair__col {
  border-left: 1px solid #E6EAF2;
}
.p-supportRepair__ic {
  width: 42px;
  height: 42px;
  background: #EDF3FF;
  color: #0075C1;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.p-supportRepair__ic svg {
  width: 20px;
  height: 20px;
}
.p-supportRepair__body {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.p-supportRepair__label {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
  letter-spacing: 0.18em;
  color: #0075C1;
  font-weight: 700;
  text-transform: uppercase;
}
.p-supportRepair__title {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1rem;
  font-weight: 700;
  color: #141420;
  letter-spacing: 0.02em;
}
.p-supportRepair__num {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.5rem;
  font-weight: 700;
  color: #0075C1;
  letter-spacing: 0.03em;
  margin: 2px 0;
}
.p-supportRepair__desc {
  font-size: 0.75rem;
  color: #3a3a48;
  line-height: 1.75;
  margin: 0;
  flex: 1;
}
.p-supportRepair__note {
  font-size: 0.625rem;
  color: #707080;
  line-height: 1.6;
  display: block;
}
.p-supportRepair__btn {
  display: inline-flex;
  align-items: center;
  background: #0075C1;
  color: #FFF;
  height: 42px;
  padding: 0 22px;
  border-radius: 4px;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-decoration: none;
  margin-top: 10px;
  align-self: flex-start;
  transition: 0.2s;
}
@media (hover: hover) {
  .p-supportRepair__btn:hover {
    background: #005d9b;
    opacity: 1;
  }
}

.p-supportRemote {
  display: flex;
  align-items: center;
  gap: 24px;
  background: #FFF;
  border: 1px solid #E6EAF2;
  border-radius: 8px;
  padding: 28px 32px;
  text-decoration: none;
  color: #141420;
  transition: 0.25s;
  margin-top: 16px;
  position: relative;
}
@media (hover: hover) {
  .p-supportRemote:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px -18px rgba(20, 20, 32, 0.2);
    border-color: #0075C1;
    opacity: 1;
  }
}
@media (hover: hover) {
  .p-supportRemote.is-static:hover {
    transform: none;
    box-shadow: none;
    border-color: #E6EAF2;
  }
}
.p-supportRemote__ic {
  width: 48px;
  height: 48px;
  background: #EDF3FF;
  color: #0075C1;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.p-supportRemote__ic svg {
  width: 22px;
  height: 22px;
}
.p-supportRemote__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.p-supportRemote__title {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.0625rem;
  font-weight: 700;
  color: #141420;
  letter-spacing: 0.02em;
}
.p-supportRemote__desc {
  font-size: 0.8125rem;
  color: #3a3a48;
  line-height: 1.85;
  margin: 0;
}
.p-supportRemote__more {
  color: #0075C1;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  white-space: nowrap;
  align-self: center;
  flex-shrink: 0;
}

.p-supportTech {
  padding: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px) 0;
  background: #F5F7FD;
}
.p-supportTech__head {
  margin-bottom: clamp(21.9428571429px, 0px + 2.8571428571vw, 40px);
}
.p-supportTech__en {
  display: block;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  letter-spacing: 0.25em;
  color: #0075C1;
  font-weight: 600;
  text-transform: uppercase;
}
.p-supportTech__h2Row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}
.p-supportTech__title {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 2rem;
  font-weight: 700;
  color: #141420;
  margin: 8px 0 0;
  letter-spacing: 0.02em;
  line-height: 1.3;
}
.p-supportTech__targetRow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 0.75rem;
  color: #707080;
  letter-spacing: 0.04em;
}
.p-supportTech__targetBadge {
  background: #EDF3FF;
  color: #0075C1;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  padding: 4px 10px;
  border-radius: 2px;
  text-transform: uppercase;
}
.p-supportTech__rule {
  width: 48px;
  height: 2px;
  background: #0075C1;
  margin-top: 14px;
}

.p-supportOutage {
  padding: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px) 0;
  background: #FFF;
}
.p-supportOutage__head {
  margin-bottom: clamp(17.5542857143px, 0px + 2.2857142857vw, 32px);
}
.p-supportOutage__title {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.125rem;
  font-weight: 700;
  color: #141420;
  line-height: 1.5;
  margin: 0 0 12px;
}
.p-supportOutage__desc {
  font-size: 0.8125rem;
  color: #3a3a48;
  line-height: 1.95;
  margin: 0;
  letter-spacing: 0.02em;
}

.p-supportWin10 {
  padding: 0 0 clamp(35.1085714286px, 0px + 4.5714285714vw, 64px);
  background: #FFF;
}
.p-supportWin10__head {
  margin-bottom: clamp(17.5542857143px, 0px + 2.2857142857vw, 32px);
}
.p-supportWin10__title {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.125rem;
  font-weight: 700;
  color: #141420;
  line-height: 1.5;
  margin: 0 0 12px;
}
.p-supportWin10__desc {
  font-size: 0.8125rem;
  color: #3a3a48;
  line-height: 1.95;
  margin: 0 0 16px;
  letter-spacing: 0.02em;
}
.p-supportWin10__cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  margin: 24px 0 28px;
}
@media screen and (max-width: 767px) {
  .p-supportWin10__cols {
    grid-template-columns: 1fr;
    gap: clamp(20px, 0px + 6.25vw, 48px);
    margin: clamp(20px, 0px + 6.25vw, 48px) 0 clamp(23.3333333333px, 0px + 7.2916666667vw, 56px);
  }
}
.p-supportWin10__subTitle {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1rem;
  font-weight: 700;
  color: #141420;
  letter-spacing: 0.02em;
  margin: 0 0 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid #E6EAF2;
}
.p-supportWin10__deviceList {
  padding-left: 0;
  margin: 0;
  list-style: none;
}
.p-supportWin10__deviceList li {
  position: relative;
  padding-left: 18px;
  font-size: 0.8125rem;
  color: #3a3a48;
  line-height: 1.8;
  margin: 0;
}
.p-supportWin10__deviceList li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.7em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #0075C1;
}
.p-supportWin10__flow {
  padding-left: 1.4em;
  margin: 0;
  max-width: 900px;
}
.p-supportWin10__flow li {
  font-size: 0.8125rem;
  color: #3a3a48;
  line-height: 1.8;
  margin-bottom: 10px;
}
.p-supportWin10__flow li::marker {
  color: #0075C1;
  font-weight: 700;
}
.p-supportWin10__flowNote {
  display: block;
  font-size: 0.75rem;
  color: #707080;
  line-height: 1.7;
  margin-top: 4px;
}
.p-supportWin10__note {
  font-size: 0.75rem;
  color: #707080;
  line-height: 1.8;
  margin: 0 0 12px;
  letter-spacing: 0.02em;
}
.p-supportWin10__price {
  font-size: 0.9375rem;
  color: #141420;
  margin: 20px 0;
  letter-spacing: 0.02em;
}
.p-supportWin10__priceVal {
  font-weight: 700;
  color: #0075C1;
  font-size: 1.125rem;
}

/*----------▲▲ service-support ▲▲----------*/
/*----------▼▼ terms ▼▼----------*/
.p-terms {
  padding: clamp(43.8857142857px, 0px + 5.7142857143vw, 80px) 0 clamp(52.6628571429px, 0px + 6.8571428571vw, 96px);
  background: #FFF;
}
.p-terms__body {
  max-width: 900px;
  margin: 0 auto;
}
.p-terms__body h2 {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.25rem;
  font-weight: 700;
  color: #141420;
  margin: clamp(30.72px, 0px + 4vw, 56px) 0 18px;
  letter-spacing: 0.04em;
  padding: 0 0 14px;
  border-bottom: 1px solid #E6EAF2;
  position: relative;
  line-height: 1.5;
}
.p-terms__body h2:first-of-type {
  margin-top: 0;
}
.p-terms__body h2::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 48px;
  height: 3px;
  background: #0075C1;
}
.p-terms__body p,
.p-terms__body ol {
  font-size: 0.8125rem;
  line-height: 2;
  color: #3a3a48;
  margin: 0 0 16px;
  letter-spacing: 0.02em;
}
.p-terms__body ol {
  padding-left: 1.5em;
}
.p-terms__body ol li {
  margin-bottom: 6px;
}
.p-terms__body ol li::marker {
  color: #0075C1;
  font-weight: 700;
}
.p-terms__lede {
  font-size: 0.875rem;
  line-height: 2;
  color: #3a3a48;
  margin: 0 0 clamp(30.72px, 0px + 4vw, 56px);
  padding: 24px 28px;
  background: #F5F7FD;
  border-radius: 6px;
  letter-spacing: 0.02em;
}
.p-terms__alphaList {
  list-style: none;
  padding-left: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 10px 0 16px;
}
.p-terms__alphaList li {
  padding-left: 36px;
  position: relative;
  font-size: 0.8125rem;
  line-height: 1.95;
  color: #3a3a48;
  letter-spacing: 0.02em;
}
.p-terms__alphaNum {
  position: absolute;
  left: 0;
  top: 0;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.6875rem;
  font-weight: 700;
  color: #0075C1;
  letter-spacing: 0.04em;
  width: 28px;
  text-align: right;
  padding-right: 8px;
  border-right: 1px solid #E6EAF2;
  line-height: 1.9;
}
.p-terms__blockquote {
  font-size: 0.75rem;
  line-height: 1.95;
  color: #3a3a48;
  background: #FAFBFE;
  border: 1px solid #E6EAF2;
  border-left: 3px solid #0075C1;
  border-radius: 0 4px 4px 0;
  padding: 18px 22px;
  margin: 18px 0 16px;
}
.p-terms__blockquoteTerm {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.8125rem;
  font-weight: 700;
  color: #141420;
  display: block;
  margin-bottom: 6px;
  letter-spacing: 0.02em;
}
.p-terms__updated {
  font-size: 0.6875rem;
  color: #707080;
  text-align: right;
  padding-top: 32px;
  border-top: 1px solid #E6EAF2;
  margin-top: clamp(30.72px, 0px + 4vw, 56px);
  letter-spacing: 0.04em;
}
.p-terms__updated b {
  color: #141420;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
}

/*----------▲▲ terms ▲▲----------*/
/*----------▼▼ phi-710 ▼▼----------*/
.p-phi710Hero {
  position: relative;
  min-height: 680px;
  background: linear-gradient(135deg, #0D1B2A 0%, #1F2940 60%, #0E1E35 100%);
  color: #fff;
  overflow: hidden;
  margin-top: calc(-1 * var(--header-h));
  padding: 140px 7vw 60px;
}
.p-phi710Hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
  background-size: 80px 80px;
  pointer-events: none;
}
.p-phi710Hero__inner {
  position: relative;
  z-index: 2;
  max-width: calc(1400px - 14vw);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 520px 1fr;
  gap: 60px;
  align-items: center;
}
.p-phi710Hero__cat {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  letter-spacing: 0.25em;
  color: #7FB6F4;
  font-weight: 600;
  margin-bottom: 20px;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 14px;
}
.p-phi710Hero__cat::before {
  content: "";
  width: 32px;
  height: 1px;
  background: #7FB6F4;
}
.p-phi710Hero__name {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 5.5rem;
  font-weight: 700;
  line-height: 0.95;
  letter-spacing: -0.01em;
  margin: 0 0 14px;
  color: #fff;
}
.p-phi710Hero__full {
  font-size: 1rem;
  font-weight: 500;
  color: #D8E2F2;
  letter-spacing: 0.02em;
  margin: 0 0 32px;
  line-height: 1.6;
}
.p-phi710Hero__lede {
  font-size: 0.875rem;
  line-height: 1.9;
  color: #B6C2D4;
  letter-spacing: 0.02em;
  margin: 0 0 36px;
  max-width: 480px;
}
.p-phi710Hero__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #0075C1;
  color: #fff;
  height: 46px;
  padding: 0 28px;
  border-radius: 4px;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: background 0.2s ease;
}
@media (hover: hover) {
  .p-phi710Hero__btn:hover {
    background: #005d9b;
    opacity: 1;
  }
}
.p-phi710Hero__img {
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-phi710Hero__img img {
  width: 100%;
  height: auto;
  display: block;
  filter: drop-shadow(0 40px 80px rgba(127, 182, 244, 0.18));
}

.p-phi710Feature {
  padding: clamp(52.6628571429px, 0px + 6.8571428571vw, 96px) 0;
  background: #FFF;
}
.p-phi710Feature.is-alt {
  background: #F5F7FD;
}
.p-phi710Feature__head {
  margin-bottom: clamp(26.3314285714px, 0px + 3.4285714286vw, 48px);
}
@media screen and (max-width: 767px) {
  .p-phi710Feature__head {
    margin-bottom: clamp(26.6666666667px, 0px + 8.3333333333vw, 64px);
  }
}
.p-phi710Feature__en {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  letter-spacing: 0.25em;
  color: #0075C1;
  font-weight: 600;
  text-transform: uppercase;
  display: block;
}
@media screen and (max-width: 767px) {
  .p-phi710Feature__en {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
  }
}
.p-phi710Feature__title {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 2rem;
  font-weight: 700;
  color: #141420;
  margin: 8px 0 0;
  letter-spacing: 0.02em;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .p-phi710Feature__title {
    font-size: clamp(1.1458333333rem, 0rem + 5.7291666667vw, 2.75rem);
    margin-top: clamp(5px, 0px + 1.5625vw, 12px);
  }
}
.p-phi710Feature__rule {
  width: 48px;
  height: 2px;
  background: #0075C1;
  margin-top: 14px;
}
@media screen and (max-width: 767px) {
  .p-phi710Feature__rule {
    width: clamp(26.6666666667px, 0px + 8.3333333333vw, 64px);
    height: clamp(1.6666666667px, 0px + 0.5208333333vw, 4px);
    margin-top: clamp(10px, 0px + 3.125vw, 24px);
  }
}
.p-phi710Feature__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .p-phi710Feature__grid {
    grid-template-columns: 1fr;
    gap: clamp(20px, 0px + 6.25vw, 48px);
  }
}
.p-phi710Feature__blocks {
  display: flex;
  flex-direction: column;
  gap: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px);
}
@media screen and (max-width: 767px) {
  .p-phi710Feature__blocks {
    gap: clamp(33.3333333333px, 0px + 10.4166666667vw, 80px);
  }
}
.p-phi710Feature__block {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .p-phi710Feature__block {
    grid-template-columns: 1fr;
    gap: clamp(20px, 0px + 6.25vw, 48px);
  }
}
.p-phi710Feature__text p {
  font-size: 0.9375rem;
  line-height: 2;
  color: #3a3a48;
  margin: 0 0 18px;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-phi710Feature__text p {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
  }
}
.p-phi710Feature__text p:last-child {
  margin-bottom: 0;
}
.p-phi710Feature__text > .p-phi710Feature__subhead:not(:first-child) {
  margin-top: clamp(17.5542857143px, 0px + 2.2857142857vw, 32px);
}
@media screen and (max-width: 767px) {
  .p-phi710Feature__text > .p-phi710Feature__subhead:not(:first-child) {
    margin-top: clamp(16.6666666667px, 0px + 5.2083333333vw, 40px);
  }
}
.p-phi710Feature__subhead {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.125rem;
  font-weight: 700;
  color: #141420;
  line-height: 1.5;
  margin: 0 0 12px;
}
@media screen and (max-width: 767px) {
  .p-phi710Feature__subhead {
    font-size: clamp(0.8333333333rem, 0rem + 4.1666666667vw, 2rem);
    margin-bottom: clamp(7.5px, 0px + 2.34375vw, 18px);
  }
}
.p-phi710Feature__visual {
  border-radius: 8px;
  overflow: hidden;
  background: #FFF;
}
.p-phi710Feature__visual img {
  width: 100%;
  height: auto;
  display: block;
}
.p-phi710Feature__back {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: clamp(15.36px, 0px + 2vw, 28px);
  font-size: 0.8125rem;
  color: #141420;
  text-decoration: none;
  font-weight: 500;
  padding-bottom: 4px;
  position: relative;
  transition: color 0.25s ease;
}
@media screen and (max-width: 767px) {
  .p-phi710Feature__back {
    font-size: clamp(0.6770833333rem, 0rem + 3.3854166667vw, 1.625rem);
  }
}
.p-phi710Feature__back::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: #0075C1;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
}
@media (hover: hover) {
  .p-phi710Feature__back:hover {
    color: #0075C1;
    opacity: 1;
  }
  .p-phi710Feature__back:hover::after {
    transform: scaleX(1);
  }
}

.p-phi710Info {
  padding: clamp(52.6628571429px, 0px + 6.8571428571vw, 96px) 0;
  background: #FFF;
}
.p-phi710Info__links {
  display: block;
  max-width: 560px;
}
.p-phi710Info__colTitle {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.8125rem;
  font-weight: 700;
  color: #141420;
  letter-spacing: 0.04em;
  margin: 0 0 14px;
}
@media screen and (max-width: 767px) {
  .p-phi710Info__colTitle {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
  }
}
.p-phi710Info__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.p-phi710Info__list a {
  font-size: 0.8125rem;
  color: #0075C1;
  line-height: 1.6;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
@media screen and (max-width: 767px) {
  .p-phi710Info__list a {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
  }
}
@media (hover: hover) {
  .p-phi710Info__list a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
    opacity: 1;
  }
}

/*----------▲▲ phi-710 ▲▲----------*/
/*----------▼▼ phi-nanotof3 ▼▼----------*/
.p-phiNanoTof3Hero {
  position: relative;
  min-height: 680px;
  background: linear-gradient(135deg, #0D1B2A 0%, #1F2940 60%, #0E1E35 100%);
  color: #fff;
  overflow: hidden;
  margin-top: calc(-1 * var(--header-h));
  padding: 140px 7vw 60px;
}
.p-phiNanoTof3Hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
  background-size: 80px 80px;
  pointer-events: none;
}
.p-phiNanoTof3Hero__inner {
  position: relative;
  z-index: 2;
  max-width: calc(1400px - 7vw * 2);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 520px 1fr;
  gap: 60px;
  align-items: center;
}
.p-phiNanoTof3Hero__cat {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  letter-spacing: 0.25em;
  color: #7FB6F4;
  font-weight: 600;
  margin-bottom: 20px;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 14px;
}
.p-phiNanoTof3Hero__cat::before {
  content: "";
  width: 32px;
  height: 1px;
  background: #7FB6F4;
}
.p-phiNanoTof3Hero__name {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: clamp(2.4685714286rem, 0rem + 5.1428571429vw, 4.5rem);
}
@media screen and (max-width: 767px) {
  .p-phiNanoTof3Hero__name {
    font-size: clamp(1.875rem, 0rem + 9.375vw, 4.5rem);
  }
}
.p-phiNanoTof3Hero__name {
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.01em;
  margin: 0 0 14px;
  color: #fff;
  white-space: nowrap;
}
.p-phiNanoTof3Hero__full {
  font-size: 1rem;
  font-weight: 500;
  color: #D8E2F2;
  letter-spacing: 0.02em;
  margin: 0 0 32px;
  line-height: 1.6;
}
.p-phiNanoTof3Hero__catch {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
  letter-spacing: 0.02em;
  margin: 0 0 20px;
}
.p-phiNanoTof3Hero__lede {
  font-size: 0.875rem;
  line-height: 1.9;
  color: #B6C2D4;
  letter-spacing: 0.02em;
  margin: 0 0 36px;
  max-width: 480px;
}
.p-phiNanoTof3Hero__keytech {
  margin: 0 0 36px;
  max-width: 480px;
}
.p-phiNanoTof3Hero__keytechLabel {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  letter-spacing: 0.25em;
  color: #7FB6F4;
  font-weight: 600;
  text-transform: uppercase;
  display: block;
  margin-bottom: 14px;
}
.p-phiNanoTof3Hero__keytechList {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.p-phiNanoTof3Hero__keytechList li {
  position: relative;
  padding-left: 20px;
  font-size: 0.875rem;
  line-height: 1.6;
  color: #D8E2F2;
  letter-spacing: 0.02em;
}
.p-phiNanoTof3Hero__keytechList li::before {
  content: "";
  position: absolute;
  top: calc(0.8em - 3px);
  left: 2px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #7FB6F4;
}
.p-phiNanoTof3Hero__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.p-phiNanoTof3Hero__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #0075C1;
  color: #fff;
  height: 46px;
  padding: 0 28px;
  border-radius: 4px;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: background 0.2s ease;
}
@media (hover: hover) {
  .p-phiNanoTof3Hero__btn:hover {
    background: #005d9b;
  }
}
.p-phiNanoTof3Hero__img {
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-phiNanoTof3Hero__img img {
  width: 100%;
  height: auto;
  display: block;
  filter: drop-shadow(0 40px 80px rgba(127, 182, 244, 0.18));
}

.p-phiNanoTof3Feature {
  padding: clamp(52.6628571429px, 0px + 6.8571428571vw, 96px) 0;
  background: #FFF;
}
.p-phiNanoTof3Feature.is-alt {
  background: #F5F7FD;
}
.p-phiNanoTof3Feature__head {
  margin-bottom: clamp(26.3314285714px, 0px + 3.4285714286vw, 48px);
}
@media screen and (max-width: 767px) {
  .p-phiNanoTof3Feature__head {
    margin-bottom: clamp(26.6666666667px, 0px + 8.3333333333vw, 64px);
  }
}
.p-phiNanoTof3Feature__en {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  letter-spacing: 0.25em;
  color: #0075C1;
  font-weight: 600;
  text-transform: uppercase;
  display: block;
}
@media screen and (max-width: 767px) {
  .p-phiNanoTof3Feature__en {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
  }
}
.p-phiNanoTof3Feature__title {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 2rem;
  font-weight: 700;
  color: #141420;
  margin: 8px 0 0;
  letter-spacing: 0.02em;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .p-phiNanoTof3Feature__title {
    font-size: clamp(1.1458333333rem, 0rem + 5.7291666667vw, 2.75rem);
    margin-top: clamp(5px, 0px + 1.5625vw, 12px);
  }
}
.p-phiNanoTof3Feature__rule {
  width: 48px;
  height: 2px;
  background: #0075C1;
  margin-top: 14px;
}
@media screen and (max-width: 767px) {
  .p-phiNanoTof3Feature__rule {
    width: clamp(26.6666666667px, 0px + 8.3333333333vw, 64px);
    height: clamp(1.6666666667px, 0px + 0.5208333333vw, 4px);
    margin-top: clamp(10px, 0px + 3.125vw, 24px);
  }
}
.p-phiNanoTof3Feature__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .p-phiNanoTof3Feature__grid {
    grid-template-columns: 1fr;
    gap: clamp(20px, 0px + 6.25vw, 48px);
  }
}
.p-phiNanoTof3Feature__blocks {
  display: flex;
  flex-direction: column;
  gap: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px);
}
@media screen and (max-width: 767px) {
  .p-phiNanoTof3Feature__blocks {
    gap: clamp(33.3333333333px, 0px + 10.4166666667vw, 80px);
  }
}
.p-phiNanoTof3Feature__block {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .p-phiNanoTof3Feature__block {
    grid-template-columns: 1fr;
    gap: clamp(20px, 0px + 6.25vw, 48px);
  }
}
.p-phiNanoTof3Feature__subhead {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.125rem;
  font-weight: 700;
  color: #141420;
  line-height: 1.5;
  margin: 0 0 12px;
}
@media screen and (max-width: 767px) {
  .p-phiNanoTof3Feature__subhead {
    font-size: clamp(0.8333333333rem, 0rem + 4.1666666667vw, 2rem);
    margin-bottom: clamp(7.5px, 0px + 2.34375vw, 18px);
  }
}
.p-phiNanoTof3Feature__text p {
  font-size: 0.9375rem;
  line-height: 2;
  color: #3a3a48;
  margin: 0 0 18px;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-phiNanoTof3Feature__text p {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
  }
}
.p-phiNanoTof3Feature__text p:last-child {
  margin-bottom: 0;
}
.p-phiNanoTof3Feature__visual {
  border-radius: 8px;
  overflow: hidden;
  background: #FFF;
}
.p-phiNanoTof3Feature__visual img {
  width: 100%;
  height: auto;
  display: block;
}
.p-phiNanoTof3Feature__visual.is-stack {
  display: flex;
  flex-direction: column;
  gap: clamp(10.9714285714px, 0px + 1.4285714286vw, 20px);
  border: 0;
  border-radius: 0;
  padding: 0;
  background: transparent;
  overflow: visible;
}
.p-phiNanoTof3Feature__visual.is-stack img {
  border-radius: 8px;
}
.p-phiNanoTof3Feature__visual.is-stack .p-phiNanoTof3Feature__figure {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.p-phiNanoTof3Feature__visual.is-stack .p-phiNanoTof3Feature__cap {
  font-size: 0.75rem;
  color: #707080;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0.02em;
}
.p-phiNanoTof3Feature__visual.is-stack .p-phiNanoTof3Feature__cap.is-between {
  display: flex;
  align-items: center;
  gap: clamp(30.72px, 0px + 4vw, 56px);
  text-align: center;
}
.p-phiNanoTof3Feature__visual.is-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(8.7771428571px, 0px + 1.1428571429vw, 16px);
  border: 0;
  border-radius: 0;
  padding: 0;
  background: transparent;
  overflow: visible;
}
@media screen and (max-width: 767px) {
  .p-phiNanoTof3Feature__visual.is-cols {
    grid-template-columns: 1fr;
  }
}
.p-phiNanoTof3Feature__visual.is-cols img {
  border-radius: 8px;
}
.p-phiNanoTof3Feature__visual.is-cols .is-full {
  grid-column: 1/-1;
}
.p-phiNanoTof3Feature__back {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: clamp(15.36px, 0px + 2vw, 28px);
  font-size: 0.8125rem;
  color: #141420;
  text-decoration: none;
  font-weight: 500;
  padding-bottom: 4px;
  position: relative;
  transition: color 0.25s ease;
}
@media screen and (max-width: 767px) {
  .p-phiNanoTof3Feature__back {
    font-size: clamp(0.6770833333rem, 0rem + 3.3854166667vw, 1.625rem);
  }
}
.p-phiNanoTof3Feature__back::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: #0075C1;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
}
@media (hover: hover) {
  .p-phiNanoTof3Feature__back:hover {
    color: #0075C1;
  }
  .p-phiNanoTof3Feature__back:hover::after {
    transform: scaleX(1);
  }
}
.p-phiNanoTof3Feature__actions {
  margin-top: clamp(21.9428571429px, 0px + 2.8571428571vw, 40px);
}
@media screen and (max-width: 767px) {
  .p-phiNanoTof3Feature__actions {
    margin-top: clamp(23.3333333333px, 0px + 7.2916666667vw, 56px);
  }
}
.p-phiNanoTof3Feature__optionNote {
  font-size: 0.9375rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
  margin: 0 0 16px;
}
@media screen and (max-width: 767px) {
  .p-phiNanoTof3Feature__optionNote {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
    margin: 0 0 clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
  }
}
.p-phiNanoTof3Feature__optionBtn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 52px;
  padding: 0 32px;
  background: #0075C1;
  border-radius: 4px;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #FFF;
  text-decoration: none;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .p-phiNanoTof3Feature__optionBtn {
    height: auto;
    padding: clamp(13.3333333333px, 0px + 4.1666666667vw, 32px) clamp(23.3333333333px, 0px + 7.2916666667vw, 56px);
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
@media (hover: hover) {
  .p-phiNanoTof3Feature__optionBtn:hover {
    background: #005d9b;
  }
}
.p-phiNanoTof3Feature__optionBtnArrow {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
}

.p-phiNanoTof3Info {
  padding: clamp(52.6628571429px, 0px + 6.8571428571vw, 96px) 0;
  background: #FFF;
}
.p-phiNanoTof3Info__links {
  display: block;
  max-width: 560px;
}
.p-phiNanoTof3Info__colTitle {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.8125rem;
  font-weight: 700;
  color: #141420;
  letter-spacing: 0.04em;
  margin: 0 0 14px;
}
@media screen and (max-width: 767px) {
  .p-phiNanoTof3Info__colTitle {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
  }
}
.p-phiNanoTof3Info__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.p-phiNanoTof3Info__list a {
  font-size: 0.8125rem;
  color: #0075C1;
  line-height: 1.6;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
@media screen and (max-width: 767px) {
  .p-phiNanoTof3Info__list a {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
  }
}
@media (hover: hover) {
  .p-phiNanoTof3Info__list a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
  }
}

.p-phiNanoTof3Options {
  padding: clamp(52.6628571429px, 0px + 6.8571428571vw, 96px) 0;
  background: #F5F7FD;
}
.p-phiNanoTof3Options__head {
  margin-bottom: clamp(26.3314285714px, 0px + 3.4285714286vw, 48px);
}
.p-phiNanoTof3Options__en {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  letter-spacing: 0.25em;
  color: #0075C1;
  font-weight: 600;
  text-transform: uppercase;
  display: block;
}
@media screen and (max-width: 767px) {
  .p-phiNanoTof3Options__en {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
  }
}
.p-phiNanoTof3Options__title {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 2rem;
  font-weight: 700;
  color: #141420;
  margin: 8px 0 0;
  letter-spacing: 0.02em;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .p-phiNanoTof3Options__title {
    font-size: clamp(1.1458333333rem, 0rem + 5.7291666667vw, 2.75rem);
  }
}
.p-phiNanoTof3Options__rule {
  width: 48px;
  height: 2px;
  background: #0075C1;
  margin-top: 14px;
}
@media screen and (max-width: 767px) {
  .p-phiNanoTof3Options__rule {
    width: clamp(26.6666666667px, 0px + 8.3333333333vw, 64px);
    height: clamp(1.6666666667px, 0px + 0.5208333333vw, 4px);
  }
}
.p-phiNanoTof3Options__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px 48px;
}
@media screen and (max-width: 767px) {
  .p-phiNanoTof3Options__list {
    grid-template-columns: 1fr;
    gap: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
  }
}
.p-phiNanoTof3Options__list li {
  position: relative;
  padding-left: 20px;
  font-size: 0.9375rem;
  line-height: 1.7;
  color: #3a3a48;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-phiNanoTof3Options__list li {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
    padding-left: clamp(15px, 0px + 4.6875vw, 36px);
  }
}
.p-phiNanoTof3Options__list li::before {
  content: "";
  position: absolute;
  top: calc(0.85em - 3px);
  left: 2px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #0075C1;
}

/*----------▲▲ phi-nanotof3 ▲▲----------*/
/*----------▼▼ phi-genesis ▼▼----------*/
.p-phiGenesisHero {
  position: relative;
  min-height: 680px;
  background: linear-gradient(135deg, #0D1B2A 0%, #1F2940 60%, #0E1E35 100%);
  color: #fff;
  overflow: hidden;
  margin-top: calc(-1 * var(--header-h));
  padding: 140px 7vw 60px;
}
.p-phiGenesisHero::before {
  content: "";
  position: absolute;
  right: -200px;
  top: -100px;
  width: 900px;
  height: 900px;
  background: radial-gradient(circle, rgba(10, 117, 193, 0.35), rgba(13, 27, 42, 0) 60%);
  filter: blur(20px);
  pointer-events: none;
}
.p-phiGenesisHero::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
  background-size: 80px 80px;
  pointer-events: none;
}
.p-phiGenesisHero__inner {
  position: relative;
  z-index: 2;
  max-width: calc(1400px - 7vw * 2);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 520px 1fr;
  gap: 60px;
  align-items: center;
}
.p-phiGenesisHero__meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}
.p-phiGenesisHero__cat {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  letter-spacing: 0.25em;
  color: #7FB6F4;
  font-weight: 600;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 14px;
}
.p-phiGenesisHero__cat::before {
  content: "";
  width: 32px;
  height: 1px;
  background: #7FB6F4;
}
.p-phiGenesisHero__badge {
  background: #0075C1;
  color: #fff;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  padding: 4px 10px;
  border-radius: 3px;
}
.p-phiGenesisHero__name {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 5.5rem;
  font-weight: 700;
  line-height: 0.95;
  letter-spacing: -0.01em;
  margin: 0 0 14px;
  color: #fff;
}
.p-phiGenesisHero__full {
  font-size: 1rem;
  font-weight: 500;
  color: #D8E2F2;
  letter-spacing: 0.02em;
  margin: 0 0 32px;
  line-height: 1.6;
}
.p-phiGenesisHero__bullets {
  list-style: none;
  margin: 0 0 32px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.p-phiGenesisHero__bullets li {
  position: relative;
  padding-left: 22px;
  font-size: 0.875rem;
  color: #D8E2F2;
  line-height: 1.7;
  letter-spacing: 0.01em;
}
.p-phiGenesisHero__bullets li::before {
  content: "›";
  position: absolute;
  left: 4px;
  top: 0;
  color: #7FB6F4;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.5;
}
.p-phiGenesisHero__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.p-phiGenesisHero__btn {
  display: inline-flex;
  align-items: center;
  background: #0075C1;
  color: #fff;
  height: 46px;
  padding: 0 28px;
  border-radius: 4px;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: background 0.2s ease;
}
@media (hover: hover) {
  .p-phiGenesisHero__btn:hover {
    background: #005d9b;
  }
}
.p-phiGenesisHero__img {
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-phiGenesisHero__img img {
  width: 100%;
  height: auto;
  display: block;
  filter: drop-shadow(0 40px 80px rgba(127, 182, 244, 0.18));
}

.p-phiGenesisFeature {
  padding: clamp(52.6628571429px, 0px + 6.8571428571vw, 96px) 0;
  background: #FFF;
}
.p-phiGenesisFeature.is-alt {
  background: #F5F7FD;
}
.p-phiGenesisFeature__head {
  margin-bottom: clamp(26.3314285714px, 0px + 3.4285714286vw, 48px);
}
@media screen and (max-width: 767px) {
  .p-phiGenesisFeature__head {
    margin-bottom: clamp(26.6666666667px, 0px + 8.3333333333vw, 64px);
  }
}
.p-phiGenesisFeature__en {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  letter-spacing: 0.25em;
  color: #0075C1;
  font-weight: 600;
  text-transform: uppercase;
  display: block;
}
@media screen and (max-width: 767px) {
  .p-phiGenesisFeature__en {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
  }
}
.p-phiGenesisFeature__title {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 2rem;
  font-weight: 700;
  color: #141420;
  margin: 8px 0 0;
  letter-spacing: 0.02em;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .p-phiGenesisFeature__title {
    font-size: clamp(1.1458333333rem, 0rem + 5.7291666667vw, 2.75rem);
    margin-top: clamp(5px, 0px + 1.5625vw, 12px);
  }
}
.p-phiGenesisFeature__rule {
  width: 48px;
  height: 2px;
  background: #0075C1;
  margin-top: 14px;
}
@media screen and (max-width: 767px) {
  .p-phiGenesisFeature__rule {
    width: clamp(26.6666666667px, 0px + 8.3333333333vw, 64px);
    height: clamp(1.6666666667px, 0px + 0.5208333333vw, 4px);
    margin-top: clamp(10px, 0px + 3.125vw, 24px);
  }
}
.p-phiGenesisFeature__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .p-phiGenesisFeature__grid {
    grid-template-columns: 1fr;
    gap: clamp(20px, 0px + 6.25vw, 48px);
  }
}
.p-phiGenesisFeature__text p {
  font-size: 0.9375rem;
  line-height: 2;
  color: #3a3a48;
  margin: 0 0 18px;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-phiGenesisFeature__text p {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
  }
}
.p-phiGenesisFeature__text p:last-child {
  margin-bottom: 0;
}
.p-phiGenesisFeature__sub {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.25rem;
  font-weight: 700;
  color: #141420;
  margin: 0 0 14px;
  letter-spacing: 0.02em;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-phiGenesisFeature__sub {
    font-size: clamp(0.9375rem, 0rem + 4.6875vw, 2.25rem);
  }
}
.p-phiGenesisFeature__visual {
  aspect-ratio: 4/3;
  background: linear-gradient(135deg, #FAFBFE 0%, #EDF1F8 100%);
  border-radius: 8px;
  border: 1px solid #E6EAF2;
  background-image: repeating-linear-gradient(135deg, rgba(20, 20, 32, 0.025) 0 1px, transparent 1px 14px);
}
.p-phiGenesisFeature__mediaPh {
  position: relative;
  background: #E0E6F0;
  background-image: repeating-linear-gradient(135deg, rgba(20, 20, 32, 0.025) 0 1px, transparent 1px 14px);
  border-radius: 6px;
  min-height: 240px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-phiGenesisFeature__mediaPh.is-video::before {
  content: "";
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #0075C1;
  display: flex;
  box-shadow: 0 8px 24px -8px rgba(10, 97, 192, 0.5);
}
.p-phiGenesisFeature__mediaPh.is-video::after {
  content: "";
  position: absolute;
  border-style: solid;
  border-width: 9px 0 9px 15px;
  border-color: transparent transparent transparent #fff;
  margin-left: 3px;
}
.p-phiGenesisFeature__mediaStack {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.p-phiGenesisFeature__noteBox {
  background: #FFF;
  border: 1px solid #E6EAF2;
  border-left: 3px solid #0075C1;
  border-radius: 0 6px 6px 0;
  padding: 18px 22px;
  margin: 20px 0 0;
}
.p-phiGenesisFeature__noteBox p {
  font-size: 0.8125rem;
  color: #3a3a48;
  line-height: 1.85;
  margin: 0;
}
.p-phiGenesisFeature__noteBoxHead {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.875rem;
  font-weight: 700;
  color: #0075C1;
  margin: 0 0 6px;
  letter-spacing: 0.02em;
}
.p-phiGenesisFeature__wideBlock {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.p-phiGenesisFeature__wideMedia {
  width: 100%;
  min-height: 300px;
  background: #E0E6F0;
  background-image: repeating-linear-gradient(135deg, rgba(20, 20, 32, 0.025) 0 1px, transparent 1px 14px);
  border-radius: 6px;
  margin-top: 24px;
}
.p-phiGenesisFeature__wideMedia:first-child {
  margin-top: 0;
}

.p-phiGenesisApps {
  padding: clamp(48.2742857143px, 0px + 6.2857142857vw, 88px) 0;
  background: #0E1E35;
}
.p-phiGenesisApps__head {
  margin-bottom: clamp(13.1657142857px, 0px + 1.7142857143vw, 24px);
}
.p-phiGenesisApps__en {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  letter-spacing: 0.25em;
  color: #7FB6F4;
  font-weight: 600;
  text-transform: uppercase;
  display: block;
}
@media screen and (max-width: 767px) {
  .p-phiGenesisApps__en {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
  }
}
.p-phiGenesisApps__title {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
  margin: 8px 0 0;
  letter-spacing: 0.02em;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .p-phiGenesisApps__title {
    font-size: clamp(1.1458333333rem, 0rem + 5.7291666667vw, 2.75rem);
  }
}
.p-phiGenesisApps__rule {
  width: 48px;
  height: 2px;
  background: #0075C1;
  margin-top: 14px;
}
@media screen and (max-width: 767px) {
  .p-phiGenesisApps__rule {
    width: clamp(26.6666666667px, 0px + 8.3333333333vw, 64px);
    height: clamp(1.6666666667px, 0px + 0.5208333333vw, 4px);
  }
}
.p-phiGenesisApps__intro {
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.9;
  max-width: 860px;
  margin: 0 0 clamp(19.7485714286px, 0px + 2.5714285714vw, 36px);
}
@media screen and (max-width: 767px) {
  .p-phiGenesisApps__intro {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
    max-width: none;
    margin: 0 0 clamp(23.3333333333px, 0px + 7.2916666667vw, 56px);
  }
}
.p-phiGenesisApps__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
@media screen and (max-width: 767px) {
  .p-phiGenesisApps__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(10px, 0px + 3.125vw, 24px);
  }
}

.p-phiGenesisAppsCard {
  background: #1A2B45;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 8px;
  padding: 32px 26px 36px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  text-decoration: none;
  color: #fff;
  min-height: 300px;
  transition: all 0.25s ease;
}
@media screen and (max-width: 767px) {
  .p-phiGenesisAppsCard {
    padding: clamp(20px, 0px + 6.25vw, 48px) clamp(16.6666666667px, 0px + 5.2083333333vw, 40px) clamp(23.3333333333px, 0px + 7.2916666667vw, 56px);
    gap: clamp(13.3333333333px, 0px + 4.1666666667vw, 32px);
    min-height: 0;
  }
}
@media (hover: hover) {
  .p-phiGenesisAppsCard:hover {
    background: #0075C1;
    transform: translateY(-2px);
    box-shadow: 0 14px 30px -16px rgba(10, 97, 192, 0.55);
  }
}
.p-phiGenesisAppsCard__icon {
  width: 64px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-phiGenesisAppsCard__iconImg {
  width: 48px;
  height: 48px;
  background: #fff;
  display: block;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}
.p-phiGenesisAppsCard__name {
  font-size: 1rem;
  font-weight: 700;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .p-phiGenesisAppsCard__name {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-phiGenesisAppsCard__nameEn {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.6875rem;
  color: rgba(255, 255, 255, 0.55);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-top: 4px;
}
@media screen and (max-width: 767px) {
  .p-phiGenesisAppsCard__nameEn {
    font-size: clamp(0.5729166667rem, 0rem + 2.8645833333vw, 1.375rem);
  }
}
.p-phiGenesisAppsCard__desc {
  font-size: 0.8125rem;
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.7;
  margin: 6px 0 0;
}
@media screen and (max-width: 767px) {
  .p-phiGenesisAppsCard__desc {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
  }
}

.p-phiGenesisRelated {
  padding: clamp(52.6628571429px, 0px + 6.8571428571vw, 96px) 0;
  background: #F5F7FD;
}
.p-phiGenesisRelated__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: clamp(21.9428571429px, 0px + 2.8571428571vw, 40px);
}
@media screen and (max-width: 767px) {
  .p-phiGenesisRelated__head {
    flex-direction: column;
    align-items: flex-start;
    gap: clamp(13.3333333333px, 0px + 4.1666666667vw, 32px);
    margin-bottom: clamp(25px, 0px + 7.8125vw, 60px);
  }
}
.p-phiGenesisRelated__headLeft {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.p-phiGenesisRelated__en {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  letter-spacing: 0.25em;
  color: #707080;
  font-weight: 600;
  text-transform: uppercase;
  display: block;
}
@media screen and (max-width: 767px) {
  .p-phiGenesisRelated__en {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
  }
}
.p-phiGenesisRelated__title {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.375rem;
  font-weight: 700;
  color: #141420;
  margin: 6px 0 0;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-phiGenesisRelated__title {
    font-size: clamp(1.0416666667rem, 0rem + 5.2083333333vw, 2.5rem);
  }
}
.p-phiGenesisRelated__rule {
  width: 48px;
  height: 2px;
  background: #0075C1;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .p-phiGenesisRelated__rule {
    width: clamp(26.6666666667px, 0px + 8.3333333333vw, 64px);
    height: clamp(1.6666666667px, 0px + 0.5208333333vw, 4px);
  }
}
.p-phiGenesisRelated__back {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 0.8125rem;
  color: #141420;
  text-decoration: none;
  font-weight: 500;
  padding-bottom: 4px;
  position: relative;
  transition: color 0.25s ease;
}
@media screen and (max-width: 767px) {
  .p-phiGenesisRelated__back {
    font-size: clamp(0.6770833333rem, 0rem + 3.3854166667vw, 1.625rem);
  }
}
.p-phiGenesisRelated__back::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: #0075C1;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
}
@media (hover: hover) {
  .p-phiGenesisRelated__back:hover {
    color: #0075C1;
  }
  .p-phiGenesisRelated__back:hover::after {
    transform: scaleX(1);
  }
}
.p-phiGenesisRelated__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  align-items: stretch;
}
@media screen and (max-width: 767px) {
  .p-phiGenesisRelated__grid {
    grid-template-columns: 1fr;
    gap: clamp(13.3333333333px, 0px + 4.1666666667vw, 32px);
  }
}

.p-phiGenesisRelCard {
  background: #FFF;
  border: 1px solid #E6EAF2;
  border-radius: 8px;
  text-decoration: none;
  color: #141420;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: all 0.25s ease;
}
@media (hover: hover) {
  .p-phiGenesisRelCard:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px -18px rgba(20, 20, 32, 0.2);
    border-color: #cdd6e6;
  }
}
.p-phiGenesisRelCard.is-horizontal {
  flex-direction: row;
  min-height: 180px;
}
.p-phiGenesisRelCard.is-horizontal .p-phiGenesisRelCard__img {
  width: 50%;
  height: auto;
  border-bottom: 0;
  border-right: 1px solid #E6EAF2;
  flex-shrink: 0;
  padding: 18px;
}
.p-phiGenesisRelCard.is-horizontal .p-phiGenesisRelCard__body {
  flex: 1;
  padding: 22px 26px;
  justify-content: center;
  gap: 6px;
}
.p-phiGenesisRelCard.is-horizontal .p-phiGenesisRelCard__name {
  font-size: 1.25rem;
  margin: 6px 0 2px;
}
.p-phiGenesisRelCard.is-horizontal .p-phiGenesisRelCard__full {
  font-size: 0.75rem;
  line-height: 1.65;
}
@media screen and (max-width: 767px) {
  .p-phiGenesisRelCard.is-horizontal {
    flex-direction: column;
    min-height: 0;
  }
  .p-phiGenesisRelCard.is-horizontal .p-phiGenesisRelCard__img {
    width: 100%;
    border-right: 0;
    border-bottom: 1px solid #E6EAF2;
    height: clamp(116.6666666667px, 0px + 36.4583333333vw, 280px);
  }
  .p-phiGenesisRelCard.is-horizontal .p-phiGenesisRelCard__body {
    padding: clamp(15px, 0px + 4.6875vw, 36px) clamp(16.6666666667px, 0px + 5.2083333333vw, 40px);
    justify-content: flex-start;
  }
  .p-phiGenesisRelCard.is-horizontal .p-phiGenesisRelCard__name {
    font-size: clamp(0.9375rem, 0rem + 4.6875vw, 2.25rem);
  }
  .p-phiGenesisRelCard.is-horizontal .p-phiGenesisRelCard__full {
    font-size: clamp(0.5729166667rem, 0rem + 2.8645833333vw, 1.375rem);
  }
}
.p-phiGenesisRelCard.is-noImg {
  background: #FAFBFE;
}
.p-phiGenesisRelCard.is-noImg .p-phiGenesisRelCard__body {
  padding: 20px 22px;
  flex: 1;
  justify-content: center;
  gap: 6px;
}
.p-phiGenesisRelCard.is-noImg .p-phiGenesisRelCard__name {
  font-size: 0.9375rem;
  margin: 4px 0 2px;
}
.p-phiGenesisRelCard.is-noImg .p-phiGenesisRelCard__full {
  font-size: 0.6875rem;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-phiGenesisRelCard.is-noImg .p-phiGenesisRelCard__body {
    padding: clamp(15px, 0px + 4.6875vw, 36px) clamp(16.6666666667px, 0px + 5.2083333333vw, 40px);
    justify-content: flex-start;
  }
  .p-phiGenesisRelCard.is-noImg .p-phiGenesisRelCard__name {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
  .p-phiGenesisRelCard.is-noImg .p-phiGenesisRelCard__full {
    font-size: clamp(0.5729166667rem, 0rem + 2.8645833333vw, 1.375rem);
  }
}
.p-phiGenesisRelCard.is-wideRow {
  grid-column: 1/-1;
  flex-direction: row;
  align-items: center;
  min-height: 0;
}
.p-phiGenesisRelCard.is-wideRow .p-phiGenesisRelCard__body {
  flex-direction: row;
  align-items: center;
  gap: 18px;
  padding: 20px 26px;
}
.p-phiGenesisRelCard.is-wideRow .p-phiGenesisRelCard__cat {
  align-self: center;
}
.p-phiGenesisRelCard.is-wideRow .p-phiGenesisRelCard__name {
  font-size: 0.9375rem;
  margin: 0;
  white-space: nowrap;
}
.p-phiGenesisRelCard.is-wideRow .p-phiGenesisRelCard__full {
  font-size: 0.6875rem;
  margin: 0;
  flex: 1;
}
@media screen and (max-width: 767px) {
  .p-phiGenesisRelCard.is-wideRow .p-phiGenesisRelCard__body {
    flex-direction: column;
    align-items: flex-start;
    padding: clamp(15px, 0px + 4.6875vw, 36px) clamp(16.6666666667px, 0px + 5.2083333333vw, 40px);
    gap: clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
  }
  .p-phiGenesisRelCard.is-wideRow .p-phiGenesisRelCard__name {
    white-space: normal;
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
  .p-phiGenesisRelCard.is-wideRow .p-phiGenesisRelCard__full {
    font-size: clamp(0.5729166667rem, 0rem + 2.8645833333vw, 1.375rem);
  }
}
.p-phiGenesisRelCard__img {
  height: 240px;
  background: linear-gradient(135deg, #FAFBFE 0%, #EDF1F8 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  border-bottom: 1px solid #E6EAF2;
}
@media screen and (max-width: 767px) {
  .p-phiGenesisRelCard__img {
    height: clamp(150px, 0px + 46.875vw, 360px);
    padding: clamp(16.6666666667px, 0px + 5.2083333333vw, 40px);
  }
}
.p-phiGenesisRelCard__img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-phiGenesisRelCard__body {
  padding: 20px 22px 22px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
@media screen and (max-width: 767px) {
  .p-phiGenesisRelCard__body {
    padding: clamp(15px, 0px + 4.6875vw, 36px) clamp(16.6666666667px, 0px + 5.2083333333vw, 40px) clamp(16.6666666667px, 0px + 5.2083333333vw, 40px);
    gap: clamp(5px, 0px + 1.5625vw, 12px);
  }
}
.p-phiGenesisRelCard__cat {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
  font-weight: 700;
  color: #0075C1;
  letter-spacing: 0.12em;
  background: #EDF3FF;
  padding: 3px 8px;
  border-radius: 2px;
  align-self: flex-start;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .p-phiGenesisRelCard__cat {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
    padding: clamp(2.5px, 0px + 0.78125vw, 6px) clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
  }
}
.p-phiGenesisRelCard__name {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.125rem;
  font-weight: 700;
  color: #141420;
  margin: 6px 0 4px;
}
@media screen and (max-width: 767px) {
  .p-phiGenesisRelCard__name {
    font-size: clamp(0.8333333333rem, 0rem + 4.1666666667vw, 2rem);
  }
}
.p-phiGenesisRelCard__full {
  font-size: 0.6875rem;
  color: #707080;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-phiGenesisRelCard__full {
    font-size: clamp(0.5729166667rem, 0rem + 2.8645833333vw, 1.375rem);
  }
}

/*----------▲▲ phi-genesis ▲▲----------*/
/*----------▼▼ phi-adept2 ▼▼----------*/
.p-phiAdept2Hero {
  position: relative;
  min-height: 680px;
  background: linear-gradient(135deg, #0D1B2A 0%, #1F2940 60%, #0E1E35 100%);
  color: #fff;
  overflow: hidden;
  margin-top: calc(-1 * var(--header-h));
  padding: 140px 7vw 60px;
}
.p-phiAdept2Hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
  background-size: 80px 80px;
  pointer-events: none;
}
.p-phiAdept2Hero__inner {
  position: relative;
  z-index: 2;
  max-width: calc(1400px - 7vw * 2);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 520px 1fr;
  gap: 60px;
  align-items: center;
}
.p-phiAdept2Hero__cat {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  letter-spacing: 0.25em;
  color: #7FB6F4;
  font-weight: 600;
  margin-bottom: 20px;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 14px;
}
.p-phiAdept2Hero__cat::before {
  content: "";
  width: 32px;
  height: 1px;
  background: #7FB6F4;
}
.p-phiAdept2Hero__name {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 4.5rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.01em;
  margin: 0 0 14px;
  color: #fff;
}
.p-phiAdept2Hero__full {
  font-size: 1rem;
  font-weight: 500;
  color: #D8E2F2;
  letter-spacing: 0.02em;
  margin: 0 0 32px;
  line-height: 1.6;
}
.p-phiAdept2Hero__bullets {
  list-style: none;
  margin: 0 0 32px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.p-phiAdept2Hero__bullets li {
  position: relative;
  padding-left: 22px;
  font-size: 0.875rem;
  color: #D8E2F2;
  line-height: 1.7;
  letter-spacing: 0.01em;
}
.p-phiAdept2Hero__bullets li::before {
  content: "›";
  position: absolute;
  left: 4px;
  top: 0;
  color: #7FB6F4;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.5;
}
.p-phiAdept2Hero__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.p-phiAdept2Hero__btn {
  display: inline-flex;
  align-items: center;
  background: #0075C1;
  color: #fff;
  height: 46px;
  padding: 0 28px;
  border-radius: 4px;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: background 0.2s ease;
}
@media (hover: hover) {
  .p-phiAdept2Hero__btn:hover {
    background: #005d9b;
  }
}
.p-phiAdept2Hero__img {
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-phiAdept2Hero__img img {
  width: 100%;
  height: auto;
  display: block;
  filter: drop-shadow(0 40px 80px rgba(127, 182, 244, 0.18));
}

.p-phiAdept2Sec {
  padding: clamp(52.6628571429px, 0px + 6.8571428571vw, 96px) 0;
  background: #FFF;
}
.p-phiAdept2Sec.is-alt {
  background: #F5F7FD;
}
.p-phiAdept2Sec__head {
  margin-bottom: clamp(26.3314285714px, 0px + 3.4285714286vw, 48px);
}
@media screen and (max-width: 767px) {
  .p-phiAdept2Sec__head {
    margin-bottom: clamp(26.6666666667px, 0px + 8.3333333333vw, 64px);
  }
}
.p-phiAdept2Sec__en {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  letter-spacing: 0.25em;
  color: #0075C1;
  font-weight: 600;
  text-transform: uppercase;
  display: block;
}
@media screen and (max-width: 767px) {
  .p-phiAdept2Sec__en {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
  }
}
.p-phiAdept2Sec__ja {
  font-size: 2rem;
  font-weight: 700;
  color: #141420;
  letter-spacing: 0.02em;
  margin: 8px 0 0;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .p-phiAdept2Sec__ja {
    font-size: clamp(1.1458333333rem, 0rem + 5.7291666667vw, 2.75rem);
    margin-top: clamp(5px, 0px + 1.5625vw, 12px);
  }
}
.p-phiAdept2Sec__rule {
  width: 48px;
  height: 2px;
  background: #0075C1;
  margin-top: 14px;
}
@media screen and (max-width: 767px) {
  .p-phiAdept2Sec__rule {
    width: clamp(26.6666666667px, 0px + 8.3333333333vw, 64px);
    height: clamp(1.6666666667px, 0px + 0.5208333333vw, 4px);
    margin-top: clamp(10px, 0px + 3.125vw, 24px);
  }
}
.p-phiAdept2Sec__prose p {
  font-size: 0.9375rem;
  line-height: 2;
  color: #3a3a48;
  margin: 0 0 18px;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-phiAdept2Sec__prose p {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
  }
}
.p-phiAdept2Sec__prose p:last-child {
  margin-bottom: 0;
}

.p-phiAdept2UiFig {
  max-width: 680px;
  margin: 0 auto clamp(19.7485714286px, 0px + 2.5714285714vw, 36px);
}
@media screen and (max-width: 767px) {
  .p-phiAdept2UiFig {
    max-width: none;
  }
}
.p-phiAdept2UiFig img {
  width: 100%;
  height: auto;
  border: 1px solid #E6EAF2;
  border-radius: 8px;
  display: block;
}
.p-phiAdept2UiFig__cap {
  font-size: 0.6875rem;
  color: #707080;
  text-align: center;
  margin: 10px 0 0;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-phiAdept2UiFig__cap {
    font-size: clamp(0.5729166667rem, 0rem + 2.8645833333vw, 1.375rem);
  }
}

/*----------▲▲ phi-adept2 ▲▲----------*/
/*----------▼▼ single ▼▼----------*/
.p-singleHero {
  position: relative;
  background-color: #0D1B2A;
  background-size: cover;
  background-position: center;
  color: #FFF;
  padding: calc(var(--header-h) + 50px) 0 clamp(35.1085714286px, 0px + 4.5714285714vw, 64px);
  overflow: hidden;
  margin-top: calc(-1 * var(--header-h));
}
@media screen and (max-width: 767px) {
  .p-singleHero {
    padding: calc(var(--header-h) + clamp(33.3333333333px, 0px + 10.4166666667vw, 80px)) 0 clamp(40px, 0px + 12.5vw, 96px);
  }
}
.p-singleHero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(13, 27, 42, 0.5);
}
.p-singleHero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(13, 27, 42, 0.85) 0%, rgba(13, 27, 42, 0.5) 60%, rgba(13, 27, 42, 0.3) 100%);
}
.p-singleHero__inner {
  position: relative;
  z-index: 2;
  max-width: calc(980px + 14vw);
  margin: 0 auto;
  padding: 0 7vw;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
}
@media screen and (max-width: 767px) {
  .p-singleHero__inner {
    gap: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
  }
}
.p-singleHero__title {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 2.125rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.01em;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .p-singleHero__title {
    font-size: clamp(1.6666666667rem, 0rem + 8.3333333333vw, 4rem);
  }
}
.p-singleHero__meta {
  display: flex;
  align-items: center;
  gap: 12px;
}
@media screen and (max-width: 767px) {
  .p-singleHero__meta {
    gap: clamp(10px, 0px + 3.125vw, 24px);
  }
}
.p-singleHero__cat {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  padding: 5px 12px;
  border-radius: 3px;
  background: #0E8C53;
  color: #FFF;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .p-singleHero__cat {
    font-size: clamp(0.4166666667rem, 0rem + 2.0833333333vw, 1rem);
    padding: clamp(4.1666666667px, 0px + 1.3020833333vw, 10px) clamp(10px, 0px + 3.125vw, 24px);
    border-radius: clamp(2.5px, 0px + 0.78125vw, 6px);
  }
}
.p-singleHero__date {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.8125rem;
  color: rgba(255, 255, 255, 0.7);
  font-weight: 500;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-singleHero__date {
    font-size: clamp(0.5729166667rem, 0rem + 2.8645833333vw, 1.375rem);
  }
}

.p-single {
  padding: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px) 0 clamp(43.8857142857px, 0px + 5.7142857143vw, 80px);
  background: #FFF;
}
.p-single__grid {
  display: grid;
  grid-template-columns: 18.5vw 1fr;
  gap: 3.5vw;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .p-single__grid {
    grid-template-columns: 1fr;
  }
}

.p-singleSidebar {
  position: sticky;
  top: calc(var(--header-h) + 32px);
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.p-singleSidebar__block {
  display: flex;
  flex-direction: column;
}
.p-singleSidebar__head {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
  letter-spacing: 0.22em;
  color: #0075C1;
  font-weight: 700;
  text-transform: uppercase;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #E6EAF2;
  margin: 0 0 0.75rem;
}

.p-singleToc {
  display: flex;
  flex-direction: column;
}
.p-singleToc__link {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.4375rem 0.625rem;
  font-size: 0.75rem;
  color: #141420;
  text-decoration: none;
  border-left: 2px solid transparent;
  line-height: 1.5;
  letter-spacing: 0.02em;
  transition: 0.2s;
}
@media (hover: hover) {
  .p-singleToc__link:hover {
    background: #F5F7FD;
    color: #0075C1;
    border-left-color: rgba(0, 117, 193, 0.3);
    opacity: 1;
  }
}
.p-singleToc__link.is-active {
  border-left-color: #0075C1;
  color: #0075C1;
  font-weight: 600;
  background: #F5F7FD;
}
.p-singleToc__num {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
  color: #0075C1;
  font-weight: 700;
  letter-spacing: 0.04em;
  flex-shrink: 0;
  margin-top: 2px;
}

.p-singleRelated {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
}
.p-singleRelated__link {
  display: flex;
  flex-direction: column;
  gap: 0.1875rem;
  padding: 0.5rem 0.625rem;
  border-radius: 4px;
  text-decoration: none;
  color: #141420;
  transition: background 0.2s ease;
}
@media (hover: hover) {
  .p-singleRelated__link:hover {
    background: #F5F7FD;
    opacity: 1;
  }
}
.p-singleRelated__date {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
  color: #707080;
  letter-spacing: 0.04em;
}
.p-singleRelated__title {
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.6;
  color: #141420;
}

.p-singleBody {
  font-size: 0.875rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p-singleBody {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
  }
}
.p-singleBody p {
  margin: 0 0 22px;
}
@media screen and (max-width: 767px) {
  .p-singleBody p {
    margin-bottom: clamp(15px, 0px + 4.6875vw, 36px);
  }
}
.p-singleBody h2 {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.25rem;
  font-weight: 700;
  color: #141420;
  margin-bottom: 18px;
  letter-spacing: 0.04em;
  padding-bottom: 12px;
  border-bottom: 1px solid #E6EAF2;
  position: relative;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-singleBody h2 {
    font-size: clamp(0.9375rem, 0rem + 4.6875vw, 2.25rem);
    margin-bottom: clamp(13.3333333333px, 0px + 4.1666666667vw, 32px);
    padding-bottom: clamp(8.3333333333px, 0px + 2.6041666667vw, 20px);
  }
}
.p-singleBody h2::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 36px;
  height: 2px;
  background: #0075C1;
}
@media screen and (max-width: 767px) {
  .p-singleBody h2::before {
    width: clamp(26.6666666667px, 0px + 8.3333333333vw, 64px);
  }
}
.p-singleBody h3 {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.9375rem;
  font-weight: 700;
  color: #141420;
  margin: 28px 0 10px;
  letter-spacing: 0.02em;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-singleBody h3 {
    font-size: clamp(10px, 0px + 3.125vw, 24px);
    margin: clamp(18.3333333333px, 0px + 5.7291666667vw, 44px) 0 clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
  }
}
.p-singleBody ul, .p-singleBody ol {
  padding-left: 1.4em;
  margin: 0 0 22px;
}
@media screen and (max-width: 767px) {
  .p-singleBody ul, .p-singleBody ol {
    margin: 0 0 clamp(15px, 0px + 4.6875vw, 36px);
  }
}
.p-singleBody ul li, .p-singleBody ol li {
  margin-bottom: 6px;
}
@media screen and (max-width: 767px) {
  .p-singleBody ul li, .p-singleBody ol li {
    margin-bottom: clamp(3.75px, 0px + 1.171875vw, 9px);
  }
}
.p-singleBody ul li::marker {
  color: #0075C1;
}
.p-singleBody ol li::marker {
  color: #0075C1;
  font-weight: 700;
}
.p-singleBody a {
  color: #0075C1;
  text-decoration: underline;
  text-underline-offset: 3px;
}
@media screen and (max-width: 767px) {
  .p-singleBody a {
    text-underline-offset: clamp(2.5px, 0px + 0.78125vw, 6px);
  }
}
@media (hover: hover) {
  .p-singleBody a:hover {
    text-decoration-thickness: 2px;
  }
}
.p-singleBody__eyecatch {
  margin: 0 0 32px;
}
@media screen and (max-width: 767px) {
  .p-singleBody__eyecatch {
    margin: 0 0 clamp(23.3333333333px, 0px + 7.2916666667vw, 56px);
  }
}
.p-singleBody__eyecatch img {
  width: 100%;
  height: auto;
  border-radius: 6px;
  display: block;
}
@media screen and (max-width: 767px) {
  .p-singleBody__eyecatch img {
    border-radius: clamp(4.1666666667px, 0px + 1.3020833333vw, 10px);
  }
}
.p-singleBody__figure {
  margin: 24px 0 28px;
}
@media screen and (max-width: 767px) {
  .p-singleBody__figure {
    margin: clamp(16.6666666667px, 0px + 5.2083333333vw, 40px) 0 clamp(18.3333333333px, 0px + 5.7291666667vw, 44px);
  }
}
.p-singleBody__figure img {
  width: 100%;
  height: auto;
  border-radius: 6px;
  display: block;
}
@media screen and (max-width: 767px) {
  .p-singleBody__figure img {
    border-radius: clamp(4.1666666667px, 0px + 1.3020833333vw, 10px);
  }
}
.p-singleBody__figcap {
  font-size: 0.6875rem;
  color: #707080;
  text-align: center;
  margin-top: 8px;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-singleBody__figcap {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
  }
}
.p-singleBody__callout {
  background: #F5F7FD;
  border-left: 3px solid #0075C1;
  padding: 18px 22px;
  margin: 24px 0;
  font-size: 0.8125rem;
  line-height: 1.95;
  color: #3a3a48;
  border-radius: 0 4px 4px 0;
}
@media screen and (max-width: 767px) {
  .p-singleBody__callout {
    border-left: clamp(2.0833333333px, 0px + 0.6510416667vw, 5px) solid #0075C1;
    padding: clamp(13.3333333333px, 0px + 4.1666666667vw, 32px) clamp(15px, 0px + 4.6875vw, 36px);
    border-radius: 0 clamp(3.3333333333px, 0px + 1.0416666667vw, 8px) clamp(3.3333333333px, 0px + 1.0416666667vw, 8px) 0;
  }
}
.p-singleBody__callout b {
  color: #141420;
}
.p-singleBody__table {
  width: 100%;
  border-collapse: collapse;
  margin: 18px 0 28px;
  font-size: 0.8125rem;
}
@media screen and (max-width: 767px) {
  .p-singleBody__table {
    margin: clamp(13.3333333333px, 0px + 4.1666666667vw, 32px) 0 clamp(20px, 0px + 6.25vw, 48px);
    font-size: clamp(0.5729166667rem, 0rem + 2.8645833333vw, 1.375rem);
  }
}
.p-singleBody__table th {
  background: #F5F7FD;
  color: #141420;
  font-weight: 700;
  font-size: 0.75rem;
  text-align: left;
  padding: 12px 14px;
  border: 1px solid #E6EAF2;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-singleBody__table th {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
    padding: clamp(8.3333333333px, 0px + 2.6041666667vw, 20px) clamp(9.1666666667px, 0px + 2.8645833333vw, 22px);
  }
}
.p-singleBody__table td {
  padding: 12px 14px;
  border: 1px solid #E6EAF2;
  color: #3a3a48;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-singleBody__table td {
    padding: clamp(8.3333333333px, 0px + 2.6041666667vw, 20px) clamp(9.1666666667px, 0px + 2.8645833333vw, 22px);
  }
}
.p-singleBody__table td:first-child {
  color: #0075C1;
  font-weight: 600;
  white-space: nowrap;
}
@media (hover: hover) {
  .p-singleBody__table tbody tr:hover {
    background: #FAFBFE;
  }
}
.p-singleBody .p-singleFoot a {
  text-decoration: none;
}
.p-singleBody .p-singleFoot__tag {
  color: #707080;
}

.p-singleFoot {
  margin-top: 48px;
  padding-top: 32px;
  border-top: 1px solid #E6EAF2;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}
@media screen and (max-width: 767px) {
  .p-singleFoot {
    margin-top: clamp(26.6666666667px, 0px + 8.3333333333vw, 64px);
    padding-top: clamp(20px, 0px + 6.25vw, 48px);
    gap: clamp(10px, 0px + 3.125vw, 24px);
  }
}
.p-singleFoot__tags {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .p-singleFoot__tags {
    gap: clamp(5.8333333333px, 0px + 1.8229166667vw, 14px);
  }
}
.p-singleFoot__tag {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.6875rem;
  color: #707080;
  background: #F5F7FD;
  padding: 6px 12px;
  border-radius: 3px;
  border: 1px solid #E6EAF2;
  text-decoration: none;
  transition: 0.2s;
}
@media screen and (max-width: 767px) {
  .p-singleFoot__tag {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
    padding: clamp(4.1666666667px, 0px + 1.3020833333vw, 10px) clamp(8.3333333333px, 0px + 2.6041666667vw, 20px);
  }
}
@media (hover: hover) {
  .p-singleFoot__tag:hover {
    border-color: #0075C1;
    color: #0075C1;
  }
}
.p-singleFoot__back {
  color: #0075C1;
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
  letter-spacing: 0.02em;
  transition: color 0.2s ease;
}
@media screen and (max-width: 767px) {
  .p-singleFoot__back {
    font-size: clamp(0.5729166667rem, 0rem + 2.8645833333vw, 1.375rem);
  }
}
@media (hover: hover) {
  .p-singleFoot__back:hover {
    color: #005d9b;
  }
}
.p-singleFoot__share {
  display: flex;
  align-items: center;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .p-singleFoot__share {
    gap: clamp(7.5px, 0px + 2.34375vw, 18px);
  }
}
.p-singleFoot__shareLabel {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.6875rem;
  letter-spacing: 0.15em;
  color: #707080;
  text-transform: uppercase;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .p-singleFoot__shareLabel {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
  }
}
.p-singleFoot__share a, .p-singleFoot__share button {
  position: relative;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid #E6EAF2;
  border-radius: 50%;
  background: #FFF;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #141420;
  text-decoration: none;
  cursor: pointer;
  transition: 0.2s;
}
@media screen and (max-width: 767px) {
  .p-singleFoot__share a, .p-singleFoot__share button {
    width: clamp(30px, 0px + 9.375vw, 72px);
    height: clamp(30px, 0px + 9.375vw, 72px);
  }
}
@media (hover: hover) {
  .p-singleFoot__share a:hover, .p-singleFoot__share button:hover {
    background: #0075C1;
    border-color: #0075C1;
    color: #FFF;
  }
}
@media screen and (max-width: 767px) {
  .p-singleFoot__share a svg, .p-singleFoot__share button svg {
    width: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
    height: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
  }
}
.p-singleFoot__share .js-copyUrl.is-copied {
  background: #0075C1;
  border-color: #0075C1;
  color: #FFF;
}
.p-singleFoot__share .js-copyUrl.is-copied::after {
  content: "コピーしました";
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  background: #141420;
  color: #FFF;
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  padding: 5px 10px;
  border-radius: 4px;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-singleFoot__share .js-copyUrl.is-copied::after {
    bottom: calc(100% + clamp(5px, 0px + 1.5625vw, 12px));
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
    padding: clamp(3.3333333333px, 0px + 1.0416666667vw, 8px) clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
    border-radius: clamp(2.9166666667px, 0px + 0.9114583333vw, 7px);
  }
}

.p-singlePn {
  padding: clamp(26.3314285714px, 0px + 3.4285714286vw, 48px) 0;
  background: #F5F7FD;
}
@media screen and (max-width: 767px) {
  .p-singlePn {
    padding: clamp(20px, 0px + 6.25vw, 48px) 0;
  }
}
.p-singlePn__inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 24px;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-singlePn__inner {
    gap: clamp(10px, 0px + 3.125vw, 24px);
  }
}
.p-singlePn__link {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  text-decoration: none;
  color: #141420;
  padding: 18px 22px;
  background: #FFF;
  border: 1px solid #E6EAF2;
  border-radius: 6px;
  transition: 0.2s;
}
@media screen and (max-width: 767px) {
  .p-singlePn__link {
    gap: clamp(4.1666666667px, 0px + 1.3020833333vw, 10px);
    padding: clamp(13.3333333333px, 0px + 4.1666666667vw, 32px) clamp(15px, 0px + 4.6875vw, 36px);
    border-radius: clamp(4.1666666667px, 0px + 1.3020833333vw, 10px);
    height: stretch;
  }
}
@media (hover: hover) {
  .p-singlePn__link:hover {
    border-color: #0075C1;
    transform: translateY(-2px);
    box-shadow: 0 12px 28px -18px rgba(20, 20, 32, 0.2);
  }
}
.p-singlePn__link--prev {
  grid-column: 1;
}
.p-singlePn__link--next {
  grid-column: 3;
  text-align: right;
}
.p-singlePn__label {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
  letter-spacing: 0.2em;
  color: #0075C1;
  font-weight: 700;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .p-singlePn__label {
    font-size: clamp(0.4166666667rem, 0rem + 2.0833333333vw, 1rem);
  }
}
.p-singlePn__title {
  font-size: 0.8125rem;
  color: #141420;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-singlePn__title {
    font-size: clamp(0.5729166667rem, 0rem + 2.8645833333vw, 1.375rem);
  }
}
.p-singlePn__back {
  grid-column: 2;
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 6px;
  padding: 18px 28px;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.6875rem;
  color: #141420;
  text-decoration: none;
  letter-spacing: 0.12em;
  font-weight: 600;
  background: #FFF;
  border: 1px solid #E6EAF2;
  border-radius: 6px;
  transition: 0.2s;
  height: stretch;
}
@media screen and (max-width: 767px) {
  .p-singlePn__back {
    gap: clamp(4.1666666667px, 0px + 1.3020833333vw, 10px);
    padding: clamp(13.3333333333px, 0px + 4.1666666667vw, 32px) clamp(20px, 0px + 6.25vw, 48px);
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
    border-radius: clamp(4.1666666667px, 0px + 1.3020833333vw, 10px);
  }
}
@media (hover: hover) {
  .p-singlePn__back:hover {
    background: #0075C1;
    color: #FFF;
    border-color: #0075C1;
  }
}
.p-singlePn__backJa {
  font-family: "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.6875rem;
  letter-spacing: 0.04em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-singlePn__backJa {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
  }
}

/*----------▲▲ single ▲▲----------*/
/*----------▼▼ news ▼▼----------*/
.p-newsArchive {
  padding: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px) 0 clamp(52.6628571429px, 0px + 6.8571428571vw, 96px);
  background: #FFF;
}
.p-newsArchive__grid {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 48px;
  align-items: start;
}
.p-newsArchive__main {
  min-width: 0;
}
.p-newsArchive__list {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.p-newsArchiveSidebar {
  position: sticky;
  top: calc(var(--header-h) + 32px);
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.p-newsArchiveSidebar__head {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #141420;
  margin: 0 0 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid #E6EAF2;
  display: flex;
  align-items: baseline;
  gap: 10px;
}
.p-newsArchiveSidebar__headEn {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
  letter-spacing: 0.18em;
  color: #0075C1;
  font-weight: 600;
  text-transform: uppercase;
  margin-left: auto;
}
.p-newsArchiveSidebar__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.p-newsArchiveSidebar__item {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 10px;
  font-size: 0.8125rem;
  color: #141420;
  text-decoration: none;
  border-radius: 4px;
  transition: 0.2s;
}
@media (hover: hover) {
  .p-newsArchiveSidebar__item:hover {
    background: #F5F7FD;
    color: #0075C1;
    opacity: 1;
  }
}
.p-newsArchiveSidebar__item.is-active {
  background: #0075C1;
  color: #FFF;
  font-weight: 600;
}
.p-newsArchiveSidebar__item.is-active .p-newsArchiveSidebar__count {
  color: rgba(255, 255, 255, 0.8);
}
.p-newsArchiveSidebar__count {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.6875rem;
  color: #707080;
  font-weight: 600;
}
.p-newsArchiveToolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding-bottom: 18px;
  margin-bottom: 28px;
  border-bottom: 2px solid #141420;
}
.p-newsArchiveToolbar__total {
  font-size: 0.8125rem;
  color: #707080;
}
.p-newsArchiveToolbar__totalNum {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1rem;
  font-weight: 700;
  color: #141420;
  margin-right: 4px;
}
.p-newsArchiveToolbar__sort {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.75rem;
  color: #707080;
}
.p-newsArchiveToolbar__sortLabel {
  letter-spacing: 0.06em;
}
.p-newsArchiveToolbar__sortTabs {
  display: inline-flex;
  border: 1px solid #E6EAF2;
  border-radius: 6px;
  overflow: hidden;
}
.p-newsArchiveToolbar__sortTab {
  padding: 8px 16px;
  font-size: 0.75rem;
  color: #141420;
  text-decoration: none;
  font-weight: 500;
  background: #FFF;
  transition: 0.2s;
  border-right: 1px solid #E6EAF2;
}
.p-newsArchiveToolbar__sortTab:last-child {
  border-right: 0;
}
@media (hover: hover) {
  .p-newsArchiveToolbar__sortTab:hover {
    background: #F5F7FD;
    opacity: 1;
  }
}
.p-newsArchiveToolbar__sortTab.is-active {
  background: #141420;
  color: #FFF;
}

.p-newsRow {
  display: grid;
  grid-template-columns: 240px 1fr auto;
  gap: 24px;
  align-items: center;
  padding: 18px;
  background: #FFF;
  border: 1px solid #E6EAF2;
  border-radius: 8px;
  text-decoration: none;
  color: #141420;
  transition: 0.25s;
}
@media (hover: hover) {
  .p-newsRow:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 32px -20px rgba(20, 20, 32, 0.22);
    border-color: #cdd6e6;
    opacity: 1;
  }
  .p-newsRow:hover .p-newsRow__more {
    background: #0075C1;
    color: #FFF;
  }
}
.p-newsRow__thumb {
  aspect-ratio: 16/10;
  background: #E6EAF2;
  background-image: repeating-linear-gradient(135deg, rgba(20, 20, 32, 0.025) 0 1px, transparent 1px 14px);
  border-radius: 6px;
  position: relative;
  overflow: hidden;
}
.p-newsRow__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.p-newsRow__thumbPin {
  position: absolute;
  top: 10px;
  left: 10px;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  padding: 3px 8px;
  border-radius: 2px;
  text-transform: uppercase;
  color: #FFF;
  line-height: 1;
}
.p-newsRow__thumbPin.is-info {
  background: #0075C1;
}
.p-newsRow__thumbPin.is-product {
  background: #B66A00;
}
.p-newsRow__thumbPin.is-update {
  background: #33415F;
}
.p-newsRow__body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  padding: 4px 0;
}
.p-newsRow__meta {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.p-newsRow__cat {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 3px 8px;
  border-radius: 2px;
}
.p-newsRow__cat.is-info {
  background: #EDF3FF;
  color: #0075C1;
}
.p-newsRow__cat.is-product {
  background: #FFF1D6;
  color: #B66A00;
}
.p-newsRow__cat.is-update {
  background: #EBEEF6;
  color: #33415F;
}
.p-newsRow__date {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  color: #707080;
  font-weight: 500;
  letter-spacing: 0.04em;
}
.p-newsRow__title {
  font-size: 1rem;
  font-weight: 700;
  color: #141420;
  line-height: 1.5;
  margin: 2px 0;
  letter-spacing: 0.01em;
}
.p-newsRow__desc {
  font-size: 0.75rem;
  color: #3a3a48;
  line-height: 1.7;
  margin: 0;
}
.p-newsRow__more {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #0075C1;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 8px 16px;
  border: 1px solid #0075C1;
  border-radius: 4px;
  transition: 0.2s;
  white-space: nowrap;
}

.p-newsSecHead {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: clamp(21.9428571429px, 0px + 2.8571428571vw, 40px);
}
@media screen and (max-width: 767px) {
  .p-newsSecHead {
    flex-direction: column;
    align-items: flex-start;
    gap: clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
    margin-bottom: clamp(20px, 0px + 6.25vw, 48px);
  }
}
.p-newsSecHead__left {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
@media screen and (max-width: 767px) {
  .p-newsSecHead__left {
    gap: 0;
  }
}
.p-newsSecHead__en {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  letter-spacing: 0.25em;
  color: #0075C1;
  font-weight: 600;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .p-newsSecHead__en {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
  }
}
.p-newsSecHead__title {
  font-size: 1.75rem;
  font-weight: 700;
  color: #141420;
  letter-spacing: 0.02em;
  margin: 0;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .p-newsSecHead__title {
    font-size: clamp(1.1458333333rem, 0rem + 5.7291666667vw, 2.75rem);
    margin-top: clamp(5px, 0px + 1.5625vw, 12px);
  }
}
.p-newsSecHead__rule {
  width: 48px;
  height: 2px;
  background: #0075C1;
  margin-top: 6px;
}
@media screen and (max-width: 767px) {
  .p-newsSecHead__rule {
    width: clamp(26.6666666667px, 0px + 8.3333333333vw, 64px);
    height: clamp(1.6666666667px, 0px + 0.5208333333vw, 4px);
    margin-top: clamp(10px, 0px + 3.125vw, 24px);
  }
}

.p-newsLatest {
  padding: clamp(43.8857142857px, 0px + 5.7142857143vw, 80px) 0;
  background: #FFF;
}

.p-newsAll {
  padding: clamp(43.8857142857px, 0px + 5.7142857143vw, 80px) 0;
}
@media screen and (max-width: 767px) {
  .p-newsAll {
    padding: clamp(50px, 0px + 15.625vw, 120px) 0;
  }
}
.p-newsAll {
  background: #F5F7FD;
}
.p-newsAll__catFilter {
  margin-bottom: 32px;
}
@media screen and (max-width: 767px) {
  .p-newsAll__catFilter {
    margin-bottom: clamp(13.3333333333px, 0px + 4.1666666667vw, 32px);
  }
}
.p-newsAll__list {
  display: flex;
  flex-direction: column;
  border-top: 1px solid #E6EAF2;
}
.p-newsAll__foot {
  margin-top: clamp(21.9428571429px, 0px + 2.8571428571vw, 40px);
}
@media screen and (max-width: 767px) {
  .p-newsAll__foot {
    margin-top: clamp(33.3333333333px, 0px + 10.4166666667vw, 80px);
  }
}
.p-newsAll__foot {
  display: flex;
  justify-content: center;
}
.p-newsAll__moreLink {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #141420;
  text-decoration: none;
  border: 1px solid #141420;
  padding: 14px 36px;
  border-radius: 2px;
  transition: 0.2s;
}
@media screen and (max-width: 767px) {
  .p-newsAll__moreLink {
    font-size: clamp(0.6770833333rem, 0rem + 3.3854166667vw, 1.625rem);
    gap: clamp(8.3333333333px, 0px + 2.6041666667vw, 20px);
    padding: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px) clamp(30px, 0px + 9.375vw, 72px);
  }
}
@media (hover: hover) {
  .p-newsAll__moreLink:hover {
    background: #141420;
    color: #FFF;
  }
}

.p-newsCatChip {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 0.8125rem;
  color: #141420;
  text-decoration: none;
  border: 1px solid #E6EAF2;
  padding: 10px 18px;
  border-radius: 24px;
  font-weight: 500;
  background: #FFF;
  transition: 0.25s;
}
@media screen and (max-width: 767px) {
  .p-newsCatChip {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
    gap: clamp(8.3333333333px, 0px + 2.6041666667vw, 20px);
    padding: clamp(8.3333333333px, 0px + 2.6041666667vw, 20px) clamp(15px, 0px + 4.6875vw, 36px);
    border-radius: clamp(20px, 0px + 6.25vw, 48px);
  }
}
@media (hover: hover) {
  .p-newsCatChip:hover {
    border-color: #0075C1;
    color: #0075C1;
    opacity: 1;
  }
}
.p-newsCatChip.is-active {
  background: #141420;
  border-color: #141420;
  color: #FFF;
}
.p-newsCatChip.is-active .p-newsCatChip__num {
  opacity: 0.7;
}
.p-newsCatChip__num {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.6875rem;
  letter-spacing: 0.04em;
  opacity: 0.65;
  font-weight: 600;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-newsCatChip__num {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
  }
}

.p-newsAllRow {
  display: grid;
  grid-template-columns: 140px 130px 1fr 18px;
  align-items: center;
  gap: 24px;
  padding: 18px 24px;
}
@media screen and (max-width: 767px) {
  .p-newsAllRow {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
    row-gap: clamp(10px, 0px + 3.125vw, 24px);
    padding: clamp(15px, 0px + 4.6875vw, 36px) clamp(33.3333333333px, 0px + 10.4166666667vw, 80px) clamp(15px, 0px + 4.6875vw, 36px) clamp(20px, 0px + 6.25vw, 48px);
  }
}
.p-newsAllRow {
  border-bottom: 1px solid #E6EAF2;
  background: #FFF;
  text-decoration: none;
  color: #141420;
  transition: background 0.2s ease;
  position: relative;
}
.p-newsAllRow::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 1px;
  background: #0075C1;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.45s cubic-bezier(0.22, 0.61, 0.36, 1);
}
@media (hover: hover) {
  .p-newsAllRow:hover {
    background: #F0F3FA;
    opacity: 1;
  }
  .p-newsAllRow:hover::after {
    transform: scaleX(1);
  }
  .p-newsAllRow:hover .p-newsAllRow__arrow {
    color: #0075C1;
    transform: translateX(3px);
  }
}
@media screen and (hover: hover) and (max-width: 767px) {
  .p-newsAllRow:hover .p-newsAllRow__arrow {
    transform: translate(3px, -50%);
  }
}
.p-newsAllRow__date {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.8125rem;
}
@media screen and (max-width: 767px) {
  .p-newsAllRow__date {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
  }
}
.p-newsAllRow__date {
  color: #707080;
  font-weight: 500;
  letter-spacing: 0.04em;
}
.p-newsAllRow__cat {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-newsAllRow__cat {
    font-size: clamp(0.46875rem, 0rem + 2.34375vw, 1.125rem);
    padding: clamp(2.5px, 0px + 0.78125vw, 6px) clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
  }
}
.p-newsAllRow__cat {
  font-weight: 700;
  letter-spacing: 0.06em;
  padding: 3px 8px;
  border-radius: 2px;
  text-align: center;
  background: #EDF3FF;
  color: #0075C1;
}
.p-newsAllRow__cat.is-info {
  background: #EDF3FF;
  color: #0075C1;
}
.p-newsAllRow__cat.is-product {
  background: #FFF1D6;
  color: #B66A00;
}
.p-newsAllRow__cat.is-update {
  background: #EBEEF6;
  color: #33415F;
}
.p-newsAllRow__title {
  grid-column: 3;
  font-size: 0.8125rem;
}
@media screen and (max-width: 767px) {
  .p-newsAllRow__title {
    width: 100%;
    font-size: clamp(0.6770833333rem, 0rem + 3.3854166667vw, 1.625rem);
  }
}
.p-newsAllRow__title {
  color: #141420;
  font-weight: 500;
  line-height: 1.6;
}
.p-newsAllRow__arrow {
  grid-column: 4;
  color: #707080;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .p-newsAllRow__arrow {
    position: absolute;
    right: clamp(20px, 0px + 6.25vw, 48px);
    top: 50%;
    transform: translateY(-50%);
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-newsAllRow__arrow {
  transition: color 0.2s ease, transform 0.2s ease;
  justify-self: end;
}

.p-newsYearArchive {
  margin-top: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px);
}
@media screen and (max-width: 767px) {
  .p-newsYearArchive {
    margin-top: clamp(53.3333333333px, 0px + 16.6666666667vw, 128px);
  }
}
.p-newsYearArchive {
  padding-top: 32px;
}
@media screen and (max-width: 767px) {
  .p-newsYearArchive {
    padding-top: clamp(26.6666666667px, 0px + 8.3333333333vw, 64px);
  }
}
.p-newsYearArchive {
  border-top: 1px solid #E6EAF2;
}
.p-newsYearArchive__head {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .p-newsYearArchive__head {
    gap: clamp(5px, 0px + 1.5625vw, 12px);
    margin-bottom: clamp(16.6666666667px, 0px + 5.2083333333vw, 40px);
  }
}
.p-newsYearArchive__en {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.6875rem;
  letter-spacing: 0.22em;
  color: #0075C1;
  font-weight: 600;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .p-newsYearArchive__en {
    font-size: clamp(0.5729166667rem, 0rem + 2.8645833333vw, 1.375rem);
  }
}
.p-newsYearArchive__title {
  font-size: 1.125rem;
  font-weight: 700;
  color: #141420;
  margin: 0;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-newsYearArchive__title {
    font-size: clamp(0.9375rem, 0rem + 4.6875vw, 2.25rem);
  }
}
.p-newsYearArchive__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .p-newsYearArchive__buttons {
    gap: clamp(8.3333333333px, 0px + 2.6041666667vw, 20px);
  }
}
.p-newsYearArchive__btn {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  background: #FFF;
  border: 1px solid #E6EAF2;
  color: #141420;
  text-decoration: none;
  padding: 12px 20px;
  border-radius: 4px;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  transition: 0.2s;
}
@media screen and (max-width: 767px) {
  .p-newsYearArchive__btn {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
    gap: clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
    padding: clamp(10px, 0px + 3.125vw, 24px) clamp(16.6666666667px, 0px + 5.2083333333vw, 40px);
  }
}
@media (hover: hover) {
  .p-newsYearArchive__btn:hover {
    border-color: #0075C1;
    color: #0075C1;
    opacity: 1;
  }
}
.p-newsYearArchive__count {
  font-size: 0.6875rem;
  opacity: 0.7;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-newsYearArchive__count {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
  }
}

/*----------▲▲ news ▲▲----------*/
/*----------▼▼ archive ▼▼----------*/
.p-archive {
  padding: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px) 0 clamp(52.6628571429px, 0px + 6.8571428571vw, 96px);
  background: #FFF;
}
@media screen and (max-width: 767px) {
  .p-archive {
    padding: clamp(40px, 0px + 12.5vw, 96px) 0;
  }
}
.p-archive__grid {
  display: grid;
  grid-template-columns: min(18.5vw, 260px) 1fr;
  gap: 3.5vw;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .p-archive__grid {
    grid-template-columns: 1fr;
    gap: clamp(30px, 0px + 9.375vw, 72px);
  }
}
.p-archive__main {
  min-width: 0;
}
.p-archive__list {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
@media screen and (max-width: 767px) {
  .p-archive__list {
    gap: clamp(16.6666666667px, 0px + 5.2083333333vw, 40px);
  }
}
.p-archive__empty {
  font-size: 0.875rem;
  color: #707080;
  text-align: center;
  padding: 48px 0;
}
@media screen and (max-width: 767px) {
  .p-archive__empty {
    font-size: clamp(0.6770833333rem, 0rem + 3.3854166667vw, 1.625rem);
    padding: clamp(33.3333333333px, 0px + 10.4166666667vw, 80px) 0;
  }
}
.p-archiveSidebar {
  position: sticky;
  top: calc(var(--header-h) + 32px);
}
@media screen and (max-width: 767px) {
  .p-archiveSidebar {
    position: static;
    width: 100%;
    border: 1px solid #141420;
    border-radius: clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
  }
}
@media screen and (max-width: 767px) {
  body.single-events .p-archiveSidebar, body.single-news .p-archiveSidebar {
    display: none;
  }
}
.p-archiveSidebar__toggle {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-archiveSidebar__toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    background: transparent;
    border: 0;
    padding: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px) clamp(13.3333333333px, 0px + 4.1666666667vw, 32px);
    cursor: pointer;
  }
}
@media screen and (max-width: 767px) {
  .p-archiveSidebar__toggleLabel {
    font-size: clamp(0.6770833333rem, 0rem + 3.3854166667vw, 1.625rem);
    font-weight: 700;
    color: #141420;
  }
}
@media screen and (max-width: 767px) {
  .p-archiveSidebar__toggleIcon {
    position: relative;
    width: clamp(10px, 0px + 3.125vw, 24px);
    height: clamp(10px, 0px + 3.125vw, 24px);
    flex-shrink: 0;
  }
  .p-archiveSidebar__toggleIcon::before, .p-archiveSidebar__toggleIcon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    background: #141420;
    transform: translate(-50%, -50%);
    transition: transform 0.25s ease, opacity 0.25s ease;
  }
  .p-archiveSidebar__toggleIcon::before {
    width: 100%;
    height: 2px;
  }
  .p-archiveSidebar__toggleIcon::after {
    width: 2px;
    height: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-archiveSidebar.is-open .p-archiveSidebar__toggleIcon::after {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(90deg);
  }
}
.p-archiveSidebar__body {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
@media screen and (max-width: 767px) {
  .p-archiveSidebar__body {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.3s ease;
  }
}
@media screen and (max-width: 767px) {
  .p-archiveSidebar.is-open .p-archiveSidebar__body {
    grid-template-rows: 1fr;
  }
}
.p-archiveSidebar__bodyInner {
  display: contents;
}
@media screen and (max-width: 767px) {
  .p-archiveSidebar__bodyInner {
    display: flex;
    flex-direction: column;
    gap: clamp(20px, 0px + 6.25vw, 48px);
    overflow: hidden;
    padding: 0 clamp(13.3333333333px, 0px + 4.1666666667vw, 32px) 0;
    transition: padding-bottom 0.3s ease;
  }
}
@media screen and (max-width: 767px) {
  .p-archiveSidebar.is-open .p-archiveSidebar__bodyInner {
    padding-top: clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
    padding-bottom: clamp(13.3333333333px, 0px + 4.1666666667vw, 32px);
  }
}
.p-archiveSidebar__block {
  display: flex;
  flex-direction: column;
}
.p-archiveSidebar__head {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #141420;
  margin: 0 0 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid #E6EAF2;
  display: flex;
  align-items: baseline;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .p-archiveSidebar__head {
    font-size: clamp(0.5729166667rem, 0rem + 2.8645833333vw, 1.375rem);
    margin-bottom: clamp(10px, 0px + 3.125vw, 24px);
    padding-bottom: clamp(8.3333333333px, 0px + 2.6041666667vw, 20px);
    gap: clamp(8.3333333333px, 0px + 2.6041666667vw, 20px);
  }
}
.p-archiveSidebar__headEn {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
  letter-spacing: 0.18em;
  color: #0075C1;
  font-weight: 600;
  text-transform: uppercase;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .p-archiveSidebar__headEn {
    font-size: clamp(0.4166666667rem, 0rem + 2.0833333333vw, 1rem);
  }
}
.p-archiveSidebar__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
@media screen and (max-width: 767px) {
  .p-archiveSidebar__list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(3.3333333333px, 0px + 1.0416666667vw, 8px) clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
  }
}
.p-archiveSidebar__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  overflow-wrap: anywhere;
  padding: 8px 10px;
  font-size: 0.8125rem;
  color: #141420;
  text-decoration: none;
  border-radius: 4px;
  transition: 0.2s;
}
@media screen and (max-width: 767px) {
  .p-archiveSidebar__item {
    gap: clamp(8.3333333333px, 0px + 2.6041666667vw, 20px);
    padding: clamp(6.6666666667px, 0px + 2.0833333333vw, 16px) clamp(8.3333333333px, 0px + 2.6041666667vw, 20px);
    font-size: clamp(0.5729166667rem, 0rem + 2.8645833333vw, 1.375rem);
    height: stretch;
  }
}
@media (hover: hover) {
  .p-archiveSidebar__item:hover {
    background: #F5F7FD;
    color: #0075C1;
  }
}
.p-archiveSidebar__item.is-active {
  background: #0075C1;
  color: #FFF;
  font-weight: 600;
}
.p-archiveSidebar__item.is-active .p-archiveSidebar__count {
  color: rgba(255, 255, 255, 0.8);
}
.p-archiveSidebar__count {
  flex-shrink: 0;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.6875rem;
  color: #707080;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .p-archiveSidebar__count {
    font-size: clamp(0.46875rem, 0rem + 2.34375vw, 1.125rem);
  }
}

.p-archiveToolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding-bottom: 18px;
  margin-bottom: 28px;
  border-bottom: 2px solid #141420;
}
.p-archiveToolbar__sort {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.75rem;
  color: #707080;
}
@media screen and (max-width: 767px) {
  .p-archiveToolbar__sort {
    gap: clamp(5px, 0px + 1.5625vw, 12px);
  }
}
.p-archiveToolbar__sortLabel {
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .p-archiveToolbar__sortLabel {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
  }
}
.p-archiveToolbar__keyword {
  font-size: 0.875rem;
  font-weight: 700;
  color: #141420;
}
@media screen and (max-width: 767px) {
  .p-archiveToolbar__keyword {
    font-size: clamp(0.6770833333rem, 0rem + 3.3854166667vw, 1.625rem);
  }
}
.p-archiveToolbar__sortTabs {
  display: inline-flex;
  border: 1px solid #E6EAF2;
  border-radius: 6px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-archiveToolbar__sortTabs {
    border-radius: clamp(5px, 0px + 1.5625vw, 12px);
  }
}
.p-archiveToolbar__sortTab {
  padding: 8px 16px;
  font-size: 0.75rem;
  color: #141420;
  text-decoration: none;
  font-weight: 500;
  background: #FFF;
  transition: 0.2s;
  border-right: 1px solid #E6EAF2;
}
@media screen and (max-width: 767px) {
  .p-archiveToolbar__sortTab {
    padding: clamp(6.6666666667px, 0px + 2.0833333333vw, 16px) clamp(13.3333333333px, 0px + 4.1666666667vw, 32px);
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
  }
}
.p-archiveToolbar__sortTab:last-child {
  border-right: 0;
}
@media (hover: hover) {
  .p-archiveToolbar__sortTab:hover {
    background: #F5F7FD;
  }
}
.p-archiveToolbar__sortTab.is-active {
  background: #141420;
  color: #FFF;
}

.p-archiveCatFilter {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .p-archiveCatFilter {
    gap: clamp(8.3333333333px, 0px + 2.6041666667vw, 20px);
  }
}

.p-archiveCount {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  color: #707080;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .p-archiveCount {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
    align-self: flex-end;
  }
}
.p-archiveCount b {
  color: #141420;
  font-weight: 700;
  font-size: 1.125rem;
  margin-right: 4px;
}
@media screen and (max-width: 767px) {
  .p-archiveCount b {
    font-size: clamp(0.8333333333rem, 0rem + 4.1666666667vw, 2rem);
  }
}

.p-archiveRow {
  display: grid;
  grid-template-columns: 240px 1fr auto;
  gap: 1.7vw;
  align-items: center;
  padding: 18px;
  background: #FFF;
  border: 1px solid #E6EAF2;
  border-radius: 8px;
  text-decoration: none;
  color: #141420;
  transition: 0.25s;
  min-height: 188px;
}
@media screen and (max-width: 767px) {
  .p-archiveRow {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    overflow: hidden;
    padding: 0;
    min-height: unset;
  }
}
@media (hover: hover) {
  .p-archiveRow:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 32px -20px rgba(20, 20, 32, 0.22);
    border-color: #cdd6e6;
  }
  .p-archiveRow:hover .p-archiveRow__more::after {
    transform: translateX(4px);
  }
}
.p-archiveRow__thumb {
  aspect-ratio: 16/10;
  background: #E0E6F0;
  background-image: repeating-linear-gradient(135deg, rgba(20, 20, 32, 0.025) 0 1px, transparent 1px 14px);
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #9AA6BD;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.6875rem;
  letter-spacing: 0.15em;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-archiveRow__thumb {
    aspect-ratio: 16/9;
    border-radius: 0;
  }
}
.p-archiveRow__thumb img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}
.p-archiveRow__pin {
  position: absolute;
  top: 12px;
  left: 12px;
  background: #0075C1;
  color: #FFF;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  padding: 3px 8px;
  border-radius: 2px;
}
@media screen and (max-width: 767px) {
  .p-archiveRow__pin {
    top: clamp(10px, 0px + 3.125vw, 24px);
    left: clamp(10px, 0px + 3.125vw, 24px);
    font-size: clamp(0.46875rem, 0rem + 2.34375vw, 1.125rem);
    padding: clamp(3.3333333333px, 0px + 1.0416666667vw, 8px) clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
  }
}
.p-archiveRow__pin.is-ongoing {
  background: #FF9C00;
}
.p-archiveRow__pin.is-ended {
  background: #9AA6BD;
}
.p-archiveRow__pin.is-report {
  background: #1F2940;
}
.p-archiveRow__body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  align-self: start;
  padding: 20px 0;
}
@media screen and (max-width: 767px) {
  .p-archiveRow__body {
    align-self: auto;
    padding: clamp(16.6666666667px, 0px + 5.2083333333vw, 40px) clamp(18.3333333333px, 0px + 5.7291666667vw, 44px) clamp(18.3333333333px, 0px + 5.7291666667vw, 44px);
    gap: clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
  }
}
.p-archiveRow__meta {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .p-archiveRow__meta {
    gap: clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
  }
}
.p-archiveRow__cat {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 3px 8px;
  border-radius: 2px;
  background: #EDF3FF;
  color: #0075C1;
}
@media screen and (max-width: 767px) {
  .p-archiveRow__cat {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
    padding: clamp(2.5px, 0px + 0.78125vw, 6px) clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
  }
}
.p-archiveRow__cat.is-dark {
  background: #141420;
  color: #FFF;
}
.p-archiveRow__cat.is-user {
  background: #FFF1D6;
  color: #B66A00;
}
.p-archiveRow__tag {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  padding: 3px 8px;
  border-radius: 2px;
  background: #F5F7FD;
  color: #141420;
  border: 1px solid #E6EAF2;
}
@media screen and (max-width: 767px) {
  .p-archiveRow__tag {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
    padding: clamp(2.5px, 0px + 0.78125vw, 6px) clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
  }
}
.p-archiveRow__tag.is-live {
  background: #FFEDED;
  color: #C0292B;
  border-color: #F7C2C2;
}
.p-archiveRow__date {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  color: #707080;
  font-weight: 500;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-archiveRow__date {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
    margin-top: clamp(1.6666666667px, 0px + 0.5208333333vw, 4px);
  }
}
.p-archiveRow__title {
  font-size: 1rem;
  font-weight: 700;
  color: #141420;
  line-height: 1.5;
  margin: 2px 0;
  letter-spacing: 0.01em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-archiveRow__title {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
    margin: clamp(1.6666666667px, 0px + 0.5208333333vw, 4px) 0 clamp(3.3333333333px, 0px + 1.0416666667vw, 8px);
  }
}
.p-archiveRow__desc {
  font-size: 0.75rem;
  color: #3a3a48;
  line-height: 1.7;
  margin: 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-archiveRow__desc {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
  }
}
.p-archiveRow__location, .p-archiveRow__target, .p-archiveRow__register {
  font-size: 0.75rem;
  color: #3a3a48;
  line-height: 1.7;
  margin: 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-archiveRow__location, .p-archiveRow__target, .p-archiveRow__register {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
  }
}
.p-archiveRow__more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #0075C1;
  font-size: 0.75rem;
  font-weight: 600;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-archiveRow__more {
    margin: 0 clamp(18.3333333333px, 0px + 5.7291666667vw, 44px) clamp(18.3333333333px, 0px + 5.7291666667vw, 44px);
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
    gap: clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
  }
}
.p-archiveRow__more::after {
  content: "→";
  transition: transform 0.25s ease;
}
.p-archiveRow.is-noThumb {
  grid-template-columns: 1fr auto;
  min-height: unset;
}
.p-archiveRow.is-online {
  position: relative;
  grid-template-columns: 1fr auto;
}
.p-archiveRow.is-online .p-archiveRow__pin {
  position: absolute;
  top: 28px;
  left: 28px;
}
.p-archiveRow.is-online .p-archiveRow__body {
  padding-left: 80px;
}
@media screen and (max-width: 767px) {
  .p-archiveRow.is-online .p-archiveRow__pin {
    top: clamp(10px, 0px + 3.125vw, 24px);
    left: clamp(10px, 0px + 3.125vw, 24px);
  }
  .p-archiveRow.is-online .p-archiveRow__body {
    padding-top: clamp(40px, 0px + 12.5vw, 96px);
    padding-left: clamp(18.3333333333px, 0px + 5.7291666667vw, 44px);
  }
}

.p-archivePager {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  margin-top: clamp(26.3314285714px, 0px + 3.4285714286vw, 48px);
}
@media screen and (max-width: 767px) {
  .p-archivePager {
    gap: clamp(5px, 0px + 1.5625vw, 12px);
    margin-top: clamp(26.6666666667px, 0px + 8.3333333333vw, 64px);
  }
}
.p-archivePager .page-numbers {
  min-width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #E6EAF2;
  background: #FFF;
  color: #141420;
  text-decoration: none;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.8125rem;
  font-weight: 600;
  border-radius: 4px;
  padding: 0 12px;
  transition: 0.2s;
}
@media screen and (max-width: 767px) {
  .p-archivePager .page-numbers {
    min-width: clamp(20px, 0px + 6.25vw, 48px);
    height: clamp(20px, 0px + 6.25vw, 48px);
    font-size: clamp(0.46875rem, 0rem + 2.34375vw, 1.125rem);
    padding: 0 clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
    border-radius: clamp(3.3333333333px, 0px + 1.0416666667vw, 8px);
  }
}
@media (hover: hover) {
  .p-archivePager .page-numbers:hover:not(.current):not(.disabled) {
    border-color: #0075C1;
    color: #0075C1;
  }
}
.p-archivePager .page-numbers.current {
  background: #0075C1;
  border-color: #0075C1;
  color: #FFF;
  cursor: default;
}
.p-archivePager .page-numbers.disabled {
  opacity: 0.35;
  pointer-events: none;
}
.p-archivePager .page-numbers.dots {
  border: 0;
  background: transparent;
  color: #707080;
  padding: 0 4px;
  min-width: auto;
}
@media screen and (max-width: 767px) {
  .p-archivePager .page-numbers.dots {
    padding: 0 clamp(3.3333333333px, 0px + 1.0416666667vw, 8px);
  }
}
.p-archivePager .page-numbers.prev, .p-archivePager .page-numbers.next {
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .p-archivePager .page-numbers.prev, .p-archivePager .page-numbers.next {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
  }
}

/*----------▲▲ archive ▲▲----------*/
/*----------▼▼ events ▼▼----------*/
.p-eventsSecHead {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: clamp(21.9428571429px, 0px + 2.8571428571vw, 40px);
}
@media screen and (max-width: 767px) {
  .p-eventsSecHead {
    flex-direction: column;
    align-items: flex-start;
    gap: clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
    margin-bottom: clamp(20px, 0px + 6.25vw, 48px);
  }
}
.p-eventsSecHead__left {
  display: flex;
  flex-direction: column;
}
.p-eventsSecHead__en {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  letter-spacing: 0.25em;
  color: #0075C1;
  font-weight: 600;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .p-eventsSecHead__en {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
  }
}
.p-eventsSecHead__title {
  font-size: 1.75rem;
  font-weight: 700;
  color: #141420;
  letter-spacing: 0.02em;
  margin: 8px 0 0;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .p-eventsSecHead__title {
    font-size: clamp(1.1458333333rem, 0rem + 5.7291666667vw, 2.75rem);
    margin-top: clamp(5px, 0px + 1.5625vw, 12px);
  }
}
.p-eventsSecHead__rule {
  width: 48px;
  height: 2px;
  background: #0075C1;
  margin-top: 14px;
}
@media screen and (max-width: 767px) {
  .p-eventsSecHead__rule {
    width: clamp(26.6666666667px, 0px + 8.3333333333vw, 64px);
    height: clamp(1.6666666667px, 0px + 0.5208333333vw, 4px);
    margin-top: clamp(10px, 0px + 3.125vw, 24px);
  }
}
.p-eventsSecHead__count {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  color: #707080;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .p-eventsSecHead__count {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
    align-self: flex-end;
  }
}
.p-eventsSecHead__count b {
  color: #141420;
  font-size: 1.125rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-eventsSecHead__count b {
    font-size: clamp(0.8333333333rem, 0rem + 4.1666666667vw, 2rem);
  }
}

.p-eventsUpcoming {
  padding: clamp(43.8857142857px, 0px + 5.7142857143vw, 80px) 0;
}
@media screen and (max-width: 767px) {
  .p-eventsUpcoming {
    padding: clamp(40px, 0px + 12.5vw, 96px) 0;
  }
}

.p-eventsPast {
  padding: clamp(43.8857142857px, 0px + 5.7142857143vw, 80px) 0;
  background: #FFF;
}
@media screen and (max-width: 767px) {
  .p-eventsPast {
    padding: clamp(40px, 0px + 12.5vw, 96px) 0;
  }
}
.p-eventsPast__list {
  display: flex;
  flex-direction: column;
  border-top: 1px solid #E6EAF2;
}
.p-eventsPast__foot {
  margin-top: clamp(21.9428571429px, 0px + 2.8571428571vw, 40px);
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .p-eventsPast__foot {
    margin-top: clamp(33.3333333333px, 0px + 10.4166666667vw, 80px);
  }
}
.p-eventsPast__moreLink {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #141420;
  text-decoration: none;
  border: 1px solid #141420;
  padding: 14px 36px;
  border-radius: 2px;
  transition: 0.2s;
}
@media screen and (max-width: 767px) {
  .p-eventsPast__moreLink {
    font-size: clamp(0.6770833333rem, 0rem + 3.3854166667vw, 1.625rem);
    padding: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px) clamp(30px, 0px + 9.375vw, 72px);
  }
}
@media (hover: hover) {
  .p-eventsPast__moreLink:hover {
    background: #141420;
    color: #FFF;
  }
}

.p-eventsPastRow {
  display: grid;
  grid-template-columns: 140px 140px 100px 1fr 18px;
  align-items: center;
  gap: 18px;
  padding: 18px 24px;
  border-bottom: 1px solid #E6EAF2;
  background: #FFF;
  text-decoration: none;
  color: #141420;
  transition: background 0.2s ease;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-eventsPastRow {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: clamp(8.3333333333px, 0px + 2.6041666667vw, 20px) clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
    padding: clamp(13.3333333333px, 0px + 4.1666666667vw, 32px) clamp(33.3333333333px, 0px + 10.4166666667vw, 80px) clamp(13.3333333333px, 0px + 4.1666666667vw, 32px) clamp(13.3333333333px, 0px + 4.1666666667vw, 32px);
  }
}
.p-eventsPastRow::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 1px;
  background: #0075C1;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.45s cubic-bezier(0.22, 0.61, 0.36, 1);
}
@media (hover: hover) {
  .p-eventsPastRow:hover {
    background: #F5F7FD;
  }
  .p-eventsPastRow:hover::after {
    transform: scaleX(1);
  }
  .p-eventsPastRow:hover .p-eventsPastRow__arrow {
    color: #0075C1;
    transform: translateX(3px);
  }
}
.p-eventsPastRow__date {
  grid-column: 1;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.8125rem;
  color: #707080;
  font-weight: 500;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-eventsPastRow__date {
    order: 1;
    width: 100%;
    font-size: clamp(0.5729166667rem, 0rem + 2.8645833333vw, 1.375rem);
  }
}
.p-eventsPastRow__cat {
  grid-column: 2;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
  font-weight: 700;
  color: #0075C1;
  border: 1px solid #0075C1;
  padding: 3px 8px;
  border-radius: 2px;
  text-align: center;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .p-eventsPastRow__cat {
    order: 2;
    font-size: clamp(0.46875rem, 0rem + 2.34375vw, 1.125rem);
    padding: clamp(2.5px, 0px + 0.78125vw, 6px) clamp(5px, 0px + 1.5625vw, 12px);
  }
}
.p-eventsPastRow__cat.is-dark {
  color: #141420;
  border-color: #141420;
}
.p-eventsPastRow__tags {
  grid-column: 3;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
@media screen and (max-width: 767px) {
  .p-eventsPastRow__tags {
    display: contents;
  }
}
.p-eventsPastRow__tag {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
  font-weight: 600;
  color: #0075C1;
  background: #EDF3FF;
  padding: 3px 8px;
  border-radius: 2px;
  text-align: center;
  letter-spacing: 0.05em;
  word-break: break-all;
}
@media screen and (max-width: 767px) {
  .p-eventsPastRow__tag {
    order: 2;
    font-size: clamp(0.46875rem, 0rem + 2.34375vw, 1.125rem);
    padding: clamp(2.5px, 0px + 0.78125vw, 6px) clamp(5px, 0px + 1.5625vw, 12px);
  }
}
.p-eventsPastRow__title {
  grid-column: 4;
  font-size: 0.8125rem;
  color: #141420;
  font-weight: 500;
  line-height: 1.6;
  word-break: break-all;
}
@media screen and (max-width: 767px) {
  .p-eventsPastRow__title {
    order: 3;
    width: 100%;
    font-size: clamp(0.6770833333rem, 0rem + 3.3854166667vw, 1.625rem);
  }
}
.p-eventsPastRow__arrow {
  grid-column: 5;
  color: #707080;
  transition: color 0.2s ease, transform 0.2s ease;
}
@media screen and (max-width: 767px) {
  .p-eventsPastRow__arrow {
    position: absolute;
    right: clamp(13.3333333333px, 0px + 4.1666666667vw, 32px);
    top: 50%;
    transform: translateY(-50%);
  }
}

.p-eventsReports {
  padding: clamp(43.8857142857px, 0px + 5.7142857143vw, 80px) 0;
}
@media screen and (max-width: 767px) {
  .p-eventsReports {
    padding: clamp(66.6666666667px, 0px + 20.8333333333vw, 160px) 0;
  }
}
.p-eventsReports__foot {
  margin-top: clamp(21.9428571429px, 0px + 2.8571428571vw, 40px);
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .p-eventsReports__foot {
    margin-top: clamp(33.3333333333px, 0px + 10.4166666667vw, 80px);
  }
}
.p-eventsReports__moreLink {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #141420;
  text-decoration: none;
  border: 1px solid #141420;
  padding: 14px 36px;
  border-radius: 2px;
  transition: 0.2s;
}
@media screen and (max-width: 767px) {
  .p-eventsReports__moreLink {
    font-size: clamp(0.6770833333rem, 0rem + 3.3854166667vw, 1.625rem);
    padding: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px) clamp(30px, 0px + 9.375vw, 72px);
  }
}
@media (hover: hover) {
  .p-eventsReports__moreLink:hover {
    background: #141420;
    color: #FFF;
  }
}

.p-eventsInfoCard {
  background: #F5F7FD;
  border: 1px solid #E6EAF2;
  border-radius: 8px;
  padding: 28px 32px 30px;
  margin: 0 0 36px;
}
@media screen and (max-width: 767px) {
  .p-eventsInfoCard {
    padding: clamp(23.3333333333px, 0px + 7.2916666667vw, 56px) clamp(26.6666666667px, 0px + 8.3333333333vw, 64px) clamp(25px, 0px + 7.8125vw, 60px);
    margin: 0 0 clamp(30px, 0px + 9.375vw, 72px);
  }
}
.p-eventsInfoCard__head {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
  letter-spacing: 0.22em;
  color: #0075C1;
  font-weight: 700;
  text-transform: uppercase;
  margin: 0 0 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid #E6EAF2;
}
@media screen and (max-width: 767px) {
  .p-eventsInfoCard__head {
    font-size: clamp(0.5208333333rem, 0rem + 2.6041666667vw, 1.25rem);
    margin: 0 0 clamp(15px, 0px + 4.6875vw, 36px);
    padding-bottom: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
  }
}
.p-eventsInfoCard__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px 32px;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .p-eventsInfoCard__grid {
    grid-template-columns: 1fr;
    gap: clamp(15px, 0px + 4.6875vw, 36px);
  }
}
.p-eventsInfoCard__grid > div {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
@media screen and (max-width: 767px) {
  .p-eventsInfoCard__grid > div {
    gap: clamp(5px, 0px + 1.5625vw, 12px);
  }
}
.p-eventsInfoCard__grid dt {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.6875rem;
  letter-spacing: 0.04em;
  color: #707080;
  font-weight: 600;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .p-eventsInfoCard__grid dt {
    font-size: clamp(0.5729166667rem, 0rem + 2.8645833333vw, 1.375rem);
  }
}
.p-eventsInfoCard__grid dd {
  margin: 0;
  font-size: 0.875rem;
  color: #141420;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-eventsInfoCard__grid dd {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-eventsInfoCard__grid dd a {
  color: #0075C1;
  text-decoration: none;
}
@media (hover: hover) {
  .p-eventsInfoCard__grid dd a:hover {
    text-decoration: underline;
  }
}
.p-singleBody .p-eventsInfoCard__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  background: #0075C1;
  color: #FFF;
  font-size: 0.8125rem;
  font-weight: 600;
  padding: 12px 22px;
  border-radius: 4px;
  text-decoration: none;
  letter-spacing: 0.04em;
  transition: 0.2s;
}
@media screen and (max-width: 767px) {
  .p-singleBody .p-eventsInfoCard__cta {
    font-size: clamp(0.6770833333rem, 0rem + 3.3854166667vw, 1.625rem);
    padding: clamp(10px, 0px + 3.125vw, 24px) clamp(18.3333333333px, 0px + 5.7291666667vw, 44px);
  }
}
@media (hover: hover) {
  .p-singleBody .p-eventsInfoCard__cta:hover {
    background: #005d9b;
  }
}

.p-eventsOnline {
  padding: clamp(39.4971428571px, 0px + 5.1428571429vw, 72px) 0;
}
@media screen and (max-width: 767px) {
  .p-eventsOnline {
    padding: clamp(40px, 0px + 12.5vw, 96px) 0;
  }
}
.p-eventsOnline__body {
  display: grid;
  grid-template-columns: 30% 1fr;
  gap: clamp(26.3314285714px, 0px + 3.4285714286vw, 48px);
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-eventsOnline__body {
    grid-template-columns: 1fr;
    gap: clamp(23.3333333333px, 0px + 7.2916666667vw, 56px);
  }
}
.p-eventsOnline__img {
  border-radius: 8px;
  overflow: hidden;
  aspect-ratio: 16/9;
  background: #E0E6F0;
}
.p-eventsOnline__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-eventsOnline__content {
  display: flex;
  flex-direction: column;
  gap: clamp(15.36px, 0px + 2vw, 28px);
}
@media screen and (max-width: 767px) {
  .p-eventsOnline__content {
    gap: clamp(20px, 0px + 6.25vw, 48px);
  }
}
.p-eventsOnline__lead {
  font-size: 0.9375rem;
  line-height: 1.9;
  color: #141420;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .p-eventsOnline__lead {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
  }
}
.p-eventsOnline__foot {
  margin-top: clamp(21.9428571429px, 0px + 2.8571428571vw, 40px);
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .p-eventsOnline__foot {
    margin-top: clamp(33.3333333333px, 0px + 10.4166666667vw, 80px);
  }
}
.p-eventsOnline__moreLink {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #141420;
  text-decoration: none;
  border: 1px solid #141420;
  padding: 14px 36px;
  border-radius: 2px;
  transition: 0.2s;
}
@media screen and (max-width: 767px) {
  .p-eventsOnline__moreLink {
    font-size: clamp(0.6770833333rem, 0rem + 3.3854166667vw, 1.625rem);
    padding: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px) clamp(30px, 0px + 9.375vw, 72px);
  }
}
@media (hover: hover) {
  .p-eventsOnline__moreLink:hover {
    background: #141420;
    color: #FFF;
  }
}

.p-eventsYearArchive {
  padding: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px) 0;
  background: #FFF;
}
@media screen and (max-width: 767px) {
  .p-eventsYearArchive {
    padding: clamp(40px, 0px + 12.5vw, 96px) 0;
  }
}
.p-eventsYearArchive__head {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .p-eventsYearArchive__head {
    gap: clamp(5px, 0px + 1.5625vw, 12px);
    margin-bottom: clamp(16.6666666667px, 0px + 5.2083333333vw, 40px);
  }
}
.p-eventsYearArchive__en {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.6875rem;
  letter-spacing: 0.22em;
  color: #0075C1;
  font-weight: 600;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .p-eventsYearArchive__en {
    font-size: clamp(0.5729166667rem, 0rem + 2.8645833333vw, 1.375rem);
  }
}
.p-eventsYearArchive__title {
  font-size: 1.125rem;
  font-weight: 700;
  color: #141420;
  margin: 0;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-eventsYearArchive__title {
    font-size: clamp(0.8333333333rem, 0rem + 4.1666666667vw, 2rem);
  }
}
.p-eventsYearArchive__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .p-eventsYearArchive__buttons {
    gap: clamp(8.3333333333px, 0px + 2.6041666667vw, 20px);
  }
}
.p-eventsYearArchive__btn {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  background: #FFF;
  border: 1px solid #E6EAF2;
  color: #141420;
  text-decoration: none;
  padding: 12px 20px;
  border-radius: 4px;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  transition: 0.2s;
}
@media screen and (max-width: 767px) {
  .p-eventsYearArchive__btn {
    font-size: clamp(0.6770833333rem, 0rem + 3.3854166667vw, 1.625rem);
    padding: clamp(10px, 0px + 3.125vw, 24px) clamp(15px, 0px + 4.6875vw, 36px);
  }
}
@media (hover: hover) {
  .p-eventsYearArchive__btn:hover {
    border-color: #0075C1;
    color: #0075C1;
    opacity: 1;
  }
}
.p-eventsYearArchive__count {
  font-size: 0.6875rem;
  opacity: 0.7;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-eventsYearArchive__count {
    font-size: clamp(0.5729166667rem, 0rem + 2.8645833333vw, 1.375rem);
  }
}

/*----------▲▲ events ▲▲----------*/
/*----------▼▼ topics ▼▼----------*/
.p-topicsArchive {
  padding: clamp(43.8857142857px, 0px + 5.7142857143vw, 80px) 0;
  background: #FFF;
}
.p-topicsArchive__toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  margin-bottom: 28px;
  flex-wrap: wrap;
}
.p-topicsArchive__pager {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  margin-top: 48px;
}
.p-topicsArchive__pager .page-numbers {
  min-width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #E6EAF2;
  background: #FFF;
  color: #141420;
  text-decoration: none;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.8125rem;
  font-weight: 600;
  border-radius: 4px;
  padding: 0 12px;
  transition: 0.2s;
}
@media (hover: hover) {
  .p-topicsArchive__pager .page-numbers:hover {
    border-color: #0075C1;
    color: #0075C1;
    opacity: 1;
  }
}
.p-topicsArchive__pager .page-numbers.current {
  background: #0075C1;
  border-color: #0075C1;
  color: #FFF;
  cursor: default;
}
.p-topicsArchive__pager .page-numbers.dots {
  border: 0;
  background: transparent;
  color: #707080;
  padding: 0 4px;
  min-width: auto;
}
.p-topicsArchive__pager .page-numbers.prev, .p-topicsArchive__pager .page-numbers.next {
  font-size: 1rem;
}
.p-topicsArchive__pager .page-numbers.disabled {
  opacity: 0.35;
  pointer-events: none;
}

/*----------▲▲ topics ▲▲----------*/
/*----------▼▼ contact ▼▼----------*/
.p-contact {
  padding: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px) 0;
  background: #FFF;
}
.p-contact__head {
  margin-bottom: clamp(21.9428571429px, 0px + 2.8571428571vw, 40px);
}
.p-contact__en {
  display: block;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  letter-spacing: 0.25em;
  color: #0075C1;
  font-weight: 600;
  text-transform: uppercase;
}
.p-contact__title {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 2rem;
  font-weight: 700;
  color: #141420;
  margin: 8px 0 0;
  letter-spacing: 0.02em;
  line-height: 1.3;
}
.p-contact__rule {
  width: 48px;
  height: 2px;
  background: #0075C1;
  margin-top: 14px;
}
.p-contact__lede {
  font-size: 0.875rem;
  line-height: 1.95;
  color: #3a3a48;
  letter-spacing: 0.02em;
  max-width: 860px;
  margin: 0;
}
.p-contact__lede a {
  color: #0075C1;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.p-contact__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-top: clamp(21.9428571429px, 0px + 2.8571428571vw, 40px);
}

.p-contactCard {
  position: relative;
  background: #FFF;
  border: 1px solid #E6EAF2;
  border-radius: 8px;
  padding: 24px 28px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  text-decoration: none;
  color: #141420;
  transition: 0.25s;
}
@media (hover: hover) {
  .p-contactCard:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px -18px rgba(20, 20, 32, 0.2);
    border-color: #0075C1;
    opacity: 1;
  }
  .p-contactCard:hover .p-contactCard__arrow {
    color: #0075C1;
    transform: translateY(-50%) translateX(4px);
  }
}
.p-contactCard__label {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
  letter-spacing: 0.18em;
  color: #0075C1;
  font-weight: 700;
  text-transform: uppercase;
}
.p-contactCard__title {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.0625rem;
  font-weight: 700;
  color: #141420;
  margin: 2px 0 4px;
  letter-spacing: 0.02em;
}
.p-contactCard__desc {
  font-size: 0.75rem;
  color: #3a3a48;
  line-height: 1.7;
}
.p-contactCard__arrow {
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
  color: #707080;
  font-size: 1.125rem;
  transition: all 0.25s ease;
}
.p-contactCard__extCorner {
  position: absolute;
  top: 14px;
  right: 14px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #0075C1;
  color: #FFF;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  padding: 6px 11px;
  border-radius: 3px;
  text-transform: uppercase;
  line-height: 1;
}
.p-contactCard__extCornerIcon {
  width: 9px;
  height: 9px;
  background: #FFF;
  -webkit-mask-image: url(../img/common/icon-external.svg);
  mask-image: url(../img/common/icon-external.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  display: inline-block;
}

/*----------▲▲ contact ▲▲----------*/
/*----------▼▼ contact-sales ▼▼----------*/
.p-contactSales {
  padding: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px) 0 clamp(52.6628571429px, 0px + 6.8571428571vw, 96px);
}
.p-contactSales .l-inner {
  max-width: 1000px;
}

/*----------▲▲ contact-sales ▲▲----------*/
/*----------▼▼ contact-form ▼▼----------*/
.p-contactForm {
  padding: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px) 0;
  background: #FFF;
}
@media screen and (max-width: 767px) {
  .p-contactForm {
    padding: clamp(40px, 0px + 12.5vw, 96px) 0;
  }
}
.p-contactForm__head {
  margin-bottom: clamp(21.9428571429px, 0px + 2.8571428571vw, 40px);
}
@media screen and (max-width: 767px) {
  .p-contactForm__head {
    margin-bottom: clamp(23.3333333333px, 0px + 7.2916666667vw, 56px);
  }
}
.p-contactForm__en {
  display: block;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  letter-spacing: 0.25em;
  color: #0075C1;
  font-weight: 600;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .p-contactForm__en {
    font-size: clamp(0.5729166667rem, 0rem + 2.8645833333vw, 1.375rem);
  }
}
.p-contactForm__title {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 2rem;
  font-weight: 700;
  color: #141420;
  margin: 8px 0 0;
  letter-spacing: 0.02em;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .p-contactForm__title {
    font-size: clamp(1.25rem, 0rem + 6.25vw, 3rem);
  }
}
.p-contactForm__rule {
  width: 48px;
  height: 2px;
  background: #0075C1;
  margin-top: 14px;
}
.p-contactForm__lede {
  font-size: 0.875rem;
  line-height: 1.95;
  color: #3a3a48;
  letter-spacing: 0.02em;
  max-width: 860px;
  margin: 0 auto;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-contactForm__lede {
    font-size: clamp(0.6770833333rem, 0rem + 3.3854166667vw, 1.625rem);
    text-align: left;
  }
}
.p-contactForm__lede a {
  color: #0075C1;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.p-contactForm__body {
  max-width: 860px;
  margin: clamp(21.9428571429px, 0px + 2.8571428571vw, 40px) auto 0;
}
@media screen and (max-width: 767px) {
  .p-contactForm__body {
    margin-top: clamp(26.6666666667px, 0px + 8.3333333333vw, 64px);
  }
}
.p-contactForm__body .wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: 22px;
}
@media screen and (max-width: 767px) {
  .p-contactForm__body .wpcf7-form {
    gap: clamp(18.3333333333px, 0px + 5.7291666667vw, 44px);
  }
}
.p-contactForm__field {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 18px;
  align-items: center;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .p-contactForm__field {
    grid-template-columns: 1fr;
    gap: clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
    align-items: start;
  }
}
.p-contactForm__field--top {
  align-items: start;
}
.p-contactForm__field--top .p-contactForm__label {
  padding-top: 12px;
}
@media screen and (max-width: 767px) {
  .p-contactForm__field--top .p-contactForm__label {
    padding-top: 0;
  }
}
.p-contactForm__label {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  font-weight: 700;
  color: #141420;
  letter-spacing: 0.04em;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-contactForm__label {
    font-size: clamp(0.6770833333rem, 0rem + 3.3854166667vw, 1.625rem);
  }
}
.p-contactForm__req {
  color: #C0292B;
  font-weight: 700;
}
.p-contactForm__col {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.p-contactForm__help {
  font-size: 0.6875rem;
  color: #707080;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-contactForm__help {
    font-size: clamp(0.5729166667rem, 0rem + 2.8645833333vw, 1.375rem);
  }
}
.p-contactForm .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}
.p-contactForm input[type=text],
.p-contactForm input[type=email],
.p-contactForm input[type=tel],
.p-contactForm select,
.p-contactForm textarea {
  width: 100%;
  font-family: inherit;
  font-size: 0.875rem;
  color: #141420;
  background: #FFF;
  border: 1px solid #E6EAF2;
  border-radius: 6px;
  padding: 12px 14px;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .p-contactForm input[type=text],
  .p-contactForm input[type=email],
  .p-contactForm input[type=tel],
  .p-contactForm select,
  .p-contactForm textarea {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
    padding: clamp(9.1666666667px, 0px + 2.8645833333vw, 22px) clamp(10.8333333333px, 0px + 3.3854166667vw, 26px);
  }
}
.p-contactForm input[type=text]:focus,
.p-contactForm input[type=email]:focus,
.p-contactForm input[type=tel]:focus,
.p-contactForm select:focus,
.p-contactForm textarea:focus {
  outline: none;
  border-color: #0075C1;
  box-shadow: 0 0 0 3px rgba(0, 117, 193, 0.12);
}
.p-contactForm input[type=text]::placeholder,
.p-contactForm input[type=email]::placeholder,
.p-contactForm input[type=tel]::placeholder,
.p-contactForm select::placeholder,
.p-contactForm textarea::placeholder {
  color: #9AA6BD;
}
.p-contactForm textarea {
  resize: vertical;
  line-height: 1.7;
}
.p-contactForm__radioRow .wpcf7-radio {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  padding: 4px 0;
}
@media screen and (max-width: 767px) {
  .p-contactForm__radioRow .wpcf7-radio {
    gap: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
  }
}
.p-contactForm__radioRow .wpcf7-list-item {
  margin: 0;
}
.p-contactForm__radioRow .wpcf7-list-item label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.875rem;
  color: #141420;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .p-contactForm__radioRow .wpcf7-list-item label {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-contactForm__radioRow input {
  appearance: auto;
  -webkit-appearance: radio;
  width: 16px;
  height: 16px;
  accent-color: #0075C1;
  flex-shrink: 0;
}
.p-contactForm__prodPick {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px 32px;
  border: 1px solid #E6EAF2;
  border-radius: 6px;
  padding: 22px 26px;
  background: #FFF;
}
@media screen and (max-width: 767px) {
  .p-contactForm__prodPick {
    grid-template-columns: 1fr;
    gap: clamp(15px, 0px + 4.6875vw, 36px);
    padding: clamp(16.6666666667px, 0px + 5.2083333333vw, 40px) clamp(18.3333333333px, 0px + 5.7291666667vw, 44px);
  }
}
.p-contactForm__pickGroup {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.p-contactForm__pickGroup .wpcf7-checkbox {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.p-contactForm__pickGroup .wpcf7-list-item {
  margin: 0;
}
.p-contactForm__pickGroup .wpcf7-list-item label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.8125rem;
  color: #141420;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .p-contactForm__pickGroup .wpcf7-list-item label {
    font-size: clamp(0.6770833333rem, 0rem + 3.3854166667vw, 1.625rem);
  }
}
.p-contactForm__pickGroup input {
  appearance: auto;
  -webkit-appearance: checkbox;
  width: 16px;
  height: 16px;
  accent-color: #0075C1;
  flex-shrink: 0;
}
.p-contactForm__pickCat {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: #0075C1;
  text-transform: uppercase;
  padding-bottom: 6px;
  border-bottom: 1px solid #E6EAF2;
  margin-bottom: 2px;
}
.p-contactForm__consent .wpcf7-acceptance .wpcf7-list-item {
  margin: 0;
}
.p-contactForm__consent .wpcf7-list-item label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 0.8125rem;
  color: #3a3a48;
  line-height: 1.7;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .p-contactForm__consent .wpcf7-list-item label {
    font-size: clamp(0.6770833333rem, 0rem + 3.3854166667vw, 1.625rem);
  }
}
.p-contactForm__consent input {
  appearance: auto;
  -webkit-appearance: checkbox;
  margin-top: 3px;
  width: 16px;
  height: 16px;
  accent-color: #0075C1;
  flex-shrink: 0;
}
.p-contactForm__consent a {
  color: #0075C1;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.p-contactForm__actions {
  margin-top: 8px;
  text-align: center;
}
.p-contactForm__submit {
  background: #0075C1;
  color: #FFF;
  border: 0;
  height: 50px;
  padding: 0 40px;
  border-radius: 4px;
  font-family: inherit;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  cursor: pointer;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .p-contactForm__submit {
    width: 100%;
    height: clamp(41.6666666667px, 0px + 13.0208333333vw, 100px);
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
@media (hover: hover) {
  .p-contactForm__submit:hover {
    background: #005d9b;
  }
}
.p-contactForm .wpcf7-not-valid-tip {
  color: #C0292B;
  font-size: 0.75rem;
  margin-top: 6px;
}
.p-contactForm .wpcf7-response-output {
  margin: 16px 0 0;
  padding: 12px 16px;
  border-radius: 6px;
  font-size: 0.8125rem;
  line-height: 1.7;
}

/*----------▲▲ contact-form ▲▲----------*/
/*----------▼▼ repair-supplies ▼▼----------*/
.p-repairSupplies {
  padding: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px) 0 clamp(52.6628571429px, 0px + 6.8571428571vw, 96px);
}
.p-repairSupplies .l-inner {
  max-width: 1000px;
}

/*----------▲▲ repair-supplies ▲▲----------*/
/*----------▼▼ related ▼▼----------*/
.p-related {
  padding: clamp(65.8285714286px, 0px + 8.5714285714vw, 120px) 0 clamp(52.6628571429px, 0px + 6.8571428571vw, 96px);
  background: #FFF;
}
.p-related__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 7vw;
}

.p-relatedSection {
  margin-bottom: clamp(30.72px, 0px + 4vw, 56px);
}
.p-relatedSection:last-child {
  margin-bottom: 0;
}
.p-relatedSection__head {
  display: flex;
  align-items: baseline;
  gap: 18px;
  margin: 0 0 28px;
}
.p-relatedSection__title {
  font-size: 1.75rem;
  font-weight: 700;
  color: #141420;
  margin: 0;
  line-height: 1.3;
  letter-spacing: 0.02em;
}
.p-relatedSection__group {
  margin-bottom: clamp(21.9428571429px, 0px + 2.8571428571vw, 40px);
}
.p-relatedSection__group:last-child {
  margin-bottom: 0;
}
.p-relatedSection__subTitle {
  font-size: 1.25rem;
  font-weight: 700;
  color: #141420;
  margin: 0 0 16px;
  line-height: 1.3;
  letter-spacing: 0.02em;
}

.p-relatedTable {
  width: 100%;
  border-collapse: collapse;
}
.p-relatedTable tr {
  border-bottom: 1px solid #E6EAF2;
}
.p-relatedTable tr:first-child {
  border-top: 1px solid #E6EAF2;
}
.p-relatedTable tr:nth-child(even) {
  background: #F0F2F8;
}
.p-relatedTable th {
  text-align: left;
  vertical-align: middle;
  padding: 14px 24px;
  width: 46%;
  font-size: 0.875rem;
  font-weight: 500;
  color: #141420;
  letter-spacing: 0.02em;
  height: 48px;
}
.p-relatedTable td {
  padding: 14px 24px;
  height: 48px;
}
.p-relatedTable td a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #0075C1;
  font-size: 0.8125rem;
  text-decoration: none;
  letter-spacing: 0.02em;
  word-break: break-all;
}
@media (hover: hover) {
  .p-relatedTable td a:hover {
    text-decoration: underline;
  }
}
.p-relatedTable__extIc {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
  color: #0075C1;
}

/*----------▲▲ related ▲▲----------*/
/*----------▼▼ health ▼▼----------*/
.p-health {
  padding: clamp(65.8285714286px, 0px + 8.5714285714vw, 120px) 0 clamp(52.6628571429px, 0px + 6.8571428571vw, 96px);
  background: #FFF;
}
.p-health__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 7vw;
}

.p-healthSection {
  margin-bottom: clamp(52.6628571429px, 0px + 6.8571428571vw, 96px);
}
.p-healthSection:last-child {
  margin-bottom: 0;
}
.p-healthSection__head {
  display: flex;
  align-items: baseline;
  gap: 18px;
  margin: 0 0 32px;
  padding-bottom: 16px;
  border-bottom: 1px solid #E6EAF2;
}
.p-healthSection__title {
  font-size: 1.75rem;
  font-weight: 700;
  color: #141420;
  margin: 0;
  line-height: 1.3;
  letter-spacing: 0.02em;
}

.p-healthDecl {
  background: #FFF;
  color: #141420;
  border: 1px solid #E6EAF2;
  border-radius: 8px;
  padding: 44px 48px;
  position: relative;
  overflow: hidden;
}
.p-healthDecl__title {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin: 0 0 20px;
  position: relative;
  color: #141420;
}
.p-healthDecl__lead {
  font-size: 0.875rem;
  line-height: 2.1;
  color: #3a3a48;
  margin: 0;
  letter-spacing: 0.02em;
  position: relative;
  max-width: 840px;
}
.p-healthDecl__list {
  counter-reset: healthDecl;
  list-style: none;
  margin: 28px 0 0;
  padding: 0;
  position: relative;
}
.p-healthDecl__item {
  counter-increment: healthDecl;
  position: relative;
  padding-left: 44px;
  font-size: 0.9375rem;
  line-height: 1.9;
  color: #141420;
  letter-spacing: 0.02em;
}
.p-healthDecl__item:not(:last-child) {
  margin-bottom: 18px;
}
.p-healthDecl__item::before {
  content: counter(healthDecl, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 0.15em;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.8125rem;
  font-weight: 700;
  color: #FFF;
  background: #0075C1;
  border-radius: 50%;
  line-height: 1;
}
.p-healthDecl__subList {
  list-style: none;
  margin: 14px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.p-healthDecl__subItem {
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #3a3a48;
  letter-spacing: 0.02em;
  padding: 6px 14px;
  background: #F5F7FD;
  border: 1px solid #E6EAF2;
  border-radius: 999px;
}
.p-healthDecl__sign {
  margin-top: 36px;
  text-align: right;
  position: relative;
}
.p-healthDecl__company {
  font-size: 0.8125rem;
  color: #6b6b72;
  letter-spacing: 0.06em;
  display: block;
  margin-bottom: 8px;
}
.p-healthDecl__name {
  font-family: "Noto Serif JP", serif, "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝";
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #141420;
}
.p-healthDecl__role {
  font-size: 0.8125rem;
  letter-spacing: 0.06em;
  margin-right: 14px;
}

.p-healthAward {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 48px;
  align-items: center;
  background: #F5F7FD;
  border: 1px solid #E6EAF2;
  border-radius: 8px;
  padding: 40px 44px;
}
.p-healthAward__logoWrap {
  background: #FFF;
  border: 1px solid #E6EAF2;
  border-radius: 8px;
  padding: 28px 32px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-healthAward__logoWrap img {
  width: 300px;
  max-width: 100%;
  height: auto;
  display: block;
}
.p-healthAward__body {
  font-size: 0.875rem;
  line-height: 2.05;
  color: #3a3a48;
  margin: 0;
  letter-spacing: 0.02em;
}
.p-healthAward__body b {
  color: #0075C1;
  font-weight: 700;
}

/*----------▲▲ health ▲▲----------*/
/*----------▼▼ surface-analysis ▼▼----------*/
.p-saInsight {
  padding: clamp(43.8857142857px, 0px + 5.7142857143vw, 80px) 0 clamp(35.1085714286px, 0px + 4.5714285714vw, 64px);
  background: #FFF;
}
.p-saInsight__head {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: clamp(17.5542857143px, 0px + 2.2857142857vw, 32px);
}
.p-saInsight__en {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  letter-spacing: 0.25em;
  color: #0075C1;
  font-weight: 600;
  text-transform: uppercase;
}
.p-saInsight__rule {
  width: 48px;
  height: 2px;
  background: #0075C1;
  margin-top: 10px;
}
.p-saInsight__feature {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  border: 1px solid #E6EAF2;
  border-radius: 8px;
  overflow: hidden;
  text-decoration: none;
  color: #141420;
  transition: all 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
}
@media (hover: hover) {
  .p-saInsight__feature:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 38px -20px rgba(20, 20, 32, 0.22);
    border-color: #cdd6e6;
    opacity: 1;
  }
}
.p-saInsight__featureImg {
  min-height: 280px;
  overflow: hidden;
}
.p-saInsight__featureImg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.p-saInsight__featureBody {
  padding: clamp(24.1371428571px, 0px + 3.1428571429vw, 44px) clamp(26.3314285714px, 0px + 3.4285714286vw, 48px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 14px;
}
.p-saInsight__featureLabel {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.6875rem;
  letter-spacing: 0.2em;
  color: #0075C1;
  font-weight: 700;
  text-transform: uppercase;
}
.p-saInsight__featureTit {
  font-size: 1.5rem;
  font-weight: 700;
  color: #141420;
  line-height: 1.5;
  margin: 0;
  letter-spacing: 0.02em;
}
.p-saInsight__featureTit em {
  font-style: italic;
}
.p-saInsight__featureMore {
  color: #0075C1;
  font-size: 0.8125rem;
  font-weight: 700;
  margin-top: 6px;
}

.p-saAbout {
  padding: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px) 0;
  background: #F5F7FD;
}
.p-saAbout__head {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: clamp(17.5542857143px, 0px + 2.2857142857vw, 32px);
}
.p-saAbout__en {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  letter-spacing: 0.25em;
  color: #0075C1;
  font-weight: 600;
  text-transform: uppercase;
}
.p-saAbout__ja {
  font-size: 1.75rem;
  font-weight: 700;
  color: #141420;
  margin: 6px 0 0;
  letter-spacing: 0.02em;
  line-height: 1.3;
}
.p-saAbout__rule {
  width: 48px;
  height: 2px;
  background: #0075C1;
  margin-top: 10px;
}
.p-saAbout__grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px;
}
.p-saAbout__card {
  background: #FFF;
  border: 1px solid #E6EAF2;
  border-radius: 8px;
  overflow: hidden;
  text-decoration: none;
  color: #141420;
  display: flex;
  flex-direction: column;
  transition: all 0.25s ease;
}
@media (hover: hover) {
  .p-saAbout__card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px -18px rgba(20, 20, 32, 0.2);
    border-color: #cdd6e6;
    opacity: 1;
  }
}
.p-saAbout__cardImg {
  aspect-ratio: 4/3;
  overflow: hidden;
  background: #F5F7FD;
}
.p-saAbout__cardImg img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  padding: 16px;
}
.p-saAbout__cardBody {
  padding: 18px 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.p-saAbout__cardTit {
  font-size: 0.9375rem;
  font-weight: 700;
  color: #141420;
  text-align: center;
  margin: 0;
  line-height: 1.5;
}

.p-saTopics {
  padding: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px) 0;
  background: #FFF;
}
.p-saTopics__head {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: clamp(17.5542857143px, 0px + 2.2857142857vw, 32px);
}
.p-saTopics__en {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  letter-spacing: 0.25em;
  color: #0075C1;
  font-weight: 600;
  text-transform: uppercase;
}
.p-saTopics__ja {
  font-size: 1.75rem;
  font-weight: 700;
  color: #141420;
  margin: 6px 0 0;
  letter-spacing: 0.02em;
  line-height: 1.3;
}
.p-saTopics__rule {
  width: 48px;
  height: 2px;
  background: #0075C1;
  margin-top: 10px;
}
.p-saTopics__sub {
  font-size: 0.875rem;
  color: #707080;
  margin: 0 0 clamp(15.36px, 0px + 2vw, 28px);
  line-height: 1.8;
}
.p-saTopics__list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.p-saTopics__foot {
  display: flex;
  justify-content: center;
  margin-top: clamp(21.9428571429px, 0px + 2.8571428571vw, 40px);
}
.p-saTopics__moreLink {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #141420;
  text-decoration: none;
  border: 1px solid #141420;
  padding: 14px 36px;
  border-radius: 2px;
  transition: all 0.2s ease;
}
@media (hover: hover) {
  .p-saTopics__moreLink:hover {
    background: #141420;
    color: #FFF;
    opacity: 1;
  }
}

.p-saTopicsCard {
  display: flex;
  background: #FFF;
  border: 1px solid #E6EAF2;
  border-radius: 8px;
  overflow: hidden;
  text-decoration: none;
  color: #141420;
  transition: all 0.25s ease;
}
@media (hover: hover) {
  .p-saTopicsCard:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px -18px rgba(20, 20, 32, 0.2);
    border-color: #cdd6e6;
    opacity: 1;
  }
}
.p-saTopicsCard__img {
  width: 320px;
  flex-shrink: 0;
  overflow: hidden;
  background: #E0E6F0;
  background-image: repeating-linear-gradient(135deg, rgba(20, 20, 32, 0.025) 0 1px, transparent 1px 14px);
}
.p-saTopicsCard__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.p-saTopicsCard__body {
  padding: 28px 32px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}
.p-saTopicsCard__meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.p-saTopicsCard__cat {
  background: #EDF3FF;
  color: #0075C1;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  padding: 3px 8px;
  border-radius: 2px;
  text-transform: uppercase;
}
.p-saTopicsCard__date {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.6875rem;
  color: #707080;
  letter-spacing: 0.06em;
}
.p-saTopicsCard__tit {
  font-size: 0.9375rem;
  font-weight: 700;
  color: #141420;
  line-height: 1.5;
  margin: 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}
.p-saTopicsCard__desc {
  font-size: 0.75rem;
  color: #3a3a48;
  line-height: 1.8;
  margin: 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.p-saTopicsCard__more {
  color: #0075C1;
  font-size: 0.75rem;
  font-weight: 600;
  margin-top: auto;
  padding-top: 4px;
}

.p-saApps {
  padding: clamp(48.2742857143px, 0px + 6.2857142857vw, 88px) 0;
  background: #0E1E35;
}
.p-saApps__title {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #FFF;
  margin: 0 0 clamp(17.5542857143px, 0px + 2.2857142857vw, 32px);
  line-height: 1;
}
.p-saApps__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.p-saAppsCard {
  background: #1A2B45;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 8px;
  padding: 32px 26px 36px;
  display: flex;
  flex-direction: column;
  gap: clamp(9.8742857143px, 0px + 1.2857142857vw, 18px);
  text-decoration: none;
  color: #FFF;
  min-height: 320px;
  transition: 0.25s;
}
@media (hover: hover) {
  .p-saAppsCard:hover {
    background: #0075C1;
    transform: translateY(-2px);
    box-shadow: 0 14px 30px -16px rgba(0, 117, 193, 0.55);
    opacity: 1;
  }
  .p-saAppsCard:hover .p-saAppsCard__icon {
    background: #FFF;
  }
}
.p-saAppsCard.is-viewAll {
  background: transparent;
  border: 2px solid #0075C1;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #0075C1;
}
@media (hover: hover) {
  .p-saAppsCard.is-viewAll:hover {
    background: #0075C1;
    color: #FFF;
  }
}
.p-saAppsCard__iconBox {
  width: 64px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-saAppsCard__icon {
  width: 48px;
  height: 48px;
  background: #FFF;
  display: block;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  transition: background 0.25s ease;
}
.p-saAppsCard__name {
  font-size: 1rem;
  font-weight: 700;
  color: #FFF;
}
.p-saAppsCard__nameEn {
  font-size: 0.6875rem;
  color: rgba(255, 255, 255, 0.55);
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-top: 4px;
}
.p-saAppsCard__desc {
  font-size: 0.8125rem;
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.7;
  margin: 0;
  font-weight: 400;
}
.p-saAppsCard__viewAllText {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  display: inline-flex;
  align-items: center;
  gap: 14px;
}
.p-saAppsCard__viewAllText svg {
  width: 20px;
  height: 20px;
}

/*----------▲▲ surface-analysis ▲▲----------*/
/*----------▼▼ insights ▼▼----------*/
.p-insArticle {
  padding: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px) 7vw clamp(43.8857142857px, 0px + 5.7142857143vw, 80px);
  background: #FFF;
}
.p-insArticle__inner {
  max-width: 1000px;
  margin: 0 auto;
}

.p-insArtHead {
  margin-bottom: clamp(17.5542857143px, 0px + 2.2857142857vw, 32px);
}
.p-insArtHead__meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}
.p-insArtHead__cat {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  padding: 5px 12px;
  border-radius: 3px;
  background: #0075C1;
  color: #FFF;
  text-transform: uppercase;
}
.p-insArtHead__date {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.8125rem;
  color: #707080;
  font-weight: 500;
  letter-spacing: 0.04em;
}
.p-insArtHead__title {
  font-size: 1.875rem;
  font-weight: 700;
  color: #141420;
  line-height: 1.5;
  letter-spacing: 0.01em;
  margin: 0;
}
.p-insArtHead__title i, .p-insArtHead__title em {
  font-style: italic;
}

.p-insEyecatch {
  margin-bottom: clamp(17.5542857143px, 0px + 2.2857142857vw, 32px);
}
.p-insEyecatch__img {
  aspect-ratio: 21/9;
  overflow: hidden;
  border-radius: 6px;
  background: #F5F7FD;
}
.p-insEyecatch__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.p-insEyecatch__cap {
  font-size: 0.6875rem;
  color: #707080;
  text-align: right;
  margin: 8px 0 0;
  letter-spacing: 0.04em;
}

.p-insArtBody {
  font-size: 0.875rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
}
.p-insArtBody p {
  margin: 0 0 22px;
}
.p-insArtBody h2 {
  font-size: 1.25rem;
  font-weight: 700;
  color: #141420;
  margin: clamp(26.3314285714px, 0px + 3.4285714286vw, 48px) 0 18px;
  letter-spacing: 0.04em;
  padding-bottom: 12px;
  border-bottom: 1px solid #E6EAF2;
  position: relative;
  line-height: 1.4;
}
.p-insArtBody h2::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 36px;
  height: 2px;
  background: #0075C1;
}
.p-insArtBody h3 {
  font-size: 0.9375rem;
  font-weight: 700;
  color: #141420;
  margin: 28px 0 10px;
  letter-spacing: 0.02em;
  line-height: 1.5;
}
.p-insArtBody ul,
.p-insArtBody ol {
  padding-left: 1.4em;
  margin: 0 0 22px;
}
.p-insArtBody li {
  margin-bottom: 6px;
}
.p-insArtBody a {
  color: #0075C1;
  text-decoration: underline;
  text-underline-offset: 3px;
}
@media (hover: hover) {
  .p-insArtBody a:hover {
    text-decoration-thickness: 2px;
    opacity: 1;
  }
}
.p-insArtBody__callout {
  background: #F5F7FD;
  border-left: 3px solid #0075C1;
  padding: 18px 22px;
  margin: 24px 0;
  font-size: 0.8125rem;
  line-height: 1.95;
  color: #3a3a48;
  border-radius: 0 4px 4px 0;
}
.p-insArtBody__callout b {
  color: #141420;
}

.p-insArtFoot {
  margin-top: clamp(26.3314285714px, 0px + 3.4285714286vw, 48px);
  padding-top: 32px;
  border-top: 1px solid #E6EAF2;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}
.p-insArtFoot__back {
  color: #0075C1;
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
  letter-spacing: 0.02em;
  transition: color 0.2s ease;
}
@media (hover: hover) {
  .p-insArtFoot__back:hover {
    color: #005d9b;
    opacity: 1;
  }
}
.p-insArtFoot__share {
  display: flex;
  align-items: center;
  gap: 10px;
}
.p-insArtFoot__shareLbl {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.6875rem;
  letter-spacing: 0.15em;
  color: #707080;
  text-transform: uppercase;
  font-weight: 600;
}
.p-insArtFoot__shareLink {
  width: 36px;
  height: 36px;
  border: 1px solid #E6EAF2;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #141420;
  text-decoration: none;
  transition: all 0.2s ease;
}
.p-insArtFoot__shareLink svg {
  width: 14px;
  height: 14px;
}
@media (hover: hover) {
  .p-insArtFoot__shareLink:hover {
    background: #0075C1;
    border-color: #0075C1;
    color: #FFF;
    opacity: 1;
  }
}

/*----------▲▲ insights ▲▲----------*/
/*----------▼▼ surface ▼▼----------*/
.p-surfaceArticle {
  padding: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px) 7vw clamp(43.8857142857px, 0px + 5.7142857143vw, 80px);
  background: #FFF;
}
.p-surfaceArticle__inner {
  max-width: 1000px;
  margin: 0 auto;
}

.p-surfaceArtHead {
  margin-bottom: clamp(17.5542857143px, 0px + 2.2857142857vw, 32px);
}
.p-surfaceArtHead__title {
  font-size: 1.875rem;
  font-weight: 700;
  color: #141420;
  line-height: 1.5;
  letter-spacing: 0.01em;
  margin: 0;
}

.p-surfaceArtBody {
  font-size: 0.875rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
}
.p-surfaceArtBody p {
  margin: 0 0 22px;
}
.p-surfaceArtBody h3 {
  font-size: 1.25rem;
  font-weight: 700;
  color: #141420;
  margin: clamp(26.3314285714px, 0px + 3.4285714286vw, 48px) 0 18px;
  letter-spacing: 0.04em;
  padding-bottom: 12px;
  border-bottom: 1px solid #E6EAF2;
  position: relative;
  line-height: 1.4;
}
.p-surfaceArtBody h3::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 36px;
  height: 2px;
  background: #0075C1;
}
.p-surfaceArtBody ul,
.p-surfaceArtBody ol {
  padding-left: 1.4em;
  margin: 0 0 22px;
}
.p-surfaceArtBody li {
  margin-bottom: 6px;
}
.p-surfaceArtBody ul li::marker {
  color: #0075C1;
}
.p-surfaceArtBody ol li::marker {
  color: #0075C1;
  font-weight: 700;
}
.p-surfaceArtBody__eyecatch {
  margin: 0 0 32px;
}
.p-surfaceArtBody__eyecatchImg {
  aspect-ratio: 21/9;
  background: #F5F7FD;
  border-radius: 6px;
}
.p-surfaceArtBody__eyecatchImg:has(img) {
  aspect-ratio: auto;
  background: transparent;
}
.p-surfaceArtBody__eyecatchImg img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 6px;
}
.p-surfaceArtBody__figure {
  margin: 24px 0 28px;
}
.p-surfaceArtBody__figureImg {
  aspect-ratio: 16/9;
  background: #F5F7FD;
  border-radius: 6px;
}
.p-surfaceArtBody__figureImg:has(img) {
  aspect-ratio: auto;
  background: transparent;
  text-align: center;
}
.p-surfaceArtBody__figureImg img {
  display: inline-block;
  max-width: min(100%, 35rem);
  height: auto;
  border-radius: 6px;
}
.p-surfaceArtBody__figureCap {
  font-size: 0.6875rem;
  color: #707080;
  text-align: center;
  margin-top: 8px;
  letter-spacing: 0.04em;
}
.p-surfaceArtBody__movie {
  margin: 24px 0 28px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-surfaceArtBody__movie {
    margin: clamp(20px, 0px + 6.25vw, 48px) 0 clamp(23.3333333333px, 0px + 7.2916666667vw, 56px);
  }
}
.p-surfaceArtBody__movie video {
  display: inline-block;
  width: 598px;
  max-width: 100%;
  height: auto;
  border-radius: 6px;
}
.p-surfaceArtBody__cols {
  display: grid;
  grid-template-columns: 1fr 320px;
  align-items: center;
  gap: 32px;
  margin: 24px 0 28px;
}
@media screen and (max-width: 767px) {
  .p-surfaceArtBody__cols {
    grid-template-columns: 1fr;
    gap: clamp(13.3333333333px, 0px + 4.1666666667vw, 32px);
    margin: clamp(20px, 0px + 6.25vw, 48px) 0 clamp(23.3333333333px, 0px + 7.2916666667vw, 56px);
  }
}
.p-surfaceArtBody__cols p {
  margin: 0;
}
.p-surfaceArtBody__colsText {
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p-surfaceArtBody__colsFig {
    justify-self: center;
  }
}
.p-surfaceArtBody__colsFig img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 6px;
}

.p-surfaceArtBody h3.is-noRule {
  border-bottom: 0;
  padding-bottom: 0;
}
.p-surfaceArtBody h3.is-noRule::before {
  display: none;
}
.p-surfaceArtBody__figGrid {
  display: grid;
  gap: 16px;
  max-width: 45rem;
  margin: 24px auto 28px;
}
.p-surfaceArtBody__figGrid.is-two {
  display: flex;
  align-items: flex-start;
  justify-content: center;
}
.p-surfaceArtBody__figGrid.is-two > * {
  flex: 0 1 auto;
  min-width: 0;
}
.p-surfaceArtBody__figGrid.is-two > .p-surfaceArtBody__figGridImg img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: var(--figH, none);
}
.p-surfaceArtBody__figGrid.is-three {
  grid-template-columns: repeat(3, 1fr);
}
.p-surfaceArtBody__figGrid.is-four {
  grid-template-columns: repeat(4, 1fr);
}
@media screen and (max-width: 767px) {
  .p-surfaceArtBody__figGrid.is-four {
    grid-template-columns: repeat(2, 1fr);
  }
}
.p-surfaceArtBody__figGrid.is-triangle {
  grid-template-columns: repeat(2, 1fr);
}
.p-surfaceArtBody__figGrid.is-triangle > :first-child {
  grid-column: 1/-1;
  justify-self: center;
  width: calc(50% - 8px);
}
.p-surfaceArtBody__figGridImg {
  aspect-ratio: 4/3;
  background: #F5F7FD;
  border-radius: 6px;
}
.p-surfaceArtBody__figGridImg:has(img) {
  aspect-ratio: auto;
  background: transparent;
}
.p-surfaceArtBody__figGridImg img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 6px;
}
.p-surfaceArtBody__figStack {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.p-surfaceArtBody__relGrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 18px;
}
.p-surfaceArtBody__relGrid.is-single {
  grid-template-columns: 1fr 1fr;
}
@media screen and (max-width: 767px) {
  .p-surfaceArtBody__relGrid.is-single {
    grid-template-columns: 1fr;
  }
}
.p-surfaceArtBody__relCard {
  border: 1px solid #E6EAF2;
  border-radius: 8px;
  text-decoration: none;
  color: #141420;
  overflow: hidden;
  display: flex;
  flex-direction: row;
  min-height: 180px;
  transition: 0.3s;
}
@media (hover: hover) {
  .p-surfaceArtBody__relCard:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px -18px rgba(20, 20, 32, 0.2);
    border-color: #cdd6e6;
  }
}
.p-surfaceArtBody__relCardThumb {
  width: 50%;
  flex-shrink: 0;
  background: linear-gradient(135deg, #FAFBFE 0%, #EDF1F8 100%);
  border-right: 1px solid #E6EAF2;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
}
.p-surfaceArtBody__relCardThumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-surfaceArtBody__relCardBody {
  flex: 1;
  padding: 22px 26px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
}
.p-surfaceArtBody__relCardTag {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
  font-weight: 700;
  color: #0075C1;
  letter-spacing: 0.12em;
  background: #EDF3FF;
  padding: 3px 8px;
  border-radius: 2px;
  align-self: flex-start;
}
.p-surfaceArtBody__relCardName {
  font-size: 1.25rem;
  font-weight: 700;
  color: #141420;
  margin: 6px 0 2px;
}
.p-surfaceArtBody__relCardFull {
  font-size: 0.75rem;
  color: #707080;
  line-height: 1.65;
  margin: 0;
}

.p-surfaceMethodGrid {
  margin: 24px 0 28px;
}
@media screen and (max-width: 767px) {
  .p-surfaceMethodGrid {
    margin: clamp(20px, 0px + 6.25vw, 48px) 0 clamp(23.3333333333px, 0px + 7.2916666667vw, 56px);
  }
}
.p-surfaceMethodGrid__caps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 12px;
}
@media screen and (max-width: 767px) {
  .p-surfaceMethodGrid__caps {
    gap: clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
    margin-bottom: clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
  }
}
.p-surfaceMethodGrid__cap {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.4;
  color: #141420;
  padding: 8px 6px;
  border: 1px solid #E0E6F0;
  border-radius: 4px;
}
@media screen and (max-width: 767px) {
  .p-surfaceMethodGrid__cap {
    font-size: clamp(0.5729166667rem, 0rem + 2.8645833333vw, 1.375rem);
    padding: clamp(5px, 0px + 1.5625vw, 12px) clamp(3.3333333333px, 0px + 1.0416666667vw, 8px);
  }
}
.p-surfaceMethodGrid__cap.is-empty {
  border: 0;
}
.p-surfaceMethodGrid__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  list-style: none;
  padding: 0;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .p-surfaceMethodGrid__list {
    gap: clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
  }
}
.p-surfaceMethodGrid__item {
  margin: 0;
}
.p-surfaceMethodGrid__item img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 4px;
}

/*----------▲▲ surface ▲▲----------*/
/*----------▼▼ phi-elite ▼▼----------*/
.p-phiElite {
  padding: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px) 0 clamp(52.6628571429px, 0px + 6.8571428571vw, 96px);
  background: #FFF;
}
.p-phiElite__card {
  max-width: 760px;
  margin: 0 auto;
  background: #F5F7FD;
  border: 1px solid #E6EAF2;
  border-radius: 8px;
  padding: clamp(26.3314285714px, 0px + 3.4285714286vw, 48px) clamp(30.72px, 0px + 4vw, 56px);
}
.p-phiElite__para {
  margin-bottom: 28px;
}
.p-phiElite__en {
  display: block;
  font-size: 0.875rem;
  line-height: 1.85;
  color: #141420;
  font-weight: 500;
  letter-spacing: 0.01em;
}
.p-phiElite__ja {
  display: block;
  font-size: 0.8125rem;
  line-height: 1.95;
  color: #141420;
  margin-top: 8px;
}
.p-phiElite h2 {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.125rem;
  font-weight: 700;
  color: #141420;
  margin: 36px 0 12px;
  letter-spacing: 0.02em;
}
.p-phiElite a:not(.p-phiElite__btn) {
  color: #0075C1;
  text-decoration: underline;
  text-underline-offset: 3px;
}
@media (hover: hover) {
  .p-phiElite a:not(.p-phiElite__btn):hover {
    text-decoration-thickness: 2px;
    opacity: 1;
  }
}
.p-phiElite__note {
  background: #FFF;
  border: 1px solid #E6EAF2;
  border-radius: 6px;
  padding: 1.25rem 1.5rem;
  margin: 32px 0 0;
}
.p-phiElite__noteTtl {
  font-size: 0.875rem;
  font-weight: 700;
  color: #141420;
  margin: 0 0 4px;
}
.p-phiElite__noteJa {
  font-size: 0.8125rem;
  color: #141420;
  margin: 0;
}
.p-phiElite__btnWrap {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}
.p-phiElite__btn {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  background: #0075C1;
  color: #FFF;
  font-size: 0.8125rem;
  font-weight: 600;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  letter-spacing: 0.04em;
  padding: 18px 28px;
  border-radius: 4px;
  text-decoration: none;
  transition: 0.2s;
}
@media (hover: hover) {
  .p-phiElite__btn:hover {
    opacity: 1;
    box-shadow: 0 8px 24px -8px rgba(0, 117, 193, 0.55);
    transform: translateY(-2px);
  }
}
.p-phiElite__btnArrow {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

/*----------▲▲ phi-elite ▲▲----------*/
/*----------▼▼ sustainability ▼▼----------*/
.p-sustainabilityIntro {
  max-width: 1400px;
  margin: 0 auto;
  padding: clamp(52.6628571429px, 0px + 6.8571428571vw, 96px) 7vw clamp(43.8857142857px, 0px + 5.7142857143vw, 80px);
  background: #FFF;
}
.p-sustainabilityIntro__grid {
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px);
  align-items: start;
}
.p-sustainabilityIntro__head {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.p-sustainabilityIntro__en {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: #0075C1;
}
.p-sustainabilityIntro__title {
  margin: 0;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.02em;
  color: #141420;
}
.p-sustainabilityIntro__rule {
  width: 48px;
  height: 2px;
  margin-top: 8px;
  background: #0075C1;
}
.p-sustainabilityIntro__body {
  padding-top: 8px;
}
.p-sustainabilityIntro__text {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 2;
  letter-spacing: 0.02em;
  color: #3a3a48;
}

/*----------▲▲ sustainability ▲▲----------*/
/*----------▼▼ compliance ▼▼----------*/
.p-compliance {
  padding: clamp(65.8285714286px, 0px + 8.5714285714vw, 120px) 7vw clamp(52.6628571429px, 0px + 6.8571428571vw, 96px);
  background: #FFF;
}
.p-compliance__inner {
  max-width: 900px;
  margin: 0 auto;
  width: 100%;
}
.p-compliance__lead {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 2;
  letter-spacing: 0.02em;
  color: #3a3a48;
}

.p-complianceSection {
  margin-bottom: clamp(52.6628571429px, 0px + 6.8571428571vw, 96px);
}
.p-complianceSection:last-child {
  margin-bottom: 0;
}
.p-complianceSection__head {
  display: flex;
  align-items: baseline;
  gap: 18px;
  margin: 0 0 32px;
  padding-bottom: 16px;
  border-bottom: 1px solid #E6EAF2;
}
.p-complianceSection__title {
  margin: 0;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.02em;
  color: #141420;
}

.p-complianceCards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.p-complianceCard {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 28px 30px;
  background: #F5F7FD;
  border: 1px solid #E6EAF2;
  border-radius: 8px;
}
.p-complianceCard__org {
  padding-bottom: 14px;
  border-bottom: 1px solid #E6EAF2;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.02em;
  color: #141420;
}
.p-complianceCard__row {
  display: grid;
  grid-template-columns: 64px 1fr;
  align-items: center;
  gap: 14px;
}
.p-complianceCard__key {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #707080;
}
.p-complianceCard__value {
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: #141420;
}

/*----------▲▲ compliance ▲▲----------*/
/*----------▼▼ ohs ▼▼----------*/
.p-ohs {
  padding: clamp(65.8285714286px, 0px + 8.5714285714vw, 120px) 7vw clamp(52.6628571429px, 0px + 6.8571428571vw, 96px);
  background: #FFF;
}
.p-ohs__inner {
  max-width: 900px;
  margin: 0 auto;
  width: 100%;
}
.p-ohs__lead {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 2;
  letter-spacing: 0.02em;
  color: #3a3a48;
}
.p-ohs__purpose {
  margin: 0 0 24px;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.02em;
  color: #141420;
}

.p-ohsSection {
  margin-bottom: clamp(52.6628571429px, 0px + 6.8571428571vw, 96px);
}
.p-ohsSection:last-child {
  margin-bottom: 0;
}
.p-ohsSection__head {
  display: flex;
  align-items: baseline;
  gap: 18px;
  margin: 0 0 32px;
  padding-bottom: 16px;
  border-bottom: 1px solid #E6EAF2;
}
.p-ohsSection__title {
  margin: 0;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.02em;
  color: #141420;
}

.p-ohsPolicyList {
  counter-reset: pol;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid #E6EAF2;
}
.p-ohsPolicyList__item {
  counter-increment: pol;
  position: relative;
  padding: 20px 20px 20px 56px;
  border-bottom: 1px solid #E6EAF2;
  font-size: 0.875rem;
  line-height: 1.9;
  letter-spacing: 0.02em;
  color: #3a3a48;
}
.p-ohsPolicyList__item::before {
  content: counter(pol);
  position: absolute;
  left: 20px;
  top: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #0075C1;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.75rem;
  font-weight: 700;
  color: #FFF;
}

/*----------▲▲ ohs ▲▲----------*/
/*----------▼▼ remote-support ▼▼----------*/
.p-remoteSupport {
  padding: clamp(65.8285714286px, 0px + 8.5714285714vw, 120px) 7vw clamp(52.6628571429px, 0px + 6.8571428571vw, 96px);
  background: #FFF;
}
.p-remoteSupport__inner {
  max-width: 900px;
  margin: 0 auto;
  width: 100%;
}
.p-remoteSupport__lead {
  margin: 0 0 28px;
  font-size: 0.9375rem;
  line-height: 2;
  letter-spacing: 0.02em;
  color: #3a3a48;
}
.p-remoteSupport__banner {
  margin: 0;
}
.p-remoteSupport__banner img {
  max-width: 520px;
  width: 100%;
  height: auto;
  display: block;
  border-radius: 6px;
}
.p-remoteSupport__figure {
  margin: 8px 0 0;
}
.p-remoteSupport__figure img {
  max-width: 420px;
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid #E6EAF2;
  border-radius: 8px;
}
.p-remoteSupport__actions {
  margin-top: 24px;
}
.p-remoteSupport__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 48px;
  padding: 0 28px;
  background: #0075C1;
  border-radius: 4px;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #FFF;
  text-decoration: none;
  transition: 0.3s;
}
@media (hover: hover) {
  .p-remoteSupport__btn:hover {
    background: #005d9b;
  }
}

.p-remoteSupportSection {
  margin-bottom: clamp(52.6628571429px, 0px + 6.8571428571vw, 96px);
}
.p-remoteSupportSection:last-child {
  margin-bottom: 0;
}
.p-remoteSupportSection__head {
  display: flex;
  align-items: baseline;
  gap: 18px;
  margin: 0 0 32px;
  padding-bottom: 16px;
  border-bottom: 1px solid #E6EAF2;
}
.p-remoteSupportSection__title {
  margin: 0;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.02em;
  color: #141420;
}

.p-remoteSupportContact {
  padding: 32px 36px;
  background: #F5F7FD;
  border: 1px solid #E6EAF2;
  border-radius: 8px;
}
.p-remoteSupportContact__org {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #141420;
}
.p-remoteSupportContact__addr {
  margin-top: 6px;
  font-size: 0.8125rem;
  letter-spacing: 0.02em;
  color: #3a3a48;
}
.p-remoteSupportContact__rows {
  margin-top: 18px;
  padding-top: 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  border-top: 1px solid #E6EAF2;
}
.p-remoteSupportContact__row {
  display: grid;
  grid-template-columns: 90px 1fr;
  align-items: baseline;
  gap: 14px;
}
.p-remoteSupportContact__key {
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #707080;
}
.p-remoteSupportContact__value {
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: #141420;
}
.p-remoteSupportContact__value small {
  font-size: 0.75rem;
  font-weight: 400;
  color: #707080;
}

/*----------▲▲ remote-support ▲▲----------*/
/*----------▼▼ maintenance ▼▼----------*/
.p-supportMaintenance {
  padding: clamp(65.8285714286px, 0px + 8.5714285714vw, 120px) 7vw clamp(52.6628571429px, 0px + 6.8571428571vw, 96px);
  background: #FFF;
}
@media screen and (max-width: 767px) {
  .p-supportMaintenance {
    padding: clamp(66.6666666667px, 0px + 20.8333333333vw, 160px) 5vw clamp(66.6666666667px, 0px + 20.8333333333vw, 160px);
  }
}
.p-supportMaintenance__inner {
  max-width: 900px;
  width: 100%;
  margin: 0 auto;
}
.p-supportMaintenance__head {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 0 0 32px;
}
@media screen and (max-width: 767px) {
  .p-supportMaintenance__head {
    gap: clamp(10px, 0px + 3.125vw, 24px);
    margin: 0 0 clamp(20px, 0px + 6.25vw, 48px);
  }
}
.p-supportMaintenance__title {
  margin: 0;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.02em;
  color: #141420;
}
@media screen and (max-width: 767px) {
  .p-supportMaintenance__title {
    font-size: clamp(1.25rem, 0rem + 6.25vw, 3rem);
  }
}
.p-supportMaintenance__rule {
  width: 48px;
  height: 2px;
  background: #0075C1;
}
.p-supportMaintenance__lead {
  margin: 0 0 clamp(39.4971428571px, 0px + 5.1428571429vw, 72px);
  font-size: 0.9375rem;
  line-height: 2;
  letter-spacing: 0.02em;
  color: #3a3a48;
}
@media screen and (max-width: 767px) {
  .p-supportMaintenance__lead {
    margin: 0 0 clamp(40px, 0px + 12.5vw, 96px);
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-supportMaintenance__section {
  margin-bottom: clamp(43.8857142857px, 0px + 5.7142857143vw, 80px);
}
@media screen and (max-width: 767px) {
  .p-supportMaintenance__section {
    margin-bottom: clamp(46.6666666667px, 0px + 14.5833333333vw, 112px);
  }
}
.p-supportMaintenance__section:last-child {
  margin-bottom: 0;
}
.p-supportMaintenance__subTitle {
  margin: 0 0 24px;
  padding-bottom: 16px;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.02em;
  color: #141420;
  border-bottom: 1px solid #E6EAF2;
}
@media screen and (max-width: 767px) {
  .p-supportMaintenance__subTitle {
    margin: 0 0 clamp(16.6666666667px, 0px + 5.2083333333vw, 40px);
    padding-bottom: clamp(10px, 0px + 3.125vw, 24px);
    font-size: clamp(1.0416666667rem, 0rem + 5.2083333333vw, 2.5rem);
  }
}
.p-supportMaintenance__subTitle2 {
  margin: 40px 0 16px;
  padding-left: 14px;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.02em;
  color: #141420;
  border-left: 4px solid #0075C1;
}
@media screen and (max-width: 767px) {
  .p-supportMaintenance__subTitle2 {
    margin: clamp(26.6666666667px, 0px + 8.3333333333vw, 64px) 0 clamp(10px, 0px + 3.125vw, 24px);
    padding-left: clamp(8.3333333333px, 0px + 2.6041666667vw, 20px);
    font-size: clamp(0.8333333333rem, 0rem + 4.1666666667vw, 2rem);
  }
}
.p-supportMaintenance__desc {
  margin: 0 0 20px;
  font-size: 0.9375rem;
  line-height: 1.9;
  letter-spacing: 0.02em;
  color: #3a3a48;
}
@media screen and (max-width: 767px) {
  .p-supportMaintenance__desc {
    margin: 0 0 clamp(13.3333333333px, 0px + 4.1666666667vw, 32px);
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-supportMaintenance__table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #E6EAF2;
}
.p-supportMaintenance__table th,
.p-supportMaintenance__table td {
  padding: 18px 24px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.02em;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid #E6EAF2;
}
@media screen and (max-width: 767px) {
  .p-supportMaintenance__table th,
  .p-supportMaintenance__table td {
    display: block;
    padding: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px) clamp(13.3333333333px, 0px + 4.1666666667vw, 32px);
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-supportMaintenance__table th {
  width: 38%;
  font-weight: 700;
  color: #141420;
  background: #F5F7FD;
  border-right: 1px solid #E6EAF2;
}
@media screen and (max-width: 767px) {
  .p-supportMaintenance__table th {
    width: 100%;
    border-right: none;
    border-bottom: none;
  }
}
.p-supportMaintenance__table td {
  font-weight: 400;
  color: #3a3a48;
}
.p-supportMaintenance__table tr:last-child th,
.p-supportMaintenance__table tr:last-child td {
  border-bottom: none;
}
.p-supportMaintenance__table a {
  color: #0075C1;
  text-decoration: underline;
  transition: 0.3s;
}
@media (hover: hover) {
  .p-supportMaintenance__table a:hover {
    opacity: 0.7;
  }
}
.p-supportMaintenance__tableSingle {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #E6EAF2;
}
.p-supportMaintenance__tableSingle td {
  padding: 18px 24px;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.02em;
  color: #3a3a48;
  border-bottom: 1px solid #E6EAF2;
}
@media screen and (max-width: 767px) {
  .p-supportMaintenance__tableSingle td {
    padding: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px) clamp(13.3333333333px, 0px + 4.1666666667vw, 32px);
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-supportMaintenance__tableSingle tr:last-child td {
  border-bottom: none;
}
.p-supportMaintenance__tableSingle a {
  color: #0075C1;
  text-decoration: underline;
  transition: 0.3s;
}
@media (hover: hover) {
  .p-supportMaintenance__tableSingle a:hover {
    opacity: 0.7;
  }
}
.p-supportMaintenance__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.p-supportMaintenance__list li {
  position: relative;
  padding-left: 20px;
  font-size: 0.9375rem;
  line-height: 1.9;
  letter-spacing: 0.02em;
  color: #3a3a48;
}
@media screen and (max-width: 767px) {
  .p-supportMaintenance__list li {
    padding-left: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-supportMaintenance__list li::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 0.8em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #0075C1;
}
.p-supportMaintenance__list li + li {
  margin-top: 8px;
}
@media screen and (max-width: 767px) {
  .p-supportMaintenance__list li + li {
    margin-top: clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
  }
}
.p-supportMaintenance__list a {
  color: #0075C1;
  text-decoration: underline;
  transition: 0.3s;
}
@media (hover: hover) {
  .p-supportMaintenance__list a:hover {
    opacity: 0.7;
  }
}
.p-supportMaintenance__notes {
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}
@media screen and (max-width: 767px) {
  .p-supportMaintenance__notes {
    margin: clamp(10px, 0px + 3.125vw, 24px) 0 0;
  }
}
.p-supportMaintenance__notes li {
  font-size: 0.8125rem;
  line-height: 1.8;
  letter-spacing: 0.02em;
  color: #707080;
}
@media screen and (max-width: 767px) {
  .p-supportMaintenance__notes li {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
  }
}

.p-supportMaintenanceContact {
  padding: 32px 36px;
  background: #F5F7FD;
  border: 1px solid #E6EAF2;
  border-radius: 8px;
}
@media screen and (max-width: 767px) {
  .p-supportMaintenanceContact {
    padding: clamp(20px, 0px + 6.25vw, 48px) clamp(20px, 0px + 6.25vw, 48px);
  }
}
.p-supportMaintenanceContact__lead {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.02em;
  color: #141420;
}
@media screen and (max-width: 767px) {
  .p-supportMaintenanceContact__lead {
    font-size: clamp(0.78125rem, 0rem + 3.90625vw, 1.875rem);
  }
}
.p-supportMaintenanceContact__list {
  margin: 18px 0 0;
  padding: 18px 0 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
  border-top: 1px solid #E6EAF2;
}
@media screen and (max-width: 767px) {
  .p-supportMaintenanceContact__list {
    margin: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px) 0 0;
    padding: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px) 0 0;
    gap: clamp(6.6666666667px, 0px + 2.0833333333vw, 16px);
  }
}
.p-supportMaintenanceContact__list li {
  font-size: 0.9375rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
  color: #3a3a48;
}
@media screen and (max-width: 767px) {
  .p-supportMaintenanceContact__list li {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}

/*----------▲▲ maintenance ▲▲----------*/
/*----------▼▼ semiconductor ▼▼----------*/
.p-semiconductor {
  padding: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px) 7vw clamp(43.8857142857px, 0px + 5.7142857143vw, 80px);
  background: #FFF;
}
@media screen and (max-width: 767px) {
  .p-semiconductor {
    padding: clamp(33.3333333333px, 0px + 10.4166666667vw, 80px) 5vw clamp(50px, 0px + 15.625vw, 120px);
  }
}
.p-semiconductor__inner {
  max-width: 900px;
  margin: 0 auto;
}
.p-semiconductor__lead {
  font-size: 0.9375rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
  margin: 0 0 24px;
}
@media screen and (max-width: 767px) {
  .p-semiconductor__lead {
    font-size: clamp(0.78125rem, 0rem + 3.90625vw, 1.875rem);
  }
}
.p-semiconductor__body {
  font-size: 0.875rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-semiconductor__body {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-semiconductor__body p {
  margin: 0 0 22px;
}
.p-semiconductor__body a {
  color: #0075C1;
  text-decoration: underline;
  text-underline-offset: 3px;
}
@media (hover: hover) {
  .p-semiconductor__body a:hover {
    opacity: 0.7;
  }
}
.p-semiconductor__title {
  position: relative;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #141420;
  margin: 48px 0 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid #E6EAF2;
}
@media screen and (max-width: 767px) {
  .p-semiconductor__title {
    font-size: clamp(0.9895833333rem, 0rem + 4.9479166667vw, 2.375rem);
    margin: clamp(26.6666666667px, 0px + 8.3333333333vw, 64px) 0 clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
  }
}
.p-semiconductor__title::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 36px;
  height: 2px;
  background: #0075C1;
}
.p-semiconductor__figRow {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  max-width: 45rem;
  margin: 24px auto 28px;
}
@media screen and (max-width: 767px) {
  .p-semiconductor__figRow {
    grid-template-columns: 1fr;
    gap: clamp(16.6666666667px, 0px + 5.2083333333vw, 40px);
  }
}
.p-semiconductor__figRow .p-semiconductor__figure {
  margin: 0;
}
.p-semiconductor__figure {
  margin: 24px 0 28px;
}
.p-semiconductor__figure img {
  width: 100%;
  height: auto;
  display: block;
  background: #F5F7FD;
  border: 1px solid #E6EAF2;
  border-radius: 6px;
  max-width: 30rem;
  margin-inline: auto;
}
.p-semiconductor__cap {
  font-size: 0.75rem;
  line-height: 1.7;
  letter-spacing: 0.02em;
  color: #707080;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .p-semiconductor__cap {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
  }
}
.p-semiconductor__capNum {
  font-weight: 700;
  color: #141420;
  margin-right: 6px;
}

/*----------▲▲ semiconductor ▲▲----------*/
/*----------▼▼ magnetic-media ▼▼----------*/
.p-magneticMedia {
  padding: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px) 7vw clamp(43.8857142857px, 0px + 5.7142857143vw, 80px);
  background: #FFF;
}
@media screen and (max-width: 767px) {
  .p-magneticMedia {
    padding: clamp(33.3333333333px, 0px + 10.4166666667vw, 80px) 5vw clamp(50px, 0px + 15.625vw, 120px);
  }
}
.p-magneticMedia__inner {
  max-width: 900px;
  margin: 0 auto;
}
.p-magneticMedia__lead {
  font-size: 0.9375rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
  margin: 0 0 24px;
}
@media screen and (max-width: 767px) {
  .p-magneticMedia__lead {
    font-size: clamp(0.78125rem, 0rem + 3.90625vw, 1.875rem);
  }
}
.p-magneticMedia__body {
  font-size: 0.875rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-magneticMedia__body {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-magneticMedia__body p {
  margin: 0 0 22px;
}
.p-magneticMedia__title {
  position: relative;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #141420;
  margin: 48px 0 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid #E6EAF2;
}
@media screen and (max-width: 767px) {
  .p-magneticMedia__title {
    font-size: clamp(0.9895833333rem, 0rem + 4.9479166667vw, 2.375rem);
    margin: clamp(26.6666666667px, 0px + 8.3333333333vw, 64px) 0 clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
  }
}
.p-magneticMedia__title::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 36px;
  height: 2px;
  background: #0075C1;
}
.p-magneticMedia__figure {
  margin: 24px 0 28px;
}
.p-magneticMedia__figure img {
  width: 100%;
  height: auto;
  display: block;
  background: #F5F7FD;
  border: 1px solid #E6EAF2;
  border-radius: 6px;
  max-width: 30rem;
  margin-inline: auto;
}
.p-magneticMedia__cap {
  font-size: 0.75rem;
  line-height: 1.7;
  letter-spacing: 0.02em;
  color: #707080;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .p-magneticMedia__cap {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
  }
}
.p-magneticMedia__capNum {
  font-weight: 700;
  color: #141420;
  margin-right: 6px;
}

/*----------▲▲ magnetic-media ▲▲----------*/
/*----------▼▼ materials-research ▼▼----------*/
.p-materialsResearch {
  padding: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px) 7vw clamp(43.8857142857px, 0px + 5.7142857143vw, 80px);
  background: #FFF;
}
@media screen and (max-width: 767px) {
  .p-materialsResearch {
    padding: clamp(33.3333333333px, 0px + 10.4166666667vw, 80px) 5vw clamp(50px, 0px + 15.625vw, 120px);
  }
}
.p-materialsResearch__inner {
  max-width: 900px;
  margin: 0 auto;
}
.p-materialsResearch__lead {
  font-size: 0.9375rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
  margin: 0 0 24px;
}
@media screen and (max-width: 767px) {
  .p-materialsResearch__lead {
    font-size: clamp(0.78125rem, 0rem + 3.90625vw, 1.875rem);
  }
}
.p-materialsResearch__body {
  font-size: 0.875rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-materialsResearch__body {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-materialsResearch__body p {
  margin: 0 0 22px;
}
.p-materialsResearch__title {
  position: relative;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #141420;
  margin: 48px 0 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid #E6EAF2;
}
@media screen and (max-width: 767px) {
  .p-materialsResearch__title {
    font-size: clamp(0.9895833333rem, 0rem + 4.9479166667vw, 2.375rem);
    margin: clamp(26.6666666667px, 0px + 8.3333333333vw, 64px) 0 clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
  }
}
.p-materialsResearch__title::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 36px;
  height: 2px;
  background: #0075C1;
}
.p-materialsResearch__figRow {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  max-width: 45rem;
  margin: 24px auto 28px;
}
@media screen and (max-width: 767px) {
  .p-materialsResearch__figRow {
    grid-template-columns: 1fr;
    gap: clamp(16.6666666667px, 0px + 5.2083333333vw, 40px);
  }
}
.p-materialsResearch__figRow .p-materialsResearch__figure {
  margin: 0;
}
.p-materialsResearch__figure {
  margin: 24px 0 28px;
}
.p-materialsResearch__figure img {
  width: 100%;
  height: auto;
  display: block;
  background: #F5F7FD;
  border: 1px solid #E6EAF2;
  border-radius: 6px;
  max-width: 30rem;
  margin-inline: auto;
}
.p-materialsResearch__cap {
  font-size: 0.75rem;
  line-height: 1.7;
  letter-spacing: 0.02em;
  color: #707080;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .p-materialsResearch__cap {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
  }
}
.p-materialsResearch__capNum {
  font-weight: 700;
  color: #141420;
  margin-right: 6px;
}

/*----------▲▲ materials-research ▲▲----------*/
/*----------▼▼ polymer ▼▼----------*/
.p-polymer {
  padding: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px) 7vw clamp(43.8857142857px, 0px + 5.7142857143vw, 80px);
  background: #FFF;
}
@media screen and (max-width: 767px) {
  .p-polymer {
    padding: clamp(33.3333333333px, 0px + 10.4166666667vw, 80px) 5vw clamp(50px, 0px + 15.625vw, 120px);
  }
}
.p-polymer__inner {
  max-width: 900px;
  margin: 0 auto;
}
.p-polymer__lead {
  font-size: 0.9375rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
  margin: 0 0 24px;
}
@media screen and (max-width: 767px) {
  .p-polymer__lead {
    font-size: clamp(0.78125rem, 0rem + 3.90625vw, 1.875rem);
  }
}
.p-polymer__body {
  font-size: 0.875rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-polymer__body {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-polymer__body p {
  margin: 0 0 22px;
}
.p-polymer__title {
  position: relative;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #141420;
  margin: 48px 0 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid #E6EAF2;
}
@media screen and (max-width: 767px) {
  .p-polymer__title {
    font-size: clamp(0.9895833333rem, 0rem + 4.9479166667vw, 2.375rem);
    margin: clamp(26.6666666667px, 0px + 8.3333333333vw, 64px) 0 clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
  }
}
.p-polymer__title::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 36px;
  height: 2px;
  background: #0075C1;
}
.p-polymer__figure {
  margin: 24px 0 28px;
}
.p-polymer__figure img {
  width: 100%;
  height: auto;
  display: block;
  background: #F5F7FD;
  border: 1px solid #E6EAF2;
  border-radius: 6px;
  max-width: 30rem;
  margin-inline: auto;
}
.p-polymer__cap {
  font-size: 0.75rem;
  line-height: 1.7;
  letter-spacing: 0.02em;
  color: #707080;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .p-polymer__cap {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
  }
}
.p-polymer__capNum {
  font-weight: 700;
  color: #141420;
  margin-right: 6px;
}

/*----------▲▲ polymer ▲▲----------*/
/*----------▼▼ thin-films-and-coatings ▼▼----------*/
.p-thinFilms {
  padding: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px) 7vw clamp(43.8857142857px, 0px + 5.7142857143vw, 80px);
  background: #FFF;
}
@media screen and (max-width: 767px) {
  .p-thinFilms {
    padding: clamp(33.3333333333px, 0px + 10.4166666667vw, 80px) 5vw clamp(50px, 0px + 15.625vw, 120px);
  }
}
.p-thinFilms__inner {
  max-width: 900px;
  margin: 0 auto;
}
.p-thinFilms__lead {
  font-size: 0.9375rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
  margin: 0 0 24px;
}
@media screen and (max-width: 767px) {
  .p-thinFilms__lead {
    font-size: clamp(0.78125rem, 0rem + 3.90625vw, 1.875rem);
  }
}
.p-thinFilms__body {
  font-size: 0.875rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-thinFilms__body {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-thinFilms__body p {
  margin: 0 0 22px;
}
.p-thinFilms__title {
  position: relative;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #141420;
  margin: 48px 0 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid #E6EAF2;
}
@media screen and (max-width: 767px) {
  .p-thinFilms__title {
    font-size: clamp(0.9895833333rem, 0rem + 4.9479166667vw, 2.375rem);
    margin: clamp(26.6666666667px, 0px + 8.3333333333vw, 64px) 0 clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
  }
}
.p-thinFilms__title::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 36px;
  height: 2px;
  background: #0075C1;
}
.p-thinFilms__figure {
  margin: 24px 0 28px;
}
.p-thinFilms__figure img {
  width: 100%;
  height: auto;
  display: block;
  background: #F5F7FD;
  border: 1px solid #E6EAF2;
  border-radius: 6px;
  max-width: 30rem;
  margin-inline: auto;
}
.p-thinFilms__cap {
  font-size: 0.75rem;
  line-height: 1.7;
  letter-spacing: 0.02em;
  color: #707080;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .p-thinFilms__cap {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
  }
}
.p-thinFilms__capNum {
  font-weight: 700;
  color: #141420;
  margin-right: 6px;
}

/*----------▲▲ thin-films-and-coatings ▲▲----------*/
/*----------▼▼ biomedical ▼▼----------*/
.p-biomedical {
  padding: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px) 7vw clamp(43.8857142857px, 0px + 5.7142857143vw, 80px);
  background: #FFF;
}
@media screen and (max-width: 767px) {
  .p-biomedical {
    padding: clamp(33.3333333333px, 0px + 10.4166666667vw, 80px) 5vw clamp(50px, 0px + 15.625vw, 120px);
  }
}
.p-biomedical__inner {
  max-width: 900px;
  margin: 0 auto;
}
.p-biomedical__lead {
  font-size: 0.9375rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
  margin: 0 0 24px;
}
@media screen and (max-width: 767px) {
  .p-biomedical__lead {
    font-size: clamp(0.78125rem, 0rem + 3.90625vw, 1.875rem);
  }
}
.p-biomedical__body {
  font-size: 0.875rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-biomedical__body {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-biomedical__body p {
  margin: 0 0 22px;
}
.p-biomedical__body a {
  color: #0075C1;
  text-decoration: underline;
  text-underline-offset: 3px;
}
@media (hover: hover) {
  .p-biomedical__body a:hover {
    opacity: 0.7;
  }
}
.p-biomedical__title {
  position: relative;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #141420;
  margin: 48px 0 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid #E6EAF2;
}
@media screen and (max-width: 767px) {
  .p-biomedical__title {
    font-size: clamp(0.9895833333rem, 0rem + 4.9479166667vw, 2.375rem);
    margin: clamp(26.6666666667px, 0px + 8.3333333333vw, 64px) 0 clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
  }
}
.p-biomedical__title::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 36px;
  height: 2px;
  background: #0075C1;
}
.p-biomedical__figure {
  margin: 24px 0 28px;
}
.p-biomedical__figure img {
  width: 100%;
  height: auto;
  display: block;
  background: #F5F7FD;
  border: 1px solid #E6EAF2;
  border-radius: 6px;
  max-width: 30rem;
  margin-inline: auto;
}
.p-biomedical__cap {
  font-size: 0.75rem;
  line-height: 1.7;
  letter-spacing: 0.02em;
  color: #707080;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .p-biomedical__cap {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
  }
}
.p-biomedical__capNum {
  font-weight: 700;
  color: #141420;
  margin-right: 6px;
}

/*----------▲▲ biomedical ▲▲----------*/
/*----------▼▼ pharmaceutical ▼▼----------*/
.p-pharmaceutical {
  padding: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px) 7vw clamp(43.8857142857px, 0px + 5.7142857143vw, 80px);
  background: #FFF;
}
@media screen and (max-width: 767px) {
  .p-pharmaceutical {
    padding: clamp(33.3333333333px, 0px + 10.4166666667vw, 80px) 5vw clamp(50px, 0px + 15.625vw, 120px);
  }
}
.p-pharmaceutical__inner {
  max-width: 900px;
  margin: 0 auto;
}
.p-pharmaceutical__lead {
  font-size: 0.9375rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
  margin: 0 0 24px;
}
@media screen and (max-width: 767px) {
  .p-pharmaceutical__lead {
    font-size: clamp(0.78125rem, 0rem + 3.90625vw, 1.875rem);
  }
}
.p-pharmaceutical__body {
  font-size: 0.875rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-pharmaceutical__body {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-pharmaceutical__body p {
  margin: 0 0 22px;
}
.p-pharmaceutical__title {
  position: relative;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #141420;
  margin: 48px 0 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid #E6EAF2;
}
@media screen and (max-width: 767px) {
  .p-pharmaceutical__title {
    font-size: clamp(0.9895833333rem, 0rem + 4.9479166667vw, 2.375rem);
    margin: clamp(26.6666666667px, 0px + 8.3333333333vw, 64px) 0 clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
  }
}
.p-pharmaceutical__title::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 36px;
  height: 2px;
  background: #0075C1;
}
.p-pharmaceutical__figure {
  margin: 24px 0 28px;
}
.p-pharmaceutical__figure img {
  width: 100%;
  height: auto;
  display: block;
  background: #F5F7FD;
  border: 1px solid #E6EAF2;
  border-radius: 6px;
  max-width: 30rem;
  margin-inline: auto;
}
.p-pharmaceutical__cap {
  font-size: 0.75rem;
  line-height: 1.7;
  letter-spacing: 0.02em;
  color: #707080;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .p-pharmaceutical__cap {
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
  }
}
.p-pharmaceutical__capNum {
  font-weight: 700;
  color: #141420;
  margin-right: 6px;
}

/*----------▲▲ pharmaceutical ▲▲----------*/
/*----------▼▼ phi-multipak ▼▼----------*/
.p-phiMultipak {
  padding: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px) 7vw clamp(43.8857142857px, 0px + 5.7142857143vw, 80px);
  background: #FFF;
}
@media screen and (max-width: 767px) {
  .p-phiMultipak {
    padding: clamp(33.3333333333px, 0px + 10.4166666667vw, 80px) 5vw clamp(50px, 0px + 15.625vw, 120px);
  }
}
.p-phiMultipak__inner {
  max-width: 900px;
  margin: 0 auto;
}
.p-phiMultipak__lead {
  font-size: 0.9375rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
  margin: 24px 0 0;
}
@media screen and (max-width: 767px) {
  .p-phiMultipak__lead {
    font-size: clamp(0.78125rem, 0rem + 3.90625vw, 1.875rem);
  }
}
.p-phiMultipak__body {
  font-size: 0.875rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-phiMultipak__body {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-phiMultipak__body p {
  margin: 0 0 22px;
}
.p-phiMultipak__title {
  position: relative;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #141420;
  margin: 48px 0 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid #E6EAF2;
}
@media screen and (max-width: 767px) {
  .p-phiMultipak__title {
    font-size: clamp(0.9895833333rem, 0rem + 4.9479166667vw, 2.375rem);
    margin: clamp(26.6666666667px, 0px + 8.3333333333vw, 64px) 0 clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
  }
}
.p-phiMultipak__title::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 36px;
  height: 2px;
  background: #0075C1;
}
.p-phiMultipak__figure {
  margin: 24px auto 28px;
  text-align: center;
}
.p-phiMultipak__figure img {
  width: 100%;
  height: auto;
  display: inline-block;
}
.p-phiMultipak__strataLead {
  margin: 0 0 22px;
}
.p-phiMultipak__strong {
  display: block;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-weight: 700;
  color: #141420;
  margin-bottom: 4px;
}
.p-phiMultipak__actions {
  margin-top: 32px;
}
@media screen and (max-width: 767px) {
  .p-phiMultipak__actions {
    margin-top: clamp(23.3333333333px, 0px + 7.2916666667vw, 56px);
  }
}
.p-phiMultipak__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 52px;
  padding: 0 32px;
  background: #0075C1;
  border-radius: 4px;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #FFF;
  text-decoration: none;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .p-phiMultipak__btn {
    height: auto;
    padding: clamp(13.3333333333px, 0px + 4.1666666667vw, 32px) clamp(23.3333333333px, 0px + 7.2916666667vw, 56px);
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
@media (hover: hover) {
  .p-phiMultipak__btn:hover {
    background: #005d9b;
  }
}
.p-phiMultipak__btnArrow {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
}

/*----------▲▲ phi-multipak ▲▲----------*/
/*----------▼▼ handbook-xps ▼▼----------*/
.p-handbookXps {
  padding: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px) 7vw clamp(43.8857142857px, 0px + 5.7142857143vw, 80px);
  background: #FFF;
}
@media screen and (max-width: 767px) {
  .p-handbookXps {
    padding: clamp(33.3333333333px, 0px + 10.4166666667vw, 80px) 5vw clamp(50px, 0px + 15.625vw, 120px);
  }
}
.p-handbookXps__inner {
  max-width: 900px;
  margin: 0 auto;
}
.p-handbookXps__intro {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 40px;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .p-handbookXps__intro {
    grid-template-columns: 1fr;
    gap: clamp(20px, 0px + 6.25vw, 48px);
  }
}
.p-handbookXps__cover {
  margin: 0;
}
@media screen and (max-width: 767px) {
  .p-handbookXps__cover {
    max-width: clamp(208.3333333333px, 0px + 65.1041666667vw, 500px);
    margin: 0 auto;
  }
}
.p-handbookXps__cover img {
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid #E6EAF2;
  border-radius: 4px;
}
.p-handbookXps__lead {
  font-size: 0.9375rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .p-handbookXps__lead {
    font-size: clamp(0.78125rem, 0rem + 3.90625vw, 1.875rem);
  }
}
.p-handbookXps__body {
  font-size: 0.875rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-handbookXps__body {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-handbookXps__body p {
  margin: 0 0 22px;
}
.p-handbookXps__body a {
  transition: 0.3s;
}
@media (hover: hover) {
  .p-handbookXps__body a:hover {
    opacity: 0.7;
  }
}
.p-handbookXps__title {
  position: relative;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #141420;
  margin: 28px 0 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid #E6EAF2;
}
@media screen and (max-width: 767px) {
  .p-handbookXps__title {
    font-size: clamp(0.9895833333rem, 0rem + 4.9479166667vw, 2.375rem);
    margin: clamp(20px, 0px + 6.25vw, 48px) 0 clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
  }
}
.p-handbookXps__title::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 36px;
  height: 2px;
  background: #0075C1;
}
.p-handbookXps__callout {
  margin: 48px 0;
  padding: 24px 28px;
  background: #F5F7FD;
  border-left: 3px solid #0075C1;
  border-radius: 4px;
}
@media screen and (max-width: 767px) {
  .p-handbookXps__callout {
    margin: clamp(30px, 0px + 9.375vw, 72px) 0;
    padding: clamp(16.6666666667px, 0px + 5.2083333333vw, 40px) clamp(18.3333333333px, 0px + 5.7291666667vw, 44px);
  }
}
.p-handbookXps__callout p {
  font-size: 0.875rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
  margin: 8px 0 0;
}
@media screen and (max-width: 767px) {
  .p-handbookXps__callout p {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-handbookXps__callout p a {
  color: #0075C1;
  text-decoration: underline;
  transition: 0.3s;
}
@media (hover: hover) {
  .p-handbookXps__callout p a:hover {
    opacity: 0.7;
  }
}
.p-handbookXps__strong {
  display: block;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.9375rem;
  font-weight: 700;
  color: #141420;
  letter-spacing: 0.04em;
}
.p-handbookXps__actions {
  margin-top: 28px;
}
@media screen and (max-width: 767px) {
  .p-handbookXps__actions {
    margin-top: clamp(20px, 0px + 6.25vw, 48px);
  }
}
.p-handbookXps__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 52px;
  padding: 0 32px;
  background: #0075C1;
  border-radius: 4px;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #FFF;
  text-decoration: none;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .p-handbookXps__btn {
    height: auto;
    padding: clamp(13.3333333333px, 0px + 4.1666666667vw, 32px) clamp(23.3333333333px, 0px + 7.2916666667vw, 56px);
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
@media (hover: hover) {
  .p-handbookXps__btn:hover {
    background: #005d9b;
  }
}
.p-handbookXps__btnArrow {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
}

/*----------▲▲ handbook-xps ▲▲----------*/
/*----------▼▼ handbook-aes ▼▼----------*/
.p-handbookAes {
  padding: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px) 7vw clamp(43.8857142857px, 0px + 5.7142857143vw, 80px);
  background: #FFF;
}
@media screen and (max-width: 767px) {
  .p-handbookAes {
    padding: clamp(33.3333333333px, 0px + 10.4166666667vw, 80px) 5vw clamp(50px, 0px + 15.625vw, 120px);
  }
}
.p-handbookAes__inner {
  max-width: 900px;
  margin: 0 auto;
}
.p-handbookAes__intro {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 40px;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .p-handbookAes__intro {
    grid-template-columns: 1fr;
    gap: clamp(20px, 0px + 6.25vw, 48px);
  }
}
.p-handbookAes__cover {
  margin: 0;
}
@media screen and (max-width: 767px) {
  .p-handbookAes__cover {
    max-width: clamp(208.3333333333px, 0px + 65.1041666667vw, 500px);
    margin: 0 auto;
  }
}
.p-handbookAes__cover img {
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid #E6EAF2;
  border-radius: 4px;
}
.p-handbookAes__lead {
  font-size: 0.9375rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .p-handbookAes__lead {
    font-size: clamp(0.78125rem, 0rem + 3.90625vw, 1.875rem);
  }
}
.p-handbookAes__body {
  font-size: 0.875rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-handbookAes__body {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-handbookAes__body p {
  margin: 0 0 22px;
}
.p-handbookAes__body a {
  transition: 0.3s;
}
@media (hover: hover) {
  .p-handbookAes__body a:hover {
    opacity: 0.7;
  }
}
.p-handbookAes__title {
  position: relative;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #141420;
  margin: 28px 0 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid #E6EAF2;
}
@media screen and (max-width: 767px) {
  .p-handbookAes__title {
    font-size: clamp(0.9895833333rem, 0rem + 4.9479166667vw, 2.375rem);
    margin: clamp(20px, 0px + 6.25vw, 48px) 0 clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
  }
}
.p-handbookAes__title::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 36px;
  height: 2px;
  background: #0075C1;
}
.p-handbookAes__callout {
  margin: 48px 0;
  padding: 24px 28px;
  background: #F5F7FD;
  border-left: 3px solid #0075C1;
  border-radius: 4px;
}
@media screen and (max-width: 767px) {
  .p-handbookAes__callout {
    margin: clamp(30px, 0px + 9.375vw, 72px) 0;
    padding: clamp(16.6666666667px, 0px + 5.2083333333vw, 40px) clamp(18.3333333333px, 0px + 5.7291666667vw, 44px);
  }
}
.p-handbookAes__callout p {
  font-size: 0.875rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
  margin: 8px 0 0;
}
@media screen and (max-width: 767px) {
  .p-handbookAes__callout p {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-handbookAes__callout p a {
  color: #0075C1;
  text-decoration: underline;
  transition: 0.3s;
}
@media (hover: hover) {
  .p-handbookAes__callout p a:hover {
    opacity: 0.7;
  }
}
.p-handbookAes__strong {
  display: block;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.9375rem;
  font-weight: 700;
  color: #141420;
  letter-spacing: 0.04em;
}
.p-handbookAes__actions {
  margin-top: 28px;
}
@media screen and (max-width: 767px) {
  .p-handbookAes__actions {
    margin-top: clamp(20px, 0px + 6.25vw, 48px);
  }
}
.p-handbookAes__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 52px;
  padding: 0 32px;
  background: #0075C1;
  border-radius: 4px;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #FFF;
  text-decoration: none;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .p-handbookAes__btn {
    height: auto;
    padding: clamp(13.3333333333px, 0px + 4.1666666667vw, 32px) clamp(23.3333333333px, 0px + 7.2916666667vw, 56px);
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
@media (hover: hover) {
  .p-handbookAes__btn:hover {
    background: #005d9b;
  }
}
.p-handbookAes__btnArrow {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
}

/*----------▲▲ handbook-aes ▲▲----------*/
/*----------▼▼ surface-analysis-auger-xps ▼▼----------*/
.p-saAugerXps {
  padding: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px) 7vw clamp(43.8857142857px, 0px + 5.7142857143vw, 80px);
  background: #FFF;
}
@media screen and (max-width: 767px) {
  .p-saAugerXps {
    padding: clamp(33.3333333333px, 0px + 10.4166666667vw, 80px) 5vw clamp(50px, 0px + 15.625vw, 120px);
  }
}
.p-saAugerXps__inner {
  max-width: 900px;
  margin: 0 auto;
}
.p-saAugerXps__intro {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 40px;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .p-saAugerXps__intro {
    grid-template-columns: 1fr;
    gap: clamp(20px, 0px + 6.25vw, 48px);
  }
}
.p-saAugerXps__cover {
  margin: 0;
}
@media screen and (max-width: 767px) {
  .p-saAugerXps__cover {
    max-width: clamp(208.3333333333px, 0px + 65.1041666667vw, 500px);
    margin: 0 auto;
  }
}
.p-saAugerXps__cover img {
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid #E6EAF2;
  border-radius: 4px;
}
.p-saAugerXps__lead {
  font-size: 0.9375rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .p-saAugerXps__lead {
    font-size: clamp(0.78125rem, 0rem + 3.90625vw, 1.875rem);
  }
}
.p-saAugerXps__body {
  font-size: 0.875rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-saAugerXps__body {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-saAugerXps__body p {
  margin: 0 0 22px;
}
.p-saAugerXps__body a {
  transition: 0.3s;
}
@media (hover: hover) {
  .p-saAugerXps__body a:hover {
    opacity: 0.7;
  }
}
.p-saAugerXps__title {
  position: relative;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #141420;
  margin: 28px 0 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid #E6EAF2;
}
@media screen and (max-width: 767px) {
  .p-saAugerXps__title {
    font-size: clamp(0.9895833333rem, 0rem + 4.9479166667vw, 2.375rem);
    margin: clamp(20px, 0px + 6.25vw, 48px) 0 clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
  }
}
.p-saAugerXps__title::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 36px;
  height: 2px;
  background: #0075C1;
}
.p-saAugerXps__callout {
  margin: 48px 0;
  padding: 24px 28px;
  background: #F5F7FD;
  border-left: 3px solid #0075C1;
  border-radius: 4px;
}
@media screen and (max-width: 767px) {
  .p-saAugerXps__callout {
    margin: clamp(30px, 0px + 9.375vw, 72px) 0;
    padding: clamp(16.6666666667px, 0px + 5.2083333333vw, 40px) clamp(18.3333333333px, 0px + 5.7291666667vw, 44px);
  }
}
.p-saAugerXps__callout p {
  font-size: 0.875rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
  margin: 8px 0 0;
}
@media screen and (max-width: 767px) {
  .p-saAugerXps__callout p {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-saAugerXps__callout p a {
  color: #0075C1;
  text-decoration: underline;
  transition: 0.3s;
}
@media (hover: hover) {
  .p-saAugerXps__callout p a:hover {
    opacity: 0.7;
  }
}
.p-saAugerXps__strong {
  display: block;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.9375rem;
  font-weight: 700;
  color: #141420;
  letter-spacing: 0.04em;
}
.p-saAugerXps__actions {
  margin-top: 28px;
}
@media screen and (max-width: 767px) {
  .p-saAugerXps__actions {
    margin-top: clamp(20px, 0px + 6.25vw, 48px);
  }
}
.p-saAugerXps__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 52px;
  padding: 0 32px;
  background: #0075C1;
  border-radius: 4px;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #FFF;
  text-decoration: none;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .p-saAugerXps__btn {
    height: auto;
    padding: clamp(13.3333333333px, 0px + 4.1666666667vw, 32px) clamp(23.3333333333px, 0px + 7.2916666667vw, 56px);
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
@media (hover: hover) {
  .p-saAugerXps__btn:hover {
    background: #005d9b;
  }
}
.p-saAugerXps__btnArrow {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
}

/*----------▲▲ surface-analysis-auger-xps ▲▲----------*/
/*----------▼▼ strataphi ▼▼----------*/
.p-strataphi {
  padding: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px) 7vw clamp(43.8857142857px, 0px + 5.7142857143vw, 80px);
  background: #FFF;
}
@media screen and (max-width: 767px) {
  .p-strataphi {
    padding: clamp(33.3333333333px, 0px + 10.4166666667vw, 80px) 5vw clamp(50px, 0px + 15.625vw, 120px);
  }
}
.p-strataphi__inner {
  max-width: 900px;
  margin: 0 auto;
}
.p-strataphi__video {
  position: relative;
  width: 100%;
  max-width: 640px;
  margin: 0 auto;
  aspect-ratio: 16/9;
  background: #141420;
  border-radius: 6px;
  overflow: hidden;
}
.p-strataphi__videoBtn {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
}
@media (hover: hover) {
  .p-strataphi__videoBtn:hover .p-strataphi__videoIcon {
    background: #0075C1;
  }
}
.p-strataphi__videoThumb {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.p-strataphi__videoIcon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: rgba(20, 20, 32, 0.55);
  transition: 0.3s;
}
.p-strataphi__videoIcon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 54%;
  transform: translate(-50%, -50%);
  border-style: solid;
  border-width: 13px 0 13px 22px;
  border-color: transparent transparent transparent #FFF;
}
.p-strataphi__videoIframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: none;
}
.p-strataphi__lead {
  font-size: 0.9375rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
  margin: 32px 0 0;
}
@media screen and (max-width: 767px) {
  .p-strataphi__lead {
    font-size: clamp(0.78125rem, 0rem + 3.90625vw, 1.875rem);
    margin: clamp(23.3333333333px, 0px + 7.2916666667vw, 56px) 0 0;
  }
}
.p-strataphi__body {
  font-size: 0.875rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .p-strataphi__body {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-strataphi__body p {
  margin: 0 0 22px;
}
.p-strataphi__title {
  position: relative;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #141420;
  margin: 48px 0 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid #E6EAF2;
}
@media screen and (max-width: 767px) {
  .p-strataphi__title {
    font-size: clamp(0.9895833333rem, 0rem + 4.9479166667vw, 2.375rem);
    margin: clamp(26.6666666667px, 0px + 8.3333333333vw, 64px) 0 clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
  }
}
.p-strataphi__title::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 36px;
  height: 2px;
  background: #0075C1;
}
.p-strataphi__list {
  list-style: none;
  margin: 0 0 22px;
  padding: 0;
}
.p-strataphi__list li {
  position: relative;
  padding-left: 22px;
  margin-bottom: 10px;
}
.p-strataphi__list li::before {
  content: "";
  position: absolute;
  top: calc(1em - 3px);
  left: 4px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #0075C1;
}
.p-strataphi__figure {
  margin: 28px auto;
  text-align: center;
}
.p-strataphi__figure img {
  max-width: 100%;
  height: auto;
  display: inline-block;
  border: 1px solid #E6EAF2;
  border-radius: 6px;
}
.p-strataphi__actions {
  margin-top: 28px;
}
@media screen and (max-width: 767px) {
  .p-strataphi__actions {
    margin-top: clamp(20px, 0px + 6.25vw, 48px);
  }
}
.p-strataphi__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 52px;
  padding: 0 32px;
  background: #0075C1;
  border-radius: 4px;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #FFF;
  text-decoration: none;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .p-strataphi__btn {
    height: auto;
    padding: clamp(13.3333333333px, 0px + 4.1666666667vw, 32px) clamp(23.3333333333px, 0px + 7.2916666667vw, 56px);
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
@media (hover: hover) {
  .p-strataphi__btn:hover {
    background: #005d9b;
  }
}
.p-strataphi__btnArrow {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
}

/*----------▲▲ strataphi ▲▲----------*/
/*----------▼▼ tof-sims-book ▼▼----------*/
.p-tofsimsBook {
  padding: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px) 7vw clamp(43.8857142857px, 0px + 5.7142857143vw, 80px);
  background: #FFF;
}
@media screen and (max-width: 767px) {
  .p-tofsimsBook {
    padding: clamp(33.3333333333px, 0px + 10.4166666667vw, 80px) 5vw clamp(50px, 0px + 15.625vw, 120px);
  }
}
.p-tofsimsBook__inner {
  max-width: 900px;
  margin: 0 auto;
}
.p-tofsimsBook__intro {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 40px;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .p-tofsimsBook__intro {
    grid-template-columns: 1fr;
    gap: clamp(20px, 0px + 6.25vw, 48px);
  }
}
.p-tofsimsBook__cover {
  margin: 0;
}
@media screen and (max-width: 767px) {
  .p-tofsimsBook__cover {
    max-width: clamp(208.3333333333px, 0px + 65.1041666667vw, 500px);
    margin: 0 auto;
  }
}
.p-tofsimsBook__cover img {
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid #E6EAF2;
  border-radius: 4px;
}
.p-tofsimsBook__lead {
  font-size: 0.9375rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .p-tofsimsBook__lead {
    font-size: clamp(0.78125rem, 0rem + 3.90625vw, 1.875rem);
  }
}
.p-tofsimsBook__body {
  font-size: 0.875rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-tofsimsBook__body {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-tofsimsBook__body p {
  margin: 0 0 22px;
}
.p-tofsimsBook__body a {
  transition: 0.3s;
}
@media (hover: hover) {
  .p-tofsimsBook__body a:hover {
    opacity: 0.7;
  }
}
.p-tofsimsBook__title {
  position: relative;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #141420;
  margin: 28px 0 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid #E6EAF2;
}
@media screen and (max-width: 767px) {
  .p-tofsimsBook__title {
    font-size: clamp(0.9895833333rem, 0rem + 4.9479166667vw, 2.375rem);
    margin: clamp(20px, 0px + 6.25vw, 48px) 0 clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
  }
}
.p-tofsimsBook__title::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 36px;
  height: 2px;
  background: #0075C1;
}
.p-tofsimsBook__list {
  list-style: none;
  margin: 0 0 22px;
  padding: 0;
}
.p-tofsimsBook__list li {
  position: relative;
  padding-left: 22px;
  margin-bottom: 10px;
}
.p-tofsimsBook__list li::before {
  content: "";
  position: absolute;
  top: calc(1em - 3px);
  left: 4px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #0075C1;
}
.p-tofsimsBook__callout {
  margin: 48px 0;
  padding: 24px 28px;
  background: #F5F7FD;
  border-left: 3px solid #0075C1;
  border-radius: 4px;
}
@media screen and (max-width: 767px) {
  .p-tofsimsBook__callout {
    margin: clamp(30px, 0px + 9.375vw, 72px) 0;
    padding: clamp(16.6666666667px, 0px + 5.2083333333vw, 40px) clamp(18.3333333333px, 0px + 5.7291666667vw, 44px);
  }
}
.p-tofsimsBook__callout p {
  font-size: 0.875rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
  margin: 8px 0 0;
}
@media screen and (max-width: 767px) {
  .p-tofsimsBook__callout p {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-tofsimsBook__callout p a {
  color: #0075C1;
  text-decoration: underline;
  transition: 0.3s;
}
@media (hover: hover) {
  .p-tofsimsBook__callout p a:hover {
    opacity: 0.7;
  }
}
.p-tofsimsBook__strong {
  display: block;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.9375rem;
  font-weight: 700;
  color: #141420;
  letter-spacing: 0.04em;
}
.p-tofsimsBook__actions {
  margin-top: 28px;
}
@media screen and (max-width: 767px) {
  .p-tofsimsBook__actions {
    margin-top: clamp(20px, 0px + 6.25vw, 48px);
  }
}
.p-tofsimsBook__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 52px;
  padding: 0 32px;
  background: #0075C1;
  border-radius: 4px;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #FFF;
  text-decoration: none;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .p-tofsimsBook__btn {
    height: auto;
    padding: clamp(13.3333333333px, 0px + 4.1666666667vw, 32px) clamp(23.3333333333px, 0px + 7.2916666667vw, 56px);
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
@media (hover: hover) {
  .p-tofsimsBook__btn:hover {
    background: #005d9b;
  }
}
.p-tofsimsBook__btnArrow {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
}

/*----------▲▲ tof-sims-book ▲▲----------*/
/*----------▼▼ xps-polymer-database ▼▼----------*/
.p-xpsPolymerDb {
  padding: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px) 7vw clamp(43.8857142857px, 0px + 5.7142857143vw, 80px);
  background: #FFF;
}
@media screen and (max-width: 767px) {
  .p-xpsPolymerDb {
    padding: clamp(33.3333333333px, 0px + 10.4166666667vw, 80px) 5vw clamp(50px, 0px + 15.625vw, 120px);
  }
}
.p-xpsPolymerDb__inner {
  max-width: 900px;
  margin: 0 auto;
}
.p-xpsPolymerDb__intro {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 40px;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .p-xpsPolymerDb__intro {
    grid-template-columns: 1fr;
    gap: clamp(20px, 0px + 6.25vw, 48px);
  }
}
.p-xpsPolymerDb__cover {
  margin: 0;
}
@media screen and (max-width: 767px) {
  .p-xpsPolymerDb__cover {
    max-width: clamp(208.3333333333px, 0px + 65.1041666667vw, 500px);
    margin: 0 auto;
  }
}
.p-xpsPolymerDb__cover img {
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid #E6EAF2;
  border-radius: 4px;
}
.p-xpsPolymerDb__lead {
  font-size: 0.9375rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .p-xpsPolymerDb__lead {
    font-size: clamp(0.78125rem, 0rem + 3.90625vw, 1.875rem);
  }
}
.p-xpsPolymerDb__body {
  font-size: 0.875rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-xpsPolymerDb__body {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-xpsPolymerDb__body p {
  margin: 0 0 22px;
}
.p-xpsPolymerDb__body a {
  transition: 0.3s;
}
@media (hover: hover) {
  .p-xpsPolymerDb__body a:hover {
    opacity: 0.7;
  }
}
.p-xpsPolymerDb__title {
  position: relative;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #141420;
  margin: 28px 0 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid #E6EAF2;
}
@media screen and (max-width: 767px) {
  .p-xpsPolymerDb__title {
    font-size: clamp(0.9895833333rem, 0rem + 4.9479166667vw, 2.375rem);
    margin: clamp(20px, 0px + 6.25vw, 48px) 0 clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
  }
}
.p-xpsPolymerDb__title::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 36px;
  height: 2px;
  background: #0075C1;
}
.p-xpsPolymerDb__callout {
  margin: 48px 0;
  padding: 24px 28px;
  background: #F5F7FD;
  border-left: 3px solid #0075C1;
  border-radius: 4px;
}
@media screen and (max-width: 767px) {
  .p-xpsPolymerDb__callout {
    margin: clamp(30px, 0px + 9.375vw, 72px) 0;
    padding: clamp(16.6666666667px, 0px + 5.2083333333vw, 40px) clamp(18.3333333333px, 0px + 5.7291666667vw, 44px);
  }
}
.p-xpsPolymerDb__callout p {
  font-size: 0.875rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
  margin: 8px 0 0;
}
@media screen and (max-width: 767px) {
  .p-xpsPolymerDb__callout p {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-xpsPolymerDb__callout p a {
  color: #0075C1;
  text-decoration: underline;
  transition: 0.3s;
}
@media (hover: hover) {
  .p-xpsPolymerDb__callout p a:hover {
    opacity: 0.7;
  }
}
.p-xpsPolymerDb__strong {
  display: block;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.9375rem;
  font-weight: 700;
  color: #141420;
  letter-spacing: 0.04em;
}
.p-xpsPolymerDb__actions {
  margin-top: 28px;
}
@media screen and (max-width: 767px) {
  .p-xpsPolymerDb__actions {
    margin-top: clamp(20px, 0px + 6.25vw, 48px);
  }
}
.p-xpsPolymerDb__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 52px;
  padding: 0 32px;
  background: #0075C1;
  border-radius: 4px;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #FFF;
  text-decoration: none;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .p-xpsPolymerDb__btn {
    height: auto;
    padding: clamp(13.3333333333px, 0px + 4.1666666667vw, 32px) clamp(23.3333333333px, 0px + 7.2916666667vw, 56px);
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
@media (hover: hover) {
  .p-xpsPolymerDb__btn:hover {
    background: #005d9b;
  }
}
.p-xpsPolymerDb__btnArrow {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
}

/*----------▲▲ xps-polymer-database ▲▲----------*/
/*----------▼▼ static-sims-library ▼▼----------*/
.p-staticSimsLib {
  padding: clamp(35.1085714286px, 0px + 4.5714285714vw, 64px) 7vw clamp(43.8857142857px, 0px + 5.7142857143vw, 80px);
  background: #FFF;
}
@media screen and (max-width: 767px) {
  .p-staticSimsLib {
    padding: clamp(33.3333333333px, 0px + 10.4166666667vw, 80px) 5vw clamp(50px, 0px + 15.625vw, 120px);
  }
}
.p-staticSimsLib__inner {
  max-width: 900px;
  margin: 0 auto;
}
.p-staticSimsLib__intro {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 40px;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .p-staticSimsLib__intro {
    grid-template-columns: 1fr;
    gap: clamp(20px, 0px + 6.25vw, 48px);
  }
}
.p-staticSimsLib__cover {
  margin: 0;
}
@media screen and (max-width: 767px) {
  .p-staticSimsLib__cover {
    max-width: clamp(208.3333333333px, 0px + 65.1041666667vw, 500px);
    margin: 0 auto;
  }
}
.p-staticSimsLib__cover img {
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid #E6EAF2;
  border-radius: 4px;
}
.p-staticSimsLib__lead {
  font-size: 0.9375rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .p-staticSimsLib__lead {
    font-size: clamp(0.78125rem, 0rem + 3.90625vw, 1.875rem);
  }
}
.p-staticSimsLib__body {
  font-size: 0.875rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-staticSimsLib__body {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-staticSimsLib__body p {
  margin: 0 0 22px;
}
.p-staticSimsLib__body a {
  transition: 0.3s;
}
@media (hover: hover) {
  .p-staticSimsLib__body a:hover {
    opacity: 0.7;
  }
}
.p-staticSimsLib__title {
  position: relative;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #141420;
  margin: 28px 0 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid #E6EAF2;
}
@media screen and (max-width: 767px) {
  .p-staticSimsLib__title {
    font-size: clamp(0.9895833333rem, 0rem + 4.9479166667vw, 2.375rem);
    margin: clamp(20px, 0px + 6.25vw, 48px) 0 clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
  }
}
.p-staticSimsLib__title::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 36px;
  height: 2px;
  background: #0075C1;
}
.p-staticSimsLib__callout {
  margin: 48px 0;
  padding: 24px 28px;
  background: #F5F7FD;
  border-left: 3px solid #0075C1;
  border-radius: 4px;
}
@media screen and (max-width: 767px) {
  .p-staticSimsLib__callout {
    margin: clamp(30px, 0px + 9.375vw, 72px) 0;
    padding: clamp(16.6666666667px, 0px + 5.2083333333vw, 40px) clamp(18.3333333333px, 0px + 5.7291666667vw, 44px);
  }
}
.p-staticSimsLib__callout p {
  font-size: 0.875rem;
  line-height: 2;
  color: #3a3a48;
  letter-spacing: 0.02em;
  margin: 8px 0 0;
}
@media screen and (max-width: 767px) {
  .p-staticSimsLib__callout p {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-staticSimsLib__callout p a {
  color: #0075C1;
  text-decoration: underline;
  transition: 0.3s;
}
@media (hover: hover) {
  .p-staticSimsLib__callout p a:hover {
    opacity: 0.7;
  }
}
.p-staticSimsLib__strong {
  display: block;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.9375rem;
  font-weight: 700;
  color: #141420;
  letter-spacing: 0.04em;
}
.p-staticSimsLib__actions {
  margin-top: 28px;
}
@media screen and (max-width: 767px) {
  .p-staticSimsLib__actions {
    margin-top: clamp(20px, 0px + 6.25vw, 48px);
  }
}
.p-staticSimsLib__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 52px;
  padding: 0 32px;
  background: #0075C1;
  border-radius: 4px;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #FFF;
  text-decoration: none;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .p-staticSimsLib__btn {
    height: auto;
    padding: clamp(13.3333333333px, 0px + 4.1666666667vw, 32px) clamp(23.3333333333px, 0px + 7.2916666667vw, 56px);
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
@media (hover: hover) {
  .p-staticSimsLib__btn:hover {
    background: #005d9b;
  }
}
.p-staticSimsLib__btnArrow {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
}

/*----------▲▲ static-sims-library ▲▲----------*/
/*----------▼▼ windows10-upgrade ▼▼----------*/
.p-supportWin10 {
  padding: clamp(65.8285714286px, 0px + 8.5714285714vw, 120px) 7vw clamp(52.6628571429px, 0px + 6.8571428571vw, 96px);
  background: #FFF;
}
@media screen and (max-width: 767px) {
  .p-supportWin10 {
    padding: clamp(66.6666666667px, 0px + 20.8333333333vw, 160px) 5vw clamp(66.6666666667px, 0px + 20.8333333333vw, 160px);
  }
}
.p-supportWin10__inner {
  max-width: 900px;
  margin: 0 auto;
  width: 100%;
}
.p-supportWin10__head {
  margin: 0 0 32px;
  padding-bottom: 16px;
  border-bottom: 1px solid #E6EAF2;
}
@media screen and (max-width: 767px) {
  .p-supportWin10__head {
    margin: 0 0 clamp(20px, 0px + 6.25vw, 48px);
    padding-bottom: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
  }
}
.p-supportWin10__title {
  margin: 0;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.02em;
  color: #141420;
}
@media screen and (max-width: 767px) {
  .p-supportWin10__title {
    font-size: clamp(1.0416666667rem, 0rem + 5.2083333333vw, 2.5rem);
  }
}
.p-supportWin10__desc {
  margin: 0 0 20px;
  font-size: 0.9375rem;
  line-height: 2;
  letter-spacing: 0.02em;
  color: #3a3a48;
}
@media screen and (max-width: 767px) {
  .p-supportWin10__desc {
    margin: 0 0 clamp(13.3333333333px, 0px + 4.1666666667vw, 32px);
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-supportWin10__cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  margin: clamp(26.3314285714px, 0px + 3.4285714286vw, 48px) 0;
}
@media screen and (max-width: 767px) {
  .p-supportWin10__cols {
    grid-template-columns: 1fr;
    gap: clamp(23.3333333333px, 0px + 7.2916666667vw, 56px);
    margin: clamp(26.6666666667px, 0px + 8.3333333333vw, 64px) 0;
  }
}
.p-supportWin10__col {
  padding: 32px 36px;
  background: #F5F7FD;
  border: 1px solid #E6EAF2;
  border-radius: 8px;
}
@media screen and (max-width: 767px) {
  .p-supportWin10__col {
    padding: clamp(20px, 0px + 6.25vw, 48px) clamp(20px, 0px + 6.25vw, 48px);
  }
}
.p-supportWin10__subTitle {
  margin: 0 0 18px;
  padding-bottom: 12px;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #141420;
  border-bottom: 1px solid #E6EAF2;
}
@media screen and (max-width: 767px) {
  .p-supportWin10__subTitle {
    margin: 0 0 clamp(13.3333333333px, 0px + 4.1666666667vw, 32px);
    padding-bottom: clamp(8.3333333333px, 0px + 2.6041666667vw, 20px);
    font-size: clamp(0.8333333333rem, 0rem + 4.1666666667vw, 2rem);
  }
}
.p-supportWin10__deviceList {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.p-supportWin10__deviceList li {
  position: relative;
  padding-left: 16px;
  font-size: 0.9375rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
  color: #141420;
}
@media screen and (max-width: 767px) {
  .p-supportWin10__deviceList li {
    padding-left: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px);
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-supportWin10__deviceList li::before {
  content: "";
  position: absolute;
  top: 0.6em;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #0075C1;
}
@media screen and (max-width: 767px) {
  .p-supportWin10__deviceList li::before {
    width: clamp(4.1666666667px, 0px + 1.3020833333vw, 10px);
    height: clamp(4.1666666667px, 0px + 1.3020833333vw, 10px);
  }
}
.p-supportWin10__flow {
  display: flex;
  flex-direction: column;
  gap: 14px;
  counter-reset: win10-flow;
}
@media screen and (max-width: 767px) {
  .p-supportWin10__flow {
    gap: clamp(10px, 0px + 3.125vw, 24px);
  }
}
.p-supportWin10__flow li {
  position: relative;
  padding-left: 36px;
  font-size: 0.9375rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
  color: #141420;
  counter-increment: win10-flow;
}
@media screen and (max-width: 767px) {
  .p-supportWin10__flow li {
    padding-left: clamp(25px, 0px + 7.8125vw, 60px);
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-supportWin10__flow li::before {
  content: counter(win10-flow);
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  font-family: "Inter", Arial, "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1;
  color: #FFF;
  background: #0075C1;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .p-supportWin10__flow li::before {
    width: clamp(16.6666666667px, 0px + 5.2083333333vw, 40px);
    height: clamp(16.6666666667px, 0px + 5.2083333333vw, 40px);
    font-size: clamp(0.5729166667rem, 0rem + 2.8645833333vw, 1.375rem);
  }
}
.p-supportWin10__flowNote {
  display: block;
  margin-top: 4px;
  font-size: 0.8125rem;
  line-height: 1.7;
  color: #707080;
}
@media screen and (max-width: 767px) {
  .p-supportWin10__flowNote {
    margin-top: clamp(3.3333333333px, 0px + 1.0416666667vw, 8px);
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
  }
}
.p-supportWin10__note {
  margin: 0 0 20px;
  font-size: 0.8125rem;
  line-height: 1.9;
  letter-spacing: 0.02em;
  color: #707080;
}
@media screen and (max-width: 767px) {
  .p-supportWin10__note {
    margin: 0 0 clamp(13.3333333333px, 0px + 4.1666666667vw, 32px);
    font-size: clamp(0.625rem, 0rem + 3.125vw, 1.5rem);
  }
}
.p-supportWin10__price {
  margin: 0 0 20px;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #141420;
}
@media screen and (max-width: 767px) {
  .p-supportWin10__price {
    margin: 0 0 clamp(13.3333333333px, 0px + 4.1666666667vw, 32px);
    font-size: clamp(0.8333333333rem, 0rem + 4.1666666667vw, 2rem);
  }
}
.p-supportWin10__priceVal {
  color: #0075C1;
}

/*----------▲▲ windows10-upgrade ▲▲----------*/
/*----------▼▼ 404 ▼▼----------*/
.p-404 {
  padding: clamp(43.8857142857px, 0px + 5.7142857143vw, 80px) 0 clamp(65.8285714286px, 0px + 8.5714285714vw, 120px);
}
@media screen and (max-width: 767px) {
  .p-404 {
    padding: clamp(50px, 0px + 15.625vw, 120px) 0 clamp(66.6666666667px, 0px + 20.8333333333vw, 160px);
  }
}
.p-404 .l-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(26.3314285714px, 0px + 3.4285714286vw, 48px);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-404 .l-inner {
    gap: clamp(33.3333333333px, 0px + 10.4166666667vw, 80px);
  }
}
.p-404__text {
  font-size: 0.875rem;
  line-height: 2;
  color: #141420;
}
@media screen and (max-width: 767px) {
  .p-404__text {
    font-size: clamp(0.7291666667rem, 0rem + 3.6458333333vw, 1.75rem);
  }
}
.p-404__link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #141420;
  text-decoration: none;
  border: 1px solid #141420;
  padding: 14px 36px;
  border-radius: 2px;
  transition: 0.2s;
}
@media screen and (max-width: 767px) {
  .p-404__link {
    font-size: clamp(0.6770833333rem, 0rem + 3.3854166667vw, 1.625rem);
    gap: clamp(8.3333333333px, 0px + 2.6041666667vw, 20px);
    padding: clamp(11.6666666667px, 0px + 3.6458333333vw, 28px) clamp(30px, 0px + 9.375vw, 72px);
  }
}
@media (hover: hover) {
  .p-404__link:hover {
    background: #141420;
    color: #FFF;
  }
}

/*----------▲▲ 404 ▲▲----------*/
/*----------▼▼ utility ▼▼----------*/
@media screen and (min-width: 768px) {
  .u-spOnly {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .u-spOnly {
    display: inherit !important;
  }
}

@media screen and (min-width: 768px) {
  .u-pcOnly {
    display: inherit !important;
  }
}
@media screen and (max-width: 767px) {
  .u-pcOnly {
    display: none !important;
  }
}

.u-sup {
  font-size: 0.6em;
  vertical-align: super;
  line-height: 0;
}

.u-sub {
  font-size: 0.7em;
  vertical-align: sub;
  line-height: 0;
}

.u-bgGray {
  background-color: #F5F7FD !important;
}

/*----------▲▲ utility ▲▲----------*/
/*# sourceMappingURL=style.css.map */