@charset "UTF-8";
html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}

body {
  color: #2f312f;
  background: #fffff3;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.05em;
}

p, dd {
  text-align: justify;
  text-justify: inter-ideograph;
  word-break: break-all;
}

@media only screen and (min-width: 768px) {
  h1 {
    font-size: 3.6rem;
    font-weight: 600;
  }
  h2 {
    font-size: 2.8rem;
    font-weight: 600;
  }
  h3 {
    font-size: 2.2rem;
    font-weight: 600;
  }
  h4 {
    font-size: 1.8rem;
    font-weight: 600;
  }
  h5 {
    font-size: 1.6rem;
    font-weight: 600;
  }
  h6 {
    font-size: 1.4rem;
    font-weight: 600;
  }
  p,
  li,
  dt,
  dd,
  input,
  textarea,
  select {
    font-size: 1.6rem;
    font-weight: 500;
  }
  caption {
    font-size: 1.3rem;
    font-weight: 500;
  }
  img {
    max-width: 100%;
    height: auto;
  }
  input,
  textarea,
  select {
    font-family: inherit;
  }
}
@media only screen and (max-width: 767px) {
  h1 {
    font-size: 2.8rem;
    font-weight: 600;
  }
  h2 {
    font-size: 2.4rem;
    font-weight: 600;
  }
  h3 {
    font-size: 2rem;
    font-weight: 600;
  }
  h4 {
    font-size: 1.6rem;
    font-weight: 600;
  }
  h5 {
    font-size: 1.4rem;
    font-weight: 600;
  }
  h6 {
    font-size: 1.3rem;
    font-weight: 600;
  }
  p,
  li,
  dt,
  dd {
    font-size: 1.5rem;
    font-weight: 500;
  }
  caption {
    font-size: 1.2rem;
    font-weight: 500;
  }
  img {
    width: 100%;
    height: auto;
  }
  input,
  textarea,
  select {
    font-family: inherit;
    font-size: 1.6rem;
    font-weight: 500;
  }
}
@media only screen and (min-width: 768px) {
  .pc-none {
    display: none !important;
  }
}
@media only screen and (max-width: 767px) {
  .sp-none {
    display: none !important;
  }
}
a:hover {
  opacity: 0.7;
}

.thumbnail {
  position: relative;
  overflow: hidden;
}
.thumbnail img {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  object-fit: cover;
  object-position: center;
  -o-object-fit: cover;
  -o-object-position: center;
  font-family: "object-fit: cover; object-position: center";
}

@media only screen and (min-width: 768px) {
  body {
    width: 100%;
    min-width: 1280px;
  }
  .inner--s {
    width: 56.25%;
    min-width: 1080px;
    margin: 0 auto;
  }
  .inner--m {
    width: 66.5%;
    min-width: 1200px;
    margin: 0 auto;
  }
  .inner--l {
    width: 87.5%;
    min-width: 1200px;
    margin: 0 auto;
  }
}
@media only screen and (max-width: 767px) {
  .inner--s,
  .inner--m,
  .inner--l {
    width: 95%;
    margin: 0 auto;
  }
}
.sb_style a {
  text-decoration: underline;
}

.sb_style em {
  font-style: italic;
}

.sb_style ol,
.sb_style ul {
  list-style: decimal;
}

.sb_style table {
  border: 1px #666666 solid;
}

.sb_style th,
.sb_style td {
  vertical-align: middle;
  border: 1px #666666 solid;
}

.sb_style a {
  color: #008bf7;
}

.sb_style h1,
.sb_style h2,
.sb_style h3,
.sb_style h4,
.sb_style h5,
.sb_style h6 {
  box-sizing: border-box;
  line-height: 1.5;
  font-weight: 700;
}

.sb_style h1 {
  padding: 0 5px;
  font-size: 28px;
  padding-bottom: 8px;
  border-bottom: 1px solid #000;
}

.sb_style h2 {
  padding-left: 10px;
  font-size: 26px;
  border-left: 3px solid #000;
}

.sb_style h3 {
  font-size: 24px;
  padding: 5px 10px;
  background: #000;
}

.sb_style h4 {
  padding-bottom: 8px;
  font-size: 20px;
  position: relative;
}

.sb_style h4:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 60px;
  height: 2px;
  background: #000;
}

.sb_style h5 {
  font-size: 18px;
  padding: 5px 10px;
  background: #f2f2f2;
}

.sb_style h6 {
  font-size: 16px;
  color: #000;
}

.sb_style p {
  font-size: 16px;
  color: #000;
}

.sb_style ul {
  padding-left: 30px;
}

.sb_style ul li {
  margin-bottom: 5px;
}

.sb_style ol {
  padding-left: 30px;
}

.sb_style ol li {
  margin-bottom: 5px;
}

@media only screen and (max-width: 767px) {
  .sb_style table {
    width: 100% !important;
    height: auto !important;
    display: block;
    overflow-x: scroll;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    border: none;
  }
  .sb_style tbody {
    width: 100%;
    display: table;
  }
  .sb_style h1,
  .sb_style h2,
  .sb_style h3,
  .sb_style h4,
  .sb_style h5,
  .sb_style h6 {
    box-sizing: border-box;
    line-height: 1.5;
    font-weight: 700;
  }
  .sb_style h1 {
    padding: 0 5px;
    font-size: 6vw;
    padding-bottom: 3%;
    border-bottom: 1px solid #000;
  }
  .sb_style h2 {
    padding-left: 5%;
    font-size: 5.5vw;
    border-left: 2px solid #000;
  }
  .sb_style h3 {
    font-size: 5vw;
    padding: 3% 4%;
    background: #000;
    color: #fff;
  }
  .sb_style h4 {
    padding-bottom: 3%;
    font-size: 4.8vw;
    position: relative;
  }
  .sb_style h4:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 15%;
    height: 2px;
    background: #000;
  }
  .sb_style h5 {
    font-size: 4.5vw;
    padding: 3% 5%;
    background: #f2f2f2;
  }
  .sb_style h6 {
    font-size: 4.2vw;
    color: #000;
  }
  .sb_style p {
    font-size: 14px;
    color: #000;
  }
  .sb_style ul {
    padding-left: 30px;
  }
  .sb_style ul li {
    margin-bottom: 5px;
  }
  .sb_style ol {
    padding-left: 30px;
  }
  .sb_style ol li {
    margin-bottom: 5px;
  }
  .sb_style img {
    width: auto;
    height: auto;
  }
}
.title--section {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
}
.title--section .en {
  color: #e28f00;
  font-family: "Inter", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  text-transform: uppercase;
}
.title--section .ja {
  color: #333333;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.12rem;
}

@media only screen and (max-width: 767px) {
  .title--section {
    gap: 10px;
  }
  .title--section .en {
    font-size: 1.2rem;
  }
  .title--section .ja {
    font-size: 2.8rem;
    letter-spacing: 0.08rem;
  }
}
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  min-height: 71px;
  padding-top: 26px;
  padding-bottom: 26px;
  background: #f4dc43;
  border-radius: 17px;
  box-sizing: border-box;
}
.button .text {
  font-family: "Inter", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: normal;
  color: #000000;
  text-align: center;
  white-space: nowrap;
}
.button .icon {
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  font-size: 21px;
  line-height: 1;
  color: #000000;
}
.button--l {
  min-width: 474px;
  padding-left: 149px;
  padding-right: 149px;
}
.button--s {
  min-width: 318px;
  padding-left: 63px;
  padding-right: 63px;
}

@media only screen and (max-width: 767px) {
  .button {
    min-height: 56px;
    padding-top: 18px;
    padding-bottom: 18px;
    border-radius: 12px;
  }
  .button .text {
    font-size: 1.4rem;
    white-space: normal;
  }
  .button .icon {
    font-size: 1.8rem;
    right: 16px;
  }
  .button--l {
    min-width: 0;
    width: 100%;
    padding-left: 48px;
    padding-right: 48px;
  }
  .button--s {
    min-width: 0;
    width: 100%;
    padding-left: 40px;
    padding-right: 40px;
  }
}
.error-text {
  color: #e74c3c;
}

.cont-dl {
  display: grid;
  row-gap: 20px;
}
.cont-dl .in-dl {
  padding-bottom: 20px;
  border-bottom: 1px solid #cccccc;
}
.cont-dl .in-dl dt a,
.cont-dl .in-dl dd a {
  border-bottom: 1px solid #000000;
}
.cont-dl .in-dl .required {
  color: #ffffff;
  line-height: 1;
  background: #e74c3c;
}
.cont-dl .in-dl .optional {
  color: #ffffff;
  line-height: 1;
  background: #3498db;
}
.cont-dl .in-dl dt {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  -moz-column-gap: 10px;
       column-gap: 10px;
}
.cont-dl .in-dl dd input {
  font-size: 16px;
}
.cont-dl .in-dl dd input[type=text],
.cont-dl .in-dl dd input[type=num],
.cont-dl .in-dl dd input[type=email],
.cont-dl .in-dl dd input[type=url],
.cont-dl .in-dl dd input[type=tel] {
  width: 100%;
  padding: 10px;
  border: solid #ccc 1px;
  background: #fff;
  box-sizing: border-box;
}
.cont-dl .in-dl dd .select-wrp {
  position: relative;
  width: 300px;
}
.cont-dl .in-dl dd .select-wrp:after {
  content: "";
  border-top: 6px solid #000000;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 15px;
}
.cont-dl .in-dl dd select {
  position: relative;
  width: 100%;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: #fff;
  color: #000000;
}
.cont-dl .in-dl dd textarea {
  padding: 10px;
  border: solid #ccc 1px;
  width: 100%;
  height: 200px;
  background: #fff;
  box-sizing: border-box;
  line-height: 1.8;
}
.cont-dl .in-dl dd #pc01,
.cont-dl .in-dl dd #pc02 {
  margin-bottom: 10px;
}
.cont-dl .in-dl dd #pc01 {
  width: 60px !important;
}
.cont-dl .in-dl dd #pc02 {
  width: 80px !important;
}
.cont-dl .in-dl {
  display: grid;
  grid-template-columns: 350px 1fr;
  -moz-column-gap: 20px;
       column-gap: 20px;
}
.cont-dl .in-dl .required,
.cont-dl .in-dl .optional {
  padding: 5px 8px;
  font-size: 13px;
}
.cont-dl .in-dl dt {
  grid-template-rows: auto auto 1fr;
}
@media only screen and (max-width: 767px) {
  .cont-dl .in-dl {
    display: flex;
    flex-direction: column;
    border-bottom: none;
  }
  .cont-dl .in-dl .required,
  .cont-dl .in-dl .optional {
    padding: 5px 8px;
    font-size: 12px;
  }
  .cont-dl .in-dl dt {
    margin-bottom: 20px;
  }
  .cont-dl .in-dl .upload-notice {
    grid-column: 1/span 2;
    font-size: 12px;
    line-height: 1.6;
  }
  .cont-dl .in-dl dd .thumb {
    width: 150px;
    height: 150px;
  }
}

.contact-btn ul {
  display: flex;
  align-items: center;
  justify-content: center;
}
.contact-btn ul li:hover {
  cursor: pointer;
  opacity: 0.8;
  transition: 0.3s;
}
.contact-btn ul li #form-btn {
  color: #fff;
  letter-spacing: 3px;
  font-weight: bold;
  border: solid 1px #000000;
  background-color: #000000;
}
.contact-btn ul {
  -moz-column-gap: 30px;
       column-gap: 30px;
}
.contact-btn ul li #form-btn {
  width: 340px;
  font-size: 18px;
  padding: 25px 0;
}
@media only screen and (max-width: 767px) {
  .contact-btn ul {
    display: flex;
    flex-direction: column;
    row-gap: 20px;
  }
  .contact-btn ul li #form-btn {
    width: 280px;
    font-size: 16px;
    padding: 20px 0;
  }
}

