@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Anton&family=Zen+Maru+Gothic:wght@400;700&display=swap");
@import url("https://cdn.jsdelivr.net/npm/remixicon@2.5.0/fonts/remixicon.css");
* {
  box-sizing: border-box;
}

/*=======================================
font
=======================================*/
/*---
google font
font-family: "Anton", sans-serif; //400
font-family: "Zen Maru Gothic", serif; //400 & 700
---*/
/*---
icon font
---*/
/*★remixicon*/
/*body*/
body {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 400;
  color: #09090d;
  width: 100%;
  overflow-x: hidden;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

img {
  image-rendering: -webkit-optimize-contrast;
}

/*=============
Coming Soon 中　style
============*/
.notyet {
  pointer-events: none;
}

.comingSoon {
  width: -webkit-max-content;
  width: max-content;
  margin: 0 auto clamp(16px, 1.76vw, 24px);
  padding: 0 2em;
  position: relative;
}
.comingSoon::before {
  content: "";
  width: 8px;
  height: 60px;
  border: 1px solid #09090d;
  border-right: none;
  position: absolute;
  left: 0;
  bottom: 0;
}
.comingSoon::after {
  content: "";
  width: 8px;
  height: 60px;
  border: 1px solid #09090d;
  border-left: none;
  position: absolute;
  right: 0;
  bottom: 0;
}
.comingSoon p {
  font-size: clamp(2.4rem, 2.93vw, 4rem);
  color: #5c6373;
  font-weight: 700;
}

.comingSoon_ti {
  position: relative;
  font-family: "Anton", sans-serif;
  font-weight: 700;
  color: #fff;
  background: #09090d;
  width: -webkit-max-content;
  width: max-content;
  padding: 0.3em 2em;
  font-size: clamp(1.4em, 1.76vw, 2.4rem);
  border-radius: 100px;
  margin: 0 auto 10px;
}
.comingSoon_ti::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 14px 6px 0 6px;
  border-color: #09090d transparent transparent transparent;
  position: absolute;
  left: 50%;
  bottom: -13px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

/*=======================================
header
=======================================*/
header {
  text-align: left;
  background: #fff;
  width: 100%;
  height: 70px;
  box-shadow: 0 0 11px rgba(0, 0, 0, 0.18);
  position: relative;
}
header h1 {
  color: rgba(9, 9, 13, 0.8);
  font-size: 0.9rem;
  width: 100%;
  line-height: 1;
  position: absolute;
  left: clamp(20px, 2.93vw, 40px);
  top: 0.5em;
}
header.fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 800;
}
header.fixed h1 {
  display: none;
}
header.fixed .header_wrap {
  padding-top: 0;
}
@media print, screen and (min-width: 768px) {
  header {
    height: 90px;
  }
}

.header_wrap {
  padding-left: clamp(20px, 2.93vw, 40px);
  padding-right: clamp(20px, 2.93vw, 40px);
  height: 100%;
  display: flex;
  align-items: center;
  gap: 24px;
  padding-top: 0.8em;
}
.header_wrap .login_group {
  margin-left: auto;
  padding-right: 55px;
}
@media print, screen and (min-width: 768px) {
  .header_wrap .login_group {
    padding-right: 0;
    margin-left: 0;
    margin-right: auto;
  }
}

.logo_img img {
  width: clamp(138px, 14.64vw, 200px);
  height: auto;
}

.login_group > li.login > a {
  text-decoration: none;
  color: #09090d;
  transition: 0.2s;
  font-size: clamp(1.4rem, 1.17vw, 1.6rem);
}
.login_group > li.login > a:hover {
  color: #09090d;
}
.login_group > li.login .more_ico {
  margin-left: 0.5em;
}
.login_group > li.logout {
  display: flex;
  align-items: center;
  gap: 20px;
}
.login_group > li.logout .mypage a {
  text-decoration: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 2px;
  min-width: clamp(40px, 3.367vw, 46px);
  height: clamp(40px, 3.367vw, 46px);
  border-radius: 4px;
  background: #e7e7e7;
  position: relative;
  font-size: clamp(1.8rem, 1.46vw, 2rem);
  color: #09090d;
  padding: 0 0.2em;
  line-height: 1;
}
.login_group > li.logout .mypage a .mypage_tx {
  font-size: 0.8rem;
  white-space: nowrap;
  font-weight: 700;
}
.login_group > li.logout .mypage a:hover {
  background: #d9d9d9;
  color: #5c6373;
}
.login_group > li.logout .user_name {
  font-size: clamp(1.2rem, 1.02vw, 1.4rem);
  line-height: 1.2;
}
.login_group > li.logout .user_name::after {
  content: "様";
  margin-left: 0.5em;
}
@media print, screen and (min-width: 768px) {
  .login_group > li.logout .user_name {
    white-space: nowrap;
  }
}
.login_group > li.logout .logout_btn {
  font-size: 1.2rem;
}
.login_group > li.inactive {
  display: none;
}

.more_ico {
  width: 16px;
  height: 16px;
  border-radius: 100%;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background: #09090d;
  color: #fff;
  line-height: 1;
  font-size: 1.4rem;
}

/*==========================
nav
==========================*/
/*toggle ==*/
.toggle {
  position: fixed;
  right: clamp(20px, 2.93vw, 40px);
  top: 24px;
  z-index: 1000;
  transition: 0.2s;
}
.toggle button {
  border: none;
}
.toggle_open {
  top: 32px;
}
.toggle.fixed {
  top: 32px;
}
@media print, screen and (min-width: 768px) {
  .toggle {
    top: 36px;
  }
}
@media print, screen and (min-width: 1200px) {
  .toggle {
    display: none;
  }
}

.hamburger {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
  width: 35px;
  height: 26px;
  padding: 0;
  background-color: transparent;
  outline: none;
}
.hamburger::before {
  display: block;
  width: 35px;
  height: 3px;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #09090d;
  box-sizing: border-box;
  -webkit-animation: navToggleOuter_reverse 0.5s;
          animation: navToggleOuter_reverse 0.5s;
  content: "";
  transition-duration: 0.5s;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
}
.hamburger::after {
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 26px;
  height: 3px;
  background-color: #09090d;
  box-sizing: border-box;
  -webkit-animation: navToggleInner_reverse 0.5s;
          animation: navToggleInner_reverse 0.5s;
  content: "";
  transition-duration: 0.5s;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
}
.hamburger span {
  display: block;
  width: 30px;
  height: 3px;
  background-color: #09090d;
  box-sizing: border-box;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  transition-duration: 0.5s;
  transition-property: opacity;
}
.hamburger_open::before {
  top: 50%;
  -webkit-transform: rotate(45deg) translateY(-50%);
          transform: rotate(45deg) translateY(-50%);
}
.hamburger_open::after {
  width: 35px;
  top: 50%;
  left: 1.5px;
  -webkit-transform: rotate(-45deg) translateY(-50%);
          transform: rotate(-45deg) translateY(-50%);
}
.hamburger_open span {
  opacity: 0;
}

/*nav ==*/
#mainnav {
  opacity: 0;
  position: fixed;
  height: 0;
  width: 100vw;
  top: 0;
  right: 0;
  background: #fff;
  -webkit-transform: translateX(100vh);
          transform: translateX(100vh);
  transition-duration: 0.5s;
  transition-property: opacity, height, -webkit-transform;
  transition-property: opacity, transform, height;
  transition-property: opacity, transform, height, -webkit-transform;
}
#mainnav.navopen {
  opacity: 1;
  z-index: 999;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  height: 100vh;
}
@media print, screen and (min-width: 768px) {
  #mainnav {
    max-width: 480px;
  }
}
@media print, screen and (min-width: 1200px) {
  #mainnav {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
    position: static;
    height: auto;
    width: auto;
    max-width: initial;
    margin-left: auto;
  }
}

.mainnav_wrap {
  background: #09090d;
  height: 100vh;
  height: 100dvh;
}
.mainnav_wrap .nav_ph {
  width: 100%;
  height: 50%;
}
.mainnav_wrap .nav_ph img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.mainnav_wrap .nav_logo {
  text-align: left;
  padding: 1em 0 2em;
}
.mainnav_wrap .nav_logo img {
  width: min(80%, 200px);
  height: auto;
}
@media print, screen and (min-width: 1200px) {
  .mainnav_wrap {
    background: transparent;
    height: auto;
  }
  .mainnav_wrap .nav_ph {
    display: none;
  }
  .mainnav_wrap .nav_logo {
    display: none;
  }
}

