@charset "UTF-8";
html {
  margin: 0;
  padding: 0;
  height: 100%;
  height: -webkit-fill-available;
}

body {
  scroll-behavior: smooth;
  margin: 0;
  padding: 0;
  height: 100%;
  width: 100%;
  overflow-x: hidden;
  overflow-y: scroll;
  min-height: 100vh;
  min-height: -webkit-fill-available;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

*,
*:before,
*:after {
  box-sizing: border-box;
  margin: 0;
}

dfn {
  font-style: normal;
}

body,
h1,
h2,
h3,
h4,
p,
ul[class],
ol[class],
li,
figure,
figcaption,
blockquote,
dl,
dd {
  margin: 0;
}

body {
  min-height: 100vh;
  scroll-behavior: smooth;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

ul[class],
ol[class] {
  list-style: none;
}

ul, li {
  list-style: none;
  padding: 0;
  margin: 0;
}

a:not([class]) {
  text-decoration-skip-ink: auto;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

article > * + * {
  margin-top: 1em;
}

a {
  text-decoration: none;
  word-break: break-word;
}
a:focus-visible {
  outline: var(--accent-color1) auto 1px;
}

sub {
  vertical-align: bottom;
  position: relative;
  top: 0.1rem;
}

input,
button,
textarea,
select {
  font-family: "Noto Sans JP";
}

[type=search]:-webkit-search-cancel-button,
[type=search]:-webkit-search-decoration {
  -webkit-appearance: none;
}

input[type=text], input[type=search] {
  padding: 0;
  border: none;
  border-radius: 0;
  outline: none;
  background: none;
  appearance: none;
  -webkit-appearance: none;
}

input[type=checkbox]:checked + label {
  background: #ff0000;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  outline: none;
  background: transparent;
}

textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  resize: none;
  padding: 0;
  border: 0;
  outline: none;
  background: transparent;
}

button,
input[type=submit] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  outline: none;
  background: transparent;
}

iframe {
  width: 100%;
  border: none;
  overflow-y: hidden;
}

* {
  max-height: 100000000px;
}

[tabindex="-1"]:focus {
  outline: 0;
}

/* ----------------------------------------------
FONT
----------------------------------------------- */
@font-face {
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 100;
  src: url("/e/common/fonts/noto-sans-100.woff2") format("woff2"), url("/e/common/fonts/noto-sans-100.woff") format("woff");
}
@font-face {
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 200;
  src: url("/e/common/fonts/noto-sans-200.woff2") format("woff2"), url("/e/common/fonts/noto-sans-200.woff") format("woff");
}
@font-face {
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 300;
  src: url("/e/common/fonts/noto-sans-300.woff2") format("woff2"), url("/e/common/fonts/noto-sans-300.woff") format("woff");
}
@font-face {
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 400;
  src: url("/e/common/fonts/noto-sans-regular.woff2") format("woff2"), url("/e/common/fonts/noto-sans-regular.woff") format("woff");
}
@font-face {
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 500;
  src: url("/e/common/fonts/noto-sans-500.woff2") format("woff2"), url("/e/common/fonts/noto-sans-500.woff") format("woff");
}
@font-face {
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 600;
  src: url("/e/common/fonts/noto-sans-600.woff2") format("woff2"), url("/e/common/fonts/noto-sans-600.woff") format("woff");
}
@font-face {
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 700;
  src: url("/e/common/fonts/noto-sans-700.woff2") format("woff2"), url("/e/common/fonts/noto-sans-700.woff") format("woff");
}
@font-face {
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 800;
  src: url("/e/common/fonts/noto-sans-800.woff2") format("woff2"), url("/e/common/fonts/noto-sans-800.woff") format("woff");
}
@font-face {
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 900;
  src: url("/e/common/fonts/noto-sans-900.woff2") format("woff2"), url("/e/common/fonts/noto-sans-900.woff") format("woff");
}
body,
input,
button,
textarea,
select {
  font-family: "Noto Sans";
}

:root {
  --icon-arrow: url('data:image/svg+xml;utf8,<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8 3L11 6L8 9" stroke="black" stroke-linecap="round" stroke-width="1"/><path d="M1 6H11" stroke="black" stroke-linecap="round" stroke-width="1"/></svg>');
  --icon-external: url('data:image/svg+xml;utf8,<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="1.5" y="4.22729" width="6.27273" height="6.27273" stroke="black" stroke-linejoin="round"/><path d="M10.9999 7.36364V1H4.63623" stroke="black" stroke-linecap="round"/></svg>');
  --icon-pdf: url('data:image/svg+xml;utf8,<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.2817 9.61079V3.56848H14.0001V4.57961H11.4886V6.15338H13.6331V7.16451H11.4886V9.61079H10.2817Z" fill="black"/><path d="M4.94971 9.61079V3.56848H6.60502C7.22475 3.56848 7.75478 3.67721 8.19511 3.89465C8.64087 4.1121 8.98335 4.44099 9.22254 4.88132C9.46717 5.32165 9.58949 5.88158 9.58949 6.5611C9.58949 7.24062 9.46989 7.80598 9.2307 8.25719C8.99151 8.70839 8.65446 9.04815 8.21957 9.27647C7.78467 9.49935 7.26824 9.61079 6.67026 9.61079H4.94971ZM6.15654 8.63228H6.52348C6.90401 8.63228 7.23018 8.56433 7.50199 8.42843C7.77924 8.28708 7.99125 8.0642 8.13803 7.75978C8.2848 7.44991 8.35819 7.05035 8.35819 6.5611C8.35819 6.07184 8.2848 5.68044 8.13803 5.38688C7.99125 5.08789 7.77924 4.87316 7.50199 4.7427C7.23018 4.60679 6.90401 4.53884 6.52348 4.53884H6.15654V8.63228Z" fill="black"/><path d="M0.000488281 9.61079V3.56848H1.98198C2.42774 3.56848 2.8273 3.62828 3.18065 3.74788C3.53944 3.86747 3.82212 4.06589 4.0287 4.34314C4.24071 4.61495 4.34671 4.99004 4.34671 5.46843C4.34671 5.92507 4.24071 6.30288 4.0287 6.60187C3.82212 6.89542 3.54216 7.11287 3.18881 7.25421C2.84089 7.39555 2.44949 7.46622 2.01459 7.46622H1.20732V9.61079H0.000488281ZM1.20732 6.51217H1.93305C2.3462 6.51217 2.65334 6.42519 2.85448 6.25124C3.06106 6.07728 3.16434 5.81634 3.16434 5.46843C3.16434 5.12051 3.05562 4.8786 2.83817 4.7427C2.62616 4.60136 2.31086 4.53069 1.89228 4.53069H1.20732V6.51217Z" fill="black"/></svg>');
  --icon-search: url('data:image/svg+xml;utf8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M19.613 17.762L15.937 14.0342C16.5628 13.0255 16.9252 11.8363 16.9252 10.5537C16.9252 6.93278 14.0331 4 10.4626 4C6.89202 4 4 6.93278 4 10.5537C4 14.1745 6.89202 17.1073 10.4626 17.1073C11.8328 17.1073 13.1043 16.6731 14.1517 15.9315L17.7882 19.6192C18.0385 19.8731 18.3745 20 18.7039 20C19.0332 20 19.3626 19.8731 19.6196 19.6192C20.1268 19.1048 20.1268 18.2764 19.6196 17.762H19.613ZM10.4626 14.9829C8.05147 14.9829 6.09491 12.9987 6.09491 10.5537C6.09491 8.10856 8.05147 6.12443 10.4626 6.12443C12.8737 6.12443 14.8303 8.10856 14.8303 10.5537C14.8303 12.9987 12.8737 14.9829 10.4626 14.9829Z" fill="black"/></svg>');
  --icon-global: url('data:image/svg+xml;utf8,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8 -0.000108719C3.58878 -0.000108719 0 3.58891 0 8.00012C0 12.4113 3.58878 16.0001 8 16.0001C12.4112 16.0001 16 12.4113 16 8.00012C16 3.58891 12.4112 0.000126839 8 0.000126839V-0.000108719ZM8 15.0626C4.10582 15.0626 0.937509 11.8943 0.937509 8.00012C0.937509 4.10595 4.10582 0.937635 8 0.937635C11.8942 0.937635 15.0625 4.10595 15.0625 8.00012C15.0625 11.8943 11.8944 15.0626 8 15.0626Z" fill="black"/><path d="M7.99951 0.000379562V0.937889C8.70639 0.937889 9.5539 1.69024 10.2111 2.90103C10.9705 4.30027 11.406 6.15888 11.406 8.00038C11.406 9.84188 10.9705 11.7007 10.2111 13.0997C9.5539 14.3108 8.70639 15.0629 7.99951 15.0629V16.0006C9.08233 16.0006 10.1888 15.1062 11.0349 13.5471C11.8787 11.9925 12.3432 10.0228 12.3432 8.00061C12.3432 5.97841 11.8787 4.0087 11.0349 2.45408C10.1886 0.894764 9.08233 0.00061512 7.99951 0.00061512V0.000379562Z" fill="black"/><path d="M8.00094 0.000379562C6.91812 0.000379562 5.81162 0.894764 4.96552 2.45384C4.12176 4.00846 3.65723 5.97817 3.65723 8.00038C3.65723 10.0226 4.12176 11.9923 4.96552 13.5469C5.81186 15.1062 6.91812 16.0006 8.00094 16.0006V15.0631C7.29406 15.0631 6.44655 14.3108 5.78936 13.1C5.02997 11.7007 4.5945 9.84211 4.5945 8.00061C4.5945 6.15911 5.02997 4.3005 5.78936 2.90127C6.44655 1.69024 7.29382 0.938124 8.00094 0.938124V0.00061512V0.000379562Z" fill="black"/><path d="M15.531 8.46936H0.468262V7.53185H15.531V8.46936Z" fill="black"/><path d="M7.9983 11.1277C5.88468 11.1277 3.77412 11.7034 2.20801 12.707L2.71379 13.4963C4.13295 12.587 6.0593 12.0652 7.9983 12.0652C9.9373 12.0652 11.8637 12.587 13.283 13.4963L13.7888 12.707C12.2227 11.7034 10.1121 11.1277 7.9983 11.1277Z" fill="black"/><path d="M2.71428 2.50602L2.2085 3.2954C3.77461 4.299 5.88517 4.87463 7.99902 4.87463C10.1129 4.87463 12.2232 4.299 13.7893 3.2954L13.2835 2.50602C11.8644 3.4154 9.93826 3.93712 7.99902 3.93712C6.05978 3.93712 4.13367 3.4154 2.71428 2.50602Z" fill="black"/><path d="M8.46876 15.5309H7.53125V0.468164H8.46876V15.5309Z" fill="black"/></svg>');
  --icon-zoom: url('data:image/svg+xml;utf8,<svg width="24" height="24" viewBox="7 6 12 13" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M11 14L18 7" stroke="black" stroke-width="2" stroke-linecap="round"/><path d="M12 7H18V13" stroke="black" stroke-width="2" stroke-linecap="round"/><rect x="9" y="17" width="1" height="1" fill="black"/><rect x="7" y="17" width="1" height="1" fill="black"/><rect x="11" y="17" width="1" height="1" fill="black"/><rect x="13" y="17" width="1" height="1" fill="black"/><rect x="15" y="17" width="1" height="1" fill="black"/><rect x="17" y="17" width="1" height="1" fill="black"/><rect x="8" y="7" width="1" height="1" transform="rotate(90 8 7)" fill="black"/><rect x="8" y="9" width="1" height="1" transform="rotate(90 8 9)" fill="black"/><rect x="8" y="11" width="1" height="1" transform="rotate(90 8 11)" fill="black"/><rect x="8" y="13" width="1" height="1" transform="rotate(90 8 13)" fill="black"/><rect x="8" y="15" width="1" height="1" transform="rotate(90 8 15)" fill="black"/></svg>');
  --icon-plus: url('data:image/svg+xml;utf8,<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 6H11" stroke="black" stroke-width="2" stroke-linecap="round"/><path d="M6 1L6 11" stroke="black" stroke-width="2" stroke-linecap="round"/></svg>');
  --icon-more: url('data:image/svg+xml;utf8,<svg width="10" height="10" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 6H11" stroke="white" stroke-linecap="round"/><path d="M6 1L6 11" stroke="white" stroke-linecap="round"/></svg>');
  --icon-minus: url('data:image/svg+xml;utf8,<svg width="12" height="2" viewBox="0 0 12 2" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1H11" stroke="black" stroke-width="2" stroke-linecap="round"/></svg>');
  --icon-play: url('data:image/svg+xml;utf8,<svg width="21" height="24" viewBox="0 0 21 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M20 10.268C21.3333 11.0378 21.3333 12.9623 20 13.7321L3.5 23.2583C2.16666 24.0281 0.500001 23.0659 0.500001 21.5263L0.500002 2.47372C0.500002 0.934117 2.16667 -0.0281314 3.5 0.741669L20 10.268Z" fill="%23004399"/></svg>');
}

.icon-arrow {
  --icon-svg: var(--icon-arrow);
  width: 32px;
  height: 20px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border: none;
  cursor: pointer;
}
.icon-arrow::after {
  content: "";
  width: 12px;
  height: 12px;
  background-color: white;
  display: block;
  mask: var(--icon-svg) no-repeat center/contain;
  -webkit-mask: var(--icon-svg) no-repeat center/contain;
}
.icon-arrow.right {
  --arrow-rotation: rotate(0deg);
}
.icon-arrow.left {
  --arrow-rotation: rotate(180deg);
}
.icon-arrow.bottom {
  --arrow-rotation: rotate(90deg);
}
.icon-arrow {
  background-color: var(--FS_primary);
}
.icon-arrow::after {
  transform: var(--arrow-rotation, rotate(0deg));
}
.icon-arrow.bg-none {
  background: transparent;
  border: 1px solid var(--FS_primary);
}
.icon-arrow.bg-none::after {
  background-color: var(--FS_primary);
}
.icon-arrow.bg-white {
  background: #fff;
}
.icon-arrow.bg-white::after {
  background-color: var(--FS_primary);
}
.icon-arrow.bg-gray {
  background: var(--FS_Bg_gray_2);
}
.icon-arrow.bg-gray::after {
  background-color: #fff;
}
.icon-arrow.lg {
  width: 48px;
  height: 26px;
  border-radius: 13px;
}

.icon-more {
  --icon-svg: var(--icon-more);
  width: 32px;
  height: 20px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border: none;
  cursor: pointer;
}
.icon-more::after {
  content: "";
  width: 12px;
  height: 12px;
  background-color: white;
  display: block;
  mask: var(--icon-svg) no-repeat center/contain;
  -webkit-mask: var(--icon-svg) no-repeat center/contain;
}
.icon-more.right {
  --arrow-rotation: rotate(0deg);
}
.icon-more.left {
  --arrow-rotation: rotate(180deg);
}
.icon-more.bottom {
  --arrow-rotation: rotate(90deg);
}
.icon-more {
  background-color: var(--FS_primary);
}

.icon-external {
  --icon-svg: var(--icon-external);
  width: 32px;
  height: 20px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border: none;
  cursor: pointer;
}
.icon-external::after {
  content: "";
  width: 12px;
  height: 12px;
  background-color: white;
  display: block;
  mask: var(--icon-svg) no-repeat center/contain;
  -webkit-mask: var(--icon-svg) no-repeat center/contain;
}
.icon-external.right {
  --arrow-rotation: rotate(0deg);
}
.icon-external.left {
  --arrow-rotation: rotate(180deg);
}
.icon-external.bottom {
  --arrow-rotation: rotate(90deg);
}
.icon-external {
  background-color: var(--FS_primary);
}
.icon-external.bg-white {
  background: #fff;
}
.icon-external.bg-white::after {
  background-color: var(--FS_primary);
}
.icon-external.bg-gray {
  background: var(--FS_Bg_gray_2);
}
.icon-external.bg-gray::after {
  background-color: #fff;
}
.icon-external.bg-none {
  background: transparent;
  width: 20px;
}

.icon-pdf {
  --icon-svg: var(--icon-pdf);
  width: 32px;
  height: 20px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border: none;
  cursor: pointer;
}
.icon-pdf::after {
  content: "";
  width: 12px;
  height: 12px;
  background-color: white;
  display: block;
  mask: var(--icon-svg) no-repeat center/contain;
  -webkit-mask: var(--icon-svg) no-repeat center/contain;
}
.icon-pdf.right {
  --arrow-rotation: rotate(0deg);
}
.icon-pdf.left {
  --arrow-rotation: rotate(180deg);
}
.icon-pdf.bottom {
  --arrow-rotation: rotate(90deg);
}
.icon-pdf {
  background-color: var(--FS_primary);
}

.icon-search {
  --icon-svg: var(--icon-search);
}
.icon-search::after {
  content: "";
  width: 16px;
  height: 16px;
  background-color: var(--FS_primary);
  mask: var(--icon-svg) no-repeat center/contain;
  -webkit-mask: var(--icon-svg) no-repeat center/contain;
  display: inline-flex;
  vertical-align: middle;
  align-items: center;
  justify-content: center;
  border: none;
  cursor: pointer;
}

.content-search-box .icon-search {
  --icon-svg: var(--icon-search);
}
.content-search-box .icon-search::after {
  content: "";
  width: 24px;
  height: 24px;
  background-color: var(--FS_primary);
  mask: var(--icon-svg) no-repeat center/contain;
  -webkit-mask: var(--icon-svg) no-repeat center/contain;
  display: inline-flex;
  vertical-align: middle;
  align-items: center;
  justify-content: center;
  border: none;
  cursor: pointer;
}

.icon-global {
  --icon-svg: var(--icon-global);
}
.icon-global::after {
  content: "";
  width: 16px;
  height: 16px;
  background-color: var(--FS_primary);
  mask: var(--icon-svg) no-repeat center/contain;
  -webkit-mask: var(--icon-svg) no-repeat center/contain;
  display: inline-flex;
  vertical-align: middle;
  align-items: center;
  justify-content: center;
  border: none;
  cursor: pointer;
}

.icon-zoom {
  --icon-svg: var(--icon-zoom);
}
.icon-zoom::after {
  content: "";
  width: 14px;
  height: 14px;
  background-color: var(--FS_primary);
  mask: var(--icon-svg) no-repeat center/contain;
  -webkit-mask: var(--icon-svg) no-repeat center/contain;
  display: inline-flex;
  vertical-align: middle;
  align-items: center;
  justify-content: center;
  border: none;
  cursor: pointer;
}

.icon-plus {
  --icon-svg: var(--icon-plus);
}
.icon-plus::after {
  content: "";
  width: 16px;
  height: 16px;
  background-color: var(--FS_primary);
  mask: var(--icon-svg) no-repeat center/contain;
  -webkit-mask: var(--icon-svg) no-repeat center/contain;
  display: inline-flex;
  vertical-align: middle;
  align-items: center;
  justify-content: center;
  border: none;
  cursor: pointer;
}

.icon-minus {
  --icon-svg: var(--icon-minus);
}
.icon-minus::after {
  content: "";
  width: 16px;
  height: 16px;
  background-color: var(--FS_primary);
  mask: var(--icon-svg) no-repeat center/contain;
  -webkit-mask: var(--icon-svg) no-repeat center/contain;
  display: inline-flex;
  vertical-align: middle;
  align-items: center;
  justify-content: center;
  border: none;
  cursor: pointer;
}

.icon-play {
  --icon-svg: var(--icon-play);
}
.icon-play::after {
  content: "";
  width: 24px;
  height: 24px;
  background-color: var(--FS_primary);
  mask: var(--icon-svg) no-repeat center/contain;
  -webkit-mask: var(--icon-svg) no-repeat center/contain;
  display: inline-flex;
  vertical-align: middle;
  align-items: center;
  justify-content: center;
  border: none;
  cursor: pointer;
}

a {
  color: var(--FS_primary);
  display: inline;
  transition: all 0.3s;
}
a:hover {
  color: var(--FS_text_bluegray_sub);
}
a.text-link {
  transition: all 0.5s;
}
a.text-link > span {
  margin: 0 0 0 4px;
  border: 1px solid var(--FS_primary);
  transition: all 0.5s;
}
a.text-link:hover span {
  background: var(--White);
}
a.text-link:hover span::after {
  background-color: var(--FS_primary);
}
a.button-link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  max-width: 286px;
  border-radius: 50px;
  padding: 20px 32px 20px 16px;
  font-weight: 700;
  font-size: 1.7rem;
  line-height: 150%;
  transition: all 0.5s;
}
a.button-link.mw-none {
  max-width: none;
}
a.button-link > span.button-link-text {
  position: relative;
  z-index: 3;
  width: 100%;
  text-align: center;
}
@media screen and (max-width: 979px) {
  a.button-link {
    max-height: 55px;
    padding: 20px 32px 20px 24px;
    font-size: 1.5rem;
  }
  a.button-link > span.button-link-text {
    width: auto;
    text-align: left;
  }
}
a.button-link > span:not(.button-link-text) {
  margin-left: auto;
  transition: all 0.5s;
}
a.button-link > span:not(.button-link-text)::after {
  transition: all 0.5s;
}
a.button-link.primary {
  color: var(--White);
  border: 2px solid transparent;
  background: linear-gradient(135deg, #007ADD, #208455) padding-box, linear-gradient(135deg, #007ADD, #208455) border-box;
}
a.button-link.primary::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: inherit;
  background: linear-gradient(var(--White), var(--White)) padding-box, linear-gradient(90deg, #007ADD, #208455) border-box;
  opacity: 0;
  transition: opacity 0.6s;
  z-index: 1;
  pointer-events: none;
}
a.button-link.primary > span:not(.button-link-text) {
  position: relative;
  z-index: 2;
}
a.button-link.primary:hover {
  color: var(--FS_text_bluegray);
}
a.button-link.primary:hover::before {
  opacity: 1;
}
a.button-link.primary:hover > span:not(.button-link-text) {
  background-color: var(--FS_primary);
}
a.button-link.primary:hover > span:not(.button-link-text)::after {
  background-color: var(--White);
}
a.button-link.secondary {
  background: linear-gradient(var(--FS_Bg_lightblue), var(--FS_Bg_lightblue)) padding-box, linear-gradient(90deg, var(--FS_Bg_lightblue), var(--FS_Bg_lightblue)) border-box;
}
a.button-link.secondary > span:not(.button-link-text) {
  border: 1px solid var(--FS_primary);
}
a.button-link.secondary.type-2 {
  max-width: 100%;
  min-height: 83px;
  padding: 16px;
  border-radius: 0 8px 0 8px;
}
a.button-link.secondary.type-2::before {
  border: 1px solid var(--FS_primary);
}
a.button-link.secondary.type-2:hover::before {
  opacity: 1;
}
a.button-link.secondary::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: inherit;
  background: linear-gradient(var(--FS_Bg_lightblue), var(--FS_Bg_lightblue)) padding-box, linear-gradient(90deg, var(--FS_primary), var(--FS_primary)) border-box;
  border: 2px solid transparent;
  opacity: 0;
  transition: opacity 0.6s;
  z-index: 1;
  pointer-events: none;
}
a.button-link.secondary > span:not(.button-link-text) {
  position: relative;
  z-index: 2;
}
a.button-link.secondary:hover {
  color: var(--FS_primary);
}
a.button-link.secondary:hover::before {
  opacity: 1;
}
a.button-link.secondary:hover > span:not(.button-link-text) {
  background-color: var(--White);
}
a.button-link.secondary:hover > span:not(.button-link-text)::after {
  background-color: var(--FS_primary);
}
@media screen and (max-width: 979px) {
  a.button-link.secondary.type-2 {
    flex-direction: column;
    justify-content: space-between;
    max-height: 100%;
    min-height: auto;
    padding: 8px 12px;
    font-size: 1.4rem;
  }
  a.button-link.secondary.type-2 span:first-child {
    width: 100%;
  }
}
a.button-link.cta {
  color: var(--White);
  border: 2px solid transparent;
  background: var(--FS_CTA);
}
a.button-link.cta::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: inherit;
  background: linear-gradient(var(--White), var(--White)) padding-box, linear-gradient(90deg, #7336C2, #F06B42) border-box;
  opacity: 0;
  transition: opacity 0.6s;
  z-index: 1;
  pointer-events: none;
}
a.button-link.cta > span:not(.button-link-text) {
  position: relative;
  z-index: 2;
}
a.button-link.cta:hover {
  color: var(--FS_text_bluegray);
}
a.button-link.cta:hover::before {
  opacity: 1;
}
a.button-link.cta:hover > span:not(.button-link-text) {
  background-color: var(--FS_primary);
}
a.button-link.cta:hover > span:not(.button-link-text)::after {
  background-color: var(--White);
}
a.button-link.cta.min {
  min-width: 197px;
  height: 47px;
}
a.button-link.white {
  color: var(--White);
  border: 2px solid transparent;
  background: linear-gradient(var(--White), var(--White)) padding-box, linear-gradient(90deg, var(--White), var(--White)) border-box;
  color: var(--FS_text_bluegray);
}
a.button-link.white::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: inherit;
  background: linear-gradient(rgb(57, 83, 116), rgb(57, 83, 116)) padding-box, linear-gradient(90deg, var(--White), var(--White)) border-box;
  opacity: 0;
  transition: opacity 0.6s;
  z-index: 1;
  pointer-events: none;
}
a.button-link.white > span:not(.button-link-text) {
  position: relative;
  z-index: 2;
}
a.button-link.white:hover {
  color: var(--White);
}
a.button-link.white:hover::before {
  opacity: 1;
}
a.button-link.white:hover > span:not(.button-link-text) {
  background-color: var(--White);
}
a.button-link.white:hover > span:not(.button-link-text)::after {
  background-color: var(--FS_primary);
}
a.button-link.white-2 {
  color: var(--White);
  border: 2px solid var(--White);
  color: var(--White);
}
a.button-link.white-2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: inherit;
  background: linear-gradient(135deg, rgb(57, 83, 116), rgb(57, 83, 116)) padding-box, linear-gradient(135deg, var(--White), var(--White)) border-box;
  opacity: 0;
  transition: opacity 0.6s;
  z-index: 1;
  pointer-events: none;
}
a.button-link.white-2 > span:not(.button-link-text) {
  position: relative;
  z-index: 2;
}
a.button-link.white-2:hover {
  color: var(--White);
}
a.button-link.white-2:hover::before {
  opacity: 1;
}
a.button-link.white-2:hover > span:not(.button-link-text) {
  background-color: var(--White);
}
a.button-link.white-2:hover > span:not(.button-link-text)::after {
  background-color: var(--FS_primary);
}
a.article-link {
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 200%;
  display: inline;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: none;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
  display: inline-block;
}
a.article-link:hover {
  text-decoration-line: none;
}

p > a.article-link {
  display: inline;
}

.image-link {
  position: relative;
}
.image-link .image-link-img {
  position: relative;
  overflow: hidden;
  border-radius: 0 16px 0 16px;
}
.image-link .image-link-img > img {
  width: 100%;
  transition: transform 0.3s ease-out;
  transform-origin: center center;
  display: block;
  will-change: transform;
  backface-visibility: hidden;
}