/*リキャプチャ---------------*/
.contact .recap-inwrap {
  width: 300px;
  margin: 0 auto 50px;
}
.contact-recaptcha-wrap {
  margin-top: 60px;
}
.contact-recaptcha-wrap .recap-inwrap {
  margin: 0 auto 50px;
}
@media only screen and (max-width: 767px) {
  .contact-recaptcha-wrap {
    margin-top: 30px;
  }
  .contact-recaptcha-wrap .recap-inwrap {
    margin: 0 auto 40px;
  }
}

/*送信完了---------------*/
.send-comp {
  text-align: center;
}
.send-comp p {
  line-height: 1.5em;
}

.send-comp-ttl {
  font-weight: bold;
  font-size: 18px;
  margin-bottom: 30px;
}

.header {
  background: transparent;
  box-sizing: border-box;
}
.header--fv {
  position: absolute;
  left: -13px;
  top: 0;
  z-index: 3;
  width: 296px;
}
.header__inner {
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 100%;
  box-sizing: border-box;
}
.header__top {
  display: flex;
  flex-direction: column;
  gap: 63px;
  align-items: center;
}
.header__logo {
  display: block;
  width: 261px;
}
.header__logo-img {
  display: block;
  width: 100%;
  height: auto;
}
.header__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  width: 100%;
}
.header__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  min-height: 96px;
  padding: 17px 8px 12px;
  background: #f4dc43;
  border-radius: 10px;
  box-sizing: border-box;
  text-align: center;
}
.header__link .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  flex-shrink: 0;
}
.header__link .icon img {
  display: block;
  width: 36px;
  height: 36px;
}
.header__link .text {
  color: #333333;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.4;
  word-break: break-word;
}
.header__tel {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 90px;
  padding: 12px 16px;
  background: #ffffff;
  border: 1px solid #c2bbbb;
  border-radius: 9px;
  box-sizing: border-box;
}
.header__tel-link {
  display: flex;
  align-items: center;
  gap: 3px;
}
.header__tel-link i {
  color: #333333;
  font-size: 1.7rem;
  line-height: 1;
}
.header__tel-number {
  color: #333333;
  font-family: "Inter", sans-serif;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
}
.header__tel-note {
  color: #333333;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  text-align: center;
}
.header__contact {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  min-height: 81px;
  background: #f4dc43;
  border-radius: 10px;
}
.header__contact i {
  color: #333333;
  font-size: 1.6rem;
  line-height: 1;
}
.header__contact .text {
  color: #333333;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1;
}
.header--sub {
  padding: 61px 0 80px;
}
.header--sub .header__layout {
  display: flex;
  align-items: flex-start;
  gap: clamp(24px, 3.8vw, 62px);
  width: 100%;
  max-width: 1605px;
  margin: 0 auto;
  padding: 0 clamp(16px, 2.5vw, 40px);
  box-sizing: border-box;
}
.header--sub .header__inner {
  width: 296px;
  flex-shrink: 0;
  margin-top: 20px;
}

@media only screen and (max-width: 767px) {
  .header--sp {
    width: 100%;
    margin: 0 auto;
    padding: 16px 16px 0;
    box-sizing: border-box;
    text-align: left;
  }
  .header--sp .header__logo {
    display: block;
    width: 180px;
    margin: 0;
  }
  .header--sub {
    padding: 16px 0 24px;
  }
  .header--sub .header__layout {
    flex-direction: column;
    gap: 20px;
    width: 92%;
    max-width: none;
    margin: 0 auto;
    padding: 0;
  }
  .header--sub .header__inner {
    width: 100%;
    margin-top: 0;
  }
  .header--sub .header__top {
    gap: 0;
    align-items: flex-start;
  }
  .header--sub .header__logo {
    width: clamp(180px, 58vw, 220px);
  }
}
.page-fv {
  flex: 1;
  min-width: 0;
  max-width: 1222px;
}
.page-fv__inner {
  display: flex;
  flex-direction: column;
  gap: 30px;
  width: 100%;
}
.page-fv__head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.page-fv__illust {
  width: 160px;
  height: 87px;
  margin: 0;
}
.page-fv__illust img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.page-fv__title {
  padding: 14px 20px;
  background: #fcaa1d;
  border-radius: 10px;
  color: #ffffff;
  font-size: 5rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.15rem;
  white-space: nowrap;
}
.page-fv__visual {
  width: 100%;
  height: 450px;
  margin: 0;
  border-radius: 40px;
  overflow: hidden;
}
.page-fv__visual img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

@media only screen and (max-width: 767px) {
  .page-fv {
    max-width: none;
  }
  .page-fv__inner {
    gap: 20px;
  }
  .page-fv__illust {
    width: 120px;
    height: 65px;
  }
  .page-fv__title {
    padding: 12px 16px;
    font-size: 2.8rem;
    letter-spacing: 0.08rem;
    white-space: normal;
    text-align: left;
  }
  .page-fv__visual {
    height: auto;
    aspect-ratio: 1222/450;
    border-radius: 20px;
  }
}
.footer-action {
  padding: 80px 0;
}
.footer-action__inner {
  display: flex;
  justify-content: center;
}
.footer-action__card {
  width: 100%;
  max-width: 1081px;
  padding: 59px 105px 57px;
  background: #fffadf;
  border: 1px solid #a8a8a8;
  border-radius: 70px;
  box-sizing: border-box;
}
.footer-action__title {
  margin-bottom: 24px;
}
.footer-action__lead {
  max-width: 575px;
  margin: 0 auto 40px;
  color: #333333;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.054rem;
  text-align: center;
}
.footer-action__box {
  display: flex;
  align-items: flex-end;
  gap: 23px;
  max-width: 871px;
  margin: 0 auto;
}
.footer-action__illust {
  flex-shrink: 0;
  width: 115px;
}
.footer-action__illust img {
  display: block;
  width: 100%;
  height: auto;
}
.footer-action__actions {
  display: flex;
  gap: 23px;
  flex: 1;
  min-width: 0;
}
.footer-action__tel {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  flex: 1;
  min-height: 108px;
  padding: 12px 16px;
  background: #ffffff;
  border: 1px solid #c2bbbb;
  border-radius: 9px;
  box-sizing: border-box;
}
.footer-action__tel-link {
  display: flex;
  align-items: center;
  gap: 7px;
}
.footer-action__tel-link i {
  color: #333333;
  font-size: 1.7rem;
  line-height: 1;
}
.footer-action__tel-number {
  color: #333333;
  font-family: "Inter", sans-serif;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1;
}
.footer-action__tel-note {
  color: #333333;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  text-align: center;
}
.footer-action__contact {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex: 1;
  min-height: 108px;
  background: #f4dc43;
  border: 1px solid #c2bbbb;
  border-radius: 9px;
  box-sizing: border-box;
}
.footer-action__contact i {
  color: #0c0c0c;
  font-size: 2.1rem;
  line-height: 1;
}
.footer-action__contact .text {
  color: #0c0c0c;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.06rem;
}

.footer-bar {
  padding: 84px 0 30px;
  background: #fffadf;
  border-top-left-radius: 90px;
  border-top-right-radius: 90px;
}
.footer-bar__top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 26px;
}
.footer-bar__contents {
  width: 337px;
}
.footer-bar__logo {
  display: block;
  width: 259px;
  margin-bottom: 21px;
}
.footer-bar__address {
  display: block;
  margin-bottom: 20px;
  color: #444444;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.048rem;
}
.footer-bar__ext-links {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-bottom: 20px;
}
.footer-bar__ext-link a {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  color: #444444;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.048rem;
}
.footer-bar__ext-link .text {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}
.footer-bar__ext-link i {
  font-size: 1.6rem;
  line-height: 1;
}
.footer-bar__sns {
  display: flex;
}
.footer-bar__sns-item {
  width: 30px;
}
.footer-bar__nav {
  padding-top: 4px;
}
.footer-bar__list {
  display: flex;
  align-items: center;
}
.footer-bar__list--main {
  gap: 29px;
  margin-bottom: 42px;
}
.footer-bar__list--sub {
  gap: 30px;
}
.footer-bar__item a {
  color: #444444;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.048rem;
  white-space: nowrap;
}
.footer-bar__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 24px;
  border-top: 1px solid #a8a8a8;
}
.footer-bar__copyright {
  color: #000000;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
}
.footer-bar__links {
  display: flex;
  gap: 20px;
}
.footer-bar__link a {
  color: #444444;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.14rem;
  white-space: nowrap;
}

@media only screen and (max-width: 767px) {
  .footer-action {
    padding: 50px 0;
  }
  .footer-action__card {
    padding: 40px 24px 32px;
    border-radius: 30px;
  }
  .footer-action__title {
    margin-bottom: 20px;
  }
  .footer-action__lead {
    margin-bottom: 30px;
    font-size: 1.5rem;
    letter-spacing: 0.045rem;
  }
  .footer-action__box {
    flex-direction: column;
    align-items: center;
    gap: 20px;
  }
  .footer-action__illust {
    width: 90px;
    order: -1;
  }
  .footer-action__actions {
    flex-direction: column;
    width: 100%;
  }
  .footer-action__tel {
    min-height: 68px;
  }
  .footer-action__contact {
    min-height: 68px;
  }
  .footer-action__tel-number {
    font-size: 2rem;
  }
  .footer-action__contact .text {
    font-size: 1.8rem;
  }
  .footer-bar {
    padding: 50px 0 24px;
    border-top-left-radius: 40px;
    border-top-right-radius: 40px;
  }
  .footer-bar__top {
    flex-direction: column;
    align-items: center;
    gap: 32px;
    margin-bottom: 20px;
  }
  .footer-bar__contents {
    width: 100%;
    max-width: 337px;
    text-align: center;
  }
  .footer-bar__logo {
    margin: 0 auto 18px;
  }
  .footer-bar__address {
    margin-bottom: 16px;
    font-size: 1.4rem;
  }
  .footer-bar__ext-links {
    align-items: center;
    margin-bottom: 16px;
  }
  .footer-bar__sns {
    justify-content: center;
  }
  .footer-bar__nav {
    display: none;
  }
  .footer-bar__bottom {
    flex-direction: column;
    gap: 14px;
    padding-top: 14px;
  }
  .footer-bar__links {
    display: none;
  }
  .footer-bar__copyright {
    font-size: 1.1rem;
    text-align: center;
    white-space: normal;
  }
}
.drawer-off__button {
  position: fixed;
  top: 12px;
  right: 12px;
  width: 50px;
  height: 50px;
  background: #fcaa1d;
  border-radius: 8px;
  cursor: pointer;
  z-index: 999;
}
.drawer-off__inner {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}
.drawer-off__wrapper {
  display: flex;
  flex-direction: column;
}
.drawer-off__line {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  margin-top: 8px;
}
.drawer-off__line span {
  display: block;
  width: 30px;
  height: 1px;
  background: #ffffff;
}
.drawer-off__title {
  color: #ffffff;
  font-size: 1.3rem;
  font-weight: 400;
  letter-spacing: 0.05em;
}

.drawer-on {
  width: 100%;
  height: 100vh;
  background: #ffffff;
  position: fixed;
  top: 0;
  left: 0;
  overflow-y: auto;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.drawer-on.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  z-index: 100;
}
.drawer-on__inner {
  padding: 16px 16px;
  box-sizing: border-box;
}
.drawer-on__logo {
  display: block;
  width: 180px;
  margin-bottom: 30px;
}
.drawer-on__nav {
  margin-bottom: 30px;
}
.drawer-on__item a {
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  padding: 15px 0;
  border-bottom: 1px solid #cccccc;
}
.drawer-on__links {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin-top: 15px;
}
.drawer-on__link a {
  font-size: 1.4rem;
  font-weight: 500;
  border-bottom: 1px solid #cccccc;
  padding-bottom: 5px;
}