.nav_group {
  padding: 2em;
  width: min(100%, 400px);
  margin: 0 auto;
}
@media print, screen and (min-width: 1200px) {
  .nav_group {
    width: auto;
    padding: 0;
    margin: 0;
  }
}
.nav_group > ul {
  display: flex;
  flex-wrap: wrap;
  gap: 24px 16px;
}
@media print, screen and (min-width: 1200px) {
  .nav_group > ul {
    flex-wrap: nowrap;
    align-items: center;
    gap: 32px;
  }
}
.nav_group > ul > li {
  width: calc(50% - 8px);
}
.nav_group > ul > li.active a {
  pointer-events: none;
  color: #09090d;
}
@media print, screen and (min-width: 1200px) {
  .nav_group > ul > li {
    width: -webkit-max-content;
    width: max-content;
  }
  .nav_group > ul > li.active a {
    pointer-events: none;
    color: #5c6373;
  }
}
.nav_group > ul > li a {
  color: #fff;
  text-decoration: none;
  display: block;
  font-size: 1.6rem;
  transition: 0.2s;
  padding-left: 1.5em;
  position: relative;
}
.nav_group > ul > li a:before {
  font-family: remixicon !important;
  font-style: normal;
  content: "\ea6d";
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.nav_group > ul > li a:hover {
  opacity: 0.6;
}
@media print, screen and (min-width: 1200px) {
  .nav_group > ul > li a {
    color: #09090d;
    padding-left: 0;
    white-space: nowrap;
  }
  .nav_group > ul > li a::before {
    display: none;
  }
}
.nav_group > ul > li.nav_app {
  width: 100%;
  padding-top: 1em;
}
@media print, screen and (min-width: 1200px) {
  .nav_group > ul > li.nav_app {
    padding-top: 0;
  }
}
.nav_group > ul > li.nav_app a {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  background: #5c6373;
  border-radius: 4px;
  text-decoration: none;
  font-size: 1.6rem;
  padding: 0.5em 1.5em;
  transition: 0.2s;
  min-height: 48px;
  font-weight: 700;
}
.nav_group > ul > li.nav_app a:before {
  display: none;
}
.nav_group > ul > li.nav_app a:hover {
  opacity: 1;
  background: #454b57;
}

/*=======================================
footer
=======================================*/
.footer_group {
  width: 100%;
  overflow-x: hidden;
}

/*gallery ============*/
.f_gallery {
  display: flex;
  gap: 20px;
  width: 110%;
  margin-left: -5%;
  margin-right: -5%;
}
@media print, screen and (min-width: 768px) {
  .f_gallery {
    width: 100%;
    padding-left: clamp(20px, 2.93vw, 40px);
    padding-right: clamp(20px, 2.93vw, 40px);
    margin-left: 0;
    margin-right: 0;
    gap: 40px;
  }
}
@media print, screen and (min-width: 768px) {
  .f_gallery > li {
    width: calc(33.3333333333% - 27px);
  }
}
.f_gallery > li figure {
  border-radius: 4px;
  overflow: hidden;
  aspect-ratio: 31/35;
}
@media print, screen and (min-width: 768px) {
  .f_gallery > li figure {
    aspect-ratio: 50/35;
  }
}
.f_gallery > li figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*info ============*/
.ly_f_info {
  text-align: center;
  padding-left: clamp(20px, 2.93vw, 40px);
  padding-right: clamp(20px, 2.93vw, 40px);
  padding-top: clamp(32px, 4.39vw, 60px);
  padding-bottom: clamp(40px, 4.39vw, 60px);
}
@media print, screen and (min-width: 768px) {
  .ly_f_info {
    text-align: left;
  }
}
@media print, screen and (min-width: 992px) {
  .ly_f_info {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}

.info_ti_group {
  display: flex;
  flex-direction: column;
  margin-bottom: clamp(18px, 1.76vw, 24px);
}
.info_ti_group .info_ti {
  order: 2;
}
.info_ti_group .info_ti img {
  width: clamp(232px, 18.3vw, 250px);
  height: auto;
}
.info_ti_group p {
  color: #5c6373;
  font-size: clamp(1.8rem, 1.76vw, 2.4rem);
  font-weight: 700;
}
@media print, screen and (min-width: 768px) {
  .info_ti_group {
    flex-direction: row;
    gap: 24px;
    align-items: center;
  }
  .info_ti_group .info_ti {
    order: -1;
  }
}

.info_access_tx {
  margin-bottom: 0.5em;
}

.info_tel_group .info_tel a {
  color: #09090d;
  font-size: 3rem;
  font-family: "Anton", sans-serif;
  font-weight: 700;
  text-decoration: none;
  transition: 0.2s;
  line-height: 1;
}
.info_tel_group .info_tel a:hover {
  color: #09090d;
}
.info_tel_group .info_tel a img {
  vertical-align: middle;
  margin-right: 0.4em;
  margin-top: -0.2em;
}
@media print, screen and (min-width: 768px) {
  .info_tel_group .info_tel a {
    pointer-events: none;
  }
}
.info_tel_group .info_tel_tx {
  line-height: 1;
  font-size: 1.4rem;
}

.info_btn {
  margin-top: 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.info_btn [class^=btn0] a {
  width: 290px;
  font-size: 1.8rem;
  margin: 0 auto;
}

/*footer ============*/
footer {
  background: #09090d;
  padding-bottom: 84px;
}
@media print, screen and (min-width: 768px) {
  footer {
    padding-bottom: 60px;
  }
}

/*map===*/
.googlemap_pc {
  position: relative;
}
.googlemap_pc iframe {
  vertical-align: bottom;
}
.googlemap_pc .moyori {
  position: absolute;
  bottom: -136px;
  right: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  gap: 16px;
}
@media print, screen and (min-width: 768px) {
  .googlemap_pc .moyori {
    bottom: -50px;
    right: clamp(20px, 2.93vw, 40px);
  }
}
.googlemap_pc .moyori p {
  color: #5c6373;
  font-size: 1.4rem;
  background: #fff;
  width: -webkit-max-content;
  width: max-content;
  padding: 18px 24px;
  line-height: 1;
  border-radius: 100px;
  margin-bottom: 24px;
  position: relative;
  -webkit-filter: drop-shadow(0 0 8px rgba(0, 0, 0, 0.2));
          filter: drop-shadow(0 0 8px rgba(0, 0, 0, 0.2));
}
.googlemap_pc .moyori p::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7px 0 7px 12px;
  border-color: transparent transparent transparent #fff;
  display: block;
  position: absolute;
  right: -11px;
  top: 50%;
  bottom: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.footer_wrap {
  padding-left: clamp(20px, 2.93vw, 40px);
  padding-right: clamp(20px, 2.93vw, 40px);
  padding-top: 90px;
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media print, screen and (min-width: 768px) {
  .footer_wrap {
    flex-direction: row;
    justify-content: space-between;
    padding-top: 40px;
  }
  .footer_wrap .f_info {
    order: 2;
  }
}

.f_info {
  display: flex;
  flex-direction: column;
  text-align: left;
  width: min(100%, 400px);
  margin: 0 auto;
}
@media print, screen and (min-width: 768px) {
  .f_info {
    margin: 0 0 0 auto;
  }
}
.f_info .f_info_ti {
  background: #2c3140;
  color: #fff;
  border-radius: 4px 4px 0 0;
  padding: 8px 20px;
}
.f_info .tx_box {
  border-radius: 0 0 4px 4px;
  background: #fff;
  padding: 8px 20px 16px;
}
.f_info .tx_box .note_list {
  margin-top: 0.2em;
}
.f_info .tx_box .note_list li {
  font-size: 1.2rem;
}

.f_nav_group {
  display: flex;
}
@media print, screen and (min-width: 768px) {
  .f_nav_group {
    width: calc(100% - 440px);
  }
}
@media print, screen and (min-width: 1200px) {
  .f_nav_group {
    width: -webkit-max-content;
    width: max-content;
    flex-direction: column;
    min-height: 100px;
  }
}

.f_nav {
  width: 50%;
}
@media print, screen and (min-width: 1200px) {
  .f_nav {
    width: auto;
    display: flex;
    gap: 24px;
  }
  .f_nav + .f_nav {
    margin-top: 16px;
  }
}
.f_nav > li {
  text-align: left;
}
.f_nav > li a {
  line-height: 1.2;
  text-decoration: none;
  color: #09090d;
  padding-left: 0.5em;
  font-size: 1.4rem;
  transition: 0.2s;
  color: #fff;
}
.f_nav > li a:hover {
  color: #5c6373;
}
.f_nav > li + li {
  margin-top: 14px;
}
@media print, screen and (min-width: 1200px) {
  .f_nav > li + li {
    margin-top: 0;
  }
}

.copyright {
  padding-top: 40px;
  padding-left: clamp(20px, 2.93vw, 40px);
  padding-right: clamp(20px, 2.93vw, 40px);
}
.copyright small {
  color: #d9d9d9;
  font-size: 1.2rem;
}
@media print, screen and (min-width: 768px) {
  .copyright {
    text-align: left;
    padding-top: 24px;
  }
}
@media print, screen and (min-width: 1200px) {
  .copyright {
    padding-top: 0;
    margin-top: -1em;
  }
}

.fixed_banner {
  padding-left: clamp(20px, 2.93vw, 40px);
  padding-right: clamp(20px, 2.93vw, 40px);
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto auto 0;
  z-index: 700;
  -webkit-transform: translateY(60px);
          transform: translateY(60px);
  transition-duration: 0.5s;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
}
.fixed_banner a {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #5c6373;
  color: #fff;
  font-size: 1.8rem;
  text-decoration: none;
  border-radius: 4px 4px 0 0;
  height: 60px;
  transition: 0.2s;
}
.fixed_banner a i {
  vertical-align: middle;
  margin-right: 0.5em;
}
.fixed_banner a:hover {
  opacity: 0.8;
}
.fixed_banner.fixed {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
@media print, screen and (min-width: 768px) {
  .fixed_banner {
    display: none;
  }
}

/*=============================
text
=============================*/
.cts_p {
  text-align: left;
}
.cts_p.tx_cent {
  text-align: center;
}
.cts_p + .cts_p {
  margin-top: 1em;
}
@media print, screen and (min-width: 992px) {
  .cts_p.l_cent {
    text-align: center;
  }
}

/*TextRight*/
.tx_right {
  text-align: right;
}

/*TextLeft*/
.tx_left {
  text-align: left;
}

/*TextCenter*/
.tx_cent {
  text-align: center;
}

/*center/left*/
.l_cent {
  text-align: left;
}
@media print, screen and (min-width: 992px) {
  .l_cent {
    text-align: center;
  }
}

/*left/center*/
.cent_l {
  text-align: center;
}
@media print, screen and (min-width: 992px) {
  .cent_l {
    text-align: left;
  }
}

.en_tx {
  font-family: "Anton", sans-serif;
  font-weight: 400;
}

/*bold*/
.tx_bold {
  font-weight: bold;
}

/*Textmaincolor*/
.tx_main {
  color: #09090d;
}

/*TextRed*/
.tx_red {
  color: #c81507;
}

/*s text*/
.s_tx {
  font-size: clamp(1.2rem, 1.02vw, 1.4rem);
}

.s_em {
  font-size: 0.8em;
}

/*big text*/
.b_tx {
  font-size: clamp(1.6rem, 1.32vw, 1.8rem);
}

.b_em {
  font-size: 1.2em;
}

/*marker*/
.marker {
  background: linear-gradient(transparent 60%, #e3e936 60%);
}

/*img*/
.img_shadow {
  box-shadow: rgba(17, 17, 26, 0.1) 0px 0px 16px;
}

/*=============================*/
/*== 幅 ==*/
/*=============================*/
.w100 {
  width: 100%;
}

.max_40 {
  max-width: 40px;
}

.max_60 {
  max-width: 60px;
}

.max_80 {
  max-width: 80px;
}

.max_160 {
  max-width: 160px;
}

.max_240 {
  max-width: 240px;
}

.max_360 {
  max-width: 360px;
}

.max_400 {
  max-width: 400px;
}

.max_560 {
  max-width: 560px;
}

.min_40 {
  min-width: 40px;
}

.min_60 {
  min-width: 60px;
}

.min_80 {
  min-width: 80px;
}

.min_160 {
  min-width: 160px;
}

.min_240 {
  min-width: 240px;
}

.min_360 {
  min-width: 360px;
}

.min_400 {
  min-width: 400px;
}

.min_560 {
  min-width: 560px;
}

/*=============================*/
/*== Margin ==*/
/*=============================*/
/*MarginTop*/
.margin_t06 {
  margin-top: 6px;
}

.margin_t08 {
  margin-top: 8px;
}

.margin_t10 {
  margin-top: 10px;
}

.margin_t16 {
  margin-top: 16px;
}

.margin_t24 {
  margin-top: 24px;
}

.margin_t32 {
  margin-top: 32px;
}

.margin_t40 {
  margin-top: 40px;
}

.margin_t56 {
  margin-top: 56px;
}

/*MarginBottom*/
.margin_b06 {
  margin-bottom: 6px;
}

.margin_b08 {
  margin-bottom: 8px;
}

.margin_b10 {
  margin-bottom: 10px;
}

.margin_b16 {
  margin-bottom: 16px;
}

.margin_b24 {
  margin-bottom: 24px;
}

.margin_b32 {
  margin-bottom: 32px;
}

.margin_b40 {
  margin-bottom: 40px;
}

.margin_b56 {
  margin-bottom: 56px;
}

/*MarginRight*/
.margin_r06 {
  margin-right: 6px;
}

.margin_r10 {
  margin-right: 10px;
}

.margin_r16 {
  margin-right: 16px;
}

.margin_r24 {
  margin-right: 24px;
}

/*MarginLeft*/
.margin_l06 {
  margin-left: 6px;
}

.margin_l10 {
  margin-left: 10px;
}

.margin_l16 {
  margin-left: 16px;
}

.margin_l24 {
  margin-left: 24px;
}

/*==========================
layout
==========================*/
/*枠===========*/
.section_wrap {
  padding-left: clamp(20px, 2.93vw, 40px);
  padding-right: clamp(20px, 2.93vw, 40px);
  padding-top: clamp(50px, 7.32vw, 100px);
  padding-bottom: clamp(50px, 7.32vw, 100px);
}
.section_wrap.tb_nospace {
  padding-top: 0;
  padding-bottom: 0;
}
.section_wrap.tb_s {
  padding-top: clamp(36px, 4.4vw, 60px);
  padding-bottom: clamp(36px, 4.4vw, 60px);
}
.section_wrap.t_s {
  padding-top: clamp(36px, 4.4vw, 60px);
}
.section_wrap.b_s {
  padding-bottom: clamp(36px, 4.4vw, 60px);
}
.section_wrap .section_inner {
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.inner_max {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
}

#pagetitle + .section_wrap {
  padding-top: clamp(36px, 4.4vw, 60px);
}

.anchorLink_box {
  padding-top: clamp(36px, 4.4vw, 60px);
  padding-bottom: clamp(36px, 4.4vw, 60px);
}
.anchorLink_box + .section_wrap {
  padding-top: clamp(36px, 4.4vw, 60px);
}

.pageStep_box {
  padding-top: clamp(36px, 4.4vw, 60px);
  padding-bottom: 0;
}
.pageStep_box + .section_wrap {
  padding-top: clamp(36px, 4.4vw, 60px);
}

.mypageNav_box {
  padding-top: clamp(36px, 4.4vw, 60px);
  padding-bottom: 0;
}
.mypageNav_box + .section_wrap {
  padding-top: clamp(36px, 4.4vw, 60px);
}

/*spacer============*/
.spacer_l {
  -webkit-margin-after: clamp(50px, 7.32vw, 100px);
          margin-block-end: clamp(50px, 7.32vw, 100px);
}

.spacer_m {
  -webkit-margin-after: clamp(36px, 4.4vw, 60px);
          margin-block-end: clamp(36px, 4.4vw, 60px);
}

.spacer_s {
  -webkit-margin-after: clamp(24px, 2.93vw, 36px);
          margin-block-end: clamp(24px, 2.93vw, 36px);
}

/*card============*/
:root {
  --lay_gap_sp: 16px;
  --lay_gap_md: 32px;
}

/*1 →　2*/
.ly_card_2column {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: var(--lay_gap_sp);
}
.ly_card_2column > div,
.ly_card_2column > li,
.ly_card_2column > figure,
.ly_card_2column > section,
.ly_card_2column > article,
.ly_card_2column > dt,
.ly_card_2column > dd {
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .ly_card_2column {
    flex-direction: row;
    gap: var(--lay_gap_md);
  }
  .ly_card_2column > div,
  .ly_card_2column > li,
  .ly_card_2column > figure,
  .ly_card_2column > section,
  .ly_card_2column > article,
  .ly_card_2column > dt,
  .ly_card_2column > dd {
    width: calc(50% - var(--lay_gap_md) / 2);
  }
}

/*1 →　3*/
.ly_card_3column {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: var(--lay_gap_sp);
}
.ly_card_3column > div,
.ly_card_3column > li,
.ly_card_3column > figure,
.ly_card_3column > section,
.ly_card_3column > article,
.ly_card_3column > dt,
.ly_card_3column > dd {
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .ly_card_3column {
    flex-direction: row;
    gap: var(--lay_gap_md);
  }
  .ly_card_3column > div,
  .ly_card_3column > li,
  .ly_card_3column > figure,
  .ly_card_3column > section,
  .ly_card_3column > article,
  .ly_card_3column > dt,
  .ly_card_3column > dd {
    width: calc(33.3333333333% - var(--lay_gap_md) * 2 / 3);
  }
}

/*1 → 2 → 4*/
.ly_card_4column {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: var(--lay_gap_sp);
}
.ly_card_4column > div,
.ly_card_4column > li,
.ly_card_4column > figure,
.ly_card_4column > section,
.ly_card_4column > article,
.ly_card_4column > dt,
.ly_card_4column > dd {
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .ly_card_4column {
    flex-direction: row;
    gap: var(--lay_gap_md);
  }
  .ly_card_4column > div,
  .ly_card_4column > li,
  .ly_card_4column > figure,
  .ly_card_4column > section,
  .ly_card_4column > article,
  .ly_card_4column > dt,
  .ly_card_4column > dd {
    width: calc(50% - var(--lay_gap_md) / 2);
  }
}
@media print, screen and (min-width: 992px) {
  .ly_card_4column > div,
  .ly_card_4column > li,
  .ly_card_4column > figure,
  .ly_card_4column > section,
  .ly_card_4column > article,
  .ly_card_4column > dt,
  .ly_card_4column > dd {
    width: calc(25% - var(--lay_gap_md) * 3 / 4);
  }
}

/*2*/
.ly_2column {
  display: flex;
  flex-wrap: wrap;
  gap: var(--lay_gap_sp);
}
.ly_2column > div,
.ly_2column > li,
.ly_2column > figure,
.ly_2column > section,
.ly_2column > article,
.ly_2column > dt,
.ly_2column > dd {
  width: calc(50% - var(--lay_gap_sp) / 2);
}
@media print, screen and (min-width: 768px) {
  .ly_2column {
    gap: var(--lay_gap_md);
  }
  .ly_2column > div,
  .ly_2column > li,
  .ly_2column > figure,
  .ly_2column > section,
  .ly_2column > article,
  .ly_2column > dt,
  .ly_2column > dd {
    width: calc(50% - var(--lay_gap_md) / 2);
  }
}

/*2→3*/
.ly_2_3column {
  display: flex;
  flex-wrap: wrap;
  gap: var(--lay_gap_sp);
}
.ly_2_3column > div,
.ly_2_3column > li,
.ly_2_3column > figure,
.ly_2_3column > section,
.ly_2_3column > article,
.ly_2_3column > dt,
.ly_2_3column > dd {
  width: calc(50% - var(--lay_gap_sp) / 2);
}
@media print, screen and (min-width: 992px) {
  .ly_2_3column {
    gap: var(--lay_gap_md);
  }
  .ly_2_3column > div,
  .ly_2_3column > li,
  .ly_2_3column > figure,
  .ly_2_3column > section,
  .ly_2_3column > article,
  .ly_2_3column > dt,
  .ly_2_3column > dd {
    width: calc(33.3333333333% - var(--lay_gap_md) * 2 / 3);
  }
}

/*golden ratio*/
.ly_gold {
  display: flex;
  flex-direction: column;
  gap: 24px 40px;
}
.ly_gold.s_top .ly_gold_s {
  order: -1;
}
.ly_gold.b_top .ly_gold_b {
  order: -1;
}
@media print, screen and (min-width: 768px) {
  .ly_gold {
    flex-direction: row;
    justify-content: space-between;
  }
  .ly_gold.align_cent {
    align-items: center;
  }
  .ly_gold .ly_gold_s {
    width: calc(50% - 40px / 2);
    order: 0;
  }
  .ly_gold .ly_gold_b {
    width: calc(50% - 40px / 2);
    order: 0;
  }
  .ly_gold.s_top .ly_gold_s {
    order: 0;
  }
  .ly_gold.b_top .ly_gold_b {
    order: 0;
  }
}
@media print, screen and (min-width: 992px) {
  .ly_gold .ly_gold_s {
    width: 38%;
  }
  .ly_gold .ly_gold_b {
    width: calc(62% - 40px);
  }
}

/*half*/
.ly_half {
  display: flex;
  flex-direction: column;
}
@media print, screen and (min-width: 768px) {
  .ly_half {
    flex-direction: row;
  }
  .ly_half > div,
  .ly_half > li,
  .ly_half > figure,
  .ly_half > section,
  .ly_half > article,
  .ly_half > dt,
  .ly_half > dd {
    width: 50%;
  }
}

@media print, screen and (min-width: 768px) {
  .align_cent {
    align-items: center;
  }
}

/*btn_layout*/
.ly_btn_box {
  display: flex;
  flex-direction: column;
  gap: 10px 16px;
}
@media print, screen and (min-width: 768px) {
  .ly_btn_box {
    flex-direction: row;
    justify-content: center;
  }
  .ly_btn_box > li {
    min-width: 240px;
  }
  .ly_btn_box.tx_left {
    justify-content: flex-start;
  }
  .ly_btn_box.tx_right {
    justify-content: flex-end;
  }
}
.ly_btn_box_row {
  display: flex;
  justify-content: center;
  gap: 10px 16px;
}
.ly_btn_box_row.tx_left {
  justify-content: flex-start;
}
.ly_btn_box_row.tx_right {
  justify-content: flex-end;
}
@media print, screen and (min-width: 768px) {
  .ly_btn_box_row > li {
    min-width: 240px;
  }
}

.ly_img_box {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media print, screen and (min-width: 768px) {
  .ly_img_box {
    flex-direction: row;
    gap: 24px;
    align-items: center;
  }
}
.ly_img_box > figure {
  text-align: center;
}
.ly_img_box > figure img {
  max-width: 100%;
  height: auto;
  margin-inline: auto;
}
@media print, screen and (min-width: 768px) {
  .ly_img_box > figure {
    width: 180px;
  }
}
@media print, screen and (min-width: 768px) {
  .ly_img_box > div {
    flex-grow: 2;
  }
}

/*==========================
other
==========================*/
.bg_color01 {
  background: #e7e7e7;
}

.bg_color02 {
  background: rgba(107, 107, 107, 0.1);
}

/*anchorlink============*/
/*<a id="name" class="anchor" ></a>===========*/
a.anchor {
  display: block;
  position: relative;
  top: -100px;
  visibility: hidden;
}

/*ClearFix============*/
.clearfix {
  zoom: 1;
}
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

/*Float============*/
/*FloatLeft*/
.float_left {
  float: left;
}

/*FloatRight*/
.float_right {
  float: right;
}

/*ClearBoth*/
.clearboth {
  clear: both;
}

/*phbox============*/
:root {
  --float_space: 30px;
  --img_top: 16px;
}

.phbox_right,
.phbox_left {
  text-align: center;
  margin-bottom: var(--img_top);
}
.phbox_right img,
.phbox_left img {
  max-width: 100%;
  height: auto;
}
.phbox_right img + img,
.phbox_left img + img {
  margin-top: var(--img_top);
}
.phbox_right > a,
.phbox_left > a {
  display: block;
}
.phbox_right > a + a,
.phbox_left > a + a {
  margin-top: var(--img_top);
}

.ov_hidden {
  overflow: hidden;
}

@media print, screen and (min-width: 768px) {
  .phbox_right {
    float: right;
    margin-left: var(--float_space);
    margin-bottom: 0;
  }
  .phbox_left {
    float: left;
    margin-right: var(--float_space);
    margin-bottom: 0;
  }
}
/*レスポンシブblock/none============*/
@media print, screen and (min-width: 768px) {
  .pc_none {
    display: none;
  }
}

.sp_none {
  display: none;
}
@media print, screen and (min-width: 768px) {
  .sp_none {
    display: inline-block;
  }
}

/*tel============*/
.tel-link a {
  text-decoration: underline;
  color: inherit;
}
.tel-link a:hover {
  opacity: 0.8;
}

/*img_fluid============*/
.img_fluid {
  max-width: 100%;
  height: auto;
}

/*==========================
parts
==========================*/
/*Pagetop============*/
#pagetop {
  display: none;
  position: fixed;
  bottom: 24px;
  right: clamp(20px, 2.93vw, 40px);
  z-index: 998;
  opacity: 0;
  transition-duration: 0.5s;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
}
#pagetop.active {
  opacity: 1;
  -webkit-transform: translate(0, -20px);
          transform: translate(0, -20px);
}
#pagetop a {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #5c6373;
  color: #fff;
  border-radius: 100px;
  width: 60px;
  height: 60px;
  text-decoration: none;
  font-size: 2.4rem;
  transition: 0.4s;
}
#pagetop a i {
  transition: 0.4s;
}
#pagetop a:hover {
  -webkit-filter: drop-shadow(0 0 6px #d9d9d9);
          filter: drop-shadow(0 0 6px #d9d9d9);
}
#pagetop a:hover i {
  -webkit-transform: translateY(-3px);
          transform: translateY(-3px);
}
@media print, screen and (min-width: 768px) {
  #pagetop {
    display: block;
  }
}

/*pagetitle============*/
#pagetitle {
  background: url(../img/common_img/pagetitle.jpg) center center no-repeat #5c6373;
  background-size: cover;
}
#pagetitle.section_wrap {
  padding-top: clamp(32px, 4.39vw, 60px);
  padding-bottom: 0;
}
#pagetitle.section_wrap .section_inner {
  position: relative;
  padding-bottom: clamp(48px, 5.86vw, 80px);
}
#pagetitle.section_wrap .section_inner::after {
  content: "";
  display: block;
  width: 100%;
  height: clamp(24px, 2.93vw, 40px);
  background: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  border-radius: 4px 4px 0 0;
}

