@charset "UTF-8";

/* -------------------------------------
    Foundation
------------------------------------- */
/* -------------------------------------
  reset css
------------------------------------- */
* {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

body {
  max-width: 100vw;
  margin: 0;
  overflow-x: hidden;
}

main {
  overflow-x: hidden;
}

ul,
ol,
li,
dl,
dt,
dd {
  list-style: none;
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

em {
  font-style: normal;
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 3/2;
}

:root {
  /* ---------------------------------------
    color
  ---------------------------------------- */
  --color-theme: #045da4;
  --color-background: #ffffff;
  --color-background-subtle: #f0f0f0;
  --color-foreground: #000000;
  --color-foreground-subtle: #c0c0c0;
  --color-foreground-subtle-dark: #858585;
  --color-alert: #c23838;
  --color-link: #045da4;
  --color-header-background: var(--color-background);
  --color-header-foreground: var(--color-foreground);
  --color-footer-background: var(--color-theme);
  --color-footer-foreground: var(--color-background);
  --color-button-background: var(--color-theme);
  --color-button-foreground: var(--color-background);
  /* ---------------------------------------
    font-size
  ---------------------------------------- */
  /* window幅が767pxの時に最小値になるように設定 */
  --font-size-lv1: clamp(40px, 5.22vw, 48px);
  --font-size-lv2: clamp(32px, 4.69vw, 40px);
  --font-size-lv3: clamp(24px, 3.13vw, 32px);
  --font-size-lv4: clamp(20px, 2.61vw, 24px);
  --font-size-lv5: clamp(16px, 2.09vw, 20px);
  --font-size-base: clamp(14px, 1.83vw, 16px);
  --font-size-lv6: clamp(13px, 1.69vw, 14px);
  --font-size-lv7: clamp(11px, 1.43vw, 12px);
  --font-size-lv8: 10px;
  /* ---------------------------------------
    font-family
  ---------------------------------------- */
  --font-family-jp: sans-serif;
  --font-family-en: sans-serif;
  /* ---------------------------------------
    font-weight
  ---------------------------------------- */
  --font-weight-default: 500;
  --font-weight-bold: bold;
  /* ---------------------------------------
    border-radius
  ---------------------------------------- */
  --border-radius-default: 0px;
  --border-radius-full: 999px;
  --border-radius-button: 999px;
  /* ---------------------------------------
    transition
  ---------------------------------------- */
  --transition-default: all 0.3s ease-in-out;
  /* ---------------------------------------
    header-height
  ---------------------------------------- */
  --header-height: 70px;
  --header-height-sp: 60px;
}

/* -------------------------------------
  base style
------------------------------------- */
body {
  background: var(--color-background);
  color: var(--color-foreground);
  font-size: var(--font-size-base);
  font-family: var(--font-family-jp);
  font-weight: var(--font-weight-default);
  height: -webkit-fill-available;
}

main {
  min-height: 100svh;
}

a,
button {
  cursor: pointer;
  transition: var(--transition-default);
}

img {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
  -o-object-fit: contain;
  object-fit: contain;
}

/* -------------------------------------
    Layout
------------------------------------- */
.l-main {
  padding-top: var(--header-height);
  min-height: calc(100svh - var(--header-height));
}

@media (max-width: 767px) {
  .l-main {
    padding-top: var(--header-height-sp);
  }
}

.l-section {
  padding: 90px 0;
}

@media (max-width: 1023px) {
  .l-section {
    padding: 40px 0 60px;
  }
}

.l-container {
  width: 100%;
  margin: auto;
  max-width: 1040px;
  padding: 0 20px;
}

.l-container.wide {
  max-width: 1240px;
}

.l-container.narrow {
  max-width: 840px;
}

@media (max-width: 1023px) {
  .l-container {
    width: 90%;
  }
}

@media (max-width: 767px) {
  .l-container {
    width: 100%;
    max-width: 500px;
  }
}

.l-title {
  margin-bottom: 20px;
}

.l-title.between {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.l-button {
  margin-top: 40px;
  display: flex;
  align-items: center;
  gap: 15px;
}

@media (max-width: 767px) {
  .l-button {
    gap: 10px;
  }
}

.l-button.center {
  justify-content: center;
}

.l-button.right {
  justify-content: flex-end;
}

.l-button.between {
  justify-content: space-between;
}

.l-breadcrumb {
  margin-top: 20px;
}

.l-filter {
  padding-top: 40px;
  padding-bottom: 40px;
}

.l-pager {
  margin-top: 40px;
  display: flex;
  justify-content: center;
}

.l-listpage {
  padding: 60px 0;
}

.l-dl {
  display: flex;
  align-items: flex-start;
  gap: 40px;
}

@media (max-width: 1023px) {
  .l-dl {
    flex-direction: column;
  }
}

.l-dl>* {
  width: calc(50% - 20px);
}

@media (max-width: 1023px) {
  .l-dl>* {
    width: 100%;
  }
}

.l-faq:has(.accordion) {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.l-text {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.l-text .item:has(.reverse):nth-of-type(even) .reverse {
  flex-direction: row-reverse;
}

@media (max-width: 767px) {
  .l-text .item:has(.reverse):nth-of-type(even) .reverse {
    flex-direction: column;
  }
}

.l-article:has(.col3) {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.l-article:has(.col3) .item {
  width: calc((100% - 40px) / 3);
}

@media (max-width: 767px) {
  .l-article:has(.col3) .item {
    width: 100%;
  }
}

.l-title-contents_col2 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

@media (max-width: 1023px) {
  .l-title-contents_col2 {
    flex-direction: column;
    align-items: unset;
  }
}

.l-title-contents_col2 .title-area {
  width: 27%;
}

@media (max-width: 1023px) {
  .l-title-contents_col2 .title-area {
    width: 100%;
  }
}

.l-title-contents_col2 .contents-area {
  width: 70%;
}

@media (max-width: 1023px) {
  .l-title-contents_col2 .contents-area {
    width: 100%;
  }
}

@media (max-width: 1023px) {
  .l-title-contents_col2 .pc-button {
    display: none;
  }
}

.l-title-contents_col2 .sp-button {
  display: none;
}

@media (max-width: 1023px) {
  .l-title-contents_col2 .sp-button {
    display: flex;
  }
}

.l-title-contents_col2.full-width {
  align-items: unset;
}

.l-title-contents_col2.full-width .title-area {
  min-width: 270px;
  margin-left: calc((100vw - 1200px) / 2);
  padding-right: 20px;
}

@media (max-width: 1279px) {
  .l-title-contents_col2.full-width .title-area {
    margin-left: 40px;
  }
}

@media (max-width: 1023px) {
  .l-title-contents_col2.full-width .title-area {
    margin-left: 0;
    padding-left: 10%;
  }
}

@media (max-width: 767px) {
  .l-title-contents_col2.full-width .title-area {
    padding-left: 20px;
    padding-bottom: 40px;
  }
}

.l-title-contents_col2.full-width .contents-area {
  max-width: 1200px;
}

@media (max-width: 1023px) {
  .l-title-contents_col2.full-width .contents-area {
    padding-left: 10%;
  }
}

@media (max-width: 767px) {
  .l-title-contents_col2.full-width .contents-area {
    padding-left: 20px;
  }
}

.l-title-contents_col2:has(.l-carousel-overflow) .title-area {
  position: relative;
}

.l-title-contents_col2:has(.l-carousel-overflow) .title-area .pager {
  position: absolute;
  bottom: 5px;
  left: 0;
}

@media (max-width: 1023px) {
  .l-title-contents_col2:has(.l-carousel-overflow) .title-area .pager {
    bottom: 30px;
    left: unset;
    right: 40px;
  }
}

@media (max-width: 767px) {
  .l-title-contents_col2:has(.l-carousel-overflow) .title-area .pager {
    bottom: 20px;
    right: 20px;
  }
}

.l-title-contents_col2:has(.l-carousel-overflow) .contents-area {
  overflow-x: hidden;
}

.l-title-contents_col2:has(.l-carousel-overflow) .contents-area .swiper {
  width: calc((100% - 40px) / 3.2);
  margin: 0;
  overflow: visible;
}

@media (max-width: 1279px) {
  .l-title-contents_col2:has(.l-carousel-overflow) .contents-area .swiper {
    width: calc((100% - 40px) / 2.5);
  }
}

@media (max-width: 1023px) {
  .l-title-contents_col2:has(.l-carousel-overflow) .contents-area .swiper {
    width: calc((100% - 40px) / 3.2);
  }
}

@media (max-width: 767px) {
  .l-title-contents_col2:has(.l-carousel-overflow) .contents-area .swiper {
    width: calc((100% - 40px) / 1.5);
  }
}

.l-title-contents_col2:has(.l-carousel-overflow) .contents-area .swiper .l-carousel-overflow {
  overflow: visible;
}

/* -------------------------------------
    Component
------------------------------------- */
.c-article .data {
  display: flex;
  align-items: center;
  gap: 10px;
}

.c-article .data .category {
  display: inline-block;
  color: var(--color-theme);
  font-size: var(--font-size-lv8);
  border: 1px solid var(--color-theme);
  padding: 4px 8px;
  line-height: 1;
  white-space: nowrap;
}

.c-article .data time {
  font-size: var(--font-size-lv7);
}

.c-article .title {
  font-size: var(--font-size-lv6);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  text-overflow: ellipsis;
  overflow: hidden;
}

.c-article .thumbnail img {
  aspect-ratio: 3/2;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}

.c-article .description {
  font-size: var(--font-size-lv7);
  color: var(--color-foreground-subtle);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  text-overflow: ellipsis;
  overflow: hidden;
}

.c-article .name {
  font-size: var(--font-size-lv7);
  color: var(--color-foreground-subtle);
}

.c-article {
  /* ---------------------------------------
    col1
  ---------------------------------------- */
}

.c-article.col1 {
  border-bottom: 1px solid var(--color-foreground-subtle);
  border-top: 1px solid var(--color-foreground-subtle);
  margin-top: -1px;
  background: var(--color-background);
  padding: 20px 0px;
  display: flex;
  gap: 15px;
  transition: var(--transition-default);
}

@media (max-width: 767px) {
  .c-article.col1 {
    flex-direction: column;
    gap: 10px;
  }
}

.c-article.col1:hover {
  background: rgba(0, 0, 0, 0.02);
}

.c-article.col1:hover .title {
  color: var(--color-theme);
}

.c-article.col1 .category {
  width: 90px;
  text-align: center;
}

.c-article.col1 .title {
  -webkit-line-clamp: 1;
  transition: var(--transition-default);
}

.c-article {
  /* ---------------------------------------
    col3
  ---------------------------------------- */
}

.c-article.col3 {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.c-article.col3 .data {
  justify-content: space-between;
}

.c-article {
  /* ---------------------------------------
    carousel
  ---------------------------------------- */
}

.c-article.carousel {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.c-article.carousel .data {
  justify-content: space-between;
}

.c-article {
  /* ---------------------------------------
    detail-page
  ---------------------------------------- */
}

.c-article.detail-page {
  border-bottom: 1px solid var(--color-theme);
  padding-bottom: 20px;
}

.c-article.detail-page .title-area {
  padding-bottom: 20px;
  border-bottom: 1px solid var(--color-theme);
}

.c-article.detail-page .title-area .title {
  font-size: var(--font-size-lv4);
  display: block;
}

.c-article.detail-page .title-area .data {
  margin-top: 20px;
}

.c-article.detail-page .thumbnail {
  margin-top: 40px;
}

.c-article.detail-page .thumbnail img {
  height: 100%;
  max-height: 500px;
  -o-object-fit: contain;
  object-fit: contain;
  -o-object-position: center;
  object-position: center;
}

.c-article.detail-page .contents {
  margin-top: 40px;
  margin-bottom: 60px;
  font-size: var(--font-size-lv6);
}

.c-article.detail-page .contents p,
.c-article.detail-page .contents div {
  margin-top: 15px;
  line-height: 1.7;
}

.c-article.detail-page .contents h2 {
  background: var(--color-theme);
  color: var(--color-background);
  padding: 5px 20px;
  font-size: var(--font-size-lv4);
  margin: 60px 0 30px;
}

@media (max-width: 1023px) {
  .c-article.detail-page .contents h2 {
    margin: 40px 0 20px;
  }
}

.c-article.detail-page .contents h3 {
  border-left: 5px solid var(--color-theme);
  padding-left: 15px;
  color: var(--color-theme);
  font-size: var(--font-size-lv5);
  margin: 60px 0 30px;
}

@media (max-width: 1023px) {
  .c-article.detail-page .contents h3 {
    margin: 40px 0 20px;
  }
}

.c-article.detail-page .contents h4 {
  font-size: var(--font-size-base);
  display: inline-block;
  border-bottom: 2px solid var(--color-theme);
  color: var(--color-theme);
  padding-bottom: 4px;
  margin: 60px 0 20px;
}

@media (max-width: 1023px) {
  .c-article.detail-page .contents h4 {
    margin: 40px 0 20px;
  }
}

.c-article.detail-page .contents img {
  max-width: 80%;
  max-height: 500px;
  -o-object-fit: contain;
  object-fit: contain;
  -o-object-position: center;
  object-position: center;
  margin: 40px auto;
}

.c-article.detail-page .contents a {
  color: var(--color-link);
  text-decoration: underline;
}

.c-article.detail-page .contents a:hover {
  opacity: 0.8;
}

.c-article.detail-page .contents ul {
  margin-top: 20px;
}

.c-article.detail-page .contents ul li {
  list-style: disc;
  list-style-position: outside;
  margin-left: 20px;
}

.c-article.detail-page .contents ol {
  margin-top: 20px;
}

.c-article.detail-page .contents ol li {
  list-style: decimal;
  list-style-position: outside;
  margin-left: 20px;
}

.c-article.detail-page .contents .marker {
  background-color: var(--color-theme-light);
}

.c-article.detail-page .contents blockquote {
  margin-top: 20px;
  background-color: var(--color-background-subtle);
  padding: 20px 30px 20px 40px;
  position: relative;
  margin-inline-start: 0;
  margin-inline-end: 0;
}

.c-article.detail-page .contents blockquote::before {
  content: "“";
  font-size: var(--font-size-lv2);
  font-weight: var(--font-weight-bold);
  color: var(--color-theme);
  position: absolute;
  top: 0;
  left: 10px;
}

.c-article.detail-page .contents blockquote p {
  margin-top: 0;
  margin-bottom: 0;
}

.c-article.detail-page .contents table {
  margin: 40px 0;
  border-collapse: collapse;
}

.c-article.detail-page .contents table th,
.c-article.detail-page .contents table td {
  padding: 10px 15px;
  border: 1px solid var(--color-foreground-subtle);
}

@media (max-width: 767px) {

  .c-article.detail-page .contents table th,
  .c-article.detail-page .contents table td {
    padding: 10px;
  }
}

.c-article.detail-page .contents table thead th,
.c-article.detail-page .contents table thead td {
  background: var(--color-background-subtle);
}

.c-article.detail-page .share-links {
  margin-top: 120px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: var(--font-size-lv7);
}

@media (max-width: 1023px) {
  .c-article.detail-page .share-links {
    flex-wrap: wrap;
    margin-top: 60px;
  }
}

@media (max-width: 767px) {
  .c-article.detail-page .share-links {
    gap: 2px;
  }
}

.c-article.detail-page .share-links .link {
  height: 30px;
  padding: 0 10px;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: var(--border-radius-default);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  color: var(--color-background);
  transition: var(--transition-default);
}

.c-article.detail-page .share-links .link:hover {
  opacity: 0.8;
}

.c-article.detail-page .share-links .link .icon {
  width: 16px;
  height: 16px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

@media (max-width: 767px) {
  .c-article.detail-page .share-links .link .icon {
    width: 14px;
    height: 14px;
  }
}

.c-article.detail-page .share-links .link.fb {
  background: #1877f2;
}

.c-article.detail-page .share-links .link.fb .icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25' height='25' viewBox='0 0 25 25' fill='none'%3E%3Cpath d='M25 12.5C25 5.6 19.4 0 12.5 0C5.6 0 0 5.6 0 12.5C0 18.55 4.3 23.5875 10 24.75V16.25H7.5V12.5H10V9.375C10 6.9625 11.9625 5 14.375 5H17.5V8.75H15C14.3125 8.75 13.75 9.3125 13.75 10V12.5H17.5V16.25H13.75V24.9375C20.0625 24.3125 25 18.9875 25 12.5Z' fill='white'/%3E%3C/svg%3E");
}

.c-article.detail-page .share-links .link.x {
  background: #000;
}

.c-article.detail-page .share-links .link.x .icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='23' height='23' viewBox='0 0 23 23' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M22.3672 22.2656L13.6202 9.2888L13.6351 9.30096L21.5218 0H18.8863L12.4616 7.57031L7.35957 0H0.447535L8.61369 12.1156L8.61271 12.1145L0 22.2656H2.63553L9.77832 13.8432L15.4552 22.2656H22.3672ZM6.31531 2.02414L18.5879 20.2415H16.4994L4.21687 2.02414H6.31531Z' fill='white'/%3E%3C/svg%3E");
}

.c-article.detail-page .share-links .link.line {
  background: #06c755;
}

.c-article.detail-page .share-links .link.line .icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='27' height='25' viewBox='0 0 27 25' fill='none'%3E%3Cpath d='M13.1931 24.6494C11.8719 25.3756 11.9281 24.3062 11.985 23.9769C12.0188 23.7806 12.1725 22.86 12.1725 22.86C12.2163 22.5263 12.2625 22.01 12.1306 21.6806C11.9838 21.3181 11.4019 21.1294 10.9744 21.0375C4.66813 20.2081 0 15.8238 0 10.5894C0 4.75063 5.8875 0 13.1219 0C20.3563 0 26.2431 4.75063 26.2431 10.5894C26.2431 17.1469 19.2881 21.2981 13.1931 24.6494ZM8.97375 12.9769C8.97375 12.6269 8.68688 12.3425 8.33438 12.3425H6.54938V8.16875C6.54938 7.81875 6.2625 7.53437 5.91 7.53437C5.55688 7.53437 5.27063 7.81875 5.27063 8.16875V12.9775C5.27063 13.3281 5.5575 13.6125 5.91 13.6125H8.33438C8.68688 13.6131 8.97375 13.3275 8.97375 12.9769ZM10.8413 8.16875C10.8413 7.81875 10.5544 7.53437 10.2019 7.53437C9.84875 7.53437 9.5625 7.81875 9.5625 8.16875V12.9775C9.5625 13.3281 9.84938 13.6125 10.2019 13.6125C10.555 13.6125 10.8413 13.3275 10.8413 12.9775V8.16875ZM16.6788 8.16875C16.6788 7.81875 16.3919 7.53437 16.0394 7.53437C15.6863 7.53437 15.3988 7.81875 15.3988 8.16875V11.1444L12.9125 7.78875C12.7925 7.63 12.6006 7.535 12.4013 7.535C12.3325 7.535 12.2644 7.545 12.1981 7.5675C11.9363 7.65438 11.7606 7.89625 11.7606 8.16938V12.9781C11.7606 13.3287 12.0481 13.6131 12.4013 13.6131C12.755 13.6131 13.0419 13.3281 13.0419 12.9781V10.0038L15.5269 13.3594C15.6469 13.5181 15.8381 13.6131 16.0381 13.6131C16.1063 13.6131 16.175 13.6019 16.2413 13.58C16.5038 13.4944 16.6788 13.2525 16.6788 12.9781V8.16875ZM20.6025 9.93875H18.8175V8.80313H20.6025C20.9563 8.80313 21.2431 8.51875 21.2431 8.16875C21.2431 7.81875 20.9556 7.53437 20.6025 7.53437H18.1781C17.825 7.53437 17.5388 7.81875 17.5388 8.16875C17.5388 8.16938 17.5388 8.16938 17.5388 8.17063V10.5719C17.5388 10.5719 17.5388 10.5725 17.5388 10.5731V12.9763C17.5388 13.3269 17.8263 13.6112 18.1781 13.6112H20.6025C20.9556 13.6112 21.2431 13.3263 21.2431 12.9763C21.2431 12.6263 20.9556 12.3419 20.6025 12.3419H18.8175V11.2063H20.6025C20.9563 11.2063 21.2431 10.9219 21.2431 10.5719C21.2431 10.2213 20.9556 9.93688 20.6025 9.93688V9.93875Z' fill='white'/%3E%3C/svg%3E");
}

.c-article.detail-page .share-links .link.copy {
  background: var(--color-theme);
}

.c-article.detail-page .share-links .link.copy .icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25' height='25' viewBox='0 0 25 25' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9.83866 19.4315L7.62616 21.5815C7.046 22.1617 6.25913 22.4876 5.43866 22.4876C4.61819 22.4876 3.83132 22.1617 3.25116 21.5815C2.671 21.0014 2.34507 20.2145 2.34507 19.394C2.34507 18.5735 2.671 17.7867 3.25116 17.2065L8.92616 11.519C9.48318 10.9602 10.2337 10.6369 11.0224 10.6159C11.8112 10.595 12.5778 10.878 13.1637 11.4065L13.3137 11.5315C13.5507 11.7636 13.8702 11.892 14.2019 11.8885C14.5336 11.8849 14.8503 11.7498 15.0824 11.5128C15.3145 11.2757 15.4429 10.9562 15.4394 10.6245C15.4358 10.2928 15.3007 9.97608 15.0637 9.74401C14.9927 9.6531 14.9177 9.56551 14.8387 9.48151C13.7716 8.55316 12.3916 8.06507 10.9781 8.11613C9.56467 8.1672 8.22345 8.75358 7.22616 9.75652L1.47616 15.444C0.499108 16.5075 -0.0293116 17.9073 0.00125592 19.3512C0.0318234 20.7951 0.619015 22.1713 1.6402 23.1925C2.66139 24.2137 4.03762 24.8009 5.48147 24.8314C6.92533 24.862 8.32517 24.3336 9.38866 23.3565L11.5512 21.244C11.7647 21.0111 11.8821 20.7059 11.8797 20.3899C11.8773 20.074 11.7553 19.7706 11.5383 19.5409C11.3213 19.3112 11.0253 19.1722 10.71 19.152C10.3947 19.1317 10.0833 19.2315 9.83866 19.4315ZM23.2012 1.63151C22.1496 0.586524 20.7274 0 19.2449 0C17.7624 0 16.3402 0.586524 15.2887 1.63151L13.1262 3.74401C12.9126 3.97695 12.7953 4.28211 12.7977 4.5981C12.8 4.91408 12.922 5.21744 13.139 5.44712C13.356 5.67681 13.652 5.81578 13.9673 5.83608C14.2827 5.85637 14.594 5.75649 14.8387 5.55651L17.0012 3.40651C17.5813 2.82635 18.3682 2.50042 19.1887 2.50042C20.0091 2.50042 20.796 2.82635 21.3762 3.40651C21.9563 3.98668 22.2823 4.77354 22.2823 5.59402C22.2823 6.41449 21.9563 7.20135 21.3762 7.78151L15.7012 13.469C15.1441 14.0278 14.3936 14.3512 13.6049 14.3721C12.8162 14.393 12.0495 14.11 11.4637 13.5815L11.3137 13.4565C11.0766 13.2245 10.7571 13.0961 10.4254 13.0996C10.0937 13.1031 9.77698 13.2382 9.54491 13.4753C9.31285 13.7123 9.18445 14.0318 9.18797 14.3635C9.19148 14.6952 9.32663 15.0119 9.56366 15.244C9.65489 15.3364 9.75085 15.4241 9.85116 15.5065C10.9195 16.4321 12.2989 16.9183 13.7115 16.8673C15.1241 16.8163 16.4649 16.2317 17.4637 15.2315L23.1512 9.54401C24.2028 8.49911 24.7984 7.08055 24.8077 5.59808C24.8171 4.1156 24.2395 2.68963 23.2012 1.63151Z' fill='white'/%3E%3C/svg%3E");
}

.c-article.detail-page .copy-message {
  position: fixed;
  top: calc(100svh - 50px);
  left: 10px;
  background: var(--color-foreground);
  color: var(--color-background);
  padding: 10px 20px;
  z-index: 1000;
  font-size: var(--font-size-lv7);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

.c-breadcrumb {
  display: flex;
  gap: 5px;
  font-size: var(--font-size-lv7);
}

.c-breadcrumb .breadcrumb-item {
  display: flex;
  align-items: center;
  gap: 5px;
}

.c-breadcrumb .breadcrumb-item a {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.c-breadcrumb .breadcrumb-item a:hover {
  opacity: 0.8;
}

.c-breadcrumb .breadcrumb-item::after {
  content: ">";
  font-size: inherit;
}

.c-breadcrumb .breadcrumb-item:last-child::after {
  display: none;
}

.c-breadcrumb .breadcrumb-item:last-child a {
  pointer-events: none;
  text-decoration: none;
}

.c-button {
  min-width: 220px;
  min-height: 50px;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 20px;
  box-sizing: border-box;
  border-radius: var(--border-radius-button);
  text-align: center;
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-default);
  line-height: 1;
  white-space: nowrap;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  position: relative;
  transition: var(--transition-default);
}

.c-button::before {
  content: "";
  width: 100%;
  height: 100%;
  border-radius: var(--border-radius-button);
  position: absolute;
  top: 0;
  left: 0;
  background-color: transparent;
  opacity: 0;
  transition: var(--transition-default);
  pointer-events: none;
}

.c-button:hover::before {
  background-color: #000;
  opacity: 0.2;
}

.c-button {
  /* ---------------------------------------
    size
  ---------------------------------------- */
}

.c-button.small {
  min-width: auto;
  min-height: 40px;
  padding: 0 15px;
  font-size: var(--font-size-lv6);
  gap: 5px;
}

.c-button.small.arrow {
  padding: 0 40px 0 30px;
}

@media (max-width: 767px) {
  .c-button.small.arrow {
    padding: 0 30px 0 15px;
  }

  .c-button.small.arrow:after {
    right: 15px;
  }
}

.c-button.small.arrow.back {
  padding: 0 30px 0 40px;
}

@media (max-width: 767px) {
  .c-button.small.arrow.back {
    padding: 0 15px 0 30px;
  }

  .c-button.small.arrow.back::after {
    left: 15px;
  }
}

.c-button {
  /* ---------------------------------------
    color
  ---------------------------------------- */
}

.c-button.primary {
  background-color: var(--color-button-background);
  color: var(--color-button-foreground);
}

.c-button.secondary {
  background: var(--color-button-foreground);
  border: solid 1px var(--color-button-background);
  color: var(--color-button-background);
}

.c-button.secondary:hover::before {
  background-color: var(--color-button-background);
  opacity: 0.2;
}

.c-button.secondary.arrow::after {
  border-top: 2px solid var(--color-theme);
  border-right: 2px solid var(--color-theme);
}

.c-button.danger {
  background-color: var(--color-alert);
  border-color: var(--color-alert);
  color: white;
}

.c-button.disabled {
  opacity: 0.3;
  pointer-events: none;
  cursor: not-allowed;
  transition: opacity 0.3s ease;
}

.c-button {
  /* ---------------------------------------
    arrow
  ---------------------------------------- */
}

.c-button.arrow {
  padding: 0 45px;
}

.c-button.arrow::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 20px;
  width: 7px;
  height: 7px;
  border-top: 2px solid var(--color-background);
  border-right: 2px solid var(--color-background);
  transform: translateY(-50%) rotate(45deg);
}

.c-button.arrow.back::after {
  transform: translateY(-50%) rotate(-135deg);
  right: unset;
  left: 20px;
}

.c-text {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.c-text .text-group {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

@media (max-width: 767px) {
  .c-text .text-group {
    gap: 20px;
  }
}

.c-text .text {
  font-size: var(--font-size-lv6);
}

.c-text .title {
  font-size: var(--font-size-lv5);
}

.c-text .image {
  aspect-ratio: 3/2;
  -o-object-fit: cover;
  object-fit: cover;
}

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

.c-text.col2 {
  flex-direction: row;
  align-items: center;
  gap: 60px;
}

@media (max-width: 1023px) {
  .c-text.col2 {
    gap: 40px;
  }
}

@media (max-width: 767px) {
  .c-text.col2 {
    flex-direction: column;
    gap: 20px;
  }
}

.c-text.col2>* {
  width: calc((100% - 60px) / 2);
}

@media (max-width: 1023px) {
  .c-text.col2>* {
    width: calc((100% - 40px) / 2);
  }
}

@media (max-width: 767px) {
  .c-text.col2>* {
    width: 100%;
  }
}

.c-text.col2.full-width {
  gap: 0;
}

@media (max-width: 767px) {
  .c-text.col2.full-width {
    gap: 20px;
  }
}

.c-text.col2.full-width>* {
  width: unset;
}

.c-text.col2.full-width .text-group {
  width: calc(50% + 30px);
  padding: 0 60px;
}

@media (max-width: 1023px) {
  .c-text.col2.full-width .text-group {
    width: calc(50% + 20px);
    padding: 0 40px;
  }
}

@media (max-width: 767px) {
  .c-text.col2.full-width .text-group {
    width: 100%;
    padding: 0 20px;
  }
}

.c-text.col2.full-width .image {
  width: calc(50% - 30px);
}

@media (max-width: 1023px) {
  .c-text.col2.full-width .image {
    width: calc(50% - 20px);
  }
}

@media (max-width: 767px) {
  .c-text.col2.full-width .image {
    width: 100%;
  }
}

.c-faq {
  /* ---------------------------------------
  Q. A.
  ---------------------------------------- */
}

.c-faq .question,
.c-faq .answer {
  position: relative;
}

.c-faq .question::before,
.c-faq .answer::before {
  color: var(--color-theme);
  font-family: var(--font-family-en);
  text-box-trim: trim-end;
  text-box-edge: text alphabetic;
  line-height: 1;
  position: absolute;
}

.c-faq .question::before {
  content: "Q.";
}

.c-faq .answer::before {
  content: "A.";
}

.c-faq.accordion .question::before,
.c-faq.accordion .answer::before,
.c-faq.link .question::before,
.c-faq.link .answer::before {
  font-size: var(--font-size-lv5);
  left: 30px;
}

@media (max-width: 1023px) {

  .c-faq.accordion .question::before,
  .c-faq.accordion .answer::before,
  .c-faq.link .question::before,
  .c-faq.link .answer::before {
    left: 20px;
  }
}

@media (max-width: 767px) {

  .c-faq.accordion .question::before,
  .c-faq.accordion .answer::before,
  .c-faq.link .question::before,
  .c-faq.link .answer::before {
    left: 15px;
  }
}

.c-faq.accordion .question::before,
.c-faq.link .question::before {
  top: 22px;
}

@media (max-width: 767px) {

  .c-faq.accordion .question::before,
  .c-faq.link .question::before {
    top: 17px;
  }
}

.c-faq.accordion .answer::before,
.c-faq.link .answer::before {
  top: 2px;
}

.c-faq.detail-page .question::before,
.c-faq.detail-page .answer::before {
  font-size: var(--font-size-lv4);
  left: 0px;
  top: 0px;
}

.c-faq.detail-page .question::before {
  top: 5px;
}

.c-faq .badge-list {
  display: inline;
}

.c-faq .badge-list .badge {
  line-height: 1;
  padding: 4px 6px;
  border: 1px solid var(--color-theme);
  color: var(--color-theme);
  font-size: var(--font-size-lv8);
  font-weight: var(--font-weight-default);
  white-space: nowrap;
  display: inline-block;
}

@media (max-width: 1023px) {
  .c-faq .badge-list .badge {
    display: inline-block;
    padding: 4px 6px;
  }
}

.c-faq .data {
  padding: 15px 20px;
  display: flex;
  justify-content: flex-end;
  gap: 10px 20px;
  color: var(--color-foreground-subtle);
  font-size: var(--font-size-lv7);
  white-space: nowrap;
  flex-wrap: wrap;
}

@media (max-width: 1023px) {
  .c-faq .data {
    gap: 5px 10px;
  }
}

.c-faq .data .category-list {
  display: flex;
  gap: 20px;
}

@media (max-width: 1023px) {
  .c-faq .data .category-list {
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 5px 10px;
  }
}

.c-faq {
  /* ---------------------------------------
    accordion
  ---------------------------------------- */
}

.c-faq.accordion {
  background: var(--color-background-subtle);
  border: 1px solid var(--color-background-subtle);
  border-radius: var(--border-radius-default);
  overflow: hidden;
}

.c-faq.accordion:has(.question[aria-expanded=true]) {
  background: var(--color-background);
  border-color: var(--color-foreground-subtle);
}

.c-faq.accordion .question {
  width: 100%;
  padding: 20px 60px;
  text-align: left;
  position: relative;
}

@media (max-width: 1023px) {
  .c-faq.accordion .question {
    padding: 20px 50px;
  }
}

@media (max-width: 767px) {
  .c-faq.accordion .question {
    padding: 15px 40px;
  }
}

.c-faq.accordion .question .icon {
  height: 1em;
  width: 1em;
  position: absolute;
  right: 30px;
  top: 24px;
}

@media (max-width: 1023px) {
  .c-faq.accordion .question .icon {
    right: 20px;
  }
}

@media (max-width: 767px) {
  .c-faq.accordion .question .icon {
    right: 15px;
    top: 20px;
  }
}

.c-faq.accordion .question .icon.plus::before,
.c-faq.accordion .question .icon.plus::after {
  content: "";
  width: 100%;
  height: 1.5px;
  background: var(--color-theme);
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.c-faq.accordion .question .icon.plus::before {
  transform: translateY(-50%) rotate(90deg);
}

.c-faq.accordion .question .icon.arrow {
  width: 10px;
  height: 10px;
  border-bottom: 2px solid var(--color-theme);
  border-right: 2px solid var(--color-theme);
  transform: rotate(45deg);
}

.c-faq.accordion .question[aria-expanded=true] .icon.plus::before {
  transform: translateY(-50%) rotate(0deg);
}

.c-faq.accordion .question[aria-expanded=true] .icon.arrow {
  transform: translateY(2px) rotate(225deg);
}

.c-faq.accordion .answer-wrapper {
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}

.c-faq.accordion .answer-wrapper .answer {
  padding: 0 20px 20px 60px;
  font-size: var(--font-size-lv6);
}

@media (max-width: 1023px) {
  .c-faq.accordion .answer-wrapper .answer {
    padding: 0 20px 20px 50px;
  }
}

@media (max-width: 767px) {
  .c-faq.accordion .answer-wrapper .answer {
    padding: 0 15px 15px 40px;
  }
}

.c-faq {
  /* ---------------------------------------
    link
  ---------------------------------------- */
}

.c-faq.link {
  border-top: 1px solid var(--color-foreground-subtle);
  border-bottom: 1px solid var(--color-foreground-subtle);
  margin-top: -1px;
  background: var(--color-background);
  position: relative;
}

.c-faq.link:has(a) {
  transition: background 0.3s ease;
}

.c-faq.link:has(a):hover {
  background: rgba(0, 0, 0, 0.05);
}

.c-faq.link:has(a)::after {
  content: "";
  display: block;
  position: absolute;
  top: 30px;
  right: 30px;
  width: 8px;
  height: 8px;
  border-bottom: 2px solid var(--color-theme);
  border-right: 2px solid var(--color-theme);
  transform: rotate(-45deg);
}

@media (max-width: 767px) {
  .c-faq.link:has(a)::after {
    top: 25px;
    right: 20px;
  }
}

.c-faq.link .question {
  width: 100%;
  padding: 20px 60px;
}

@media (max-width: 1023px) {
  .c-faq.link .question {
    padding: 20px 50px;
  }
}

@media (max-width: 767px) {
  .c-faq.link .question {
    padding: 15px 40px;
  }
}

.c-faq.link .question .title {
  display: inline;
}

.c-faq.link .answer {
  padding: 0 20px 0 60px;
  font-size: var(--font-size-lv6);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  text-overflow: ellipsis;
  overflow: hidden;
}

@media (max-width: 1023px) {
  .c-faq.link .answer {
    padding: 0 20px 0 50px;
  }
}

@media (max-width: 767px) {
  .c-faq.link .answer {
    padding: 0 20px 0 40px;
  }
}

.c-faq {
  /* ---------------------------------------
    detail-page
  ---------------------------------------- */
}

.c-faq.detail-page .title-area {
  border-bottom: 1px solid var(--color-theme);
  margin-bottom: 20px;
}

.c-faq.detail-page .title-area .question {
  padding-left: 40px;
}

.c-faq.detail-page .title-area .question .title {
  display: inline;
  font-size: var(--font-size-lv4);
}

.c-faq.detail-page .answer {
  padding-left: 40px;
  font-size: var(--font-size-lv6);
}

.c-faq.detail-page .answer p,
.c-faq.detail-page .answer div {
  margin-top: 15px;
  line-height: 1.7;
}

.c-faq.detail-page .answer h2 {
  background: var(--color-theme);
  color: var(--color-background);
  padding: 5px 20px;
  font-size: var(--font-size-lv4);
  margin: 60px 0 30px;
}

@media (max-width: 1023px) {
  .c-faq.detail-page .answer h2 {
    margin: 40px 0 20px;
  }
}

.c-faq.detail-page .answer h3 {
  border-left: 5px solid var(--color-theme);
  padding-left: 15px;
  color: var(--color-theme);
  font-size: var(--font-size-lv5);
  margin: 60px 0 30px;
}

@media (max-width: 1023px) {
  .c-faq.detail-page .answer h3 {
    margin: 40px 0 20px;
  }
}

.c-faq.detail-page .answer h4 {
  font-size: var(--font-size-base);
  display: inline-block;
  border-bottom: 2px solid var(--color-theme);
  color: var(--color-theme);
  padding-bottom: 4px;
  margin: 60px 0 20px;
}

@media (max-width: 1023px) {
  .c-faq.detail-page .answer h4 {
    margin: 40px 0 20px;
  }
}

.c-faq.detail-page .answer img {
  max-width: 80%;
  max-height: 500px;
  -o-object-fit: contain;
  object-fit: contain;
  -o-object-position: center;
  object-position: center;
  margin: 40px auto;
}

.c-faq.detail-page .answer a {
  color: var(--color-link);
  text-decoration: underline;
}

.c-faq.detail-page .answer a:hover {
  opacity: 0.8;
}

.c-faq.detail-page .answer ul {
  margin-top: 20px;
}

.c-faq.detail-page .answer ul li {
  list-style: disc;
  list-style-position: outside;
  margin-left: 20px;
}

.c-faq.detail-page .answer ol {
  margin-top: 20px;
}

.c-faq.detail-page .answer ol li {
  list-style: decimal;
  list-style-position: outside;
  margin-left: 20px;
}

.c-faq.detail-page .answer .marker {
  background-color: var(--color-theme-light);
}

.c-faq.detail-page .answer blockquote {
  margin-top: 20px;
  background-color: var(--color-background-subtle);
  padding: 20px 30px 20px 40px;
  position: relative;
  margin-inline-start: 0;
  margin-inline-end: 0;
}

.c-faq.detail-page .answer blockquote::before {
  content: "“";
  font-size: var(--font-size-lv2);
  font-weight: var(--font-weight-bold);
  color: var(--color-theme);
  position: absolute;
  top: 0;
  left: 10px;
}

.c-faq.detail-page .answer blockquote p {
  margin-top: 0;
  margin-bottom: 0;
}

.c-faq.detail-page .answer table {
  margin: 40px 0;
  border-collapse: collapse;
}

.c-faq.detail-page .answer table th,
.c-faq.detail-page .answer table td {
  padding: 10px 15px;
  border: 1px solid var(--color-foreground-subtle);
}

@media (max-width: 767px) {

  .c-faq.detail-page .answer table th,
  .c-faq.detail-page .answer table td {
    padding: 10px;
  }
}

.c-faq.detail-page .answer table thead th,
.c-faq.detail-page .answer table thead td {
  background: var(--color-background-subtle);
}

.c-faq.detail-page .share-links {
  margin-top: 120px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: var(--font-size-lv7);
}

@media (max-width: 1023px) {
  .c-faq.detail-page .share-links {
    flex-wrap: wrap;
    margin-top: 60px;
  }
}

@media (max-width: 767px) {
  .c-faq.detail-page .share-links {
    gap: 2px;
  }
}

.c-faq.detail-page .share-links .link {
  height: 30px;
  padding: 0 10px;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: var(--border-radius-default);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  color: var(--color-background);
  transition: var(--transition-default);
}

.c-faq.detail-page .share-links .link:hover {
  opacity: 0.8;
}

.c-faq.detail-page .share-links .link .icon {
  width: 16px;
  height: 16px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

@media (max-width: 767px) {
  .c-faq.detail-page .share-links .link .icon {
    width: 14px;
    height: 14px;
  }
}

.c-faq.detail-page .share-links .link.fb {
  background: #1877f2;
}

.c-faq.detail-page .share-links .link.fb .icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25' height='25' viewBox='0 0 25 25' fill='none'%3E%3Cpath d='M25 12.5C25 5.6 19.4 0 12.5 0C5.6 0 0 5.6 0 12.5C0 18.55 4.3 23.5875 10 24.75V16.25H7.5V12.5H10V9.375C10 6.9625 11.9625 5 14.375 5H17.5V8.75H15C14.3125 8.75 13.75 9.3125 13.75 10V12.5H17.5V16.25H13.75V24.9375C20.0625 24.3125 25 18.9875 25 12.5Z' fill='white'/%3E%3C/svg%3E");
}

.c-faq.detail-page .share-links .link.x {
  background: #000;
}

.c-faq.detail-page .share-links .link.x .icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='23' height='23' viewBox='0 0 23 23' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M22.3672 22.2656L13.6202 9.2888L13.6351 9.30096L21.5218 0H18.8863L12.4616 7.57031L7.35957 0H0.447535L8.61369 12.1156L8.61271 12.1145L0 22.2656H2.63553L9.77832 13.8432L15.4552 22.2656H22.3672ZM6.31531 2.02414L18.5879 20.2415H16.4994L4.21687 2.02414H6.31531Z' fill='white'/%3E%3C/svg%3E");
}

.c-faq.detail-page .share-links .link.line {
  background: #06c755;
}

.c-faq.detail-page .share-links .link.line .icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='27' height='25' viewBox='0 0 27 25' fill='none'%3E%3Cpath d='M13.1931 24.6494C11.8719 25.3756 11.9281 24.3062 11.985 23.9769C12.0188 23.7806 12.1725 22.86 12.1725 22.86C12.2163 22.5263 12.2625 22.01 12.1306 21.6806C11.9838 21.3181 11.4019 21.1294 10.9744 21.0375C4.66813 20.2081 0 15.8238 0 10.5894C0 4.75063 5.8875 0 13.1219 0C20.3563 0 26.2431 4.75063 26.2431 10.5894C26.2431 17.1469 19.2881 21.2981 13.1931 24.6494ZM8.97375 12.9769C8.97375 12.6269 8.68688 12.3425 8.33438 12.3425H6.54938V8.16875C6.54938 7.81875 6.2625 7.53437 5.91 7.53437C5.55688 7.53437 5.27063 7.81875 5.27063 8.16875V12.9775C5.27063 13.3281 5.5575 13.6125 5.91 13.6125H8.33438C8.68688 13.6131 8.97375 13.3275 8.97375 12.9769ZM10.8413 8.16875C10.8413 7.81875 10.5544 7.53437 10.2019 7.53437C9.84875 7.53437 9.5625 7.81875 9.5625 8.16875V12.9775C9.5625 13.3281 9.84938 13.6125 10.2019 13.6125C10.555 13.6125 10.8413 13.3275 10.8413 12.9775V8.16875ZM16.6788 8.16875C16.6788 7.81875 16.3919 7.53437 16.0394 7.53437C15.6863 7.53437 15.3988 7.81875 15.3988 8.16875V11.1444L12.9125 7.78875C12.7925 7.63 12.6006 7.535 12.4013 7.535C12.3325 7.535 12.2644 7.545 12.1981 7.5675C11.9363 7.65438 11.7606 7.89625 11.7606 8.16938V12.9781C11.7606 13.3287 12.0481 13.6131 12.4013 13.6131C12.755 13.6131 13.0419 13.3281 13.0419 12.9781V10.0038L15.5269 13.3594C15.6469 13.5181 15.8381 13.6131 16.0381 13.6131C16.1063 13.6131 16.175 13.6019 16.2413 13.58C16.5038 13.4944 16.6788 13.2525 16.6788 12.9781V8.16875ZM20.6025 9.93875H18.8175V8.80313H20.6025C20.9563 8.80313 21.2431 8.51875 21.2431 8.16875C21.2431 7.81875 20.9556 7.53437 20.6025 7.53437H18.1781C17.825 7.53437 17.5388 7.81875 17.5388 8.16875C17.5388 8.16938 17.5388 8.16938 17.5388 8.17063V10.5719C17.5388 10.5719 17.5388 10.5725 17.5388 10.5731V12.9763C17.5388 13.3269 17.8263 13.6112 18.1781 13.6112H20.6025C20.9556 13.6112 21.2431 13.3263 21.2431 12.9763C21.2431 12.6263 20.9556 12.3419 20.6025 12.3419H18.8175V11.2063H20.6025C20.9563 11.2063 21.2431 10.9219 21.2431 10.5719C21.2431 10.2213 20.9556 9.93688 20.6025 9.93688V9.93875Z' fill='white'/%3E%3C/svg%3E");
}

.c-faq.detail-page .share-links .link.copy {
  background: var(--color-theme);
}

.c-faq.detail-page .share-links .link.copy .icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25' height='25' viewBox='0 0 25 25' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9.83866 19.4315L7.62616 21.5815C7.046 22.1617 6.25913 22.4876 5.43866 22.4876C4.61819 22.4876 3.83132 22.1617 3.25116 21.5815C2.671 21.0014 2.34507 20.2145 2.34507 19.394C2.34507 18.5735 2.671 17.7867 3.25116 17.2065L8.92616 11.519C9.48318 10.9602 10.2337 10.6369 11.0224 10.6159C11.8112 10.595 12.5778 10.878 13.1637 11.4065L13.3137 11.5315C13.5507 11.7636 13.8702 11.892 14.2019 11.8885C14.5336 11.8849 14.8503 11.7498 15.0824 11.5128C15.3145 11.2757 15.4429 10.9562 15.4394 10.6245C15.4358 10.2928 15.3007 9.97608 15.0637 9.74401C14.9927 9.6531 14.9177 9.56551 14.8387 9.48151C13.7716 8.55316 12.3916 8.06507 10.9781 8.11613C9.56467 8.1672 8.22345 8.75358 7.22616 9.75652L1.47616 15.444C0.499108 16.5075 -0.0293116 17.9073 0.00125592 19.3512C0.0318234 20.7951 0.619015 22.1713 1.6402 23.1925C2.66139 24.2137 4.03762 24.8009 5.48147 24.8314C6.92533 24.862 8.32517 24.3336 9.38866 23.3565L11.5512 21.244C11.7647 21.0111 11.8821 20.7059 11.8797 20.3899C11.8773 20.074 11.7553 19.7706 11.5383 19.5409C11.3213 19.3112 11.0253 19.1722 10.71 19.152C10.3947 19.1317 10.0833 19.2315 9.83866 19.4315ZM23.2012 1.63151C22.1496 0.586524 20.7274 0 19.2449 0C17.7624 0 16.3402 0.586524 15.2887 1.63151L13.1262 3.74401C12.9126 3.97695 12.7953 4.28211 12.7977 4.5981C12.8 4.91408 12.922 5.21744 13.139 5.44712C13.356 5.67681 13.652 5.81578 13.9673 5.83608C14.2827 5.85637 14.594 5.75649 14.8387 5.55651L17.0012 3.40651C17.5813 2.82635 18.3682 2.50042 19.1887 2.50042C20.0091 2.50042 20.796 2.82635 21.3762 3.40651C21.9563 3.98668 22.2823 4.77354 22.2823 5.59402C22.2823 6.41449 21.9563 7.20135 21.3762 7.78151L15.7012 13.469C15.1441 14.0278 14.3936 14.3512 13.6049 14.3721C12.8162 14.393 12.0495 14.11 11.4637 13.5815L11.3137 13.4565C11.0766 13.2245 10.7571 13.0961 10.4254 13.0996C10.0937 13.1031 9.77698 13.2382 9.54491 13.4753C9.31285 13.7123 9.18445 14.0318 9.18797 14.3635C9.19148 14.6952 9.32663 15.0119 9.56366 15.244C9.65489 15.3364 9.75085 15.4241 9.85116 15.5065C10.9195 16.4321 12.2989 16.9183 13.7115 16.8673C15.1241 16.8163 16.4649 16.2317 17.4637 15.2315L23.1512 9.54401C24.2028 8.49911 24.7984 7.08055 24.8077 5.59808C24.8171 4.1156 24.2395 2.68963 23.2012 1.63151Z' fill='white'/%3E%3C/svg%3E");
}

.c-faq.detail-page .copy-message {
  position: fixed;
  top: calc(100svh - 50px);
  left: 10px;
  background: var(--color-foreground);
  color: var(--color-background);
  padding: 10px 20px;
  z-index: 1000;
  font-size: var(--font-size-lv7);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

.c-filter {
  /* ---------------------------------------
    nest-category
  ---------------------------------------- */
}

.c-filter.nest-category {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.c-filter.nest-category .title {
  font-size: var(--font-size-lv5);
  color: var(--color-theme);
}

.c-filter.nest-category .keyword-form {
  width: calc(50% - 7.5px);
  display: flex;
}

@media (max-width: 767px) {
  .c-filter.nest-category .keyword-form {
    width: 100%;
  }
}

.c-filter.nest-category .keyword-form .keyword-input {
  flex-grow: 8;
  height: 50px;
  padding: 20px;
  border: 1px solid var(--color-foreground-subtle);
  border-radius: var(--border-radius-default) 0 0 var(--border-radius-default);
}

.c-filter.nest-category .keyword-form .keyword-submit {
  border: none;
  flex-grow: 1;
  height: 50px;
  background: var(--color-theme);
  border-radius: 0 var(--border-radius-default) var(--border-radius-default) 0;
  color: var(--color-background);
  text-align: center;
}

.c-filter.nest-category .category-list {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}

.c-filter.nest-category .category-list .category-group {
  width: calc(50% - 10px);
  height: -moz-fit-content;
  height: fit-content;
  border-radius: 5px;
}

@media (max-width: 767px) {
  .c-filter.nest-category .category-list .category-group {
    width: 100%;
  }
}

.c-filter.nest-category .category-list .category-group .group-title {
  padding: 15px 20px;
  background: var(--color-background-subtle);
  border-radius: var(--border-radius-default);
  position: relative;
  color: var(--color-theme);
}

.c-filter.nest-category .category-list .category-group .group-title:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 30px;
  width: 8px;
  height: 8px;
  border-bottom: 2px solid var(--color-theme);
  border-right: 2px solid var(--color-theme);
  transform: translateY(-50%) rotate(45deg);
}

.c-filter.nest-category .category-list .category-group .child-group {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-out;
  padding: 0 30px;
  display: flex;
  flex-wrap: wrap;
  gap: 0 30px;
}

.c-filter.nest-category .category-list .category-group .child-group li {
  padding: 10px 0;
  font-size: var(--font-size-lv6);
  color: var(--color-link);
}

.c-filter.nest-category .category-list .category-group .child-group li a {
  text-decoration: underline;
}

.c-filter.nest-category .category-list .category-group .child-group li:not(:has(a)) {
  color: var(--color-foreground-subtle-dark);
}

.c-filter.nest-category .category-list .category-group.is-open .group-title:after {
  transform: translateY(-50%) rotate(225deg);
}

.c-filter {
  /* ---------------------------------------
      select
    ---------------------------------------- */
}

.c-filter.category-keyword {
  background: var(--color-background-subtle);
  padding: 10px 20px;
  display: flex;
  gap: 20px;
}

@media (max-width: 1023px) {
  .c-filter.category-keyword {
    flex-wrap: wrap;
  }
}

@media (max-width: 767px) {
  .c-filter.category-keyword {
    padding: 15px;
    flex-direction: column;
  }
}

.c-filter.category-keyword .filter-group {
  display: flex;
  align-items: center;
  gap: 5px;
}

@media (max-width: 1023px) {
  .c-filter.category-keyword .filter-group {
    flex-direction: column;
    align-items: flex-start;
  }
}

.c-filter.category-keyword .filter-group label {
  white-space: nowrap;
  font-size: var(--font-size-lv6);
}

.c-filter.category-keyword .filter-group select {
  width: 240px;
  padding: 10px 40px 10px 20px;
  border: 1px solid var(--color-foreground-subtle);
  border-radius: 5px;
  appearance: none;
  /* Chrome, Safari用 */
  -webkit-appearance: none;
  /* Safari用 */
  -moz-appearance: none;
  /* Firefox用 */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8' fill='none'%3E%3Cpath d='M13 1L7 7L1 0.999999' stroke='%23C0C0C0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 20px center;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  text-overflow: ellipsis;
  overflow: hidden;
}

@media (max-width: 1023px) {
  .c-filter.category-keyword .filter-group select {
    width: 220px;
  }
}

@media (max-width: 767px) {
  .c-filter.category-keyword .filter-group select {
    width: 100%;
  }
}

.c-filter.category-keyword .filter-group input[type=text] {
  width: 240px;
  padding: 10px 20px;
  border-radius: 5px;
  border: 1px solid var(--color-foreground-subtle);
}

@media (max-width: 1023px) {
  .c-filter.category-keyword .filter-group input[type=text] {
    width: 220px;
  }
}

@media (max-width: 767px) {
  .c-filter.category-keyword .filter-group input[type=text] {
    width: 100%;
  }
}

.c-filter.category-keyword .button-area {
  flex: 1;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}

.c-footer {
  background: var(--color-footer-background);
  color: var(--color-footer-foreground);
  padding: 60px 0px 10px;
}

.c-footer .row {
  display: flex;
  align-items: center;
  gap: 40px;
}

.c-footer .row.center {
  justify-content: center;
}

.c-footer .row:not(:first-child) {
  margin-top: 60px;
}

.c-footer .nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
}

.c-footer .nav .link-list {
  display: flex;
  gap: 40px;
}

.c-footer .nav .link-list .link {
  font-size: var(--font-size-lv6);
  color: var(--color-footer-foreground);
}

.c-footer .nav .link-list .link:hover {
  opacity: 0.7;
}

.c-footer .nav .button-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
}

.c-footer .logo img {
  height: 40px;
  -o-object-fit: contain;
  object-fit: contain;
}

.c-footer .copyright {
  font-size: var(--font-size-lv8);
  text-align: center;
}

.c-form {
  font-size: var(--font-size-lv6);
}

.c-form button,
.c-form .btn-select {
  min-width: 220px;
  min-height: 50px;
  padding: 0 20px;
  box-sizing: border-box;
  border-radius: var(--border-radius-button);
  text-align: center;
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-default);
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  position: relative;
  transition: var(--transition-default);
  background-color: var(--color-theme);
  color: var(--color-background);
}

.c-form button::before,
.c-form .btn-select::before {
  content: "";
  width: 100%;
  height: 100%;
  border-radius: var(--border-radius-button);
  position: absolute;
  top: 0;
  left: 0;
  background-color: transparent;
  opacity: 0;
  transition: var(--transition-default);
  pointer-events: none;
}

.c-form button:hover::before,
.c-form .btn-select:hover::before {
  background-color: #000;
  opacity: 0.2;
}

.c-form .title_lv1,
.c-form .title_lv2 .ttl_item {
  display: none;
}

.c-form .icon-required {
  padding: 3px 5px;
  background: var(--color-alert);
  color: var(--color-background);
  font-size: var(--font-size-lv7);
  margin-left: 10px;
}

.c-form {
  /* ---------------------------------------
  type: default 
  ---------------------------------------- */
}

.c-form .form-item {
  display: flex;
  width: 100%;
  margin-top: 40px;
}

.c-form .form-item:first-child {
  margin-top: 0;
}

@media (max-width: 1023px) {
  .c-form .form-item {
    flex-direction: column;
    gap: 5px;
  }
}

.c-form .form-item .form-item {
  margin-top: 20px;
}

.c-form .form-item .form-item:first-child {
  margin-top: 0;
}

@media (max-width: 1023px) {
  .c-form .form-item .form-item:first-child {
    margin-top: 10px;
  }
}

.c-form .form-item .form-title {
  flex-basis: 30%;
}

.c-form .form-item .form-content {
  flex-basis: 70%;
  display: flex;
  justify-content: center;
  flex-direction: column-reverse;
  gap: 5px;
}

.c-form .form-item .form-content:has(.form-content) {
  flex-direction: column;
}

.c-form .form-item .form-content span {
  display: block;
}

.c-form .form-item .form-content .form-cap {
  color: var(--color-foreground-subtle);
  font-size: var(--font-size-lv7);
}

.c-form .form-item .form-content .caution {
  color: var(--color-alert);
  font-size: var(--font-size-lv7);
}

.c-form .form-item .form-content:has(.caution label) input[type=text],
.c-form .form-item .form-content:has(.caution label) input[type=email],
.c-form .form-item .form-content:has(.caution label) input[type=tel],
.c-form .form-item .form-content:has(.caution label) input[type=date],
.c-form .form-item .form-content:has(.caution label) input[type=number],
.c-form .form-item .form-content:has(.caution label) textarea,
.c-form .form-item .form-content:has(.caution label) select {
  border: 1px solid var(--color-alert);
}

.c-form .form-item .form-content input[type=text],
.c-form .form-item .form-content input[type=email],
.c-form .form-item .form-content input[type=tel],
.c-form .form-item .form-content input[type=date],
.c-form .form-item .form-content input[type=number],
.c-form .form-item .form-content textarea,
.c-form .form-item .form-content select {
  border: 1px solid var(--color-foreground-subtle);
  border-radius: 5px;
  padding: 15px;
  width: 100%;
}

.c-form .form-item .form-content input[type=text]::-moz-placeholder,
.c-form .form-item .form-content input[type=email]::-moz-placeholder,
.c-form .form-item .form-content input[type=tel]::-moz-placeholder,
.c-form .form-item .form-content input[type=date]::-moz-placeholder,
.c-form .form-item .form-content input[type=number]::-moz-placeholder,
.c-form .form-item .form-content textarea::-moz-placeholder,
.c-form .form-item .form-content select::-moz-placeholder {
  color: var(--color-foreground-subtle);
}

.c-form .form-item .form-content input[type=text]::placeholder,
.c-form .form-item .form-content input[type=email]::placeholder,
.c-form .form-item .form-content input[type=tel]::placeholder,
.c-form .form-item .form-content input[type=date]::placeholder,
.c-form .form-item .form-content input[type=number]::placeholder,
.c-form .form-item .form-content textarea::placeholder,
.c-form .form-item .form-content select::placeholder {
  color: var(--color-foreground-subtle);
}

.c-form .form-item .form-content input[type=text]:focus,
.c-form .form-item .form-content input[type=email]:focus,
.c-form .form-item .form-content input[type=tel]:focus,
.c-form .form-item .form-content input[type=date]:focus,
.c-form .form-item .form-content input[type=number]:focus,
.c-form .form-item .form-content textarea:focus,
.c-form .form-item .form-content select:focus {
  border: 1px solid #206dd2;
  outline: none;
}

.c-form .form-item .form-content textarea {
  font-family: inherit;
}

.c-form .form-item .form-content select {
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8' fill='none'%3E%3Cpath d='M13 1L7 7L1 0.999999' stroke='%23C0C0C0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 20px center;
}

.c-form .form-item .form-content .cols {
  display: flex;
  gap: 20px;
}

.c-form .form-item .form-content .radio {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}

.c-form .form-item .form-content .radio .radio-item {
  display: flex;
  gap: 5px;
}

.c-form .form-item .form-content .radio input[type=radio] {
  width: 20px;
  height: 20px;
}

.c-form .form-item .form-content .tar {
  display: none;
}

.c-form .form-item .form-content .checkbox {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}

.c-form .form-item .form-content .checkbox .checkbox-item {
  display: flex;
  align-items: center;
  gap: 5px;
}

.c-form .form-item .form-content .checkbox input[type=checkbox] {
  width: 18px;
  height: 18px;
}

.c-form .form-item .form-content .name-group li {
  width: 50%;
}

.c-form .form-item .form-content .name-group li span {
  font-size: var(--font-size-lv6);
  margin-bottom: 5px;
}

.c-form .form-item .form-content .phone-group,
.c-form .form-item .form-content .zipcode-group {
  gap: 0;
}

.c-form .form-item .form-content .phone-group li,
.c-form .form-item .form-content .zipcode-group li {
  width: 33.3333333333%;
  display: flex;
  align-items: center;
}

.c-form .form-item .form-content .phone-group li:not(:last-child)::after,
.c-form .form-item .form-content .zipcode-group li:not(:last-child)::after {
  content: "　";
}

.c-form .form-item .form-content .zipcode-group button {
  background: var(--color-button-foreground);
  border: solid 1px var(--color-button-background);
  color: var(--color-button-background);
  min-width: auto;
  min-height: 36px;
  padding: 0 15px;
  font-size: var(--font-size-lv6);
  gap: 5px;
}

.c-form .form-item .form-content table.radio,
.c-form .form-item .form-content table.checkbox {
  display: table;
  border-collapse: collapse;
}

@media (max-width: 767px) {

  .c-form .form-item .form-content table.radio,
  .c-form .form-item .form-content table.checkbox {
    border: 1px solid var(--color-foreground-subtle);
  }
}

.c-form .form-item .form-content table.radio th,
.c-form .form-item .form-content table.radio td,
.c-form .form-item .form-content table.checkbox th,
.c-form .form-item .form-content table.checkbox td {
  padding: 10px;
  border: 1px solid var(--color-foreground-subtle);
  text-align: center;
}

@media (max-width: 767px) {

  .c-form .form-item .form-content table.radio th,
  .c-form .form-item .form-content table.radio td,
  .c-form .form-item .form-content table.checkbox th,
  .c-form .form-item .form-content table.checkbox td {
    display: block;
    border: none;
    text-align: left;
  }
}

.c-form .form-item .form-content table.radio th,
.c-form .form-item .form-content table.checkbox th {
  background: var(--color-background-subtle);
}

.c-form .form-item .form-content table.radio td label span,
.c-form .form-item .form-content table.checkbox td label span {
  display: none;
}

@media (max-width: 767px) {

  .c-form .form-item .form-content table.radio td label span,
  .c-form .form-item .form-content table.checkbox td label span {
    display: inline-block;
  }
}

@media (max-width: 767px) {

  .c-form .form-item .form-content table.radio thead,
  .c-form .form-item .form-content table.checkbox thead {
    display: none;
  }
}

.c-form .form-item .form-content .file-upload {
  background: var(--color-background-subtle);
  border: 2px dashed var(--color-foreground-subtle);
  padding: 30px;
  text-align: center;
  position: relative;
}

.c-form .form-item .form-content .file-upload .upload-text {
  color: var(--color-foreground);
}

.c-form .form-item .form-content .file-upload .upload-text span {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: 10px auto 0;
  background-color: var(--color-background);
  border: 1px solid var(--color-foreground-subtle);
  border-radius: 5px;
  padding: 5px 10px;
}

.c-form .form-item .form-content .file-upload input[type=file] {
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  width: 100%;
  box-sizing: border-box;
  cursor: pointer;
}

.c-form .form-item .form-content:has(.upload-file-list) {
  flex-direction: column;
}

.c-form .form-item .form-content .upload-file-list li {
  padding: 5px 0;
  border-bottom: 1px solid var(--color-foreground-subtle);
  font-size: var(--font-size-lv8);
  display: flex;
  align-items: center;
  gap: 10px;
}

.c-form .form-item .form-content .upload-file-list li .item-thumbnail {
  max-width: 50px;
}

.c-form .form-item .form-content .upload-file-list li .item-delete {
  margin-left: auto;
}

.c-form .form-item .form-content .upload-file-list li .item-delete i {
  cursor: pointer;
  font-style: normal;
}

.c-form .form-item .form-content .upload-file-list li .item-delete i:hover {
  opacity: 0.5;
}

.c-form .form-item .form-content .upload-file-list li .item-delete i::before {
  content: "×";
  background: var(--color-foreground-subtle);
  display: block;
  width: 15px;
  height: 15px;
  text-align: center;
  font-size: var(--font-size-lv7);
  font-weight: bold;
  line-height: 14px;
  border-radius: 50%;
  color: var(--color-background);
}

.c-form .form-item .form-content .radio.linearscale li {
  display: flex;
  align-items: center;
  gap: 5px;
}

.c-form .button-set {
  margin-top: 60px;
  display: flex;
  justify-content: center;
  gap: 20px;
}

.c-form .button-set .btn_back {
  background-color: var(--color-foreground-subtle);
  color: var(--color-background);
}

.c-form .form-finish .title {
  font-size: var(--font-size-lv4);
  font-weight: var(--font-weight-bold);
  margin-bottom: 20px;
}

.c-form .form-finish p {
  margin-top: 10px;
}

.c-form .form-finish dl {
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
}

.c-form .form-finish dl dt {
  width: 240px;
}

.c-form .form-finish dl dd {
  width: calc(100% - 240px);
}

.c-form .privacy-content {
  border: 1px solid var(--color-foreground-subtle);
  max-height: 300px;
  overflow-y: scroll;
  padding: 20px;
}

.c-form .privacy-agree {
  background: var(--color-background-subtle);
  margin-top: 10px;
  padding: 20px;
  text-align: center;
}

.c-form {
  /* ---------------------------------------
   type: feedback 
  ---------------------------------------- */
}

.c-form.feedback #faq_decision_container .form-content {
  flex-direction: column;
}

.c-form.feedback .btn-title {
  text-align: center;
  font-size: var(--font-size-base);
}

.c-form.feedback .btn-list {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  padding: 20px 0;
}

@media (max-width: 767px) {
  .c-form.feedback .btn-list .btn-select {
    min-width: unset;
    width: 150px;
  }
}

.c-form.feedback .list-btn .button-set {
  margin-top: 20px;
}

.c-form.feedback .btn-complete,
.c-form.feedback .inquiry-complete {
  text-align: center;
  padding: 20px 0;
}

.c-form {
  /* ---------------------------------------
    loader (copy from gears-theme-v1.2)
  ---------------------------------------- */
}

.c-form .button--loading::after {
  content: "";
  position: absolute;
  width: 25px;
  height: 25px;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  border: 4px solid transparent;
  border-top-color: #ffffff;
  border-radius: 50%;
  animation: button-loading-spinner 1s ease infinite;
}

.c-form .restrict--loading::after {
  content: "";
  position: absolute;
  width: 25px;
  height: 25px;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  border: 4px solid transparent;
  border-top-color: #23bf08;
  border-radius: 50%;
  animation: button-loading-spinner 1s ease infinite;
}

@keyframes button-loading-spinner {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

.c-form input:-webkit-autofill,
.c-form input:-webkit-autofill:hover,
.c-form input:-webkit-autofill:focus,
.c-form input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 30px white inset !important;
}

.c-form .form-loader {
  border: 5px solid #f3f3f3;
  /* Light grey */
  border-top: 5px solid grey;
  /* Blue */
  border-radius: 50%;
  width: 50px;
  height: 50px;
  animation: spin 1s linear infinite;
  margin: 50px 50%;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

.c-header {
  width: 100%;
  height: var(--header-height);
  padding: 0 40px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--color-background);
}

@media (max-width: 767px) {
  .c-header {
    height: var(--header-height-sp);
    padding: 0 20px;
  }
}

.c-header .logo img {
  display: block;
  height: calc(var(--header-height) - 40px);
}

@media (max-width: 767px) {
  .c-header .logo img {
    height: calc(var(--header-height-sp) - 30px);
  }
}

.c-header .nav {
  display: flex;
  align-items: center;
  gap: 40px;
}

@media (max-width: 1023px) {
  .c-header .nav {
    opacity: 0;
    visibility: hidden;
    transition: var(--transition-default);
    position: absolute;
    top: var(--header-height-sp);
    left: 0;
    width: 100svw;
    height: calc(100svh - var(--header-height-sp));
    background: var(--color-background);
    flex-direction: column;
    padding: 60px 20px 40px;
  }

  .c-header .nav.active {
    opacity: 1;
    visibility: visible;
  }
}

.c-header .nav .link-list {
  display: flex;
  gap: 40px;
}

@media (max-width: 1023px) {
  .c-header .nav .link-list {
    width: 100%;
    max-width: 500px;
    flex-direction: column;
    gap: 0;
    border-top: 1px solid var(--color-foreground-subtle);
  }
}

.c-header .nav .link-list .link {
  display: block;
  padding: 5px 0;
  color: var(--color-foreground);
}

.c-header .nav .link-list .link:hover {
  color: var(--color-theme);
}

@media (max-width: 1023px) {
  .c-header .nav .link-list .link {
    border-bottom: 1px solid var(--color-foreground-subtle);
    font-size: var(--font-size-lv5);
    padding: 20px 10px;
  }
}

@media (max-width: 767px) {
  .c-header .nav .link-list .link {
    padding: 15px 10px;
  }
}

.c-header .nav .button-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
}

@media (max-width: 1023px) {
  .c-header .nav .button-list {
    width: 100%;
    max-width: 500px;
    flex-direction: column;
    gap: 20px;
  }
}

.c-header .nav .button-list .c-button {
  min-width: auto;
  min-height: 40px;
  padding: 0 15px;
}

@media (max-width: 1023px) {
  .c-header .nav .button-list .c-button {
    width: 100%;
    min-height: 60px;
    font-size: var(--font-size-lv5);
  }
}

.c-header .hamburger-button {
  display: none;
  width: 40px;
  aspect-ratio: 1/1;
  justify-content: center;
  align-items: center;
}

.c-header .hamburger-button:hover {
  background: rgba(0, 0, 0, 0.0509803922);
}

@media (max-width: 1023px) {
  .c-header .hamburger-button {
    display: flex;
  }
}

.c-header .hamburger-button .icon {
  width: 24px;
  height: 16px;
  position: relative;
}

.c-header .hamburger-button .icon span {
  display: block;
  width: 100%;
  height: 2px;
  background: var(--color-foreground);
  position: absolute;
  left: 0;
  transition: var(--transition-default);
}

.c-header .hamburger-button .icon span:nth-child(1) {
  top: 0;
}

.c-header .hamburger-button .icon span:nth-child(2) {
  top: 50%;
}

.c-header .hamburger-button .icon span:nth-child(3) {
  top: 100%;
}

.c-header .hamburger-button.active .icon span:nth-child(1) {
  top: 50%;
  transform: rotate(45deg);
}

.c-header .hamburger-button.active .icon span:nth-child(2) {
  display: none;
}

.c-header .hamburger-button.active .icon span:nth-child(3) {
  top: 50%;
  width: 100%;
  transform: rotate(-45deg);
}

.c-header .search-form {
  display: flex;
  height: 40px;
  padding: 5px;
  align-items: center;
  border-radius: var(--border-radius-default);
  border: 1px solid var(--color-foreground-subtle);
  background: var(--color-background);
}

.c-header .search-form:focus-within {
  border: 1px solid var(--color-theme);
}

.c-header .search-form input[type=text] {
  width: 200px;
  padding: 0 15px;
  border: none;
  outline: none;
}

.c-header .search-form button[type=submit] {
  display: flex;
  width: 30px;
  height: 30px;
  justify-content: center;
  align-items: center;
  border-radius: var(--border-radius-full);
}

.c-header .search-form button[type=submit]:hover {
  background: rgba(0, 0, 0, 0.0509803922);
}

.c-header .search-form button[type=submit] .icon {
  width: 20px;
  aspect-ratio: 1/1;
}

.c-header .search-form button[type=submit] .icon path {
  stroke: var(--color-theme);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.c-header {
  /* ---------------------------------------
    has-cart
  ---------------------------------------- */
}

.c-header.has-cart .wrapper {
  display: flex;
  align-items: center;
  gap: 30px;
}

.c-header.has-cart .cart-button {
  width: 40px;
  aspect-ratio: 1/1;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: var(--border-radius-full);
  position: relative;
}

.c-header.has-cart .cart-button:hover {
  background: rgba(0, 0, 0, 0.0509803922);
}

.c-header.has-cart .cart-button .icon {
  width: 24px;
  aspect-ratio: 1/1;
}

.c-header.has-cart .cart-button .icon path,
.c-header.has-cart .cart-button .icon ellipse {
  fill: var(--color-theme);
}

.c-header.has-cart .cart-button .badge {
  position: absolute;
  top: 0;
  right: 0;
  width: 20px;
  aspect-ratio: 1/1;
  border-radius: var(--border-radius-full);
  background: var(--color-theme);
  border: 1px solid var(--color-background);
  color: var(--color-background);
  font-size: var(--font-size-lv8);
  display: flex;
  justify-content: center;
  align-items: center;
}

.c-hero.bg-img {
  width: 100%;
  height: calc(100vh - var(--header-height));
  background-image: url(../base-img/common/dummy.png) no-repeat center/cover;
}

@media (max-width: 767px) {
  .c-hero.bg-img {
    height: calc(100vh - var(--header-height-sp));
  }
}

.c-hero.img {
  width: 100%;
  height: calc(100vh - var(--header-height));
}

@media (max-width: 767px) {
  .c-hero.img {
    height: calc(100vh - var(--header-height-sp));
  }
}

.c-hero.img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.c-hero.carousel {
  width: 100%;
  overflow: hidden;
}

.c-hero.carousel .swiper {
  overflow: visible;
}

.c-hero.carousel .swiper .swiper-slide {
  aspect-ratio: 16/9;
}

.c-hero.carousel .swiper .swiper-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.c-list {
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid var(--color-foreground-subtle);
  font-size: var(--font-size-lv6);
}

@media (max-width: 767px) {
  .c-list {
    flex-direction: column;
  }
}

.c-list dt {
  padding: 20px 10px;
  border-bottom: 1px solid var(--color-foreground-subtle);
  width: 30%;
  font-weight: var(--font-weight-bold);
}

@media (max-width: 767px) {
  .c-list dt {
    width: 100%;
    border-bottom: none;
    padding-bottom: 0;
  }
}

.c-list dd {
  padding: 20px 10px;
  border-bottom: 1px solid var(--color-foreground-subtle);
  width: 70%;
}

@media (max-width: 767px) {
  .c-list dd {
    width: 100%;
  }
}

.c-list dd ul li {
  list-style: disc;
  list-style-position: inside;
}

.c-loading {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  min-height: 60px;
}

.c-loading span {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--color-foreground-subtle);
  animation: loading-dot 1.2s ease-in-out infinite;
}

.c-loading span:nth-child(2) {
  animation-delay: 0.2s;
}

.c-loading span:nth-child(3) {
  animation-delay: 0.4s;
}

@keyframes loading-dot {

  0%,
  80%,
  100% {
    opacity: 0.3;
    transform: scale(0.7);
  }

  40% {
    opacity: 1;
    transform: scale(1);
  }
}

.c-pager {
  /* ---------------------------------------
    type: article
  ---------------------------------------- */
}

.c-pager.article .link-list {
  display: flex;
  align-items: center;
  gap: 5px;
}

.c-pager.article .link-list .arrow {
  display: block;
  width: 24px;
  height: 24px;
  border-radius: var(--border-radius-full);
  position: relative;
}

.c-pager.article .link-list .arrow:hover {
  background: rgba(0, 0, 0, 0.05);
}

.c-pager.article .link-list .arrow::after {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-bottom: 2px solid var(--color-theme);
  border-left: 2px solid var(--color-theme);
  position: absolute;
  top: 8px;
}

.c-pager.article .link-list .arrow.disable::after {
  border-bottom: 2px solid var(--color-foreground-subtle);
  border-left: 2px solid var(--color-foreground-subtle);
}

.c-pager.article .link-list .arrow.prev::after {
  left: 10px;
  transform: rotate(45deg);
}

.c-pager.article .link-list .arrow.next::after {
  right: 10px;
  transform: rotate(-135deg);
}

.c-pager.article .link-list .num {
  display: inline-block;
  font-size: var(--font-size-lv7);
  font-weight: var(--font-weight-bold);
  color: var(--color-theme);
  min-width: 24px;
  text-align: center;
}

.c-pager.article .link-list .num:hover {
  text-decoration: underline;
}

.c-pager.article .link-list .num.current {
  padding: 2px 4px;
  background: var(--color-theme);
  color: var(--color-background);
}

.c-pager.article .link-list .dots {
  color: var(--color-foreground-subtle);
}

.c-pager {
  /* ---------------------------------------
    type: carousel
  ---------------------------------------- */
}

.c-pager.carousel {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  min-height: 15px;
}

.c-pager.carousel .pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
}