.drawer-mail {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: #f4dc43;
  padding: 15px;
  border-radius: 8px;
  margin-bottom: 20px;
}
.drawer-mail i, .drawer-mail span {
  color: #0c0c0c;
}
.drawer-mail span {
  font-size: 1.8rem;
  font-weight: 500;
}

.drawer-tel {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #F7F7F7;
  padding: 10px 30px 20px;
  margin-bottom: 30px;
}
.drawer-tel__link {
  display: flex;
  justify-content: center;
  align-items: self-end;
  gap: 5px;
}
.drawer-tel__link i, .drawer-tel__link span {
  color: #000000;
}
.drawer-tel__link i {
  margin-bottom: 8px;
}
.drawer-tel__link span {
  font-size: 3.2rem;
  font-weight: 500;
}
.drawer-tel__caption {
  display: block;
  width: 100%;
  font-size: 1.4rem;
  font-weight: 500;
  text-align: center;
  background: #ffffff;
  padding: 5px;
}

.breadcrumbs__inner {
  padding: 15px 0;
}
.breadcrumbs__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
.breadcrumbs__item {
  font-size: 1.5rem;
  line-height: 1;
  padding-right: 10px;
  border-right: 1px solid #000000;
}
.breadcrumbs__item:last-child {
  border: none;
}

.pagenation {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 30px;
}
.pagenation li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  aspect-ratio: 1/1;
  font-size: 1.7rem;
  line-height: 1;
}
.pagenation li.current span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  aspect-ratio: 1/1;
  color: #ffffff;
  font-size: 2rem;
  line-height: 1;
  background: #000000;
}

@media only screen and (max-width: 767px) {
  .pagenation {
    margin-top: 20px;
  }
  .pagenation li a {
    width: 35px;
    aspect-ratio: 1/1;
    font-size: 1.6rem;
  }
  .pagenation li.current span {
    width: 35px;
    aspect-ratio: 1/1;
    font-size: 1.8rem;
  }
}
.navigation {
  position: relative;
  margin-top: 30px;
}
.navigation .center {
  text-align: center;
}
.navigation .left {
  position: absolute;
  top: 0;
  left: 0;
}
.navigation .right {
  position: absolute;
  top: 0;
  right: 0;
}
.navigation a {
  font-size: 1.5rem;
  font-weight: bold;
}

.top-fv {
  margin-bottom: 80px;
  padding-top: 74px;
}
.top-fv__inner {
  position: relative;
  width: 87.5%;
  min-width: 1200px;
  max-width: 1605px;
  aspect-ratio: 1605/866;
  min-height: 866px;
  margin: 0 auto;
}
.top-fv__visual {
  position: absolute;
  top: 0;
  left: 21.558%;
  width: 78.442%;
  height: 100%;
  z-index: 1;
}
.top-fv__shape {
  position: absolute;
  top: 0;
  left: 5.96%;
  width: 94.04%;
  height: 100%;
  z-index: 0;
  background: linear-gradient(180deg, #f4dc43 0%, #fff9d4 100%);
  border-radius: 430.5px 471.5px 10px 10px;
}
.top-fv__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 94.04%;
  height: 100%;
  z-index: 1;
  border-radius: 433px 433px 10px 10px;
  overflow: hidden;
}
.top-fv__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.top-fv__copy {
  position: absolute;
  left: 25.48%;
  top: 68.48%;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.top-fv__lead {
  display: flex;
  align-items: center;
  background: #ffffff;
  border-radius: 7px;
  color: #e28f00;
  font-size: 5.4rem;
  font-weight: 500;
  line-height: 1.6;
  white-space: nowrap;
  padding-left: 11px;
  padding-right: 11px;
}
.top-fv__lead--first {
  width: 423px;
  min-height: 77px;
  margin-bottom: 9px;
}
.top-fv__lead--second {
  width: -moz-fit-content;
  width: fit-content;
  min-height: 76px;
  margin-bottom: 10px;
}
.top-fv__sub {
  display: flex;
  align-items: center;
  width: 541px;
  min-height: 37px;
  background: #ffffff;
  border-radius: 7px;
  color: #e28f00;
  font-family: "Inter", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.144rem;
  line-height: normal;
  white-space: nowrap;
  padding: 0 11px;
}
.top-fv__figure {
  position: absolute;
  left: 1.37%;
  top: auto;
  bottom: 0;
  width: 14.08%;
  min-width: 169px;
  max-width: 226px;
  z-index: 2;
}
.top-fv__figure img {
  display: block;
  width: 100%;
  height: auto;
}

@media only screen and (max-width: 767px) {
  .top-fv {
    padding-top: 30px;
    margin-bottom: clamp(48px, 12vw, 64px);
  }
  .top-fv__inner {
    width: 92%;
    min-width: 0;
    min-height: 0;
    aspect-ratio: auto;
  }
  .top-fv__visual {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    padding-top: 85%;
    overflow: visible;
    z-index: 1;
  }
  .top-fv__shape {
    top: 0;
    left: 2%;
    width: 98%;
    height: 100%;
    z-index: 0;
    border-radius: clamp(150px, 50vw, 200px) clamp(150px, 52vw, 210px) 10px 10px;
  }
  .top-fv__image {
    top: 0;
    left: 0;
    width: 91%;
    height: 100%;
    z-index: 1;
    border-radius: clamp(140px, 46vw, 180px) clamp(140px, 46vw, 180px) 10px 10px;
  }
  .top-fv__image img {
    -o-object-position: 82% 8%;
       object-position: 82% 8%;
  }
  .top-fv__copy {
    position: absolute;
    left: 12px;
    right: auto;
    width: 62%;
    max-width: 240px;
    bottom: 10px;
    top: auto;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
  .top-fv__lead {
    display: flex;
    font-size: clamp(2.4rem, 6.5vw, 2.9rem);
    line-height: 1.4;
    border-radius: 5px;
    padding: 4px 9px 3px;
    white-space: nowrap;
  }
  .top-fv__lead--first {
    width: 100%;
    min-height: 0;
    margin-bottom: 3px;
  }
  .top-fv__lead--second {
    width: -moz-fit-content;
    width: fit-content;
    min-height: 0;
    margin-bottom: 4px;
  }
  .top-fv__sub {
    width: auto;
    min-height: 0;
    font-size: clamp(1rem, 2.9vw, 1.15rem);
    letter-spacing: 0.04rem;
    line-height: 1.5;
    border-radius: 5px;
    white-space: normal;
    max-width: none;
    padding: 6px 10px 5px;
  }
  .top-fv__figure {
    display: none;
  }
}
.top-about {
  padding: 80px 0;
}
.top-about__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 69px;
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
}
.top-about__contents {
  width: 505px;
}
.top-about__title {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 320px;
  margin-bottom: 32px;
}
.top-about__title .en {
  color: #e28f00;
  font-family: "Inter", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
}
.top-about__title .ja {
  color: #333333;
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.108rem;
  white-space: nowrap;
}
.top-about__text {
  color: #333333;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.2;
  letter-spacing: 0.048rem;
}
.top-about__image {
  width: 506px;
  height: 466px;
  flex-shrink: 0;
  overflow: hidden;
}
.top-about__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

@media only screen and (min-width: 768px) {
  .top-about__inner.inner--s {
    width: 100%;
    max-width: 1080px;
    min-width: 0;
    margin-left: auto;
    margin-right: auto;
  }
}
@media only screen and (max-width: 767px) {
  .top-about {
    padding: 50px 0;
  }
  .top-about__inner {
    flex-direction: column;
    gap: 30px;
  }
  .top-about__contents {
    display: contents;
    width: 100%;
  }
  .top-about__title {
    order: 1;
    width: 100%;
    margin-bottom: 0;
  }
  .top-about__title .ja {
    font-size: 2.8rem;
    letter-spacing: 0.08rem;
    white-space: normal;
  }
  .top-about__text {
    order: 3;
    font-size: 1.5rem;
    line-height: 2;
  }
  .top-about__image {
    order: 2;
    width: 100%;
    max-width: 506px;
    height: auto;
    aspect-ratio: 506/466;
  }
}
.top-theme {
  padding: 50px 0 80px;
}
.top-theme__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.top-theme__panel {
  position: relative;
  width: 100%;
  max-width: 1080px;
  min-height: 564px;
  background: url(../img/pages/top/theme/bg.png) no-repeat center/100% 100%;
  border: none;
  border-radius: 0;
  box-sizing: border-box;
  padding: 86px 58px 44px;
  margin-bottom: 40px;
  overflow: hidden;
}
.top-theme__title {
  justify-content: center;
  margin-bottom: 34px;
}
.top-theme__issues {
  position: relative;
  width: 100%;
  max-width: 963px;
  margin: 0 auto;
  aspect-ratio: 963/307;
}
.top-theme__bubbles {
  position: absolute;
  inset: 0;
  z-index: 2;
}
.top-theme__bubble {
  position: absolute;
  display: grid;
  grid-template-rows: 70fr 29fr;
  margin: 0;
  border-radius: 0;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100% 100%;
  color: #000000;
  font-size: 1.439rem;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.02rem;
  padding: 0 18px;
  box-sizing: border-box;
}
.top-theme__bubble strong {
  color: #ffa200;
  font-size: 1.798rem;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 2px;
}
.top-theme__bubble::after {
  display: none;
}
.top-theme__bubble-text {
  grid-row: 1;
  align-self: center;
  justify-self: center;
  width: 100%;
  text-align: center;
  white-space: nowrap;
}
.top-theme__bubble--1 {
  left: 12.15%;
  top: 0;
  width: 39.25%;
  aspect-ratio: 378/99;
  background-image: url("../img/pages/top/theme/theme-bubble-01.svg");
}
.top-theme__bubble--2 {
  left: 53.27%;
  top: 0;
  width: 32.92%;
  aspect-ratio: 317/99;
  background-image: url("../img/pages/top/theme/theme-bubble-02.svg");
}
.top-theme__bubble--3 {
  left: 36.97%;
  top: 30.6%;
  width: 31.36%;
  aspect-ratio: 302/98;
  background-image: url("../img/pages/top/theme/theme-bubble-03.svg");
}
.top-theme__bubble--4 {
  left: 12.15%;
  top: 68.08%;
  width: 39.25%;
  aspect-ratio: 378/98;
  background-image: url("../img/pages/top/theme/theme-bubble-04.svg");
}
.top-theme__bubble--5 {
  left: 53.98%;
  top: 68.08%;
  width: 32.19%;
  aspect-ratio: 310/98;
  background-image: url("../img/pages/top/theme/theme-bubble-05.svg");
}
.top-theme__person {
  position: absolute;
  z-index: 1;
}
.top-theme__person img {
  display: block;
  width: 100%;
  height: auto;
}
.top-theme__person--left {
  width: 11.84%;
  left: 0;
  top: 41.04%;
}
.top-theme__person--right {
  width: 11.42%;
  right: 0;
  top: 40.39%;
}
.top-theme__person--center {
  position: static;
  width: 115px;
  flex-shrink: 0;
}
.top-theme__solution {
  margin-bottom: 40px;
}
.top-theme__arrow {
  display: block;
  width: 69px;
  height: 47px;
  margin: 0 auto 18px;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  background: #f0d33f;
}
.top-theme__solution-inner {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 13px;
}
.top-theme__catch .line {
  display: block;
  color: #333333;
  text-align: center;
  line-height: 1;
}
.top-theme__catch .line:nth-child(1) {
  font-size: 2.4rem;
  font-weight: 500;
  letter-spacing: 0.072rem;
  margin-bottom: 17px;
}
.top-theme__catch .line--accent {
  color: #e28f00;
  font-size: 2.8rem;
  font-weight: 500;
  letter-spacing: 0.096rem;
  margin-bottom: 17px;
}
.top-theme__catch .line:nth-child(3) {
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: 0.066rem;
}

@media only screen and (max-width: 767px) {
  .top-theme {
    padding: 40px 0 50px;
  }
  .top-theme__inner {
    width: 92%;
  }
  .top-theme__panel {
    width: 100%;
    min-height: auto;
    padding: clamp(60px, 8.9vw, 56px) 10px clamp(28px, 6vw, 32px);
    margin-bottom: 32px;
    background: url(../img/pages/top/theme/bg-sp.png) no-repeat center/100% 100%;
    border: none;
    border-radius: 0;
    overflow: hidden;
  }
  .top-theme__title {
    margin-bottom: 20px;
    padding: 0 6px;
  }
  .top-theme__title .ja {
    font-size: 2.2rem;
    line-height: 1.45;
  }
  .top-theme__issues {
    aspect-ratio: auto;
    max-width: none;
    padding: 0 2px;
  }
  .top-theme__bubbles {
    position: static;
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: stretch;
  }
  .top-theme__bubble {
    position: static;
    display: grid;
    grid-template-rows: 70fr 29fr;
    margin: 0;
    font-size: 1.3rem;
    line-height: 1.35;
    padding: 0 16px;
  }
  .top-theme__bubble strong {
    font-size: 1.6rem;
    line-height: 1.35;
  }
  .top-theme__bubble-text {
    white-space: normal;
  }
  .top-theme__bubble--1 {
    align-self: flex-start;
    width: min(88%, 378px);
    aspect-ratio: 378/99;
  }
  .top-theme__bubble--2 {
    align-self: flex-end;
    width: min(84%, 317px);
    aspect-ratio: 317/99;
  }
  .top-theme__bubble--3 {
    align-self: center;
    width: min(80%, 302px);
    aspect-ratio: 302/98;
  }
  .top-theme__bubble--4 {
    align-self: flex-start;
    width: min(88%, 378px);
    aspect-ratio: 378/98;
  }
  .top-theme__bubble--5 {
    align-self: flex-end;
    width: min(84%, 310px);
    aspect-ratio: 310/98;
  }
  .top-theme__person {
    display: none;
  }
  .top-theme__person--center {
    display: block;
    width: 80px;
  }
  .top-theme__solution {
    margin-bottom: 24px;
  }
  .top-theme__arrow {
    width: 44px;
    height: 28px;
    margin-bottom: 12px;
  }
  .top-theme__solution-inner {
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }
  .top-theme__catch .line:nth-child(1) {
    font-size: 1.8rem;
    margin-bottom: 10px;
  }
  .top-theme__catch .line--accent {
    font-size: 2.4rem;
    margin-bottom: 10px;
  }
  .top-theme__catch .line:nth-child(3) {
    font-size: 1.8rem;
  }
  .top-theme__button {
    max-width: 340px;
  }
}
.top-service {
  padding: 110px 0 190px;
  background: url(../img/pages/top/service/bg.svg) no-repeat center top/cover;
}
.top-service__title {
  margin-bottom: 80px;
}
.top-service__list {
  display: flex;
  flex-direction: column;
  gap: 80px;
}
.top-service__item {
  display: flex;
  align-items: center;
}
.top-service__item--online {
  gap: 67px;
}
.top-service__item--support {
  gap: 74px;
}
.top-service__body {
  flex: 1;
}
.top-service__heading {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 32px;
}
.top-service__heading .icon {
  width: 33px;
  height: 33px;
}
.top-service__heading .icon img {
  width: 100%;
  height: 100%;
}
.top-service__heading .text {
  color: #e28f00;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1;
}
.top-service__lead {
  margin-bottom: 20px;
  color: #333333;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.47;
  letter-spacing: 0.072rem;
}
.top-service__description {
  margin-bottom: 32px;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.2;
  letter-spacing: 0.048rem;
}
.top-service__button {
  display: inline-flex;
}
.top-service__image {
  width: 552px;
  height: 453px;
  border-radius: 30px;
  overflow: hidden;
  flex-shrink: 0;
}
.top-service__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

@media only screen and (max-width: 767px) {
  .top-service {
    padding: 60px 0 50px;
    background-position: center;
  }
  .top-service__title {
    margin-bottom: 40px;
  }
  .top-service__list {
    gap: 40px;
  }
  .top-service__item {
    flex-direction: column;
    gap: 24px;
  }
  .top-service__body {
    display: contents;
  }
  .top-service__image {
    order: 4;
    width: 100%;
    max-width: 552px;
    height: auto;
    aspect-ratio: 552/453;
    border-radius: 20px;
  }
  .top-service__heading {
    order: 1;
    margin-bottom: 20px;
  }
  .top-service__heading .text {
    font-size: 2.6rem;
  }
  .top-service__lead {
    order: 2;
    margin-bottom: 14px;
    font-size: 2rem;
    letter-spacing: 0.05rem;
  }
  .top-service__description {
    order: 3;
    margin-bottom: 22px;
    font-size: 1.5rem;
    line-height: 2;
  }
  .top-service__button {
    order: 5;
    width: 100%;
    max-width: 340px;
  }
}
.top-reason {
  padding: 80px 0 110px;
}
.top-reason__title {
  margin-bottom: 46px;
}
.top-reason__lead {
  max-width: 840px;
  margin: 0 auto 50px;
  color: #333333;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.072rem;
  text-align: center;
}
.top-reason__list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 62px;
  margin-bottom: 60px;
}
.top-reason__item {
  position: relative;
  width: 318px;
  max-width: 100%;
  height: 204px;
}
.top-reason__number {
  position: absolute;
  top: 25px;
  left: 52px;
  z-index: 2;
  width: 58px;
  height: 50px;
  transform: translate(-50%, -50%);
}
.top-reason__number--02 {
  left: 52.5px;
  width: 65px;
}
.top-reason__number--03 {
  left: 52.5px;
  width: 67px;
}
.top-reason__card {
  position: absolute;
  top: 25px;
  left: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  height: 179px;
  padding-top: 32px;
  background: #ffffff;
  border: 1px solid #a8a8a8;
  border-radius: 20px;
  box-sizing: border-box;
  overflow: visible;
}
.top-reason__card-title {
  margin-bottom: 18px;
  color: #333333;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.06rem;
  text-align: center;
}
.top-reason__value {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 4px;
  color: #333333;
  line-height: 1;
}
.top-reason__value .num {
  color: #e28f00;
  text-align: center;
  font-family: "Inter", sans-serif;
  font-size: 6.2rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.248rem;
  -webkit-text-stroke-width: 3px;
  -webkit-text-stroke-color: #000000;
  paint-order: stroke fill;
}
.top-reason__value .suffix,
.top-reason__value .prefix {
  margin-bottom: 6px;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.06rem;
}
.top-reason__value--support {
  gap: 2px;
}
.top-reason__laurel {
  position: absolute;
  top: 41px;
  width: 34px;
  height: 87px;
}
.top-reason__laurel--left {
  left: 18px;
}
.top-reason__laurel--right {
  right: 17px;
}
.top-reason__button {
  display: flex;
  width: 372px;
  margin-left: auto;
  margin-right: auto;
}