.pagetitle_group span {
  display: block;
}
.pagetitle_group span.en_tx {
  font-size: clamp(4.6rem, 6.44vw, 8.8rem);
  color: #fff;
  line-height: 0.8;
}
.pagetitle_group span.ja_tx {
  background: #2c3140;
  width: -webkit-max-content;
  width: max-content;
  border-radius: 4px;
  color: #fff;
  margin: 1em auto 0;
  padding: 0.4em 2em;
  font-size: clamp(1.6rem, 1.32vw, 1.8rem);
  line-height: 1;
}

/*pankuzu============*/
#pankuzu {
  width: -webkit-max-content;
  width: max-content;
  clear: both;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: 10;
}
#pankuzu ol {
  list-style: none;
}
#pankuzu ol li {
  float: left;
  font-size: clamp(1rem, 0.81vw, 1.1rem);
  padding: 0 7px 0 10px;
  background: url(../img/common_img/icon_pankuzu.gif) no-repeat 0 50%;
}
#pankuzu ol li em {
  font-style: normal;
}
#pankuzu ol li:first-child {
  background: none;
}
#pankuzu ol li a:link, #pankuzu ol li a:visited, #pankuzu ol li a:hover, #pankuzu ol li a:active {
  text-decoration: underline;
}

/*PageNavi============*/
:root {
  --pagenavi_bd_span: #c99c56;
  --pagenavi_bd_a: #c99c56;
  --pagenavi_tx_span: #fff;
  --pagenavi_tx_a: #c99c56;
  --pagenavi_span: #c99c56;
  --pagenavi_a: hsl(37, 60%, 95%);
  --pagenavi_pdd: 0.5em 1em;
}