.image-link .text-link {
  margin: 4px 0 0;
  display: inline-block;
}
.image-link .text-link::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

/* 追加：ホバー時の画像拡大 */
.image-link:hover > .image-link-img > img {
  transform: scale(1.2);
}

.h1-pdf-link {
  display: inline-block;
  margin-top: 32px;
}
.h1-pdf-link > span:first-child {
  color: var(--White);
  font-size: 1.6rem;
  font-weight: 500;
  padding-right: 6px;
}
.h1-pdf-link > span.icon-pdf {
  background-color: var(--White);
}
.h1-pdf-link > span.icon-pdf:after {
  content: "";
  width: 14px;
  height: 14px;
  background-color: var(--FS_primary);
}

.h1-pdf-link:hover > span:first-child {
  text-decoration: underline;
}

.card-link > li {
  position: relative;
  color: var(--FS_text_bluegray);
}
.card-link > li > a {
  display: block;
  cursor: pointer;
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  outline: none;
}
.card-link > li > a::before {
  content: "";
  opacity: 0;
  display: block;
  width: 100%;
  height: 100%;
  transform: translate(0px);
  position: relative;
  z-index: 1;
}
.card-link > li > a:focus-visible::before {
  opacity: 1;
  outline: 2px solid var(--FS_primary);
}
.card-link > li > figure.card-link-img {
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
  border-radius: 0 16px 0 16px;
}
.card-link > li > figure.card-link-img > img {
  width: 100%;
  transition: transform 0.3s ease-out;
  transform-origin: center center;
  display: block;
  will-change: transform;
  backface-visibility: hidden;
}
.card-link > li > p {
  margin-top: 8px;
  font-size: 1.5rem;
  line-height: 1.6;
}
.card-link > li > p.card-link-text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3; /* 行数指定 */
  overflow: hidden;
}
.card-link > li > p.card-link-title {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  width: 100%;
  font-weight: 700;
  color: var(--FS_primary);
  transition: all 0.3s;
}
.card-link > li > p.card-link-title .icon-arrow {
  margin-top: 8px;
}
.card-link > li ul.card-link-tag {
  position: relative;
  margin-top: 16px;
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
}
.card-link > li ul.card-link-tag > li {
  line-height: 1.5;
}
.card-link > li ul.card-link-tag > li > a {
  font-size: 1.4rem;
  background-color: var(--FS_Bg_gray_1);
  border: 1px solid var(--FS_Bg_gray_1);
  color: var(--FS_text_bluegray);
  padding: 1px 4px;
  border-radius: 4px;
  transition: all 0.3s;
  position: relative;
  z-index: 1;
}
.card-link > li ul.card-link-tag > li > a:hover {
  background: var(--White);
  color: var(--FS_primary);
  border: 1px solid var(--FS_primary);
}
.card-link > li ul.card-link-tag > li > a:focus-visible {
  outline: 2px solid var(--FS_primary);
}
.card-link > li:hover > figure.card-link-img > img {
  transform: scale(1.2);
}
.card-link > li:hover .card-link-title {
  color: var(--FS_text_bluegray_sub);
  text-decoration: underline;
}
.card-link.event > li > figure.card-link-img {
  border-radius: 0;
}
.card-link#narrow-down > li > figure.card-link-img {
  aspect-ratio: 3/2;
}
@media screen and (max-width: 979px) {
  .card-link > p {
    font-size: 1.5rem;
  }
}
.card-link.article > li .card-link-logo {
  margin-top: 12px;
}
.card-link.article > li .text-link {
  margin-top: 16px;
  font-size: 1.5rem;
  color: var(--FS_text_bluegray);
}
@media screen and (max-width: 979px) {
  .card-link.article > li .text-link {
    margin-top: 10px;
  }
}
.card-link.article > li .text-link > span {
  margin: 0 0 0 4px;
  border: 1px solid var(--FS_primary);
  transition: all 0.5s;
}
.card-link.article > li:hover > p,
.card-link.article > li:hover .text-link {
  text-decoration: underline;
}
.card-link.article > li:hover .text-link span {
  background: var(--White);
}
.card-link.article > li:hover .text-link span::after {
  background-color: var(--FS_primary);
}
.card-link.products > li .card-link-title.text-link {
  font-size: 1.6rem;
  display: inline-block;
}
.card-link.products > li .card-link-title.text-link > span {
  margin: 0 0 0 4px;
  border: 1px solid var(--FS_primary);
  transition: all 0.5s;
}
.card-link.products > li:hover .card-link-title.text-link span {
  background: var(--White);
}
.card-link.products > li:hover .card-link-title.text-link span::after {
  background-color: var(--FS_primary);
}

.event-label {
  display: flex;
  align-items: center;
  width: 100%;
  font-size: 1.4rem;
  line-height: 1.4;
}
.event-label > li {
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--White);
  padding: 4px;
  background-color: var(--FS_Bg_gray_1);
}
.event-label > li.seminar-label, .event-label > li.event-label {
  background-color: var(--FS_text_bluegray_sub);
}
.event-label > li.archive-label {
  background-color: var(--FS_accent_green_text);
}
.event-label > li:last-child {
  border-radius: 0 16px 0 0;
}
.event-label:has(> li:only-child) > li {
  width: 100%;
}
.event-label:has(> li:first-child:nth-last-child(2)) > li {
  width: 50%;
}

ul.event-tag {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 16px;
}
ul.event-tag li {
  background-color: var(--FS_Bg_gray_1);
  padding: 2px 6px;
  border-radius: 4px;
}

.article-no-data {
  font-size: 1.6rem;
  text-align: center;
  color: var(--FS_text_bluegray);
  margin-top: 60px;
  margin-bottom: 60px;
}

