@charset "UTF-8";
:root, *::before, *::after {
  --color-01: #333;
  --color-02: #f5f5f5;
  --color-03: #d9d9d9;
  --color-04: #3698cc;
  --color-05: #adadad;
  --color-06: #838383;
  --color-07: #efefef;
  --z-menubtn: 35;
  --z-menubg: 30;
  --z-spmenu: 25;
  --z-overlay: 20;
  --z-policy: 16;
  --z-btn-to-top: 15;
  --z-grecaptcha: 11;
  --z-top-contents: 10;
  --z-footer: 10;
  --z-maincopy: 5;
  --z-scrolldown: 5;
  --z-movie: 1;
  --pd-01: 40px;
  --pd-02: 20px;
  --width-01: calc(1520px + (var(--pd-01) * 2));
  --width-menu-list: 16em;
  --height-header-pc: 106px;
  --height-header-sp: 56px;
  --outline: 2px solid #ccc;
  --input-height-pc: 32px;
  --input-height-mb: 40px;
  --input-pd: 5px;
}
/* リセット
============================================================ */
/*! A Modern CSS Reset https://github.com/hankchizljaw/modern-css-reset*/
*, *::before, *::after {
  box-sizing: border-box;
}
body, h1, h2, h3, h4, h5, h6, p, figure, blockquote, dl, dd {
  margin: 0;
}
ul, ol {
  padding: 0;
  margin: 0;
}
ul {
  list-style: none;
}
table {
  border-spacing: 0;
  border-collapse: collapse;
}
/*! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc.*/
/* デフォルト
============================================================ */
body {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
  line-height: 1;
  color: var(--color-01);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
h1, h2, h3, h4, h5, h6 {
  line-height: 150%;
}
ol {
  padding: 0 0 0 1.25em;
}
@media screen and (max-width: 767px) {
  ol {
    padding: 0 0 0 1.5em;
  }
}
a {
  color: var(--color-04);
  text-decoration: none;
  word-break: break-all;
  -webkit-tap-highlight-color: transparent;
}
a:focus:not(:focus-visible) {
  outline: 0;
}
a:focus-visible {
  outline: var(--outline);
}
.type-pc a:hover img {
  opacity: 0.8;
}
a, a img {
  transition: opacity 0.2s linear, color 0.2s linear, border 0.2s linear, background 0.2s linear, filter 0.2s linear;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}
/* --- タイトル ------------------- */
h2 {
  margin: 160px 0 0;
  font-size: 36px;
  font-weight: bold;
}
h2[data-en] {
  font-size: 24px;
  font-weight: normal;
}
h2[data-en]::after {
  display: block;
  margin: 20px 0 0;
  font-size: 40px;
  font-weight: bold;
  line-height: 100%;
  word-break: break-word;
  content: attr(data-en);
}
@media screen and (max-width: 1023px) {
  h2 {
    margin: 80px 0 0;
  }
}
@media screen and (max-width: 767px) {
  h2 {
    font-size: 154%;
  }
}
h3 {
  margin: 60px 0 0;
  font-size: 20px;
}
h4 {
  margin: 40px 0 0;
  font-size: 18px;
}
h5 {
  margin: 20px 0 0;
  font-size: 16px;
}
p + p {
  margin: 1em 0 0;
}
/* --- リンク ------------------- */
a:where([target="_blank"], [href$=".pdf"])::after {
  display: inline-block;
  width: 1em;
  height: 1em;
  content: "";
  transform: translateY(2px);
}
a:where([target="_blank"])::after {
  margin: 0 2px 0 4px;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2028%2028%22%20style%3D%22enable-background%3Anew%200%200%2028%2028%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M26%2025.5v-17c0-.3-.2-.5-.5-.5h-17c-.3%200-.5.2-.5.5v17c0%20.3.2.5.5.5h17c.3%200%20.5-.2.5-.5zm2-17v17c0%201.4-1.1%202.5-2.5%202.5h-17C7.1%2028%206%2026.9%206%2025.5v-17C6%207.1%207.1%206%208.5%206h17C26.9%206%2028%207.1%2028%208.5zm-6-6V5h-2V2.5c0-.3-.2-.5-.5-.5h-17c-.3%200-.5.2-.5.5v17c0%20.3.2.5.5.5H5v2H2.5C1.1%2022%200%2020.9%200%2019.5v-17C0%201.1%201.1%200%202.5%200h17C20.9%200%2022%201.1%2022%202.5z%22%20style%3D%22fill%3A%233698cc%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
}
a:where([href$=".pdf"])::after {
  margin: 0 2px;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20448%20512%22%20style%3D%22enable-background%3Anew%200%200%20448%20512%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M64%20464h32v48H64c-35.3%200-64-28.7-64-64V64C0%2028.7%2028.7%200%2064%200h165.5c17%200%2033.3%206.7%2045.3%2018.7l90.5%2090.5c12%2012%2018.7%2028.3%2018.7%2045.3V288h-48V160h-80c-17.7%200-32-14.3-32-32V48H64c-8.8%200-16%207.2-16%2016v384c0%208.8%207.2%2016%2016%2016zm96-112h24c30.9%200%2056%2025.1%2056%2056s-25.1%2056-56%2056h-8v32c0%208.8-7.2%2016-16%2016s-16-7.2-16-16V368c0-8.8%207.2-16%2016-16zm24%2080c13.3%200%2024-10.7%2024-24s-10.7-24-24-24h-8v48h8zm72-64c0-8.8%207.2-16%2016-16h24c26.5%200%2048%2021.5%2048%2048v64c0%2026.5-21.5%2048-48%2048h-24c-8.8%200-16-7.2-16-16V368zm32%20112h8c8.8%200%2016-7.2%2016-16v-64c0-8.8-7.2-16-16-16h-8v96zm96-128h48c8.8%200%2016%207.2%2016%2016s-7.2%2016-16%2016h-32v32h32c8.8%200%2016%207.2%2016%2016s-7.2%2016-16%2016h-32v48c0%208.8-7.2%2016-16%2016s-16-7.2-16-16V368c0-8.8%207.2-16%2016-16z%22%20style%3D%22fill%3A%23D72E35%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
}
a:where([href^="mailto"], [href^="https://twitter.com/"], [href^="https://x.com/"], [href^="https://www.facebook.com/"])::before {
  display: inline-block;
  width: 1em;
  height: 1em;
  content: "";
}
a:where([href^="mailto"], [href^="https://twitter.com/"], [href^="https://x.com/"], [href^="https://www.facebook.com/"])::after {
  display: none;
}
a:where([href^="mailto"])::before {
  margin: 0 2px 0 0;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%20style%3D%22enable-background%3Anew%200%200%20512%20512%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M64%20112c-8.8%200-16%207.2-16%2016v22.1l172.5%20141.6c20.7%2017%2050.4%2017%2071.1%200L464%20150.1V128c0-8.8-7.2-16-16-16H64zM48%20212.2V384c0%208.8%207.2%2016%2016%2016h384c8.8%200%2016-7.2%2016-16V212.2L322%20328.8c-38.4%2031.5-93.7%2031.5-132%200L48%20212.2zM0%20128c0-35.3%2028.7-64%2064-64h384c35.3%200%2064%2028.7%2064%2064v256c0%2035.3-28.7%2064-64%2064H64c-35.3%200-64-28.7-64-64V128z%22%20style%3D%22fill%3A%233698cc%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
  background-size: 90% auto;
  transform: translateY(2px);
}
a:where([href^="https://twitter.com/"], [href^="https://x.com/"])::before {
  margin: 0 0.25em 0 0;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201200%201227%22%3E%3Cpath%20d%3D%22M714.2%20519.3%201160.9%200H1055L667.1%20450.9%20357.3%200H0l468.5%20681.8L0%201226.4h105.9l409.6-476.2%20327.2%20476.2H1200L714.2%20519.3zm-145%20168.5-47.5-67.9L144%2079.7h162.6l304.8%20436%2047.5%2067.9%20396.2%20566.7H892.5L569.2%20687.8z%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
  background-size: contain;
  transform: translateY(2px);
}
a:where([href^="https://www.facebook.com/"])::before {
  margin: 0 0.25em 0 0;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%20style%3D%22enable-background%3Anew%200%200%20512%20512%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M504%20256C504%20119%20393%208%20256%208S8%20119%208%20256c0%20123.8%2090.7%20226.4%20209.2%20245V327.7h-63V256h63v-54.6c0-62.2%2037-96.5%2093.7-96.5%2027.1%200%2055.5%204.8%2055.5%204.8v61h-31.3c-30.8%200-40.4%2019.1-40.4%2038.7V256h68.8l-11%2071.7h-57.8V501C413.3%20482.4%20504%20379.8%20504%20256z%22%20style%3D%22fill%3A%231877f2%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
  background-size: contain;
  transform: translateY(2px);
}
/* レイアウト
============================================================ */
.l-wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
.l-wrapper.is-fixed {
  position: fixed;
  right: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .l-wrapper.is-fixed {
    overflow-y: scroll;
  }
}
.l-overlay {
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--z-overlay);
  display: none;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.65);
  backdrop-filter: blur(4px);
}
@media screen and (min-width: 768px) {
  .type-mobile .l-overlay::before, .type-mobile .l-overlay::after {
    position: absolute;
    color: #fff;
    opacity: 0.6;
  }
  .type-mobile .l-overlay::before {
    top: calc(var(--height-header-pc) + 10px);
    left: 10px;
    display: grid;
    justify-content: center;
    width: 35px;
    height: 35px;
    padding: 5px 0 0;
    font-size: 20px;
    color: #fff;
    content: "×";
    border: 1px solid #fff;
    border-radius: 20px;
  }
  .type-mobile .l-overlay::after {
    top: calc(var(--height-header-pc) + 50px);
    left: 10px;
    width: 4em;
    height: 1em;
    font-size: 10px;
    content: "CLOSE";
  }
}
/* メインエリア
---------------------------------------- */
.l-main {
  width: 100%;
  padding: var(--height-header-pc) 0 0;
}
@media screen and (max-width: 767px) {
  .l-main {
    padding: var(--height-header-sp) 0 0;
  }
}
.l-main.is-overflow {
  position: relative;
  overflow: hidden;
}
/* ヘッダー
---------------------------------------- */
.header {
  position: fixed;
  top: 0;
  z-index: var(--z-spmenu);
  width: 100%;
  height: var(--height-header-pc);
  background: #fff;
  transition: 0.3s;
}
.header.is-scroll {
  box-shadow: 0 0 8px #ededed;
  opacity: 0.95;
}
.type-pc .header.is-scroll:hover {
  opacity: 1;
}
.header.s-border {
  border-bottom: 2px solid var(--color-04);
}
.header-inner {
  display: flex;
  width: 100%;
  padding: 0 var(--pd-01);
  margin: 0 auto;
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .header-inner {
    padding: 0 var(--pd-02);
    font-size: 14px;
  }
}
@media screen and (min-width: 768px) {
  .header.is-scroll {
    height: 70px;
  }
  .header.is-scroll .menu-list-link {
    height: 70px;
  }
  .header.is-scroll .menu-secondary {
    top: 70px;
  }
  .header-inner {
    align-items: center;
    justify-content: space-between;
  }
}
@media screen and (max-width: 767px) {
  .header {
    height: var(--height-header-sp);
  }
  .header-inner {
    min-width: 320px;
    padding: 0;
  }
}
/* --- pc時メニュー ------------------- */
.menu-list-link {
  position: relative;
  padding: 0 30px;
  font-weight: bold;
  color: inherit;
  transition: height 0.3s, background 0.3s;
}
@media screen and (min-width: 1025px) {
  .menu-list:last-of-type .menu-secondary {
    right: -30px;
  }
}
@media screen and (max-width: 1024px) and (min-width: 768px) {
  .menu-list:last-of-type .menu-secondary {
    right: 0;
  }
  .menu-list-link {
    padding: 0 20px;
  }
}
@media screen and (min-width: 768px) {
  .menu-header {
    display: flex;
  }
  .menu-list {
    position: relative;
  }
  .menu-list::after {
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    content: "";
    background: var(--color-04);
    opacity: 0;
    transition: 0.5s;
  }
  .menu-list:last-of-type .menu-secondary {
    left: auto;
  }
  .menu-list.is-active::after {
    opacity: 1;
  }
  .menu-list-link {
    display: flex;
    align-items: center;
    height: var(--height-header-pc);
  }
}
@media screen and (max-width: 767px) {
  .menu-list {
    width: 100%;
  }
  .menu-list:nth-of-type(n+2) {
    margin: 0.5em 0 0;
  }
  .menu-list-link {
    position: relative;
    display: block;
    padding: 20px 0;
    color: inherit;
    text-align: center;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 2px;
  }
  .type-pc .menu-list-link:hover {
    background: #d8eefa;
  }
  .menu-list-link:focus:not(:focus-visible) {
    outline: 0;
  }
  .menu-list-link:focus-visible {
    opacity: 0.8;
  }
  .menu-list-link::before, .menu-list-link::after {
    position: absolute;
    top: 50%;
    left: 20px;
    width: 12px;
    height: 1px;
    content: "";
    background: var(--color-01);
  }
  .menu-list-link::after {
    transition: 0.3s;
    transform: rotate(90deg);
  }
  .menu-list-link.is-active::after {
    transform: rotate(0);
  }
}
.menu-secondary {
  display: none;
}
@media screen and (min-width: 768px) {
  .menu-secondary {
    position: absolute;
    top: var(--height-header-pc);
    width: var(--width-menu-list);
    overflow-y: scroll;
    scrollbar-color: #ccc transparent;
    scrollbar-width: thin;
    background: #fff;
    border-radius: 0 0 2px 2px;
  }
  .header:not(.s-border) .menu-secondary {
    border-top: 1px solid #ddd;
  }
  .type-pc .menu-secondary.is-scroll {
    height: calc(100vh - var(--height-header-pc));
  }
  .menu-secondary::-webkit-scrollbar {
    width: 6px;
  }
  .menu-secondary::-webkit-scrollbar-thumb {
    background: #ccc;
  }
  .menu-secondary::-webkit-scrollbar-track {
    background: transparent;
  }
  .menu-secondary:not(.type-product) {
    left: 0;
  }
  .menu-secondary.type-product {
    width: min(100vw - 100px, var(--width-menu-list) * 6);
  }
  .menu-tertiary {
    display: grid;
    grid-template-rows: repeat(3, 1fr);
    grid-template-columns: repeat(5, 1fr);
    grid-gap: 0;
  }
  .menu-tertiary-item:nth-of-type(1) {
    grid-area: 1/1/4/2;
  }
  .menu-tertiary-item:nth-of-type(2) {
    grid-area: 1/2/4/5;
  }
  .menu-tertiary-item:nth-of-type(2) .menu-child-link-top {
    display: inline-block;
  }
  .menu-tertiary-item:nth-of-type(3) {
    grid-area: 1/5/2/6;
  }
  .menu-tertiary-item:nth-of-type(4) {
    grid-area: 2/5/3/6;
  }
  .menu-tertiary-item:nth-of-type(5) {
    grid-area: 3/5/4/6;
  }
  .menu-tertiary-item:nth-of-type(n+2) {
    border-left: 1px dotted #ccc;
  }
  .type-mobile .menu-tertiary {
    gap: 20px 5px;
  }
}
@media screen and (min-width: 768px) {
  .menu-tertiary-item:nth-of-type(2) ul {
    display: grid;
    grid-template-rows: repeat(9, auto);
    grid-auto-flow: column;
  }
}
@media screen and (max-width: 1024px) and (min-width: 768px) {
  .menu-secondary {
    font-size: 13px;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .menu-tertiary {
    grid-template-areas: "item1 item2 item2" "item3 item4 item5";
    grid-template-rows: repeat(2, auto);
    grid-template-columns: repeat(3, 1fr);
  }
  .menu-tertiary .menu-tertiary-item:nth-of-type(n+3) {
    border-top: 1px dotted #ccc;
  }
  .menu-tertiary .menu-tertiary-item:first-of-type {
    grid-area: item1;
  }
  .menu-tertiary .menu-tertiary-item:nth-of-type(2) {
    grid-area: item2;
  }
  .menu-tertiary .menu-tertiary-item:nth-of-type(3) {
    grid-area: item3;
    border-left: none;
  }
  .menu-tertiary .menu-tertiary-item:nth-of-type(4) {
    grid-area: item4;
  }
  .menu-tertiary .menu-tertiary-item:nth-of-type(5) {
    grid-area: item5;
  }
}
@media screen and (max-width: 767px) {
  .menu-tertiary-item + .menu-tertiary-item {
    margin: 15px 0 0;
  }
  .type-mobile .menu-tertiary-item + .menu-tertiary-item {
    margin: 10px 0 0;
    border-top: 1px dotted var(--color-03);
  }
}
@media screen and (min-width: 768px) {
  .type-mobile .menu-child-list + .menu-child-list {
    margin: 1px 0 0;
  }
}
:is(.menu-child-link-top, .menu-child-link) {
  display: block;
  padding: 18px 20px;
  line-height: 120%;
  color: inherit;
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  :is(.menu-child-link-top, .menu-child-link) {
    padding-block: 15px;
  }
}
@media screen and (min-width: 768px) {
  .type-pc :is(.menu-child-link-top, .menu-child-link):hover {
    background-color: #e2f5ff;
  }
}
@media screen and (max-width: 767px) {
  :is(.menu-child-link-top, .menu-child-link) {
    padding: 10px;
  }
  .type-mobile :is(.menu-child-link-top, .menu-child-link) {
    background: #fff;
    border: 1px dotted var(--color-03);
    border-top: none;
    border-radius: 2px;
  }
}
.type-mobile :is(.menu-child-link-top, .menu-child-link) {
  padding-block: 14px;
}
@media screen and (min-width: 768px) {
  .type-mobile :is(.menu-child-link-top, .menu-child-link) {
    padding-inline: 10px;
  }
}
.menu-child-link-top {
  font-weight: bold;
}
.menu-child-link-top::before {
  display: inline-block;
  width: 6px;
  height: 12px;
  margin: 0 4px 0 0;
  content: "";
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%209%2028%22%20style%3D%22enable-background%3Anew%200%200%209%2028%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M9%2014c0%20.3-.1.5-.3.7l-7%207c-.2.2-.4.3-.7.3-.5%200-1-.5-1-1V7c0-.5.5-1%201-1%20.3%200%20.5.1.7.3l7%207c.2.2.3.4.3.7z%22%20style%3D%22fill%3A%23adadad%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
  background-size: 6px auto;
}
.type-pc .menu-child-link:hover::after {
  margin: 1px 0 0 4px;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2015%2028%22%20style%3D%22enable-background%3Anew%200%200%2015%2028%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M9.3%2015c0%20.1-.1.3-.2.4l-7.3%207.3c-.1.1-.2.2-.4.2s-.3-.1-.4-.2l-.8-.8c-.1-.1-.2-.2-.2-.4s.1-.3.2-.4L6.5%2015%20.4%208.9c-.1-.1-.2-.3-.2-.4s.1-.3.2-.4l.8-.8c.1-.1.2-.2.4-.2s.3.1.4.2l7.3%207.3c-.1.1%200%20.3%200%20.4zm6%200c0%20.1-.1.3-.2.4l-7.3%207.3c-.1.1-.2.2-.4.2s-.3-.1-.4-.2l-.8-.8c-.1-.1-.2-.2-.2-.4s.1-.3.2-.4l6.1-6.1-5.9-6.1c-.1-.1-.2-.3-.2-.4s.1-.3.2-.4l.8-.8c.1-.1.2-.2.4-.2s.3.1.4.2l7.3%207.3c-.1.1%200%20.3%200%20.4z%22%20style%3D%22fill%3A%233698cc%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
  opacity: 1;
  transform: translateX(3px);
}
.menu-child-link::after {
  position: absolute;
  display: inline-block;
  width: 1em;
  height: 1em;
  content: "";
  opacity: 0;
  transition: 0.4s;
}
.menu-child-link[target="_blank"]::after {
  margin: -1px 0 0 4px;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2028%2028%22%20style%3D%22enable-background%3Anew%200%200%2028%2028%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M26%2025.5v-17c0-.3-.2-.5-.5-.5h-17c-.3%200-.5.2-.5.5v17c0%20.3.2.5.5.5h17c.3%200%20.5-.2.5-.5zm2-17v17c0%201.4-1.1%202.5-2.5%202.5h-17C7.1%2028%206%2026.9%206%2025.5v-17C6%207.1%207.1%206%208.5%206h17C26.9%206%2028%207.1%2028%208.5zm-6-6V5h-2V2.5c0-.3-.2-.5-.5-.5h-17c-.3%200-.5.2-.5.5v17c0%20.3.2.5.5.5H5v2H2.5C1.1%2022%200%2020.9%200%2019.5v-17C0%201.1%201.1%200%202.5%200h17C20.9%200%2022%201.1%2022%202.5z%22%20style%3D%22fill%3A%23333%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
  opacity: 1;
}
_::-webkit-full-page-media, _:future, :root .type-pc .menu-child-link:hover {
  color: var(--color-04);
}
_::-webkit-full-page-media, _:future, :root .type-pc .menu-child-link:not([target="_blank"]):hover::after {
  display: none;
}
_::-webkit-full-page-media, _:future, :root .type-pc .menu-child-link[target="_blank"]::after {
  -webkit-transition: none;
  transition: none;
}
_::-webkit-full-page-media, _:future, :root .type-pc .menu-child-link[target="_blank"]:hover::after {
  margin: 1px 0 0 4px;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2028%2028%22%20style%3D%22enable-background%3Anew%200%200%2028%2028%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M26%2025.5v-17c0-.3-.2-.5-.5-.5h-17c-.3%200-.5.2-.5.5v17c0%20.3.2.5.5.5h17c.3%200%20.5-.2.5-.5zm2-17v17c0%201.4-1.1%202.5-2.5%202.5h-17C7.1%2028%206%2026.9%206%2025.5v-17C6%207.1%207.1%206%208.5%206h17C26.9%206%2028%207.1%2028%208.5zm-6-6V5h-2V2.5c0-.3-.2-.5-.5-.5h-17c-.3%200-.5.2-.5.5v17c0%20.3.2.5.5.5H5v2H2.5C1.1%2022%200%2020.9%200%2019.5v-17C0%201.1%201.1%200%202.5%200h17C20.9%200%2022%201.1%2022%202.5z%22%20style%3D%22fill%3A%23333%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
  transform: none;
}
/* --- sp時メニュー ------------------- */
@media screen and (max-width: 767px) {
  .nav-global {
    position: fixed;
    top: 0;
    right: 0;
    z-index: var(--z-menubg);
    display: none;
    width: 100%;
    height: 100vh;
    padding: 80px 0;
    background: rgba(255, 255, 255, 0.95);
    transition: all 0.3s;
  }
}
.nav-global.is-visible {
  overflow-y: scroll;
}
@media screen and (max-width: 767px) {
  .menu-header {
    width: 100%;
    max-width: 300px;
    margin: 0 auto;
  }
}
/* --- メニュー開閉ボタン ------------------- */
.btn-menu {
  display: none;
}
@media screen and (max-width: 767px) {
  .btn-menu {
    position: absolute;
    top: 9px;
    right: 9px;
    z-index: var(--z-menubtn);
    display: flex;
    width: 38px;
    height: 38px;
    background: #fff;
    border-radius: 2px;
    transition: none;
  }
  .btn-menu:hover {
    cursor: pointer;
  }
}
.btn-menu::after {
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 38px;
  font-size: 10px;
  color: var(--color-01);
  text-align: center;
  content: "MENU";
}
.type-pc .btn-menu.is-active {
  right: 26px;
}
_::-webkit-full-page-media, _:future, :root .type-pc .btn-menu.is-active {
  right: 9px;
}
.btn-menu.is-active {
  background: var(--color-07);
}
.btn-menu.is-active::after {
  content: "CLOSE";
}
/* --- ハンバーガーライン ------------------- */
.type-pc .btn-menu:not(.is-active):hover .line-menubtn-top {
  top: 13px;
}
.type-pc .btn-menu:not(.is-active):hover .line-menubtn-bottom {
  top: 23px;
}
.btn-menu.is-active .line-menubtn-top {
  top: 48%;
  transform: translateY(0) scale(0);
}
.btn-menu.is-active .line-menubtn-middle::before {
  transform: rotate(45deg);
}
.btn-menu.is-active .line-menubtn-middle::after {
  transform: rotate(-45deg);
}
.btn-menu.is-active .line-menubtn-bottom {
  top: 48%;
  transform: translateY(0) scale(0);
}
.line-menubtn {
  position: absolute;
  left: 9px;
  display: block;
  width: 20px;
  height: 2px;
  background: #333;
  border-radius: 2px;
  transition: 0.2s linear;
}
.line-menubtn-top {
  top: 12px;
  transform: scale(1);
}
.line-menubtn-middle {
  top: 18px;
  background: none;
}
.line-menubtn-middle::before, .line-menubtn-middle::after {
  position: absolute;
  display: block;
  width: 20px;
  height: 2px;
  content: "";
  background: #333;
  transition: 0.2s linear;
  transform: rotate(0);
}
.line-menubtn-bottom {
  top: 24px;
  transform: scale(1);
}
/* フッター
---------------------------------------- */
.footer {
  position: relative;
  z-index: var(--z-footer);
  margin-top: auto;
  background: #666;
}
.footer-inner {
  width: 100%;
  max-width: var(--width-01);
  padding: 80px var(--pd-01) 20px;
  margin: 0 auto;
  color: #fff;
}
.footer-body {
  margin: 20px 0 0 80px;
}
.footer-menu {
  display: flex;
  flex-wrap: wrap;
}
.footer-menu + .footer-menu {
  margin: 40px 0 0;
}
.footer-menu-link {
  position: relative;
  padding: 0 0 0 10px;
  line-height: 150%;
  color: #fff;
}
.type-pc .footer-menu-link:hover::before {
  left: -6px;
  width: 12px;
  height: 12px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2028%22%20style%3D%22enable-background%3Anew%200%200%2024%2028%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M24%2014c0%206.6-5.4%2012-12%2012S0%2020.6%200%2014%205.4%202%2012%202s12%205.4%2012%2012z%22%20style%3D%22fill%3A%233698CC%22%2F%3E%3C%2Fsvg%3E");
  background-size: 12px auto;
}
.footer-menu-link::before {
  position: absolute;
  top: 4px;
  left: 0;
  width: 6px;
  height: 12px;
  content: "";
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%209%2028%22%20style%3D%22enable-background%3Anew%200%200%209%2028%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M9.3%2015c0%20.1-.1.3-.2.4l-7.3%207.3c-.1.1-.2.2-.4.2s-.3-.1-.4-.2l-.8-.8c-.1-.1-.2-.2-.2-.4%200-.1.1-.3.2-.4L6.5%2015%20.4%208.9c-.1-.1-.2-.3-.2-.4s.1-.3.2-.4l.8-.8c.1-.1.2-.2.4-.2s.3.1.4.2l7.3%207.3c-.1.1%200%20.3%200%20.4z%22%20style%3D%22fill%3A%23fff%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
  background-size: 6px auto;
  transition: 0.5s;
}
.footer-menu-link[target="_blank"]::after {
  display: none;
}
.footer-sns {
  display: flex;
  gap: 15px;
  align-items: center;
  margin: 40px 0 0;
  opacity: 0.8;
}
.type-mobile .footer-sns {
  gap: 20px;
}
.footer-sns-link {
  display: block;
  display: grid;
  place-content: center;
  width: 44px;
  height: 44px;
}
.footer-sns-icon {
  fill: #fff;
}
.type-mobile .footer-sns-link.type-youtube {
  width: 48px;
  height: 48px;
}
.type-mobile .footer-sns-link.type-youtube svg {
  width: 48px;
  height: 48px;
}
.type-mobile .footer-sns-link.type-facebook svg {
  width: 40px;
  height: 40px;
}
.type-mobile .footer-sns-link.type-twitter svg {
  width: 36px;
  height: 36px;
}
.type-mobile .footer-sns-link.type-instagram svg {
  width: 40px;
  height: 40px;
}
.footer-sns-link.type-note svg {
  border: 1px solid #fff;
  border-radius: 5px;
}
.type-mobile .footer-sns-link.type-note svg {
  width: 40px;
  height: 40px;
}
.footer-sns-link::before, .footer-sns-link::after {
  display: none;
}
.footer-copyrighy {
  margin: 80px 0 0;
  font-size: 12px;
  line-height: 150%;
  color: var(--color-05);
  text-align: center;
}
_::-webkit-full-page-media, _:future, :root .type-pc .footer-menu-link:hover {
  text-decoration: underline;
}
_::-webkit-full-page-media, _:future, :root .type-pc .footer-menu-link:hover::before {
  top: 4px;
  left: 0;
  width: 6px;
  height: 12px;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%209%2028%22%20style%3D%22enable-background%3Anew%200%200%209%2028%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M9.3%2015c0%20.1-.1.3-.2.4l-7.3%207.3c-.1.1-.2.2-.4.2s-.3-.1-.4-.2l-.8-.8c-.1-.1-.2-.2-.2-.4%200-.1.1-.3.2-.4L6.5%2015%20.4%208.9c-.1-.1-.2-.3-.2-.4s.1-.3.2-.4l.8-.8c.1-.1.2-.2.4-.2s.3.1.4.2l7.3%207.3c-.1.1%200%20.3%200%20.4z%22%20style%3D%22fill%3A%23fff%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
  background-size: 6px auto;
}
@media screen and (min-width: 1025px) {
  .footer-contents {
    display: flex;
    align-items: flex-start;
  }
}
@media screen and (max-width: 1024px) {
  .footer-body {
    margin: 40px 0 0;
  }
}
@media screen and (min-width: 768px) {
  .footer-menu-list:not(:last-of-type) {
    margin: 0 2em 0 0;
  }
}
@media screen and (max-width: 767px) {
  .footer {
    min-width: auto;
  }
  .footer-inner {
    padding: 40px var(--pd-02) 20px;
  }
  .footer-menu {
    flex-direction: column;
  }
  .footer-menu + .footer-menu {
    margin: 30px 0 0;
  }
  .footer-menu-list:nth-of-type(n+2) {
    margin: 30px 0 0;
  }
  .footer-copyrighy {
    margin: 80px 0 0;
  }
}
.btn-to-top {
  position: fixed;
  right: calc(var(--pd-01) / 2);
  bottom: calc(var(--pd-01) / 2);
  z-index: var(--z-btn-to-top);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s linear;
}
@media screen and (max-width: 767px) {
  .btn-to-top {
    right: calc(var(--pd-02) / 2);
    bottom: calc(var(--pd-02) / 2);
  }
}
.btn-to-top.is-visible {
  pointer-events: auto;
  opacity: 1;
}
.link-to-top {
  position: relative;
  display: flex;
  justify-content: center;
  width: 80px;
  height: 80px;
  padding: 10px 0 0;
  color: inherit;
  background: rgba(255, 255, 255, 0.4);
  border-radius: 10px;
  transition: 0.2s linear;
}
.type-pc .link-to-top:hover {
  background: rgba(255, 255, 255, 0.9);
}
.type-pc .link-to-top:hover::before, .type-pc .link-to-top:hover::after {
  background: var(--color-04);
}
.link-to-top::before, .link-to-top::after {
  position: absolute;
  top: 30px;
  left: 50%;
  display: inline-block;
  width: 1px;
  content: "";
  background: var(--color-01);
  transition: 0.2s linear;
}
.link-to-top::before {
  height: 60px;
}
.link-to-top::after {
  height: 25px;
  transform: rotate(20deg);
  transform-origin: top left;
}
@media screen and (max-width: 767px) {
  .link-to-top {
    width: 60px;
    height: 60px;
    font-size: 12px;
  }
  .link-to-top::before {
    top: 30px;
    height: 35px;
  }
  .link-to-top::after {
    top: 30px;
    height: 15px;
  }
}
.search-wrap {
  display: grid;
  grid-template-columns: auto 50px;
  max-width: 350px;
}
input.search-input {
  max-width: 350px;
  color: var(--color-01);
  background: #fff;
  background-size: 20px auto;
  border: 2px solid #ddd;
  border-right: none;
  border-radius: 2px 0 0 2px;
}
input.search-input:-webkit-autofill {
  box-shadow: 0 0 0 1000px #fff inset;
}
.search-btn {
  display: grid;
  place-content: center;
  margin-left: 0;
  background: #aaa;
  border-radius: 0 2px 2px 0;
}
.type-pc .search-btn:hover {
  filter: brightness(1.1);
}
.search-keyword-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 10px 0 0;
}
.search-keyword-btn {
  padding: 5px 0.5em;
  border: 1px solid var(--color-02);
  border-radius: 2px;
}
.type-pc .search-keyword-btn:hover {
  color: #666;
  background: var(--color-02);
}
.search-list {
  margin: 2em 0 0;
}
.search-item {
  display: grid;
  grid-template-columns: 100px auto;
  gap: 24px;
  padding: 1.5em 0;
  word-break: break-all;
  border-bottom: 1px solid var(--color-05);
}
.search-item:first-of-type {
  border-top: 1px solid var(--color-05);
}
@media screen and (max-width: 767px) {
  .search-item {
    grid-template-columns: auto;
    gap: 12px;
  }
}
.search-thumb a::after {
  display: none;
}
.search-date {
  display: inline-block;
  margin-right: 10px;
  font-size: 77%;
  color: #aaa;
}
.search-dest.is-alert {
  color: #c00;
}
.search-notice {
  margin: 10px 0 0;
  font-size: 88%;
  color: #ffb5b5;
}
/* サイトポリシー同意
---------------------------------------- */
.cookie-wrapper {
  position: fixed;
  bottom: 0;
  z-index: var(--z-policy);
  width: 100%;
  height: 0;
  visibility: hidden;
  background: rgba(0, 0, 0, 0.7);
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
}
.cookie-wrapper.is-visible {
  height: auto;
  visibility: visible;
}
.cookie-inner {
  display: flex;
  max-width: calc(1200px + var(--pd-01) * 2);
  padding: 1em var(--pd-01);
  margin: 0 auto;
  color: #fff;
}
.cookie-text {
  line-height: 180%;
}
.cookie-link {
  color: inherit;
  text-decoration: underline;
}
.type-pc .cookie-link:hover {
  text-decoration: none;
}
.btn-cookie {
  width: 80px;
  padding: 0.5em 1em;
  background: var(--color-04);
  border-radius: 2px;
}
.type-pc .btn-cookie:hover {
  opacity: 0.8;
}
@media screen and (min-width: 1024px) {
  .cookie-br {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .cookie-inner {
    align-items: center;
    justify-content: space-between;
  }
  .cookie-text {
    width: calc(100% - 80px);
    padding: 0 20px 0 0;
  }
}
@media screen and (max-width: 767px) {
  .cookie-inner {
    flex-direction: column;
    padding: 1em var(--pd-02);
  }
  .btn-cookie {
    align-self: flex-end;
  }
  .type-mobile .btn-cookie {
    padding: 1em;
  }
}
/* トップページ
============================================================ */
.sec-first {
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.top-cmn-inner {
  width: 100%;
  max-width: var(--width-01);
  padding: 160px var(--pd-01);
  margin: 0 auto;
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .top-cmn-inner {
    padding: 80px var(--pd-01);
  }
}
@media screen and (max-width: 767px) {
  .top-cmn-inner {
    padding: 80px var(--pd-02);
  }
}
/* 動画
---------------------------------------- */
.movie-contents {
  position: relative;
  width: 100%;
}
.is-landscape .movie-contents {
  transform: none !important;
}
#video {
  width: 100%;
}
@media screen and (max-width: 767px) {
  #video {
    width: auto;
    height: calc(100vh - var(--height-header-sp));
    transform: translateX(-30%);
  }
  .is-landscape #video {
    width: 100%;
    height: auto;
    transform: none;
  }
}
/* メインコピー
---------------------------------------- */
.maincopy {
  position: absolute;
  top: calc((100vh - var(--height-header-pc)) / 2);
  left: 50%;
  z-index: var(--z-maincopy);
  width: 100%;
  max-width: 630px;
  color: #fff;
  text-shadow: 2px 2px 10px rgba(255, 255, 255, 0.5), -2px 2px 10px rgba(255, 255, 255, 0.5), 2px -2px 10px rgba(255, 255, 255, 0.5), -2px -2px 10px rgba(255, 255, 255, 0.5);
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 1350px) and (min-width: 768px) {
  .maincopy {
    top: 30%;
  }
}
@media screen and (max-width: 767px) {
  .maincopy {
    inset: auto 0 180px auto;
    padding: 0 var(--pd-02);
    transform: none;
  }
  .is-landscape .maincopy {
    top: 10px;
    bottom: auto;
  }
}
.maincopy-head {
  font-size: 68px;
  font-weight: normal;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .maincopy-head {
    font-size: 36px;
    text-align: left;
  }
}
.maincopy-head img {
  max-width: 75%;
}
.maincopy-body {
  margin: 36px 0 0;
  font-size: 18px;
  line-height: 235%;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .maincopy-head img {
    max-width: 90%;
  }
  .maincopy-body {
    margin: 5px 0 0;
    font-size: 14px;
    line-height: 150%;
    text-align: left;
  }
}
/* スクロールダウン
---------------------------------------- */
.scrolldown {
  position: absolute;
  top: calc(100vh - (var(--height-header-pc) + 50px + 20px));
  left: 50%;
  z-index: var(--z-scrolldown);
  height: 50px;
  opacity: 1;
  transition: 0.5s;
}
.scrolldown.is-bottom {
  top: auto;
  bottom: 80px;
}
.scrolldown.is-hidden {
  opacity: 0;
}
.scrolldown-txt {
  position: absolute;
  top: -15px;
  left: -15px;
  font-size: 0.7rem;
  color: #eee;
  text-shadow: 0 0 3px #666;
  letter-spacing: 0.05em;
}
.scrolldown::before {
  position: absolute;
  top: -15px;
  left: -15px;
  font-size: 0.7rem;
  color: #eee;
  text-shadow: 0 0 3px #666;
  letter-spacing: 0.05em;
  content: "Scroll";
}
.scrolldown::after {
  position: absolute;
  top: 0;
  width: 1px;
  height: 30px;
  content: "";
  background: #eee;
  opacity: 0;
  animation: pathmove 1.4s ease-in-out infinite;
}
@keyframes pathmove {
  0% {
    top: 0;
    height: 0;
    opacity: 0;
  }
  30% {
    height: 30px;
    opacity: 1;
  }
  100% {
    top: 50px;
    height: 0;
    opacity: 0;
  }
}
.top-contents {
  position: relative;
  z-index: var(--z-top-contents);
  background: #fff;
}
.sec-top:nth-child(odd) {
  background: var(--color-02);
}
/* company
---------------------------------------- */
.top-company-inner {
  width: 100%;
  max-width: calc(1280px + var(--pd-01) * 2);
  padding: 160px var(--pd-01);
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .top-company-inner {
    display: flex;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .top-company-inner {
    padding: 80px var(--pd-01);
  }
}
@media screen and (max-width: 767px) {
  .top-company-inner {
    padding: 80px 0;
  }
}
@media screen and (min-width: 768px) {
  .top-company-img {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .top-company-img {
    display: block;
    margin: 0 var(--pd-02) 0 0;
    overflow: hidden;
    border-radius: 0 12px 12px 0;
  }
  .top-company-img img {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .top-company-detail {
    width: 50%;
  }
}
@media screen and (min-width: 768px) {
  .top-company-detail {
    padding: 160px 0 0 80px;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .top-company-detail {
    padding: 40px 0 0 40px;
  }
}
@media screen and (max-width: 767px) {
  .top-company-detail {
    padding: 80px var(--pd-02) 0;
  }
}
.top-company-detail-head {
  position: relative;
}
@media screen and (max-width: 767px) {
  .top-company-detail-head {
    padding: 0 0 0 60px;
  }
}
.top-company-detail-head::before {
  position: absolute;
  top: 50%;
  left: -25%;
  width: 20%;
  height: 1px;
  content: "";
  background: var(--color-01);
}
@media screen and (max-width: 767px) {
  .top-company-detail-head::before {
    left: 0;
    width: 40px;
  }
}
@media screen and (max-width: 767px) {
  .top-company-detail-head img {
    width: 256px;
  }
}
.top-company-detail-body {
  margin: 90px 0 0;
  font-size: 18px;
  line-height: 200%;
}
@media screen and (max-width: 767px) {
  .top-company-detail-body {
    margin: 40px 0 0;
  }
}
.top-company-detail-link {
  margin: 82px 0 0;
}
/* お知らせ
---------------------------------------- */
.top-news-inner {
  width: 100%;
  max-width: var(--width-01);
  padding: 124px var(--pd-01) 198px;
  margin: 0 auto;
}
@media screen and (min-width: 1024px) {
  .top-news-inner {
    display: flex;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .top-news-inner {
    padding: 80px var(--pd-01) 100px;
  }
}
@media screen and (max-width: 767px) {
  .top-news-inner {
    padding: 80px var(--pd-02);
  }
}
@media screen and (min-width: 1024px) {
  .top-news-head {
    width: min(40%, 480px);
  }
}
@media screen and (max-width: 1023px) {
  .top-news-head {
    max-width: 480px;
  }
}
.top-news-ttl {
  padding: 0 0 40px;
  margin: 0;
  border-bottom: 2px solid var(--color-04);
}
@media screen and (max-width: 767px) {
  .top-news-ttl {
    padding: 0 0 20px;
  }
}
.top-news-link {
  margin: 40px 0 0;
}
@media screen and (max-width: 767px) {
  .top-news-link {
    margin: 20px 0 0;
  }
}
@media screen and (min-width: 1024px) {
  .top-news-body {
    width: max(60%, 100% - 480px);
    padding: 18px 0 0 80px;
  }
}
@media screen and (max-width: 1023px) {
  .top-news-body {
    margin: 40px 0 0;
  }
}
.top-news-list {
  border-image-source: linear-gradient(0deg, var(--color-05) 1px, transparent 0);
  border-image-slice: 0 fill;
  border-image-outset: 0 100vw 0 0;
}
.top-news-list-link {
  padding: 50px 0;
  line-height: 150%;
  color: inherit;
  border-bottom: 1px solid transparent;
}
@media screen and (min-width: 768px) {
  .top-news-list-link {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (max-width: 767px) {
  .top-news-list-link {
    display: block;
    padding: 20px 0;
  }
}
.type-pc .top-news-list-link:hover {
  border-image-source: linear-gradient(0deg, var(--color-05) 0, var(--color-02) 0, var(--color-02));
  border-image-slice: 0 fill;
  border-image-outset: 0 100vw 0 0;
}
.type-pc .top-news-list-link:hover .top-news-list-ttl::after {
  opacity: 1;
  transform: translateX(5px);
}
.top-news-list-date {
  color: var(--color-06);
}
@media screen and (min-width: 768px) {
  .top-news-list-date {
    width: 7em;
  }
}
.top-news-list-ttl {
  position: relative;
  font-size: 18px;
}
@media screen and (min-width: 768px) {
  .top-news-list-ttl {
    width: calc(100% - 7rem);
    padding: 0 0 0 40px;
  }
}
@media screen and (max-width: 767px) {
  .top-news-list-ttl {
    padding: 0 20px 0 0;
  }
}
.top-news-list-ttl::after {
  position: absolute;
  top: calc(50% - 0.5em);
  right: -10px;
  display: inline-block;
  width: 1em;
  height: 1em;
  content: "";
  background: transparent url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2015%2028%22%20style%3D%22enable-background%3Anew%200%200%2015%2028%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M9.3%2015c0%20.1-.1.3-.2.4l-7.3%207.3c-.1.1-.2.2-.4.2s-.3-.1-.4-.2l-.8-.8c-.1-.1-.2-.2-.2-.4s.1-.3.2-.4L6.5%2015%20.4%208.9c-.1-.1-.2-.3-.2-.4s.1-.3.2-.4l.8-.8c.1-.1.2-.2.4-.2s.3.1.4.2l7.3%207.3c-.1.1%200%20.3%200%20.4zm6%200c0%20.1-.1.3-.2.4l-7.3%207.3c-.1.1-.2.2-.4.2s-.3-.1-.4-.2l-.8-.8c-.1-.1-.2-.2-.2-.4s.1-.3.2-.4l6.1-6.1-5.9-6.1c-.1-.1-.2-.3-.2-.4s.1-.3.2-.4l.8-.8c.1-.1.2-.2.4-.2s.3.1.4.2l7.3%207.3c-.1.1%200%20.3%200%20.4z%22%20style%3D%22fill%3A%233698cc%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
  opacity: 0;
  transition: 0.5s;
}
@media screen and (max-width: 767px) {
  .top-news-list-ttl::after {
    right: 0;
  }
}
/* 製品・サービス
---------------------------------------- */
@media screen and (min-width: 768px) {
  .top-product-inner {
    display: flex;
  }
}
.top-product-img {
  position: relative;
}
@media screen and (min-width: 768px) {
  .top-product-img {
    display: flex;
    justify-content: flex-end;
    width: 47%;
    margin: 70px 0 0;
  }
}
@media screen and (max-width: 767px) {
  .top-product-img {
    display: none;
  }
}
.top-product-img-item {
  position: absolute;
}
.top-product-img-item:nth-of-type(n+2) {
  display: none;
}
@media screen and (min-width: 768px) {
  .top-product-detail {
    width: 53%;
    padding: 0 0 0 80px;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .top-product-detail {
    padding: 0 0 0 40px;
  }
}
.top-product-ttl {
  margin: 0;
}
.top-product-body {
  margin: 80px 0 0;
}
.top-product-list {
  border-bottom: 1px solid var(--color-05);
}
.top-product-list:first-of-type {
  border-top: 1px solid var(--color-05);
}
.top-product-list-link {
  position: relative;
  z-index: 5;
  display: block;
  padding: 35px 70px 35px 0;
  line-height: 120%;
  color: inherit;
}
.type-pc .top-product-list-link {
  padding-right: 170px;
}
.type-pc .top-product-list-link:hover::after {
  opacity: 1;
  transform: translateX(5px);
}
.top-product-list-link::after {
  position: absolute;
  top: calc(50% - 0.5em);
  right: 75px;
  z-index: 1;
  width: 5em;
  height: auto;
  margin: 0;
  font-size: 16px;
  font-weight: normal;
  line-height: 120%;
  color: var(--color-04);
  content: "詳細を見る";
  background: transparent;
  opacity: 0;
  transition: 0.5s;
  transform: translate(0);
}
.top-product-list-ttl {
  position: relative;
  font-size: 22px;
  font-weight: bold;
  cursor: pointer;
}
.top-product-list-ttl::before, .top-product-list-ttl::after {
  position: absolute;
  top: calc(50% - 30px);
  right: 0;
  width: 60px;
  height: 60px;
  content: "";
  border-radius: 10px;
}
.top-product-list-ttl::before {
  background: #fff;
}
.top-product-list-ttl::after {
  background: var(--color-04) url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%209%2028%22%20style%3D%22enable-background%3Anew%200%200%209%2028%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M9.3%2015c0%20.1-.1.3-.2.4l-7.3%207.3c-.1.1-.2.2-.4.2s-.3-.1-.4-.2l-.8-.8c-.1-.1-.2-.2-.2-.4%200-.1.1-.3.2-.4L6.5%2015%20.4%208.9c-.1-.1-.2-.3-.2-.4s.1-.3.2-.4l.8-.8c.1-.1.2-.2.4-.2s.3.1.4.2l7.3%207.3c-.1.1%200%20.3%200%20.4z%22%20style%3D%22fill%3A%23fff%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
  background-size: 10px auto;
  transition: 0.5s;
  transform: scale(0.1);
}
.type-mobile .top-product-list-ttl::after {
  background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%209%2028%22%20style%3D%22enable-background%3Anew%200%200%209%2028%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M9.3%2015c0%20.1-.1.3-.2.4l-7.3%207.3c-.1.1-.2.2-.4.2s-.3-.1-.4-.2l-.8-.8c-.1-.1-.2-.2-.2-.4%200-.1.1-.3.2-.4L6.5%2015%20.4%208.9c-.1-.1-.2-.3-.2-.4s.1-.3.2-.4l.8-.8c.1-.1.2-.2.4-.2s.3.1.4.2l7.3%207.3c-.1.1%200%20.3%200%20.4z%22%20style%3D%22fill%3A%233698CC%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
  background-size: 10px auto;
  transition: none;
  transform: scale(1);
}
.top-product-list-ttl.is-active::after {
  transform: scale(1);
}
.top-product-list-txt {
  display: none;
  padding: 1em 0;
  font-size: 18px;
  line-height: 180%;
}
.top-product-link {
  margin: 40px 0 0;
}
/* DIGITAL × ANALOG
---------------------------------------- */
.top-about-detail {
  display: flex;
  margin: 80px 0 0;
}
@media screen and (max-width: 768px) {
  .top-about-detail {
    flex-direction: column-reverse;
    margin: 40px 0 0;
  }
}
@media screen and (min-width: 769px) {
  .top-about-body {
    width: 50%;
    padding: 0 60px 0 0;
  }
}
@media screen and (max-width: 768px) {
  .top-about-body {
    margin: 20px 0 0;
  }
}
.top-about-txt {
  font-size: 18px;
  line-height: 180%;
}
@media screen and (max-width: 768px) {
  .top-about-txt + .top-about-txt {
    margin: 1em 0 0;
  }
}
@media screen and (min-width: 769px) {
  .top-about-movie {
    width: 50%;
  }
}
.top-about-banners {
  display: flex;
  gap: 37px;
}
@media screen and (max-width: 768px) {
  .top-about-banners {
    flex-direction: column;
    gap: 20px;
    max-width: 482px;
    margin-inline: auto;
  }
}
@media screen and (min-width: 769px) {
  .top-about-banners-list {
    width: calc((100% - 74px) / 3);
  }
}
.top-about-banners-link {
  position: relative;
  z-index: 1;
  box-sizing: content-box;
  display: block;
  aspect-ratio: 2/1;
  overflow: hidden;
  border: 1px solid var(--color-02);
  border-radius: 2px;
}
.type-pc .top-about-banners-link:hover img {
  opacity: 1;
  transform: scale(1.1);
}
.top-about-banners-link::after {
  display: none;
}
.top-about-banners-link img {
  transition: 0.5s;
}
/* 下層ページ
============================================================ */
.ttl-article {
  width: 100%;
  max-width: var(--width-01);
  padding: 0 var(--pd-01);
  margin: 60px auto 0;
}
@media screen and (max-width: 767px) {
  .ttl-article {
    padding: 0 var(--pd-02);
  }
}
.l-contents {
  width: 100%;
  max-width: calc(1200px + var(--pd-01) * 2);
  padding: 0 var(--pd-01) 160px;
  margin: 60px auto 0;
  line-height: 180%;
}
@media screen and (max-width: 767px) {
  .l-contents {
    padding: 0 var(--pd-02) 80px;
  }
}
.type-pc :where(.l-contents) a:hover {
  text-decoration: underline;
}
/* 2カラムレイアウト
---------------------------------------- */
.l-column2 {
  display: flex;
  flex-direction: row-reverse;
  width: 100%;
}
@media screen and (max-width: 1023px) {
  .l-column2 {
    flex-direction: column-reverse;
  }
}
@media screen and (min-width: 1024px) {
  .l-column2-body {
    width: calc(100% - 320px);
    padding: 0 0 0 80px;
  }
}
/* ローカルナビ
---------------------------------------- */
@media screen and (min-width: 1024px) {
  .nav-local {
    width: 320px;
  }
}
@media screen and (max-width: 1023px) {
  .nav-local {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .menu-local {
    position: sticky;
    top: calc(50% - 225px);
    left: 0;
    z-index: 1;
  }
}
@media screen and (min-width: 1025px) and (max-height: 680px) {
  .menu-local {
    top: calc(50% - 145px);
  }
}
.menu-local-list {
  padding: 0;
  border-bottom: 1px solid var(--color-05);
}
.menu-local-list::before {
  display: none;
}
.menu-local-list:first-of-type {
  border-top: 1px solid var(--color-05);
}
.menu-local-link {
  position: relative;
  display: block;
  padding: 40px 60px 40px 0;
  font-size: 20px;
  font-weight: bold;
  line-height: 150%;
  color: inherit;
}
@media screen and (min-width: 1025px) and (max-height: 680px) {
  .menu-local-link {
    padding-top: 25px;
    padding-bottom: 25px;
  }
}
.menu-local-link::before {
  position: absolute;
  top: calc(50% - 30px);
  right: 0;
  width: 60px;
  height: 60px;
  content: "";
  background: var(--color-03) url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%209%2028%22%20style%3D%22enable-background%3Anew%200%200%209%2028%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M9.3%2015c0%20.1-.1.3-.2.4l-7.3%207.3c-.1.1-.2.2-.4.2s-.3-.1-.4-.2l-.8-.8c-.1-.1-.2-.2-.2-.4%200-.1.1-.3.2-.4L6.5%2015%20.4%208.9c-.1-.1-.2-.3-.2-.4s.1-.3.2-.4l.8-.8c.1-.1.2-.2.4-.2s.3.1.4.2l7.3%207.3c-.1.1%200%20.3%200%20.4z%22%20style%3D%22fill%3A%233698cc%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
  background-size: 10px auto;
  border-radius: 10px;
  transition: 0.5s;
}
.menu-local-link[target="_blank"]::after {
  margin: 0 0 0 5px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2028%2028%22%20style%3D%22enable-background%3Anew%200%200%2028%2028%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M26%2025.5v-17c0-.3-.2-.5-.5-.5h-17c-.3%200-.5.2-.5.5v17c0%20.3.2.5.5.5h17c.3%200%20.5-.2.5-.5zm2-17v17c0%201.4-1.1%202.5-2.5%202.5h-17C7.1%2028%206%2026.9%206%2025.5v-17C6%207.1%207.1%206%208.5%206h17C26.9%206%2028%207.1%2028%208.5zm-6-6V5h-2V2.5c0-.3-.2-.5-.5-.5h-17c-.3%200-.5.2-.5.5v17c0%20.3.2.5.5.5H5v2H2.5C1.1%2022%200%2020.9%200%2019.5v-17C0%201.1%201.1%200%202.5%200h17C20.9%200%2022%201.1%2022%202.5z%22%20style%3D%22fill%3A%23333%22%2F%3E%3C%2Fsvg%3E");
}
.type-pc .menu-local-link:hover {
  text-decoration: none;
}
.type-pc .menu-local-link:hover::before {
  background: var(--color-04) url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%209%2028%22%20style%3D%22enable-background%3Anew%200%200%209%2028%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M9.3%2015c0%20.1-.1.3-.2.4l-7.3%207.3c-.1.1-.2.2-.4.2s-.3-.1-.4-.2l-.8-.8c-.1-.1-.2-.2-.2-.4%200-.1.1-.3.2-.4L6.5%2015%20.4%208.9c-.1-.1-.2-.3-.2-.4s.1-.3.2-.4l.8-.8c.1-.1.2-.2.4-.2s.3.1.4.2l7.3%207.3c-.1.1%200%20.3%200%20.4z%22%20style%3D%22fill%3A%23fff%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
  background-size: 10px auto;
}
_::-webkit-full-page-media, _:future, :root .type-pc .menu-local-link:hover::before {
  background: var(--color-05) url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%209%2028%22%20style%3D%22enable-background%3Anew%200%200%209%2028%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M9.3%2015c0%20.1-.1.3-.2.4l-7.3%207.3c-.1.1-.2.2-.4.2s-.3-.1-.4-.2l-.8-.8c-.1-.1-.2-.2-.2-.4%200-.1.1-.3.2-.4L6.5%2015%20.4%208.9c-.1-.1-.2-.3-.2-.4s.1-.3.2-.4l.8-.8c.1-.1.2-.2.4-.2s.3.1.4.2l7.3%207.3c-.1.1%200%20.3%200%20.4z%22%20style%3D%22fill%3A%233698cc%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
  background-size: 10px auto;
}
/* メインビジュアル
---------------------------------------- */
.mainvisual {
  display: flex;
  align-items: center;
  width: calc(100vw - var(--pd-01));
  max-height: 360px;
  aspect-ratio: 1/0.22;
  padding: 0 0 0 var(--pd-01);
  margin: 0 calc(50% - 50vw) 80px;
  font-size: 36px;
  color: #fff;
  letter-spacing: 0.5em;
  background: no-repeat left center;
  background-size: contain;
  border-radius: 0 12px 12px 0;
}
@media screen and (max-width: 1297px) and (min-width: 768px) {
  .mainvisual {
    margin: 0 0 80px -40px;
    font-size: 24px;
  }
}
@media screen and (max-width: 767px) {
  .mainvisual {
    width: calc(100vw - var(--pd-02));
    height: 240px;
    aspect-ratio: auto;
    padding: 0 0 0 var(--pd-02);
    margin-bottom: 40px;
    font-size: 16px;
    color: transparent;
    letter-spacing: normal;
  }
}
/* カテゴリトップページ
---------------------------------------- */
.sec-category {
  padding: 160px 0;
}
@media screen and (max-width: 768px) {
  .sec-category {
    padding: 80px 0;
  }
}
.sec-category:nth-of-type(even) {
  border-image-source: linear-gradient(#f5f5f5, #f5f5f5);
  border-image-slice: 0 fill;
  border-image-outset: 0 100vw 0 40px;
}
.category-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 68px 40px;
}
@media all and (max-width: 767px) {
  .category-wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 34px 25px;
  }
}
.category-item {
  max-width: 240px;
}
.category-link {
  display: block;
  color: inherit;
}
.type-pc .category-link:hover {
  text-decoration: none;
}
.type-pc .category-link:hover img {
  opacity: 1;
  transform: scale(1.1);
}
.category-link img {
  transition: 0.5s;
}
.category-link[target="_blank"]::after {
  display: none;
}
.category-link[target="_blank"] .category-name::after {
  display: inline-block;
  width: 1em;
  height: 1em;
  margin: 0 0 0 4px;
  content: "";
  background: transparent url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2028%2028%22%20style%3D%22enable-background%3Anew%200%200%2028%2028%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M26%2025.5v-17c0-.3-.2-.5-.5-.5h-17c-.3%200-.5.2-.5.5v17c0%20.3.2.5.5.5h17c.3%200%20.5-.2.5-.5zm2-17v17c0%201.4-1.1%202.5-2.5%202.5h-17C7.1%2028%206%2026.9%206%2025.5v-17C6%207.1%207.1%206%208.5%206h17C26.9%206%2028%207.1%2028%208.5zm-6-6V5h-2V2.5c0-.3-.2-.5-.5-.5h-17c-.3%200-.5.2-.5.5v17c0%20.3.2.5.5.5H5v2H2.5C1.1%2022%200%2020.9%200%2019.5v-17C0%201.1%201.1%200%202.5%200h17C20.9%200%2022%201.1%2022%202.5z%22%20style%3D%22fill%3A%23333%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
  transform: translateY(2px);
}
.category-img {
  position: relative;
  z-index: 1;
  max-width: 240px;
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: 12px;
}
.category-img.s-border {
  border: 1px solid var(--color-03);
}
.category-name {
  margin: 12px 0 0;
  line-height: 150%;
}
/* 個人情報取扱について
---------------------------------------- */
.privacy-policy {
  height: 150px;
  padding: 20px;
  overflow-y: scroll;
  line-height: 150%;
  background: var(--color-02);
  border-radius: 2px;
  -webkit-overflow-scrolling: auto;
}
@media screen and (max-width: 767px) {
  .privacy-policy {
    padding: 10px;
  }
}
.privacy-policy:focus:not(:focus-visible) {
  outline: 0;
}
.privacy-policy:focus-visible {
  outline: var(--outline);
}
/* 導入事例一覧について
---------------------------------------- */
.s-cases {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 60px;
}
.s-cases-logo {
  aspect-ratio: 1/1;
  background: #fff;
  box-shadow: 2px 2px 18px rgba(47, 57, 62, 0.4);
}
.s-cases-logo a {
  display: grid;
  place-content: center;
  height: 100%;
  padding: 10px;
}
.s-cases-name {
  margin: 20px 0 0;
}
@media all and (max-width: 1023px) and (min-width: 768px) {
  .s-cases {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media all and (max-width: 767px) {
  .s-cases {
    grid-template-columns: auto;
    gap: 40px;
    max-width: 250px;
    margin-inline: auto;
  }
}
/* アンサーパッド
---------------------------------------- */
.s-answerpad-wrap {
  position: sticky;
  top: 70px;
  z-index: 15;
  padding-block: 10px;
  background: #fff;
}
@media all and (max-width: 767px) {
  .s-answerpad-wrap {
    top: 55px;
    padding-block: 5px;
  }
}
.s-answerpad-tab {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
  width: 100%;
  max-width: 916px;
  margin-inline: auto;
}
@media all and (max-width: 767px) {
  .s-answerpad-tab {
    display: flex;
    gap: 6px;
    justify-content: center;
  }
}
.s-answerpad-tab li {
  padding: 0;
}
.s-answerpad-tab li::before {
  display: none;
}
@media all and (min-width: 768px) {
  .s-answerpad-tab li:nth-of-type(-n+2) .s-answerpad-tab-item::before {
    left: calc(50% - 3.25em);
  }
  .s-answerpad-tab li:nth-of-type(n+3) .s-answerpad-tab-item::before {
    left: calc(50% - 4em);
  }
}
:is(.s-answerpad-tab-item, .s-answerpad-tab-link) {
  display: grid;
  place-content: center;
  padding: 13px 0;
  font-weight: bold;
  line-height: 100%;
}
@media all and (max-width: 767px) {
  :is(.s-answerpad-tab-item, .s-answerpad-tab-link) {
    box-sizing: content-box;
    padding: 15px 7px;
    font-size: 12px;
  }
}
.s-answerpad-tab-item {
  position: relative;
  gap: 6px;
  color: var(--color-04);
  border-bottom: 2px solid var(--color-04);
}
.s-answerpad-tab-item::before {
  position: absolute;
  top: calc(50% - 0.5em);
  display: inline-block;
  width: 1em;
  height: 1em;
  content: "";
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2232%22%20fill%3D%22%233698cc%22%20viewBox%3D%220%200%20256%20256%22%3E%3Cpath%20d%3D%22m181.66%20133.66-80%2080A8%208%200%200%201%2088%20208V48a8%208%200%200%201%2013.66-5.66l80%2080a8%208%200%200%201%200%2011.32z%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}
@media all and (max-width: 767px) {
  .s-answerpad-tab-item {
    gap: 0;
  }
  .s-answerpad-tab-item::before {
    left: -3px;
  }
}
.s-answerpad-tab-link {
  color: var(--color-01);
  border-bottom: 2px solid #ccc;
}
.type-pc .s-answerpad-tab-link:hover {
  text-decoration: none;
  background: #c7ebff;
}
.s-answerpad-transition-link {
  position: relative;
  display: grid;
  place-content: center;
  width: 100%;
  max-width: 380px;
  height: 100%;
  height: 52px;
  color: #fff;
  background: var(--color-04);
  border-radius: 6px;
}
.s-answerpad-transition-link::after {
  position: absolute;
  top: calc(50% - 10px);
  right: 10px;
  display: inline-block;
  width: 20px;
  height: 20px;
  content: "";
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2232%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%20256%20256%22%3E%3Cpath%20d%3D%22m180.24%20132.24-80%2080a6%206%200%200%201-8.48-8.48L167.51%20128%2091.76%2052.24a6%206%200%200%201%208.48-8.48l80%2080a6%206%200%200%201%200%208.48z%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}
.type-pc .s-answerpad-transition-link:hover {
  text-decoration: none;
  background: #6bb9e2;
}
/* 新卒採用
---------------------------------------- */
.s-recruit-wrap {
  position: sticky;
  top: 70px;
  z-index: 15;
  padding-block: 10px 20px;
  background: #fff;
}
@media all and (max-width: 767px) {
  .s-recruit-wrap {
    top: 55px;
    padding-block: 5px 10px;
  }
}
.s-recruit-tab {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
  width: 100%;
  margin-inline: auto;
}
@media all and (max-width: 767px) {
  .s-recruit-tab {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: start;
  }
}
.s-recruit-tab li {
  position: relative;
  padding: 0;
}
.s-recruit-tab li::before {
  display: none;
}
@media all and (min-width: 768px) {
  .s-recruit-tab li:nth-of-type(-n + 2) .s-recruit-tab-item::before {
    left: calc(50% - 3.25em);
  }
  .s-recruit-tab li:nth-of-type(n + 3) .s-recruit-tab-item::before {
    left: calc(50% - 4em);
  }
}
button.s-recruit-tab-link {
  margin: 0;
}
@media all and (min-width: 768px) {
  button.s-recruit-tab-link {
    width: 100%;
  }
}
.s-recruit-tab-link {
  display: grid;
  place-content: center;
  padding: 13px 0;
  font-weight: bold;
  line-height: 100%;
}
.s-recruit-tab-link::after {
  display: none;
}
@media all and (max-width: 767px) {
  .s-recruit-tab-link {
    box-sizing: content-box;
    padding: 15px 7px;
    font-size: 12px;
  }
}
.s-recruit-tab-link {
  color: var(--color-01);
  border-bottom: 2px solid #ccc;
}
.type-pc .s-recruit-tab-link:hover {
  text-decoration: none;
  background: #d8eefa;
}
@media all and (min-width: 768px) {
  .s-recruit-tab li:nth-of-type(-n + 2) .s-recruit-tab-link::before {
    left: calc(50% - 3.25em);
  }
  .s-recruit-tab li:nth-of-type(n + 3) .s-recruit-tab-link::before {
    left: calc(50% - 4em);
  }
}
.s-recruit-tab-link.is-current {
  position: relative;
  gap: 6px;
  color: var(--color-04);
  border-bottom: 2px solid var(--color-04);
}
a.s-recruit-tab-link.is-current {
  pointer-events: none;
}
.s-recruit-tab-link.is-current::before {
  position: absolute;
  top: calc(50% - 0.5em);
  display: inline-block;
  width: 1em;
  height: 1em;
  content: "";
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2232%22%20fill%3D%22%233698cc%22%20viewBox%3D%220%200%20256%20256%22%3E%3Cpath%20d%3D%22m181.66%20133.66-80%2080A8%208%200%200%201%2088%20208V48a8%208%200%200%201%2013.66-5.66l80%2080a8%208%200%200%201%200%2011.32z%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}
@media all and (max-width: 767px) {
  .s-recruit-tab-link.is-current::before {
    left: -3px;
  }
}
.s-recruit-tab-guides {
  position: absolute;
  display: none;
  width: 100%;
  background: rgba(255, 255, 255, 0.8);
  border: 2px solid #d8eefa;
  border-top: none;
}
@media all and (max-width: 767px) {
  .s-recruit-tab-guides {
    width: 150%;
  }
}
.s-recruit-tab-guides a {
  display: block;
  width: 100%;
  padding: 5px 10px;
  text-align: center;
  background: #fff;
}
.type-pc .s-recruit-tab-guides a:hover {
  text-decoration: none;
  background: #d8eefa;
}
.s-recruit-tab-guides li:nth-of-type(n+2) a {
  border-top: 1px solid #d8eefa;
}
.s-recruit-contents {
  width: 100%;
  max-width: 1200px;
  margin-inline: auto;
}
.s-recruit-transition-link {
  position: relative;
  display: grid;
  place-content: center;
  width: 100%;
  max-width: 380px;
  height: 100%;
  height: 52px;
  color: #fff;
  background: var(--color-04);
  border-radius: 6px;
}
.s-recruit-transition-link::after {
  position: absolute;
  top: calc(50% - 10px);
  right: 10px;
  display: inline-block;
  width: 20px;
  height: 20px;
  content: "";
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2232%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%20256%20256%22%3E%3Cpath%20d%3D%22m180.24%20132.24-80%2080a6%206%200%200%201-8.48-8.48L167.51%20128%2091.76%2052.24a6%206%200%200%201%208.48-8.48l80%2080a6%206%200%200%201%200%208.48z%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}
.type-pc .s-recruit-transition-link:hover {
  text-decoration: none;
  background: #6bb9e2;
}
.s-recruit-interview-article {
  width: 100%;
  max-width: 860px;
  margin: 40px auto 0;
}
.s-recruit-interview-article-profile {
  display: grid;
  grid-template-columns: auto min(75%, 605px);
}
@media all and (max-width: 767px) {
  .s-recruit-interview-article-profile {
    grid-template-columns: auto;
  }
}
@media all and (max-width: 767px) {
  .s-recruit-interview-article-desc {
    order: 2;
  }
}
@media all and (max-width: 767px) {
  .s-recruit-interview-article-img {
    order: 1;
  }
}
.s-recruit-interview-article-job {
  display: flex;
  align-items: center;
  height: 50%;
  font-size: 36px;
  font-weight: bold;
  line-height: 120%;
}
@media all and (max-width: 767px) {
  .s-recruit-interview-article-job {
    height: auto;
    padding-block: 30px;
    font-size: 24px;
  }
}
.s-recruit-interview-article-name-en {
  font-weight: bold;
  color: #f24a67;
}
.s-recruit-interview-article-name-ja {
  font-size: 24px;
  font-weight: bold;
}
.s-recruit-interview-article-name-division {
  margin: 20px 0 0;
  line-height: 150%;
}
.s-recruit-interview-article-contents {
  margin: 40px 0 0;
}
.s-recruit-interview-article-contents h2 {
  margin-top: 80px;
}
.s-recruit-interview-article-line {
  margin: 70px 0 0;
  font-size: 12px;
  color: #e9e9e9;
  text-align: center;
  letter-spacing: 10px;
}
/* 埋め込みフォーム
---------------------------------------- */
.iframe-form {
  width: 100%;
  height: 320px;
  border: none;
}
@media screen and (max-width: 767px) {
  .iframe-form {
    height: 450px;
  }
}
/* 引用・転載
---------------------------------------- */
.quote {
  position: relative;
  padding: 20px 20px 20px 80px;
  background: var(--color-02);
  border-radius: 2px;
}
@media screen and (max-width: 767px) {
  .quote {
    padding: 65px 20px 20px;
  }
  .quote::before {
    top: 15px;
  }
}
.quote::before {
  position: absolute;
  top: 20px;
  left: 20px;
  width: 40px;
  height: 40px;
  content: "";
  background: transparent url("data:image/svg+xml;charset=utf8,%3Csvg%20version%3D%221.1%22%20id%3D%22_x32_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220%22%20y%3D%220%22%20viewBox%3D%220%200%20512%20512%22%20style%3D%22enable-background%3Anew%200%200%20512%20512%22%20xml%3Aspace%3D%22preserve%22%3E%3Cstyle%3E.st0%7Bfill%3A%23838383%7D%3C%2Fstyle%3E%3Cpath%20class%3D%22st0%22%20d%3D%22M512%20227.6H404.2l63.3-164h-90.4l-85.8%20164v220.8H512zM220.7%20448.4V227.6H113l63.3-164H85.8L0%20227.6v220.8z%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
}
/* お知らせ
============================================================ */
.ttl-news {
  font-size: 32px;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .ttl-news {
    font-size: 26px;
  }
}
.news-body {
  border-top: 1px solid var(--color-05);
}
.news-list {
  border-bottom: 1px solid var(--color-05);
}
.news-list.is-hidden {
  display: none;
}
.news-list-link {
  padding: 40px 0;
  line-height: 150%;
  color: inherit;
}
@media screen and (min-width: 768px) {
  .news-list-link {
    display: flex;
    justify-content: space-between;
  }
  .type-pc .news-list-link {
    padding-right: 2em;
  }
}
@media screen and (max-width: 767px) {
  .news-list-link {
    display: block;
    padding: 20px 0;
  }
}
.type-pc .news-list-link:hover {
  text-decoration: none;
  background: var(--color-02);
}
.type-pc .news-list-link:hover .news-list-ttl::after {
  opacity: 1;
  transform: translateX(5px);
}
.news-list-date {
  color: var(--color-06);
}
@media screen and (min-width: 768px) {
  .news-list-date {
    width: 7em;
  }
}
.news-list-ttl {
  position: relative;
  font-size: 18px;
}
@media screen and (min-width: 768px) {
  .news-list-ttl {
    width: calc(100% - 7rem);
    padding: 0 0 0 40px;
  }
}
@media screen and (max-width: 767px) {
  .type-pc .news-list-ttl {
    padding: 0 20px 0 0;
  }
}
.news-list-ttl::after {
  position: absolute;
  top: calc(50% - 0.5em);
  right: -1em;
  display: inline-block;
  width: 1em;
  height: 1em;
  content: "";
  background: transparent url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2015%2028%22%20style%3D%22enable-background%3Anew%200%200%2015%2028%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M9.3%2015c0%20.1-.1.3-.2.4l-7.3%207.3c-.1.1-.2.2-.4.2s-.3-.1-.4-.2l-.8-.8c-.1-.1-.2-.2-.2-.4s.1-.3.2-.4L6.5%2015%20.4%208.9c-.1-.1-.2-.3-.2-.4s.1-.3.2-.4l.8-.8c.1-.1.2-.2.4-.2s.3.1.4.2l7.3%207.3c-.1.1%200%20.3%200%20.4zm6%200c0%20.1-.1.3-.2.4l-7.3%207.3c-.1.1-.2.2-.4.2s-.3-.1-.4-.2l-.8-.8c-.1-.1-.2-.2-.2-.4s.1-.3.2-.4l6.1-6.1-5.9-6.1c-.1-.1-.2-.3-.2-.4s.1-.3.2-.4l.8-.8c.1-.1.2-.2.4-.2s.3.1.4.2l7.3%207.3c-.1.1%200%20.3%200%20.4z%22%20style%3D%22fill%3A%233698cc%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
  opacity: 0;
  transition: 0.5s;
}
@media screen and (max-width: 767px) {
  .news-list-ttl::after {
    right: 10px;
  }
}
.news-article-head {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin: 0 0 40px;
  line-height: 100%;
}
.news-article-date {
  color: var(--color-05);
}
.news-article-category {
  display: flex;
  gap: 5px;
}
.news-article-category-item {
  padding: 3px 0.5em;
  color: #fff;
  background: var(--color-05);
  border-radius: 2px;
}
:where(.news-article-body) h2 {
  margin-top: 100px;
  font-size: 154%;
}
:where(.news-article-body) h2 + table {
  margin-top: 20px;
}
:where(.news-article-body) h2 + h3 {
  margin-top: 20px;
}
:where(.news-article-body) :is(h2, h3) + :where(p, dl, ul, ol) {
  margin-top: 10px;
}
.news-recommend {
  width: 100%;
  max-width: calc(1200px + var(--pd-01) * 2);
  padding: 0 var(--pd-01);
  margin: 0 auto 160px;
}
@media screen and (max-width: 767px) {
  .news-recommend {
    padding: 0 var(--pd-02);
    margin-bottom: 80px;
  }
}
.news-recommend-ttl {
  margin-top: 100px;
  font-size: 154%;
}
.news-recommend-item {
  display: grid;
  grid-template-columns: 6em auto;
  gap: 0 1em;
  margin: 1em 0 0;
  line-height: 150%;
}
@media screen and (max-width: 767px) {
  .news-recommend-item {
    grid-template-columns: auto;
    gap: 0;
  }
  .news-recommend-item + .news-recommend-item {
    margin: 1.5em 0 0;
  }
}
.news-recommend-item-data {
  color: var(--color-05);
}
.news-back {
  display: flex;
  justify-content: flex-end;
  width: 100%;
  max-width: calc(1200px + var(--pd-01) * 2);
  padding: 0 var(--pd-01);
  margin: 0 auto 80px;
}
@media screen and (max-width: 767px) {
  .news-back {
    padding: 0 var(--pd-02);
    margin: 0 auto 40px;
  }
}
.link-news-back {
  display: flex;
  align-items: center;
  color: inherit;
}
.link-news-back::after {
  width: 36px;
  height: 36px;
  margin: 0 0 0 10px;
  content: "";
  background: var(--color-03) url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%209%2028%22%20style%3D%22enable-background%3Anew%200%200%209%2028%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M9.3%2015c0%20.1-.1.3-.2.4l-7.3%207.3c-.1.1-.2.2-.4.2s-.3-.1-.4-.2l-.8-.8c-.1-.1-.2-.2-.2-.4%200-.1.1-.3.2-.4L6.5%2015%20.4%208.9c-.1-.1-.2-.3-.2-.4s.1-.3.2-.4l.8-.8c.1-.1.2-.2.4-.2s.3.1.4.2l7.3%207.3c-.1.1%200%20.3%200%20.4z%22%20style%3D%22fill%3A%233698cc%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
  background-size: 8px auto;
  border-radius: 2px;
  transition: 0.5s;
}
.type-pc .link-news-back:hover::after {
  background-color: var(--color-04);
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%209%2028%22%20style%3D%22enable-background%3Anew%200%200%209%2028%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M9.3%2015c0%20.1-.1.3-.2.4l-7.3%207.3c-.1.1-.2.2-.4.2s-.3-.1-.4-.2l-.8-.8c-.1-.1-.2-.2-.2-.4%200-.1.1-.3.2-.4L6.5%2015%20.4%208.9c-.1-.1-.2-.3-.2-.4s.1-.3.2-.4l.8-.8c.1-.1.2-.2.4-.2s.3.1.4.2l7.3%207.3c-.1.1%200%20.3%200%20.4z%22%20style%3D%22fill%3A%23fff%22%2F%3E%3C%2Fsvg%3E");
}
_::-webkit-full-page-media, _:future, :root .type-pc .link-news-back:hover::after {
  background: var(--color-05) url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%209%2028%22%20style%3D%22enable-background%3Anew%200%200%209%2028%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M9.3%2015c0%20.1-.1.3-.2.4l-7.3%207.3c-.1.1-.2.2-.4.2s-.3-.1-.4-.2l-.8-.8c-.1-.1-.2-.2-.2-.4%200-.1.1-.3.2-.4L6.5%2015%20.4%208.9c-.1-.1-.2-.3-.2-.4s.1-.3.2-.4l.8-.8c.1-.1.2-.2.4-.2s.3.1.4.2l7.3%207.3c-.1.1%200%20.3%200%20.4z%22%20style%3D%22fill%3A%233698cc%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
  background-size: 8px auto;
}
/* お問い合わせフォーム
============================================================ */
.aform-content, .aform-content *::before, .aform-content *::after {
  --input-color-bd: var(--color-03);
  --input-color-bg: #fff;
  --check-color-mark: var(--color-04);
  --check-color-label: var(--color-03);
  --point-color: #d13e3e;
  --error-color: var(--point-color);
  --error-color-bg: #faebeb;
}
/* 入力部品 ------------------- */
form {
  margin: 0;
}
input:where([type="text"], [type="tel"], [type="email"], [type="password"]) {
  min-height: var(--input-height-pc);
  padding: 0 var(--input-pd);
}
.type-mobile input:where([type="text"], [type="tel"], [type="email"], [type="password"]) {
  min-height: var(--input-height-mb);
}
:where(input:is([type="text"], [type="tel"], [type="email"], [type="password"]), textarea, select) {
  width: 100%;
  font-family: inherit;
  font-size: 16px;
  color: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: var(--input-color-bg);
  border: 1px solid var(--input-color-bd);
  border-radius: 2px;
  -webkit-tap-highlight-color: transparent;
}
:where(input:is([type="text"], [type="tel"], [type="email"], [type="password"]), textarea, select):-webkit-autofill {
  box-shadow: 0 0 0 1000px var(--input-color-bg) inset;
}
:where(input:is([type="text"], [type="tel"], [type="email"], [type="password"], [type="submit"], [type="reset"], [type="button"]), textarea, select, button):focus:not(:focus-visible) {
  outline: 0;
}
:where(input:is([type="text"], [type="tel"], [type="email"], [type="password"], [type="submit"], [type="reset"], [type="button"]), textarea, select, button):focus-visible {
  outline: var(--outline);
}
textarea {
  display: block;
  padding: var(--input-pd);
  line-height: 150%;
}
select {
  min-height: var(--input-height-pc);
  padding: 0 25px 0 var(--input-pd);
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20320%20512%22%3E%3Cpath%20style%3D%22fill%3A%23838383%22%20d%3D%22M137.4%20374.6c12.5%2012.5%2032.8%2012.5%2045.3%200l128-128c9.2-9.2%2011.9-22.9%206.9-34.9S301%20191.9%20288%20191.9L32%20192c-12.9%200-24.6%207.8-29.6%2019.8s-2.2%2025.7%206.9%2034.9l128%20128z%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 8px auto;
}
.type-mobile select {
  min-height: var(--input-height-mb);
  background-size: 10px auto;
}
@document url-prefix() {
  select {
    padding-top: 3px;
  }
}
input:is([type="radio"], [type="checkbox"]) {
  margin: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
input:is([type="submit"], [type="reset"], [type="button"]), button {
  padding: 0;
  font-family: inherit;
  font-size: 16px;
  color: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  transition: 0.2s linear;
  -webkit-tap-highlight-color: transparent;
}
:is(input:is([type="submit"], [type="reset"], [type="button"]), button, select):not([disabled]) {
  cursor: pointer;
}
.privacy-policy, textarea {
  scrollbar-color: var(--color-06) var(--color-03);
  scrollbar-width: thin;
}
.privacy-policy::-webkit-scrollbar, textarea::-webkit-scrollbar {
  width: 6px;
}
.privacy-policy::-webkit-scrollbar-thumb, textarea::-webkit-scrollbar-thumb {
  background: var(--color-06);
}
.privacy-policy::-webkit-scrollbar-track, textarea::-webkit-scrollbar-track {
  background: var(--color-03);
}
/* --- aform レイアウト ------------------- */
.aform {
  max-width: 780px;
  margin: 80px auto 0;
}
.aform-header {
  display: none;
}
.aform-content dt {
  font-weight: bold;
}
.aform-content li {
  padding: 0;
}
.aform-content li::before {
  display: none;
}
form[name^="aform-form-"] .h-adr {
  display: block;
}
form[name^="aform-form-"] :is(dl, .h-adr) + :is(dl, .h-adr) {
  margin: 40px 0 0;
}
@media screen and (min-width: 768px) {
  .aform-content dl:where(:not(.aform-error-list)) {
    grid-template-columns: 15em auto;
  }
  form[name^="aform-form-"] dd {
    padding: 0 0 0 20px;
  }
}
/* --- フォーム項目欄 ------------------- */
.aform-required {
  padding: 3px 4px;
  font-size: 12px;
  font-weight: normal;
  line-height: 100%;
  color: #fff;
  background: var(--point-color);
  border-radius: 2px;
}
@document url-prefix() {
  .aform-required {
    padding-bottom: 3px;
  }
}
@media screen and (min-width: 768px) {
  form[name^="aform-form-"] .aform-label {
    position: relative;
    display: block;
    padding: 0 35px 0 0;
  }
  .aform-required {
    position: absolute;
    top: 4px;
    right: 0;
  }
}
@media screen and (max-width: 767px) {
  .aform-required {
    margin: 0 0 0 5px;
  }
}
/* --- フォーム入力欄 ------------------- */
:is(.aform-name-ul, .aform-kana-ul) label, .aform-input-example, .aform-twice-note {
  display: block;
  line-height: 150%;
  color: var(--color-06);
}
.dl_mail .aform-twice-note {
  margin: 10px 0 0;
}
/* お名前・かな */
:is(.aform-name-ul, .aform-kana-ul) {
  display: flex;
  justify-content: space-between;
}
:is(.aform-name-ul, .aform-kana-ul) li {
  width: calc(50% - 3px);
}
/* チェックボックス・ラジオボタン */
:is(.aform-checkbox-ul, .aform-radio-ul) li {
  border: 1px dotted var(--check-color-label);
}
:is(.aform-checkbox-ul, .aform-radio-ul) label {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  padding: 9px 8px 7px 28px;
  line-height: 120%;
  cursor: pointer;
  transition: background 0.2s linear;
  -webkit-tap-highlight-color: transparent;
}
.type-mobile :is(.aform-checkbox-ul, .aform-radio-ul) label {
  padding: 13px 8px 11px 28px;
}
.type-pc :is(.aform-checkbox-ul, .aform-radio-ul) label:hover {
  background: var(--color-02);
}
:is(.aform-checkbox-ul, .aform-radio-ul) label::before {
  position: absolute;
  top: 0.625em;
  left: var(--input-pd);
  display: block;
  width: 1em;
  height: 1em;
  content: "";
  background: #fff;
  border: 1px solid var(--input-color-bd);
  transition: border 0.2s linear, background 0.2s linear;
}
.type-mobile :is(.aform-checkbox-ul, .aform-radio-ul) label::before {
  top: calc(0.625em + 4px);
}
:is(.aform-checkbox-ul, .aform-radio-ul) label::after {
  position: absolute;
  top: 0.8125em;
  display: block;
  content: "";
  opacity: 0;
  transition: transform 0.2s linear, opacity 0.2s linear;
}
.type-mobile :is(.aform-checkbox-ul, .aform-radio-ul) label::after {
  top: calc(0.8125em + 4px);
}
:is(.aform-checkbox-ul, .aform-radio-ul) input[type="text"].aform-field-option-text {
  position: absolute;
  top: 2px;
  left: 5.5em;
  width: calc(100% - 6em);
}
:is(.aform-checkbox-ul, .aform-radio-ul) input:is([type="radio"], [type="checkbox"]) {
  position: absolute;
  opacity: 0;
}
:is(.aform-checkbox-ul, .aform-radio-ul) input:is([type="radio"], [type="checkbox"]) + label + input {
  pointer-events: none;
  opacity: 0;
  transition: 0.2s;
}
:is(.aform-checkbox-ul, .aform-radio-ul) input:is([type="radio"], [type="checkbox"]):focus-visible + label {
  border: var(--outline);
}
:is(.aform-checkbox-ul, .aform-radio-ul) input:is([type="radio"], [type="checkbox"]):focus-visible + label::before {
  border: var(--outline);
}
:is(.aform-checkbox-ul, .aform-radio-ul) input:is([type="radio"], [type="checkbox"]):checked + label {
  background: #eef9ff;
}
:is(.aform-checkbox-ul, .aform-radio-ul) input:is([type="radio"], [type="checkbox"]):checked + label + input {
  pointer-events: all;
  opacity: 1;
}
/* チェックボックス */
.aform-checkbox-ul label::before {
  border-radius: 2px;
}
.aform-checkbox-ul label::after {
  left: 0.625em;
  width: 5px;
  height: 0.5em;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(45deg) translate3d(0, 2px, 0) scale3d(0.7, 0.7, 1);
}
.aform-checkbox-ul input[type="checkbox"]:checked + label::before {
  background: var(--check-color-mark);
  border-color: var(--check-color-mark);
}
.aform-checkbox-ul input[type="checkbox"]:checked + label::after {
  opacity: 1;
  transform: rotate(45deg) scale3d(1, 1, 1);
}
/* ラジオボタン */
.aform-radio-ul label::before {
  border-radius: 50%;
}
.aform-radio-ul label::after {
  left: 8px;
  width: 10px;
  height: 10px;
  background: var(--check-color-mark);
  border-radius: 50%;
  transform: scale3d(0.3, 0.3, 1);
}
.aform-radio-ul input[type="radio"]:checked + label::after {
  opacity: 1;
  transform: scale3d(1, 1, 1);
}
/* 縦並び */
.aform-vertical-ul {
  display: flex;
  flex-direction: column;
}
.aform-vertical-ul li:nth-of-type(n+2) {
  border-top: none;
}
/* 横並び */
@media screen and (min-width: 768px) {
  .aform-horizontal-ul {
    display: grid;
    grid-template-rows: 1fr 1fr 1fr 1fr 1fr;
    grid-auto-flow: column;
  }
  .aform-horizontal-ul li label {
    border: none;
  }
  .aform-horizontal-ul li:not(:nth-of-type(5n+1)) {
    border-top: none;
  }
  .aform-horizontal-ul li:nth-of-type(n+6) {
    border-left: none;
  }
}
@media screen and (max-width: 767px) {
  .aform-horizontal-ul {
    display: flex;
    flex-direction: column;
  }
  .aform-horizontal-ul li:nth-of-type(n+2) {
    border-top: none;
  }
}
/* --- 個人情報取扱について ------------------- */
form[name^="aform-form-"] .hidden01 {
  margin: 40px 0 20px;
}
/* 送信ボタン
---------------------------------------- */
.aform-button-area {
  display: flex;
  gap: 20px;
  justify-content: center;
  margin: 50px 0 0;
}
@media screen and (max-width: 767px) {
  .aform-button-area {
    flex-direction: column-reverse;
    align-items: center;
  }
}
.aform-button-area input:is([type="submit"], [type="button"]) {
  width: 100%;
  max-width: 280px;
  height: 52px;
  font-family: inherit;
  font-size: 18px;
  border-radius: 10px;
  transition: opacity 0.2s linear, color 0.2s linear, border 0.2s linear, background 0.2s linear;
}
.aform-button-area input[type="submit"] {
  color: #fff;
  background: var(--color-04);
}
.type-pc .aform-button-area input[type="submit"]:hover {
  background: #35a7e4;
}
.aform-button-area input[type="button"] {
  color: var(--color-04);
  background: #fff;
  border: 1px solid var(--color-04);
}
.type-pc .aform-button-area input[type="button"]:hover {
  background: #dbf3ff;
}
/* 確認ページ
---------------------------------------- */
form[name="aform-confirm-form"] :is(.hidden01, .aform-required) {
  display: none;
}
form[name="aform-confirm-form"] dl {
  padding: 5px 20px;
  border-right: 1px solid var(--color-03);
  border-left: 1px solid var(--color-03);
}
form[name="aform-confirm-form"] dl:first-of-type {
  border-top: 1px solid var(--color-03);
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
}
form[name="aform-confirm-form"] dl:nth-of-type(odd) {
  background: var(--color-02);
}
form[name="aform-confirm-form"] dl:last-of-type {
  border-bottom: 1px solid var(--color-03);
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
}
form[name="aform-confirm-form"] dl + p {
  margin: 40px 0 0;
}
@media screen and (max-width: 767px) {
  form[name="aform-confirm-form"] dl {
    padding: 10px;
    line-height: 150%;
  }
  form[name="aform-confirm-form"] .aform-label::before {
    content: "【";
  }
  form[name="aform-confirm-form"] .aform-label::after {
    content: "】";
  }
  form[name="aform-confirm-form"] dt {
    margin-left: -0.5em;
  }
}
/* --- reCAPTCHA認証 ------------------- */
.grecaptcha-badge {
  z-index: var(--z-grecaptcha);
}
@media screen and (min-width: 768px) {
  .grecaptcha-badge {
    bottom: 110px !important;
  }
}
@media screen and (max-width: 767px) {
  .grecaptcha-badge {
    bottom: 80px !important;
  }
}
/* --- エラー ------------------- */
.aform-input.error, .aform-input.error + label, .validate-option-text.error {
  background-color: var(--error-color-bg);
  border: 1px solid var(--error-color);
}
.aform-error {
  margin: 3px 0 0;
}
.validation-advice {
  display: block;
  line-height: 150%;
  color: var(--error-color);
}
/* 送信エラーページ
---------------------------------------- */
.aform-error-list {
  display: block;
  margin: 0 0 40px;
}
.aform-error-list dt {
  margin: 0 0 1em;
  color: var(--point-color);
}
.aform-error-list dd {
  position: relative;
  padding: 0 0 0 1.25em;
}
.aform-error-list dd::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "※";
}
/* 汎用スタイル
============================================================ */
.ttl-primary {
  font-size: 32px;
  font-weight: bold;
  line-height: 120%;
}
.ttl-primary:has(+ .ttl-secondary) {
  display: block;
  font-size: 24px;
  font-weight: normal;
}
.ttl-secondary {
  display: block;
  margin: 10px 0 0;
  font-size: 56px;
  font-weight: bold;
  line-height: 150%;
  word-break: break-word;
}
@media screen and (max-width: 767px) {
  .ttl-secondary {
    margin: 5px 0 0;
    font-size: 40px;
  }
}
.ttl-number {
  display: flex;
  align-items: center;
}
.ttl-number-num {
  display: grid;
  place-content: center;
  width: 40px;
  height: 40px;
  font-size: 20px;
  border: 1px solid;
  border-radius: 2px;
}
.ttl-number-chara {
  display: block;
  width: calc(100% - 40px);
  padding: 2px 10px;
  background: var(--color-03);
  border-radius: 0 2px 2px 0;
}
@media screen and (max-width: 767px) {
  .ttl-number-num {
    color: #fff;
    background: var(--color-05);
    border: none;
  }
  .ttl-number-chara {
    background: transparent;
  }
}
.link-mark-angle-right::before {
  display: inline-block;
  width: 1em;
  height: 1em;
  margin: 0 2px 0 0;
  content: "";
  background: var(--color-04) url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2015%2028%22%20style%3D%22enable-background%3Anew%200%200%2015%2028%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M9.3%2015c0%20.1-.1.3-.2.4l-7.3%207.3c-.1.1-.2.2-.4.2s-.3-.1-.4-.2l-.8-.8c-.1-.1-.2-.2-.2-.4s.1-.3.2-.4L6.5%2015%20.4%208.9c-.1-.1-.2-.3-.2-.4s.1-.3.2-.4l.8-.8c.1-.1.2-.2.4-.2s.3.1.4.2l7.3%207.3c-.1.1%200%20.3%200%20.4zm6%200c0%20.1-.1.3-.2.4l-7.3%207.3c-.1.1-.2.2-.4.2s-.3-.1-.4-.2l-.8-.8c-.1-.1-.2-.2-.2-.4s.1-.3.2-.4l6.1-6.1-5.9-6.1c-.1-.1-.2-.3-.2-.4s.1-.3.2-.4l.8-.8c.1-.1.2-.2.4-.2s.3.1.4.2l7.3%207.3c-.1.1%200%20.3%200%20.4z%22%20style%3D%22fill%3A%23fff%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
  border-radius: 2px;
  transform: translateY(2px);
}
.link-cmn-01 {
  position: relative;
  display: inline-block;
  padding: 24px 100px 24px 0;
  font-size: 24px;
  font-weight: bold;
  color: inherit;
}
@media screen and (max-width: 767px) {
  .link-cmn-01 {
    font-size: 22px;
  }
}
.type-pc .link-cmn-01:hover {
  text-decoration: none;
}
.type-pc .link-cmn-01:hover::before {
  background-color: var(--color-04);
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%209%2028%22%20style%3D%22enable-background%3Anew%200%200%209%2028%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M9.3%2015c0%20.1-.1.3-.2.4l-7.3%207.3c-.1.1-.2.2-.4.2s-.3-.1-.4-.2l-.8-.8c-.1-.1-.2-.2-.2-.4%200-.1.1-.3.2-.4L6.5%2015%20.4%208.9c-.1-.1-.2-.3-.2-.4s.1-.3.2-.4l.8-.8c.1-.1.2-.2.4-.2s.3.1.4.2l7.3%207.3c-.1.1%200%20.3%200%20.4z%22%20style%3D%22fill%3A%23fff%22%2F%3E%3C%2Fsvg%3E");
}
.link-cmn-01::before {
  position: absolute;
  top: 0;
  right: 0;
  width: 72px;
  height: 72px;
  content: "";
  background: var(--color-03) url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%209%2028%22%20style%3D%22enable-background%3Anew%200%200%209%2028%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M9.3%2015c0%20.1-.1.3-.2.4l-7.3%207.3c-.1.1-.2.2-.4.2s-.3-.1-.4-.2l-.8-.8c-.1-.1-.2-.2-.2-.4%200-.1.1-.3.2-.4L6.5%2015%20.4%208.9c-.1-.1-.2-.3-.2-.4s.1-.3.2-.4l.8-.8c.1-.1.2-.2.4-.2s.3.1.4.2l7.3%207.3c-.1.1%200%20.3%200%20.4z%22%20style%3D%22fill%3A%233698cc%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
  background-size: 10px auto;
  border-radius: 10px;
  transition: 0.5s;
}
_::-webkit-full-page-media, _:future, :root .type-pc .link-cmn-01:hover::before {
  background: var(--color-05) url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%209%2028%22%20style%3D%22enable-background%3Anew%200%200%209%2028%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M9.3%2015c0%20.1-.1.3-.2.4l-7.3%207.3c-.1.1-.2.2-.4.2s-.3-.1-.4-.2l-.8-.8c-.1-.1-.2-.2-.2-.4%200-.1.1-.3.2-.4L6.5%2015%20.4%208.9c-.1-.1-.2-.3-.2-.4s.1-.3.2-.4l.8-.8c.1-.1.2-.2.4-.2s.3.1.4.2l7.3%207.3c-.1.1%200%20.3%200%20.4z%22%20style%3D%22fill%3A%233698cc%22%2F%3E%3C%2Fsvg%3E") no-repeat center center;
  background-size: 10px auto;
}
.link-btn-normal {
  display: inline-block;
  min-width: 300px;
  padding: 0.5em 2em;
  color: #fff;
  text-align: center;
  background: var(--color-04);
  border-radius: 2px;
}
@media screen and (max-width: 767px) {
  .link-btn-normal {
    padding: 0.5em 1em;
  }
}
.type-pc .link-btn-normal:hover {
  text-decoration: none;
  opacity: 0.8;
}
.link-btn-normal[target="_blank"]::after {
  margin: 0 0 0 6px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2028%2028%22%20style%3D%22enable-background%3Anew%200%200%2028%2028%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M26%2025.5v-17c0-.3-.2-.5-.5-.5h-17c-.3%200-.5.2-.5.5v17c0%20.3.2.5.5.5h17c.3%200%20.5-.2.5-.5zm2-17v17c0%201.4-1.1%202.5-2.5%202.5h-17C7.1%2028%206%2026.9%206%2025.5v-17C6%207.1%207.1%206%208.5%206h17C26.9%206%2028%207.1%2028%208.5zm-6-6V5h-2V2.5c0-.3-.2-.5-.5-.5h-17c-.3%200-.5.2-.5.5v17c0%20.3.2.5.5.5H5v2H2.5C1.1%2022%200%2020.9%200%2019.5v-17C0%201.1%201.1%200%202.5%200h17C20.9%200%2022%201.1%2022%202.5z%22%20style%3D%22fill%3A%23fff%22%2F%3E%3C%2Fsvg%3E");
}
.link-btn-normal:is(.link-pdf, [href$=".pdf"])::after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20448%20512%22%20style%3D%22enable-background%3Anew%200%200%20448%20512%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M64%20464h32v48H64c-35.3%200-64-28.7-64-64V64C0%2028.7%2028.7%200%2064%200h165.5c17%200%2033.3%206.7%2045.3%2018.7l90.5%2090.5c12%2012%2018.7%2028.3%2018.7%2045.3V288h-48V160h-80c-17.7%200-32-14.3-32-32V48H64c-8.8%200-16%207.2-16%2016v384c0%208.8%207.2%2016%2016%2016zm96-112h24c30.9%200%2056%2025.1%2056%2056s-25.1%2056-56%2056h-8v32c0%208.8-7.2%2016-16%2016s-16-7.2-16-16V368c0-8.8%207.2-16%2016-16zm24%2080c13.3%200%2024-10.7%2024-24s-10.7-24-24-24h-8v48h8zm72-64c0-8.8%207.2-16%2016-16h24c26.5%200%2048%2021.5%2048%2048v64c0%2026.5-21.5%2048-48%2048h-24c-8.8%200-16-7.2-16-16V368zm32%20112h8c8.8%200%2016-7.2%2016-16v-64c0-8.8-7.2-16-16-16h-8v96zm96-128h48c8.8%200%2016%207.2%2016%2016s-7.2%2016-16%2016h-32v32h32c8.8%200%2016%207.2%2016%2016s-7.2%2016-16%2016h-32v48c0%208.8-7.2%2016-16%2016s-16-7.2-16-16V368c0-8.8%207.2-16%2016-16z%22%20style%3D%22fill%3A%23fff%22%2F%3E%3C%2Fsvg%3E");
}
.link-reset::before, .link-reset::after {
  display: none;
}
/* --- リスト ------------------- */
ul li {
  position: relative;
  padding: 0 0 0 1em;
}
ul li::before {
  position: absolute;
  top: calc(0.5em + 3px);
  left: 3px;
  width: 6px;
  height: 6px;
  content: "";
  background: var(--color-06);
  border-radius: 3px;
}
:is(.header, .footer, .list-reset) li {
  padding: 0;
}
:is(.header, .footer, .list-reset) li::before {
  display: none;
}
.list-mark-ref > li {
  padding: 0 0 0 1.25em;
}
.list-mark-ref > li::before {
  top: 0;
  left: 0;
  width: 1em;
  height: 1em;
  content: "※";
  background: transparent;
}
@media screen and (min-width: 768px) {
  .sp-only-list-mark li {
    padding: 0;
  }
  .sp-only-list-mark li::before {
    display: none;
  }
}
.list-mt1em > li + li {
  margin: 1em 0 0;
}
/* --- テーブル ------------------- */
table {
  width: 100%;
}
thead {
  border-bottom: 3px double var(--color-05);
}
caption {
  padding: 20px 40px;
  font-weight: bold;
  text-align: left;
}
th, td {
  padding: 20px 40px;
  vertical-align: top;
}
@media screen and (min-width: 1024px) {
  :where(table:not(.table-label)) th {
    width: 195px;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  :where(table:not(.table-label)) th {
    width: 160px;
  }
  caption, th, td {
    padding: 20px;
  }
}
@media screen and (min-width: 768px) {
  table {
    border-top: 1px solid var(--color-05);
    border-bottom: 1px solid var(--color-05);
  }
  th {
    box-sizing: content-box;
    text-align: left;
  }
  :where(table:not(.table-label)) tr {
    border-bottom: 1px solid var(--color-05);
  }
  :where(table:not(.table-label)) th {
    font-weight: normal;
  }
  .table-label tbody tr:nth-child(odd) {
    background: var(--color-02);
  }
  :where(.table-label th:nth-child(n+2), .table-label td) {
    border-left: 1px dotted var(--color-05);
  }
}
@media screen and (max-width: 767px) {
  caption {
    padding: 10px 0;
  }
  .table-label thead {
    display: none;
  }
  th {
    background: var(--color-07);
  }
  th, td {
    display: block;
    padding: 10px 0;
  }
  tr + tr {
    display: block;
    margin: 1em 0 0;
  }
  td[data-label] {
    padding-bottom: 0;
  }
  td[data-label]::before {
    display: block;
    margin-left: -0.5em;
    content: "【" attr(data-label) "】";
  }
}
/* --- dl ------------------- */
@media (min-width: 768px) {
  dl {
    display: grid;
    gap: 0 1em;
  }
  .dt-width3em {
    grid-template-columns: 3em auto;
  }
  .dt-width4em {
    grid-template-columns: 4em auto;
  }
  .dt-width5em {
    grid-template-columns: 5em auto;
  }
  .dt-width6em {
    grid-template-columns: 6em auto;
  }
  .dt-width7em {
    grid-template-columns: 7em auto;
  }
  .dt-width8em {
    grid-template-columns: 8em auto;
  }
  .dt-width9em {
    grid-template-columns: 9em auto;
  }
}
@media screen and (max-width: 767px) {
  dt:nth-of-type(n+2) {
    margin: 1em 0 0;
  }
}
@media screen and (max-width: 767px) {
  .dl-mark-dot dd {
    padding-left: 1em;
  }
}
.dl-mark-dot dt {
  position: relative;
  padding-left: 1em;
}
.dl-mark-dot dt::before {
  position: absolute;
  top: calc(0.5em + 3px);
  left: 3px;
  width: 6px;
  height: 6px;
  content: "";
  background: var(--color-06);
  border-radius: 3px;
}
@media (min-width: 768px) {
  .dl-mark-colon dt {
    position: relative;
    -moz-text-align-last: justify;
    text-align-last: justify;
  }
  .dl-mark-colon dt::after {
    position: absolute;
    right: -1em;
    content: "：";
  }
}
@media (max-width: 767px) {
  .dl-mark-colon dt {
    margin-left: -0.5em;
  }
  .dl-mark-colon dt::before {
    content: "【";
  }
  .dl-mark-colon dt::after {
    content: "】";
  }
}
@media (max-width: 767px) {
  .sp-only-dl-table dt, .sp-only-dl-table dd {
    padding: 5px 0;
    margin-left: 0;
  }
  .sp-only-dl-table dt {
    font-weight: bold;
    text-align: center;
    background: var(--color-07);
  }
  .sp-only-dl-table dt:nth-of-type(n+2) {
    margin-top: 1em;
  }
  .sp-only-dl-table dt::before, .sp-only-dl-table dt::after {
    display: none;
  }
}
/* --- グリッド ------------------- */
.s-grid2, .s-grid3 {
  display: grid;
  gap: 40px;
  justify-content: center;
}
@media (min-width: 768px) {
  .s-grid2 {
    grid-template-columns: repeat(2, auto);
  }
  .s-grid3 {
    grid-template-columns: repeat(3, auto);
  }
}
@media (max-width: 1023px) and (min-width: 768px) {
  .s-grid3 {
    gap: 20px;
  }
}
@media (max-width: 767px) {
  .s-grid2, .s-grid3 {
    grid-template-columns: auto;
    gap: 20px;
    align-items: center;
  }
}
/* --- アコーディオン ------------------- */
.btn-accordion {
  position: relative;
  padding: 0 0 0 20px;
  color: var(--color-04);
  outline: 2px solid transparent;
}
.type-pc .btn-accordion:hover {
  text-decoration: underline;
}
.btn-accordion::before {
  position: absolute;
  top: 4px;
  left: 0;
  display: inline-block;
  width: 16px;
  height: 16px;
  content: "";
  background: var(--color-04) url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2022%2028%22%20style%3D%22enable-background%3Anew%200%200%2022%2028%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M22%2011.5v3c0%20.8-.7%201.5-1.5%201.5H14v6.5c0%20.8-.7%201.5-1.5%201.5h-3c-.8%200-1.5-.7-1.5-1.5V16H1.5C.7%2016%200%2015.3%200%2014.5v-3c0-.8.7-1.5%201.5-1.5H8V3.5C8%202.7%208.7%202%209.5%202h3c.8%200%201.5.7%201.5%201.5V10h6.5c.8%200%201.5.7%201.5%201.5z%22%20style%3D%22fill%3A%23fff%22%2F%3E%3C%2Fsvg%3E") no-repeat center top 2px;
  background-size: 10px auto;
  border-radius: 2px;
}
.btn-accordion.is-active::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2022%2028%22%20style%3D%22enable-background%3Anew%200%200%2022%2028%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M22%2011.5v3c0%20.8-.7%201.5-1.5%201.5h-19C.7%2016%200%2015.3%200%2014.5v-3c0-.8.7-1.5%201.5-1.5h19c.8%200%201.5.7%201.5%201.5z%22%20style%3D%22fill%3A%23fff%22%2F%3E%3C%2Fsvg%3E");
  background-size: 10px auto;
}
/* --- youtubeレスポンシブ ------------------- */
.youtube-wrapper {
  max-width: 780px;
}
.youtube-wrapper iframe {
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9;
  border: none;
  border-radius: 2px;
}
lite-youtube {
  position: relative;
  display: block;
  width: 100%;
  max-width: 780px;
  aspect-ratio: 16/9;
  cursor: pointer;
  background: #000 none no-repeat center center;
  background-size: cover;
  border-radius: 2px;
  transition: filter 0.2s cubic-bezier(0, 0, 0.2, 1);
}
@media (hover: hover) {
  lite-youtube:not(.lyt-activated):hover {
    filter: brightness(1.2);
  }
}
@media (hover: none) {
  lite-youtube:not(.lyt-activated):active {
    filter: brightness(1.2);
  }
}
lite-youtube:not(.lyt-activated):has(.lty-playbtn:focus) {
  filter: brightness(1.2);
  border-radius: 1px;
  outline: 2px solid #333;
}
lite-youtube::before {
  position: absolute;
  top: 0;
  display: block;
  width: 100%;
  height: 70px;
  padding: 20px 0 0 20px;
  overflow: hidden;
  font-family: Roboto, Arial, Helvetica, sans-serif;
  font-size: 18px;
  line-height: 1.3;
  color: #eee;
  text-overflow: ellipsis;
  text-shadow: 0 0 2px rgba(0, 0, 0, 0.5);
  word-wrap: normal;
  white-space: nowrap;
  content: attr(playlabel);
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.52) 5%, rgba(0, 0, 0, 0.38) 20%, rgba(0, 0, 0, 0.29) 30%, rgba(0, 0, 0, 0.23) 40%, rgba(0, 0, 0, 0.18) 50%, rgba(0, 0, 0, 0) 100%);
  background-repeat: repeat-x;
  background-position: top;
  border-radius: 2px 2px 0 0;
  transition: all 0.2s cubic-bezier(0, 0, 0.2, 1);
}
lite-youtube > iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 2px;
}
.lty-playbtn {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  display: block;
  width: 68px;
  height: 48px;
  cursor: pointer;
  background-color: transparent;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 68 48"><path d="M66.52 7.74c-.78-2.93-2.49-5.41-5.42-6.19C55.79.13 34 0 34 0S12.21.13 6.9 1.55c-2.93.78-4.63 3.26-5.42 6.19C.06 13.05 0 24 0 24s.06 10.95 1.48 16.26c.78 2.93 2.49 5.41 5.42 6.19C12.21 47.87 34 48 34 48s21.79-.13 27.1-1.55c2.93-.78 4.64-3.26 5.42-6.19C67.94 34.95 68 24 68 24s-.06-10.95-1.48-16.26z" fill="red"/><path d="M45 24 27 14v20" fill="white"/></svg>');
  border: none;
  transition: filter 0.1s cubic-bezier(0, 0, 0.2, 1);
  transform: translate3d(-50%, -50%, 0);
}
.lty-playbtn:focus-visible {
  outline: 0;
}
@document url-prefix() {
  .lty-playbtn {
    transition: none;
  }
  .lty-playbtn:focus-visible {
    border-radius: 12px;
    outline: 2px solid #333;
  }
}
lite-youtube.lyt-activated {
  cursor: unset;
}
lite-youtube.lyt-activated::before, lite-youtube.lyt-activated > .lty-playbtn {
  pointer-events: none;
  opacity: 0;
}
.lyt-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
/* --- モーダルウインドウ ------------------- */
.s-modal-thumb {
  position: relative;
}
.s-modal-thumb img {
  width: 100%;
  height: auto;
}
.s-modal-open {
  position: absolute;
  inset: 0;
  color: transparent;
}
.s-modal-open::before {
  position: absolute;
  right: 12px;
  bottom: 12px;
  display: block;
  width: 56px;
  height: 56px;
  content: "";
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22%23666666%22%20viewBox%3D%220%200%20256%20256%22%3E%3Cpath%20d%3D%22M152%2C112a8%2C8%2C0%2C0%2C1-8%2C8H120v24a8%2C8%2C0%2C0%2C1-16%2C0V120H80a8%2C8%2C0%2C0%2C1%2C0-16h24V80a8%2C8%2C0%2C0%2C1%2C16%2C0v24h24A8%2C8%2C0%2C0%2C1%2C152%2C112Zm77.66%2C117.66a8%2C8%2C0%2C0%2C1-11.32%2C0l-50.06-50.07a88.11%2C88.11%2C0%2C1%2C1%2C11.31-11.31l50.07%2C50.06A8%2C8%2C0%2C0%2C1%2C229.66%2C229.66ZM112%2C184a72%2C72%2C0%2C1%2C0-72-72A72.08%2C72.08%2C0%2C0%2C0%2C112%2C184Z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E") no-repeat center center;
  background-color: rgba(255, 255, 255, 0.8);
  background-size: 80% auto;
  border-radius: 50%;
  transition: 0.2s linear;
}
@media all and (max-width: 767px) {
  .s-modal-open::before {
    right: 6px;
    bottom: 6px;
    width: 44px;
    height: 44px;
  }
}
.type-pc .s-modal-open:hover::before {
  transform: scale(1.1);
}
.s-modal {
  position: fixed;
  inset: 0;
  z-index: 35;
  display: none;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
}
.s-modal-close {
  position: absolute;
  top: 80px;
  right: 50px;
  display: flex;
  gap: 4px;
  align-items: center;
  height: 40px;
  padding: 0 1em;
  background: #fff;
  border: none;
  border-radius: 2px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
.s-modal-close::before {
  display: inline-block;
  width: 16px;
  height: 16px;
  content: "";
  background-color: #333;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2232%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%20256%20256%22%3E%3Cpath%20d%3D%22M208.49%20191.51a12%2012%200%200%201-17%2017L128%20145l-63.51%2063.49a12%2012%200%200%201-17-17L111%20128%2047.51%2064.49a12%2012%200%200%201%2017-17L128%20111l63.51-63.52a12%2012%200%200%201%2017%2017L145%20128z%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  border-radius: 2px;
  transform: translate(0, -1px);
}
.type-pc .s-modal-close:hover {
  opacity: 0.8;
}
@media all and (max-width: 767px) {
  .s-modal-close {
    top: 50px;
    right: 10px;
  }
}
.s-modal-contents {
  display: none;
  height: 100vh;
}
.s-modal-contents.is-visible {
  display: grid;
  place-content: center;
}
.s-modal-contents img {
  width: auto;
  max-height: 100vh;
}
/* --- other ------------------- */
.form-wrapper {
  max-width: 780px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .pc-only {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .sp-only {
    display: none;
  }
}
.tb-only {
  display: none;
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .tb-only {
    display: unset;
  }
}
.s-none {
  display: none;
}
.s-bold {
  font-weight: bold;
}
.set-center {
  text-align: center;
}
.set-left {
  text-align: left;
}
.set-right {
  text-align: right;
}
.v-top {
  vertical-align: top;
}
.v-bottom {
  vertical-align: bottom;
}
.v-middle {
  vertical-align: middle;
}
.clear::before {
  display: table;
  content: "";
}
.clear::after {
  display: table;
  clear: both;
  content: "";
}
.font10 {
  font-size: 77%;
  line-height: 200%;
}
.font11 {
  font-size: 85%;
  line-height: 191%;
}
.font12 {
  font-size: 93%;
  line-height: 184%;
}
.font13 {
  font-size: 100%;
  line-height: 177%;
}
.font14 {
  font-size: 108%;
  line-height: 172%;
}
.font15 {
  font-size: 116%;
  line-height: 167%;
}
.font16 {
  font-size: 124%;
  line-height: 163%;
}
.font17 {
  font-size: 131%;
  line-height: 159%;
}
.font18 {
  font-size: 139%;
  line-height: 156%;
}
.font19 {
  font-size: 147%;
  line-height: 153%;
}
.font20 {
  font-size: 154%;
  line-height: 150%;
}
.font21 {
  font-size: 162%;
  line-height: 148%;
}
.font22 {
  font-size: 170%;
  line-height: 146%;
}
.font23 {
  font-size: 177%;
  line-height: 144%;
}
.font24 {
  font-size: 185%;
  line-height: 142%;
}
.font25 {
  font-size: 193%;
  line-height: 140%;
}
.m-auto {
  margin: 0 auto;
}
.m-t05em {
  margin-top: 0.5em;
}
.m-t1em {
  margin-top: 1em;
}
@media screen and (min-width: 768px) {
  .sp-only-m-t1em {
    margin-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .sp-only-m-t1em {
    margin-top: 1em;
  }
}
.m-t2em {
  margin-top: 2em;
}
.m-t0 {
  margin-top: 0;
}
.m-t5 {
  margin-top: 5px;
}
.m-t10 {
  margin-top: 10px;
}
.m-t15 {
  margin-top: 15px;
}
.m-t20 {
  margin-top: 20px;
}
.m-t25 {
  margin-top: 25px;
}
.m-t30 {
  margin-top: 30px;
}
.m-t35 {
  margin-top: 35px;
}
.m-t40 {
  margin-top: 40px;
}
.m-t45 {
  margin-top: 45px;
}
.m-t50 {
  margin-top: 50px;
}
.m-t55 {
  margin-top: 55px;
}
.m-t60 {
  margin-top: 60px;
}
.m-t65 {
  margin-top: 65px;
}
.m-t70 {
  margin-top: 70px;
}
.m-t75 {
  margin-top: 75px;
}
.m-t80 {
  margin-top: 80px;
}
.m-t85 {
  margin-top: 85px;
}
.m-t90 {
  margin-top: 90px;
}
.m-t95 {
  margin-top: 95px;
}
.m-t100 {
  margin-top: 100px;
}
.m-up0 {
  margin-top: 0;
}
.m-up5 {
  margin-top: -5px;
}
.m-up10 {
  margin-top: -10px;
}
.m-up15 {
  margin-top: -15px;
}
.m-up20 {
  margin-top: -20px;
}
.m-up25 {
  margin-top: -25px;
}
.m-up30 {
  margin-top: -30px;
}
.m-up35 {
  margin-top: -35px;
}
.m-up40 {
  margin-top: -40px;
}
.m-up45 {
  margin-top: -45px;
}
.m-up50 {
  margin-top: -50px;
}
.m-up55 {
  margin-top: -55px;
}
.m-up60 {
  margin-top: -60px;
}
.m-up65 {
  margin-top: -65px;
}
.m-up70 {
  margin-top: -70px;
}
.m-up75 {
  margin-top: -75px;
}
.m-up80 {
  margin-top: -80px;
}
.m-up85 {
  margin-top: -85px;
}
.m-up90 {
  margin-top: -90px;
}
.m-up95 {
  margin-top: -95px;
}
.m-up100 {
  margin-top: -100px;
}
.m-r0 {
  margin-right: 0;
}
.m-r5 {
  margin-right: 5px;
}
.m-r10 {
  margin-right: 10px;
}
.m-r15 {
  margin-right: 15px;
}
.m-r20 {
  margin-right: 20px;
}
.m-r25 {
  margin-right: 25px;
}
.m-r30 {
  margin-right: 30px;
}
.m-r35 {
  margin-right: 35px;
}
.m-r40 {
  margin-right: 40px;
}
.m-r45 {
  margin-right: 45px;
}
.m-r50 {
  margin-right: 50px;
}
.m-r55 {
  margin-right: 55px;
}
.m-r60 {
  margin-right: 60px;
}
.m-r65 {
  margin-right: 65px;
}
.m-r70 {
  margin-right: 70px;
}
.m-r75 {
  margin-right: 75px;
}
.m-r80 {
  margin-right: 80px;
}
.m-r85 {
  margin-right: 85px;
}
.m-r90 {
  margin-right: 90px;
}
.m-r95 {
  margin-right: 95px;
}
.m-r100 {
  margin-right: 100px;
}
.m-b0 {
  margin-bottom: 0;
}
.m-b5 {
  margin-bottom: 5px;
}
.m-b10 {
  margin-bottom: 10px;
}
.m-b15 {
  margin-bottom: 15px;
}
.m-b20 {
  margin-bottom: 20px;
}
.m-b25 {
  margin-bottom: 25px;
}
.m-b30 {
  margin-bottom: 30px;
}
.m-b35 {
  margin-bottom: 35px;
}
.m-b40 {
  margin-bottom: 40px;
}
.m-b45 {
  margin-bottom: 45px;
}
.m-b50 {
  margin-bottom: 50px;
}
.m-b55 {
  margin-bottom: 55px;
}
.m-b60 {
  margin-bottom: 60px;
}
.m-b65 {
  margin-bottom: 65px;
}
.m-b70 {
  margin-bottom: 70px;
}
.m-b75 {
  margin-bottom: 75px;
}
.m-b80 {
  margin-bottom: 80px;
}
.m-b85 {
  margin-bottom: 85px;
}
.m-b90 {
  margin-bottom: 90px;
}
.m-b95 {
  margin-bottom: 95px;
}
.m-b100 {
  margin-bottom: 100px;
}
.m-l1em {
  margin-left: 1em;
}
.m-l0 {
  margin-left: 0;
}
.m-l5 {
  margin-left: 5px;
}
.m-l10 {
  margin-left: 10px;
}
.m-l15 {
  margin-left: 15px;
}
.m-l20 {
  margin-left: 20px;
}
.m-l25 {
  margin-left: 25px;
}
.m-l30 {
  margin-left: 30px;
}
.m-l35 {
  margin-left: 35px;
}
.m-l40 {
  margin-left: 40px;
}
.m-l45 {
  margin-left: 45px;
}
.m-l50 {
  margin-left: 50px;
}
.m-l55 {
  margin-left: 55px;
}
.m-l60 {
  margin-left: 60px;
}
.m-l65 {
  margin-left: 65px;
}
.m-l70 {
  margin-left: 70px;
}
.m-l75 {
  margin-left: 75px;
}
.m-l80 {
  margin-left: 80px;
}
.m-l85 {
  margin-left: 85px;
}
.m-l90 {
  margin-left: 90px;
}
.m-l95 {
  margin-left: 95px;
}
.m-l100 {
  margin-left: 100px;
}
.p-t0 {
  padding-top: 0;
}
.p-t5 {
  padding-top: 5px;
}
.p-t10 {
  padding-top: 10px;
}
.p-t15 {
  padding-top: 15px;
}
.p-t20 {
  padding-top: 20px;
}
.p-t25 {
  padding-top: 25px;
}
.p-t30 {
  padding-top: 30px;
}
.p-t35 {
  padding-top: 35px;
}
.p-t40 {
  padding-top: 40px;
}
.p-t45 {
  padding-top: 45px;
}
.p-t50 {
  padding-top: 50px;
}
.p-r0 {
  padding-right: 0;
}
.p-r5 {
  padding-right: 5px;
}
.p-r10 {
  padding-right: 10px;
}
.p-r15 {
  padding-right: 15px;
}
.p-r20 {
  padding-right: 20px;
}
.p-r25 {
  padding-right: 25px;
}
.p-r30 {
  padding-right: 30px;
}
.p-r35 {
  padding-right: 35px;
}
.p-r40 {
  padding-right: 40px;
}
.p-r45 {
  padding-right: 45px;
}
.p-r50 {
  padding-right: 50px;
}
.p-b0 {
  padding-bottom: 0;
}
.p-b5 {
  padding-bottom: 5px;
}
.p-b10 {
  padding-bottom: 10px;
}
.p-b15 {
  padding-bottom: 15px;
}
.p-b20 {
  padding-bottom: 20px;
}
.p-b25 {
  padding-bottom: 25px;
}
.p-b30 {
  padding-bottom: 30px;
}
.p-b35 {
  padding-bottom: 35px;
}
.p-b40 {
  padding-bottom: 40px;
}
.p-b45 {
  padding-bottom: 45px;
}
.p-b50 {
  padding-bottom: 50px;
}
.p-l0 {
  padding-left: 0;
}
.p-l5 {
  padding-left: 5px;
}
.p-l10 {
  padding-left: 10px;
}
.p-l15 {
  padding-left: 15px;
}
.p-l20 {
  padding-left: 20px;
}
.p-l25 {
  padding-left: 25px;
}
.p-l30 {
  padding-left: 30px;
}
.p-l35 {
  padding-left: 35px;
}
.p-l40 {
  padding-left: 40px;
}
.p-l45 {
  padding-left: 45px;
}
.p-l50 {
  padding-left: 50px;
}
@page {
  size: 210mm 297mm;
}
@media print {
  .header, .footer, .news-recommend, .news-back, .btn-to-top {
    display: none;
  }
  .l-main {
    padding: 0;
  }
  .l-contents {
    padding-bottom: 0;
    margin-top: 20px;
  }
  .ttl-secondary {
    font-size: 42px;
  }
  h2 {
    margin-top: 80px;
    font-size: 30px;
  }
  .set-center:has(> img) {
    width: 80%;
    margin-inline: auto;
  }
  .ttl-article {
    margin-top: 20px;
  }
}