.pagenavi {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.pagenavi li span {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: var(--pagenavi_pdd);
  color: var(--pagenavi_tx_span);
  border: 1px solid var(--pagenavi_bd_span);
  background: var(--pagenavi_span);
  border-radius: 4px;
}
.pagenavi li a {
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  padding: var(--pagenavi_pdd);
  color: var(--pagenavi_tx_a);
  border: 1px solid var(--pagenavi_bd_a);
  background: var(--pagenavi_a);
  transition: 0.2s;
  border-radius: 4px;
}
.pagenavi li a:hover {
  opacity: 0.8;
  border: 1px solid var(--pagenavi_bd_span);
  background: var(--pagenavi_span);
  color: var(--pagenavi_tx_span);
}

/*anchorLink============*/
.anchorLink {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
}
.anchorLink > li {
  width: -webkit-max-content;
  width: max-content;
  min-width: calc(50% - 4px);
}
@media print, screen and (min-width: 768px) {
  .anchorLink > li {
    min-width: 200px;
  }
}
.anchorLink > li a {
  display: grid;
  place-items: center;
  background: #09090d;
  border: solid #09090d 2px;
  color: #fff;
  border-radius: 4px;
  text-decoration: none;
  padding: 0.5em 1em;
  transition: 0.2s;
}
.anchorLink > li a:hover {
  background: #fff;
  color: #09090d;
}

/*mypageNav============*/
.mypageNav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}
@media print, screen and (min-width: 768px) {
  .mypageNav {
    gap: 16px;
    padding-inline: 2em;
  }
}
.mypageNav > li {
  width: calc(50% - 4px);
}
@media print, screen and (min-width: 768px) {
  .mypageNav > li {
    width: calc(25% - 12px);
  }
}
.mypageNav > li.active > a {
  background: #09090d;
  color: #fff;
  pointer-events: none;
}
.mypageNav > li > a {
  display: flex;
  justify-content: center;
  gap: 8px;
  text-decoration: none;
  border: 2px solid #09090d;
  color: #09090d;
  border-radius: 4px;
  padding-block: 0.5em;
  font-weight: 700;
  white-space: nowrap;
}
.mypageNav > li > a:hover {
  background: #09090d;
  color: #fff;
}
.mypageNav .point {
  width: 1.5em;
  height: 1.5em;
  background: #5c6373;
  color: #fff;
  border-radius: 100px;
  line-height: 1;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-weight: normal;
}
.mypageNav .point i {
  font-size: 0.9em;
  font-weight: normal;
}