@media only screen and (max-width: 767px) {
  .top-reason {
    padding: 56px 0 70px;
  }
  .top-reason__title {
    margin-bottom: 28px;
  }
  .top-reason__lead {
    margin-bottom: 30px;
    font-size: 1.8rem;
    line-height: 1.5;
  }
  .top-reason__list {
    flex-direction: column;
    align-items: center;
    gap: 18px;
    margin-bottom: 38px;
  }
  .top-reason__item {
    height: 190px;
  }
  .top-reason__number {
    top: 22px;
    left: 44px;
    width: 46px;
    height: 40px;
  }
  .top-reason__number--02 {
    left: 44px;
    width: 52px;
  }
  .top-reason__number--03 {
    left: 44px;
    width: 54px;
  }
  .top-reason__card {
    top: 22px;
    height: 154px;
    padding-top: 34px;
  }
  .top-reason__card-title {
    margin-bottom: 14px;
    font-size: 1.8rem;
  }
  .top-reason__value {
    margin-bottom: 20px;
  }
  .top-reason__value .num {
    font-size: 5.2rem;
    letter-spacing: -0.18rem;
  }
  .top-reason__value .suffix,
  .top-reason__value .prefix {
    margin-bottom: 4px;
    font-size: 1.7rem;
  }
  .top-reason__laurel {
    max-height: 72px;
  }
  .top-reason__button {
    display: flex;
    width: 100%;
    max-width: 372px;
    margin-left: auto;
    margin-right: auto;
  }
}
.top-column {
  padding: 80px 0;
}
.top-column__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 1280px;
}
.top-column__title {
  margin-bottom: 53px;
}
.top-column__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  width: 100%;
  margin-bottom: 53px;
}
.top-column__lead {
  color: #333333;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.048rem;
}
.top-column__button {
  display: flex;
  flex-shrink: 0;
  width: 220px;
  min-width: 220px;
  padding-left: 63px;
  padding-right: 63px;
}
.top-column__list {
  display: flex;
  gap: 41px;
  width: 100%;
}
.top-column__item {
  display: flex;
  width: calc((100% - 82px) / 3);
}
.top-column__item .link {
  display: flex;
  flex-direction: column;
  width: 100%;
  color: #444444;
  text-decoration: none;
}
.top-column__item .img {
  width: 100%;
  aspect-ratio: 400/285;
  background-color: #ffffff;
  background-image: url(../img/pages/top/column/no-img.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border-radius: 8px;
}
.top-column__item .img.thumbnail {
  background-size: cover;
}
.top-column__item .time {
  padding-top: 20px;
  color: #444444;
  font-family: "Inter", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.048rem;
}
.top-column__item .title {
  margin: 0;
  padding-top: 15px;
  color: #444444;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.048rem;
  word-break: break-all;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

@media only screen and (max-width: 767px) {
  .top-column {
    padding: 50px 0;
  }
  .top-column__title {
    order: 1;
    margin-bottom: 30px;
  }
  .top-column__head {
    display: contents;
  }
  .top-column__lead {
    order: 2;
    margin-bottom: 30px;
    font-size: 1.4rem;
    line-height: 1.7;
  }
  .top-column__list {
    order: 3;
    flex-direction: column;
    gap: 30px;
    margin-bottom: 30px;
  }
  .top-column__button {
    order: 4;
    width: 100%;
    max-width: 220px;
    min-width: 0;
  }
  .top-column__item {
    display: flex;
    width: 100%;
  }
  .top-column__item .time {
    padding-top: 12px;
    font-size: 1.4rem;
  }
  .top-column__item .title {
    padding-top: 12px;
    font-size: 1.4rem;
    line-height: 1.8;
  }
}
.top-news {
  padding: 80px 0;
}
.top-news__inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 100px;
}
.top-news__side {
  display: flex;
  flex-direction: column;
  gap: 30px;
  width: 220px;
  flex-shrink: 0;
}
.top-news__title {
  align-items: flex-start;
  text-align: left;
  white-space: nowrap;
}
.top-news__button {
  display: flex;
  width: 220px;
  min-width: 220px;
  padding-left: 63px;
  padding-right: 63px;
}
.top-news__list {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 759px;
  flex-shrink: 0;
}
.top-news__item .link {
  display: flex;
  align-items: center;
  gap: 71px;
  padding-bottom: 20px;
  border-bottom: 1px solid #dddddd;
  box-sizing: border-box;
}
.top-news__item:last-child .link {
  border-bottom: none;
  padding-bottom: 0;
}
.top-news__item .content {
  display: flex;
  flex-direction: column;
  gap: 26px;
  flex: 1;
  min-width: 0;
  max-width: 660px;
}
.top-news__item .meta {
  display: flex;
  align-items: center;
  gap: 30px;
}
.top-news__item .time {
  color: #444444;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.08rem;
  white-space: nowrap;
}
.top-news__item .tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 28px;
  padding: 0 10px;
  background: #f4dc43;
  border-radius: 40px;
  color: #444444;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.08rem;
  white-space: nowrap;
}
.top-news__item .title {
  color: #444444;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.048rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.top-news__item .arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  background: #f4dc43;
  border-radius: 50%;
}
.top-news__item .arrow i {
  color: #444444;
  font-size: 1.3rem;
  line-height: 1;
}