.c-pager.carousel .pagination .swiper-pagination-bullet {
  width: 5px;
  height: 5px;
  margin: 0 6px;
  opacity: 1;
  background-color: var(--color-foreground-subtle);
}

.c-pager.carousel .pagination .swiper-pagination-bullet-active {
  background-color: var(--color-theme);
}

.c-pager.carousel .pagination.number .swiper-pagination-current,
.c-pager.carousel .pagination.number .swiper-pagination-total {
  padding: 0 5px;
  font-size: var(--font-size-lv6);
}

.c-pager.carousel .pause {
  color: var(--color-foreground-subtle);
  display: flex;
  align-items: center;
  gap: 2px;
}

.c-pager.carousel .pause:before,
.c-pager.carousel .pause::after {
  content: "";
  display: block;
  width: 3px;
  height: 10px;
  border-radius: 2px;
  background: var(--color-theme);
}

.c-pager.carousel .pause:hover::before,
.c-pager.carousel .pause:hover::after {
  background: var(--color-theme);
}

.c-pager.carousel .pause.is-playing::before,
.c-pager.carousel .pause.is-playing::after {
  background: var(--color-foreground-subtle);
}

.c-pager.carousel .nav-prev,
.c-pager.carousel .nav-next {
  padding: 5px;
}