/*box===============*/
.bd_box01 {
  border: 2px solid #09090d;
  border-radius: 4px;
  padding: 28px;
  background: #fff;
  position: relative;
}
.bd_box01.s_pd {
  padding: 16px;
}
.bd_box01 .bd_box_ti {
  position: absolute;
  left: 0;
  right: 0;
  top: -16px;
  margin: 0 auto auto;
  font-weight: 700;
  width: -webkit-max-content;
  width: max-content;
  background: #fff;
  color: #09090d;
  font-size: 1.8rem;
  padding: 0.1em 14px;
  border-radius: 100px;
}
@media print, screen and (min-width: 768px) {
  .bd_box01 .bd_box_ti {
    font-size: clamp(1.8rem, 1.76vw, 2.4rem);
    padding: 0.1em 24px;
    top: -18px;
  }
}

.bd_box02 {
  border: 1px solid #09090d;
  border-radius: 4px;
  padding-inline: 16px;
  padding-block: 16px;
  background: #fff;
  position: relative;
}
@media print, screen and (min-width: 768px) {
  .bd_box02 {
    padding-inline: 28px;
    padding-block: 28px;
  }
}

.box01 {
  background: #e7e7e7;
  border-radius: 4px;
  padding: 28px;
}
.box01.s_pd {
  padding: 16px;
}

.bg_color01 .box01 {
  background: #fff;
}

/*Line============*/
hr.line_01 {
  height: 1px;
  clear: both;
  margin: 36px 0px;
  border: none;
  border-top: 1px dotted #ccc;
}

/*title============*/
.title01 {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 24px;
}
.title01 .en_tx {
  display: block;
  color: #75fcff;
  margin-top: 16px;
  line-height: 1;
}
@media print, screen and (min-width: 768px) {
  .title01 {
    margin-bottom: 1.6em;
    font-size: clamp(3rem, 2.64vw, 3.6rem);
  }
  .title01 .en_tx {
    font-size: clamp(3rem, 2.64vw, 3.6rem);
    margin-top: 0.6em;
  }
}

.title02 {
  color: #09090d;
  font-weight: 700;
  line-height: 1.2;
  font-size: 2rem;
  font-size: clamp(3.6rem, 3.51vw, 4.8rem);
}

.title03 {
  font-size: 2.2rem;
  -webkit-margin-after: 18px;
          margin-block-end: 18px;
  margin-inline: auto;
  font-weight: 700;
  color: #09090d;
  border-top: 3px solid #5c6373;
  border-bottom: 3px solid #5c6373;
  width: -webkit-max-content;
  width: max-content;
  padding-inline: 0.3em;
  padding-block: 0.2em 0.3em;
}
@media print, screen and (min-width: 768px) {
  .title03 {
    -webkit-margin-after: 1em;
            margin-block-end: 1em;
    font-size: clamp(3rem, 2.34vw, 3.2rem);
  }
}

.title04 {
  text-align: left;
  -webkit-border-start: 6px solid #09090d;
          border-inline-start: 6px solid #09090d;
  font-size: clamp(1.8rem, 1.61vw, 2.2rem);
  font-weight: 700;
  color: #09090d;
  -webkit-padding-start: 0.5em;
          padding-inline-start: 0.5em;
  -webkit-margin-after: 1em;
          margin-block-end: 1em;
}

.title05 {
  text-align: left;
  font-size: clamp(1.8rem, 1.61vw, 2.2rem);
  font-weight: 700;
  -webkit-margin-after: 1em;
          margin-block-end: 1em;
  -webkit-padding-start: 1.5em;
          padding-inline-start: 1.5em;
  position: relative;
}
.title05::before {
  font-family: remixicon !important;
  font-style: normal;
  content: "\eb80";
  color: #09090d;
  font-size: 1.1em;
  position: absolute;
  inset: 0 auto auto 0;
}

.title06 {
  background: #5c6373;
  color: #fff;
  font-weight: 700;
  padding: 0.5em 1em;
  margin-bottom: 1em;
}
.title06 .s_em {
  margin-left: 1em;
}

.sub_ti01 {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 14px;
}
.sub_ti01 .point {
  width: 1.5em;
  height: 1.5em;
  background: #09090d;
  color: #fff;
  border-radius: 100px;
  line-height: 1;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  -webkit-margin-end: 0.5em;
          margin-inline-end: 0.5em;
}
.sub_ti01 .point i {
  font-size: 0.9em;
  font-weight: normal;
}
.sub_ti01.b_tx {
  font-size: 2.2rem;
}
@media print, screen and (min-width: 768px) {
  .sub_ti01.b_tx {
    font-size: clamp(3rem, 2.64vw, 3.6rem);
  }
}

.sub_ti02 {
  font-size: clamp(1.6rem, 1.32vw, 1.8rem);
  font-weight: 700;
  -webkit-margin-after: 0.5em;
          margin-block-end: 0.5em;
}

.sub_ti03 {
  text-align: left;
  font-size: clamp(1.4rem, 1.17vw, 1.6rem);
  font-weight: 700;
  -webkit-margin-after: 0.5em;
          margin-block-end: 0.5em;
  -webkit-padding-start: 1.5em;
          padding-inline-start: 1.5em;
  position: relative;
}
.sub_ti03::before {
  font-family: remixicon !important;
  font-style: normal;
  content: "\eb80";
  color: #09090d;
  font-size: 1.1em;
  position: absolute;
  inset: 0 auto auto 0;
}
.sub_ti03.b_tx {
  font-size: clamp(1.6rem, 1.32vw, 1.8rem);
}

.sub_ti04 {
  font-size: clamp(2rem, 2.04vw, 2.8rem);
  font-weight: 700;
  color: #5c6373;
  line-height: 1.4;
}