@media only screen and (max-width: 767px) {
  .top-news {
    padding: 50px 0;
  }
  .top-news__inner {
    flex-direction: column;
    gap: 0;
  }
  .top-news__side {
    display: contents;
  }
  .top-news__title {
    order: 1;
    margin-bottom: 30px;
    white-space: normal;
  }
  .top-news__list {
    order: 2;
    width: 100%;
    margin-bottom: 30px;
  }
  .top-news__button {
    order: 3;
    width: 100%;
    max-width: 220px;
    min-width: 0;
    margin-left: auto;
    margin-right: auto;
  }
  .top-news__item .link {
    gap: 16px;
    padding-bottom: 16px;
  }
  .top-news__item .content {
    gap: 12px;
  }
  .top-news__item .meta {
    flex-wrap: wrap;
    gap: 10px 16px;
  }
  .top-news__item .time {
    font-size: 1.4rem;
  }
  .top-news__item .tag {
    height: 24px;
    padding: 0 8px;
    font-size: 1.3rem;
  }
  .top-news__item .title {
    font-size: 1.4rem;
    line-height: 1.6;
    white-space: normal;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .top-news__item .arrow {
    width: 28px;
    height: 28px;
  }
  .top-news__item .arrow i {
    font-size: 1.2rem;
  }
}
.main--top {
  background: transparent;
}

.blog__inner {
  padding: 80px 0;
}
.blog__title {
  font-size: 2.8rem;
  margin-bottom: 30px;
}

.blog-archive__select {
  display: flex;
  justify-content: end;
  margin-bottom: 15px;
  position: relative;
}
.blog-archive__select::after {
  content: "";
  border-top: 6px solid #000000;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 15px;
}
.blog-archive__select select {
  display: block;
  width: 185px;
  font-size: 1.5rem;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
.blog-archive__select select:focus, .blog-archive__select select:active {
  outline: none;
}
.blog-archive__item {
  border-bottom: 1px solid #cccccc;
  padding: 30px 0;
}
.blog-archive__item:first-child {
  padding-top: 0;
}
.blog-archive__link {
  display: flex;
  align-items: flex-start;
  gap: 30px;
}
.blog-archive__thumbnail {
  width: 180px;
  aspect-ratio: 1/1;
}
.blog-archive__contents {
  display: flex;
  flex-direction: column;
  gap: 15px;
  width: 870px;
}
.blog-archive__wrapper {
  display: flex;
  align-items: center;
  gap: 30px;
}
.blog-archive__date {
  font-size: 1.6rem;
  font-weight: 600;
}
.blog-archive__tags {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 10px;
}
.blog-archive__tag {
  background: #f4dc43;
  border-radius: 8px;
  font-size: 1.4rem;
  padding: 2px 10px;
}
.blog-archive__title {
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.6;
}
.blog-archive__text {
  font-size: 1.5rem;
  line-height: 1.6;
}

@media only screen and (max-width: 767px) {
  .blog__inner {
    padding: 50px 0;
  }
  .blog__title {
    font-size: 2.4rem;
    margin-bottom: 20px;
  }
  .blog-archive__select {
    display: flex;
    justify-content: end;
    position: relative;
  }
  .blog-archive__select::after {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 10px;
  }
  .blog-archive__select select {
    width: 150px;
    font-size: 1.4rem;
  }
  .blog-archive__item {
    padding: 20px 0;
  }
  .blog-archive__link {
    display: flex;
    gap: 5%;
  }
  .blog-archive__thumbnail {
    width: 25%;
    aspect-ratio: 1/1;
  }
  .blog-archive__contents {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 70%;
  }
  .blog-archive__wrapper {
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .blog-archive__date {
    font-size: 1.4rem;
  }
  .blog-archive__tags {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 5px;
  }
  .blog-archive__tag {
    font-size: 1.3rem;
    padding: 2px 10px;
  }
  .blog-archive__title {
    font-size: 1.6rem;
    line-height: 1.5;
  }
  .blog-archive__text {
    font-size: 1.3rem;
    line-height: 1.5;
  }
}
.blog-single__inner {
  padding: 80px 0;
}
.blog-single__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 30px;
}
.blog-single__tag {
  font-size: 1.4rem;
  background: #f4dc43;
  border-radius: 8px;
  padding: 2px 10px;
}
.blog-single__title {
  color: #000000;
  font-size: 2.4rem;
  margin-bottom: 30px;
}
.blog-single__body {
  margin-bottom: 100px;
}
.blog-single__wrapper {
  display: flex;
  justify-content: end;
  border-top: 1px solid #000000;
  padding-top: 5px;
}
.blog-single__date {
  font-size: 1.6rem;
  font-weight: 600;
}

@media only screen and (max-width: 767px) {
  .blog-single__inner {
    padding: 50px 0;
  }
  .blog-single__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-bottom: 20px;
  }
  .blog-single__tag {
    font-size: 1.3rem;
    padding: 2px 10px;
  }
  .blog-single__title {
    font-size: 2rem;
    margin-bottom: 20px;
  }
  .blog-single__body {
    margin-bottom: 60px;
  }
  .blog-single__wrapper {
    display: flex;
    justify-content: end;
    padding-top: 5px;
  }
  .blog-single__date {
    font-size: 1.5rem;
  }
}
.contact-form__inner {
  padding: 80px 0;
}
.contact-form__title {
  font-size: 2.8rem;
  margin-bottom: 50px;
}

.complete__inner {
  padding: 80px 0;
}
.complete__title {
  text-align: center;
  margin-bottom: 30px;
}
.complete__text {
  text-align: center;
}
.complete__link {
  display: block;
  text-align: center;
  margin-top: 10px;
}

.main--contact {
  background: transparent;
}

.main--contact-complete {
  background: transparent;
}

.contact-complete__inner {
  padding: 80px 0;
}
.contact-complete__title {
  font-size: 3.2rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 30px;
}
.contact-complete__text {
  font-size: 1.6rem;
  font-weight: 500;
  text-align: center;
}
.contact-complete__text a {
  border-bottom: 1px solid #000000;
}

@media only screen and (max-width: 767px) {
  .contact-complete__inner {
    padding: 50px 0;
  }
  .contact-complete__title {
    font-size: 2.4rem;
    text-align: center;
    margin-bottom: 30px;
  }
  .contact-complete__text {
    font-size: 1.5rem;
    text-align: center;
  }
  .contact-complete__text a {
    border-bottom: 1px solid #000000;
  }
}
.main--contact-privacy {
  background: transparent;
}

.privacy-policy__inner {
  padding: 80px 0;
}
.privacy-policy__title {
  font-size: 2.8rem;
  margin-bottom: 30px;
}

.privacy-contents__list {
  display: flex;
  flex-direction: column;
  gap: 35px;
}
.privacy-contents__item {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.privacy-contents__title {
  display: flex;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid #cccccc;
  padding-bottom: 10px;
}
.privacy-contents__title i {
  font-size: 1rem;
  font-weight: 500;
}
.privacy-contents__title span {
  font-size: 2rem;
  font-weight: 500;
}
.privacy-contents__text {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.8;
}

@media only screen and (max-width: 767px) {
  .privacy-policy__inner {
    padding: 50px 0;
  }
  .privacy-policy__title {
    font-size: 2.4rem;
    margin-bottom: 20px;
  }
  .privacy-contents__list {
    display: flex;
    flex-direction: column;
    gap: 35px;
  }
  .privacy-contents__item {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .privacy-contents__title {
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .privacy-contents__title i {
    font-size: 0.8rem;
    font-weight: 500;
  }
  .privacy-contents__title span {
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.4;
  }
  .privacy-contents__text {
    font-size: 1.4rem;
    line-height: 1.6;
  }
}
.main--site {
  background: transparent;
}

.site-map__inner {
  padding: 80px 0;
}
.site-map__title {
  font-size: 2.8rem;
  margin-bottom: 30px;
}
.site-map__item a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 20px 0;
  border-bottom: 1px solid #cccccc;
}
.site-map__item a i {
  font-size: 1.4rem;
  font-weight: 500;
}
.site-map__item a span {
  font-size: 1.6rem;
  font-weight: 500;
}

@media only screen and (max-width: 767px) {
  .site-map__inner {
    padding: 50px 0;
  }
  .site-map__title {
    font-size: 2.4rem;
    margin-bottom: 10px;
  }
  .site-map__item a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 15px 0;
  }
  .site-map__item a i, .site-map__item a span {
    font-size: 1.5rem;
  }
}
.main--404 {
  background: transparent;
}

.notfound__inner {
  padding: 80px 0;
}
.notfound__title {
  font-size: 3.2rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 30px;
}
.notfound__text {
  font-size: 1.6rem;
  font-weight: 500;
  text-align: center;
}
.notfound__text a {
  border-bottom: 1px solid #000000;
}

@media only screen and (max-width: 767px) {
  .notfound__inner {
    padding: 50px 0;
  }
  .notfound__title {
    font-size: 2.4rem;
    text-align: center;
    margin-bottom: 30px;
  }
  .notfound__text {
    font-size: 1.5rem;
    text-align: center;
  }
  .notfound__text a {
    border-bottom: 1px solid #000000;
  }
}
.online-about {
  padding: 80px 0;
}
.online-about__title {
  margin-bottom: 60px;
}
.online-about__contents {
  display: flex;
  align-items: flex-start;
  gap: 43px;
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}
.online-about__image {
  width: 400px;
  height: 340px;
  flex-shrink: 0;
  margin: 0;
  border-radius: 30px;
  overflow: hidden;
}
.online-about__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.online-about__body {
  width: 509px;
  flex-shrink: 0;
}
.online-about__heading {
  margin-bottom: 21px;
  color: #333333;
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.09rem;
}
.online-about__text {
  color: #333333;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.2;
  letter-spacing: 0.048rem;
}

@media only screen and (max-width: 767px) {
  .online-about {
    padding: 50px 0;
  }
  .online-about__title {
    margin-bottom: 30px;
  }
  .online-about__contents {
    flex-direction: column;
    gap: 24px;
  }
  .online-about__image {
    width: 100%;
    max-width: 400px;
    height: auto;
    aspect-ratio: 400/340;
    border-radius: 20px;
    margin-left: auto;
    margin-right: auto;
  }
  .online-about__body {
    width: 100%;
  }
  .online-about__heading {
    margin-bottom: 16px;
    font-size: 2.4rem;
    letter-spacing: 0.06rem;
  }
  .online-about__text {
    font-size: 1.5rem;
    line-height: 2;
  }
}
.online-recommend {
  padding: 0 0 80px;
}
.online-recommend__card {
  padding: 79px 160px 80px;
  background: #ffffff;
  border: 1px solid #a8a8a8;
  border-radius: 50px;
  box-sizing: border-box;
}
.online-recommend__head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-bottom: 40px;
}
.online-recommend__head-icon {
  flex-shrink: 0;
  width: 69px;
}
.online-recommend__head-icon img {
  display: block;
  width: 100%;
  height: auto;
}
.online-recommend__head-title {
  color: #333333;
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.09rem;
}
.online-recommend__grid {
  max-width: 758px;
  margin: 0 auto;
}
.online-recommend__row {
  display: flex;
  align-items: flex-start;
  gap: 40px;
}
.online-recommend__divider {
  flex-shrink: 0;
}
.online-recommend__divider--v {
  width: 0;
  align-self: stretch;
  border-left: 1px dotted #a8a8a8;
}
.online-recommend__divider--h {
  margin: 60px 0;
}
.online-recommend__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 25px;
  width: 339px;
}
.online-recommend__illust {
  width: 263px;
  margin: 0;
}
.online-recommend__illust img {
  display: block;
  width: 100%;
  height: auto;
}
.online-recommend__text {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  width: 100%;
}
.online-recommend__name {
  color: #e79200;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.072rem;
  text-align: center;
}
.online-recommend__desc {
  color: #333333;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.048rem;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .online-recommend {
    padding: 0 0 50px;
  }
  .online-recommend__card {
    padding: 40px 24px;
    border-radius: 30px;
  }
  .online-recommend__head {
    gap: 12px;
    margin-bottom: 30px;
  }
  .online-recommend__head-icon {
    width: 50px;
  }
  .online-recommend__head-title {
    font-size: 2.2rem;
    letter-spacing: 0.066rem;
  }
  .online-recommend__row {
    flex-direction: column;
    align-items: center;
    gap: 0;
  }
  .online-recommend__divider {
    display: none;
  }
  .online-recommend__item {
    width: 100%;
    max-width: 339px;
    gap: 20px;
    padding: 30px 0;
    border-top: 1px dotted #a8a8a8;
  }
  .online-recommend__grid > .online-recommend__row:first-child > .online-recommend__item:first-child {
    padding-top: 0;
    border-top: none;
  }
  .online-recommend__illust {
    width: 220px;
  }
  .online-recommend__name {
    font-size: 2rem;
  }
  .online-recommend__desc {
    font-size: 1.5rem;
  }
}
.online-howto {
  padding: 0 0 80px;
}
.online-howto__card {
  padding: 79px 110px 80px;
  background: #ffffff;
  border: 1px solid #a8a8a8;
  border-radius: 50px;
  box-sizing: border-box;
}
.online-howto__head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-bottom: 40px;
}
.online-howto__head-icon {
  flex-shrink: 0;
  width: 69px;
}
.online-howto__head-icon img {
  display: block;
  width: 100%;
  height: auto;
}
.online-howto__head-title {
  color: #333333;
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.09rem;
}
.online-howto__list {
  display: flex;
  flex-direction: column;
  max-width: 840px;
  margin: 0 auto;
}
.online-howto__item {
  display: flex;
  align-items: flex-start;
  gap: 40px;
}
.online-howto__item + .online-howto__item {
  margin-top: 60px;
  border-top: 1px dotted #a8a8a8;
  padding-top: 60px;
}
.online-howto__image {
  flex-shrink: 0;
  width: 300px;
  height: 180px;
  margin: 0;
  border-radius: 20px;
  overflow: hidden;
}
.online-howto__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.online-howto__body {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 512px;
  flex-shrink: 0;
}
.online-howto__label {
  color: #e28f00;
  font-family: "Inter", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  text-transform: uppercase;
}
.online-howto__title {
  color: #333333;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.072rem;
}
.online-howto__text {
  color: #333333;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.2;
  letter-spacing: 0.048rem;
}