.category-tag {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.category-tag > li > label, .category-tag > li a {
  display: inline-block;
  background: var(--FS_Bg_gray_1);
  border: 1px solid var(--FS_Bg_gray_1);
  padding: 1px 4px;
  border-radius: 4px;
  font-size: 1.4rem;
  transition: all 0.3s;
  cursor: pointer;
}
.category-tag > li > label:hover, .category-tag > li a:hover {
  background: var(--White);
  color: var(--FS_primary);
  border: 1px solid var(--FS_primary);
}
.category-tag > li > label.selected {
  background: var(--FS_primary);
  color: var(--White);
}
.category-tag > li > label.disabled {
  background: var(--FS_Bg_gray_2);
  color: var(--White);
  pointer-events: none;
}
.category-tag input[type=checkbox] {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  z-index: -1;
  pointer-events: none;
}

.label:has(input:focus),
.label:focus-within {
  outline: 2px solid var(--FS_primary);
  outline-offset: -2px;
}

.anc-link-box,
.related-link-box {
  background: var(--FS_Bg_lightblue);
  border-radius: 0 20px 0 20px;
}

.anc-link-box {
  padding: 40px 94px;
}

.related-link-box {
  padding: 32px 40px;
}
.related-link-box .related-link-box-title {
  font-size: 1.8rem;
  font-style: normal;
  font-weight: 700;
  line-height: 160%;
  color: var(--FS_text_bluegray);
}

@media screen and (max-width: 979px) {
  .anc-link-box {
    padding: 24px 30px;
  }
  .related-link-box {
    padding: 24px;
  }
  .related-link-box .related-link-box-title {
    font-size: 1.7rem;
    line-height: 150%;
  }
}
p {
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 200%;
}
p.small {
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 400;
  line-height: 160%;
}

.h1-basis {
  font-size: 3.8rem;
  font-style: normal;
  font-weight: 700;
  line-height: 160%;
}

.h1-article {
  font-size: 3.2rem;
  font-style: normal;
  font-weight: 700;
  line-height: 150%;
}

.h2-basis {
  font-size: 3rem;
  font-style: normal;
  font-weight: 600;
  line-height: 160%;
  margin: 60px 0 16px;
  position: relative;
  padding-left: 31px;
}
.h2-basis::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45em;
  width: 23px;
  height: 23px;
  background-image: url("/e/common/img/icon/h2.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.h2-basis.no-icon {
  margin: 0;
  padding: 0;
}
.h2-basis.no-icon::before {
  content: none;
}

.h2-article {
  font-weight: 400;
  font-style: normal;
  font-size: 3.4rem;
  line-height: 160%;
}

.h2-news {
  font-weight: 700;
  font-style: normal;
  font-size: 2.2rem;
  line-height: 160%;
  margin: 0 0 24px;
}

section + section > .h2-news,
p + .h2-news {
  margin-top: 80px;
}

.h3-basis {
  font-size: 2.4rem;
  font-style: normal;
  font-weight: 700;
  line-height: 160%;
  margin: 36px 0 16px;
}

.h3-border-dotted {
  position: relative;
  font-size: 4.8rem;
  color: var(--FS_primary);
  font-weight: 300;
  line-height: 160%;
}
.h3-border-dotted::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-image: repeating-linear-gradient(to right, #12439a 0%, #41b8fb 25%, #5e5ec4 50%, #eba7f4 75%, #f07eff 100%);
  background-size: 100% 1px;
  mask-image: repeating-linear-gradient(to right, #000 1px 4px, transparent 1px 5px);
  -webkit-mask-image: repeating-linear-gradient(to right, #000 1px 4px, transparent 1px 5px);
}
.h3-border-dotted > span {
  font-weight: 700;
}

.h4-basis {
  font-size: 1.8rem;
  font-style: normal;
  font-weight: 700;
  line-height: 160%;
  margin: 32px 0 12px;
}

.h5-basis, .table-caption {
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 200%;
  margin: 16px 0 8px;
}

.policy-title {
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 2;
  color: var(--FS_text_bluegray);
}

.caption {
  font-size: 13px;
  font-style: normal;
  font-weight: 400;
  line-height: 160%;
  margin: 8px 0;
}

.annotation {
  font-weight: 400;
  font-size: 1.3rem;
  line-height: 160%;
}

.column-title {
  font-size: 2rem;
  font-style: normal;
  font-weight: 700;
  line-height: 160%;
}

sup, sub {
  font-size: 0.7em;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
  font-weight: normal;
  color: inherit;
}

sup {
  top: -0.4em;
}

sub {
  bottom: -0.25em;
}

p + p,
a + p {
  margin-top: 1.6rem;
}

.f-w-400 {
  font-weight: 400;
}

.f-w-bold {
  font-weight: bold;
}

.f-w-900 {
  font-weight: 900;
}

@media screen and (max-width: 979px) {
  .h1-basis,
  .h1-article {
    font-size: 2.2rem;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
  }
  .h2-basis {
    font-size: 2rem;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
    margin: 40px 0 16px;
    padding-left: 23px;
  }
  .h2-basis::before {
    content: "";
    top: 0.35em;
    width: 17px;
    height: 17px;
  }
  .h2-article {
    font-size: 2.2rem;
  }
  .h2-news {
    font-size: 1.8rem;
    line-height: 180%;
  }
  section + section > .h2-news,
  p + .h2-news {
    margin-top: 60px;
  }
  .h3-basis {
    font-size: 2rem;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
    margin: 20px 0 10px;
  }
  .h3-border-dotted {
    font-size: 3.8rem;
  }
  .h4-basis {
    font-size: 1.7rem;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
    margin: 20px 0 10px;
  }
  .column-title {
    font-size: 1.8rem;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
  }
  .policy-title {
    font-size: 1.8rem;
    line-height: 1.8;
  }
}
:root {
  --FS_primary: #004399;
  --FS_primary_grd: linear-gradient(120deg, #004399 0%, #1998A3 100%);
  --FS_text_bluegray: #395374;
  --FS_text_bluegray_sub: #5C799A;
  --FS_text_Attention: #DC1021;
  --White: #FFFFFF;
  --FS_Bg_lightblue: #E9F7FE;
  --FS_Bg_gray_1: #F0F5FA;
  --FS_Bg_gray_2: #CCD7E0;
  --FS_Bg_gray_3: #A8BBCB;
  --FS_accent_ultramarine: #6585DC;
  --FS_accent_ultramarine_text: #4E6EC7;
  --FS_accent_blue: #3CB6FF;
  --FS_accent_blue_text: #39A4E4;
  --FS_accent_green: #68E1BB;
  --FS_accent_green_text: #36C19E;
  --FS_accent_pink: #EBA7F4;
  --FS_gradation_A: linear-gradient(90deg, #3B7ACC 0%, #175BB3 20%, #1F7CEE 55%, #58EBFC 85%, #E9FFDF 100%);
  --FS_gradation_B: linear-gradient(90deg, #12439A 0%, #41B8FB 30.29%, #5E5EC4 50%, #EBA7F4 100%);
  --FS_CTA: linear-gradient(90deg, #5C0054 0%, #004399 100%);
}

.text-primary {
  color: var(--FS_primary);
}

.text-text-bluegray {
  color: var(--FS_text_bluegray);
}

.text-text-bluegray-sub {
  color: var(--FS_text_bluegray_sub);
}

.text-accent-ultramarine {
  color: var(--FS_accent_ultramarine);
}

.text-accent-blue {
  color: var(--FS_accent_blue);
}

.text-accent-green {
  color: var(--FS_accent_green);
}

.text-accent-pink {
  color: var(--FS_accent_pink);
}

.bg-primary-grd {
  background: var(--FS_primary_grd);
}

.bg-white {
  background: var(--White);
}

.bg-bg-lightblue {
  background: var(--FS_Bg_lightblue);
}

.bg-bg-gray-1 {
  background: var(--FS_Bg_gray_1);
}

.bg-bg-gray-2 {
  background: var(--FS_Bg_gray_2);
}

.bg-bg-gray-3 {
  background: var(--FS_Bg_gray_3);
}

.bg-gradation-a {
  background: var(--FS_gradation_A);
}

.bg-gradation-b {
  background: var(--FS_gradation_B);
}

.bg-cta {
  background: var(--FS_CTA);
}

.border-primary {
  border-color: var(--FS_primary);
}

.border-bg-gray-2 {
  border-color: var(--FS_Bg_gray_2);
}

.border-bg-gray-3 {
  border-color: var(--FS_Bg_gray_3);
}

.fill-primary {
  fill: var(--FS_primary);
}

.fill-accent-blue {
  fill: var(--FS_accent_blue);
}

.fill-accent-green {
  fill: var(--FS_accent_green);
}

.fill-accent-pink {
  fill: var(--FS_accent_pink);
}

.stroke-primary {
  stroke: var(--FS_primary);
}

.stroke-accent-blue {
  stroke: var(--FS_accent_blue);
}

.stroke-accent-green {
  stroke: var(--FS_accent_green);
}

.stroke-accent-pink {
  stroke: var(--FS_accent_pink);
}

.bg-gradient-primary {
  background: var(--FS_primary_grd);
}

.bg-gradient-a {
  background: var(--FS_gradation_A);
}

.bg-gradient-b {
  background: var(--FS_gradation_B);
}

.bg-cta {
  background: var(--FS_CTA);
}

.btn-primary {
  background: var(--FS_primary);
  color: var(--White);
  border: 1px solid var(--FS_primary);
}
.btn-primary:hover {
  background: var(--FS_primary_grd);
}

.bg-primary-10 {
  background: color-mix(in srgb, var(--FS_primary) 10%, transparent);
}

.bg-primary-20 {
  background: color-mix(in srgb, var(--FS_primary) 20%, transparent);
}

.default-content {
  width: 90vw;
  max-width: 1100px;
  margin: 0 auto;
}

.md-content {
  width: 90vw;
  max-width: 912px;
  margin: 0 auto;
}

@media screen and (max-width: 979px) {
  .wrap {
    min-height: 100%;
  }
  body {
    margin-top: 68px;
  }
}
.flex {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}

.flex.wrap {
  flex-flow: wrap;
}

.flex.nowrap {
  flex-wrap: nowrap;
}

.flex.gap0 {
  gap: 0;
}

.flex.center {
  justify-content: center;
}

.flex.end {
  justify-content: flex-end;
}

.flex.align-center {
  align-items: center;
}

.flex.align-end {
  align-items: flex-end;
}

.flex.space-between {
  justify-content: space-between;
}

.flex.card.gap0 {
  margin: 0 -16px;
}

.flex-colum {
  display: flex;
  flex-direction: column;
}

.flex-end {
  align-items: flex-end;
}

.base-line {
  align-items: baseline;
}

@media screen and (max-width: 979px) {
  .flex.tb-align-end {
    align-items: flex-end;
  }
  .flex.tb-flex-column {
    flex-direction: column;
  }
}
@media screen and (max-width: 449px) {
  .flex.sp-align-left {
    align-items: flex-start;
  }
  .flex.sp-flex-column {
    flex-direction: column;
  }
}
.grid {
  width: 100%;
  display: grid;
  height: auto;
  grid-template-columns: repeat(2, 1fr);
}
.grid.text-nowrap > * {
  white-space: nowrap;
}
.grid.col-1 {
  grid-template-columns: repeat(1, 1fr);
}
.grid.col-2 {
  grid-template-columns: repeat(2, 1fr);
}
.grid.col-2-lg {
  grid-template-columns: 1fr calc((100% - 64px) / 3);
}
.grid.col-2-lg-reverse {
  grid-template-columns: calc((100% - 64px) / 3) 1fr;
}
.grid.col-2-md {
  grid-template-columns: 65% 32%;
  gap: 3%;
}
.grid.col-2-sm {
  grid-template-columns: 1fr calc((100% - 64px) / 7);
}
.grid.col-2-sm-reverse {
  grid-template-columns: calc((100% - 64px) / 7) 1fr;
}
.grid.col-2-70-30 {
  grid-template-columns: 70% 30%;
}
.grid.col-2-30-70 {
  grid-template-columns: 30% 70%;
}
.grid.col-2-60-40 {
  grid-template-columns: 60% 40%;
}
.grid.col-2-40-60 {
  grid-template-columns: 40% 60%;
}
.grid.col-2-80-20 {
  grid-template-columns: 80% 20%;
}
.grid.col-2-20-80 {
  grid-template-columns: 20% 80%;
}
.grid.col-2-75-25 {
  grid-template-columns: 75% 25%;
}
.grid.col-2-25-75 {
  grid-template-columns: 25% 75%;
}
.grid.col-2-custom {
  grid-template-columns: var(--col1-ratio, 1fr) var(--col2-ratio, 1fr);
}
.grid.col-3 {
  grid-template-columns: repeat(3, 1fr);
}
.grid.col-4 {
  grid-template-columns: repeat(4, 1fr);
}
.grid.col-5 {
  grid-template-columns: repeat(5, 1fr);
}
.grid.col-6 {
  grid-template-columns: repeat(6, 1fr);
}
.grid.col-7 {
  grid-template-columns: repeat(7, 1fr);
}
.grid.y-center {
  align-items: center;
}
.grid.y-end {
  align-items: flex-end;
}
.grid.x-center {
  justify-content: center;
}
.grid.x-start {
  justify-content: start;
}
.grid.x-center {
  justify-content: center;
}
.grid.x-end {
  justify-content: end;
}
.grid.x-space-between {
  justify-content: space-between;
}
.grid.x-space-around {
  justify-content: space-around;
}
.grid.x-space-evenly {
  justify-content: space-evenly;
}
.grid.items-start {
  justify-items: start;
}
.grid.items-center {
  justify-items: center;
}
.grid.items-end {
  justify-items: end;
}
.grid.items-stretch {
  justify-items: stretch;
}

@media screen and (max-width: 1000px) {
  .grid {
    gap: 16px;
  }
  .grid.hr-col-1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .grid.hr-col-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .grid.hr-col-3 {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 979px) {
  .grid {
    gap: 16px;
  }
  .grid.tb-col-1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .grid.tb-col-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .grid.tb-col-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .grid.tb-col-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .grid.tb-col-5 {
    grid-template-columns: repeat(5, 1fr);
  }
  .grid.col-2-md {
    grid-template-columns: 55% 42%;
  }
  .grid.col-2-70-30.tb-col-1,
  .grid.col-2-30-70.tb-col-1,
  .grid.col-2-60-40.tb-col-1,
  .grid.col-2-40-60.tb-col-1,
  .grid.col-2-80-20.tb-col-1,
  .grid.col-2-20-80.tb-col-1,
  .grid.col-2-75-25.tb-col-1,
  .grid.col-2-25-75.tb-col-1,
  .grid.col-2-custom.tb-col-1 {
    grid-template-columns: repeat(1, 1fr);
  }
}
@media screen and (max-width: 449px) {
  .grid.col-2-lg {
    grid-template-columns: 1fr calc((100% - 32px) / 3);
  }
  .grid.col-2-lg.tb-col-1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .grid.col-2-lg-revarse {
    grid-template-columns: calc((100% - 32px) / 3) 1fr;
  }
  .grid.col-2-lg-revarse.tb-col-1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .grid.col-2-sm {
    grid-template-columns: 1fr calc((100% - 32px) / 5);
  }
  .grid.col-2-sm.tb-col-1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .grid.col-2-sm-revarse {
    grid-template-columns: calc((100% - 32px) / 5) 1fr;
  }
  .grid.col-2-sm-revarse.tb-col-1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .grid.sp-col-1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .grid.sp-col-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .grid.sp-col-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .grid.sp-col-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .grid.sp-col-5 {
    grid-template-columns: repeat(5, 1fr);
  }
  .grid.col-2-70-30.sp-col-1,
  .grid.col-2-30-70.sp-col-1,
  .grid.col-2-60-40.sp-col-1,
  .grid.col-2-40-60.sp-col-1,
  .grid.col-2-80-20.sp-col-1,
  .grid.col-2-20-80.sp-col-1,
  .grid.col-2-75-25.sp-col-1,
  .grid.col-2-25-75.sp-col-1,
  .grid.col-2-custom.sp-col-1 {
    grid-template-columns: repeat(1, 1fr);
  }
}
.order-1 {
  order: 1;
}

.order-2 {
  order: 2;
}

.order-3 {
  order: 3;
}

.order-4 {
  order: 4;
}

.reverse .order-1,
.sp-reverse .order-1 {
  order: 4;
}
.reverse .order-2,
.sp-reverse .order-2 {
  order: 3;
}
.reverse .order-3,
.sp-reverse .order-3 {
  order: 2;
}
.reverse .order-4,
.sp-reverse .order-4 {
  order: 1;
}

@media screen and (max-width: 699px) {
  .reverse .order-1 {
    order: 1;
  }
  .reverse .order-2 {
    order: 2;
  }
  .reverse .order-3 {
    order: 3;
  }
  .reverse .order-4 {
    order: 4;
  }
}
@media screen and (max-width: 979px) {
  .sp-reverse .order-1 {
    order: 1;
  }
  .sp-reverse .order-2 {
    order: 2;
  }
  .sp-reverse .order-3 {
    order: 3;
  }
  .sp-reverse .order-4 {
    order: 4;
  }
}
.gap-0 {
  gap: 0px;
}

.col-gap-0 {
  column-gap: 0px;
}

.row-gap-0 {
  row-gap: 0px;
}

@media screen and (max-width: 979px) {
  .tb-gap-0 {
    gap: 0px !important;
  }
  .tb-col-gap-0 {
    column-gap: 0px !important;
  }
  .tb-row-gap-0 {
    row-gap: 0px !important;
  }
}
@media screen and (max-width: 699px) {
  .w699-gap-0 {
    gap: 0px !important;
  }
  .w699-col-gap-0 {
    column-gap: 0px !important;
  }
  .w699-row-gap-0 {
    row-gap: 0px !important;
  }
}
@media screen and (max-width: 449px) {
  .sp-gap-0 {
    gap: 0px !important;
  }
  .sp-col-gap-0 {
    column-gap: 0px !important;
  }
  .sp-row-gap-0 {
    row-gap: 0px !important;
  }
}
.gap-2 {
  gap: 2px;
}

.col-gap-2 {
  column-gap: 2px;
}

.row-gap-2 {
  row-gap: 2px;
}

@media screen and (max-width: 979px) {
  .tb-gap-2 {
    gap: 2px !important;
  }
  .tb-col-gap-2 {
    column-gap: 2px !important;
  }
  .tb-row-gap-2 {
    row-gap: 2px !important;
  }
}
@media screen and (max-width: 699px) {
  .w699-gap-2 {
    gap: 2px !important;
  }
  .w699-col-gap-2 {
    column-gap: 2px !important;
  }
  .w699-row-gap-2 {
    row-gap: 2px !important;
  }
}
@media screen and (max-width: 449px) {
  .sp-gap-2 {
    gap: 2px !important;
  }
  .sp-col-gap-2 {
    column-gap: 2px !important;
  }
  .sp-row-gap-2 {
    row-gap: 2px !important;
  }
}
.gap-4 {
  gap: 4px;
}

.col-gap-4 {
  column-gap: 4px;
}

.row-gap-4 {
  row-gap: 4px;
}

@media screen and (max-width: 979px) {
  .tb-gap-4 {
    gap: 4px !important;
  }
  .tb-col-gap-4 {
    column-gap: 4px !important;
  }
  .tb-row-gap-4 {
    row-gap: 4px !important;
  }
}
@media screen and (max-width: 699px) {
  .w699-gap-4 {
    gap: 4px !important;
  }
  .w699-col-gap-4 {
    column-gap: 4px !important;
  }
  .w699-row-gap-4 {
    row-gap: 4px !important;
  }
}
@media screen and (max-width: 449px) {
  .sp-gap-4 {
    gap: 4px !important;
  }
  .sp-col-gap-4 {
    column-gap: 4px !important;
  }
  .sp-row-gap-4 {
    row-gap: 4px !important;
  }
}
.gap-8 {
  gap: 8px;
}

.col-gap-8 {
  column-gap: 8px;
}

.row-gap-8 {
  row-gap: 8px;
}

@media screen and (max-width: 979px) {
  .tb-gap-8 {
    gap: 8px !important;
  }
  .tb-col-gap-8 {
    column-gap: 8px !important;
  }
  .tb-row-gap-8 {
    row-gap: 8px !important;
  }
}
@media screen and (max-width: 699px) {
  .w699-gap-8 {
    gap: 8px !important;
  }
  .w699-col-gap-8 {
    column-gap: 8px !important;
  }
  .w699-row-gap-8 {
    row-gap: 8px !important;
  }
}
@media screen and (max-width: 449px) {
  .sp-gap-8 {
    gap: 8px !important;
  }
  .sp-col-gap-8 {
    column-gap: 8px !important;
  }
  .sp-row-gap-8 {
    row-gap: 8px !important;
  }
}
.gap-10 {
  gap: 10px;
}

.col-gap-10 {
  column-gap: 10px;
}

.row-gap-10 {
  row-gap: 10px;
}

@media screen and (max-width: 979px) {
  .tb-gap-10 {
    gap: 10px !important;
  }
  .tb-col-gap-10 {
    column-gap: 10px !important;
  }
  .tb-row-gap-10 {
    row-gap: 10px !important;
  }
}
@media screen and (max-width: 699px) {
  .w699-gap-10 {
    gap: 10px !important;
  }
  .w699-col-gap-10 {
    column-gap: 10px !important;
  }
  .w699-row-gap-10 {
    row-gap: 10px !important;
  }
}
@media screen and (max-width: 449px) {
  .sp-gap-10 {
    gap: 10px !important;
  }
  .sp-col-gap-10 {
    column-gap: 10px !important;
  }
  .sp-row-gap-10 {
    row-gap: 10px !important;
  }
}
.gap-16 {
  gap: 16px;
}

.col-gap-16 {
  column-gap: 16px;
}

.row-gap-16 {
  row-gap: 16px;
}

@media screen and (max-width: 979px) {
  .tb-gap-16 {
    gap: 16px !important;
  }
  .tb-col-gap-16 {
    column-gap: 16px !important;
  }
  .tb-row-gap-16 {
    row-gap: 16px !important;
  }
}
@media screen and (max-width: 699px) {
  .w699-gap-16 {
    gap: 16px !important;
  }
  .w699-col-gap-16 {
    column-gap: 16px !important;
  }
  .w699-row-gap-16 {
    row-gap: 16px !important;
  }
}
@media screen and (max-width: 449px) {
  .sp-gap-16 {
    gap: 16px !important;
  }
  .sp-col-gap-16 {
    column-gap: 16px !important;
  }
  .sp-row-gap-16 {
    row-gap: 16px !important;
  }
}
.gap-20 {
  gap: 20px;
}

.col-gap-20 {
  column-gap: 20px;
}

.row-gap-20 {
  row-gap: 20px;
}

@media screen and (max-width: 979px) {
  .tb-gap-20 {
    gap: 20px !important;
  }
  .tb-col-gap-20 {
    column-gap: 20px !important;
  }
  .tb-row-gap-20 {
    row-gap: 20px !important;
  }
}
@media screen and (max-width: 699px) {
  .w699-gap-20 {
    gap: 20px !important;
  }
  .w699-col-gap-20 {
    column-gap: 20px !important;
  }
  .w699-row-gap-20 {
    row-gap: 20px !important;
  }
}
@media screen and (max-width: 449px) {
  .sp-gap-20 {
    gap: 20px !important;
  }
  .sp-col-gap-20 {
    column-gap: 20px !important;
  }
  .sp-row-gap-20 {
    row-gap: 20px !important;
  }
}
.gap-24 {
  gap: 24px;
}

.col-gap-24 {
  column-gap: 24px;
}

.row-gap-24 {
  row-gap: 24px;
}

@media screen and (max-width: 979px) {
  .tb-gap-24 {
    gap: 24px !important;
  }
  .tb-col-gap-24 {
    column-gap: 24px !important;
  }
  .tb-row-gap-24 {
    row-gap: 24px !important;
  }
}
@media screen and (max-width: 699px) {
  .w699-gap-24 {
    gap: 24px !important;
  }
  .w699-col-gap-24 {
    column-gap: 24px !important;
  }
  .w699-row-gap-24 {
    row-gap: 24px !important;
  }
}
@media screen and (max-width: 449px) {
  .sp-gap-24 {
    gap: 24px !important;
  }
  .sp-col-gap-24 {
    column-gap: 24px !important;
  }
  .sp-row-gap-24 {
    row-gap: 24px !important;
  }
}
.gap-32 {
  gap: 32px;
}

.col-gap-32 {
  column-gap: 32px;
}

.row-gap-32 {
  row-gap: 32px;
}

@media screen and (max-width: 979px) {
  .tb-gap-32 {
    gap: 32px !important;
  }
  .tb-col-gap-32 {
    column-gap: 32px !important;
  }
  .tb-row-gap-32 {
    row-gap: 32px !important;
  }
}
@media screen and (max-width: 699px) {
  .w699-gap-32 {
    gap: 32px !important;
  }
  .w699-col-gap-32 {
    column-gap: 32px !important;
  }
  .w699-row-gap-32 {
    row-gap: 32px !important;
  }
}
@media screen and (max-width: 449px) {
  .sp-gap-32 {
    gap: 32px !important;
  }
  .sp-col-gap-32 {
    column-gap: 32px !important;
  }
  .sp-row-gap-32 {
    row-gap: 32px !important;
  }
}
.gap-40 {
  gap: 40px;
}

.col-gap-40 {
  column-gap: 40px;
}

.row-gap-40 {
  row-gap: 40px;
}

@media screen and (max-width: 979px) {
  .tb-gap-40 {
    gap: 40px !important;
  }
  .tb-col-gap-40 {
    column-gap: 40px !important;
  }
  .tb-row-gap-40 {
    row-gap: 40px !important;
  }
}
@media screen and (max-width: 699px) {
  .w699-gap-40 {
    gap: 40px !important;
  }
  .w699-col-gap-40 {
    column-gap: 40px !important;
  }
  .w699-row-gap-40 {
    row-gap: 40px !important;
  }
}
@media screen and (max-width: 449px) {
  .sp-gap-40 {
    gap: 40px !important;
  }
  .sp-col-gap-40 {
    column-gap: 40px !important;
  }
  .sp-row-gap-40 {
    row-gap: 40px !important;
  }
}
.gap-48 {
  gap: 48px;
}

.col-gap-48 {
  column-gap: 48px;
}

.row-gap-48 {
  row-gap: 48px;
}

@media screen and (max-width: 979px) {
  .tb-gap-48 {
    gap: 48px !important;
  }
  .tb-col-gap-48 {
    column-gap: 48px !important;
  }
  .tb-row-gap-48 {
    row-gap: 48px !important;
  }
}
@media screen and (max-width: 699px) {
  .w699-gap-48 {
    gap: 48px !important;
  }
  .w699-col-gap-48 {
    column-gap: 48px !important;
  }
  .w699-row-gap-48 {
    row-gap: 48px !important;
  }
}
@media screen and (max-width: 449px) {
  .sp-gap-48 {
    gap: 48px !important;
  }
  .sp-col-gap-48 {
    column-gap: 48px !important;
  }
  .sp-row-gap-48 {
    row-gap: 48px !important;
  }
}
.gap-56 {
  gap: 56px;
}

.col-gap-56 {
  column-gap: 56px;
}

.row-gap-56 {
  row-gap: 56px;
}

@media screen and (max-width: 979px) {
  .tb-gap-56 {
    gap: 56px !important;
  }
  .tb-col-gap-56 {
    column-gap: 56px !important;
  }
  .tb-row-gap-56 {
    row-gap: 56px !important;
  }
}
@media screen and (max-width: 699px) {
  .w699-gap-56 {
    gap: 56px !important;
  }
  .w699-col-gap-56 {
    column-gap: 56px !important;
  }
  .w699-row-gap-56 {
    row-gap: 56px !important;
  }
}
@media screen and (max-width: 449px) {
  .sp-gap-56 {
    gap: 56px !important;
  }
  .sp-col-gap-56 {
    column-gap: 56px !important;
  }
  .sp-row-gap-56 {
    row-gap: 56px !important;
  }
}
.gap-60 {
  gap: 60px;
}

.col-gap-60 {
  column-gap: 60px;
}

.row-gap-60 {
  row-gap: 60px;
}

@media screen and (max-width: 979px) {
  .tb-gap-60 {
    gap: 60px !important;
  }
  .tb-col-gap-60 {
    column-gap: 60px !important;
  }
  .tb-row-gap-60 {
    row-gap: 60px !important;
  }
}
@media screen and (max-width: 699px) {
  .w699-gap-60 {
    gap: 60px !important;
  }
  .w699-col-gap-60 {
    column-gap: 60px !important;
  }
  .w699-row-gap-60 {
    row-gap: 60px !important;
  }
}
@media screen and (max-width: 449px) {
  .sp-gap-60 {
    gap: 60px !important;
  }
  .sp-col-gap-60 {
    column-gap: 60px !important;
  }
  .sp-row-gap-60 {
    row-gap: 60px !important;
  }
}
.gap-64 {
  gap: 64px;
}

.col-gap-64 {
  column-gap: 64px;
}

.row-gap-64 {
  row-gap: 64px;
}

@media screen and (max-width: 979px) {
  .tb-gap-64 {
    gap: 64px !important;
  }
  .tb-col-gap-64 {
    column-gap: 64px !important;
  }
  .tb-row-gap-64 {
    row-gap: 64px !important;
  }
}
@media screen and (max-width: 699px) {
  .w699-gap-64 {
    gap: 64px !important;
  }
  .w699-col-gap-64 {
    column-gap: 64px !important;
  }
  .w699-row-gap-64 {
    row-gap: 64px !important;
  }
}
@media screen and (max-width: 449px) {
  .sp-gap-64 {
    gap: 64px !important;
  }
  .sp-col-gap-64 {
    column-gap: 64px !important;
  }
  .sp-row-gap-64 {
    row-gap: 64px !important;
  }
}
.gap-72 {
  gap: 72px;
}

.col-gap-72 {
  column-gap: 72px;
}

.row-gap-72 {
  row-gap: 72px;
}

@media screen and (max-width: 979px) {
  .tb-gap-72 {
    gap: 72px !important;
  }
  .tb-col-gap-72 {
    column-gap: 72px !important;
  }
  .tb-row-gap-72 {
    row-gap: 72px !important;
  }
}
@media screen and (max-width: 699px) {
  .w699-gap-72 {
    gap: 72px !important;
  }
  .w699-col-gap-72 {
    column-gap: 72px !important;
  }
  .w699-row-gap-72 {
    row-gap: 72px !important;
  }
}
@media screen and (max-width: 449px) {
  .sp-gap-72 {
    gap: 72px !important;
  }
  .sp-col-gap-72 {
    column-gap: 72px !important;
  }
  .sp-row-gap-72 {
    row-gap: 72px !important;
  }
}
.gap-80 {
  gap: 80px;
}

.col-gap-80 {
  column-gap: 80px;
}

.row-gap-80 {
  row-gap: 80px;
}

@media screen and (max-width: 979px) {
  .tb-gap-80 {
    gap: 80px !important;
  }
  .tb-col-gap-80 {
    column-gap: 80px !important;
  }
  .tb-row-gap-80 {
    row-gap: 80px !important;
  }
}
@media screen and (max-width: 699px) {
  .w699-gap-80 {
    gap: 80px !important;
  }
  .w699-col-gap-80 {
    column-gap: 80px !important;
  }
  .w699-row-gap-80 {
    row-gap: 80px !important;
  }
}
@media screen and (max-width: 449px) {
  .sp-gap-80 {
    gap: 80px !important;
  }
  .sp-col-gap-80 {
    column-gap: 80px !important;
  }
  .sp-row-gap-80 {
    row-gap: 80px !important;
  }
}
.gap-88 {
  gap: 88px;
}

.col-gap-88 {
  column-gap: 88px;
}

.row-gap-88 {
  row-gap: 88px;
}

@media screen and (max-width: 979px) {
  .tb-gap-88 {
    gap: 88px !important;
  }
  .tb-col-gap-88 {
    column-gap: 88px !important;
  }
  .tb-row-gap-88 {
    row-gap: 88px !important;
  }
}
@media screen and (max-width: 699px) {
  .w699-gap-88 {
    gap: 88px !important;
  }
  .w699-col-gap-88 {
    column-gap: 88px !important;
  }
  .w699-row-gap-88 {
    row-gap: 88px !important;
  }
}
@media screen and (max-width: 449px) {
  .sp-gap-88 {
    gap: 88px !important;
  }
  .sp-col-gap-88 {
    column-gap: 88px !important;
  }
  .sp-row-gap-88 {
    row-gap: 88px !important;
  }
}
.gap-96 {
  gap: 96px;
}

.col-gap-96 {
  column-gap: 96px;
}

.row-gap-96 {
  row-gap: 96px;
}

@media screen and (max-width: 979px) {
  .tb-gap-96 {
    gap: 96px !important;
  }
  .tb-col-gap-96 {
    column-gap: 96px !important;
  }
  .tb-row-gap-96 {
    row-gap: 96px !important;
  }
}
@media screen and (max-width: 699px) {
  .w699-gap-96 {
    gap: 96px !important;
  }
  .w699-col-gap-96 {
    column-gap: 96px !important;
  }
  .w699-row-gap-96 {
    row-gap: 96px !important;
  }
}
@media screen and (max-width: 449px) {
  .sp-gap-96 {
    gap: 96px !important;
  }
  .sp-col-gap-96 {
    column-gap: 96px !important;
  }
  .sp-row-gap-96 {
    row-gap: 96px !important;
  }
}
.gap-104 {
  gap: 104px;
}

.col-gap-104 {
  column-gap: 104px;
}

.row-gap-104 {
  row-gap: 104px;
}

@media screen and (max-width: 979px) {
  .tb-gap-104 {
    gap: 104px !important;
  }
  .tb-col-gap-104 {
    column-gap: 104px !important;
  }
  .tb-row-gap-104 {
    row-gap: 104px !important;
  }
}
@media screen and (max-width: 699px) {
  .w699-gap-104 {
    gap: 104px !important;
  }
  .w699-col-gap-104 {
    column-gap: 104px !important;
  }
  .w699-row-gap-104 {
    row-gap: 104px !important;
  }
}
@media screen and (max-width: 449px) {
  .sp-gap-104 {
    gap: 104px !important;
  }
  .sp-col-gap-104 {
    column-gap: 104px !important;
  }
  .sp-row-gap-104 {
    row-gap: 104px !important;
  }
}
.gap-112 {
  gap: 112px;
}

.col-gap-112 {
  column-gap: 112px;
}

.row-gap-112 {
  row-gap: 112px;
}

@media screen and (max-width: 979px) {
  .tb-gap-112 {
    gap: 112px !important;
  }
  .tb-col-gap-112 {
    column-gap: 112px !important;
  }
  .tb-row-gap-112 {
    row-gap: 112px !important;
  }
}
@media screen and (max-width: 699px) {
  .w699-gap-112 {
    gap: 112px !important;
  }
  .w699-col-gap-112 {
    column-gap: 112px !important;
  }
  .w699-row-gap-112 {
    row-gap: 112px !important;
  }
}
@media screen and (max-width: 449px) {
  .sp-gap-112 {
    gap: 112px !important;
  }
  .sp-col-gap-112 {
    column-gap: 112px !important;
  }
  .sp-row-gap-112 {
    row-gap: 112px !important;
  }
}
.gap-120 {
  gap: 120px;
}

.col-gap-120 {
  column-gap: 120px;
}

.row-gap-120 {
  row-gap: 120px;
}

@media screen and (max-width: 979px) {
  .tb-gap-120 {
    gap: 120px !important;
  }
  .tb-col-gap-120 {
    column-gap: 120px !important;
  }
  .tb-row-gap-120 {
    row-gap: 120px !important;
  }
}
@media screen and (max-width: 699px) {
  .w699-gap-120 {
    gap: 120px !important;
  }
  .w699-col-gap-120 {
    column-gap: 120px !important;
  }
  .w699-row-gap-120 {
    row-gap: 120px !important;
  }
}
@media screen and (max-width: 449px) {
  .sp-gap-120 {
    gap: 120px !important;
  }
  .sp-col-gap-120 {
    column-gap: 120px !important;
  }
  .sp-row-gap-120 {
    row-gap: 120px !important;
  }
}
.gap-128 {
  gap: 128px;
}

.col-gap-128 {
  column-gap: 128px;
}

.row-gap-128 {
  row-gap: 128px;
}

@media screen and (max-width: 979px) {
  .tb-gap-128 {
    gap: 128px !important;
  }
  .tb-col-gap-128 {
    column-gap: 128px !important;
  }
  .tb-row-gap-128 {
    row-gap: 128px !important;
  }
}
@media screen and (max-width: 699px) {
  .w699-gap-128 {
    gap: 128px !important;
  }
  .w699-col-gap-128 {
    column-gap: 128px !important;
  }
  .w699-row-gap-128 {
    row-gap: 128px !important;
  }
}
@media screen and (max-width: 449px) {
  .sp-gap-128 {
    gap: 128px !important;
  }
  .sp-col-gap-128 {
    column-gap: 128px !important;
  }
  .sp-row-gap-128 {
    row-gap: 128px !important;
  }
}
.gap-160 {
  gap: 160px;
}

.col-gap-160 {
  column-gap: 160px;
}

.row-gap-160 {
  row-gap: 160px;
}

@media screen and (max-width: 979px) {
  .tb-gap-160 {
    gap: 160px !important;
  }
  .tb-col-gap-160 {
    column-gap: 160px !important;
  }
  .tb-row-gap-160 {
    row-gap: 160px !important;
  }
}
@media screen and (max-width: 699px) {
  .w699-gap-160 {
    gap: 160px !important;
  }
  .w699-col-gap-160 {
    column-gap: 160px !important;
  }
  .w699-row-gap-160 {
    row-gap: 160px !important;
  }
}
@media screen and (max-width: 449px) {
  .sp-gap-160 {
    gap: 160px !important;
  }
  .sp-col-gap-160 {
    column-gap: 160px !important;
  }
  .sp-row-gap-160 {
    row-gap: 160px !important;
  }
}
.border-top {
  padding-top: 24px;
  border-top: 1px solid #E0E0E0;
}

.border-bottom {
  padding-bottom: 40px;
  border-bottom: 1px solid var(--border1);
}

@media screen and (max-width: 449px) {
  .border-bottom {
    padding-bottom: 24px;
  }
}
.googleMap iframe {
  aspect-ratio: 66/37;
}

main:has(> div.circle-wrap) {
  overflow: hidden;
}

.circle-wrap {
  position: relative;
}
.circle-wrap::after, .circle-wrap::before {
  content: "";
  position: absolute;
  width: 52vw;
  height: 52vw;
  transform: translate(-50%, -50%);
  mix-blend-mode: hard-light;
  pointer-events: none;
  z-index: 0;
}
.circle-wrap.right-hidden::after {
  content: none;
}
.circle-wrap.left-hidden::before {
  content: none;
}

.circle-wrap::after {
  left: 100%;
  background-image: url(/e/common/img/element/circle_right_01.png);
  background-size: contain;
}

.circle-wrap.type-2::after {
  background-image: url(/e/common/img/element/circle_right_02.png);
  background-size: contain;
}

.circle-wrap.type-3::after {
  background-image: url(/e/common/img/element/circle_right_03.png);
  background-size: contain;
}

.circle-wrap::before {
  background: url(/e/common/img/element/circle_left_01.png);
  background-size: contain;
}

.circle-wrap.type-2::before {
  background: url(/e/common/img/element/circle_left_02.png);
  background-size: contain;
}

.circle-wrap.type-3::before {
  background: url(/e/common/img/element/circle_left_03.png);
  background-size: contain;
}

.circle-wrap > .default-content {
  position: relative;
  z-index: 1;
}

.col-w-1 {
  width: 1%;
}

.col-w-2 {
  width: 2%;
}

.col-w-3 {
  width: 3%;
}

.col-w-4 {
  width: 4%;
}

.col-w-5 {
  width: 5%;
}

.col-w-6 {
  width: 6%;
}

.col-w-7 {
  width: 7%;
}

.col-w-8 {
  width: 8%;
}

.col-w-9 {
  width: 9%;
}

.col-w-10 {
  width: 10%;
}

.col-w-11 {
  width: 11%;
}

.col-w-12 {
  width: 12%;
}

.col-w-13 {
  width: 13%;
}

.col-w-14 {
  width: 14%;
}

.col-w-15 {
  width: 15%;
}

.col-w-16 {
  width: 16%;
}

.col-w-17 {
  width: 17%;
}

.col-w-18 {
  width: 18%;
}

.col-w-19 {
  width: 19%;
}

.col-w-20 {
  width: 20%;
}

.col-w-21 {
  width: 21%;
}

.col-w-22 {
  width: 22%;
}

.col-w-23 {
  width: 23%;
}

.col-w-24 {
  width: 24%;
}

.col-w-25 {
  width: 25%;
}

.col-w-26 {
  width: 26%;
}

.col-w-27 {
  width: 27%;
}

.col-w-28 {
  width: 28%;
}

.col-w-29 {
  width: 29%;
}

.col-w-30 {
  width: 30%;
}

.col-w-31 {
  width: 31%;
}

.col-w-32 {
  width: 32%;
}

.col-w-33 {
  width: 33%;
}

.col-w-34 {
  width: 34%;
}

.col-w-35 {
  width: 35%;
}

.col-w-36 {
  width: 36%;
}

.col-w-37 {
  width: 37%;
}

.col-w-38 {
  width: 38%;
}

.col-w-39 {
  width: 39%;
}

.col-w-40 {
  width: 40%;
}

.col-w-41 {
  width: 41%;
}

.col-w-42 {
  width: 42%;
}

.col-w-43 {
  width: 43%;
}

.col-w-44 {
  width: 44%;
}

.col-w-45 {
  width: 45%;
}

.col-w-46 {
  width: 46%;
}

.col-w-47 {
  width: 47%;
}

.col-w-48 {
  width: 48%;
}

.col-w-49 {
  width: 49%;
}

.col-w-50 {
  width: 50%;
}

.col-w-51 {
  width: 51%;
}

.col-w-52 {
  width: 52%;
}

.col-w-53 {
  width: 53%;
}

.col-w-54 {
  width: 54%;
}

.col-w-55 {
  width: 55%;
}

.col-w-56 {
  width: 56%;
}

.col-w-57 {
  width: 57%;
}

.col-w-58 {
  width: 58%;
}

.col-w-59 {
  width: 59%;
}

.col-w-60 {
  width: 60%;
}

.col-w-61 {
  width: 61%;
}

.col-w-62 {
  width: 62%;
}

.col-w-63 {
  width: 63%;
}

.col-w-64 {
  width: 64%;
}

.col-w-65 {
  width: 65%;
}

.col-w-66 {
  width: 66%;
}

.col-w-67 {
  width: 67%;
}

.col-w-68 {
  width: 68%;
}

.col-w-69 {
  width: 69%;
}

.col-w-70 {
  width: 70%;
}

.col-w-71 {
  width: 71%;
}

.col-w-72 {
  width: 72%;
}

.col-w-73 {
  width: 73%;
}

.col-w-74 {
  width: 74%;
}

.col-w-75 {
  width: 75%;
}

.col-w-76 {
  width: 76%;
}

.col-w-77 {
  width: 77%;
}

.col-w-78 {
  width: 78%;
}

.col-w-79 {
  width: 79%;
}

.col-w-80 {
  width: 80%;
}

.col-w-81 {
  width: 81%;
}

.col-w-82 {
  width: 82%;
}

.col-w-83 {
  width: 83%;
}

.col-w-84 {
  width: 84%;
}

.col-w-85 {
  width: 85%;
}

.col-w-86 {
  width: 86%;
}

.col-w-87 {
  width: 87%;
}

.col-w-88 {
  width: 88%;
}

.col-w-89 {
  width: 89%;
}

.col-w-90 {
  width: 90%;
}

.col-w-91 {
  width: 91%;
}

.col-w-92 {
  width: 92%;
}

.col-w-93 {
  width: 93%;
}

.col-w-94 {
  width: 94%;
}

.col-w-95 {
  width: 95%;
}

.col-w-96 {
  width: 96%;
}

.col-w-97 {
  width: 97%;
}

.col-w-98 {
  width: 98%;
}

.col-w-99 {
  width: 99%;
}

.col-w-100 {
  width: 100%;
}

.table-wrapper.type-1 .tablebox {
  display: block;
  position: relative;
  background-color: var(--White);
}
.table-wrapper.type-1 table {
  width: 100%;
  border-collapse: collapse;
  background-color: var(--White);
  border: 1px solid var(--FS_Bg_gray_2);
}
.table-wrapper.type-1 th, .table-wrapper.type-1 td {
  border: 1px solid var(--FS_Bg_gray_2);
  padding: 6px 10px;
  text-align: center;
  vertical-align: middle;
  line-height: 160%;
  font-size: 1.5rem;
  font-weight: 400;
  -webkit-text-size-adjust: 100%;
}
.table-wrapper.type-1 td {
  text-align: left;
}
.table-wrapper.type-1 td:first-child {
  text-align: left;
}
.table-wrapper.type-1 thead th {
  background-color: var(--FS_accent_ultramarine);
  color: white;
  font-weight: bold;
  border-top: 0;
  text-align: center;
  vertical-align: middle;
}
.table-wrapper.type-1 thead th:first-of-type {
  border-left: 0;
}
.table-wrapper.type-1 tbody td {
  background-color: var(--White);
}
.table-wrapper.type-1 tbody td:first-of-type {
  border-left: 0;
}
.table-wrapper.type-1 tbody tr:last-child th, .table-wrapper.type-1 tbody tr:last-child td {
  border-bottom: none;
}
.table-wrapper.type-1 tbody th:last-child, .table-wrapper.type-1 tbody td:last-child {
  border-right: none;
}
.table-wrapper.type-2 table {
  width: 100%;
  border-collapse: collapse;
}
.table-wrapper.type-2 .tablebox {
  display: block;
  position: relative;
}
.table-wrapper.type-2 tr:first-child {
  border-top: 1px solid var(--FS_Bg_gray_2);
}
.table-wrapper.type-2 tr {
  border-bottom: 1px solid var(--FS_Bg_gray_2);
}
.table-wrapper.type-2 th, .table-wrapper.type-2 td {
  padding: 14px 16px;
  vertical-align: middle;
  line-height: 160%;
  font-size: 1.5rem;
  font-weight: 400;
  text-align: left;
}
.table-wrapper.type-2 th {
  width: 10%;
  min-width: 145px;
}
@media screen and (max-width: 979px) {
  .table-wrapper.type-2 th {
    min-width: 82px;
    max-width: 82px;
  }
}
.table-wrapper.type-2 td {
  width: 90%;
}

.row-table {
  border-collapse: collapse;
  height: 100%;
}

.row-table th {
  padding: 10px;
  width: 155px;
  background: var(--FS_accent_ultramarine);
  border-bottom: 1px solid var(--White);
  color: var(--White);
}

.row-table td {
  padding: 16px 32px;
  border-top: 1px solid var(--FS_Bg_gray_2);
}

/* th,td共通 */
.row-table th,
.row-table td {
  height: 100%;
  font-size: 1.5rem;
  text-align: left;
}

.row-table tr:first-child th {
  border-top: 1px solid var(--FS_accent_ultramarine);
}

.row-table tr:last-child th {
  border-bottom: 1px solid var(--FS_accent_ultramarine);
}

.row-table tr:last-child td {
  border-bottom: 1px solid var(--FS_Bg_gray_2);
}

/* 既存スタイルの調整 */
.row-table h4,
.row-table h5 {
  margin-top: 0;
}

.row-table p {
  font-size: 1.5rem;
}

@media screen and (max-width: 979px) {
  .row-table th {
    width: 95px;
  }
  .row-table td {
    padding: 16px 0 16px 12px;
  }
}
.row-table.long-type th {
  width: 175px;
}

@media screen and (max-width: 979px) {
  .row-table.long-type th {
    width: 95px;
  }
}
.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

.scroll-container {
  position: relative;
}
.scroll-container .table-wrapper::before {
  content: "";
  position: absolute;
  bottom: 20px;
  right: 0;
  width: 30px;
  height: var(--shadow-height, 100%);
  background: linear-gradient(to left, rgba(0, 0, 0, 0.15), transparent);
  pointer-events: none;
  z-index: 10;
  opacity: 0;
}
.scroll-container .table-wrapper.show-shadow::before {
  opacity: 1;
}
.scroll-container .table-wrapper {
  overflow: hidden;
}
.scroll-container .external-scrollbar {
  display: none;
  position: relative;
  width: 100%;
  height: 8px;
  background-color: var(--FS_Bg_gray_1);
  border-radius: 6px;
  margin-top: 8px;
  cursor: pointer;
}
.scroll-container .external-scrollbar .external-scrollbar-thumb {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background-color: var(--FS_Bg_gray_3);
  border-radius: 6px;
  transition: background-color 0.2s ease;
  cursor: grab;
}
.scroll-container .external-scrollbar .external-scrollbar-thumb:hover {
  background-color: var(--FS_accent_ultramarine);
}
.scroll-container .external-scrollbar .external-scrollbar-thumb:active {
  cursor: grabbing;
  background-color: var(--FS_accent_ultramarine);
}

@media screen and (min-width: 980px) {
  .scroll-container .tablebox {
    overflow: visible;
  }
  .scroll-container .tablebox th,
  .scroll-container .tablebox td {
    white-space: normal;
  }
  .scroll-container .table-wrapper.type-1 table {
    table-layout: fixed;
  }
}
@media screen and (max-width: 979px) {
  .scroll-container .table-wrapper.type-1 table {
    width: auto;
    table-layout: auto;
    min-width: 900px;
  }
  .scroll-container .table-wrapper {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .scroll-container .table-wrapper::-webkit-scrollbar {
    display: none;
  }
  .scroll-container .external-scrollbar {
    display: block;
  }
}
.default-list:not(.normal-dots) li {
  position: relative;
  padding: 0 0 0 12px;
  line-height: 2;
}
.default-list:not(.normal-dots) li::before {
  content: "";
  position: absolute;
  top: 18px;
  left: 0;
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: linear-gradient(90deg, #3B7ACC 0%, #175BB3 20%, #1F7CEE 55%, #58EBFC 85%, #E9FFDF 100%);
}
.default-list:not(.normal-dots) li + li {
  margin-top: 8px;
}
.default-list.normal-dots li {
  position: relative;
  padding: 0 0 0 12px;
}
.default-list.normal-dots li::before {
  content: "・";
  position: absolute;
  left: 0;
}

.number-list {
  counter-reset: olnumber;
  margin: 0;
  padding: 0;
}
.number-list li {
  position: relative;
  padding: 0 0 0 16px;
  line-height: 2;
}
.number-list li::before {
  counter-increment: olnumber;
  content: counter(olnumber) ". ";
  position: absolute;
  top: 0;
  left: 0;
  font-weight: 700;
}
.number-list li + li {
  margin-top: 8px;
}

.column {
  border: 1px solid var(--FS_Bg_gray_3);
  background: var(--White);
  padding: 46px 40px 40px 40px;
  position: relative;
}
@media screen and (max-width: 979px) {
  .column {
    padding: 24px;
  }
}
.column .h4-basis, .column .column-title {
  margin: 0 0 16px;
}
.column::before {
  content: "";
  width: calc(100% + 2px);
  height: 6px;
  background: linear-gradient(90deg, #12439A 0%, #41B8FB 30.29%, #5E5EC4 50%, #EBA7F4 100%);
  display: block;
  position: absolute;
  top: 0;
  left: -1px;
}

.article-header {
  position: relative;
  background: url(/e/common/img/article/article_header_bg.jpg) no-repeat left center/cover;
  min-height: 228px;
  padding: 60px 0;
  display: flex;
  align-items: center;
  margin: 0 0 40px;
  z-index: 1;
}
@media screen and (max-width: 979px) {
  .article-header {
    min-height: 150px;
    align-items: flex-end;
    padding: 80px 0 20px;
  }
}
.article-header h1 {
  color: var(--White);
}
.article-header .article-header-inner {
  width: 90vw;
  max-width: 1100px;
  margin: 0 auto;
}

.article-header-img-wrap {
  position: relative;
  overflow: hidden;
  margin: 0 0 40px;
  border-radius: 0 0 113px 0;
}
.article-header-img-wrap .article-header {
  margin: 0 0 0;
}
.article-header-img-wrap .bg-box {
  position: absolute;
  width: 53%;
  max-width: 624px;
  height: 100%;
  top: 0;
  right: 0;
  z-index: 1;
}
.article-header-img-wrap .bg-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.article-header:has(+ .default-content > .page-search),
.article-header:has(+ .default-content > .tag-seach-tab-wrap) {
  margin-bottom: 0;
}

.article-header:has(.h1-pdf-link) {
  padding-bottom: 30px;
}

@media screen and (max-width: 979px) {
  .article-header-img-wrap {
    margin: 0 0 32px;
    overflow: initial;
    border-radius: 0 0 0 0;
  }
  .article-header-img-wrap .article-header {
    min-height: 120px;
  }
  .article-header-img-wrap .bg-box {
    position: initial;
    width: 100%;
    max-width: none;
    height: clamp(110px, 20vw, 150px);
    border-radius: 0 0 57px 0;
    overflow: hidden;
  }
  .article-header-img-wrap .bg-box img {
    height: 150px;
  }
  .article-header:has(.h1-pdf-link) {
    padding-bottom: 20px;
  }
}
.breadcrumbs {
  font-weight: 400;
  font-size: 14px;
  line-height: 190%;
  position: absolute;
  top: 4px;
  width: 90vw;
  max-width: 1100px;
  margin: 0 auto;
}
.breadcrumbs ul {
  display: flex;
  flex-wrap: wrap;
}
.breadcrumbs ul li {
  color: var(--White);
}
.breadcrumbs ul li:not(:first-child)::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: var(--FS_Bg_gray_3);
  margin: 0 6px;
  vertical-align: middle;
}
.breadcrumbs ul li > a {
  color: var(--White);
  text-decoration: underline;
}

@media screen and (max-width: 979px) {
  .breadcrumbs {
    font-size: 1.1rem;
    top: 12px;
  }
}
.circle-button {
  width: 50px;
  height: 50px;
  background: var(--FS_primary);
  border: none;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.3s;
}
.circle-button .chevron-up {
  width: 8px;
  height: 8px;
  border-top: 2px solid var(--White);
  border-right: 2px solid var(--White);
  transform: rotate(-45deg);
  margin-top: 2px;
  transition: all 0.3s;
}
.circle-button:hover {
  background: var(--FS_Bg_lightblue);
}
.circle-button:hover .chevron-up {
  border-top: 2px solid var(--FS_primary);
  border-right: 2px solid var(--FS_primary);
}

.movie-play {
  border: 1px solid var(--White);
  background: var(--FS_primary);
  width: 75px;
  height: 75px;
  border-radius: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.3s;
}
.movie-play .icon-play::after {
  background: #fff;
  transition: all 0.3s;
}
.movie-play:hover {
  cursor: pointer;
  background: var(--White);
  border-color: var(--FS_primary);
}
.movie-play:hover .icon-play::after {
  background: var(--FS_primary);
}

.pagination {
  display: flex;
  align-items: center;
  gap: 0 32px;
}
.pagination li a:link {
  text-decoration: underline;
}
.pagination li a:visited {
  text-decoration: none !important;
}
.pagination .icon-arrow {
  border: 1px solid var(--FS_primary);
  transition: all 0.5s;
}
.pagination .icon-arrow:hover {
  background: var(--White);
}
.pagination .icon-arrow:hover::after {
  background-color: var(--FS_primary);
}
.pagination.inactive-first > li:first-child a {
  pointer-events: none;
}
.pagination.inactive-first .icon-arrow.left {
  background: var(--FS_Bg_gray_2);
  border-color: var(--FS_Bg_gray_2);
}
.pagination.inactive-first .icon-arrow.left:hover {
  pointer-events: none;
}
.pagination.inactive-last > li:last-child a {
  pointer-events: none;
}
.pagination.inactive-last .icon-arrow.right {
  background: var(--FS_Bg_gray_2);
  border-color: var(--FS_Bg_gray_2);
}
.pagination.inactive-last .icon-arrow.right:hover {
  pointer-events: none;
}

.show-more-button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 20px 32px;
  width: 286px;
  border-radius: 50px;
  background: var(--FS_Bg_lightblue);
  transition: all 0.5s;
  cursor: pointer;
}
.show-more-button > span:first-child {
  margin: 0 auto;
  font-size: 1.7rem;
  font-weight: 700;
  color: var(--FS_primary);
  z-index: 2;
}
.show-more-button > span.icon-more {
  border: 1px solid var(--FS_primary);
  z-index: 2;
  transition: all 0.5s;
}
.show-more-button::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: inherit;
  background: linear-gradient(var(--FS_Bg_lightblue), var(--FS_Bg_lightblue)) padding-box, linear-gradient(90deg, var(--FS_primary), var(--FS_primary)) border-box;
  border: 2px solid transparent;
  opacity: 0;
  transition: opacity 0.5s;
  z-index: 1;
  pointer-events: none;
}
.show-more-button:hover {
  color: var(--FS_text_bluegray);
}
.show-more-button:hover::before {
  opacity: 1;
}
.show-more-button:hover > span.icon-more {
  background-color: var(--White);
}
.show-more-button:hover > span.icon-more::after {
  background-color: var(--FS_primary);
}

@media screen and (max-width: 979px) {
  .show-more-button {
    width: 234px;
    padding: 16px 32px 16px 20px;
  }
  .show-more-button > span:first-child {
    font-size: 1.5rem;
    margin: 0 auto 0 0;
  }
  .show-more-button > span.icon-more {
    width: 26px;
    height: 15px;
  }
  .show-more-button > span.icon-more::after {
    width: 8px;
    height: 8px;
  }
}
.checkbox {
  width: fit-content;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 10px;
  padding: 8px;
  font-size: 16px;
  font-weight: normal;
  line-height: 1.5;
}
.checkbox--icon-top {
  grid-template-columns: 1fr;
  grid-template-rows: auto 1fr;
  place-items: center;
  text-align: center;
}
.checkbox--icon-bottom {
  grid-template-columns: 1fr;
  grid-template-rows: 1fr auto;
  place-items: center;
  text-align: center;
}
.checkbox--icon-right {
  width: auto;
  grid-template-columns: 1fr auto;
  border-bottom: dashed 1px var(--FS_Bg_gray_2);
}
.checkbox--icon-right:last-child {
  border-bottom: none;
}
.checkbox:has(.checkbox_icon:disabled) {
  opacity: 0.4;
}

.checkbox_icon {
  position: relative;
  width: 17px;
  height: 17px;
  appearance: none;
  background: #FFFFFF;
  border: solid 1px var(--FS_Bg_gray_2);
  box-shadow: 0 0 0 0 transparent;
  transition: background-color 0.2s, border 0.2s, box-shadow 0.2s, color 0.2s;
}
@media (forced-colors: active) {
  .checkbox_icon {
    transition: none;
    border-color: CanvasText;
  }
}
@media (forced-colors: active) {
  .checkbox_icon:checked {
    background-color: Canvas;
    border-color: CanvasText;
  }
}
.checkbox_icon::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  content: "";
  width: 11px;
  height: 11px;
  opacity: 0;
  mask-image: url("/e/common/img/icon/icon-checkbox.png");
  mask-repeat: no-repeat;
  mask-size: 11px;
  mask-position: center;
  background-color: var(--FS_primary);
  transition: opacity 0.2s;
}
@media (forced-colors: active) {
  .checkbox_icon::before {
    transition: none;
    background-color: CanvasText;
  }
}
.checkbox_icon:checked::before {
  opacity: 1;
}

.accordion {
  overflow: hidden;
}
.accordion-item {
  border-bottom: 1px solid var(--FS_Bg_gray_2);
}
.accordion-item:last-child {
  border-bottom: none;
}
.accordion-item .accordion-header {
  transition: all 0.3s;
}
.accordion-item.is-active .accordion-header {
  border-bottom: 1px dashed var(--FS_Bg_gray_2);
}
.accordion-item.is-active .accordion-header::after {
  transform: translateY(-50%) rotate(0deg);
}
.accordion-header {
  position: relative;
  width: 100%;
  padding: 24px 40px 24px 20px;
  border: none;
  background: white;
  text-align: left;
  font-size: 1.6rem;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--FS_text_bluegray);
  min-height: 48px;
}
.accordion-header:hover {
  background: var(--FS_Bg_lightblue);
}
.accordion-header:focus-visible {
  outline: 2px solid #0066cc;
  outline-offset: -2px;
  background: var(--FS_Bg_lightblue);
  z-index: 1;
}
.accordion-header:focus:not(:focus-visible) {
  outline: none;
}
.accordion-header::before, .accordion-header::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 12px;
  height: 2px;
  background-color: var(--FS_text_bluegray);
  transition: transform 0.3s ease;
  transform-origin: center;
}
.accordion-header::before {
  transform: translateY(-50%);
}
.accordion-header::after {
  transform: translateY(-50%) rotate(-90deg);
}
.accordion-content {
  overflow: hidden;
  height: 0;
}
.accordion-content-inner {
  padding: 15px;
  color: #666;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.accordion-item.is-opening .accordion-content {
  overflow: hidden;
}
.accordion-item.is-closing .accordion-content {
  overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
  .accordion-header,
  .accordion-content,
  .accordion-header::after {
    transition: none !important;
  }
}
@media (prefers-contrast: high) {
  .accordion-header {
    border: 2px solid;
  }
  .accordion-header:focus-visible {
    outline: 3px solid;
  }
  .accordion-header:focus:not(:focus-visible) {
    outline: none;
  }
}
.tab-container {
  overflow: hidden;
}

.tab-list {
  display: flex;
  gap: 0 4px;
}

.tab-button {
  flex: 1;
  padding: 16px 20px;
  border: none;
  text-align: center;
  font-size: 1.4rem;
  font-weight: 400;
  cursor: pointer;
  color: var(--FS_text_bluegray);
  transition: all 0.3s ease;
  position: relative;
  border-bottom: 4px solid var(--FS_Bg_gray_2);
}
.tab-button:last-child {
  border-right: none;
}
.tab-button:hover {
  background: var(--FS_Bg_gray_1);
}
.tab-button:focus-visible {
  outline: 2px solid #0066cc;
  outline-offset: -2px;
  z-index: 1;
}
.tab-button:focus:not(:focus-visible) {
  outline: none;
}
.tab-button.is-active {
  color: var(--FS_text_blue);
  font-weight: 700;
  border-bottom: 4px solid;
  border-image-source: linear-gradient(90deg, #371CF6 0%, #3CB6FF 50%, #D8FF89 100%);
  border-image-slice: 1;
}
.tab-button.is-active::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--FS_text_blue);
}

.tab-content {
  position: relative;
  min-height: 200px;
}

.tab-panel {
  display: none;
}
.tab-panel.is-active {
  display: block;
}
.tab-panel-inner {
  padding: 32px 0;
}
.tab-panel-inner h3 {
  margin: 0 0 16px 0;
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--FS_text_bluegray);
}
.tab-panel-inner p {
  margin: 0;
  color: var(--FS_text_bluegray);
  line-height: 1.7;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (prefers-reduced-motion: reduce) {
  .tab-button {
    transition: none !important;
  }
}
@media (prefers-contrast: high) {
  .tab-button {
    border: 2px solid;
  }
  .tab-button:focus {
    outline: 3px solid;
  }
  .tab-button.is-active {
    border-bottom: 3px solid;
  }
}
@media screen and (max-width: 979px) {
  .tab-button {
    padding: 12px 16px;
    font-size: 1.2rem;
  }
  .tab-panel-inner {
    padding: 16px;
  }
  .tab-panel-inner h3 {
    font-size: 1.6rem;
  }
}
.dropdown-container {
  position: relative;
  width: 100%;
  max-width: 238px;
  margin-bottom: 16px;
}

.dropdown-trigger {
  width: 100%;
  padding: 12px 8px;
  position: relative;
  min-height: 48px;
  border: 1px solid var(--FS_Bg_gray_2);
  border-radius: 6px;
  background: white;
  cursor: pointer;
  text-align: left;
  font-size: 1.4rem;
  font-weight: 400;
  color: var(--FS_text_bluegray);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.dropdown-trigger:hover {
  background: var(--FS_Bg_gray_1);
}
.dropdown-trigger:focus-visible {
  outline: 2px solid #0066cc;
  outline-offset: -2px;
  border-color: #0066cc;
  z-index: 1;
}
.dropdown-trigger:focus:not(:focus-visible) {
  outline: none;
}
.dropdown-trigger.is-open {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.dropdown-trigger.is-open .dropdown-icon {
  transform: rotate(180deg);
}

.dropdown-label {
  flex: 1;
  text-align: left;
  font-weight: 400;
  font-size: 1.6rem;
}
.dropdown-label.is-placeholder {
  color: var(--FS_text_bluegray);
}

.dropdown-icon {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  background-image: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M4 6l4 4 4-4" stroke="%23004399" stroke-width="1" fill="none" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  background-size: contain;
  background-repeat: no-repeat;
  transition: transform 0.3s ease;
}

.dropdown-list {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 1000;
  margin: 0;
  padding: 0;
  list-style: none;
  background: white;
  border: 1px solid var(--FS_Bg_gray_2);
  border-top: none;
  border-bottom-left-radius: 6px;
  border-bottom-right-radius: 6px;
  overflow: hidden;
  display: none;
  max-height: 200px;
  overflow-y: auto;
}

.dropdown-item {
  padding: 12px 12px;
  cursor: pointer;
  font-size: 1.5rem;
  color: var(--FS_text_bluegray);
  transition: background-color 0.2s ease;
}
.dropdown-item:hover {
  background: var(--FS_Bg_gray_1);
}
.dropdown-item:focus, .dropdown-item.is-focused {
  background: var(--FS_Bg_lightblue);
  color: var(--FS_text_blue);
  outline: none;
}
.dropdown-item.is-selected {
  background: var(--FS_Bg_lightblue);
  color: var(--FS_text_blue);
}
.dropdown-item:last-child {
  border-bottom-left-radius: 6px;
  border-bottom-right-radius: 6px;
}

.dropdown-container.is-open .dropdown-list {
  display: block;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (prefers-reduced-motion: reduce) {
  .dropdown-trigger,
  .dropdown-icon,
  .dropdown-item {
    transition: none !important;
  }
}
@media (prefers-contrast: high) {
  .dropdown-trigger {
    border: 2px solid;
  }
  .dropdown-trigger:focus-visible {
    outline: 3px solid;
  }
  .dropdown-list {
    border: 2px solid;
  }
}
.related-tag {
  border-top: 1px solid var(--FS_Bg_gray_3);
  margin-top: 80px;
}
.related-tag .h4-basis {
  margin-top: 16px;
}
.related-tag .annotation {
  margin-top: 80px;
}

ul.tag-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 16px;
  font-size: 1.4rem;
}
ul.tag-list li {
  background-color: var(--FS_Bg_gray_1);
  padding: 2px 6px;
  border-radius: 4px;
}

.news_item > a {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  border-top: 1px solid var(--FS_Bg_gray_2);
  padding: 24px 8px;
  transition: all 0.3s;
}

.news_item > a .icon-arrow {
  transition: all 0.3s;
  border: 1px solid var(--FS_primary);
}

.news_item > a[href$=".pdf"] .icon-arrow::after {
  content: "";
  width: 14px;
  height: 14px;
  mask: var(--icon-pdf) no-repeat center/contain;
  -webkit-mask: var(--icon-pdf) no-repeat center/contain;
}

.news_item > a:focus {
  outline: 2px solid #06c;
  outline-offset: -2px;
  border-color: #06c;
  background: var(--FS_Bg_lightblue);
  z-index: 1;
}

.news_list:has(.news_item) {
  border-bottom: 1px solid var(--FS_Bg_gray_2);
}

.news_list.col-2 {
  border-bottom: none;
}

.news_meta {
  display: flex;
  gap: 8px;
  white-space: nowrap;
}

.news_meta > span.date {
  display: block;
  width: 94px;
  color: var(--FS_text_bluegray);
  font-weight: 600;
  font-size: 1.2rem;
}

.news_meta > span.ico {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 20px;
  font-style: normal;
  font-size: 1.2rem;
  color: var(--White);
}

.news_text {
  display: grid;
  grid-template-columns: 1fr 40px;
  color: var(--FS_text_bluegray);
  gap: 8px;
  font-size: 1.5rem;
  line-height: 1.5;
  align-items: end;
}

.news_title {
  font-size: 2.4rem;
}
.news_title + p {
  margin-top: 24px;
}

.news_list.type-2 {
  transition: all 0.3s ease;
}
.news_list.type-2 .news_text {
  grid-template-columns: 1fr;
  gap: 20px;
  margin-top: 16px;
  color: var(--FS_primary);
}
.news_list.type-2 .news_item {
  position: relative;
  padding: 24px 8px 0 0;
  border-top: 1px solid var(--FS_Bg_gray_2);
}
.news_list.type-2 .news_item > a {
  position: absolute;
  border: none;
  display: block;
  cursor: pointer;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  outline: none;
  padding: 0;
}
.news_list.type-2 .news_item > a::before {
  content: "";
  opacity: 0;
  display: block;
  width: 100%;
  height: 100%;
  transform: translate(0px);
  position: relative;
  z-index: 1;
}
.news_list.type-2 .news_item > a:focus {
  background: transparent;
}
.news_list.type-2 .news_item > a:hover {
  background: none;
}
.news_list.type-2 .news_item > a:hover + .news_meta + .news_text > span {
  color: var(--FS_text_bluegray_sub);
  text-decoration: underline;
}
.news_list.type-2 .news_item > a:focus-visible::before {
  opacity: 1;
  outline: 2px solid var(--FS_primary);
}

.news-link-tag {
  position: relative;
  margin-top: 16px;
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
}
.news-link-tag > li {
  line-height: 1.5;
}
.news-link-tag > li > a {
  font-size: 1.4rem;
  background-color: var(--FS_Bg_gray_1);
  border: 1px solid var(--FS_Bg_gray_1);
  color: var(--FS_text_bluegray);
  padding: 1px 4px;
  border-radius: 4px;
  transition: all 0.3s;
  position: relative;
  z-index: 1;
}
.news-link-tag > li > a:hover {
  background: var(--White);
  color: var(--FS_primary);
  border: 1px solid var(--FS_primary);
}
.news-link-tag > li > a:focus-visible {
  outline: 2px solid var(--FS_primary);
}

.news_list_detail.sustainability > .news_item {
  display: grid;
  grid-template-columns: 250px 1fr;
  gap: 32px;
  border-top: 1px solid var(--FS_Bg_gray_2);
  padding: 24px 8px;
}
.news_list_detail.sustainability > .news_item .news_meta > span.date {
  font-size: 1.4rem;
}
.news_list_detail.sustainability > .news_item .news_text {
  display: inline-block;
}
.news_list_detail.sustainability > .news_item .news_img {
  display: flex;
  gap: 32px;
  margin-top: 24px;
}
.news_list_detail.sustainability > .news_item .news_img > figure {
  max-width: 250px;
  width: 100%;
}
.news_list_detail.sustainability > .news_item .news_img > figure > figcaption {
  margin-top: 6px;
  font-size: 1.3rem;
  color: var(--FS_text_bluegray);
}
.news_list_detail.sustainability > .news_item:last-child {
  border-bottom: 1px solid var(--FS_Bg_gray_2);
}

@media screen and (max-width: 979px) {
  .news_title {
    font-size: 2rem;
  }
  .news_list_detail.sustainability > .news_item {
    grid-template-columns: 1fr;
    gap: 4px;
  }
  .news_list_detail.sustainability > .news_item .news_img {
    gap: 16px;
  }
}
/* カテゴリー色 */
:root {
  --FS_accent_blue_text: #39A4E4;
  --FS_accent_pink_text: #D08DD9;
  --FS_accent_purple_text: #5E5EC4;
}

.ico_product {
  background: var(--FS_accent_blue_text);
}

.ico_ir {
  background: var(--FS_accent_green_text);
}

.ico_organization {
  background: var(--FS_accent_pink_text);
}

.ico_group {
  background: var(--FS_accent_purple_text);
}

.ico_other {
  background: var(--FS_Bg_gray_3);
}

/* ホバー */
.news_item > a:hover {
  background: var(--FS_Bg_lightblue);
  color: var(--FS_primary);
}

.news_item > a:hover .news_text {
  color: var(--FS_primary);
}

.news_item > a:hover .icon-arrow {
  background-color: var(--White);
}

.news_item > a:hover .icon-arrow::after {
  background-color: var(--FS_primary);
}

@media screen and (max-width: 979px) {
  /* ニュースリスト */
  .news_item > a {
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 16px 8px;
  }
  .news_meta > span.date {
    width: auto;
    font-size: 1.4rem;
  }
  .news_text {
    font-size: 1.4rem;
  }
}
.page-search {
  margin: 0 calc(50% - 50vw);
}
.page-search > .page-search-inner {
  display: flex;
  justify-content: center;
  max-width: 100%;
  width: 748px;
  gap: 20px;
  margin: 0 auto;
  padding: 16px;
}
.page-search > .page-search-inner label {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
  font-size: 1.6rem;
  font-weight: 500;
  color: var(--FS_text_bluegray);
  white-space: nowrap;
  position: relative;
}
.page-search > .page-search-inner input {
  width: 100%;
  border-bottom: 1px solid var(--FS_text_bluegray);
  padding: 5px 24px 5px 0;
}
.page-search > .page-search-inner input::placeholder {
  color: var(--FS_text_bluegray_sub);
  font-size: 1.5rem;
}
.page-search > .page-search-inner .icon-search {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 24px;
}
.page-search > .page-search-inner .icon-search::after {
  display: flex;
  width: 24px;
  height: 24px;
}

@media screen and (max-width: 449px) {
  .page-search > .page-search-inner label {
    font-size: 1.4rem;
    font-weight: 500;
    gap: 8px;
    flex-direction: column;
    align-items: flex-start;
  }
  .page-search > .page-search-inner .icon-search {
    top: calc(50% + 16px);
  }
}
.overhang-right {
  margin-right: calc(-50vw + 100%);
}
.overhang-right > img {
  width: 100%;
}

.overhang-left {
  margin-left: calc(-50vw + 100%);
}
.overhang-left > img {
  width: 100%;
}

@media screen and (max-width: 979px) {
  .grid.tb-col-1 .overhang-right {
    margin-right: calc(50% - 50vw);
  }
  .grid.tb-col-1 .overhang-left {
    margin-left: calc(50% - 50vw);
  }
}
.img-circle-right,
.img-circle-left {
  position: relative;
  display: inline-block;
}
.img-circle-right > img,
.img-circle-left > img {
  display: block;
  width: 100%;
  height: auto;
}
.img-circle-right::after,
.img-circle-left::after {
  content: "";
  position: absolute;
  top: 0;
  width: 52vw;
  height: 52vw;
  transform: translate(-50%, 0);
  mix-blend-mode: hard-light;
  pointer-events: none; /* 円がクリックの邪魔をしない */
}

.img-circle-right::after {
  left: 100%;
  background-image: url(/e/common/img/element/circle_right_01.png);
  background-size: contain;
}

.img-circle-left::after {
  right: 0%;
  background: url(/e/common/img/element/circle_left_01.png);
  background-size: contain;
}

@media screen and (max-width: 979px) {
  .img-circle-right::after,
  .img-circle-left::after {
    width: 100vw;
    height: 100vw;
  }
}
.content-search {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 48px 48px 64px;
}
@media screen and (max-width: 979px) {
  .content-search {
    padding: 24px 27px 33px 27px;
  }
}

.content-search-label {
  font-size: 1.6rem;
  line-height: 2;
}

.content-search-box {
  position: relative;
  width: 100%;
  max-width: 722px;
  margin-top: 10px;
  /* height: 50px; */
}

input[type=text].content-search-input {
  width: 100%;
  padding: 12px 40px 12px 20px;
  border-radius: 12px;
  background-color: var(--White);
  color: var(--FS_text_bluegray);
  font-weight: 500;
  font-size: 1.6rem;
}

input[type=text].content-search-input::placeholder {
  color: var(--FS_text_gray);
  font-weight: 500;
  font-size: 1.6rem;
}

.content-search-icon {
  position: absolute;
  top: 50%;
  right: 14px;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
}

.content-search-icon::after {
  display: flex;
}

.products_contact_wrap {
  padding: 60px 40px;
  background: url(/products/img/format_bg.png) no-repeat center center;
  background-size: cover;
  color: var(--White);
}

.contact_h2 {
  font-size: 2.8rem;
  font-weight: bold;
}

.products_contact {
  display: flex;
  align-items: center;
  gap: 40px;
}
.products_contact > *:first-child {
  width: 388px;
  max-width: 100%;
}
.products_contact > *:last-child {
  width: 592px;
  max-width: 100%;
}
.products_contact .jigyobu {
  font-size: 1.5rem;
  font-weight: 500;
}
.products_contact .number {
  margin-top: 0;
  font-size: 4rem;
  font-weight: bold;
  line-height: 1;
}
.products_contact .number > a[href^=tel] {
  color: var(--White);
  text-decoration: none;
}
.products_contact .time {
  margin-top: 0;
  line-height: 2;
}
.products_contact .description {
  margin-top: 12px;
  line-height: 1.8;
  font-weight: bold;
}

@media screen and (max-width: 979px) {
  .products_contact_wrap {
    background: url(/products/img/format_bg_sp.png) no-repeat center center;
    background-size: cover;
    padding: 40px 16px;
    text-align: center;
  }
  .contact_h2 {
    font-size: 1.95rem;
  }
  .products_contact {
    flex-direction: column;
  }
  .products_contact .number {
    font-size: 3.7rem;
  }
}
.uniweb-wrap {
  position: fixed;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  z-index: 5;
}
.uniweb-wrap li + li {
  margin-top: 24px;
}
@media screen and (max-width: 979px) {
  .uniweb-wrap li + li {
    margin-top: 8px;
  }
}
.uniweb-wrap a {
  transition: all 0.3s;
}
.uniweb-wrap a:hover {
  opacity: 0.8;
}
.uniweb-wrap a img {
  margin-left: auto;
  margin-right: 0;
}
.uniweb-wrap a img.icon_seminar {
  width: 90px;
}
.uniweb-wrap a img.icon_cases {
  width: 100px;
}
.uniweb-wrap a img.icon_uniweb {
  width: 80px;
}
@media screen and (max-width: 979px) {
  .uniweb-wrap a img.icon_cases {
    width: 92px;
  }
}

.slide-fade-in {
  opacity: 0;
  transition: 0.8s ease;
  max-width: 100%;
  transform: translateY(36px);
}

.slide-fade-in.show {
  opacity: 1;
  transform: translateX(0);
}

.hover-opacity img {
  transition: 0.3s ease;
}

.hover-opacity:hover img {
  opacity: 0.8;
}

.yxt-SearchBar {
  height: 48px;
}

.yxt-SearchBar-container {
  background: var(--FS_Bg_lightblue);
  border: 0;
  border-radius: 12px;
  width: 100%;
  position: absolute;
  z-index: 8;
}

.yxt-SearchBar-clear {
  background-color: var(--FS_Bg_lightblue);
}

.yxt-SearchBar-button {
  background: var(--FS_Bg_lightblue);
  padding-top: 0;
  padding-bottom: 0;
}

.yxt-SearchBar-container:focus-within,
.yxt-SearchBar-container:hover {
  box-shadow: none;
}

input[type=text].yxt-SearchBar-input {
  padding: 12px 0 12px 20px;
}

input[type=text].yxt-SearchBar-input,
.yxt-SearchBar-input::placeholder {
  font-family: "Noto Sans JP";
  color: var(--FS_text_bluegray);
  font-weight: 500;
  font-size: 1.6rem;
}

.yxt-AutoComplete-wrapper {
  background: var(--FS_Bg_lightblue);
}

.yxt-AutoComplete {
  padding: 0px 16px 20px 20px;
}

.yxt-AutoComplete:before {
  margin: 0 0 10px 0;
  background: var(--FS_Bg_gray_2);
  height: 1px;
}

.yxt-AutoComplete-results {
  display: inherit !important;
}

.yxt-AutoComplete-option {
  opacity: 1 !important;
  visibility: visible !important;
  margin: 0 !important;
  padding: 8px 12px;
  font-family: "Noto Sans JP";
  font-weight: 400;
  font-size: 1.5rem;
  color: var(--FS_text_bluegray);
}

.yxt-SearchBar-AnimatedIcon::after {
  content: "";
  width: 24px;
  height: 24px;
  background: url(/e/common/img/icon/icon_search.svg) no-repeat center;
  display: inline-flex;
  vertical-align: middle;
  align-items: center;
  justify-content: center;
  border: none;
  cursor: pointer;
}

.yxt-SearchBar-AnimatedIcon > span {
  display: none !important;
}

@media screen and (max-width: 979px) {
  header .yxt-SearchBar-container,
  header .yxt-SearchBar-clear,
  header .yxt-SearchBar-button,
  header .yxt-AutoComplete-wrapper {
    background: var(--White);
  }
}
.top-description-list .yxt-SearchBar-container,
.top-description-list .yxt-SearchBar-clear,
.top-description-list .yxt-SearchBar-button,
.top-description-list .yxt-AutoComplete-wrapper {
  background: var(--White);
}

.list-indent {
  text-indent: -1.3em;
  margin-left: 1.3em;
}
.list-indent.type-2 {
  margin-left: 2.3em;
}
.list-indent.type-3 {
  margin-left: 3.3em;
}
.list-indent + .list-indent {
  margin-top: 0;
}

.indent {
  display: block;
  text-indent: -1em;
  margin-left: 1em;
}
.indent.type-2 {
  margin-left: 2em;
}
.indent.type-3 {
  margin-left: 3em;
}

.no-wrap {
  white-space: nowrap;
}

.t-center {
  text-align: center !important;
}

.t-right {
  text-align: right !important;
}

.t-left {
  text-align: left !important;
}

@media screen and (min-width: 980px) {
  .pc-no-wrap {
    white-space: nowrap;
  }
}
.m-auto {
  margin: auto;
}

.m-x-auto {
  margin-right: auto;
  margin-left: auto;
}

.m-y-auto {
  margin-top: auto;
  margin-bottom: auto;
}

@media screen and (min-width: 980px) {
  .mt-xl {
    margin-top: 120px;
  }
  .mt-lg {
    margin-top: 96px;
  }
  .mt-md {
    margin-top: 60px;
  }
  .mt-sm {
    margin-top: 36px;
  }
}
.pd-0 {
  padding: 0px !important;
}

.mt-0 {
  margin-top: 0px !important;
}

.pt-0 {
  padding-top: 0px !important;
}

.mr-0 {
  margin-right: 0px !important;
}

.pr-0 {
  padding-right: 0px !important;
}

.mb-0 {
  margin-bottom: 0px !important;
}

.pb-0 {
  padding-bottom: 0px !important;
}

.ml-0 {
  margin-left: 0px !important;
}

.pl-0 {
  padding-left: 0px !important;
}

.pd-2 {
  padding: 2px !important;
}

.mt-2 {
  margin-top: 2px !important;
}

.pt-2 {
  padding-top: 2px !important;
}

.mr-2 {
  margin-right: 2px !important;
}

.pr-2 {
  padding-right: 2px !important;
}

.mb-2 {
  margin-bottom: 2px !important;
}

.pb-2 {
  padding-bottom: 2px !important;
}

.ml-2 {
  margin-left: 2px !important;
}

.pl-2 {
  padding-left: 2px !important;
}

.pd-4 {
  padding: 4px !important;
}

.mt-4 {
  margin-top: 4px !important;
}

.pt-4 {
  padding-top: 4px !important;
}

.mr-4 {
  margin-right: 4px !important;
}

.pr-4 {
  padding-right: 4px !important;
}

.mb-4 {
  margin-bottom: 4px !important;
}

.pb-4 {
  padding-bottom: 4px !important;
}

.ml-4 {
  margin-left: 4px !important;
}

.pl-4 {
  padding-left: 4px !important;
}

.pd-8 {
  padding: 8px !important;
}

.mt-8 {
  margin-top: 8px !important;
}

.pt-8 {
  padding-top: 8px !important;
}

.mr-8 {
  margin-right: 8px !important;
}

.pr-8 {
  padding-right: 8px !important;
}

.mb-8 {
  margin-bottom: 8px !important;
}

.pb-8 {
  padding-bottom: 8px !important;
}

.ml-8 {
  margin-left: 8px !important;
}

.pl-8 {
  padding-left: 8px !important;
}

.pd-10 {
  padding: 10px !important;
}

.mt-10 {
  margin-top: 10px !important;
}

.pt-10 {
  padding-top: 10px !important;
}

.mr-10 {
  margin-right: 10px !important;
}

.pr-10 {
  padding-right: 10px !important;
}

.mb-10 {
  margin-bottom: 10px !important;
}

.pb-10 {
  padding-bottom: 10px !important;
}

.ml-10 {
  margin-left: 10px !important;
}

.pl-10 {
  padding-left: 10px !important;
}

.pd-16 {
  padding: 16px !important;
}

.mt-16 {
  margin-top: 16px !important;
}

.pt-16 {
  padding-top: 16px !important;
}

.mr-16 {
  margin-right: 16px !important;
}

.pr-16 {
  padding-right: 16px !important;
}

.mb-16 {
  margin-bottom: 16px !important;
}

.pb-16 {
  padding-bottom: 16px !important;
}

.ml-16 {
  margin-left: 16px !important;
}

.pl-16 {
  padding-left: 16px !important;
}

.pd-20 {
  padding: 20px !important;
}

.mt-20 {
  margin-top: 20px !important;
}

.pt-20 {
  padding-top: 20px !important;
}

.mr-20 {
  margin-right: 20px !important;
}

.pr-20 {
  padding-right: 20px !important;
}

.mb-20 {
  margin-bottom: 20px !important;
}

.pb-20 {
  padding-bottom: 20px !important;
}

.ml-20 {
  margin-left: 20px !important;
}

.pl-20 {
  padding-left: 20px !important;
}

.pd-24 {
  padding: 24px !important;
}

.mt-24 {
  margin-top: 24px !important;
}

.pt-24 {
  padding-top: 24px !important;
}

.mr-24 {
  margin-right: 24px !important;
}

.pr-24 {
  padding-right: 24px !important;
}

.mb-24 {
  margin-bottom: 24px !important;
}

.pb-24 {
  padding-bottom: 24px !important;
}

.ml-24 {
  margin-left: 24px !important;
}

.pl-24 {
  padding-left: 24px !important;
}

.pd-32 {
  padding: 32px !important;
}

.mt-32 {
  margin-top: 32px !important;
}

.pt-32 {
  padding-top: 32px !important;
}

.mr-32 {
  margin-right: 32px !important;
}

.pr-32 {
  padding-right: 32px !important;
}

.mb-32 {
  margin-bottom: 32px !important;
}

.pb-32 {
  padding-bottom: 32px !important;
}

.ml-32 {
  margin-left: 32px !important;
}

.pl-32 {
  padding-left: 32px !important;
}

.pd-40 {
  padding: 40px !important;
}

.mt-40 {
  margin-top: 40px !important;
}

.pt-40 {
  padding-top: 40px !important;
}

.mr-40 {
  margin-right: 40px !important;
}

.pr-40 {
  padding-right: 40px !important;
}

.mb-40 {
  margin-bottom: 40px !important;
}

.pb-40 {
  padding-bottom: 40px !important;
}

.ml-40 {
  margin-left: 40px !important;
}

.pl-40 {
  padding-left: 40px !important;
}

.pd-48 {
  padding: 48px !important;
}

.mt-48 {
  margin-top: 48px !important;
}

.pt-48 {
  padding-top: 48px !important;
}

.mr-48 {
  margin-right: 48px !important;
}

.pr-48 {
  padding-right: 48px !important;
}

.mb-48 {
  margin-bottom: 48px !important;
}

.pb-48 {
  padding-bottom: 48px !important;
}

.ml-48 {
  margin-left: 48px !important;
}

.pl-48 {
  padding-left: 48px !important;
}

.pd-56 {
  padding: 56px !important;
}

.mt-56 {
  margin-top: 56px !important;
}

.pt-56 {
  padding-top: 56px !important;
}

.mr-56 {
  margin-right: 56px !important;
}

.pr-56 {
  padding-right: 56px !important;
}

.mb-56 {
  margin-bottom: 56px !important;
}

.pb-56 {
  padding-bottom: 56px !important;
}

.ml-56 {
  margin-left: 56px !important;
}

.pl-56 {
  padding-left: 56px !important;
}

.pd-60 {
  padding: 60px !important;
}

.mt-60 {
  margin-top: 60px !important;
}

.pt-60 {
  padding-top: 60px !important;
}

.mr-60 {
  margin-right: 60px !important;
}

.pr-60 {
  padding-right: 60px !important;
}

.mb-60 {
  margin-bottom: 60px !important;
}

.pb-60 {
  padding-bottom: 60px !important;
}

.ml-60 {
  margin-left: 60px !important;
}

.pl-60 {
  padding-left: 60px !important;
}

.pd-64 {
  padding: 64px !important;
}

.mt-64 {
  margin-top: 64px !important;
}

.pt-64 {
  padding-top: 64px !important;
}

.mr-64 {
  margin-right: 64px !important;
}

.pr-64 {
  padding-right: 64px !important;
}

.mb-64 {
  margin-bottom: 64px !important;
}

.pb-64 {
  padding-bottom: 64px !important;
}

.ml-64 {
  margin-left: 64px !important;
}

.pl-64 {
  padding-left: 64px !important;
}

.pd-72 {
  padding: 72px !important;
}

.mt-72 {
  margin-top: 72px !important;
}

.pt-72 {
  padding-top: 72px !important;
}

.mr-72 {
  margin-right: 72px !important;
}

.pr-72 {
  padding-right: 72px !important;
}

.mb-72 {
  margin-bottom: 72px !important;
}

.pb-72 {
  padding-bottom: 72px !important;
}

.ml-72 {
  margin-left: 72px !important;
}

.pl-72 {
  padding-left: 72px !important;
}

.pd-80 {
  padding: 80px !important;
}

.mt-80 {
  margin-top: 80px !important;
}

.pt-80 {
  padding-top: 80px !important;
}

.mr-80 {
  margin-right: 80px !important;
}

.pr-80 {
  padding-right: 80px !important;
}

.mb-80 {
  margin-bottom: 80px !important;
}

.pb-80 {
  padding-bottom: 80px !important;
}

.ml-80 {
  margin-left: 80px !important;
}

.pl-80 {
  padding-left: 80px !important;
}

.pd-88 {
  padding: 88px !important;
}

.mt-88 {
  margin-top: 88px !important;
}

.pt-88 {
  padding-top: 88px !important;
}

.mr-88 {
  margin-right: 88px !important;
}

.pr-88 {
  padding-right: 88px !important;
}

.mb-88 {
  margin-bottom: 88px !important;
}

.pb-88 {
  padding-bottom: 88px !important;
}

.ml-88 {
  margin-left: 88px !important;
}

.pl-88 {
  padding-left: 88px !important;
}

.pd-96 {
  padding: 96px !important;
}

.mt-96 {
  margin-top: 96px !important;
}

.pt-96 {
  padding-top: 96px !important;
}

.mr-96 {
  margin-right: 96px !important;
}

.pr-96 {
  padding-right: 96px !important;
}

.mb-96 {
  margin-bottom: 96px !important;
}

.pb-96 {
  padding-bottom: 96px !important;
}

.ml-96 {
  margin-left: 96px !important;
}

.pl-96 {
  padding-left: 96px !important;
}

.pd-104 {
  padding: 104px !important;
}

.mt-104 {
  margin-top: 104px !important;
}

.pt-104 {
  padding-top: 104px !important;
}

.mr-104 {
  margin-right: 104px !important;
}

.pr-104 {
  padding-right: 104px !important;
}

.mb-104 {
  margin-bottom: 104px !important;
}

.pb-104 {
  padding-bottom: 104px !important;
}

.ml-104 {
  margin-left: 104px !important;
}

.pl-104 {
  padding-left: 104px !important;
}

.pd-112 {
  padding: 112px !important;
}

.mt-112 {
  margin-top: 112px !important;
}

.pt-112 {
  padding-top: 112px !important;
}

.mr-112 {
  margin-right: 112px !important;
}

.pr-112 {
  padding-right: 112px !important;
}

.mb-112 {
  margin-bottom: 112px !important;
}

.pb-112 {
  padding-bottom: 112px !important;
}

.ml-112 {
  margin-left: 112px !important;
}

.pl-112 {
  padding-left: 112px !important;
}

.pd-120 {
  padding: 120px !important;
}

.mt-120 {
  margin-top: 120px !important;
}

.pt-120 {
  padding-top: 120px !important;
}

.mr-120 {
  margin-right: 120px !important;
}

.pr-120 {
  padding-right: 120px !important;
}

.mb-120 {
  margin-bottom: 120px !important;
}

.pb-120 {
  padding-bottom: 120px !important;
}

.ml-120 {
  margin-left: 120px !important;
}

.pl-120 {
  padding-left: 120px !important;
}

.pd-128 {
  padding: 128px !important;
}

.mt-128 {
  margin-top: 128px !important;
}

.pt-128 {
  padding-top: 128px !important;
}

.mr-128 {
  margin-right: 128px !important;
}

.pr-128 {
  padding-right: 128px !important;
}

.mb-128 {
  margin-bottom: 128px !important;
}

.pb-128 {
  padding-bottom: 128px !important;
}

.ml-128 {
  margin-left: 128px !important;
}

.pl-128 {
  padding-left: 128px !important;
}

.pd-160 {
  padding: 160px !important;
}

.mt-160 {
  margin-top: 160px !important;
}

.pt-160 {
  padding-top: 160px !important;
}

.mr-160 {
  margin-right: 160px !important;
}

.pr-160 {
  padding-right: 160px !important;
}

.mb-160 {
  margin-bottom: 160px !important;
}

.pb-160 {
  padding-bottom: 160px !important;
}

.ml-160 {
  margin-left: 160px !important;
}

.pl-160 {
  padding-left: 160px !important;
}

.pd-172 {
  padding: 172px !important;
}

.mt-172 {
  margin-top: 172px !important;
}

.pt-172 {
  padding-top: 172px !important;
}

.mr-172 {
  margin-right: 172px !important;
}

.pr-172 {
  padding-right: 172px !important;
}

.mb-172 {
  margin-bottom: 172px !important;
}

.pb-172 {
  padding-bottom: 172px !important;
}

.ml-172 {
  margin-left: 172px !important;
}

.pl-172 {
  padding-left: 172px !important;
}

@media screen and (max-width: 979px) {
  .m-sp-none {
    margin: 0;
  }
  .tb-pd-0 {
    padding: 0px !important;
  }
  .tb-mt-0 {
    margin-top: 0px !important;
  }
  .tb-pt-0 {
    padding-top: 0px !important;
  }
  .tb-mr-0 {
    margin-right: 0px !important;
  }
  .tb-pr-0 {
    padding-right: 0px !important;
  }
  .tb-ml-0 {
    margin-left: 0px !important;
  }
  .tb-pl-0 {
    padding-left: 0px !important;
  }
  .tb-mb-0 {
    margin-bottom: 0px !important;
  }
  .tb-pb-0 {
    padding-bottom: 0px !important;
  }
  .tb-pd-2 {
    padding: 2px !important;
  }
  .tb-mt-2 {
    margin-top: 2px !important;
  }
  .tb-pt-2 {
    padding-top: 2px !important;
  }
  .tb-mr-2 {
    margin-right: 2px !important;
  }
  .tb-pr-2 {
    padding-right: 2px !important;
  }
  .tb-ml-2 {
    margin-left: 2px !important;
  }
  .tb-pl-2 {
    padding-left: 2px !important;
  }
  .tb-mb-2 {
    margin-bottom: 2px !important;
  }
  .tb-pb-2 {
    padding-bottom: 2px !important;
  }
  .tb-pd-4 {
    padding: 4px !important;
  }
  .tb-mt-4 {
    margin-top: 4px !important;
  }
  .tb-pt-4 {
    padding-top: 4px !important;
  }
  .tb-mr-4 {
    margin-right: 4px !important;
  }
  .tb-pr-4 {
    padding-right: 4px !important;
  }
  .tb-ml-4 {
    margin-left: 4px !important;
  }
  .tb-pl-4 {
    padding-left: 4px !important;
  }
  .tb-mb-4 {
    margin-bottom: 4px !important;
  }
  .tb-pb-4 {
    padding-bottom: 4px !important;
  }
  .tb-pd-8 {
    padding: 8px !important;
  }
  .tb-mt-8 {
    margin-top: 8px !important;
  }
  .tb-pt-8 {
    padding-top: 8px !important;
  }
  .tb-mr-8 {
    margin-right: 8px !important;
  }
  .tb-pr-8 {
    padding-right: 8px !important;
  }
  .tb-ml-8 {
    margin-left: 8px !important;
  }
  .tb-pl-8 {
    padding-left: 8px !important;
  }
  .tb-mb-8 {
    margin-bottom: 8px !important;
  }
  .tb-pb-8 {
    padding-bottom: 8px !important;
  }
  .tb-pd-10 {
    padding: 10px !important;
  }
  .tb-mt-10 {
    margin-top: 10px !important;
  }
  .tb-pt-10 {
    padding-top: 10px !important;
  }
  .tb-mr-10 {
    margin-right: 10px !important;
  }
  .tb-pr-10 {
    padding-right: 10px !important;
  }
  .tb-ml-10 {
    margin-left: 10px !important;
  }
  .tb-pl-10 {
    padding-left: 10px !important;
  }
  .tb-mb-10 {
    margin-bottom: 10px !important;
  }
  .tb-pb-10 {
    padding-bottom: 10px !important;
  }
  .tb-pd-16 {
    padding: 16px !important;
  }
  .tb-mt-16 {
    margin-top: 16px !important;
  }
  .tb-pt-16 {
    padding-top: 16px !important;
  }
  .tb-mr-16 {
    margin-right: 16px !important;
  }
  .tb-pr-16 {
    padding-right: 16px !important;
  }
  .tb-ml-16 {
    margin-left: 16px !important;
  }
  .tb-pl-16 {
    padding-left: 16px !important;
  }
  .tb-mb-16 {
    margin-bottom: 16px !important;
  }
  .tb-pb-16 {
    padding-bottom: 16px !important;
  }
  .tb-pd-20 {
    padding: 20px !important;
  }
  .tb-mt-20 {
    margin-top: 20px !important;
  }
  .tb-pt-20 {
    padding-top: 20px !important;
  }
  .tb-mr-20 {
    margin-right: 20px !important;
  }
  .tb-pr-20 {
    padding-right: 20px !important;
  }
  .tb-ml-20 {
    margin-left: 20px !important;
  }
  .tb-pl-20 {
    padding-left: 20px !important;
  }
  .tb-mb-20 {
    margin-bottom: 20px !important;
  }
  .tb-pb-20 {
    padding-bottom: 20px !important;
  }
  .tb-pd-24 {
    padding: 24px !important;
  }
  .tb-mt-24 {
    margin-top: 24px !important;
  }
  .tb-pt-24 {
    padding-top: 24px !important;
  }
  .tb-mr-24 {
    margin-right: 24px !important;
  }
  .tb-pr-24 {
    padding-right: 24px !important;
  }
  .tb-ml-24 {
    margin-left: 24px !important;
  }
  .tb-pl-24 {
    padding-left: 24px !important;
  }
  .tb-mb-24 {
    margin-bottom: 24px !important;
  }
  .tb-pb-24 {
    padding-bottom: 24px !important;
  }
  .tb-pd-32 {
    padding: 32px !important;
  }
  .tb-mt-32 {
    margin-top: 32px !important;
  }
  .tb-pt-32 {
    padding-top: 32px !important;
  }
  .tb-mr-32 {
    margin-right: 32px !important;
  }
  .tb-pr-32 {
    padding-right: 32px !important;
  }
  .tb-ml-32 {
    margin-left: 32px !important;
  }
  .tb-pl-32 {
    padding-left: 32px !important;
  }
  .tb-mb-32 {
    margin-bottom: 32px !important;
  }
  .tb-pb-32 {
    padding-bottom: 32px !important;
  }
  .tb-pd-40 {
    padding: 40px !important;
  }
  .tb-mt-40 {
    margin-top: 40px !important;
  }
  .tb-pt-40 {
    padding-top: 40px !important;
  }
  .tb-mr-40 {
    margin-right: 40px !important;
  }
  .tb-pr-40 {
    padding-right: 40px !important;
  }
  .tb-ml-40 {
    margin-left: 40px !important;
  }
  .tb-pl-40 {
    padding-left: 40px !important;
  }
  .tb-mb-40 {
    margin-bottom: 40px !important;
  }
  .tb-pb-40 {
    padding-bottom: 40px !important;
  }
  .tb-pd-48 {
    padding: 48px !important;
  }
  .tb-mt-48 {
    margin-top: 48px !important;
  }
  .tb-pt-48 {
    padding-top: 48px !important;
  }
  .tb-mr-48 {
    margin-right: 48px !important;
  }
  .tb-pr-48 {
    padding-right: 48px !important;
  }
  .tb-ml-48 {
    margin-left: 48px !important;
  }
  .tb-pl-48 {
    padding-left: 48px !important;
  }
  .tb-mb-48 {
    margin-bottom: 48px !important;
  }
  .tb-pb-48 {
    padding-bottom: 48px !important;
  }
  .tb-pd-56 {
    padding: 56px !important;
  }
  .tb-mt-56 {
    margin-top: 56px !important;
  }
  .tb-pt-56 {
    padding-top: 56px !important;
  }
  .tb-mr-56 {
    margin-right: 56px !important;
  }
  .tb-pr-56 {
    padding-right: 56px !important;
  }
  .tb-ml-56 {
    margin-left: 56px !important;
  }
  .tb-pl-56 {
    padding-left: 56px !important;
  }
  .tb-mb-56 {
    margin-bottom: 56px !important;
  }
  .tb-pb-56 {
    padding-bottom: 56px !important;
  }
  .tb-pd-60 {
    padding: 60px !important;
  }
  .tb-mt-60 {
    margin-top: 60px !important;
  }
  .tb-pt-60 {
    padding-top: 60px !important;
  }
  .tb-mr-60 {
    margin-right: 60px !important;
  }
  .tb-pr-60 {
    padding-right: 60px !important;
  }
  .tb-ml-60 {
    margin-left: 60px !important;
  }
  .tb-pl-60 {
    padding-left: 60px !important;
  }
  .tb-mb-60 {
    margin-bottom: 60px !important;
  }
  .tb-pb-60 {
    padding-bottom: 60px !important;
  }
  .tb-pd-64 {
    padding: 64px !important;
  }
  .tb-mt-64 {
    margin-top: 64px !important;
  }
  .tb-pt-64 {
    padding-top: 64px !important;
  }
  .tb-mr-64 {
    margin-right: 64px !important;
  }
  .tb-pr-64 {
    padding-right: 64px !important;
  }
  .tb-ml-64 {
    margin-left: 64px !important;
  }
  .tb-pl-64 {
    padding-left: 64px !important;
  }
  .tb-mb-64 {
    margin-bottom: 64px !important;
  }
  .tb-pb-64 {
    padding-bottom: 64px !important;
  }
  .tb-pd-72 {
    padding: 72px !important;
  }
  .tb-mt-72 {
    margin-top: 72px !important;
  }
  .tb-pt-72 {
    padding-top: 72px !important;
  }
  .tb-mr-72 {
    margin-right: 72px !important;
  }
  .tb-pr-72 {
    padding-right: 72px !important;
  }
  .tb-ml-72 {
    margin-left: 72px !important;
  }
  .tb-pl-72 {
    padding-left: 72px !important;
  }
  .tb-mb-72 {
    margin-bottom: 72px !important;
  }
  .tb-pb-72 {
    padding-bottom: 72px !important;
  }
  .tb-pd-80 {
    padding: 80px !important;
  }
  .tb-mt-80 {
    margin-top: 80px !important;
  }
  .tb-pt-80 {
    padding-top: 80px !important;
  }
  .tb-mr-80 {
    margin-right: 80px !important;
  }
  .tb-pr-80 {
    padding-right: 80px !important;
  }
  .tb-ml-80 {
    margin-left: 80px !important;
  }
  .tb-pl-80 {
    padding-left: 80px !important;
  }
  .tb-mb-80 {
    margin-bottom: 80px !important;
  }
  .tb-pb-80 {
    padding-bottom: 80px !important;
  }
  .tb-pd-88 {
    padding: 88px !important;
  }
  .tb-mt-88 {
    margin-top: 88px !important;
  }
  .tb-pt-88 {
    padding-top: 88px !important;
  }
  .tb-mr-88 {
    margin-right: 88px !important;
  }
  .tb-pr-88 {
    padding-right: 88px !important;
  }
  .tb-ml-88 {
    margin-left: 88px !important;
  }
  .tb-pl-88 {
    padding-left: 88px !important;
  }
  .tb-mb-88 {
    margin-bottom: 88px !important;
  }
  .tb-pb-88 {
    padding-bottom: 88px !important;
  }
  .tb-pd-96 {
    padding: 96px !important;
  }
  .tb-mt-96 {
    margin-top: 96px !important;
  }
  .tb-pt-96 {
    padding-top: 96px !important;
  }
  .tb-mr-96 {
    margin-right: 96px !important;
  }
  .tb-pr-96 {
    padding-right: 96px !important;
  }
  .tb-ml-96 {
    margin-left: 96px !important;
  }
  .tb-pl-96 {
    padding-left: 96px !important;
  }
  .tb-mb-96 {
    margin-bottom: 96px !important;
  }
  .tb-pb-96 {
    padding-bottom: 96px !important;
  }
  .tb-pd-104 {
    padding: 104px !important;
  }
  .tb-mt-104 {
    margin-top: 104px !important;
  }
  .tb-pt-104 {
    padding-top: 104px !important;
  }
  .tb-mr-104 {
    margin-right: 104px !important;
  }
  .tb-pr-104 {
    padding-right: 104px !important;
  }
  .tb-ml-104 {
    margin-left: 104px !important;
  }
  .tb-pl-104 {
    padding-left: 104px !important;
  }
  .tb-mb-104 {
    margin-bottom: 104px !important;
  }
  .tb-pb-104 {
    padding-bottom: 104px !important;
  }
  .tb-pd-112 {
    padding: 112px !important;
  }
  .tb-mt-112 {
    margin-top: 112px !important;
  }
  .tb-pt-112 {
    padding-top: 112px !important;
  }
  .tb-mr-112 {
    margin-right: 112px !important;
  }
  .tb-pr-112 {
    padding-right: 112px !important;
  }
  .tb-ml-112 {
    margin-left: 112px !important;
  }
  .tb-pl-112 {
    padding-left: 112px !important;
  }
  .tb-mb-112 {
    margin-bottom: 112px !important;
  }
  .tb-pb-112 {
    padding-bottom: 112px !important;
  }
  .tb-pd-120 {
    padding: 120px !important;
  }
  .tb-mt-120 {
    margin-top: 120px !important;
  }
  .tb-pt-120 {
    padding-top: 120px !important;
  }
  .tb-mr-120 {
    margin-right: 120px !important;
  }
  .tb-pr-120 {
    padding-right: 120px !important;
  }
  .tb-ml-120 {
    margin-left: 120px !important;
  }
  .tb-pl-120 {
    padding-left: 120px !important;
  }
  .tb-mb-120 {
    margin-bottom: 120px !important;
  }
  .tb-pb-120 {
    padding-bottom: 120px !important;
  }
  .tb-pd-128 {
    padding: 128px !important;
  }
  .tb-mt-128 {
    margin-top: 128px !important;
  }
  .tb-pt-128 {
    padding-top: 128px !important;
  }
  .tb-mr-128 {
    margin-right: 128px !important;
  }
  .tb-pr-128 {
    padding-right: 128px !important;
  }
  .tb-ml-128 {
    margin-left: 128px !important;
  }
  .tb-pl-128 {
    padding-left: 128px !important;
  }
  .tb-mb-128 {
    margin-bottom: 128px !important;
  }
  .tb-pb-128 {
    padding-bottom: 128px !important;
  }
  .tb-pd-160 {
    padding: 160px !important;
  }
  .tb-mt-160 {
    margin-top: 160px !important;
  }
  .tb-pt-160 {
    padding-top: 160px !important;
  }
  .tb-mr-160 {
    margin-right: 160px !important;
  }
  .tb-pr-160 {
    padding-right: 160px !important;
  }
  .tb-ml-160 {
    margin-left: 160px !important;
  }
  .tb-pl-160 {
    padding-left: 160px !important;
  }
  .tb-mb-160 {
    margin-bottom: 160px !important;
  }
  .tb-pb-160 {
    padding-bottom: 160px !important;
  }
  .tb-pd-172 {
    padding: 172px !important;
  }
  .tb-mt-172 {
    margin-top: 172px !important;
  }
  .tb-pt-172 {
    padding-top: 172px !important;
  }
  .tb-mr-172 {
    margin-right: 172px !important;
  }
  .tb-pr-172 {
    padding-right: 172px !important;
  }
  .tb-ml-172 {
    margin-left: 172px !important;
  }
  .tb-pl-172 {
    padding-left: 172px !important;
  }
  .tb-mb-172 {
    margin-bottom: 172px !important;
  }
  .tb-pb-172 {
    padding-bottom: 172px !important;
  }
}
@media screen and (max-width: 699px) {
  .w699-pd-0 {
    padding: 0px !important;
  }
  .w699-mt-0 {
    margin-top: 0px !important;
  }
  .w699-pt-0 {
    padding-top: 0px !important;
  }
  .w699-mr-0 {
    margin-right: 0px !important;
  }
  .w699-pr-0 {
    padding-right: 0px !important;
  }
  .w699-ml-0 {
    margin-left: 0px !important;
  }
  .w699-pl-0 {
    padding-left: 0px !important;
  }
  .w699-mb-0 {
    margin-bottom: 0px !important;
  }
  .w699-pb-0 {
    padding-bottom: 0px !important;
  }
  .w699-pd-2 {
    padding: 2px !important;
  }
  .w699-mt-2 {
    margin-top: 2px !important;
  }
  .w699-pt-2 {
    padding-top: 2px !important;
  }
  .w699-mr-2 {
    margin-right: 2px !important;
  }
  .w699-pr-2 {
    padding-right: 2px !important;
  }
  .w699-ml-2 {
    margin-left: 2px !important;
  }
  .w699-pl-2 {
    padding-left: 2px !important;
  }
  .w699-mb-2 {
    margin-bottom: 2px !important;
  }
  .w699-pb-2 {
    padding-bottom: 2px !important;
  }
  .w699-pd-4 {
    padding: 4px !important;
  }
  .w699-mt-4 {
    margin-top: 4px !important;
  }
  .w699-pt-4 {
    padding-top: 4px !important;
  }
  .w699-mr-4 {
    margin-right: 4px !important;
  }
  .w699-pr-4 {
    padding-right: 4px !important;
  }
  .w699-ml-4 {
    margin-left: 4px !important;
  }
  .w699-pl-4 {
    padding-left: 4px !important;
  }
  .w699-mb-4 {
    margin-bottom: 4px !important;
  }
  .w699-pb-4 {
    padding-bottom: 4px !important;
  }
  .w699-pd-8 {
    padding: 8px !important;
  }
  .w699-mt-8 {
    margin-top: 8px !important;
  }
  .w699-pt-8 {
    padding-top: 8px !important;
  }
  .w699-mr-8 {
    margin-right: 8px !important;
  }
  .w699-pr-8 {
    padding-right: 8px !important;
  }
  .w699-ml-8 {
    margin-left: 8px !important;
  }
  .w699-pl-8 {
    padding-left: 8px !important;
  }
  .w699-mb-8 {
    margin-bottom: 8px !important;
  }
  .w699-pb-8 {
    padding-bottom: 8px !important;
  }
  .w699-pd-10 {
    padding: 10px !important;
  }
  .w699-mt-10 {
    margin-top: 10px !important;
  }
  .w699-pt-10 {
    padding-top: 10px !important;
  }
  .w699-mr-10 {
    margin-right: 10px !important;
  }
  .w699-pr-10 {
    padding-right: 10px !important;
  }
  .w699-ml-10 {
    margin-left: 10px !important;
  }
  .w699-pl-10 {
    padding-left: 10px !important;
  }
  .w699-mb-10 {
    margin-bottom: 10px !important;
  }
  .w699-pb-10 {
    padding-bottom: 10px !important;
  }
  .w699-pd-16 {
    padding: 16px !important;
  }
  .w699-mt-16 {
    margin-top: 16px !important;
  }
  .w699-pt-16 {
    padding-top: 16px !important;
  }
  .w699-mr-16 {
    margin-right: 16px !important;
  }
  .w699-pr-16 {
    padding-right: 16px !important;
  }
  .w699-ml-16 {
    margin-left: 16px !important;
  }
  .w699-pl-16 {
    padding-left: 16px !important;
  }
  .w699-mb-16 {
    margin-bottom: 16px !important;
  }
  .w699-pb-16 {
    padding-bottom: 16px !important;
  }
  .w699-pd-20 {
    padding: 20px !important;
  }
  .w699-mt-20 {
    margin-top: 20px !important;
  }
  .w699-pt-20 {
    padding-top: 20px !important;
  }
  .w699-mr-20 {
    margin-right: 20px !important;
  }
  .w699-pr-20 {
    padding-right: 20px !important;
  }
  .w699-ml-20 {
    margin-left: 20px !important;
  }
  .w699-pl-20 {
    padding-left: 20px !important;
  }
  .w699-mb-20 {
    margin-bottom: 20px !important;
  }
  .w699-pb-20 {
    padding-bottom: 20px !important;
  }
  .w699-pd-24 {
    padding: 24px !important;
  }
  .w699-mt-24 {
    margin-top: 24px !important;
  }
  .w699-pt-24 {
    padding-top: 24px !important;
  }
  .w699-mr-24 {
    margin-right: 24px !important;
  }
  .w699-pr-24 {
    padding-right: 24px !important;
  }
  .w699-ml-24 {
    margin-left: 24px !important;
  }
  .w699-pl-24 {
    padding-left: 24px !important;
  }
  .w699-mb-24 {
    margin-bottom: 24px !important;
  }
  .w699-pb-24 {
    padding-bottom: 24px !important;
  }
  .w699-pd-32 {
    padding: 32px !important;
  }
  .w699-mt-32 {
    margin-top: 32px !important;
  }
  .w699-pt-32 {
    padding-top: 32px !important;
  }
  .w699-mr-32 {
    margin-right: 32px !important;
  }
  .w699-pr-32 {
    padding-right: 32px !important;
  }
  .w699-ml-32 {
    margin-left: 32px !important;
  }
  .w699-pl-32 {
    padding-left: 32px !important;
  }
  .w699-mb-32 {
    margin-bottom: 32px !important;
  }
  .w699-pb-32 {
    padding-bottom: 32px !important;
  }
  .w699-pd-40 {
    padding: 40px !important;
  }
  .w699-mt-40 {
    margin-top: 40px !important;
  }
  .w699-pt-40 {
    padding-top: 40px !important;
  }
  .w699-mr-40 {
    margin-right: 40px !important;
  }
  .w699-pr-40 {
    padding-right: 40px !important;
  }
  .w699-ml-40 {
    margin-left: 40px !important;
  }
  .w699-pl-40 {
    padding-left: 40px !important;
  }
  .w699-mb-40 {
    margin-bottom: 40px !important;
  }
  .w699-pb-40 {
    padding-bottom: 40px !important;
  }
  .w699-pd-48 {
    padding: 48px !important;
  }
  .w699-mt-48 {
    margin-top: 48px !important;
  }
  .w699-pt-48 {
    padding-top: 48px !important;
  }
  .w699-mr-48 {
    margin-right: 48px !important;
  }
  .w699-pr-48 {
    padding-right: 48px !important;
  }
  .w699-ml-48 {
    margin-left: 48px !important;
  }
  .w699-pl-48 {
    padding-left: 48px !important;
  }
  .w699-mb-48 {
    margin-bottom: 48px !important;
  }
  .w699-pb-48 {
    padding-bottom: 48px !important;
  }
  .w699-pd-56 {
    padding: 56px !important;
  }
  .w699-mt-56 {
    margin-top: 56px !important;
  }
  .w699-pt-56 {
    padding-top: 56px !important;
  }
  .w699-mr-56 {
    margin-right: 56px !important;
  }
  .w699-pr-56 {
    padding-right: 56px !important;
  }
  .w699-ml-56 {
    margin-left: 56px !important;
  }
  .w699-pl-56 {
    padding-left: 56px !important;
  }
  .w699-mb-56 {
    margin-bottom: 56px !important;
  }
  .w699-pb-56 {
    padding-bottom: 56px !important;
  }
  .w699-pd-60 {
    padding: 60px !important;
  }
  .w699-mt-60 {
    margin-top: 60px !important;
  }
  .w699-pt-60 {
    padding-top: 60px !important;
  }
  .w699-mr-60 {
    margin-right: 60px !important;
  }
  .w699-pr-60 {
    padding-right: 60px !important;
  }
  .w699-ml-60 {
    margin-left: 60px !important;
  }
  .w699-pl-60 {
    padding-left: 60px !important;
  }
  .w699-mb-60 {
    margin-bottom: 60px !important;
  }
  .w699-pb-60 {
    padding-bottom: 60px !important;
  }
  .w699-pd-64 {
    padding: 64px !important;
  }
  .w699-mt-64 {
    margin-top: 64px !important;
  }
  .w699-pt-64 {
    padding-top: 64px !important;
  }
  .w699-mr-64 {
    margin-right: 64px !important;
  }
  .w699-pr-64 {
    padding-right: 64px !important;
  }
  .w699-ml-64 {
    margin-left: 64px !important;
  }
  .w699-pl-64 {
    padding-left: 64px !important;
  }
  .w699-mb-64 {
    margin-bottom: 64px !important;
  }
  .w699-pb-64 {
    padding-bottom: 64px !important;
  }
  .w699-pd-72 {
    padding: 72px !important;
  }
  .w699-mt-72 {
    margin-top: 72px !important;
  }
  .w699-pt-72 {
    padding-top: 72px !important;
  }
  .w699-mr-72 {
    margin-right: 72px !important;
  }
  .w699-pr-72 {
    padding-right: 72px !important;
  }
  .w699-ml-72 {
    margin-left: 72px !important;
  }
  .w699-pl-72 {
    padding-left: 72px !important;
  }
  .w699-mb-72 {
    margin-bottom: 72px !important;
  }
  .w699-pb-72 {
    padding-bottom: 72px !important;
  }
  .w699-pd-80 {
    padding: 80px !important;
  }
  .w699-mt-80 {
    margin-top: 80px !important;
  }
  .w699-pt-80 {
    padding-top: 80px !important;
  }
  .w699-mr-80 {
    margin-right: 80px !important;
  }
  .w699-pr-80 {
    padding-right: 80px !important;
  }
  .w699-ml-80 {
    margin-left: 80px !important;
  }
  .w699-pl-80 {
    padding-left: 80px !important;
  }
  .w699-mb-80 {
    margin-bottom: 80px !important;
  }
  .w699-pb-80 {
    padding-bottom: 80px !important;
  }
  .w699-pd-88 {
    padding: 88px !important;
  }
  .w699-mt-88 {
    margin-top: 88px !important;
  }
  .w699-pt-88 {
    padding-top: 88px !important;
  }
  .w699-mr-88 {
    margin-right: 88px !important;
  }
  .w699-pr-88 {
    padding-right: 88px !important;
  }
  .w699-ml-88 {
    margin-left: 88px !important;
  }
  .w699-pl-88 {
    padding-left: 88px !important;
  }
  .w699-mb-88 {
    margin-bottom: 88px !important;
  }
  .w699-pb-88 {
    padding-bottom: 88px !important;
  }
  .w699-pd-96 {
    padding: 96px !important;
  }
  .w699-mt-96 {
    margin-top: 96px !important;
  }
  .w699-pt-96 {
    padding-top: 96px !important;
  }
  .w699-mr-96 {
    margin-right: 96px !important;
  }
  .w699-pr-96 {
    padding-right: 96px !important;
  }
  .w699-ml-96 {
    margin-left: 96px !important;
  }
  .w699-pl-96 {
    padding-left: 96px !important;
  }
  .w699-mb-96 {
    margin-bottom: 96px !important;
  }
  .w699-pb-96 {
    padding-bottom: 96px !important;
  }
  .w699-pd-104 {
    padding: 104px !important;
  }
  .w699-mt-104 {
    margin-top: 104px !important;
  }
  .w699-pt-104 {
    padding-top: 104px !important;
  }
  .w699-mr-104 {
    margin-right: 104px !important;
  }
  .w699-pr-104 {
    padding-right: 104px !important;
  }
  .w699-ml-104 {
    margin-left: 104px !important;
  }
  .w699-pl-104 {
    padding-left: 104px !important;
  }
  .w699-mb-104 {
    margin-bottom: 104px !important;
  }
  .w699-pb-104 {
    padding-bottom: 104px !important;
  }
  .w699-pd-112 {
    padding: 112px !important;
  }
  .w699-mt-112 {
    margin-top: 112px !important;
  }
  .w699-pt-112 {
    padding-top: 112px !important;
  }
  .w699-mr-112 {
    margin-right: 112px !important;
  }
  .w699-pr-112 {
    padding-right: 112px !important;
  }
  .w699-ml-112 {
    margin-left: 112px !important;
  }
  .w699-pl-112 {
    padding-left: 112px !important;
  }
  .w699-mb-112 {
    margin-bottom: 112px !important;
  }
  .w699-pb-112 {
    padding-bottom: 112px !important;
  }
  .w699-pd-120 {
    padding: 120px !important;
  }
  .w699-mt-120 {
    margin-top: 120px !important;
  }
  .w699-pt-120 {
    padding-top: 120px !important;
  }
  .w699-mr-120 {
    margin-right: 120px !important;
  }
  .w699-pr-120 {
    padding-right: 120px !important;
  }
  .w699-ml-120 {
    margin-left: 120px !important;
  }
  .w699-pl-120 {
    padding-left: 120px !important;
  }
  .w699-mb-120 {
    margin-bottom: 120px !important;
  }
  .w699-pb-120 {
    padding-bottom: 120px !important;
  }
  .w699-pd-128 {
    padding: 128px !important;
  }
  .w699-mt-128 {
    margin-top: 128px !important;
  }
  .w699-pt-128 {
    padding-top: 128px !important;
  }
  .w699-mr-128 {
    margin-right: 128px !important;
  }
  .w699-pr-128 {
    padding-right: 128px !important;
  }
  .w699-ml-128 {
    margin-left: 128px !important;
  }
  .w699-pl-128 {
    padding-left: 128px !important;
  }
  .w699-mb-128 {
    margin-bottom: 128px !important;
  }
  .w699-pb-128 {
    padding-bottom: 128px !important;
  }
  .w699-pd-160 {
    padding: 160px !important;
  }
  .w699-mt-160 {
    margin-top: 160px !important;
  }
  .w699-pt-160 {
    padding-top: 160px !important;
  }
  .w699-mr-160 {
    margin-right: 160px !important;
  }
  .w699-pr-160 {
    padding-right: 160px !important;
  }
  .w699-ml-160 {
    margin-left: 160px !important;
  }
  .w699-pl-160 {
    padding-left: 160px !important;
  }
  .w699-mb-160 {
    margin-bottom: 160px !important;
  }
  .w699-pb-160 {
    padding-bottom: 160px !important;
  }
  .w699-pd-172 {
    padding: 172px !important;
  }
  .w699-mt-172 {
    margin-top: 172px !important;
  }
  .w699-pt-172 {
    padding-top: 172px !important;
  }
  .w699-mr-172 {
    margin-right: 172px !important;
  }
  .w699-pr-172 {
    padding-right: 172px !important;
  }
  .w699-ml-172 {
    margin-left: 172px !important;
  }
  .w699-pl-172 {
    padding-left: 172px !important;
  }
  .w699-mb-172 {
    margin-bottom: 172px !important;
  }
  .w699-pb-172 {
    padding-bottom: 172px !important;
  }
}
@media screen and (max-width: 449px) {
  .sp-pd-0 {
    padding: 0px !important;
  }
  .sp-mt-0 {
    margin-top: 0px !important;
  }
  .sp-pt-0 {
    padding-top: 0px !important;
  }
  .sp-mr-0 {
    margin-right: 0px !important;
  }
  .sp-pr-0 {
    padding-right: 0px !important;
  }
  .sp-ml-0 {
    margin-left: 0px !important;
  }
  .sp-pl-0 {
    padding-left: 0px !important;
  }
  .sp-mb-0 {
    margin-bottom: 0px !important;
  }
  .sp-pb-0 {
    padding-bottom: 0px !important;
  }
  .sp-pd-2 {
    padding: 2px !important;
  }
  .sp-mt-2 {
    margin-top: 2px !important;
  }
  .sp-pt-2 {
    padding-top: 2px !important;
  }
  .sp-mr-2 {
    margin-right: 2px !important;
  }
  .sp-pr-2 {
    padding-right: 2px !important;
  }
  .sp-ml-2 {
    margin-left: 2px !important;
  }
  .sp-pl-2 {
    padding-left: 2px !important;
  }
  .sp-mb-2 {
    margin-bottom: 2px !important;
  }
  .sp-pb-2 {
    padding-bottom: 2px !important;
  }
  .sp-pd-4 {
    padding: 4px !important;
  }
  .sp-mt-4 {
    margin-top: 4px !important;
  }
  .sp-pt-4 {
    padding-top: 4px !important;
  }
  .sp-mr-4 {
    margin-right: 4px !important;
  }
  .sp-pr-4 {
    padding-right: 4px !important;
  }
  .sp-ml-4 {
    margin-left: 4px !important;
  }
  .sp-pl-4 {
    padding-left: 4px !important;
  }
  .sp-mb-4 {
    margin-bottom: 4px !important;
  }
  .sp-pb-4 {
    padding-bottom: 4px !important;
  }
  .sp-pd-8 {
    padding: 8px !important;
  }
  .sp-mt-8 {
    margin-top: 8px !important;
  }
  .sp-pt-8 {
    padding-top: 8px !important;
  }
  .sp-mr-8 {
    margin-right: 8px !important;
  }
  .sp-pr-8 {
    padding-right: 8px !important;
  }
  .sp-ml-8 {
    margin-left: 8px !important;
  }
  .sp-pl-8 {
    padding-left: 8px !important;
  }
  .sp-mb-8 {
    margin-bottom: 8px !important;
  }
  .sp-pb-8 {
    padding-bottom: 8px !important;
  }
  .sp-pd-10 {
    padding: 10px !important;
  }
  .sp-mt-10 {
    margin-top: 10px !important;
  }
  .sp-pt-10 {
    padding-top: 10px !important;
  }
  .sp-mr-10 {
    margin-right: 10px !important;
  }
  .sp-pr-10 {
    padding-right: 10px !important;
  }
  .sp-ml-10 {
    margin-left: 10px !important;
  }
  .sp-pl-10 {
    padding-left: 10px !important;
  }
  .sp-mb-10 {
    margin-bottom: 10px !important;
  }
  .sp-pb-10 {
    padding-bottom: 10px !important;
  }
  .sp-pd-16 {
    padding: 16px !important;
  }
  .sp-mt-16 {
    margin-top: 16px !important;
  }
  .sp-pt-16 {
    padding-top: 16px !important;
  }
  .sp-mr-16 {
    margin-right: 16px !important;
  }
  .sp-pr-16 {
    padding-right: 16px !important;
  }
  .sp-ml-16 {
    margin-left: 16px !important;
  }
  .sp-pl-16 {
    padding-left: 16px !important;
  }
  .sp-mb-16 {
    margin-bottom: 16px !important;
  }
  .sp-pb-16 {
    padding-bottom: 16px !important;
  }
  .sp-pd-20 {
    padding: 20px !important;
  }
  .sp-mt-20 {
    margin-top: 20px !important;
  }
  .sp-pt-20 {
    padding-top: 20px !important;
  }
  .sp-mr-20 {
    margin-right: 20px !important;
  }
  .sp-pr-20 {
    padding-right: 20px !important;
  }
  .sp-ml-20 {
    margin-left: 20px !important;
  }
  .sp-pl-20 {
    padding-left: 20px !important;
  }
  .sp-mb-20 {
    margin-bottom: 20px !important;
  }
  .sp-pb-20 {
    padding-bottom: 20px !important;
  }
  .sp-pd-24 {
    padding: 24px !important;
  }
  .sp-mt-24 {
    margin-top: 24px !important;
  }
  .sp-pt-24 {
    padding-top: 24px !important;
  }
  .sp-mr-24 {
    margin-right: 24px !important;
  }
  .sp-pr-24 {
    padding-right: 24px !important;
  }
  .sp-ml-24 {
    margin-left: 24px !important;
  }
  .sp-pl-24 {
    padding-left: 24px !important;
  }
  .sp-mb-24 {
    margin-bottom: 24px !important;
  }
  .sp-pb-24 {
    padding-bottom: 24px !important;
  }
  .sp-pd-32 {
    padding: 32px !important;
  }
  .sp-mt-32 {
    margin-top: 32px !important;
  }
  .sp-pt-32 {
    padding-top: 32px !important;
  }
  .sp-mr-32 {
    margin-right: 32px !important;
  }
  .sp-pr-32 {
    padding-right: 32px !important;
  }
  .sp-ml-32 {
    margin-left: 32px !important;
  }
  .sp-pl-32 {
    padding-left: 32px !important;
  }
  .sp-mb-32 {
    margin-bottom: 32px !important;
  }
  .sp-pb-32 {
    padding-bottom: 32px !important;
  }
  .sp-pd-40 {
    padding: 40px !important;
  }
  .sp-mt-40 {
    margin-top: 40px !important;
  }
  .sp-pt-40 {
    padding-top: 40px !important;
  }
  .sp-mr-40 {
    margin-right: 40px !important;
  }
  .sp-pr-40 {
    padding-right: 40px !important;
  }
  .sp-ml-40 {
    margin-left: 40px !important;
  }
  .sp-pl-40 {
    padding-left: 40px !important;
  }
  .sp-mb-40 {
    margin-bottom: 40px !important;
  }
  .sp-pb-40 {
    padding-bottom: 40px !important;
  }
  .sp-pd-48 {
    padding: 48px !important;
  }
  .sp-mt-48 {
    margin-top: 48px !important;
  }
  .sp-pt-48 {
    padding-top: 48px !important;
  }
  .sp-mr-48 {
    margin-right: 48px !important;
  }
  .sp-pr-48 {
    padding-right: 48px !important;
  }
  .sp-ml-48 {
    margin-left: 48px !important;
  }
  .sp-pl-48 {
    padding-left: 48px !important;
  }
  .sp-mb-48 {
    margin-bottom: 48px !important;
  }
  .sp-pb-48 {
    padding-bottom: 48px !important;
  }
  .sp-pd-56 {
    padding: 56px !important;
  }
  .sp-mt-56 {
    margin-top: 56px !important;
  }
  .sp-pt-56 {
    padding-top: 56px !important;
  }
  .sp-mr-56 {
    margin-right: 56px !important;
  }
  .sp-pr-56 {
    padding-right: 56px !important;
  }
  .sp-ml-56 {
    margin-left: 56px !important;
  }
  .sp-pl-56 {
    padding-left: 56px !important;
  }
  .sp-mb-56 {
    margin-bottom: 56px !important;
  }
  .sp-pb-56 {
    padding-bottom: 56px !important;
  }
  .sp-pd-60 {
    padding: 60px !important;
  }
  .sp-mt-60 {
    margin-top: 60px !important;
  }
  .sp-pt-60 {
    padding-top: 60px !important;
  }
  .sp-mr-60 {
    margin-right: 60px !important;
  }
  .sp-pr-60 {
    padding-right: 60px !important;
  }
  .sp-ml-60 {
    margin-left: 60px !important;
  }
  .sp-pl-60 {
    padding-left: 60px !important;
  }
  .sp-mb-60 {
    margin-bottom: 60px !important;
  }
  .sp-pb-60 {
    padding-bottom: 60px !important;
  }
  .sp-pd-64 {
    padding: 64px !important;
  }
  .sp-mt-64 {
    margin-top: 64px !important;
  }
  .sp-pt-64 {
    padding-top: 64px !important;
  }
  .sp-mr-64 {
    margin-right: 64px !important;
  }
  .sp-pr-64 {
    padding-right: 64px !important;
  }
  .sp-ml-64 {
    margin-left: 64px !important;
  }
  .sp-pl-64 {
    padding-left: 64px !important;
  }
  .sp-mb-64 {
    margin-bottom: 64px !important;
  }
  .sp-pb-64 {
    padding-bottom: 64px !important;
  }
  .sp-pd-72 {
    padding: 72px !important;
  }
  .sp-mt-72 {
    margin-top: 72px !important;
  }
  .sp-pt-72 {
    padding-top: 72px !important;
  }
  .sp-mr-72 {
    margin-right: 72px !important;
  }
  .sp-pr-72 {
    padding-right: 72px !important;
  }
  .sp-ml-72 {
    margin-left: 72px !important;
  }
  .sp-pl-72 {
    padding-left: 72px !important;
  }
  .sp-mb-72 {
    margin-bottom: 72px !important;
  }
  .sp-pb-72 {
    padding-bottom: 72px !important;
  }
  .sp-pd-80 {
    padding: 80px !important;
  }
  .sp-mt-80 {
    margin-top: 80px !important;
  }
  .sp-pt-80 {
    padding-top: 80px !important;
  }
  .sp-mr-80 {
    margin-right: 80px !important;
  }
  .sp-pr-80 {
    padding-right: 80px !important;
  }
  .sp-ml-80 {
    margin-left: 80px !important;
  }
  .sp-pl-80 {
    padding-left: 80px !important;
  }
  .sp-mb-80 {
    margin-bottom: 80px !important;
  }
  .sp-pb-80 {
    padding-bottom: 80px !important;
  }
  .sp-pd-88 {
    padding: 88px !important;
  }
  .sp-mt-88 {
    margin-top: 88px !important;
  }
  .sp-pt-88 {
    padding-top: 88px !important;
  }
  .sp-mr-88 {
    margin-right: 88px !important;
  }
  .sp-pr-88 {
    padding-right: 88px !important;
  }
  .sp-ml-88 {
    margin-left: 88px !important;
  }
  .sp-pl-88 {
    padding-left: 88px !important;
  }
  .sp-mb-88 {
    margin-bottom: 88px !important;
  }
  .sp-pb-88 {
    padding-bottom: 88px !important;
  }
  .sp-pd-96 {
    padding: 96px !important;
  }
  .sp-mt-96 {
    margin-top: 96px !important;
  }
  .sp-pt-96 {
    padding-top: 96px !important;
  }
  .sp-mr-96 {
    margin-right: 96px !important;
  }
  .sp-pr-96 {
    padding-right: 96px !important;
  }
  .sp-ml-96 {
    margin-left: 96px !important;
  }
  .sp-pl-96 {
    padding-left: 96px !important;
  }
  .sp-mb-96 {
    margin-bottom: 96px !important;
  }
  .sp-pb-96 {
    padding-bottom: 96px !important;
  }
  .sp-pd-104 {
    padding: 104px !important;
  }
  .sp-mt-104 {
    margin-top: 104px !important;
  }
  .sp-pt-104 {
    padding-top: 104px !important;
  }
  .sp-mr-104 {
    margin-right: 104px !important;
  }
  .sp-pr-104 {
    padding-right: 104px !important;
  }
  .sp-ml-104 {
    margin-left: 104px !important;
  }
  .sp-pl-104 {
    padding-left: 104px !important;
  }
  .sp-mb-104 {
    margin-bottom: 104px !important;
  }
  .sp-pb-104 {
    padding-bottom: 104px !important;
  }
  .sp-pd-112 {
    padding: 112px !important;
  }
  .sp-mt-112 {
    margin-top: 112px !important;
  }
  .sp-pt-112 {
    padding-top: 112px !important;
  }
  .sp-mr-112 {
    margin-right: 112px !important;
  }
  .sp-pr-112 {
    padding-right: 112px !important;
  }
  .sp-ml-112 {
    margin-left: 112px !important;
  }
  .sp-pl-112 {
    padding-left: 112px !important;
  }
  .sp-mb-112 {
    margin-bottom: 112px !important;
  }
  .sp-pb-112 {
    padding-bottom: 112px !important;
  }
  .sp-pd-120 {
    padding: 120px !important;
  }
  .sp-mt-120 {
    margin-top: 120px !important;
  }
  .sp-pt-120 {
    padding-top: 120px !important;
  }
  .sp-mr-120 {
    margin-right: 120px !important;
  }
  .sp-pr-120 {
    padding-right: 120px !important;
  }
  .sp-ml-120 {
    margin-left: 120px !important;
  }
  .sp-pl-120 {
    padding-left: 120px !important;
  }
  .sp-mb-120 {
    margin-bottom: 120px !important;
  }
  .sp-pb-120 {
    padding-bottom: 120px !important;
  }
  .sp-pd-128 {
    padding: 128px !important;
  }
  .sp-mt-128 {
    margin-top: 128px !important;
  }
  .sp-pt-128 {
    padding-top: 128px !important;
  }
  .sp-mr-128 {
    margin-right: 128px !important;
  }
  .sp-pr-128 {
    padding-right: 128px !important;
  }
  .sp-ml-128 {
    margin-left: 128px !important;
  }
  .sp-pl-128 {
    padding-left: 128px !important;
  }
  .sp-mb-128 {
    margin-bottom: 128px !important;
  }
  .sp-pb-128 {
    padding-bottom: 128px !important;
  }
  .sp-pd-160 {
    padding: 160px !important;
  }
  .sp-mt-160 {
    margin-top: 160px !important;
  }
  .sp-pt-160 {
    padding-top: 160px !important;
  }
  .sp-mr-160 {
    margin-right: 160px !important;
  }
  .sp-pr-160 {
    padding-right: 160px !important;
  }
  .sp-ml-160 {
    margin-left: 160px !important;
  }
  .sp-pl-160 {
    padding-left: 160px !important;
  }
  .sp-mb-160 {
    margin-bottom: 160px !important;
  }
  .sp-pb-160 {
    padding-bottom: 160px !important;
  }
  .sp-pd-172 {
    padding: 172px !important;
  }
  .sp-mt-172 {
    margin-top: 172px !important;
  }
  .sp-pt-172 {
    padding-top: 172px !important;
  }
  .sp-mr-172 {
    margin-right: 172px !important;
  }
  .sp-pr-172 {
    padding-right: 172px !important;
  }
  .sp-ml-172 {
    margin-left: 172px !important;
  }
  .sp-pl-172 {
    padding-left: 172px !important;
  }
  .sp-mb-172 {
    margin-bottom: 172px !important;
  }
  .sp-pb-172 {
    padding-bottom: 172px !important;
  }
}
.ml-auto {
  margin-left: auto !important;
}

.mg-auto {
  margin: 0 auto !important;
}

@media screen and (max-width: 979px) {
  .tb-mg-auto {
    margin: 0 auto !important;
  }
}
@media screen and (max-width: 699px) {
  .w699-mg-auto {
    margin: 0 auto !important;
  }
}
@media screen and (max-width: 449px) {
  .sp-mg-auto {
    margin: 0 auto !important;
  }
}
.width-10 {
  width: 10%;
}

.height-10 {
  height: 10%;
}

.width-20 {
  width: 20%;
}

.height-20 {
  height: 20%;
}

.width-30 {
  width: 30%;
}

.height-30 {
  height: 30%;
}

.width-40 {
  width: 40%;
}

.height-40 {
  height: 40%;
}

.width-45 {
  width: 45%;
}

.height-45 {
  height: 45%;
}

.width-50 {
  width: 50%;
}

.height-50 {
  height: 50%;
}

.width-60 {
  width: 60%;
}

.height-60 {
  height: 60%;
}

.width-65 {
  width: 65%;
}

.height-65 {
  height: 65%;
}

.width-70 {
  width: 70%;
}

.height-70 {
  height: 70%;
}

.width-80 {
  width: 80%;
}

.height-80 {
  height: 80%;
}

.width-90 {
  width: 90%;
}

.height-90 {
  height: 90%;
}

.width-100 {
  width: 100%;
}

.height-100 {
  height: 100%;
}

@media screen and (max-width: 979px) {
  .tb-width-10 {
    width: 10%;
  }
  .tb-height-10 {
    height: 10%;
  }
  .tb-width-20 {
    width: 20%;
  }
  .tb-height-20 {
    height: 20%;
  }
  .tb-width-30 {
    width: 30%;
  }
  .tb-height-30 {
    height: 30%;
  }
  .tb-width-40 {
    width: 40%;
  }
  .tb-height-40 {
    height: 40%;
  }
  .tb-width-45 {
    width: 45%;
  }
  .tb-height-45 {
    height: 45%;
  }
  .tb-width-50 {
    width: 50%;
  }
  .tb-height-50 {
    height: 50%;
  }
  .tb-width-60 {
    width: 60%;
  }
  .tb-height-60 {
    height: 60%;
  }
  .tb-width-65 {
    width: 65%;
  }
  .tb-height-65 {
    height: 65%;
  }
  .tb-width-70 {
    width: 70%;
  }
  .tb-height-70 {
    height: 70%;
  }
  .tb-width-80 {
    width: 80%;
  }
  .tb-height-80 {
    height: 80%;
  }
  .tb-width-90 {
    width: 90%;
  }
  .tb-height-90 {
    height: 90%;
  }
  .tb-width-100 {
    width: 100%;
  }
  .tb-height-100 {
    height: 100%;
  }
}
@media screen and (max-width: 699px) {
  .w699-width-10 {
    width: 10%;
  }
  .w699-height-10 {
    height: 10%;
  }
  .w699-width-20 {
    width: 20%;
  }
  .w699-height-20 {
    height: 20%;
  }
  .w699-width-30 {
    width: 30%;
  }
  .w699-height-30 {
    height: 30%;
  }
  .w699-width-40 {
    width: 40%;
  }
  .w699-height-40 {
    height: 40%;
  }
  .w699-width-45 {
    width: 45%;
  }
  .w699-height-45 {
    height: 45%;
  }
  .w699-width-50 {
    width: 50%;
  }
  .w699-height-50 {
    height: 50%;
  }
  .w699-width-60 {
    width: 60%;
  }
  .w699-height-60 {
    height: 60%;
  }
  .w699-width-65 {
    width: 65%;
  }
  .w699-height-65 {
    height: 65%;
  }
  .w699-width-70 {
    width: 70%;
  }
  .w699-height-70 {
    height: 70%;
  }
  .w699-width-80 {
    width: 80%;
  }
  .w699-height-80 {
    height: 80%;
  }
  .w699-width-90 {
    width: 90%;
  }
  .w699-height-90 {
    height: 90%;
  }
  .w699-width-100 {
    width: 100%;
  }
  .w699-height-100 {
    height: 100%;
  }
}
@media screen and (max-width: 449px) {
  .sp-width-10 {
    width: 10%;
  }
  .sp-height-10 {
    height: 10%;
  }
  .sp-width-20 {
    width: 20%;
  }
  .sp-height-20 {
    height: 20%;
  }
  .sp-width-30 {
    width: 30%;
  }
  .sp-height-30 {
    height: 30%;
  }
  .sp-width-40 {
    width: 40%;
  }
  .sp-height-40 {
    height: 40%;
  }
  .sp-width-45 {
    width: 45%;
  }
  .sp-height-45 {
    height: 45%;
  }
  .sp-width-50 {
    width: 50%;
  }
  .sp-height-50 {
    height: 50%;
  }
  .sp-width-60 {
    width: 60%;
  }
  .sp-height-60 {
    height: 60%;
  }
  .sp-width-65 {
    width: 65%;
  }
  .sp-height-65 {
    height: 65%;
  }
  .sp-width-70 {
    width: 70%;
  }
  .sp-height-70 {
    height: 70%;
  }
  .sp-width-80 {
    width: 80%;
  }
  .sp-height-80 {
    height: 80%;
  }
  .sp-width-90 {
    width: 90%;
  }
  .sp-height-90 {
    height: 90%;
  }
  .sp-width-100 {
    width: 100%;
  }
  .sp-height-100 {
    height: 100%;
  }
}
.width-fit {
  width: fit-content;
}

.br-pc {
  display: block;
}

.br-tb {
  display: none;
}

.br-sp {
  display: none;
}

.br-pc-tb {
  display: block;
}

.br-tb-sp {
  display: none;
}

@media screen and (max-width: 979px) {
  .br-pc {
    display: none;
  }
  .br-tb {
    display: block;
  }
  .br-pc-tb {
    display: block;
  }
  .br-tb-sp {
    display: block;
  }
}
@media screen and (max-width: 449px) {
  .br-tb {
    display: none;
  }
  .br-sp {
    display: block;
  }
  .br-pc-tb {
    display: none;
  }
}
.align-center {
  text-align: center !important;
}

.align-left {
  text-align: left !important;
}

.align-right {
  text-align: right !important;
}

@media screen and (max-width: 979px) {
  .tb-align-center {
    text-align: center !important;
  }
  .tb-align-left {
    text-align: left !important;
  }
  .tb-align-right {
    text-align: right !important;
  }
}
@media screen and (max-width: 699px) {
  .w699-align-center {
    text-align: center !important;
  }
  .w699-align-left {
    text-align: left !important;
  }
  .w699-align-right {
    text-align: right !important;
  }
}
@media screen and (max-width: 449px) {
  .sp-align-center {
    text-align: center !important;
  }
  .sp-align-left {
    text-align: left !important;
  }
  .sp-align-right {
    text-align: right !important;
  }
}
.block {
  display: block !important;
}

.inline {
  display: inline !important;
}

.inline-block {
  display: inline-block !important;
}

strong {
  display: block;
  margin-top: 16px;
}

h1 > strong,
h2 > strong,
h3 > strong,
h4 > strong,
h5 > strong,
p > strong,
span > strong,
li > strong,
dt > strong,
dd > strong {
  display: inline;
}

.article-inner section,
.article-content section {
  margin-top: 64px;
}
.article-inner * + p,
.article-content * + p {
  margin-top: 16px;
}
.article-inner figcaption,
.article-inner .figcaption,
.article-content figcaption,
.article-content .figcaption {
  margin-top: 8px;
}

.pc-show {
  display: block;
}

.pc-hide {
  display: none;
}

.tb-show {
  display: none;
}

.tb-hide {
  display: block;
}

.tb-sp-show {
  display: none;
}

.tb-sp-hide {
  display: block;
}

.w699-show {
  display: none;
}

.w699-hide {
  display: block;
}

.sp-show {
  display: none;
}

.sp-hide {
  display: block;
}

@media screen and (max-width: 979px) {
  .pc-show {
    display: none;
  }
  .pc-hide {
    display: block;
  }
  .tb-show {
    display: block;
  }
  .tb-hide {
    display: none;
  }
  .tb-sp-hide {
    display: none;
  }
  .tb-sp-show {
    display: block;
  }
}
@media screen and (max-width: 699px) {
  .w699-show {
    display: block;
  }
  .w699-hide {
    display: none;
  }
  .tb-show {
    display: none;
  }
  .tb-hide {
    display: block;
  }
}
@media screen and (max-width: 449px) {
  .w699-show {
    display: none;
  }
  .w699-hide {
    display: block;
  }
  .sp-show {
    display: block;
  }
  .sp-hide {
    display: none;
  }
}
.radius-10 {
  border-radius: 10px;
}

.radius-12 {
  border-radius: 12px;
}

.radius-20 {
  border-radius: 20px;
}

.hr-show {
  display: block;
}

.hr-hide {
  display: none !important;
}

@media screen and (max-width: 1000px) {
  .hr-show {
    display: none !important;
  }
  .hr-hide {
    display: block !important;
  }
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.skip-link {
  position: absolute;
  left: -9000em;
  top: 0;
  z-index: 2000;
  display: block;
  padding: 0.5rem 1rem;
  background: var(--FS_Bg_gray_2);
  color: var(--FS_primary);
}
.skip-link:hover {
  background: var(--FS_primary);
  color: #fff;
}
.skip-link:focus {
  left: 0;
}

.progress-container {
  width: 100%;
  height: 6px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 11;
  transition: transform 0.3s;
}
@media screen and (max-width: 1000px) {
  .progress-container {
    display: none;
  }
}
.progress-container.header-scroll-hide {
  transform: translateY(-6px);
}

.progress-bar {
  width: 0;
  height: 6px;
  background: var(--FS_gradation_B);
}

header {
  -webkit-position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 10;
  width: 100%;
  background: rgba(255, 255, 255, 0.9);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 64px 0px;
  transform: translateY(0px);
  transition: transform 0.6s, background 0.3s;
  overflow: inherit;
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.2);
}
header:has(.menu-active), header:has(.header-search-active) {
  background: var(--White);
}
header .logo img {
  display: block;
  width: 209px;
  aspect-ratio: 209/78;
  margin-right: 32px;
}
header.load {
  overflow: hidden;
}
header.header-scroll-hide {
  transform: translateY(-86px);
}

.has-js-loaded .nav-toggle {
  display: block;
}

.nav-toggle {
  display: none;
  order: 1;
  margin-left: auto;
  border: 0;
  background: none;
  position: relative;
  padding: 14.5px 7px;
}
.nav-toggle .navicon {
  background: var(--FS_primary);
  display: block;
  height: 1px;
  width: 16px;
  position: relative;
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}
.nav-toggle .navicon:before, .nav-toggle .navicon:after {
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  position: absolute;
  background: var(--FS_text_bluegray);
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}
.nav-toggle .navicon:before {
  top: 6px;
}
.nav-toggle .navicon:after {
  bottom: 6px;
}
.nav-toggle[aria-expanded=true] .navicon {
  background: rgba(0, 0, 0, 0);
  transition: 0.2192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}
.nav-toggle[aria-expanded=true] .navicon:before {
  transform: rotate(-45deg);
  top: 0;
}
.nav-toggle[aria-expanded=true] .navicon:after {
  transform: rotate(45deg);
  bottom: 0;
}
@media screen and (min-width: 1001px) {
  .nav-toggle {
    display: none;
  }
}

.sm-nav ul {
  display: block;
}

.nav-main {
  position: absolute;
  top: 3.25rem;
  left: 0;
  right: 0;
}
.nav-main > ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}
.nav-main > ul > li {
  margin: 0;
}
.nav-main > ul > li > a {
  display: block;
  color: var(--FS_text_bluegray);
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 160%;
  text-decoration: none;
}
.nav-main > ul > li > a:hover, .nav-main > ul > li > a:focus {
  color: var(--FS_accent_blue_text);
}
.nav-main > ul > li.has-subnav > a {
  display: flex;
  align-items: center;
  transition: color 0.2s;
}

.subnav {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease, visibility 0.4s ease, height 0.4s;
  overflow: hidden;
  pointer-events: none;
}
.subnav.show {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.4s ease;
  pointer-events: auto;
}
.subnav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.subnav a {
  text-decoration: none;
}
.subnav[hidden], .subnav.noshow {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease, visibility 0.4s ease 0.4s, height 0.4s;
}
.subnav[hidden] .subnav-section, .subnav.noshow .subnav-section {
  opacity: 1;
  transform: none;
  transition: opacity 0.3s ease;
}
.subnav[hidden] .subnav-head, .subnav.noshow .subnav-head {
  opacity: 1;
  transform: none;
  transition: opacity 0.3s ease;
}

.sp-header-search {
  display: none;
}

@media screen and (min-width: 1001px) {
  header {
    height: 86px;
    align-items: center;
  }
  header.has-js-loaded .nav-toggle {
    display: none;
  }
  header.has-js-loaded .nav-wrapper.noshow {
    display: block;
  }
  .sp-search-toggle {
    display: none;
  }
  .sp-menu-menu-back-button {
    display: none;
  }
  .sm-nav ul {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    font-size: 1.2rem;
    font-weight: 400;
    margin-top: 6px;
  }
  .sm-nav ul li:not(:last-child) {
    margin: 0 21px 0 0;
  }
  .sm-nav ul li.select-lang, .sm-nav ul li.select-contact {
    margin-right: 12px;
  }
  .sm-nav ul li .icon_lang,
  .sm-nav ul li .icon_contact,
  .sm-nav ul li .icon_header_search {
    display: block;
    width: 24px;
    height: 24px;
    transition: 0.3s;
  }
  .sm-nav ul li .icon_lang {
    background: url(/e/common/img/icon/icon_lang.svg) no-repeat center center;
    background-size: cover;
  }
  .sm-nav ul li .icon_lang:hover {
    background: url(/e/common/img/icon/icon_lang_hover.svg) no-repeat center center;
    background-size: cover;
  }
  .sm-nav ul li .icon_contact {
    background: url(/e/common/img/icon/icon_contact.svg) no-repeat center center;
    background-size: cover;
  }
  .sm-nav ul li .icon_contact:hover {
    background: url(/e/common/img/icon/icon_contact_hover.svg) no-repeat center center;
    background-size: cover;
  }
  .sm-nav ul li:last-child {
    display: flex;
  }
  .sm-nav ul li:last-child button:hover {
    cursor: pointer;
  }
  .sm-nav ul li a {
    display: block;
    color: var(--FS_text_bluegray);
    line-height: 2;
  }
  .sm-nav ul li a:hover, .sm-nav ul li a:focus {
    color: var(--FS_accent_blue_text);
  }
  .sm-nav ul .search-drop .icon_header_search {
    background: url(/e/common/img/icon/icon_header_search.svg) no-repeat center center;
    background-size: cover;
  }
  .sm-nav ul .search-drop .icon_header_search:hover {
    background: url(/e/common/img/icon/icon_header_search_hover.svg) no-repeat center center;
    background-size: cover;
  }
  .search-on .sm-nav ul .search-drop .icon_header_search {
    background: url(/e/common/img/icon/icon_close.svg) no-repeat center center;
    background-size: cover;
  }
  .nav-main {
    position: static;
    left: auto;
    right: auto;
    top: auto;
    display: flex;
    flex-direction: column;
  }
  .nav-main > ul {
    margin: 0;
    order: 2;
  }
  .nav-main > ul > li.current > a {
    font-weight: bold;
    color: var(--FS_primary);
  }
  .nav-main > ul > li.current > a::before {
    content: "";
    display: block;
    position: absolute;
    bottom: -1px;
    left: 50%;
    transform: translateX(-50%);
    width: 60%;
    height: 4px;
    border-radius: 2px 2px 0 0;
    background: var(--FS_primary);
  }
  .nav-main > ul > li:last-child > a {
    padding-right: 0;
  }
  .nav-main > ul > li > a {
    position: relative;
    color: var(--FS_text_bluegray);
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 2;
    transition: border-top-color 250ms ease-out;
    white-space: nowrap;
    padding: 8px 16px;
  }
  .nav-main > ul > li > a:hover, .nav-main > ul > li > a:focus {
    color: var(--FS_accent_blue_text);
  }
  .nav-main > ul > li.has-subnav > span {
    display: none;
  }
  .nav-main > ul > li.has-subnav > a {
    display: flex;
    align-items: center;
  }
  .subnav {
    position: absolute;
    left: 0;
    right: 0;
    top: 86px;
    padding: 40px 64px;
    background: var(--White);
    z-index: 1001;
    opacity: 1;
  }
  .subnav .subnav-section {
    opacity: 1;
    transition: all 0.4s;
  }
  .subnav .subnav-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    opacity: 1;
    transition: all 0.4s;
  }
  .subnav.menu-overflow-y-full {
    height: 100vh;
    overflow-y: scroll;
    padding-bottom: 160px;
  }
  .subnav-content {
    display: flex;
    align-items: flex-start;
    gap: 32px;
  }
  .subnav-content a, .subnav-content button, .subnav-content a:visited {
    color: var(--FS_primary);
    font-weight: 700;
  }
  .subnav-content a:hover, .subnav-content button:hover, .subnav-content a:visited:hover {
    text-decoration: none;
  }
  .subnav-content .subnav-contents-list {
    width: 100%;
    display: flex;
  }
  .subnav-content .subnav-title {
    font-size: 2rem;
    min-width: 220px;
  }
  .subnav-contents-list-title {
    padding: 4px 0;
    border-bottom: 1px solid var(--FS_Bg_gray_2);
  }
  .subnav-contents-list-title:first-child {
    border-top: 1px solid var(--FS_Bg_gray_2);
  }
  .subnav-contents-list-title > a,
  .subnav-contents-list-title > span {
    font-size: 1.6rem;
    padding: 12px 10px;
    border-radius: 8px;
    transition: 0.4s ease;
  }
  .subnav-contents-list-title > a.text-link,
  .subnav-contents-list-title > span.text-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .subnav-contents-list-title > a.text-link span,
  .subnav-contents-list-title > span.text-link span {
    opacity: 0;
    transition: 0.4s ease;
  }
  .subnav-contents-list-title > a:hover, .subnav-contents-list-title > a:focus-visible,
  .subnav-contents-list-title > span:hover,
  .subnav-contents-list-title > span:focus-visible {
    background-color: var(--FS_primary);
    color: var(--White);
  }
  .subnav-contents-list-title > a:hover.text-link span, .subnav-contents-list-title > a:focus-visible.text-link span,
  .subnav-contents-list-title > span:hover.text-link span,
  .subnav-contents-list-title > span:focus-visible.text-link span {
    opacity: 1;
  }
  .subnav .tabs {
    width: 100%;
    max-width: 100%;
    display: flex;
  }
  .subnav [role=tablist] {
    width: 50%;
    max-width: 474px;
    height: 196px;
    display: flex;
    flex-direction: column;
  }
  .subnav [role=tab] {
    cursor: pointer;
    text-align: left;
  }
  .subnav [role=tab] span.focus {
    display: block;
  }
  .subnav [role=tab]:focus > span,
  .subnav [role=tab]:hover > span,
  .subnav [role=tab].is-active > span {
    color: var(--FS_primary);
    background-color: var(--FS_Bg_lightblue);
    border-radius: 8px 0 0 8px;
  }
  .subnav [role=tabpanel] {
    visibility: hidden;
    opacity: 0;
    transition: visibility 0s, opacity 1s;
    max-height: 0;
  }
  .subnav [role=tabpanel] * {
    display: none;
  }
  .subnav [role=tabpanel].is-active {
    visibility: visible;
    opacity: 1;
    width: 100%;
    overflow: auto;
    max-height: none;
    padding: 4px 0;
    border-top: 1px solid var(--FS_Bg_gray_2);
  }
  .subnav [role=tabpanel].is-active * {
    display: block;
  }
  .subnav [role=tabpanel] p {
    margin: 0;
  }
  .subnav ul.sub-subnav-list {
    padding: 8px;
    background-color: var(--FS_Bg_lightblue);
    border-radius: 8px;
  }
  .subnav ul.sub-subnav-list li a {
    padding: 8px 16px;
    border-radius: 8px;
  }
  .subnav ul.sub-subnav-list li a:hover {
    background-color: var(--FS_primary);
    color: var(--White);
  }
  .subnav #tabpanel-1 .sub-subnav-list {
    border-radius: 0 8px 8px 8px;
  }
  .menu-bg {
    transition: opacity 0.4s, visibility 0.4s;
    visibility: hidden;
    opacity: 0;
  }
  .menu-bg.menu-bg-active {
    visibility: visible;
    opacity: 0.8;
    background: var(--FS_text_bluegray);
    position: fixed;
    width: 100%;
    height: 100vh;
    z-index: 9;
  }
  .close-button button {
    width: 32px;
    height: 32px;
    position: relative;
  }
  .close-button button:before, .close-button button:after {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background: var(--FS_accent_blue_text);
    transform: rotate(45deg);
    transform-origin: 0% 50%;
    position: absolute;
    top: calc(14% - 1px);
    left: 14%;
    border-radius: 4px;
  }
  .close-button button:after {
    transform: rotate(-45deg);
    transform-origin: 100% 50%;
    left: auto;
    right: 15%;
  }
  .close-button button:hover {
    cursor: pointer;
  }
  .close-button button:focus-visible {
    outline: 1px solid var(--primary-color);
  }
  .header-search {
    position: absolute;
    background: #fff;
    padding: 60px 40px;
    width: 100%;
    left: 0;
    top: 86px;
    visibility: hidden;
    opacity: 0;
    height: 100vh;
    transition: visibility 0.3s, opacity 0.3s ease;
  }
  .header-search .search-area {
    display: flex;
    justify-content: center;
  }
  .header-search .search-area .content-search-box {
    margin-top: 0;
    max-width: 772px;
  }
  .header-search .search-area .content-search-box input[type=text].content-search-input {
    padding: 12px 38px 12px 20px;
  }
  .header-search .search-area input[type=text].content-search-input {
    background: var(--FS_Bg_lightblue);
  }
  .header-search-active {
    opacity: 1;
    visibility: visible;
  }
}
/* 検索がアクティブの時 */
.nav-main ul li:not(:has(.search-drop)) {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.nav-main.search-on ul li:not(:has(.search-drop)) {
  opacity: 0;
  visibility: hidden;
}

@media screen and (max-width: 1000px) {
  header.header-scroll-hide {
    transform: translateY(-76.46px);
  }
  .scroll-fixed {
    overscroll-behavior: none;
    touch-action: none;
    -webkit-overflow-scrolling: none;
    overflow: hidden;
    width: 100%;
  }
  header {
    position: fixed;
    padding: 10px 12px;
    height: auto;
    min-height: 68px;
  }
  header .logo {
    width: 128px;
    margin-right: 0;
  }
  .nav-toggle {
    margin-left: 4px;
  }
  .subnav-content .subnav-contents-list .subnav-section:not(:last-child) {
    margin: 0;
  }
  .sp-search-toggle {
    display: block;
    margin-left: auto;
    width: 30px;
    height: 30px;
    position: relative;
  }
  .sp-search-toggle img {
    width: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    transition: 0.3s;
  }
  .sp-search-toggle[aria-expanded=false] img:first-child {
    opacity: 1;
  }
  .sp-search-toggle[aria-expanded=false] img:last-child {
    opacity: 0;
  }
  .sp-search-toggle[aria-expanded=true] img:first-child {
    opacity: 0;
  }
  .sp-search-toggle[aria-expanded=true] img:last-child {
    opacity: 1;
    transform: scale(0.8);
  }
  .sp-header-search {
    display: block;
    position: absolute;
    top: 69px;
    left: 0;
    width: 100%;
    height: 100vh;
    padding: 60px 12px;
    background: none;
    backdrop-filter: blur(5px);
    opacity: 0;
    visibility: hidden;
    z-index: -1;
    transition: visibility 0.3s, opacity 0.3s;
  }
  .sp-header-search .content-search-box {
    margin-top: 0;
  }
  .sp-header-search .content-search-box input[type=text].content-search-input {
    padding: 12px 38px 12px 20px;
  }
  /* 背景専用レイヤー */
  .sp-header-search::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url(/e/common/img/bg_header_sp.jpg) no-repeat center/cover;
    opacity: 0.8;
    pointer-events: none;
    z-index: 0;
  }
  /* 中身は前面に */
  .sp-header-search > * {
    position: relative;
    z-index: 1;
  }
  .sp-header-search-active {
    opacity: 1;
    visibility: visible;
  }
  header:has(.sp-header-search-active) {
    background: var(--White);
  }
  .sp-menu-menu-back-button {
    width: 100%;
  }
  .sp-menu-menu-back-button:hover {
    cursor: pointer;
  }
  .sp-menu-menu-back-button button {
    font-weight: 400;
    color: var(--White);
    line-height: 200%;
    font-size: 1.5rem;
  }
  .sp-menu-menu-back-button button:hover {
    cursor: pointer;
  }
  .sp-menu-menu-back-button button .icon-arrow {
    margin-right: 8px;
  }
  .subnav[hidden],
  .subnav.noshow {
    height: 0;
  }
  .subnav {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: 1001;
    background: url(/e/common/img/bg_header.jpg) no-repeat center/cover;
    transform: translateX(100%);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: transform 0.32s cubic-bezier(0.04, 0.04, 0.12, 0.96), opacity 0.32s cubic-bezier(0.04, 0.04, 0.12, 0.96), visibility 0s linear 0.32s;
    padding: 0 12px;
  }
  .subnav.show {
    transform: translateX(0);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: transform 0.32s cubic-bezier(0.04, 0.04, 0.12, 0.96), opacity 0.32s cubic-bezier(0.04, 0.04, 0.12, 0.96), visibility 0s;
  }
  .subnav.noshow {
    transform: translateX(100%);
    opacity: 1;
    visibility: visible;
    pointer-events: none;
    transition: transform 0.32s cubic-bezier(0.04, 0.04, 0.12, 0.96), opacity 0.32s cubic-bezier(0.04, 0.04, 0.12, 0.96), visibility 0s;
    overflow: inherit;
  }
  .subnav-head {
    position: relative;
    display: flex;
    align-items: center;
  }
  .subnav-head .subnav-title {
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 100%;
    color: var(--White);
    position: absolute;
    right: 0;
  }
  .subnav-head .subnav-title a {
    color: var(--White);
    display: flex;
    align-items: center;
  }
  .subnav-head .subnav-title a:after {
    content: "";
    background: url(/e/common/img/icon/arrow_icon_01.svg) no-repeat;
    width: 24px;
    height: 24px;
    display: block;
    margin: 0 0 0 12px;
  }
  .subnav-head .subnav-title a:hover {
    color: var(--FS_accent_blue_text);
    text-decoration: none;
  }
  .nav-main > ul > li.has-subnav > a {
    width: 100%;
  }
  .nav-main {
    background: url(/e/common/img/bg_header_sp.jpg) no-repeat center center/cover;
    transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
    transform: scale(0, 1);
    transform-origin: right;
    height: auto;
    width: 100%;
    flex-direction: column;
    top: 69px;
    overflow-y: scroll;
    overflow-x: hidden;
    padding: 0px 12px;
    visibility: hidden;
    min-height: 100vh;
  }
  .nav-main > ul {
    display: flex;
    flex-direction: column;
    opacity: 0;
    visibility: hidden;
    transition: visibility 0.3s, opacity 0.3s ease;
  }
  .nav-main > ul > li > a {
    color: var(--White);
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 100%;
    justify-content: space-between;
    padding: 12px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.4);
    font-size: 1.5rem;
    line-height: 200%;
  }
  .nav-main > ul > li > a:hover {
    text-decoration: none;
  }
  .nav-main > ul > li.has-subnav {
    margin: 0;
    display: flex;
    justify-content: space-between;
  }
  .nav-main > ul > li.has-subnav > a:before {
    display: none;
  }
  .nav-main > ul > li.has-subnav > span {
    color: #000;
    justify-self: flex-end;
    margin: 0 0 0 auto;
    display: flex;
    padding: 0px 20px;
    margin-right: -10px;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 1;
  }
  .nav-main > ul > li.has-subnav > span img {
    min-width: 16px;
  }
  .nav-main > ul > li.has-subnav > span:hover {
    cursor: pointer;
  }
  .nav-main .sm-nav {
    order: 1;
  }
  .nav-main .sm-nav li:last-child {
    opacity: 0;
    transition: all 0.4s;
  }
  .nav-main .sm-nav li:last-child button {
    height: auto;
    opacity: 1;
  }
  .nav-main .site-nav-heading {
    order: 0;
  }
  .nav-main.sp-menu-show {
    transform: scale(1, 1) translateX(0);
    visibility: visible;
    padding-bottom: 60vh;
    min-height: 100vh;
    height: 100vh;
    border-top: 1px solid var(--primary-color);
  }
  .nav-main.sp-menu-show ul {
    opacity: 1;
    visibility: visible;
  }
  .nav-main.sp-main-menu-active .site-nav-heading {
    background: #fff;
  }
  .nav-main.sp-main-menu-active .subnav-contents-list {
    padding: 0 0 60vh;
  }
  .nav-main.sp-main-menu-active .sm-nav {
    border-top: 1px solid var(--gray-accent3);
  }
  .nav-main.sp-main-menu-active .sm-nav ul {
    height: auto;
    visibility: visible;
    opacity: 1;
  }
  .nav-main.sp-main-menu-active .sm-nav ul li:not(:last-child) {
    height: auto;
    opacity: 1;
  }
  .nav-main.sp-main-menu-active .sm-nav ul li:last-child button {
    height: auto;
    opacity: 1;
  }
  .subnav-contents-list a,
  .sp-menu-menu-back-button button,
  .subnav-title a {
    width: 100%;
    display: block;
    font-weight: 400;
    line-height: 200%;
    padding: 12px 0;
    font-size: 1.5rem;
    color: var(--White);
    border-bottom: 1px solid rgba(255, 255, 255, 0.4);
    text-align: left;
  }
  .subnav-title a {
    font-weight: 600;
  }
  .subnav-contents-list a.text-link span,
  .subnav-title a.text-link span {
    display: none;
  }
  .has-subnav-show {
    transform: translateX(-100px) scale(1, 0);
    width: calc(100% + 200px);
    transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
  }
  .nav-main.sp-menu-show.has-subnav-show {
    transform: translateX(-100px);
    width: calc(100% + 100px);
  }
  .sm-nav > ul {
    visibility: hidden;
    opacity: 0;
    transition: 0.4s ease;
  }
  .sm-nav > ul > li {
    margin: 0 !important;
  }
  .sm-nav > ul > li a {
    padding: 12px 0;
    color: var(--White);
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 200%;
    border-bottom: 1px solid rgba(255, 255, 255, 0.4);
  }
  .sm-nav > ul > li:not(.select-lang) a {
    display: block;
    padding: 12px 0;
  }
  .sm-nav > ul li.select-contact {
    margin: 40px 0 0 !important;
  }
  .sm-nav > ul li.select-contact a {
    display: flex;
  }
  .sm-nav > ul li.select-lang {
    margin-top: 14px !important;
  }
  .sm-nav > ul li.select-contact a,
  .sm-nav > ul li.select-lang a {
    font-size: 1.4rem;
    padding: 0;
    border: none;
  }
  .subnav-contents-list .subnav-section > .subnav-contents-list-title {
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 100%;
  }
  .subnav-contents-list a {
    color: var(--White);
    display: block;
    width: 100%;
    padding: 12px 0;
  }
  .subnav-contents-list a:hover {
    color: var(--FS_accent_blue_text);
    text-decoration: none;
  }
  .subnav-contents-list .subnav-contents-list-title.drop-menu {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .subnav-contents-list .subnav-contents-list-title.drop-menu span {
    position: relative;
    display: block;
    width: 28px;
    height: 28px;
    right: -12px;
  }
  .subnav-contents-list .subnav-contents-list-title.drop-menu span:before, .subnav-contents-list .subnav-contents-list-title.drop-menu span:after {
    display: block;
    content: "";
    background-color: var(--White);
    position: absolute;
    width: 14px;
    height: 1px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .subnav-contents-list .subnav-contents-list-title.drop-menu span:before {
    width: 1px;
    height: 14px;
    opacity: 1;
  }
  .subnav-contents-list .subnav-contents-list-title.drop-menu span:hover {
    cursor: pointer;
  }
  .subnav-contents-list .subnav-contents-list-title.drop-menu.drop-active span:before {
    opacity: 0;
  }
  .subnav-contents-list .subnav-contents-list-title.drop-menu + ul {
    opacity: 0;
    height: 0;
    padding: 0;
    visibility: hidden;
    background: #fff;
    transition: all 0.2s;
  }
  .subnav-contents-list .subnav-contents-list-title.drop-menu + ul li {
    opacity: 0;
    transform: translateY(24px);
    transition: all 0.4s;
    transition-delay: 0.04s;
  }
  .subnav-contents-list .subnav-contents-list-title.drop-menu + ul li a {
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 100%;
    padding: 13px 0 13px 2px;
    width: calc(100% + 12px);
  }
  .subnav-contents-list .subnav-contents-list-title.drop-menu.drop-active + ul {
    opacity: 1;
    height: auto;
    padding: 4px 56px;
    background: var(--bg2);
    margin: 0 calc(50% - 50vw);
    visibility: inherit;
  }
  .subnav-contents-list .subnav-contents-list-title.drop-menu.drop-active + ul li {
    opacity: 1;
    transform: translateY(0);
  }
  .has-subnav > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    color: var(--White);
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 100%;
    justify-content: space-between;
    padding: 12px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.4);
    font-size: 1.5rem;
    line-height: 200%;
  }
  .has-subnav > a:hover {
    text-decoration: none;
  }
  .has-subnav > a::after {
    content: "";
    display: inline-block;
    background: url(/e/common/img/icon/icon_chevron_right.svg) no-repeat center center/cover;
    width: 5px;
    height: 10px;
  }
  .sp-search-active {
    background: transparent;
  }
  .sp-search-active > ul {
    height: 0;
    opacity: 0;
  }
  .sp-search-active > ul > li {
    height: 0;
    opacity: 0;
  }
  .sp-search-active .sm-nav {
    border: none;
  }
  .sp-search-active .sm-nav > ul > li {
    height: 0;
    opacity: 0;
  }
  .sp-search-active .sm-nav > ul > li:not(:last-child) {
    height: 0;
    opacity: 0;
  }
  .sp-search-active .sm-nav > ul > li:last-child {
    opacity: 1;
  }
  .has-subnav-show.sp-search-active .header-search {
    left: 100px;
    width: calc(100% - 100px);
  }
  .menu-bg {
    background: #fff;
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9;
    visibility: hidden;
    transition: 0.5s;
    transform: scale(1, 0);
    transform-origin: top;
  }
  .menu-bg.on {
    opacity: 1;
    visibility: visible;
    transform: scale(1, 1);
  }
}
/* ----------------------------------------------
HEADER_ENスタイル
----------------------------------------------- */
@media screen and (min-width: 1001px) {
  header {
    padding-right: 48px;
    padding-left: 40px;
  }
  .sm-nav ul {
    font-size: 1.3rem;
  }
  .sm-nav ul li.select-lang a {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.4rem;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    transition: 0.3s all;
    font-family: "Noto Sans JP";
  }
  .sm-nav ul li.select-lang a:hover {
    background-color: var(--FS_primary);
    color: var(--White);
  }
  .subnav-contents-list-title > a,
  .subnav-contents-list-title > span {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 1000px) {
  .nav-main .sm-nav li:last-child {
    opacity: 1;
  }
}
footer {
  color: white;
  padding: 0;
}
footer a:hover {
  text-decoration: underline;
}

.footer-logo {
  width: 128px;
}
@media screen and (max-width: 1000px) {
  .footer-logo {
    width: 89px;
  }
}

.footer-main-wrap {
  background: url(/e/common/img/bg_header.jpg) no-repeat center center;
  background-size: cover;
  padding: 48px 0;
  position: relative;
}
.footer-main-wrap .footer-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.1);
}

.footer-inner {
  width: 90vw;
  max-width: 1100px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.footer-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  margin-top: 32px;
}
.footer-nav > * {
  width: 251px;
}
.footer-nav h3, .footer-nav button {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.6;
}
.footer-nav h3 + h3 {
  margin-top: 16px;
}
.footer-nav a,
.footer-nav a:hover,
.footer-nav a:visited {
  color: var(--White);
}

@media screen and (max-width: 1000px) {
  .footer-main-wrap {
    background: url(/e/common/img/bg_header_sp.jpg) no-repeat center center;
    background-size: cover;
    padding: 32px 0 0;
  }
  .footer-nav {
    flex-direction: column;
    gap: 0;
    margin-top: 24px;
  }
  .footer-nav > * {
    width: 100%;
  }
  .footer-nav h3, .footer-nav button {
    font-weight: 400;
  }
  .footer-nav h3 + h3,
  .footer-nav h3 + .accordion {
    margin-top: 0;
  }
  .footer-nav a, .footer-nav button {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 8px 12px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.4);
  }
}
footer button {
  border-style: none;
}
footer .accordion {
  margin: 0;
  padding: 0;
}
footer .accordion-trigger {
  color: var(--White);
  display: block;
  position: relative;
  text-align: left;
  width: 100%;
  outline: none;
  cursor: pointer;
}
footer .accordion-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  pointer-events: none;
  outline: none;
}
footer .accordion-panel,
footer .accordion-panel[hidden] {
  overflow: hidden;
  transition: 0.3s;
  height: 0;
  opacity: 0;
  padding: 0;
}
footer .accordion-panel.is-active {
  opacity: 1;
}
footer .accordion-panel > * {
  margin-top: 12px;
  padding-left: 15px;
}
footer .accordion-panel > * a {
  font-size: 1.4rem;
  font-weight: 500;
}