.en_title01 {
  font-family: "Anton", sans-serif;
  font-weight: 700;
  color: #09090d;
  font-size: clamp(4rem, 5.27vw, 7.2rem);
}

.logo_title {
  font-size: 2.2rem;
  margin-bottom: 20px;
}
.logo_title img {
  margin: 0 0.5em;
  vertical-align: middle;
  height: auto;
  width: 160px;
  -webkit-transform: translateY(-0.2em);
          transform: translateY(-0.2em);
}
@media print, screen and (min-width: 768px) {
  .logo_title {
    margin-bottom: 1.3em;
    font-size: clamp(2.8rem, 2.34vw, 3.6rem);
  }
  .logo_title img {
    width: clamp(180px, 22.18vw, 303px);
  }
}

.dialog_tx {
  width: -webkit-max-content;
  width: max-content;
  background: #fff;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 26px;
  padding: 0 16px;
}
.dialog_tx .tx {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 180px;
  min-width: -webkit-max-content;
  min-width: max-content;
  padding: 0 24px;
  background: #09090d;
  color: #fff;
  font-weight: 700;
  white-space: nowrap;
  font-size: 2rem;
  line-height: 41px;
  border-radius: 4px;
  position: relative;
}
@media print, screen and (min-width: 992px) {
  .dialog_tx .tx {
    line-height: 54px;
    width: 240px;
    font-size: 2.6rem;
  }
}
.dialog_tx .tx::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 14px 8px 0 8px;
  border-color: #09090d transparent transparent transparent;
  position: absolute;
  left: 50%;
  bottom: -13px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

/*table============*/
:root {
  --tbl_pd_sp: 12px 16px;
  --tbl_pd_pc: 12px 16px;
}

/*table01*/
.sheet_basic {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #2c3140;
  border-bottom: none;
  background: #fff;
}
.sheet_basic tr th,
.sheet_basic tr td {
  border-bottom: 1px solid #2c3140;
  padding: var(--tbl_pd_sp);
  display: block;
}
.sheet_basic tr th {
  background: #d9d9d9;
}
@media print, screen and (min-width: 768px) {
  .sheet_basic tr th,
  .sheet_basic tr td {
    display: table-cell;
    padding: var(--tbl_pd_pc);
  }
  .sheet_basic tr th {
    border-right: 1px solid #2c3140;
  }
}

/*table02*/
.table_basic {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #2c3140;
  border-bottom: none;
  background: #fff;
}
.table_basic tr th,
.table_basic tr td {
  display: table-cell;
  padding: var(--tbl_pd_pc);
  border-bottom: 1px solid #2c3140;
  border-left: 1px solid #2c3140;
  line-height: 1.4;
}
.table_basic tr th {
  background: #d9d9d9;
}
.table_basic.s_pd > div > dt,
.table_basic.s_pd > div > dd {
  padding: 0.5em 0.8em;
}

.table_basic02 {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
}
.table_basic02 tr th,
.table_basic02 tr td {
  display: table-cell;
  padding: var(--tbl_pd_pc);
  border-bottom: 1px dotted #6b6b6b;
  line-height: 1.2;
}
.table_basic02 tr th {
  background: #d9d9d9;
}
.table_basic02.s_pd > div > dt,
.table_basic02.s_pd > div > dd {
  padding: 0.5em 0.8em;
}

.nowrap {
  white-space: nowrap;
}

tr.nowrap > th,
tr.nowrap > td {
  white-space: nowrap;
}

.js-scrollable {
  overflow-y: hidden !important;
}

/*1day 1week 1mon アイコン用*/
.table_ico {
  width: 1.4em;
  height: auto;
  -webkit-margin-end: 0.4em;
          margin-inline-end: 0.4em;
  vertical-align: top;
  -webkit-padding-before: 0.2em;
          padding-block-start: 0.2em;
}

/*list=============*/
/*pdf*/
.pdf_link > li {
  line-height: 1.4;
  position: relative;
  -webkit-padding-start: 1.5em;
          padding-inline-start: 1.5em;
  text-align: start;
}
.pdf_link > li + li {
  -webkit-margin-before: 8px;
          margin-block-start: 8px;
}
.pdf_link > li::before {
  font-family: remixicon !important;
  font-style: normal;
  content: "\eceb";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  color: #c81507;
  font-size: 1.2em;
}

/*※*/
.note_list {
  text-align: start;
}
.note_list > li {
  line-height: 1.4;
  position: relative;
  -webkit-padding-start: 1.4em;
          padding-inline-start: 1.4em;
}
.note_list > li + li {
  margin-top: 8px;
}
.note_list > li::before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}
.note_list.s_tx > li {
  font-size: clamp(1.2rem, 1.02vw, 1.4rem);
}

ol.note_list {
  counter-reset: number;
}
ol.note_list > li {
  list-style: none;
  padding-left: 2.6em;
}
ol.note_list > li::before {
  counter-increment: number;
  content: "0" counter(number);
  position: absolute;
  left: 1.3em;
  top: 0.4em;
  font-size: 12px;
}
ol.note_list > li::after {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}
ol.note_list > li:nth-child(n+10)::before {
  content: counter(number);
}

.num_list {
  counter-reset: number;
  text-align: left;
}
.num_list > li {
  line-height: 1.4;
  position: relative;
  padding-left: 1.4em;
  list-style: none;
  padding-left: 1.8em;
}
.num_list > li + li {
  margin-top: 8px;
}
.num_list > li::before {
  counter-increment: number;
  content: "0" counter(number) ".";
  position: absolute;
  left: 0;
  top: 0;
  color: #5c6373;
}
.num_list > li:nth-child(n+10)::before {
  content: counter(number) ".";
}

.list_basic01 {
  text-align: left;
}
.list_basic01 > li {
  position: relative;
  -webkit-padding-start: 0.8em;
          padding-inline-start: 0.8em;
}
.list_basic01 > li::before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  background: #09090d;
  border-radius: 100px;
  position: absolute;
  inset: 0.6em 0 0 0;
}
.list_basic01 > li + li {
  -webkit-margin-before: 0.4em;
          margin-block-start: 0.4em;
}

.list_basic02 {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
}
.list_basic02 > li {
  white-space: nowrap;
}
.list_basic02 > li i[class^=ri-] {
  display: inline-block;
  vertical-align: top;
  -webkit-padding-before: 0.1em;
          padding-block-start: 0.1em;
  -webkit-margin-end: 0.2em;
          margin-inline-end: 0.2em;
  color: #5c6373;
}

.card_list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 8px;
}
.card_list > li img {
  width: 80px;
  height: auto;
}
.card_list.tx_cent {
  justify-content: center;
}

/*dl=============*/
.dl_basic01 > div {
  display: grid;
  grid-template-columns: 100px 1fr;
  -webkit-border-after: 1px solid #6b6b6b;
          border-block-end: 1px solid #6b6b6b;
}
.dl_basic01 > div > dt {
  background: #e7e7e7;
}
.dl_basic01 > div > dt,
.dl_basic01 > div > dd {
  padding: var(--tbl_pd_sp);
}
@media print, screen and (min-width: 768px) {
  .dl_basic01 > div > dt,
  .dl_basic01 > div > dd {
    padding: var(--tbl_pd_pc);
  }
}
.dl_basic01.s_pd > div > dt,
.dl_basic01.s_pd > div > dd {
  padding: 0.5em 0.8em;
}

.dl_basic02 {
  text-align: left;
}
.dl_basic02 > dt {
  color: #5c6373;
  font-weight: 700;
  border-left: 4px solid #5c6373;
  line-height: 1.1;
  -webkit-padding-start: 0.5em;
          padding-inline-start: 0.5em;
  -webkit-margin-after: 0.5em;
          margin-block-end: 0.5em;
}
.dl_basic02 > dd + dt {
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
}

.dl_basic03 {
  text-align: left;
}
.dl_basic03 > div + div {
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
}
.dl_basic03 > div > dt {
  color: #5c6373;
  font-weight: 700;
  line-height: 1.1;
  -webkit-margin-after: 0.5em;
          margin-block-end: 0.5em;
}
.dl_basic03 > div > dt::after {
  content: "：";
}
@media print, screen and (min-width: 768px) {
  .dl_basic03 > div {
    display: flex;
    align-items: center;
  }
  .dl_basic03 > div > dt {
    width: -webkit-max-content;
    width: max-content;
  }
  .dl_basic03 > div > dd {
    flex-grow: 2;
  }
}

/*=====================
button
======================*/
[class^=btn0].tx_cent {
  margin-inline: auto;
}
[class^=btn0].tx_right {
  -webkit-margin-start: auto;
          margin-inline-start: auto;
}
[class^=btn0] button {
  -webkit-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  outline: none;
  background: transparent;
  box-sizing: border-box;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 400;
  width: 100%;
  cursor: pointer;
  font-size: inherit;
}
[class^=btn0].block_b a,
[class^=btn0].block_b button {
  padding-block: 1.8em;
}