@media only screen and (max-width: 767px) {
  .online-howto {
    padding: 0 0 50px;
  }
  .online-howto__card {
    padding: 40px 24px;
    border-radius: 30px;
  }
  .online-howto__head {
    gap: 12px;
    margin-bottom: 30px;
  }
  .online-howto__head-icon {
    width: 50px;
  }
  .online-howto__head-title {
    font-size: 2.2rem;
    letter-spacing: 0.066rem;
  }
  .online-howto__list {
    gap: 0;
  }
  .online-howto__item + .online-howto__item {
    margin-top: 40px;
    padding-top: 40px;
  }
  .online-howto__item {
    flex-direction: column;
    gap: 20px;
  }
  .online-howto__image {
    width: 100%;
    max-width: 300px;
    height: auto;
    aspect-ratio: 300/180;
    margin-left: auto;
    margin-right: auto;
  }
  .online-howto__body {
    width: 100%;
    gap: 16px;
  }
  .online-howto__title {
    font-size: 2rem;
  }
  .online-howto__text {
    font-size: 1.5rem;
    line-height: 2;
  }
}
.online-flow {
  padding: 0 0 80px;
}
.online-flow__title--lv2 {
  margin-bottom: 60px;
}
.online-flow__title--lv4 {
  font-size: 2.8rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 30px;
}
.online-flow__card {
  padding: 80px 50px;
  background: #ffffff;
  border: 1px solid #a8a8a8;
  border-radius: 50px;
  box-sizing: border-box;
}
.online-flow__head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-bottom: 33px;
}
.online-flow__head-icon {
  flex-shrink: 0;
  width: 69px;
  margin: 0;
}
.online-flow__head-icon img {
  display: block;
  width: 100%;
  height: auto;
}
.online-flow__head-title {
  color: #333333;
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.09rem;
}
.online-flow__lead {
  max-width: 837px;
  margin: 0 auto 50px;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.2;
  letter-spacing: 0.048rem;
  text-align: center;
}
.online-flow__box {
  background: #FFFADF;
  padding: 60px 20px;
  box-sizing: border-box;
  border-radius: 10px;
}
.online-flow__box--2nd {
  margin-top: 60px;
}
.online-flow__steps {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 50px 2%;
  max-width: 841px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}
.online-flow__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
  flex-shrink: 0;
  width: 23.5%;
  position: relative;
}
.online-flow__step::before {
  content: "";
  display: block;
  width: 18px;
  aspect-ratio: 18/20;
  background: url(../img/pages/online/flow/flow-arrow.png) no-repeat center/cover;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  right: -10px;
}
.online-flow__step:nth-child(4n)::before {
  display: none;
}
.online-flow__icon {
  width: 122px;
  margin: 0;
}
.online-flow__icon img {
  display: block;
  width: 100%;
  height: auto;
}
.online-flow__step-text {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-align: center;
}
.online-flow__step-label {
  color: #e28f00;
  font-family: "Inter", sans-serif;
  font-size: 1.7rem;
  font-weight: 500;
  line-height: 1;
}
.online-flow__step-name {
  color: #333333;
  font-size: 1.7rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.05rem;
  text-align: center;
}
.online-flow__step-name span {
  font-size: 1.4rem;
}
.online-flow__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 20px;
  padding-top: 100px;
  list-style: none;
}
.online-flow__arrow img {
  display: block;
  width: 18px;
  height: auto;
}

@media only screen and (max-width: 767px) {
  .online-flow {
    padding: 0 0 50px;
  }
  .online-flow__title--lv2 {
    margin-bottom: 30px;
  }
  .online-flow__title--lv4 {
    font-size: 2rem;
    margin-bottom: 30px;
  }
  .online-flow__card {
    padding: 40px 20px;
    border-radius: 30px;
  }
  .online-flow__head {
    flex-direction: column;
    gap: 12px;
    margin-bottom: 24px;
  }
  .online-flow__head-icon {
    width: 50px;
  }
  .online-flow__head-title {
    font-size: 2.2rem;
    letter-spacing: 0.066rem;
    text-align: center;
  }
  .online-flow__lead {
    margin-bottom: 32px;
    font-size: 1.5rem;
    line-height: 2;
    text-align: left;
  }
  .online-flow__box {
    padding: 50px 10px;
  }
  .online-flow__box--2nd {
    margin-top: 40px;
  }
  .online-flow__steps {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 30px 3%;
    margin: 0 auto;
    padding: 0;
    list-style: none;
  }
  .online-flow__step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
    flex-shrink: 0;
    width: 48.5%;
    position: relative;
  }
  .online-flow__step::before {
    content: "";
    display: block;
    width: 12px;
    aspect-ratio: 18/20;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    right: -10px;
  }
  .online-flow__step:nth-child(2n)::before {
    display: none;
  }
  .online-flow__step-name {
    font-size: 1.5rem;
    line-height: 1.6;
  }
  .online-flow__step-name span {
    font-size: 1.1rem;
  }
  .online-flow__arrow {
    padding: 16px 0;
  }
  .online-flow__arrow img {
    transform: rotate(90deg);
  }
}
.online-faq {
  padding: 0 0 80px;
}
.online-faq__card {
  padding: 79px 160px 80px;
  background: #ffffff;
  border: 1px solid #a8a8a8;
  border-radius: 50px;
  box-sizing: border-box;
}
.online-faq__head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-bottom: 40px;
}
.online-faq__head-icon {
  flex-shrink: 0;
  width: 69px;
  margin: 0;
}
.online-faq__head-icon img {
  display: block;
  width: 100%;
  height: auto;
}
.online-faq__head-title {
  color: #333333;
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.09rem;
}
.online-faq__lead {
  max-width: 835px;
  margin: 0 auto 50px;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.2;
  letter-spacing: 0.048rem;
  text-align: center;
}
.online-faq__subtitle {
  margin-bottom: 38px;
  color: #333333;
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.09rem;
  text-align: center;
}
.online-faq__categories {
  display: flex;
  flex-direction: column;
  gap: 50px;
  max-width: 762px;
  margin: 0 auto;
}
.online-faq__category-title {
  margin-bottom: 30px;
  color: #333333;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.072rem;
}
.online-faq__list {
  display: flex;
  flex-direction: column;
  gap: 30px;
  margin: 0;
  padding: 0;
}
.online-faq__item {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 16px 0;
  border-top: 1px dotted #a8a8a8;
  border-bottom: 1px dotted #a8a8a8;
}
.online-faq__row {
  display: flex;
  align-items: center;
  gap: 15px;
  margin: 0;
}
.online-faq__badge {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  background: #f4dc43;
  border-radius: 50%;
  color: #333333;
  font-family: "Inter", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
}
.online-faq__question {
  color: #333333;
  font-size: 2rem;
  font-weight: 500;
  line-height: 2.2;
  letter-spacing: 0.06rem;
}
.online-faq__answer {
  color: #333333;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: 0.048rem;
}

@media only screen and (max-width: 767px) {
  .online-faq {
    padding: 0 0 50px;
  }
  .online-faq__card {
    padding: 40px 24px;
    border-radius: 30px;
  }
  .online-faq__head {
    flex-direction: column;
    gap: 12px;
    margin-bottom: 24px;
  }
  .online-faq__head-icon {
    width: 50px;
  }
  .online-faq__head-title {
    font-size: 2.2rem;
    letter-spacing: 0.066rem;
    text-align: center;
  }
  .online-faq__lead {
    margin-bottom: 32px;
    font-size: 1.5rem;
    line-height: 2;
    text-align: left;
  }
  .online-faq__subtitle {
    margin-bottom: 28px;
    font-size: 2.2rem;
  }
  .online-faq__categories {
    gap: 36px;
  }
  .online-faq__category-title {
    margin-bottom: 20px;
    font-size: 2rem;
  }
  .online-faq__row {
    align-items: flex-start;
  }
  .online-faq__question {
    font-size: 1.7rem;
    line-height: 1.8;
  }
  .online-faq__answer {
    font-size: 1.5rem;
    line-height: 1.8;
  }
}
.main--online {
  background: transparent;
}