@media screen and (max-width: 1000px) {
  footer .accordion-icon {
    border: solid currentcolor;
    border-width: 0 1px 1px 0;
    height: 0.5rem;
    pointer-events: none;
    transform: rotate(45deg);
    width: 0.5rem;
    transition: 0.3s;
  }
  footer .accordion-trigger[aria-expanded=true] .accordion-icon {
    transform: rotate(-135deg);
  }
  footer .accordion-panel > * {
    margin: 0 0 12px;
    padding-left: 20px;
  }
  footer .accordion-panel > * a {
    border: none;
    line-height: 2;
    padding: 0;
    margin-bottom: 6px;
  }
}
.footer-sub-wrap {
  padding: 12px 0;
  background-color: var(--White);
}
.footer-sub-wrap .footer-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
}

footer .footer-sub-nav {
  display: flex;
  gap: 16px;
}
footer .footer-sub-nav a {
  display: block;
  font-size: 1.2rem;
  line-height: 1.5;
  color: var(--FS_text_bluegray);
}
footer .footer-sub-nav a:hover, footer .footer-sub-nav a:visited {
  color: var(--FS_text_bluegray);
}

.footer-copyright {
  display: flex;
  flex-direction: column;
  align-items: end;
  gap: 8px;
}

.copyright {
  font-size: 1.4rem;
  color: var(--FS_text_bluegray_sub);
}