.c-pager.carousel .nav-prev::before,
.c-pager.carousel .nav-next::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  transition: all 0.3s ease-in-out;
}

.c-pager.carousel .nav-prev::before {
  transform: rotate(-45deg);
  border-top: 2px solid var(--color-theme);
  border-left: 2px solid var(--color-theme);
  margin-right: -2px;
}

.c-pager.carousel .nav-next::before {
  transform: rotate(45deg);
  border-top: 2px solid var(--color-theme);
  border-right: 2px solid var(--color-theme);
  margin-left: -2px;
}

/* ---------------------------------------
  section-title
---------------------------------------- */
.c-section-title {
  color: var(--color-theme);
  font-size: var(--font-size-lv3);
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.c-section-title.flex {
  flex-direction: row;
  align-items: baseline;
  gap: 15px;
}

.c-section-title span {
  display: block;
  line-height: 1;
}

.c-section-title .main {
  font-size: var(--font-size-lv1);
}

.c-section-title .sub {
  font-size: var(--font-size-base);
}

.c-section-title .en {
  font-family: var(--font-family-en);
}

.c-section-title .jp {
  font-family: var(--font-family-jp);
}

/* ---------------------------------------
  subpage-title
---------------------------------------- */
.c-subpage-title {
  width: 100%;
}

.c-subpage-title .title {
  padding: 40px 0 0;
  font-size: var(--font-size-lv2);
  color: var(--color-theme);
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.c-subpage-title .title span {
  display: block;
  line-height: 1;
}

.c-subpage-title .title .main {
  font-size: var(--font-size-lv1);
}

.c-subpage-title .title .sub {
  font-size: var(--font-size-base);
}

.c-subpage-title .title .en {
  font-family: var(--font-family-en);
}

.c-subpage-title .title .jp {
  font-family: var(--font-family-jp);
}

.c-subpage-title.bg-img {
  background: url(https://common.assets.01core.app/files/site-parts-assets/img/dummy-kv3.png) no-repeat center;
  background-size: cover;
}

.c-subpage-title.bg-img .title {
  padding: 90px 0;
}

@media (max-width: 767px) {
  .c-subpage-title.bg-img .title {
    padding: 40px 0;
  }
}

.c-subpage-title.bg-img.overlay {
  background: url(https://common.assets.01core.app/files/site-parts-assets/img/dummy-kv.png) no-repeat center;
}

.c-subpage-title.bg-img.overlay .title {
  color: var(--color-background);
}

.c-subpage-title.bg-img.overlay .overlay-wrapper {
  width: 100%;
  background: rgba(0, 0, 0, 0.3);
}

.c-subpage-title.split-img {
  position: relative;
}

.c-subpage-title.split-img .image {
  width: 40%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
}

@media (max-width: 767px) {
  .c-subpage-title.split-img .image {
    width: 60%;
  }
}

.c-subpage-title.split-img .title {
  width: 60%;
  padding: 90px 0;
}

@media (max-width: 767px) {
  .c-subpage-title.split-img .title {
    width: 100%;
    background: linear-gradient(to right, var(--color-background), transparent);
    padding: 40px 0;
  }
}

/* ---------------------------------------
  contents-title
---------------------------------------- */
.c-contents-title {
  color: var(--color-theme);
  font-size: var(--font-size-lv4);
  border-bottom: 1px solid var(--color-theme);
  padding-bottom: 10px;
}

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