.btn01 a,
.btn01 button {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  border-radius: 4px;
  line-height: 1;
  white-space: nowrap;
  padding-block: 1.2em;
  padding-inline: 1em;
  font-weight: 700;
  border: 1px solid #09090d;
  background: #fff;
  color: #09090d;
  transition: 0.2s;
}
.btn01 a:hover,
.btn01 button:hover {
  background: #333349;
  color: #fff;
}

.btn02 a,
.btn02 button {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  border-radius: 4px;
  line-height: 1;
  white-space: nowrap;
  padding-block: 1.2em;
  padding-inline: 1em;
  font-weight: 700;
  border: 1px solid #09090d;
  background: #09090d;
  color: #fff;
  transition: 0.2s;
}
.btn02 a:hover,
.btn02 button:hover {
  border: 1px solid #1e1e2b;
  background: #333349;
}
.btn02.color02 a,
.btn02.color02 button {
  background: #75fcff;
  border: 1px solid #75fcff;
}
.btn02.color02 a:hover,
.btn02.color02 button:hover {
  border: 1px solid #a8fdff;
  background: #42fbff;
}

.btn03 a,
.btn03 button {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  line-height: 1;
  border-radius: 4px;
  white-space: nowrap;
  background: #5c6373;
  color: #fff;
  padding-block: 8px;
  padding-inline: 1em;
  transition: 0.2s;
}
.btn03 a:hover,
.btn03 button:hover {
  background: #171a22;
}
.btn03.clr02 a,
.btn03.clr02 button {
  background: #6b6b6b;
}
.btn03.clr02 a:hover,
.btn03.clr02 button:hover {
  background: #c3cbcc;
}

.btn04 a,
.btn04 button {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  border-radius: 4px;
  line-height: 1;
  white-space: nowrap;
  padding-block: 1.2em;
  padding-inline: 1em;
  font-weight: 700;
  border: 1px solid #6b6b6b;
  background: #6b6b6b;
  color: #fff;
  transition: 0.2s;
}
.btn04 a:hover,
.btn04 button:hover {
  background: #858585;
  border: 1px solid #858585;
}

.btn05 a,
.btn05 button {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  border-radius: 100px;
  line-height: 1;
  white-space: nowrap;
  padding-block: 0.5em;
  padding-inline: 1em;
  font-weight: 700;
  border: 1px solid #5c6373;
  background-color: #d9d9d9;
  color: #5c6373;
  transition: 0.2s;
}
.btn05 a:hover,
.btn05 button:hover {
  background: #5c6373;
  color: #d9d9d9;
}

.btn06 a,
.btn06 button {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  border-radius: 4px;
  line-height: 1;
  white-space: nowrap;
  padding-block: 1.2em;
  padding-inline: 1em;
  font-weight: 700;
  border: 1px solid #5c6373;
  background: #5c6373;
  color: #fff;
  transition: 0.2s;
}
.btn06 a:hover,
.btn06 button:hover {
  border: 1px solid #8f96a6;
  background: #8f96a6;
}

/*==========================
modal
==========================*/
.modal_wrapper {
  z-index: 10000;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 60px 10px;
  text-align: center;
}
.modal_wrapper:not(:target) {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}
.modal_wrapper:target {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.4s, visibility 0.4s;
}
.modal_wrapper::after {
  display: inline-block;
  height: 100%;
  margin-left: -0.05em;
  vertical-align: middle;
  content: "";
}
.modal_wrapper .modal_window {
  box-sizing: border-box;
  display: inline-block;
  z-index: 20;
  position: relative;
  width: 80%;
  max-width: 700px;
  padding: 30px;
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.6);
  vertical-align: middle;
}
.modal_wrapper .modal_window .modal_content {
  max-height: 80vh;
  overflow-y: auto;
}
.modal_wrapper .modal_window .modal_content .chart_box {
  box-shadow: none;
}
.modal_wrapper .modal_close {
  z-index: 20;
  position: absolute;
  top: 0;
  right: 0;
  width: 48px;
  color: #6b6b6b !important;
  font-size: 3rem;
  line-height: 48px;
  text-align: center;
  text-decoration: none;
  text-indent: 0;
}
.modal_wrapper .modal_close:hover {
  color: #000 !important;
}

.modal_overlay {
  z-index: 10;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.8);
}