.footer-sns {
  display: flex;
  gap: 16px;
}

@media screen and (max-width: 1000px) {
  .footer-sub-wrap {
    padding: 28px 0;
  }
  .footer-sub-wrap .footer-inner {
    flex-direction: column;
    align-items: flex-start;
  }
  .footer-sub-nav {
    flex-direction: column;
    gap: 12px;
  }
  .footer-copyright {
    align-items: flex-start;
    gap: 32px;
  }
}
/* ----------------------------------------------
FOOTER_ENスタイル
----------------------------------------------- */
.footer-inner {
  width: 92vw;
  max-width: 1176px;
}

.footer-nav .accordion-panel + h3 {
  margin-top: 32px;
}

.footer-nav > * {
  width: 270px;
}

@media screen and (max-width: 1000px) {
  .footer-inner {
    width: 90vw;
  }
  .footer-nav > * {
    width: 100%;
  }
  .footer-nav .accordion-panel + h3 {
    margin-top: 0;
  }
}
.module {
  margin: 80px 0 24px;
  border: 1px solid #eee;
  padding: 0 24px 80px;
  border-radius: 12px;
}
.module::before {
  display: block;
  font-size: 24px;
  font-weight: bold;
  color: #fff;
  text-align: center;
  grid-column: 1/-1;
  background: var(--FS_gradation_A);
  width: calc(100% + 50px);
  margin: 0 -25px 40px;
  border-radius: 10px 10px 0 0;
  padding: 14px 0;
}