.support-about {
  padding: 80px 0;
}
.support-about__title {
  margin-bottom: 60px;
}
.support-about__blocks {
  display: flex;
  flex-direction: column;
  gap: 60px;
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}
.support-about__row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.support-about__row--reverse {
  flex-direction: row-reverse;
}
.support-about__image {
  width: 400px;
  height: 340px;
  flex-shrink: 0;
  margin: 0;
  border-radius: 30px;
  overflow: hidden;
}
.support-about__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.support-about__image--01 img {
  -o-object-position: 20% center;
     object-position: 20% center;
}
.support-about__image--03 img {
  -o-object-position: center bottom;
     object-position: center bottom;
}
.support-about__body {
  width: 509px;
  flex-shrink: 0;
}
.support-about__heading {
  margin-bottom: 21px;
  color: #333333;
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.09rem;
}
.support-about__text {
  color: #333333;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.2;
  letter-spacing: 0.048rem;
}
.support-about__worry {
  display: flex;
  align-items: center;
  gap: 60px;
}
.support-about__worry-illust {
  flex-shrink: 0;
  width: 386px;
  margin: 0;
}
.support-about__worry-illust img {
  display: block;
  width: 100%;
  height: auto;
}
.support-about__worry-body {
  width: auto;
  flex-shrink: 0;
}
.support-about__checklist {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.support-about__check-item {
  display: flex;
  align-items: center;
  gap: 16px;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.144rem;
}
.support-about__check-item i {
  flex-shrink: 0;
  color: #e28f00;
  font-size: 2.4rem;
  line-height: 1;
}

@media only screen and (max-width: 767px) {
  .support-about {
    padding: 50px 0;
  }
  .support-about__title {
    margin-bottom: 30px;
  }
  .support-about__blocks {
    gap: 40px;
    max-width: 500px;
  }
  .support-about__row {
    flex-direction: column;
    gap: 24px;
  }
  .support-about__row--reverse {
    flex-direction: column;
  }
  .support-about__image {
    width: 100%;
    max-width: 400px;
    height: auto;
    aspect-ratio: 400/340;
    border-radius: 20px;
    margin-left: auto;
    margin-right: auto;
  }
  .support-about__body, .support-about__worry-body {
    width: 100%;
  }
  .support-about__heading {
    margin-bottom: 16px;
    font-size: 2.4rem;
    letter-spacing: 0.06rem;
  }
  .support-about__text {
    font-size: 1.5rem;
    line-height: 2;
  }
  .support-about__worry {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
  }
  .support-about__worry-illust {
    width: 100%;
    max-width: 386px;
    margin-left: auto;
    margin-right: auto;
  }
  .support-about__check-item {
    font-size: 1.5rem;
    letter-spacing: 0.08rem;
  }
}
.support-service {
  padding: 0 0 80px;
}
.support-service__title {
  margin-bottom: 60px;
}
.support-service__card {
  padding: 79px 156px 80px;
  background: #ffffff;
  border: 1px solid #a8a8a8;
  border-radius: 50px;
  box-sizing: border-box;
}
.support-service__blocks {
  display: flex;
  flex-direction: column;
  gap: 48px;
  max-width: 765px;
  margin: 0 auto;
}
.support-service__block {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}
.support-service__block-title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
  color: #333333;
  font-size: 3.4rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.102rem;
  text-align: center;
}
.support-service__block-title::after {
  content: "";
  display: block;
  width: 39px;
  height: 2px;
  background: #e28f00;
}
.support-service__row {
  display: flex;
  align-items: flex-start;
  gap: 44px;
  width: 100%;
}
.support-service__row--reverse {
  flex-direction: row-reverse;
}
.support-service__image {
  width: 365px;
  height: 253px;
  flex-shrink: 0;
  margin: 0;
  border-radius: 30px;
  overflow: hidden;
}
.support-service__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.support-service__body {
  width: 356px;
  flex-shrink: 0;
}
.support-service__heading {
  margin-bottom: 20px;
  color: #333333;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.072rem;
}
.support-service__text {
  color: #333333;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.2;
  letter-spacing: 0.048rem;
}
.support-service__makers {
  display: flex;
  gap: 14px;
  width: 100%;
}
.support-service__maker {
  display: flex;
  flex-direction: column;
  gap: 17px;
  width: 245px;
}
.support-service__maker a {
  display: flex;
  flex-direction: column;
  gap: 17px;
  width: 100%;
  height: 100%;
}
.support-service__maker-card {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  aspect-ratio: 245/172;
  background: #fffff3;
  border: 1px solid #d1d1d1;
  border-radius: 20px;
  box-sizing: border-box;
}
.support-service__maker-card img {
  width: 85%;
}
.support-service__maker-name {
  color: #333333;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.048rem;
  text-align: center;
}
.support-service__foot {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  max-width: 765px;
  margin: 0 auto;
  padding-top: 70px;
}
.support-service__foot-head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}
.support-service__foot-icon {
  flex-shrink: 0;
  width: 69px;
  margin: 0;
}
.support-service__foot-icon img {
  display: block;
  width: 100%;
  height: auto;
}
.support-service__foot-title {
  color: #333333;
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.09rem;
}
.support-service__foot-text {
  max-width: 760px;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.2;
  letter-spacing: 0.048rem;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .support-service {
    padding: 0 0 50px;
  }
  .support-service__title {
    margin-bottom: 30px;
  }
  .support-service__card {
    padding: 40px 24px;
    border-radius: 30px;
  }
  .support-service__blocks {
    gap: 40px;
  }
  .support-service__block {
    gap: 24px;
  }
  .support-service__block-title {
    font-size: 2.6rem;
    letter-spacing: 0.08rem;
  }
  .support-service__row {
    flex-direction: column;
    gap: 20px;
  }
  .support-service__row--reverse {
    flex-direction: column;
  }
  .support-service__image {
    width: 100%;
    max-width: 365px;
    height: auto;
    aspect-ratio: 365/253;
    border-radius: 20px;
    margin-left: auto;
    margin-right: auto;
  }
  .support-service__body {
    width: 100%;
  }
  .support-service__heading {
    margin-bottom: 16px;
    font-size: 2rem;
  }
  .support-service__text {
    font-size: 1.5rem;
    line-height: 2;
  }
  .support-service__makers {
    flex-direction: column;
    align-items: center;
    gap: 30px;
  }
  .support-service__maker {
    width: 100%;
    max-width: 245px;
  }
  .support-service__foot {
    gap: 24px;
    padding-top: 8px;
  }
  .support-service__foot-head {
    flex-direction: column;
    gap: 12px;
    padding-top: 20px;
  }
  .support-service__foot-icon {
    width: 50px;
  }
  .support-service__foot-title {
    font-size: 2.2rem;
    letter-spacing: 0.066rem;
    text-align: center;
  }
  .support-service__foot-text {
    font-size: 1.5rem;
    line-height: 2;
    text-align: left;
  }
}
.main--support {
  background: transparent;
}

.reason-about {
  padding: 80px 0;
}
.reason-about__title {
  margin-bottom: 60px;
}
.reason-about__card {
  padding: 80px 119px 80px;
  background: #fffadf;
  border-radius: 40px;
  box-sizing: border-box;
}
.reason-about__intro {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 21px;
  margin-bottom: 60px;
}
.reason-about__intro-head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}
.reason-about__intro-icon {
  flex-shrink: 0;
  width: 69px;
  margin: 0;
}
.reason-about__intro-icon img {
  display: block;
  width: 100%;
  height: auto;
}
.reason-about__intro-title {
  color: #333333;
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.09rem;
}
.reason-about__intro-text {
  max-width: 760px;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.2;
  letter-spacing: 0.048rem;
  text-align: center;
}
.reason-about__list {
  display: flex;
  flex-direction: column;
  gap: 34px;
  max-width: 839px;
  margin: 0 auto;
}
.reason-about__item {
  padding-top: 34px;
  border-top: 1px dotted #a8a8a8;
}
.reason-about__row {
  display: flex;
  align-items: flex-start;
  gap: 47px;
}
.reason-about__image {
  width: 321px;
  height: 240px;
  flex-shrink: 0;
  margin: 0;
  border-radius: 20px;
  overflow: hidden;
}
.reason-about__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.reason-about__body {
  display: flex;
  flex-direction: column;
  gap: 13px;
  width: 470px;
  flex-shrink: 0;
}
.reason-about__head {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.reason-about__label {
  color: #e28f00;
  font-family: "Inter", sans-serif;
  font-size: 1.7rem;
  font-weight: 500;
  line-height: 1;
}
.reason-about__name {
  color: #333333;
  font-size: 2.3rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.069rem;
}
.reason-about__text {
  color: #333333;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.2;
  letter-spacing: 0.048rem;
}

@media only screen and (max-width: 767px) {
  .reason-about {
    padding: 50px 0;
  }
  .reason-about__title {
    margin-bottom: 30px;
  }
  .reason-about__card {
    padding: 40px 24px;
    border-radius: 24px;
  }
  .reason-about__intro {
    gap: 16px;
    margin-bottom: 40px;
  }
  .reason-about__intro-head {
    flex-direction: column;
    gap: 12px;
  }
  .reason-about__intro-icon {
    width: 50px;
  }
  .reason-about__intro-title {
    font-size: 2.2rem;
    letter-spacing: 0.066rem;
    text-align: center;
  }
  .reason-about__intro-text {
    font-size: 1.5rem;
    line-height: 2;
    text-align: left;
  }
  .reason-about__list {
    gap: 30px;
  }
  .reason-about__item {
    padding-top: 30px;
  }
  .reason-about__row {
    flex-direction: column;
    gap: 20px;
  }
  .reason-about__image {
    width: 100%;
    max-width: 321px;
    height: auto;
    aspect-ratio: 321/240;
    border-radius: 16px;
    margin-left: auto;
    margin-right: auto;
  }
  .reason-about__body {
    width: 100%;
    gap: 12px;
  }
  .reason-about__name {
    font-size: 2rem;
  }
  .reason-about__text {
    font-size: 1.5rem;
    line-height: 2;
  }
}
.reason-voice {
  padding: 0 0 80px;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
.reason-voice__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}
.reason-voice__lead {
  color: #333333;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.048rem;
  text-align: center;
}
.reason-voice__list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 30px 2%;
  width: 100%;
}
.reason-voice__item {
  width: 32%;
  flex-shrink: 0;
}
.reason-voice__link {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  width: 100%;
}
.reason-voice__image {
  width: 100%;
  aspect-ratio: 321/219;
  background: url(../img/pages/top/column/no-img.jpg) no-repeat center/110%;
  border-radius: 10px;
  overflow: hidden;
}
.reason-voice__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.reason-voice__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 3px 4px;
  background: #e28f00;
  border-radius: 5px;
  color: #ffffff;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.042rem;
}
.reason-voice__text {
  color: #333333;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.9;
  letter-spacing: 0.054rem;
}

@media only screen and (max-width: 767px) {
  .reason-voice {
    padding: 0 0 50px;
  }
  .reason-voice__inner {
    gap: 30px;
  }
  .reason-voice__lead {
    font-size: 1.5rem;
    line-height: 1.9;
  }
  .reason-voice__list {
    flex-direction: column;
    align-items: center;
    gap: 40px;
  }
  .reason-voice__item {
    width: 100%;
    max-width: 90%;
  }
  .reason-voice__image {
    height: auto;
    aspect-ratio: 321/219;
  }
  .reason-voice__text {
    font-size: 1.6rem;
    line-height: 1.8;
  }
}
.reason-partner {
  padding: 0 0 20px;
}
.reason-partner__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 22px;
}
.reason-partner__head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}
.reason-partner__icon {
  flex-shrink: 0;
  width: 69px;
  margin: 0;
}
.reason-partner__icon img {
  display: block;
  width: 100%;
  height: auto;
}
.reason-partner__title {
  color: #333333;
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.09rem;
}
.reason-partner__text {
  max-width: 760px;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.2;
  letter-spacing: 0.048rem;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .reason-partner {
    padding: 0 0 50px;
  }
  .reason-partner__inner {
    gap: 16px;
  }
  .reason-partner__head {
    flex-direction: column;
    gap: 12px;
  }
  .reason-partner__icon {
    width: 50px;
  }
  .reason-partner__title {
    font-size: 2.2rem;
    letter-spacing: 0.066rem;
    text-align: center;
  }
  .reason-partner__text {
    font-size: 1.5rem;
    line-height: 2;
    text-align: left;
  }
}
.main--reason {
  background: transparent;
}