/*==========================
ご利用の流れ
==========================*/
.flow_box {
  width: min(100%, 960px);
  border: 1px solid #09090d;
  border-radius: 4px;
  padding-left: 30px;
  padding-right: 30px;
  padding-bottom: 101px;
  position: relative;
  margin-top: 16px;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 992px) {
  .flow_box {
    padding-bottom: 123px;
    margin-top: 0;
  }
}
.flow_box .btn03 {
  max-width: clamp(110px, 9.66vw, 132px);
  margin: 10px auto 16px;
}
.flow_box .btn03 a {
  font-size: clamp(1.2rem, 1.02vw, 1.4rem);
}
@media print, screen and (min-width: 768px) {
  .flow_box .ly_card_2column {
    align-items: center;
  }
}
.flow_box figure {
  margin-bottom: 16px;
}
.flow_box figure img {
  max-width: 100%;
  height: auto;
}
@media print, screen and (min-width: 768px) {
  .flow_box figure {
    margin-top: -24px;
    margin-bottom: -16px;
  }
}
.flow_box .cts_p {
  text-align: center;
  letter-spacing: -0.08em;
}
.flow_box .cts_p + .tel_group {
  margin-top: 24px;
}
.flow_box .dialog_tx {
  margin-top: -18px;
}
@media print, screen and (min-width: 992px) {
  .flow_box .dialog_tx {
    margin-top: -22px;
  }
}
.flow_box .btn02 {
  width: min(100% - 60px, 348px);
  position: absolute;
  bottom: 30px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.flow_box .btn02 a {
  font-size: 1.8rem;
}
@media print, screen and (min-width: 992px) {
  .flow_box .btn02 {
    bottom: 40px;
  }
  .flow_box .btn02 a {
    font-size: 2.2rem;
  }
}
.flow_box .tel_group .tel a {
  color: #09090d;
  font-size: clamp(3rem, 2.93vw, 4rem);
  font-family: "Anton", sans-serif;
  font-weight: 700;
  text-decoration: none;
  transition: 0.2s;
  line-height: 1;
}
.flow_box .tel_group .tel a:hover {
  color: #09090d;
}
.flow_box .tel_group .tel a img {
  vertical-align: middle;
  margin-right: 0.4em;
  margin-top: -0.2em;
}
@media print, screen and (min-width: 768px) {
  .flow_box .tel_group .tel a {
    pointer-events: none;
  }
}
.flow_box .tel_group .tel_tx {
  line-height: 1;
  font-size: 1.4rem;
}

/*==========================
料金プラン
==========================*/
.plan_list {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
@media print, screen and (min-width: 992px) {
  .plan_list {
    flex-direction: row;
    justify-content: space-between;
  }
}
.plan_list > li {
  width: min(100%, 290px);
  margin: auto;
}
@media print, screen and (min-width: 768px) {
  .plan_list > li {
    width: min(100%, 360px);
  }
}
.plan_list > li a {
  display: flex;
  flex-direction: column;
  border: 2px solid #09090d;
  text-decoration: none;
  border-radius: 4px;
  background: #fff;
  white-space: nowrap;
  padding: 18px 20px 24px;
  position: relative;
  overflow: hidden;
  transition: 0.2s;
}
.plan_list > li a:hover {
  opacity: 0.8;
}
.plan_list > li a:hover::after {
  -webkit-transform: translateX(3px);
          transform: translateX(3px);
}
@media print, screen and (min-width: 992px) {
  .plan_list > li a {
    padding: 20px 26px 32px;
  }
}
.plan_list > li a::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 54px 54px;
  border-color: transparent transparent #09090d transparent;
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
}
@media print, screen and (min-width: 992px) {
  .plan_list > li a::before {
    border-width: 0 0 68px 68px;
  }
}
.plan_list > li a::after {
  font-family: remixicon !important;
  font-style: normal;
  content: "\ea6c";
  color: #fff;
  position: absolute;
  bottom: 0.1em;
  right: 4px;
  z-index: 2;
  font-size: 1.5em;
  transition: 0.2s;
}
.plan_list > li a figure {
  background: #d9d9d9;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 12px auto;
}
.plan_list > li a figure img {
  width: 65%;
  height: auto;
}
@media print, screen and (min-width: 992px) {
  .plan_list > li a figure {
    width: 125px;
    height: 125px;
    margin: 16px auto;
  }
}
.plan_list > li a p {
  text-align: center;
  font-size: 1.8rem;
  color: #09090d;
  line-height: 1;
}
@media print, screen and (min-width: 992px) {
  .plan_list > li a p {
    font-size: 2.2rem;
  }
}

.plan_ti {
  font-size: 3.2rem;
  font-family: "Anton", sans-serif;
  font-weight: 700;
  color: #09090d;
  line-height: 1;
}
.plan_ti::first-letter {
  font-size: 1.25em;
}
@media print, screen and (min-width: 992px) {
  .plan_ti {
    font-size: 4.8rem;
  }
}

/*====================
証明書写真の撮影における注意事項
=======================*/
.license_list .sub_ti01 .svg {
  fill: #75fcff;
  vertical-align: middle;
  -webkit-margin-end: 0.5em;
          margin-inline-end: 0.5em;
  -webkit-margin-before: -0.5em;
          margin-block-start: -0.5em;
}
.license_list figure + .note_list, .license_list figure + p {
  -webkit-margin-before: 16px;
          margin-block-start: 16px;
}
@media print, screen and (min-width: 768px) {
  .license_list .bd_box01:last-child {
    width: calc((33.3333333333% - var(--lay_gap_md) * 2 / 3) * 2 + var(--lay_gap_md));
  }
}

/*====================
利用規約
=======================*/
.terms_list {
  text-align: left;
}
.terms_list > dt {
  background: #5c6373;
  color: #fff;
  padding-inline: 1em;
  padding-block: 0.5em;
  -webkit-margin-after: 0.8em;
          margin-block-end: 0.8em;
}
.terms_list > dd {
  font-size: 1.4rem;
  letter-spacing: -0.02em;
}
.terms_list > dd p,
.terms_list > dd li,
.terms_list > dd dt,
.terms_list > dd dd {
  font-size: 1.4rem;
  letter-spacing: -0.02em;
}
.terms_list > dd > * + * {
  -webkit-margin-before: 1.5em;
          margin-block-start: 1.5em;
}
.terms_list > dd + dt {
  -webkit-margin-before: 2em;
          margin-block-start: 2em;
}
.terms_list > dd > ol {
  counter-reset: number;
}
.terms_list > dd > ol > li {
  position: relative;
  list-style: none;
  -webkit-padding-start: 2.5em;
          padding-inline-start: 2.5em;
}
.terms_list > dd > ol > li::before {
  counter-increment: number;
  content: "（0" counter(number) "）";
  position: absolute;
  left: -0.5em;
  top: 0.1em;
  font-family: "Anton", sans-serif;
  font-weight: 400;
  color: #5c6373;
}
.terms_list > dd > ol > li:nth-child(n+10)::before {
  content: "（" counter(number) "）";
}
.terms_list > dd > ol > li + li {
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
}
.terms_list > dd > ol > li > ol {
  counter-reset: inumber;
  background: #fff;
  border: 1px solid rgba(92, 99, 115, 0.3);
  padding: 1em;
}
* + .terms_list > dd > ol > li > ol {
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
}
.terms_list > dd > ol > li > ol > li {
  position: relative;
  list-style: none;
  -webkit-padding-start: 1.8em;
          padding-inline-start: 1.8em;
  counter-increment: inumber;
}
.terms_list > dd > ol > li > ol > li::before {
  content: "0" counter(inumber) ".";
  position: absolute;
  left: 0;
  top: 0;
  font-family: "Anton", sans-serif;
  font-weight: 400;
}
.terms_list > dd > ol > li > ol > li:nth-child(n+10)::before {
  content: counter(innumber) ".";
}
.terms_list > dd > ol > li > ol > li + li {
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
}
.terms_list > dd > ol > li > ol > li > ol {
  counter-reset: listkana;
  background: #e7e7e7;
  padding: 1em;
}
* + .terms_list > dd > ol > li > ol > li > ol {
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
}
.terms_list > dd > ol > li > ol > li > ol > li {
  position: relative;
  list-style: none;
  -webkit-padding-start: 2em;
          padding-inline-start: 2em;
  counter-increment: listkana;
}
.terms_list > dd > ol > li > ol > li > ol > li::before {
  content: counter(listkana, katakana) ".";
  position: absolute;
  left: 0;
  top: 0;
  color: #383838;
}
.terms_list > dd > ol > li > ol > li > ol > li + li {
  -webkit-margin-before: 0.5em;
          margin-block-start: 0.5em;
}
.terms_list > dd dl {
  background: #fff;
  border: 1px solid rgba(92, 99, 115, 0.3);
  padding: 0.5em 1em;
}
* + .terms_list > dd dl {
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
}
.terms_list > dd dl dt {
  font-weight: 700;
  color: #5c6373;
  -webkit-margin-after: 0.2em;
          margin-block-end: 0.2em;
}
.terms_list > dd dl dt::before {
  content: "【";
}
.terms_list > dd dl dt::after {
  content: "】";
}

.terms_list > dd > .list_basic01 {
  -webkit-margin-inline-start: 1em;
          margin-inline-start: 1em;
}
.terms_list > dd > ol > li .list_basic01 {
  -webkit-margin-block-start: 1em;
          margin-block-start: 1em;
}


/*署名 ====================*/
.signature_box {
  text-align: right;
}
* + .signature_box {
  -webkit-margin-before: 24px;
          margin-block-start: 24px;
}
.signature_box .company {
  color: #5c6373;
  font-weight: 700;
  font-size: clamp(1.6rem, 1.32vw, 1.8rem);
}
.signature_box .days {
  display: flex;
  justify-content: flex-end;
}
.signature_box .days dt::after {
  content: "：";
}

/*========
拡大画像 ※filefox以外
========*/
div:has(> [rel=lightbox]),
li:has(> [rel=lightbox]),
figure:has(> [rel=lightbox]) {
  position: relative;
}
div:has(> [rel=lightbox])::before,
li:has(> [rel=lightbox])::before,
figure:has(> [rel=lightbox])::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 40px 40px;
  border-color: transparent transparent #09090d transparent;
  z-index: 1;
}
div:has(> [rel=lightbox])::after,
li:has(> [rel=lightbox])::after,
figure:has(> [rel=lightbox])::after {
  font-family: remixicon !important;
  font-style: normal;
  content: "\f0d1";
  color: #fff;
  font-size: 0.8em;
  position: absolute;
  right: 5px;
  bottom: 3px;
  z-index: 2;
}
div:has(> [rel=lightbox]) a,
li:has(> [rel=lightbox]) a,
figure:has(> [rel=lightbox]) a {
  transition: 0.2s;
}
div:has(> [rel=lightbox]) a img,
li:has(> [rel=lightbox]) a img,
figure:has(> [rel=lightbox]) a img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

[rel=lightbox] img {
  transition: 0.2s;
}
[rel=lightbox] img:hover {
  opacity: 0.8;
}

/*filefox用*/
.lightbox_has {
  position: relative;
}
.lightbox_has::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 40px 40px;
  border-color: transparent transparent #09090d transparent;
  z-index: 1;
}
.lightbox_has::after {
  font-family: remixicon !important;
  font-style: normal;
  content: "\f0d1";
  color: #fff;
  font-size: 0.8em;
  position: absolute;
  right: 5px;
  bottom: 3px;
  z-index: 2;
}
.lightbox_has a {
  transition: 0.2s;
}
.lightbox_has a img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*========
ページ　ステップ
========*/
.pageStep {
  display: flex;
  flex-wrap: wrap;
  gap: 24px 0;
  margin-inline: auto;
  width: 98%;
  -webkit-padding-before: 1em;
          padding-block-start: 1em;
}
@media print, screen and (min-width: 768px) {
  .pageStep {
    width: -webkit-max-content;
    width: max-content;
  }
}
.pageStep > li {
  position: relative;
  border-top: 2px solid #c3cbcc;
  white-space: nowrap;
  width: -webkit-max-content;
  width: max-content;
  font-size: 1.2rem;
  -webkit-padding-before: 1.5em;
          padding-block-start: 1.5em;
  padding-inline: 16px;
  color: #6b6b6b;
  width: 33.3333333333%;
}
.pageStep > li:first-child {
  -o-border-image: linear-gradient(to right, #fff 0%, #fff 50%, #c3cbcc 50%, #c3cbcc 100%);
     border-image: linear-gradient(to right, #fff 0%, #fff 50%, #c3cbcc 50%, #c3cbcc 100%);
  border-image-slice: 1;
}
.pageStep > li:last-child {
  -o-border-image: linear-gradient(to right, #c3cbcc 0%, #c3cbcc 50%, #fff 50%, #fff 100%);
     border-image: linear-gradient(to right, #c3cbcc 0%, #c3cbcc 50%, #fff 50%, #fff 100%);
  border-image-slice: 1;
}
@media print, screen and (min-width: 768px) {
  .pageStep > li {
    width: -webkit-max-content;
    width: max-content;
    font-size: 1.4rem;
    -webkit-padding-before: 1.8em;
            padding-block-start: 1.8em;
  }
}
.pageStep > li::before {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  border-radius: 100px;
  background: #c3cbcc;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: -17px;
  z-index: 1;
}
@media print, screen and (min-width: 768px) {
  .pageStep > li::before {
    width: 40px;
    height: 40px;
    top: -22px;
  }
}
.pageStep > li.active {
  color: #09090d;
}
.pageStep > li.active::before {
  background: #75fcff;
}
.pageStep > li.active::after {
  color: #09090d;
}
.pageStep > li::after {
  font-family: remixicon !important;
  font-style: normal;
  content: "\eb7b";
  color: #fff;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-size: 1.4rem;
  top: -13px;
  z-index: 2;
}
@media print, screen and (min-width: 768px) {
  .pageStep > li::after {
    font-size: 1.5em;
    top: -19px;
  }
}