.module-anker {
  margin: 40px 0 0;
}
.module-anker a {
  border: 1px solid #eee;
  border-radius: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px;
  font-style: italic;
  text-decoration: none;
  color: var(--FS_text_bluegray);
  transition: all 0.3s ease;
}
.module-anker a::before {
  content: "";
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 8px solid currentColor;
  margin-right: 8px;
  transition: transform 0.3s ease;
}
.module-anker a:hover {
  border-color: var(--FS_accent_blue);
  color: var(--FS_primary);
}
.module-anker a:hover::before {
  transform: translateY(2px);
}

.module.color::before {
  content: "カラー";
}
.module.color > .grid p {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 12px;
  border: 1px solid var(--FS_Bg_gray_2);
  border-radius: 6px;
  background: var(--White);
  font-size: 14px;
  font-weight: 500;
  transition: all 0.2s ease;
}
.module.color .radius-color-sample {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 2px solid var(--FS_Bg_gray_2);
  flex-shrink: 0;
}

.module.typography::before {
  content: "タイポグラフィ";
}
.module.typography > * {
  display: block;
  border-top: 1px solid var(--FS_Bg_gray_2);
  transform: translateY(40px);
}
.module.typography > *:not(:last-child) {
  margin-bottom: 40px;
}

.module.icon {
  background: #efefef;
}
.module.icon::before {
  content: "アイコン";
}

.module.textlink::before {
  content: "テキストリンク";
}

.module.buttonlink::before {
  content: "ボタンリンク";
}

.module.imagelink::before {
  content: "画像付きリンク";
}

.module.cardlink::before {
  content: "カードリンク";
}

.module.table::before {
  content: "テーブル";
}

.module.list::before {
  content: "リスト";
}

.module.module-column::before {
  content: "コラム";
}

.module.module-control::before {
  content: "コントロール";
}

:root {
  --transition-default: all .3s;
  --transition-fast: all .15s;
  --transition-slow: all .5s;
}

html {
  font-size: 62.5%;
  word-break: break-word;
  overflow-wrap: break-word;
}

body {
  font-family: "Noto Sans";
  font-size: 1.6rem;
  line-height: 1.8;
  min-height: 100vh;
  color: var(--FS_text_bluegray);
}

main {
  background-color: #fff;
  flex: 1;
  padding: 0 0 80px;
}

.wrap {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/*# sourceMappingURL=common.css.map */