.access-thoughts {
  padding: 80px 0 0;
}
.access-thoughts__title {
  margin-bottom: 60px;
}
.access-thoughts__figure {
  display: block;
  width: 725px;
  margin: 0 auto 50px;
}
.access-thoughts__greeting {
  background: #FFFADF;
  padding: 60px 120px;
  box-sizing: border-box;
  border-radius: 30px;
  margin-bottom: 50px;
}
.access-thoughts__greeting .wrapper {
  display: flex;
  align-items: center;
  gap: 40px;
  margin-bottom: 30px;
}
.access-thoughts__greeting .title--lv3 {
  color: #E28F00;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.7;
  margin-bottom: 20px;
}
.access-thoughts__greeting .title--lv4 {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.access-thoughts__greeting .title--lv4 .company {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
}
.access-thoughts__greeting .title--lv4 .name {
  display: flex;
  align-items: center;
  gap: 10px;
}
.access-thoughts__greeting .title--lv4 .position {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1;
}
.access-thoughts__greeting .title--lv4 .text {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1;
}
.access-thoughts__greeting .img {
  width: 295px;
}
.access-thoughts__greeting .introduction {
  flex: 1;
}
.access-thoughts__greeting .description {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2;
}
.access-thoughts__movie {
  width: 720px;
  aspect-ratio: 16/9;
  margin: 0 auto;
  border-radius: 20px;
  overflow: hidden;
}
.access-thoughts__movie iframe {
  width: 100%;
  height: 100%;
}

@media only screen and (max-width: 767px) {
  .access-thoughts {
    padding: 50px 0 0;
  }
  .access-thoughts__title {
    margin-bottom: 30px;
  }
  .access-thoughts__figure {
    display: block;
    width: 100%;
    margin: 0 auto 50px;
  }
  .access-thoughts__greeting {
    padding: 40px 15px;
    box-sizing: border-box;
    border-radius: 20px;
    margin-bottom: 30px;
  }
  .access-thoughts__greeting .wrapper {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 20px;
  }
  .access-thoughts__greeting .title--lv3 {
    font-size: 1.8rem;
    line-height: 1.6;
    margin-bottom: 20px;
  }
  .access-thoughts__greeting .title--lv4 {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .access-thoughts__greeting .title--lv4 .company {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
  }
  .access-thoughts__greeting .title--lv4 .name {
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .access-thoughts__greeting .title--lv4 .position {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1;
  }
  .access-thoughts__greeting .title--lv4 .text {
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1;
  }
  .access-thoughts__greeting .img {
    width: 80%;
    margin: 0 auto;
  }
  .access-thoughts__greeting .introduction {
    flex: 1;
  }
  .access-thoughts__greeting .description {
    font-size: 1.4rem;
    line-height: 1.6;
  }
  .access-thoughts__movie {
    width: 100%;
    aspect-ratio: 16/9;
    margin: 0 auto;
    border-radius: 10px;
    overflow: hidden;
  }
}
.access-value {
  padding: 80px 0 0;
}
.access-value__list {
  display: flex;
  justify-content: center;
  gap: 59px;
}
.access-value__item {
  width: 321px;
  flex-shrink: 0;
}
.access-value__image {
  width: 100%;
  height: 219px;
  margin: 0;
  border-radius: 10px 10px 0 0;
  overflow: hidden;
}
.access-value__image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.access-value__body {
  min-height: 235px;
  padding: 20px;
  background: #ffffff;
  border: 1px solid #a8a8a8;
  border-top: none;
  border-radius: 0 0 10px 10px;
  box-sizing: border-box;
}
.access-value__name {
  margin-bottom: 5px;
  color: #e79200;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.072rem;
}
.access-value__text {
  color: #333333;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.2;
  letter-spacing: 0.048rem;
}

@media only screen and (max-width: 767px) {
  .access-value {
    padding: 50px 0 0;
  }
  .access-value__list {
    flex-direction: column;
    align-items: center;
    gap: 40px;
  }
  .access-value__item {
    width: 100%;
    max-width: 321px;
  }
  .access-value__body {
    min-height: auto;
  }
  .access-value__name {
    font-size: 2rem;
  }
  .access-value__text {
    font-size: 1.5rem;
    line-height: 2;
  }
}
.access-partner {
  padding: 80px 0;
}
.access-partner__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 22px;
}
.access-partner__head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}
.access-partner__icon {
  flex-shrink: 0;
  width: 69px;
  margin: 0;
}
.access-partner__icon img {
  display: block;
  width: 100%;
  height: auto;
}
.access-partner__title {
  color: #333333;
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.09rem;
}
.access-partner__text {
  max-width: 567px;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.2;
  letter-spacing: 0.048rem;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .access-partner {
    padding: 50px 0;
  }
  .access-partner__inner {
    gap: 16px;
  }
  .access-partner__head {
    flex-direction: column;
    gap: 12px;
  }
  .access-partner__icon {
    width: 50px;
  }
  .access-partner__title {
    font-size: 2.2rem;
    text-align: center;
  }
  .access-partner__text {
    font-size: 1.5rem;
    line-height: 2;
    text-align: left;
  }
}
.access-info {
  padding: 0 0 80px;
}
.access-info__card {
  padding: 80px 30px;
  background: #fffadf;
  border-radius: 40px;
  box-sizing: border-box;
}
.access-info__store-title {
  margin-bottom: 60px;
}
.access-info__store-body {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 60px;
  margin-bottom: 80px;
}
.access-info__detail {
  width: 346px;
  flex-shrink: 0;
}
.access-info__shop-name {
  margin-bottom: 24px;
  color: #333333;
  font-size: 3.1rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.093rem;
}
.access-info__rows {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.access-info__row {
  padding-bottom: 16px;
  border-bottom: 1px solid #a8a8a8;
}
.access-info__label {
  margin-bottom: 8px;
  color: #000000;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.054rem;
}
.access-info__value {
  color: #000000;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.048rem;
}
.access-info__map-wrap {
  width: 600px;
  flex-shrink: 0;
}
.access-info__map {
  width: 100%;
  height: 430px;
  margin: 0 0 20px;
  border-radius: 30px;
  overflow: hidden;
}
.access-info__map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
.access-info__map-text {
  color: #000000;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: 0.042rem;
}
.access-info__company {
  max-width: 860px;
  margin: 0 auto;
}
.access-info__company-title {
  margin-bottom: 30px;
  color: #333333;
  font-size: 3.4rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.102rem;
  text-align: center;
}
.access-info__company-rows {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding-top: 24px;
  border-top: 1px solid #a8a8a8;
}
.access-info__company-row {
  display: flex;
  align-items: flex-start;
  gap: 2%;
  padding-bottom: 24px;
  border-bottom: 1px solid #a8a8a8;
}
.access-info__company-label {
  width: 23%;
  flex-shrink: 0;
  color: #000000;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
.access-info__company-value {
  width: 75%;
  color: #000000;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.05rem;
}
.access-info__company-value span {
  font-size: 1.4rem;
}

@media only screen and (max-width: 767px) {
  .access-info {
    padding: 0 0 50px;
  }
  .access-info__card {
    padding: 40px 24px;
    border-radius: 24px;
  }
  .access-info__store-title {
    margin-bottom: 30px;
  }
  .access-info__store-body {
    flex-direction: column;
    gap: 40px;
    margin-bottom: 50px;
  }
  .access-info__detail {
    width: 100%;
  }
  .access-info__shop-name {
    font-size: 2.4rem;
  }
  .access-info__label {
    font-size: 1.6rem;
    line-height: 1;
  }
  .access-info__map-wrap {
    width: 100%;
  }
  .access-info__map {
    height: 280px;
    margin-left: auto;
    margin-right: auto;
    border-radius: 20px;
  }
  .access-info__company-title {
    font-size: 2.4rem;
  }
  .access-info__company-rows {
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding-top: 15px;
  }
  .access-info__company-row {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-bottom: 15px;
  }
  .access-info__company-label {
    width: 100%;
  }
  .access-info__company-value {
    width: 100%;
    font-size: 1.4rem;
  }
  .access-info__company-value span {
    font-size: 1.3rem;
  }
}
.main--access {
  background: transparent;
}

.voice-list {
  padding: 80px 0;
}
.voice-list__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}
.voice-list__lead {
  color: #333333;
  font-family: "Inter", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.048rem;
  text-align: center;
}
.voice-list__items {
  display: flex;
  justify-content: center;
  gap: 58px;
  width: 100%;
}
.voice-list__item {
  width: 321px;
  flex-shrink: 0;
}
.voice-list__link {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  width: 100%;
}
.voice-list__image {
  width: 100%;
  height: 219px;
  margin: 0;
  border-radius: 10px;
  overflow: hidden;
}
.voice-list__image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.voice-list__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 3px 4px;
  background: #e28f00;
  border-radius: 5px;
  color: #ffffff;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.042rem;
}
.voice-list__text {
  color: #333333;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.9;
  letter-spacing: 0.054rem;
}

@media only screen and (max-width: 767px) {
  .voice-list {
    padding: 50px 0;
  }
  .voice-list__inner {
    gap: 30px;
  }
  .voice-list__lead {
    font-size: 1.5rem;
    line-height: 1.9;
    text-align: left;
  }
  .voice-list__items {
    flex-direction: column;
    align-items: center;
    gap: 40px;
  }
  .voice-list__item {
    width: 100%;
    max-width: 321px;
  }
  .voice-list__image {
    height: auto;
    aspect-ratio: 321/219;
  }
  .voice-list__text {
    font-size: 1.6rem;
    line-height: 1.8;
  }
}
.voice-detail {
  padding: 80px 0;
}
.voice-detail__card {
  max-width: 1080px;
  margin: 0 auto;
  padding: 80px 100px;
  background: #fffadf;
  border-radius: 40px;
  box-sizing: border-box;
}
.voice-detail__image {
  width: 100%;
  aspect-ratio: 880/440;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 30px;
}
.voice-detail__head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  max-width: 880px;
  margin: 0 auto 30px;
}
.voice-detail__title {
  color: #333333;
  font-size: 2.9rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.087rem;
}
.voice-detail__profile {
  color: #000000;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.06rem;
}
.voice-detail__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.voice-detail__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 3px 4px;
  background: #e28f00;
  border-radius: 5px;
  color: #ffffff;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.042rem;
}
.voice-detail__body {
  max-width: 880px;
  margin: 0 auto 50px;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.2;
  letter-spacing: 0.048rem;
}
.voice-detail__body p + p {
  margin-top: 0.4em;
}
.voice-detail__foot {
  display: flex;
  justify-content: center;
}
.voice-detail__button {
  width: 220px;
  min-width: 220px;
  padding-left: 63px;
  padding-right: 63px;
}

@media only screen and (max-width: 767px) {
  .voice-detail {
    padding: 50px 0;
  }
  .voice-detail__card {
    padding: 40px 24px;
    border-radius: 24px;
  }
  .voice-detail__image {
    height: auto;
    aspect-ratio: 880/440;
    margin-bottom: 24px;
  }
  .voice-detail__title {
    font-size: 2.2rem;
  }
  .voice-detail__profile {
    font-size: 1.6rem;
  }
  .voice-detail__body {
    margin-bottom: 40px;
    font-size: 1.5rem;
    line-height: 2;
  }
  .voice-detail__button {
    width: 100%;
    max-width: 318px;
    min-width: 0;
    padding-left: 20px;
    padding-right: 20px;
  }
}
.main--voice-index {
  background: transparent;
}

.main--voice-detail {
  background: transparent;
}

.main--news-index,
.main--news-detail {
  background: transparent;
}

.main--column-index,
.main--column-detail {
  background: transparent;
}/*# sourceMappingURL=style.css.map */