@charset "UTF-8";

/* ==========================================================================
    Common style
============================================================================= */
:root {
  --font1: "Zen Kaku Gothic Antique", sans-serif;
  --font2: "Shippori Mincho", serif;
  --font3: "Lato", sans-serif;
  --color-base: #222;
  --color-green: #afff27;
}

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

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

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

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

@-webkit-keyframes fade-in {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes fade-in {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@-webkit-keyframes slid-in-up {
  0% {
    -webkit-transform: translate3d(0, 20%, 0);
    transform: translate3d(0, 20%, 0);
    visibility: visible;
    opacity: 0;
  }

  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

@keyframes slid-in-up {
  0% {
    -webkit-transform: translate3d(0, 20%, 0);
    transform: translate3d(0, 20%, 0);
    visibility: visible;
    opacity: 0;
  }

  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

@-webkit-keyframes img-fade-in {
  0% {
    opacity: 0;
    -webkit-filter: blur(15px);
    filter: blur(15px);
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }

  100% {
    opacity: 1;
    -webkit-filter: blur(0px);
    filter: blur(0px);
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes img-fade-in {
  0% {
    opacity: 0;
    -webkit-filter: blur(15px);
    filter: blur(15px);
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }

  100% {
    opacity: 1;
    -webkit-filter: blur(0px);
    filter: blur(0px);
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@media screen and (min-width: 768px) {
  body:not(.is-pc-safari) {
    background: url("../img_r2/common/bg_noise.svg") repeat 0 0/200px;
  }
}

@media screen and (max-width: 767.98px) {
  body {
    position: relative;
  }

  body::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    inset: 0;
    background-image: -webkit-radial-gradient(15% 20%, 1px 1px, rgba(0, 0, 0, 0.05) 50%, transparent 51%), -webkit-radial-gradient(85% 30%, 1px 1px, rgba(0, 0, 0, 0.05) 50%, transparent 51%), -webkit-radial-gradient(40% 75%, 1px 1px, rgba(0, 0, 0, 0.05) 50%, transparent 51%), -webkit-radial-gradient(70% 55%, 1px 1px, rgba(0, 0, 0, 0.05) 50%, transparent 51%), -webkit-radial-gradient(25% 65%, 1px 1px, rgba(0, 0, 0, 0.05) 50%, transparent 51%), -webkit-radial-gradient(60% 15%, 1px 1px, rgba(0, 0, 0, 0.05) 50%, transparent 51%), -webkit-radial-gradient(10% 85%, 1px 1px, rgba(0, 0, 0, 0.05) 50%, transparent 51%), -webkit-radial-gradient(95% 45%, 1px 1px, rgba(0, 0, 0, 0.05) 50%, transparent 51%), -webkit-radial-gradient(35% 35%, 1px 1px, rgba(0, 0, 0, 0.05) 50%, transparent 51%), -webkit-radial-gradient(80% 80%, 1px 1px, rgba(0, 0, 0, 0.05) 50%, transparent 51%);
    background-image: radial-gradient(1px 1px at 15% 20%, rgba(0, 0, 0, 0.05) 50%, transparent 51%), radial-gradient(1px 1px at 85% 30%, rgba(0, 0, 0, 0.05) 50%, transparent 51%), radial-gradient(1px 1px at 40% 75%, rgba(0, 0, 0, 0.05) 50%, transparent 51%), radial-gradient(1px 1px at 70% 55%, rgba(0, 0, 0, 0.05) 50%, transparent 51%), radial-gradient(1px 1px at 25% 65%, rgba(0, 0, 0, 0.05) 50%, transparent 51%), radial-gradient(1px 1px at 60% 15%, rgba(0, 0, 0, 0.05) 50%, transparent 51%), radial-gradient(1px 1px at 10% 85%, rgba(0, 0, 0, 0.05) 50%, transparent 51%), radial-gradient(1px 1px at 95% 45%, rgba(0, 0, 0, 0.05) 50%, transparent 51%), radial-gradient(1px 1px at 35% 35%, rgba(0, 0, 0, 0.05) 50%, transparent 51%), radial-gradient(1px 1px at 80% 80%, rgba(0, 0, 0, 0.05) 50%, transparent 51%);
    background-size: 10px 10px;
    mix-blend-mode: multiply;
    opacity: 0.8;
    pointer-events: none;
  }

  body #document {
    position: relative;
    z-index: 1;
  }
}

.l-header {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 20px 40px;
  padding: 40px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.l-header.is-open .c-header__nav {
  background-color: #efefef;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  gap: 40px;
  overflow-y: scroll;
  padding-block: 100px;
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100%;
  z-index: 50;
  scrollbar-width: none;
}

.l-header.is-open .c-header__menu,
.l-header.is-open .c-header__btns {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.l-header.is-open .c-header__menu {
  gap: 0;
  width: 100%;
}

.l-header.is-open .c-header__menu>li {
  padding-inline: 20px;
  width: calc(100% - 40px);
}

.l-header.is-open .c-header__menu a {
  display: block;
  padding-block: 20px;
  text-align: center;
  width: 100%;
}

.l-header .c-header__menu a[target="_blank"]::after {
  content: "";
  background: url("data:image/svg+xml,%3Csvg width='22' height='23' viewBox='0 0 22 23' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.2002 2.59766C12.5918 2.59766 12.1002 3.08922 12.1002 3.69766C12.1002 4.30609 12.5918 4.79766 13.2002 4.79766H16.043L9.11988 11.7208C8.69019 12.1505 8.69019 12.8483 9.11988 13.278C9.54957 13.7077 10.2474 13.7077 10.6771 13.278L17.6002 6.35484V9.19766C17.6002 9.80609 18.0918 10.2977 18.7002 10.2977C19.3086 10.2977 19.8002 9.80609 19.8002 9.19766V3.69766C19.8002 3.08922 19.3086 2.59766 18.7002 2.59766H13.2002ZM4.9502 5.89766C3.43082 5.89766 2.2002 7.12828 2.2002 8.64766V17.4477C2.2002 18.967 3.43082 20.1977 4.9502 20.1977H13.7502C15.2696 20.1977 16.5002 18.967 16.5002 17.4477V14.6977C16.5002 14.0892 16.0086 13.5977 15.4002 13.5977C14.7918 13.5977 14.3002 14.0892 14.3002 14.6977V17.4477C14.3002 17.7502 14.0527 17.9977 13.7502 17.9977H4.9502C4.6477 17.9977 4.4002 17.7502 4.4002 17.4477V8.64766C4.4002 8.34516 4.6477 8.09766 4.9502 8.09766H7.70019C8.30863 8.09766 8.80019 7.60609 8.80019 6.99766C8.80019 6.38922 8.30863 5.89766 7.70019 5.89766H4.9502Z' fill='%23222222'/%3E%3C/svg%3E") no-repeat center/contain;
  display: inline-block;
  height: 14px;
  width: 16px;
  margin-inline-start: 2px;
  margin-block-end: 2px;
  vertical-align: text-bottom;
}

.l-header.is-open .c-header__btns {
  -webkit-margin-after: 160px;
  margin-block-end: 160px;
}

.l-header.is-open .c-header__btn {
  padding: 17px 16px;
  width: 300px;
}

.l-header.is-fixed {
  background-color: #fff;
  padding: 20px;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
}

.l-header.is-fixed .c-header__logo {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 50px;
  mix-blend-mode: multiply;
  position: relative;
  z-index: 100;
}

.l-header.is-fixed .c-header__menu {
  font-size: 1.2rem;
  gap: 14px;
}

@media screen and (min-width: 768px) {
  .l-header.is-fixed .c-header__btn {
    font-size: 1.2rem;
    padding: 10px 14px;
  }
}

@media screen and (max-width: 767.98px) {
  .l-header {
    padding: 20px;
  }

  .l-header.is-fixed {
    padding: 10px;
  }
}

.c-header__nav {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  font-weight: bold;
  gap: 30px;
  -webkit-margin-start: auto;
  margin-inline-start: auto;
}

.c-header__menu {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
}

.c-header__menu a {
  color: var(--color-base);
}

.c-header__menu a:hover {
  opacity: 0.7;
}

.c-header__btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
}

.c-header__btn {
  border-radius: 3px;
  color: #fff;
  font-weight: bold;
  padding: 17px 16px;
}

.c-header__btn .btn-label {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 6px;
}

.c-header__btn .btn-label::before {
  content: "";
  display: block;
  height: 10px;
  width: 10px;
}

.c-header__btn.is-black {
  background-color: var(--color-base);
}

.c-header__btn.is-black .btn-label::before {
  background: url("data:image/svg+xml,%3Csvg width='10' height='11' viewBox='0 0 10 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 1.07735C4.6188 0.720085 5.3812 0.720085 6 1.07735L8.33013 2.42265C8.94893 2.77992 9.33013 3.44017 9.33013 4.1547V6.8453C9.33013 7.55983 8.94893 8.22008 8.33013 8.57735L6 9.92265C5.3812 10.2799 4.6188 10.2799 4 9.92265L1.66987 8.57735C1.05107 8.22008 0.669873 7.55983 0.669873 6.8453V4.1547C0.669873 3.44017 1.05107 2.77992 1.66987 2.42265L4 1.07735Z' fill='%23AFFF27'/%3E%3C/svg%3E%0A") no-repeat center/10px auto;
}

.c-header__btn.is-black:hover {
  background-color: var(--color-green);
  color: var(--color-base);
}

.c-header__btn.is-black:hover .btn-label::before {
  background: url("data:image/svg+xml,%3Csvg width='10' height='11' viewBox='0 0 10 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 1.07735C4.6188 0.720085 5.3812 0.720085 6 1.07735L8.33013 2.42265C8.94893 2.77992 9.33013 3.44017 9.33013 4.1547V6.8453C9.33013 7.55983 8.94893 8.22008 8.33013 8.57735L6 9.92265C5.3812 10.2799 4.6188 10.2799 4 9.92265L1.66987 8.57735C1.05107 8.22008 0.669873 7.55983 0.669873 6.8453V4.1547C0.669873 3.44017 1.05107 2.77992 1.66987 2.42265L4 1.07735Z' fill='%23222222'/%3E%3C/svg%3E%0A") no-repeat center/10px auto;
}

.c-header__btn.is-pink {
  background-color: #ff27f8;
}

.c-header__btn.is-pink .btn-label::before {
  background: url("data:image/svg+xml,%3Csvg width='10' height='11' viewBox='0 0 10 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 1.07735C4.6188 0.720085 5.3812 0.720085 6 1.07735L8.33013 2.42265C8.94893 2.77992 9.33013 3.44017 9.33013 4.1547V6.8453C9.33013 7.55983 8.94893 8.22008 8.33013 8.57735L6 9.92265C5.3812 10.2799 4.6188 10.2799 4 9.92265L1.66987 8.57735C1.05107 8.22008 0.669873 7.55983 0.669873 6.8453V4.1547C0.669873 3.44017 1.05107 2.77992 1.66987 2.42265L4 1.07735Z' fill='%23FFFFFF'/%3E%3C/svg%3E") no-repeat center/10px auto;
}

.c-header__btn.is-pink:hover {
  background-color: var(--color-base);
  color: #ff27f8;
}

.c-header__btn.is-pink:hover .btn-label::before {
  background: url("data:image/svg+xml,%3Csvg width='10' height='11' viewBox='0 0 10 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 1.07735C4.6188 0.720085 5.3812 0.720085 6 1.07735L8.33013 2.42265C8.94893 2.77992 9.33013 3.44017 9.33013 4.1547V6.8453C9.33013 7.55983 8.94893 8.22008 8.33013 8.57735L6 9.92265C5.3812 10.2799 4.6188 10.2799 4 9.92265L1.66987 8.57735C1.05107 8.22008 0.669873 7.55983 0.669873 6.8453V4.1547C0.669873 3.44017 1.05107 2.77992 1.66987 2.42265L4 1.07735Z' fill='%23FF27F8'/%3E%3C/svg%3E") no-repeat center/10px auto;
}

.c-header__btn.is-toggle {
  position: relative;
}

.c-header__btn.is-toggle .btn-label::after {
  background: url("data:image/svg+xml,%3Csvg width='10' height='9' viewBox='0 0 10 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='0.5' y1='4.25' x2='9.5' y2='4.25' stroke='white' stroke-width='1.5'/%3E%3Cline x1='5.25' y1='3.27835e-08' x2='5.25' y2='9' stroke='white' stroke-width='1.5'/%3E%3C/svg%3E%0A") no-repeat center/9px 9px;
  content: "";
  display: block;
  -webkit-margin-start: auto;
  margin-inline-start: auto;
  height: 9px;
  width: 9px;
}

.c-header__btn.is-toggle .sub-menu {
  position: absolute;
}

.c-header__btn.is-toggle .sub-menu a {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: var(--color-base);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: bold;
  -webkit-padding-after: 16px;
  padding-block-end: 16px;
}

.c-header__btn.is-toggle .sub-menu a:hover {
  opacity: 0.6;
}

.c-header__btn.is-toggle .sub-menu a::after {
  background: url("../img_r2/common/ico_arrow_gray.webp") no-repeat center/contain;
  content: "";
  display: block;
  -webkit-margin-start: auto;
  margin-inline-start: auto;
  height: 11px;
  width: 11px;
}

.c-header__btn.is-toggle .sub-menu a[target="_blank"]::after {
  background-image: url("../img_r2/common/ico_extr_gray.webp");
  height: 13px;
  width: 13px;
}

.c-header__btn.is-toggle .sub-menu li+li {
  -webkit-border-before: solid 1px #ddd;
  border-block-start: solid 1px #ddd;
}

.c-header__btn.is-toggle .sub-menu li+li a {
  -webkit-padding-before: 16px;
  padding-block-start: 16px;
}

@media (min-width: 1400px) {
  .c-header__nav {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }

  .c-header__btn.is-toggle {
    cursor: pointer;
    z-index: 30;
  }

  .c-header__btn.is-toggle .sub-menu {
    background-color: #fff;
    -webkit-box-shadow: 0 8px 17px rgba(0, 0, 0, 0.1);
    box-shadow: 0 8px 17px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    padding: 30px 30px 14px;
    top: 100%;
    right: 0;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    width: 220px;
  }

  .c-header__btn.is-toggle:hover .btn-label::after {
    background: none;
    -webkit-border-before: solid 1px #ff27f8;
    border-block-start: solid 1px #ff27f8;
    -webkit-margin-before: 10px;
    margin-block-start: 10px;
  }

  .c-header__btn.is-toggle:hover .sub-menu {
    opacity: 1;
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
    visibility: visible;
  }
}

@media (max-width: 1399.98px) {
  .c-header__nav {
    display: none;
  }

  .c-header__btn.is-toggle .sub-menu {
    max-height: 0;
    overflow: hidden;
    -webkit-transition: max-height 0.3s ease;
    transition: max-height 0.3s ease;
    top: 80px;
    left: 0;
    width: 100%;
  }

  .c-header__btn.is-toggle.is-active .sub-menu {
    max-height: 300px;
  }

  .c-header__btn.is-toggle.is-active .btn-label::after {
    background: none;
    -webkit-border-before: solid 1px #fff;
    border-block-start: solid 1px #fff;
    -webkit-margin-before: 10px;
    margin-block-start: 10px;
  }
}

@media screen and (max-width: 767.98px) {
  .c-header__logo {
    width: 240px;
  }
}

.c-hamburger {
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  -webkit-margin-start: auto;
  margin-inline-start: auto;
  outline: none;
  position: relative;
  height: 50px;
  width: 32px;
  z-index: 200;
  -webkit-tap-highlight-color: transparent;
}

.c-hamburger__bar {
  display: -ms-grid;
  display: grid;
  gap: 8px;
  place-content: center;
}

.c-hamburger__bar::before,
.c-hamburger__bar::after {
  background-color: var(--color-base);
  border-radius: 5px;
  content: "";
  display: block;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  height: 2px;
  width: 32px;
}

.c-hamburger.is-active {
  position: fixed;
  top: 20px;
  right: 20px;
}

.c-hamburger.is-active .c-hamburger__bar::before {
  -webkit-transform: rotate(35deg) translate(3px, 3px);
  transform: rotate(35deg) translate(3px, 3px);
}

.c-hamburger.is-active .c-hamburger__bar::after {
  -webkit-transform: rotate(-35deg) translate(4px, -4px);
  transform: rotate(-35deg) translate(4px, -4px);
}

@media (min-width: 1400px) {
  .c-hamburger {
    display: none;
  }
}

@media screen and (max-width: 767.98px) {
  .c-hamburger.is-active {
    top: 10px;
    right: 10px;
  }
}

.l-footer {
  background-color: #fff;
  padding: 50px min(5.0694vw, 73px);
}

.l-footer .copyright {
  color: #888;
  font-size: 1.2rem;
  -webkit-margin-before: 80px;
  margin-block-start: 80px;
}

.c-footer__inner {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 60px;
}

.c-footer__menu {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: min(2.0833vw, 30px);
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.c-footer__menu a,
.c-footer__menu button {
  color: var(--color-base);
  display: block;
  font-weight: bold;
  text-align: left;
  width: 100%;
}

.c-footer__menu a:hover,
.c-footer__menu button:hover {
  opacity: 0.7;
}

.c-footer__menu a[target="_blank"]::after {
  content: "";
  background:url("data:image/svg+xml,%3Csvg width='22' height='23' viewBox='0 0 22 23' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.2002 2.59766C12.5918 2.59766 12.1002 3.08922 12.1002 3.69766C12.1002 4.30609 12.5918 4.79766 13.2002 4.79766H16.043L9.11988 11.7208C8.69019 12.1505 8.69019 12.8483 9.11988 13.278C9.54957 13.7077 10.2474 13.7077 10.6771 13.278L17.6002 6.35484V9.19766C17.6002 9.80609 18.0918 10.2977 18.7002 10.2977C19.3086 10.2977 19.8002 9.80609 19.8002 9.19766V3.69766C19.8002 3.08922 19.3086 2.59766 18.7002 2.59766H13.2002ZM4.9502 5.89766C3.43082 5.89766 2.2002 7.12828 2.2002 8.64766V17.4477C2.2002 18.967 3.43082 20.1977 4.9502 20.1977H13.7502C15.2696 20.1977 16.5002 18.967 16.5002 17.4477V14.6977C16.5002 14.0892 16.0086 13.5977 15.4002 13.5977C14.7918 13.5977 14.3002 14.0892 14.3002 14.6977V17.4477C14.3002 17.7502 14.0527 17.9977 13.7502 17.9977H4.9502C4.6477 17.9977 4.4002 17.7502 4.4002 17.4477V8.64766C4.4002 8.34516 4.6477 8.09766 4.9502 8.09766H7.70019C8.30863 8.09766 8.80019 7.60609 8.80019 6.99766C8.80019 6.38922 8.30863 5.89766 7.70019 5.89766H4.9502Z' fill='%23222222'/%3E%3C/svg%3E") no-repeat center/contain;
  display: inline-block;
  height: 14px;
  width: 16px;
  margin-inline-start: 2px;
  margin-block-end: 2px;
  vertical-align: text-bottom;
}

.c-footer__menu>li {
  position: relative;
}

.c-footer__menu .sub-menu {
  background-color: #efefef;
  border-radius: 10px;
  position: absolute;
  display: none;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  padding: 10px 20px;
  width: 10em;
}

.c-footer__menu .sub-menu li+li {
  -webkit-border-before: solid 1px #ddd;
  border-block-start: solid 1px #ddd;
}

.c-footer__menu .sub-menu li a {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-block: 10px;
}

.c-footer__menu .sub-menu li a::after {
  background: url("data:image/svg+xml,%3Csvg width='20' height='18' viewBox='0 0 20 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 9H17.0004' stroke='%23222222' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M10.5996 1L18.5998 9L10.5996 17' stroke='%23222222' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain;
  content: "";
  display: block;
  -webkit-margin-start: auto;
  margin-inline-start: auto;
  height: 10px;
  width: 11px;
}

.c-footer__menu .sub-menu li a[target="_blank"]::after {
  background: url("data:image/svg+xml,%3Csvg width='22' height='23' viewBox='0 0 22 23' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.2002 2.59766C12.5918 2.59766 12.1002 3.08922 12.1002 3.69766C12.1002 4.30609 12.5918 4.79766 13.2002 4.79766H16.043L9.11988 11.7208C8.69019 12.1505 8.69019 12.8483 9.11988 13.278C9.54957 13.7077 10.2474 13.7077 10.6771 13.278L17.6002 6.35484V9.19766C17.6002 9.80609 18.0918 10.2977 18.7002 10.2977C19.3086 10.2977 19.8002 9.80609 19.8002 9.19766V3.69766C19.8002 3.08922 19.3086 2.59766 18.7002 2.59766H13.2002ZM4.9502 5.89766C3.43082 5.89766 2.2002 7.12828 2.2002 8.64766V17.4477C2.2002 18.967 3.43082 20.1977 4.9502 20.1977H13.7502C15.2696 20.1977 16.5002 18.967 16.5002 17.4477V14.6977C16.5002 14.0892 16.0086 13.5977 15.4002 13.5977C14.7918 13.5977 14.3002 14.0892 14.3002 14.6977V17.4477C14.3002 17.7502 14.0527 17.9977 13.7502 17.9977H4.9502C4.6477 17.9977 4.4002 17.7502 4.4002 17.4477V8.64766C4.4002 8.34516 4.6477 8.09766 4.9502 8.09766H7.70019C8.30863 8.09766 8.80019 7.60609 8.80019 6.99766C8.80019 6.38922 8.30863 5.89766 7.70019 5.89766H4.9502Z' fill='%23222222'/%3E%3C/svg%3E") no-repeat center/contain;
  height: 16px;
  width: 18px;
}

.c-footer__menu .sub-menu.is-active {
  display: block;
}

.c-footer__toggle::after {
  content: "＋";
  -webkit-margin-start: 5px;
  margin-inline-start: 5px;
}

.c-footer__toggle.is-active::after {
  content: "－";
}

@media screen and (min-width: 768px) {
  .c-footer__nav {
    -webkit-margin-start: auto;
    margin-inline-start: auto;
  }

  .c-footer__menu .sub-menu {
    top: -8.5em;
    right: -30px;
  }
}

@media screen and (max-width: 767.98px) {
  .c-footer__inner {
    -webkit-box-align: self-start;
    -ms-flex-align: self-start;
    align-items: self-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .c-footer__menu {
    gap: 30px;
    font-size: 1.3rem;
  }

  .c-footer__menu>li {
    -ms-flex-preferred-size: calc(50% - 15px);
    flex-basis: calc(50% - 15px);
  }

  .c-footer__menu>li:last-child {
    -webkit-padding-after: 5em;
    padding-block-end: 5em;
  }

  .c-footer__menu .sub-menu {
    bottom: -50px;
    left: 0;
    width: 100%;
  }
}

.loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  z-index: 1000;
}

.spinner {
  width: 50px;
  height: 50px;
  border: 5px solid #f3f3f3;
  border-top: 5px solid var(--color-green);
  border-radius: 50%;
  -webkit-animation: spin 1s linear infinite;
  animation: spin 1s linear infinite;
}

.loading-text {
  margin-top: 15px;
  font-family: var(--font3);
  color: var(--color-base);
}

.l-container {
  max-width: 1280px;
  margin-inline: auto;
}

.l-inner {
  max-width: 900px;
  margin-inline: auto;
}

@media (max-width: 1279.98px) {
  .l-container {
    padding-inline: 20px;
  }
}

.c-bg__gray {
  background-color: #363935;
  color: #fff;
  position: relative;
}

.c-bg__gray::before {
  content: "";
  opacity: 0.4;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.c-bg__gray .l-container {
  position: relative;
  z-index: 10;
}

@media screen and (min-width: 768px) {
  .c-bg__gray::before {
    background: url("../img_r2/common/bg_noise_gray.svg") repeat 0 0/40% auto;
  }

  .is-pc-safari .c-bg__gray::before {
    background-image: none;
  }
}

@media screen and (max-width: 767.98px) {
  .c-bg__gray::before {
    background-image: -webkit-radial-gradient(12% 18%, 1px 1px, rgba(0, 0, 0, 0.6) 50%, transparent 51%), -webkit-radial-gradient(33% 77%, 1px 1px, rgba(0, 0, 0, 0.6) 50%, transparent 51%), -webkit-radial-gradient(58% 22%, 1px 1px, rgba(0, 0, 0, 0.6) 50%, transparent 51%), -webkit-radial-gradient(76% 41%, 1px 1px, rgba(0, 0, 0, 0.6) 50%, transparent 51%), -webkit-radial-gradient(21% 64%, 1px 1px, rgba(0, 0, 0, 0.6) 50%, transparent 51%), -webkit-radial-gradient(48% 55%, 1px 1px, rgba(0, 0, 0, 0.6) 50%, transparent 51%), -webkit-radial-gradient(67% 83%, 1px 1px, rgba(0, 0, 0, 0.6) 50%, transparent 51%), -webkit-radial-gradient(88% 28%, 1px 1px, rgba(0, 0, 0, 0.6) 50%, transparent 51%), -webkit-radial-gradient(15% 45%, 1px 1px, rgba(0, 0, 0, 0.6) 50%, transparent 51%), -webkit-radial-gradient(90% 70%, 1px 1px, rgba(0, 0, 0, 0.6) 50%, transparent 51%), -webkit-radial-gradient(35% 12%, 1px 1px, rgba(0, 0, 0, 0.6) 50%, transparent 51%), -webkit-radial-gradient(55% 95%, 1px 1px, rgba(0, 0, 0, 0.6) 50%, transparent 51%);
    background-image: radial-gradient(1px 1px at 12% 18%, rgba(0, 0, 0, 0.6) 50%, transparent 51%), radial-gradient(1px 1px at 33% 77%, rgba(0, 0, 0, 0.6) 50%, transparent 51%), radial-gradient(1px 1px at 58% 22%, rgba(0, 0, 0, 0.6) 50%, transparent 51%), radial-gradient(1px 1px at 76% 41%, rgba(0, 0, 0, 0.6) 50%, transparent 51%), radial-gradient(1px 1px at 21% 64%, rgba(0, 0, 0, 0.6) 50%, transparent 51%), radial-gradient(1px 1px at 48% 55%, rgba(0, 0, 0, 0.6) 50%, transparent 51%), radial-gradient(1px 1px at 67% 83%, rgba(0, 0, 0, 0.6) 50%, transparent 51%), radial-gradient(1px 1px at 88% 28%, rgba(0, 0, 0, 0.6) 50%, transparent 51%), radial-gradient(1px 1px at 15% 45%, rgba(0, 0, 0, 0.6) 50%, transparent 51%), radial-gradient(1px 1px at 90% 70%, rgba(0, 0, 0, 0.6) 50%, transparent 51%), radial-gradient(1px 1px at 35% 12%, rgba(0, 0, 0, 0.6) 50%, transparent 51%), radial-gradient(1px 1px at 55% 95%, rgba(0, 0, 0, 0.6) 50%, transparent 51%);
    background-size: 20px 10px;
    mix-blend-mode: multiply;
  }
}

.p-entry {
  padding-block: 80px;
  position: relative;
}

@media screen and (max-width: 767.98px) {
  .p-entry {
    padding-block: 120px 80px;
  }
}

.c-entry__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 80px;
}

.c-entry__label {
  position: absolute;
  top: -60px;
  left: 3.472vw;
  z-index: 10;
}

.c-entry__btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.c-entry__btn {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-block: solid 1px #888;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  font-family: var(--font2);
  font-size: 2.5rem;
  gap: 20px;
  padding: 40px 10px;
}

.c-entry__btn:hover {
  color: var(--color-green);
}

.c-entry__btn:hover::after {
  background: url("data:image/svg+xml,%3Csvg width='20' height='18' viewBox='0 0 20 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 9H17.0004' stroke='%23afff27' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M10.5996 1L18.5998 9L10.5996 17' stroke='%23afff27' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain;
}

.c-entry__btn::after {
  background: url("data:image/svg+xml,%3Csvg width='20' height='18' viewBox='0 0 20 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 9H17.0004' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M10.5996 1L18.5998 9L10.5996 17' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain;
  content: "";
  display: block;
  -webkit-margin-start: auto;
  margin-inline-start: auto;
  height: 16px;
  width: 18px;
}

.c-entry__btn[target="_blank"]::after {
  background: url("data:image/svg+xml,%3Csvg width='22' height='23' viewBox='0 0 22 23' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.2002 2.59766C12.5918 2.59766 12.1002 3.08922 12.1002 3.69766C12.1002 4.30609 12.5918 4.79766 13.2002 4.79766H16.043L9.11988 11.7208C8.69019 12.1505 8.69019 12.8483 9.11988 13.278C9.54957 13.7077 10.2474 13.7077 10.6771 13.278L17.6002 6.35484V9.19766C17.6002 9.80609 18.0918 10.2977 18.7002 10.2977C19.3086 10.2977 19.8002 9.80609 19.8002 9.19766V3.69766C19.8002 3.08922 19.3086 2.59766 18.7002 2.59766H13.2002ZM4.9502 5.89766C3.43082 5.89766 2.2002 7.12828 2.2002 8.64766V17.4477C2.2002 18.967 3.43082 20.1977 4.9502 20.1977H13.7502C15.2696 20.1977 16.5002 18.967 16.5002 17.4477V14.6977C16.5002 14.0892 16.0086 13.5977 15.4002 13.5977C14.7918 13.5977 14.3002 14.0892 14.3002 14.6977V17.4477C14.3002 17.7502 14.0527 17.9977 13.7502 17.9977H4.9502C4.6477 17.9977 4.4002 17.7502 4.4002 17.4477V8.64766C4.4002 8.34516 4.6477 8.09766 4.9502 8.09766H7.70019C8.30863 8.09766 8.80019 7.60609 8.80019 6.99766C8.80019 6.38922 8.30863 5.89766 7.70019 5.89766H4.9502Z' fill='%23F3F3F3'/%3E%3C/svg%3E") no-repeat center/contain;
  height: 22px;
  width: 22px;
}

.c-entry__btn[target="_blank"]:hover::after {
  background: url("data:image/svg+xml,%3Csvg width='22' height='23' viewBox='0 0 22 23' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.2002 2.59766C12.5918 2.59766 12.1002 3.08922 12.1002 3.69766C12.1002 4.30609 12.5918 4.79766 13.2002 4.79766H16.043L9.11988 11.7208C8.69019 12.1505 8.69019 12.8483 9.11988 13.278C9.54957 13.7077 10.2474 13.7077 10.6771 13.278L17.6002 6.35484V9.19766C17.6002 9.80609 18.0918 10.2977 18.7002 10.2977C19.3086 10.2977 19.8002 9.80609 19.8002 9.19766V3.69766C19.8002 3.08922 19.3086 2.59766 18.7002 2.59766H13.2002ZM4.9502 5.89766C3.43082 5.89766 2.2002 7.12828 2.2002 8.64766V17.4477C2.2002 18.967 3.43082 20.1977 4.9502 20.1977H13.7502C15.2696 20.1977 16.5002 18.967 16.5002 17.4477V14.6977C16.5002 14.0892 16.0086 13.5977 15.4002 13.5977C14.7918 13.5977 14.3002 14.0892 14.3002 14.6977V17.4477C14.3002 17.7502 14.0527 17.9977 13.7502 17.9977H4.9502C4.6477 17.9977 4.4002 17.7502 4.4002 17.4477V8.64766C4.4002 8.34516 4.6477 8.09766 4.9502 8.09766H7.70019C8.30863 8.09766 8.80019 7.60609 8.80019 6.99766C8.80019 6.38922 8.30863 5.89766 7.70019 5.89766H4.9502Z' fill='%23afff27'/%3E%3C/svg%3E") no-repeat center/contain;
}

.c-entry__btn .comments_txt {
  color: #d1d1d1;
  font-size: 1.4rem;
}

.c-entry__btn+.c-entry__btn {
  -webkit-border-before: 0;
  border-block-start: 0;
}

.c-entry__btn.is-black {
  color: var(--color-base);
}

.c-entry__btn.is-black:hover {
  background-color: #cbff71;
}

.c-entry__btn.is-black::after {
  background: url("data:image/svg+xml,%3Csvg width='20' height='18' viewBox='0 0 20 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 9H17.0004' stroke='%23222' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M10.5996 1L18.5998 9L10.5996 17' stroke='%23222' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain;
}

.c-entry__btn.is-black[target="_blank"]::after {
  background: url("data:image/svg+xml,%3Csvg width='22' height='23' viewBox='0 0 22 23' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.2002 2.59766C12.5918 2.59766 12.1002 3.08922 12.1002 3.69766C12.1002 4.30609 12.5918 4.79766 13.2002 4.79766H16.043L9.11988 11.7208C8.69019 12.1505 8.69019 12.8483 9.11988 13.278C9.54957 13.7077 10.2474 13.7077 10.6771 13.278L17.6002 6.35484V9.19766C17.6002 9.80609 18.0918 10.2977 18.7002 10.2977C19.3086 10.2977 19.8002 9.80609 19.8002 9.19766V3.69766C19.8002 3.08922 19.3086 2.59766 18.7002 2.59766H13.2002ZM4.9502 5.89766C3.43082 5.89766 2.2002 7.12828 2.2002 8.64766V17.4477C2.2002 18.967 3.43082 20.1977 4.9502 20.1977H13.7502C15.2696 20.1977 16.5002 18.967 16.5002 17.4477V14.6977C16.5002 14.0892 16.0086 13.5977 15.4002 13.5977C14.7918 13.5977 14.3002 14.0892 14.3002 14.6977V17.4477C14.3002 17.7502 14.0527 17.9977 13.7502 17.9977H4.9502C4.6477 17.9977 4.4002 17.7502 4.4002 17.4477V8.64766C4.4002 8.34516 4.6477 8.09766 4.9502 8.09766H7.70019C8.30863 8.09766 8.80019 7.60609 8.80019 6.99766C8.80019 6.38922 8.30863 5.89766 7.70019 5.89766H4.9502Z' fill='%23222'/%3E%3C/svg%3E") no-repeat center/contain;
}

.c-entry__btn.is-black .c-entry__btn--txt {
  font-family: var(--font1);
}

.c-entry__btn--txt .sub {
  display: inline-block;
  font-family: var(--font1);
  font-size: 1.4rem;
}

.c-entry__txt .c-hdg01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 30px;
  line-height: 1.5;
  position: relative;
}

.c-entry__txt .c-hdg01 .en {
  font-size: 1.2rem;
  letter-spacing: 0.05em;
}

.c-entry__txt .c-hdg01 .hdg {
  font-family: var(--font2);
  font-size: 4rem;
  font-weight: 500;
  position: relative;
  z-index: 10;
}

.c-entry__txt .c-hdg01 .sub {
  font-size: 3.2rem;
}

@media screen and (min-width: 768px) {
  .c-entry__wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }

  .c-entry__btns {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    -webkit-margin-start: auto;
    margin-inline-start: auto;
  }
}

@media screen and (max-width: 767.98px) {
  .c-entry__wrap {
    gap: 40px;
  }

  .c-entry__btn {
    font-size: 2rem;
  }

  .c-entry__btn--txt {
    flex-basis: 100%;
  }

  .c-entry__btn[target="_blank"] {
    flex-basis: inherit;
    flex-wrap: nowrap;
  }

  .c-entry__btn--txt .sub {
    font-size: 1.2rem;
    line-height: 1.2;
    -webkit-margin-before: 20px;
    margin-block-start: 20px;
  }

  .c-entry__txt .c-hdg01 {
    gap: 10px;
  }

  .c-entry__txt .c-hdg01 .hdg {
    font-size: 2.8rem;
  }

  .c-entry__txt .c-hdg01 .sub {
    font-size: 2.4rem;
  }
}

.c-news__link {
  align-items: center;
  border-block-end: solid 1px #ddd;
  color: var(--color-base);
  display: flex;
  font-size: 1.7rem;
  font-weight: 500;
  gap: min(30px, 2.083vw);
  letter-spacing: .05em;
  padding-block: 40px;
  padding-inline-end: min(78px, 5.416vw);
  position: relative;
}

.c-news__link::after {
  content: "";
  background: url("data:image/svg+xml,%3Csvg width='20' height='18' viewBox='0 0 20 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 9H17.0004' stroke='%23222222' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M10.5996 1L18.5998 9L10.5996 17' stroke='%23222222' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain;
  display: block;
  -webkit-margin-start: auto;
  margin-inline-start: auto;
  height: 10px;
  width: 11px;
  position: absolute;
  right: 27px;
  top: 50%;
  transform: translateY(-50%);
  transition: right .3s ease-in-out;
  z-index: 10;
}

.c-news__link:hover {
  border-color: var(--color-base);
}

.c-news__link:hover::after {
  right: 17px;
}

.c-news__link .date {
  flex-basis: 6em;
  font-family: var(--font3);
}

.c-news__link .cat {
  background-color: #EAEAEA;
  border-radius: 30px;
  font-size: 1.4rem;
  flex-basis: 130px;
  line-height: 1;
  padding: 10px;
  text-align: center;
  transition: all .3s ease-in-out;
}

.c-news__link:hover .cat {
  background-color: var(--color-base);
  color: var(--color-green);
}

.c-news__link .ttl {
  flex-basis: calc(100% - 6em - 130px - min(60px, 4.166vw));
}

@media (max-width: 767.98px) {
  .c-news__link {
    flex-wrap: wrap;
    font-size: 1.3rem;
    gap: 24px 10px;
    padding-block: 30px;
    padding-inline-end: 67px;
  }

  .c-news__link::after {
    right: 30px;
  }

  .c-news__link .cat {
    font-size: 1.2rem;
  }

  .c-news__link .ttl {
    flex-basis: 100%;
  }
}

.l-column {
  display: -ms-grid;
  display: grid;
  gap: 40px;
}

@media screen and (min-width: 768px) {
  .l-column.col-2 {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }

  .l-column.col-3 {
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
  }

  .l-column.col-4 {
    -ms-grid-columns: (1fr)[4];
    grid-template-columns: repeat(4, 1fr);
  }
}

@media screen and (max-width: 767.98px) {
  .l-column.col-2 {
    -ms-grid-columns: (1fr)[1];
    grid-template-columns: repeat(1, 1fr);
  }

  .l-column.col-3 {
    -ms-grid-columns: (1fr)[1];
    grid-template-columns: repeat(1, 1fr);
  }

  .l-column.col-4 {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
}

.txt {
  font-size: 1.4rem;
  line-height: 1.8;
}

.txt+.txt {
  margin-top: 1em;
}

.en {
  font-family: var(--font3);
}

.lead {
  font-size: 2rem;
  line-height: 2;
}

.note {
  font-size: 1.3rem;
  line-height: 1.5;
}

.note::before {
  content: "※";
  margin-right: 5px;
}

.link {
  color: #004f78;
  display: inline-block;
  text-decoration: underline;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.link:hover {
  text-decoration: none;
}

.c-box {
  border-radius: 40px 0 40px 0;
  margin-block: 30px;
  padding: 30px;
}

.c-btn {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: var(--color-green);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: bold;
  gap: 10px;
  line-height: 1.5;
  padding: 40px 63px;
  position: relative;
}

.c-btn::before {
  border: solid 1px var(--color-green);
  border-radius: 50%;
  content: "";
  position: absolute;
  height: 100%;
  width: 100%;
  left: 0;
  top: 0;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  -webkit-transform: rotate(-5deg);
  transform: rotate(-5deg);
}

.c-btn::after {
  content: "";
  background: url("data:image/svg+xml,%3Csvg width='20' height='18' viewBox='0 0 20 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 9H17.0004' stroke='%23222222' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M10.5996 1L18.5998 9L10.5996 17' stroke='%23222222' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain;
  display: block;
  -webkit-margin-start: auto;
  margin-inline-start: auto;
  position: relative;
  height: 10px;
  width: 11px;
  z-index: 10;
}

.c-btn:hover {
  color: var(--color-base);
}

.c-btn:hover::before {
  background-color: var(--color-green);
}

.c-btn__txt {
  position: relative;
  z-index: 10;
}

.c-btn.is-green {
  color: var(--color-base);
}

.c-btn.is-green::before {
  background-color: #cbff71;
  border-color: var(--color-base);
}

.c-btn.is-green:hover {
  color: var(--color-green);
}

.c-btn.is-green:hover::before {
  background-color: var(--color-base);
}

.c-btn.is-green:hover::after {
  background: url("data:image/svg+xml,%3Csvg width='20' height='18' viewBox='0 0 20 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 9H17.0004' stroke='%23afff27' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M10.5996 1L18.5998 9L10.5996 17' stroke='%23afff27' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain;
}

.c-btn.is-transp::after {
  background: url("data:image/svg+xml,%3Csvg width='20' height='18' viewBox='0 0 20 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 9H17.0004' stroke='%23AFFF27' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M10.5996 1L18.5998 9L10.5996 17' stroke='%23AFFF27' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain;
}

.c-btn.is-transp:hover::after {
  background: url("data:image/svg+xml,%3Csvg width='20' height='18' viewBox='0 0 20 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 9H17.0004' stroke='%23222222' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M10.5996 1L18.5998 9L10.5996 17' stroke='%23222222' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain;
}

@media screen and (max-width: 767.98px) {
  .c-btn {
    padding: 30px 40px;
  }

  .c-btn__txt {
    display: inline-block;
    margin-inline: auto;
  }
}

.c-link {
  color: var(--color-base);
  font-weight: 500;
  text-decoration: underline;
}
.c-link:hover {
  text-decoration: none;
}

.c-breadcrumb {
  font-size: 1.3rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  -webkit-margin-before: 20px;
  margin-block-start: 20px;
  text-align: right;
}

.c-breadcrumb li {
  display: inline-block;
}

.c-breadcrumb li+li::before {
  content: "> ";
}

.c-breadcrumb__link {
  color: var(--color-base);
  display: inline;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.c-breadcrumb__link:hover {
  text-decoration: none;
}

.c-breadcrumb .is-current {
  color: #888;
}

.c-card__cont {
  color: var(--color-base);
}

.c-card__cont:hover {
  -webkit-box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
  -webkit-transform: translateY(-40px);
  transform: translateY(-40px);
}

.c-card__img {
  position: relative;
  -webkit-padding-before: 40px;
  padding-block-start: 40px;
  overflow: hidden;
}

.c-card__img img {
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.c-card__copy {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  position: absolute;
  right: 0;
  top: 0;
}

.c-card__copy mark {
  background-color: var(--color-base);
  color: #fff;
  font-family: var(--font1);
  font-size: clamp(1.2rem, 1.111vw, 1.6rem);
  font-weight: bold;
  line-height: 1;
  padding: 12px 10px;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-orientation: upright;
}

.c-card__copy mark+mark {
  -webkit-margin-start: 40px;
  margin-inline-start: 40px;
}

.c-card__body {
  background-color: var(--color-green);
  font-family: var(--font2);
  padding: 30px 20px;
  position: relative;
}

.c-card__en {
  background-color: var(--color-green);
  display: inline-block;
  font-family: var(--font3);
  font-size: clamp(1.2rem, 0.972vw, 1.4rem);
  padding: 10px 20px;
  position: absolute;
  top: calc(-30px + -1em + 2px);
  left: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.c-card__sub {
  font-size: clamp(1.4rem, 1.388vw, 2rem);
}

.c-card__hdg {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: clamp(2.6rem, 2.22vw, 3.2rem);
  line-height: 1;
}

.c-card__hdg::after {
  content: "";
  background: url("data:image/svg+xml,%3Csvg width='20' height='18' viewBox='0 0 20 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 9H17.0004' stroke='%23222222' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M10.5996 1L18.5998 9L10.5996 17' stroke='%23222222' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain;
  display: block;
  -webkit-margin-start: auto;
  margin-inline-start: auto;
  height: 16px;
  width: 18px;
}

@media screen and (max-width: 767.98px) {
  .c-card__en {
    font-size: 1.2rem;
  }

  .c-card__sub {
    font-size: 1.6rem;
  }

  .c-card__hdg {
    font-size: 2.4rem;
  }
}

.c-media__cont {
  -webkit-border-after: solid 1px #ddd;
  border-block-end: solid 1px #ddd;
  color: var(--color-base);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
  -webkit-padding-after: 30px;
  padding-block-end: 30px;
}

.c-media__cont:hover {
  opacity: 0.7;
}

.c-media__hdg {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0;
  -webkit-margin-after: 30px;
  margin-block-end: 30px;
}

.c-media__hdg::after {
  content: "";
  background: url("data:image/svg+xml,%3Csvg width='20' height='18' viewBox='0 0 20 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 9H17.0004' stroke='%23222222' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M10.5996 1L18.5998 9L10.5996 17' stroke='%23222222' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain;
  display: block;
  -webkit-margin-start: auto;
  margin-inline-start: auto;
  height: 9px;
  width: 9px;
}

.c-media__img img {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .c-media__img {
    -ms-flex-preferred-size: 190px;
    flex-basis: 190px;
  }

  .c-media__body {
    -ms-flex-preferred-size: calc(100% - 190px - 24px);
    flex-basis: calc(100% - 190px - 24px);
  }

  .c-media__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (max-width: 767.98px) {
  .c-media__cont {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.c-disc>li {
  letter-spacing: 2.4px;
  line-height: 1.75;
  padding-left: 18px;
  position: relative;
}

.c-disc>li+li {
  margin-top: 10px;
}

.c-disc>li::before {
  border-radius: 50%;
  content: "・";
  display: block;
  position: absolute;
  left: 0;
}

.c-disc>li .cmp-disc>li:first-child {
  margin-top: 15px;
}

.c-disc>li .cmp-disc>li::before {
  background-color: transparent;
  border: 1px solid;
}

.c-order {
  counter-reset: order;
}

.c-order>li::before {
  border-radius: 4px;
  counter-increment: order;
  content: counter(order) '.';
  display: inline-block;
  font-size: 2.4rem;
  margin-right: 1em;
}

.c-order>li+li {
  margin-top: 50px;
}

.c-tbl {
  margin-inline: auto;
  width: 100%;
}

.c-tbl th {
  font-size: 1.6rem;
  font-weight: 900;
}

.c-tbl th,
.c-tbl td {
  padding: 25px 0;
}

@media screen and (max-width: 767.98px) {

  .c-tbl th,
  .c-tbl td {
    display: block;
  }

  .c-tbl.cmp-tblscroll {
    overflow-x: scroll;
  }

  .c-tbl.cmp-tblscroll th,
  .c-tbl.cmp-tblscroll td {
    white-space: nowrap;
  }
}

.c-definition {
  margin: 55px auto 0;
  padding-bottom: 15px;
}

.c-definition .ttl {
  font-weight: bold;
  margin-bottom: 40px;
  text-align: center;
}

.c-definition dl {
  border-bottom: solid 1px rgba(0, 79, 120, 0.5);
}

.c-definition dl>div {
  border-top: solid 1px rgba(0, 79, 120, 0.5);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 22px 0 33px;
}

.c-definition dl>div dt {
  -ms-flex-preferred-size: 146px;
  flex-basis: 146px;
  font-weight: bold;
  text-align: center;
}

.c-definition dl>div dd {
  -ms-flex-preferred-size: calc(100% - 146px);
  flex-basis: calc(100% - 146px);
}

@media screen and (max-width: 767.98px) {
  .c-definition .ttl {
    margin-bottom: 20px;
  }

  .c-definition dl>div dt,
  .c-definition dl>div dd {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
  }

  .c-definition dl>div dt {
    margin-bottom: 15px;
    text-align: left;
  }
}

.ta-c {
  text-align: center !important;
}

.ta-r {
  text-align: right !important;
}

.ta-l {
  text-align: left !important;
}

.d-ib {
  display: inline-block;
}

.fw-bold {
  font-weight: bold !important;
}

.fw-normal {
  font-weight: normal !important;
}

@media screen and (min-width: 768px) {
  .pc-none {
    display: none !important;
  }
}

@media screen and (max-width: 767.98px) {
  .sp-none {
    display: none !important;
  }
}

.js-trigger.in {
  opacity: 0;
  will-change: transform, opacity;
  transform: translateZ(0);
  /* Safari 対策 */
}

.js-trigger.in.is-active {
  -webkit-animation-name: fade-in;
  animation-name: fade-in;
  -webkit-animation-duration: 1.5s;
  animation-duration: 1.5s;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

.js-trigger.up {
  opacity: 0;
}

.js-trigger.up.is-active {
  -webkit-animation-name: slid-in-up;
  animation-name: slid-in-up;
  -webkit-animation-duration: 1.5s;
  animation-duration: 1.5s;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

.js-trigger.img-in {
  opacity: 0;
}

.js-trigger.img-in.is-active {
  -webkit-animation-name: img-fade-in;
  animation-name: img-fade-in;
  -webkit-animation-duration: 1.5s;
  animation-duration: 1.5s;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

/*  */
.mt-0 {
  margin-top: 0px !important;
}

.mr-0 {
  margin-right: 0px !important;
}

.mb-0 {
  margin-bottom: 0px !important;
}

.ml-0 {
  margin-left: 0px !important;
}

.pt-0 {
  padding-top: 0px !important;
}

.pr-0 {
  padding-right: 0px !important;
}

.pb-0 {
  padding-bottom: 0px !important;
}

.pl-0 {
  padding-left: 0px !important;
}

.mt-5 {
  margin-top: 5px !important;
}

.mr-5 {
  margin-right: 5px !important;
}

.mb-5 {
  margin-bottom: 5px !important;
}

.ml-5 {
  margin-left: 5px !important;
}

.pt-5 {
  padding-top: 5px !important;
}

.pr-5 {
  padding-right: 5px !important;
}

.pb-5 {
  padding-bottom: 5px !important;
}

.pl-5 {
  padding-left: 5px !important;
}

.mt-10 {
  margin-top: 10px !important;
}

.mr-10 {
  margin-right: 10px !important;
}

.mb-10 {
  margin-bottom: 10px !important;
}

.ml-10 {
  margin-left: 10px !important;
}

.pt-10 {
  padding-top: 10px !important;
}

.pr-10 {
  padding-right: 10px !important;
}

.pb-10 {
  padding-bottom: 10px !important;
}

.pl-10 {
  padding-left: 10px !important;
}

.mt-15 {
  margin-top: 15px !important;
}

.mr-15 {
  margin-right: 15px !important;
}

.mb-15 {
  margin-bottom: 15px !important;
}

.ml-15 {
  margin-left: 15px !important;
}

.pt-15 {
  padding-top: 15px !important;
}

.pr-15 {
  padding-right: 15px !important;
}

.pb-15 {
  padding-bottom: 15px !important;
}

.pl-15 {
  padding-left: 15px !important;
}

.mt-20 {
  margin-top: 20px !important;
}

.mr-20 {
  margin-right: 20px !important;
}

.mb-20 {
  margin-bottom: 20px !important;
}

.ml-20 {
  margin-left: 20px !important;
}

.pt-20 {
  padding-top: 20px !important;
}

.pr-20 {
  padding-right: 20px !important;
}

.pb-20 {
  padding-bottom: 20px !important;
}

.pl-20 {
  padding-left: 20px !important;
}

.mt-25 {
  margin-top: 25px !important;
}

.mr-25 {
  margin-right: 25px !important;
}

.mb-25 {
  margin-bottom: 25px !important;
}

.ml-25 {
  margin-left: 25px !important;
}

.pt-25 {
  padding-top: 25px !important;
}

.pr-25 {
  padding-right: 25px !important;
}

.pb-25 {
  padding-bottom: 25px !important;
}

.pl-25 {
  padding-left: 25px !important;
}

.mt-30 {
  margin-top: 30px !important;
}

.mr-30 {
  margin-right: 30px !important;
}

.mb-30 {
  margin-bottom: 30px !important;
}

.ml-30 {
  margin-left: 30px !important;
}

.pt-30 {
  padding-top: 30px !important;
}

.pr-30 {
  padding-right: 30px !important;
}

.pb-30 {
  padding-bottom: 30px !important;
}

.pl-30 {
  padding-left: 30px !important;
}

.mt-35 {
  margin-top: 35px !important;
}

.mr-35 {
  margin-right: 35px !important;
}

.mb-35 {
  margin-bottom: 35px !important;
}

.ml-35 {
  margin-left: 35px !important;
}

.pt-35 {
  padding-top: 35px !important;
}

.pr-35 {
  padding-right: 35px !important;
}

.pb-35 {
  padding-bottom: 35px !important;
}

.pl-35 {
  padding-left: 35px !important;
}

.mt-40 {
  margin-top: 40px !important;
}

.mr-40 {
  margin-right: 40px !important;
}

.mb-40 {
  margin-bottom: 40px !important;
}

.ml-40 {
  margin-left: 40px !important;
}

.pt-40 {
  padding-top: 40px !important;
}

.pr-40 {
  padding-right: 40px !important;
}

.pb-40 {
  padding-bottom: 40px !important;
}

.pl-40 {
  padding-left: 40px !important;
}

.mt-45 {
  margin-top: 45px !important;
}

.mr-45 {
  margin-right: 45px !important;
}

.mb-45 {
  margin-bottom: 45px !important;
}

.ml-45 {
  margin-left: 45px !important;
}

.pt-45 {
  padding-top: 45px !important;
}

.pr-45 {
  padding-right: 45px !important;
}

.pb-45 {
  padding-bottom: 45px !important;
}

.pl-45 {
  padding-left: 45px !important;
}

.mt-50 {
  margin-top: 50px !important;
}

.mr-50 {
  margin-right: 50px !important;
}

.mb-50 {
  margin-bottom: 50px !important;
}

.ml-50 {
  margin-left: 50px !important;
}

.pt-50 {
  padding-top: 50px !important;
}

.pr-50 {
  padding-right: 50px !important;
}

.pb-50 {
  padding-bottom: 50px !important;
}

.pl-50 {
  padding-left: 50px !important;
}

.mt-55 {
  margin-top: 55px !important;
}

.mr-55 {
  margin-right: 55px !important;
}

.mb-55 {
  margin-bottom: 55px !important;
}

.ml-55 {
  margin-left: 55px !important;
}

.pt-55 {
  padding-top: 55px !important;
}

.pr-55 {
  padding-right: 55px !important;
}

.pb-55 {
  padding-bottom: 55px !important;
}

.pl-55 {
  padding-left: 55px !important;
}

.mt-60 {
  margin-top: 60px !important;
}

.mr-60 {
  margin-right: 60px !important;
}

.mb-60 {
  margin-bottom: 60px !important;
}

.ml-60 {
  margin-left: 60px !important;
}

.pt-60 {
  padding-top: 60px !important;
}

.pr-60 {
  padding-right: 60px !important;
}

.pb-60 {
  padding-bottom: 60px !important;
}

.pl-60 {
  padding-left: 60px !important;
}

.mt-65 {
  margin-top: 65px !important;
}

.mr-65 {
  margin-right: 65px !important;
}

.mb-65 {
  margin-bottom: 65px !important;
}

.ml-65 {
  margin-left: 65px !important;
}

.pt-65 {
  padding-top: 65px !important;
}

.pr-65 {
  padding-right: 65px !important;
}

.pb-65 {
  padding-bottom: 65px !important;
}

.pl-65 {
  padding-left: 65px !important;
}

.mt-70 {
  margin-top: 70px !important;
}

.mr-70 {
  margin-right: 70px !important;
}

.mb-70 {
  margin-bottom: 70px !important;
}

.ml-70 {
  margin-left: 70px !important;
}

.pt-70 {
  padding-top: 70px !important;
}

.pr-70 {
  padding-right: 70px !important;
}

.pb-70 {
  padding-bottom: 70px !important;
}

.pl-70 {
  padding-left: 70px !important;
}

.mt-75 {
  margin-top: 75px !important;
}

.mr-75 {
  margin-right: 75px !important;
}

.mb-75 {
  margin-bottom: 75px !important;
}

.ml-75 {
  margin-left: 75px !important;
}

.pt-75 {
  padding-top: 75px !important;
}

.pr-75 {
  padding-right: 75px !important;
}

.pb-75 {
  padding-bottom: 75px !important;
}

.pl-75 {
  padding-left: 75px !important;
}

.mt-80 {
  margin-top: 80px !important;
}

.mr-80 {
  margin-right: 80px !important;
}

.mb-80 {
  margin-bottom: 80px !important;
}

.ml-80 {
  margin-left: 80px !important;
}

.pt-80 {
  padding-top: 80px !important;
}

.pr-80 {
  padding-right: 80px !important;
}

.pb-80 {
  padding-bottom: 80px !important;
}

.pl-80 {
  padding-left: 80px !important;
}

.mt-85 {
  margin-top: 85px !important;
}

.mr-85 {
  margin-right: 85px !important;
}

.mb-85 {
  margin-bottom: 85px !important;
}

.ml-85 {
  margin-left: 85px !important;
}

.pt-85 {
  padding-top: 85px !important;
}

.pr-85 {
  padding-right: 85px !important;
}

.pb-85 {
  padding-bottom: 85px !important;
}

.pl-85 {
  padding-left: 85px !important;
}

.mt-90 {
  margin-top: 90px !important;
}

.mr-90 {
  margin-right: 90px !important;
}

.mb-90 {
  margin-bottom: 90px !important;
}

.ml-90 {
  margin-left: 90px !important;
}

.pt-90 {
  padding-top: 90px !important;
}

.pr-90 {
  padding-right: 90px !important;
}

.pb-90 {
  padding-bottom: 90px !important;
}

.pl-90 {
  padding-left: 90px !important;
}

.mt-95 {
  margin-top: 95px !important;
}

.mr-95 {
  margin-right: 95px !important;
}

.mb-95 {
  margin-bottom: 95px !important;
}

.ml-95 {
  margin-left: 95px !important;
}

.pt-95 {
  padding-top: 95px !important;
}

.pr-95 {
  padding-right: 95px !important;
}

.pb-95 {
  padding-bottom: 95px !important;
}

.pl-95 {
  padding-left: 95px !important;
}

.mt-100 {
  margin-top: 100px !important;
}

.mr-100 {
  margin-right: 100px !important;
}

.mb-100 {
  margin-bottom: 100px !important;
}

.ml-100 {
  margin-left: 100px !important;
}

.pt-100 {
  padding-top: 100px !important;
}

.pr-100 {
  padding-right: 100px !important;
}

.pb-100 {
  padding-bottom: 100px !important;
}

.pl-100 {
  padding-left: 100px !important;
}