@charset "UTF-8";
html {
  width: 100%;
  height: 100%;
  font-size: 62.5%;
  line-height: 1;
  overflow-y: scroll; }

body {
  -webkit-text-size-adjust: none;
  min-width: 1120px;
  width: 100%;
  height: 100%;
  font-size: var(--pattern_font_size);
  font-family: var(--pattern_font_family);
  color: var(--base-font-color);
  background-color: #fff;
  letter-spacing: 0.02em;
  line-height: 1.6;
  font-feature-settings: "palt"; }
  @media (max-width: 480px) {
    body {
      min-width: 100%;
      font-size: 3.8461538462vw;
      line-height: 1.4; } }

input, textarea {
  font-family: "Noto Sans JP", sans-serif; }

* {
  box-sizing: border-box; }

@media (max-width: 480px) {
  html,
  body {
    min-width: inherit;
    min-width: auto; } }

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
form,
fieldset,
input,
textarea,
p,
th,
td {
  padding: 0;
  margin: 0; }

address,
caption,
em,
strong,
th {
  font-style: normal; }

caption,
th {
  text-align: left; }

hr,
legend {
  display: none; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%; }

li {
  list-style-type: none; }

table,
ol,
ul,
dl,
blockquote,
pre {
  margin-bottom: 0px; }

p {
  margin-bottom: 0; }
  p:not(:last-child) {
    margin-bottom: 1em; }

img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
  display: block; }

a img,
fieldset {
  border: none; }

article,
aside,
footer,
header,
hgroup,
nav,
section {
  display: block; }

figure {
  margin: 0; }

input,
select {
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

input[type="text"], input[type="email"], input[type="tel"] {
  cursor: auto; }

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

label {
  position: relative;
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

button {
  background-color: transparent;
  border: none;
  font: inherit;
  color: inherit;
  cursor: pointer;
  padding: 0;
  appearance: none;
  width: 100%; }
  button:focus-visible {
    outline: 0; }

a {
  text-decoration: none; }

a[href^="tel:"] {
  pointer-events: none;
  text-decoration: none; }
  @media (max-width: 480px) {
    a[href^="tel:"] {
      pointer-events: all; } }

a:visited {
  text-decoration: none; }

a {
  color: inherit; }

/*-----------------------------------------*/
.only-pc {
  display: block; }
  @media (max-width: 480px) {
    .only-pc {
      display: none; } }

.only-sp {
  display: none; }
  @media (max-width: 480px) {
    .only-sp {
      display: block; } }

.wrap {
  width: 1100px;
  max-width: 100%;
  margin: 0 auto; }
  @media (max-width: 480px) {
    .wrap {
      padding: 0 3.8461538462vw; } }

.top_contents {
  padding: 100px 0; }
  @media (max-width: 480px) {
    .top_contents {
      padding: 12.8205128205vw 0; } }
  .top_contents:nth-child(2n) {
    background-color: var(--base-background-color); }
  .top_contents .conteiner {
    display: grid;
    grid-template-columns: 100%;
    gap: 50px; }
    @media (max-width: 480px) {
      .top_contents .conteiner {
        gap: 12.8205128205vw; } }

/*============================
.header
============================*/
#header {
  overflow: hidden; }
  #header .header__conteiner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px; }
    @media (max-width: 480px) {
      #header .header__conteiner {
        padding: 3.8461538462vw 0;
        min-height: 14.1025641026vw; } }
    #header .header__conteiner .header__logo {
      width: 250px; }
      #header .header__conteiner .header__logo a {
        font-size: 2.8rem;
        font-weight: bold;
        transition: opacity 0.3s; }
        @media (max-width: 480px) {
          #header .header__conteiner .header__logo a {
            font-size: 6.4102564103vw; } }
        @media (min-width: 480px) {
          #header .header__conteiner .header__logo a:hover {
            opacity: 0.7; } }
      @media (max-width: 480px) {
        #header .header__conteiner .header__logo {
          max-width: 60%; } }
    #header .header__conteiner .header__burger {
      display: none; }
      @media (max-width: 480px) {
        #header .header__conteiner .header__burger {
          display: block;
          width: 7.6923076923vw;
          height: 6.4102564103vw;
          display: flex;
          flex-direction: column;
          justify-content: space-between; } }
      #header .header__conteiner .header__burger span {
        display: block;
        width: 100%;
        height: 2px;
        background-color: var(--base-color);
        transition: transform 0.3s, opacity 0.3s; }
        #header .header__conteiner .header__burger span:nth-child(1) {
          transform-origin: right; }
        #header .header__conteiner .header__burger span:nth-child(3) {
          transform-origin: right; }
      #header .header__conteiner .header__burger[data-state="open"] {
        position: fixed;
        right: 3.8461538462vw;
        top: 3.8461538462vw;
        z-index: 5001; }
        #header .header__conteiner .header__burger[data-state="open"] span:nth-child(1) {
          transform: rotate(-45deg); }
        #header .header__conteiner .header__burger[data-state="open"] span:nth-child(2) {
          opacity: 0;
          transform: translate(100%); }
        #header .header__conteiner .header__burger[data-state="open"] span:nth-child(3) {
          transform: rotate(45deg) translateY(-1px); }
    @media (max-width: 480px) {
      #header .header__conteiner .header__nav {
        width: 70vw;
        height: 100svh;
        background-color: #fff;
        padding: 12.8205128205vw 7.6923076923vw;
        overflow: scroll;
        position: fixed;
        bottom: 0;
        right: -100%;
        z-index: 5000;
        transition: transform 0.3s;
        transform: translateX(100%); }
        #header .header__conteiner .header__nav[data-state="open"] {
          transform: translateX(0%);
          right: 0; }
          #header .header__conteiner .header__nav[data-state="open"]::after {
            content: ""; } }
    #header .header__conteiner .header__nav ul {
      display: flex;
      align-items: center;
      gap: 1.5em; }
      @media (max-width: 480px) {
        #header .header__conteiner .header__nav ul {
          flex-direction: column;
          align-items: normal; } }
  @media (max-width: 480px) and (max-width: 480px) {
    #header .header__conteiner .header__nav ul {
      gap: 0; } }

      #header .header__conteiner .header__nav ul li a {
        font-size: 1.6rem;
        font-weight: bold; }
        @media (max-width: 480px) {
          #header .header__conteiner .header__nav ul li a {
            font-size: 4.1025641026vw;
            display: block;
            width: 100%;
            padding: 1.5em 0;
            border-bottom: 1px solid var(--base-color); } }
      #header .header__conteiner .header__nav ul li:not(.contact) a {
        transition: color 0.3s; }
        @media (min-width: 480px) {
          #header .header__conteiner .header__nav ul li:not(.contact) a:hover {
            color: var(--base-color); } }
      @media (max-width: 480px) {
        #header .header__conteiner .header__nav ul li.contact {
          margin-top: 10.2564102564vw; } }
      #header .header__conteiner .header__nav ul li.contact a {
        background-color: var(--base-color);
        width: 180px;
        height: 46px;
        border-radius: 50px;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: opacity 0.3s; }
        @media (max-width: 480px) {
          #header .header__conteiner .header__nav ul li.contact a {
            width: 100%;
            height: 12.8205128205vw; } }
        @media (min-width: 480px) {
          #header .header__conteiner .header__nav ul li.contact a:hover {
            opacity: 0.7; } }

#gnavi_backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #00000033;
  backdrop-filter: blur(2px);
  cursor: pointer; }

#gnavi_close {
  width: 100%;
  height: 11.5384615385vw;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 15.3846153846vw;
  border: 1px solid #ccc;
  border-radius: 0.5128205128vw; }

/*============================
.visual
============================*/
.visual {
  position: relative;
  width: 100%;
  height: 743px;
  background-color: #fff;
  overflow: hidden; }
  @media (max-width: 480px) {
    .visual {
      height: auto; } }
  .visual .visual-img {
    position: absolute;
    min-width: 1400px;
    width: 88%;
    height: 100%;
    left: 50%;
    transform: translateX(-550px);
    object-fit: cover;
    object-position: top; }
  .visual .visual_image {
    position: relative;
    width: 1100px;
    height: 100%;
    margin: 0 auto; }
    @media (max-width: 480px) {
      .visual .visual_image {
        width: 100%;
        height: 81.1538461538vw;
        background: url(../img/visual_img-sp.png) no-repeat center/cover; } }
    .visual .visual_image .text-image {
      position: absolute;
      width: 515px;
      top: 50%;
      left: 0;
      transform: translateY(-50%);
      max-width: 100%;
      height: auto;
      z-index: 10; }
      @media (max-width: 480px) {
        .visual .visual_image .text-image {
          display: none; } }
    .visual .visual_image::after {
      content: "";
      position: absolute;
      top: -1px;
      left: 0;
      background-color: #fff;
      display: block;
      height: 745px;
      width: 100%;
      clip-path: polygon(0 0, 44.5% 0, 19.5% 100%, 0% 100%);
      z-index: 1; }
      @media (max-width: 480px) {
        .visual .visual_image::after {
          content: none; } }

/*============================
.footer
============================*/
#footer {
  border-top: 1px solid var(--base-color);
  position: relative; }
  #footer .footer__in {
    padding: 50px 0; }
    @media (max-width: 480px) {
      #footer .footer__in {
        padding: 12.8205128205vw 0; } }
    #footer .footer__in .footer__nav ul {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 2em; }
      @media (max-width: 480px) {
        #footer .footer__in .footer__nav ul {
          justify-content: start;
          gap: 1em; } }
      @media (max-width: 480px) {
        #footer .footer__in .footer__nav ul li {
          width: calc(50% - 1em/2);
          padding-left: 1em; } }
      @media (min-width: 480px) {
        #footer .footer__in .footer__nav ul li a:hover {
          text-decoration: underline; } }
  #footer .copy {
    padding: 20px 0; }
    @media (max-width: 480px) {
      #footer .copy {
        padding: 2.5641025641vw 0; } }
    #footer .copy p {
      text-align: center;
      font-size: 1.4rem; }
      @media (max-width: 480px) {
        #footer .copy p {
          font-size: 2.8205128205vw; } }

#pagetop {
  display: none;
  width: 60px;
  height: auto;
  aspect-ratio: 1/1;
  right: 20px;
  z-index: 5000;
  border-radius: 50%;
  background-color: #fff;
  border: 2px solid var(--base-color);
  transition: opacity 0.3s; }
  @media (max-width: 480px) {
    #pagetop {
      width: 11.5384615385vw;
      height: 11.5384615385vw;
      right: 1.2820512821vw;
      border-width: 0.5128205128vw; } }
  #pagetop.fixed {
    display: block; }
  #pagetop a {
    display: block;
    width: 100%;
    height: 100%;
    mask: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 41 24.3"><polygon points="20.5 0 0 16 0 24.3 20.7 8.3 41 24.3 41 16 20.5 0"/></svg>') no-repeat center/50%;
    background-color: var(--base-color); }
  @media (min-width: 480px) {
    #pagetop:hover {
      opacity: 0.7; } }

/*============================
共通ブロック
============================*/
.block-title01 {
  font-size: 2.4rem;
  color: var(--main-font-color);
  text-align: center;
  font-weight: var(--pattern_title_font_weight);
  font-family: var(--pattern_title_font_family);
  letter-spacing: 0.1em; }
  @media (max-width: 480px) {
    .block-title01 {
      font-size: 5.1282051282vw; } }

.block-msg01 {
  text-align: center; }

.block-imglist01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px; }
  @media (max-width: 480px) {
    .block-imglist01 {
      gap: 3.8461538462vw; }
      .block-imglist01 .block-imglist01__item {
        width: calc(50% - 3.8461538462vw/2); } }
  @media (min-width: 480px) {
    .block-imglist01.col-2 .block-imglist01__item {
      width: calc(50% - 30px/2); }
    .block-imglist01.col-3 .block-imglist01__item {
      width: calc(33.333% - 30px*2/3); }
    .block-imglist01.col-4 .block-imglist01__item {
      width: calc(25% - 30px*3/4); } }

.block-split01 {
  display: flex;
  gap: 50px; }
  @media (max-width: 480px) {
    .block-split01 {
      gap: 5.7692307692vw;
      flex-direction: column; } }
  .block-split01 .block-split01__img {
    width: 500px;
    max-width: 100%; }
  .block-split01 .block-split01__txt {
    flex: 1; }
    .block-split01 .block-split01__txt .ttl {
      font-size: 2.4rem;
      line-height: 1.6;
      color: var(--base-color);
      font-weight: var(--pattern_title_font_weight);
      font-family: var(--pattern_title_font_family);
      letter-spacing: 0.1em; }
      @media (max-width: 480px) {
        .block-split01 .block-split01__txt .ttl {
          font-size: 5.1282051282vw; } }
  .block-split01.reverse {
    flex-direction: row-reverse; }
    @media (max-width: 480px) {
      .block-split01.reverse {
        flex-direction: column; } }

.block-figure01 {
  width: 752px;
  max-width: 100%;
  margin-inline: auto; }
  .block-figure01 .block-figure01__img {
    margin-bottom: 25px; }
    @media (max-width: 480px) {
      .block-figure01 .block-figure01__img {
        margin-bottom: 5.7692307692vw; } }

.block-figure02 .block-figure02__img {
  margin-bottom: 25px; }
  @media (max-width: 480px) {
    .block-figure02 .block-figure02__img {
      margin-bottom: 5.7692307692vw;
      margin-inline: -3.8461538462vw; } }

.block-card01 {
  display: grid; }
  .block-card01.col-2 {
    grid-template-columns: repeat(2, 1fr);
    gap: 50px 100px; }
  .block-card01.col-auto {
    grid-template-columns: repeat(auto-fit, minmax(calc(25% - 46px * 3 / 4), 1fr));
    gap: 46px; }
  @media (max-width: 480px) {
    .block-card01.col-2, .block-card01.col-auto {
      grid-template-columns: 1fr;
      gap: 6.4102564103vw; } }
  .block-card01 .block-card01__item {
    padding: 35px 35px 55px;
    background-color: #fff;
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    gap: 25px; }
    @media (max-width: 480px) {
      .block-card01 .block-card01__item {
        padding: 4.4871794872vw 4.4871794872vw 6.7948717949vw;
        gap: 3.8461538462vw; } }
    .block-card01 .block-card01__item .img img {
      height: 100%;
      object-fit: cover; }
    .block-card01 .block-card01__item .ttl {
      color: var(--base-color);
      font-size: 2.2rem;
      line-height: 1.4;
      text-align: center;
      font-weight: var(--pattern_title_font_weight);
      font-family: var(--pattern_title_font_family);
      letter-spacing: 0.1em; }
      @media (max-width: 480px) {
        .block-card01 .block-card01__item .ttl {
          font-size: 4.4871794872vw; } }

.block-card02 {
  display: grid;
  counter-reset: number 0; }
  @media (min-width: 480px) {
    .block-card02.col-3 {
      grid-template-columns: repeat(3, 1fr);
      gap: 50px; }
      .block-card02.col-3 .block-card02__item:not(:last-child)::after {
        right: -25px; }
    .block-card02.col-4 {
      grid-template-columns: repeat(4, 1fr);
      gap: 36px; }
      .block-card02.col-4 .block-card02__item:not(:last-child)::after {
        right: -18px; }
    .block-card02.col-full {
      grid-template-columns: 1fr;
      gap: 50px; }
      .block-card02.col-full .block-card02__item {
        align-items: center;
        padding: 35px;
        grid-template-rows: auto 1fr;
        grid-template-columns: auto 178px 1fr;
        gap: 10px 36px;
        grid-template-areas: "num img ttl" "num img msg"; }
        .block-card02.col-full .block-card02__item .ttl {
          text-align: left; }
        .block-card02.col-full .block-card02__item .msg {
          align-self: start; }
        .block-card02.col-full .block-card02__item:not(:last-child)::after {
          top: auto;
          bottom: -25px;
          right: 50%;
          transform: translate(50%, 75%);
          clip-path: polygon(0 0, 50% 100%, 100% 0); } }
  @media (max-width: 480px) {
    .block-card02.col-3, .block-card02.col-4, .block-card02.col-full {
      grid-template-columns: 1fr;
      gap: 9.6153846154vw; } }
  .block-card02 .block-card02__item {
    padding: 20px 34px 45px;
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 4;
    gap: 25px;
    grid-template-areas: "num" "img" "ttl" "msg";
    position: relative; }
    @media (max-width: 480px) {
      .block-card02 .block-card02__item {
        padding: 4.6153846154vw;
        grid-template-rows: auto auto 1fr;
        grid-template-columns: 32.0512820513vw 1fr;
        grid-template-areas: "img num" "img ttl" "img msg";
        gap: 1.9230769231vw 5.1282051282vw; } }
    .block-card02 .block-card02__item:not(:last-child)::after {
      content: "";
      width: 17px;
      height: auto;
      aspect-ratio: 1/1;
      background-color: var(--base-color);
      opacity: 0.4;
      clip-path: polygon(0 0, 0% 100%, 100% 50%);
      position: absolute;
      top: 50%;
      transform: translate(75%, -50%); }
      @media (max-width: 480px) {
        .block-card02 .block-card02__item:not(:last-child)::after {
          width: 3.8461538462vw;
          top: auto;
          bottom: -4.4871794872vw;
          right: 50%;
          transform: translate(50%, 75%);
          clip-path: polygon(0 0, 50% 100%, 100% 0); } }
    .block-card02 .block-card02__item .num {
      grid-area: num;
      display: block;
      text-align: center;
      font-family: "Roboto", serif;
      font-size: 2.6rem;
      line-height: 1;
      font-weight: bold;
      color: var(--base-color);
      opacity: 0.4; }
      @media (max-width: 480px) {
        .block-card02 .block-card02__item .num {
          font-size: 3.8461538462vw;
          text-align: left; } }
      .block-card02 .block-card02__item .num::after {
        counter-increment: number 1;
        content: "STEP " counter(number);
        display: inline-block;
        letter-spacing: 0.04em; }
    .block-card02 .block-card02__item .img {
      grid-area: img; }
      .block-card02 .block-card02__item .img img {
        height: 100%;
        object-fit: cover; }
        @media (max-width: 480px) {
          .block-card02 .block-card02__item .img img {
            object-fit: contain; } }
    .block-card02 .block-card02__item .ttl {
      grid-area: ttl;
      color: var(--base-color);
      font-size: 2.2rem;
      line-height: 1.4;
      text-align: center;
      font-weight: var(--pattern_title_font_weight);
      font-family: var(--pattern_title_font_family);
      letter-spacing: 0.1em; }
      @media (max-width: 480px) {
        .block-card02 .block-card02__item .ttl {
          font-size: 4.4871794872vw;
          text-align: left; } }
    .block-card02 .block-card02__item .msg {
      grid-area: msg; }

.block-faq01 .block-faq01__item .label {
  font-weight: var(--pattern_title_font_weight);
  font-family: var(--pattern_title_font_family);
  letter-spacing: 0.1em;
  font-size: 2.4rem;
  color: var(--base-color); }
  @media (max-width: 480px) {
    .block-faq01 .block-faq01__item .label {
      font-size: 4.6153846154vw;
      line-height: 1.2; } }

.block-overview01 {
  display: flex;
  gap: 50px; }
  @media (max-width: 480px) {
    .block-overview01 {
      flex-direction: column;
      gap: 6.4102564103vw; } }
  .block-overview01 .block-overview01__table {
    flex: 1; }
    .block-overview01 .block-overview01__table table {
      width: 100%;
      border-collapse: collapse; }
      @media (max-width: 480px) {
        .block-overview01 .block-overview01__table table {
          border: none; } }
      @media (max-width: 480px) {
        .block-overview01 .block-overview01__table table tr {
          display: block;
          margin-bottom: 2.5641025641vw;
          border-bottom: 0; } }
      .block-overview01 .block-overview01__table table td,
      .block-overview01 .block-overview01__table table th {
        font-weight: normal;
        position: relative;
        padding: 21px 0; }
        @media (max-width: 480px) {
          .block-overview01 .block-overview01__table table td,
          .block-overview01 .block-overview01__table table th {
            border: none;
            padding: 3.8461538462vw 0;
            display: block;
            width: 100%; } }
      .block-overview01 .block-overview01__table table th {
        text-align: left;
        width: 27%;
        letter-spacing: 0;
        z-index: 1;
        font-weight: bold;
        color: var(--base-color);
        border-bottom: 1px solid;
        position: relative; }
        @media (max-width: 480px) {
          .block-overview01 .block-overview01__table table th {
            border-bottom: 0;
            width: 100%; }
            .block-overview01 .block-overview01__table table th::before {
              content: "";
              width: 100%;
              height: 1px;
              background: linear-gradient(90deg, var(--base-color) 20%, #bfbfbf 20%);
              position: absolute;
              bottom: 0;
              left: 0; } }
      .block-overview01 .block-overview01__table table td {
        border-bottom: 1px solid #bfbfbf; }
        @media (max-width: 480px) {
          .block-overview01 .block-overview01__table table td {
            border-bottom: 0; } }
      .block-overview01 .block-overview01__table table a {
        text-decoration: underline;
        transition: opacity 0.7s; }
        .block-overview01 .block-overview01__table table a[href^="tel:"] {
          text-decoration: none; }
        @media (min-width: 480px) {
          .block-overview01 .block-overview01__table table a:hover {
            text-decoration: none;
            opacity: 0.7; } }
  .block-overview01 .block-overview01__map {
    flex: 1; }
    .block-overview01 .block-overview01__map iframe {
      width: 100%;
      height: 100%; }
      @media (max-width: 480px) {
        .block-overview01 .block-overview01__map iframe {
          aspect-ratio: 1/1;
          height: auto; } }

.block-table01 table {
  width: 100%;
  border-top: 1px solid #ccc;
  border-collapse: collapse; }
  @media (max-width: 480px) {
    .block-table01 table {
      border: none; } }
  .block-table01 table tr {
    border-bottom: 1px solid #ccc; }
    @media (max-width: 480px) {
      .block-table01 table tr {
        display: block;
        margin-bottom: 2.5641025641vw;
        border-bottom: 0; } }
  .block-table01 table td,
  .block-table01 table th {
    font-weight: normal;
    padding: 20px;
    position: relative; }
    @media (max-width: 480px) {
      .block-table01 table td,
      .block-table01 table th {
        border: none;
        padding: 2.5641025641vw 2.3076923077vw;
        display: block;
        width: 100%; } }
  .block-table01 table th {
    text-align: left;
    width: 27%;
    letter-spacing: 0;
    z-index: 1;
    font-weight: bold; }
    @media (max-width: 480px) {
      .block-table01 table th {
        border-bottom: 1px solid #ccc;
        width: 100%; } }
  .block-table01 table td::after {
    content: "";
    background-color: #ccc;
    width: 1px;
    height: 60%;
    position: absolute;
    top: 20%;
    left: 0; }
    @media (max-width: 480px) {
      .block-table01 table td::after {
        content: none; } }
  .block-table01 table a {
    text-decoration: underline;
    transition: opacity 0.7s; }
    @media (min-width: 480px) {
      .block-table01 table a:hover {
        text-decoration: none;
        opacity: 0.7; } }

.block-form01 {
  width: 900px;
  margin: 0 auto;
  font-family: "Noto Sans JP", sans-serif; }
  @media (max-width: 480px) {
    .block-form01 {
      width: 100%; } }
  .block-form01 .block-table01 {
    margin-bottom: 25px; }
    @media (max-width: 480px) {
      .block-form01 .block-table01 {
        margin-bottom: 6.4102564103vw; } }
    .block-form01 .block-table01 table th .col {
      display: flex;
      align-items: center;
      gap: 1em; }
    @media (max-width: 480px) {
      .block-form01 .block-table01 table th .col {
        justify-content: space-between; }
      .block-form01 .block-table01 table th .any,
      .block-form01 .block-table01 table th .required {
        order: 1; } }
  .block-form01 .any,
  .block-form01 .required {
    color: #fff;
    display: inline-block;
    font-size: 0.85em;
    white-space: nowrap;
    border-radius: 3px;
    padding: 0.2em 0.4em; }
    @media (max-width: 480px) {
      .block-form01 .any,
      .block-form01 .required {
        margin-right: 0; } }
  .block-form01 .required {
    background: #9b0000; }
    .block-form01 .required::before {
      content: "必須"; }
  .block-form01 .any {
    background: #999; }
    .block-form01 .any::before {
      content: "任意"; }
  .block-form01 input,
  .block-form01 textarea,
  .block-form01 select {
    font-size: 1.5rem;
    font-family: "Noto Sans JP", sans-serif;
    border: 1px solid #e1e1e1;
    border-radius: 3px;
    padding: 0.8em; }
  .block-form01 input,
  .block-form01 textarea {
    color: #444;
    letter-spacing: 1px;
    line-height: 1.4;
    max-width: 100%;
    width: 100%; }
    @media (max-width: 480px) {
      .block-form01 input,
      .block-form01 textarea {
        font-size: 3.8461538462vw; } }
  .block-form01 select {
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding-right: 2em;
    position: relative;
    background: #fff url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960" fill="%23333"><path d="M480-345 240-585l56-56 184 183 184-183 56 56-240 240Z"/></svg>') no-repeat center right/auto 50%; }
    @media all and (-ms-high-contrast: none) {
      .block-form01 select {
        background: none;
        padding-right: 13px; } }
  .block-form01 label {
    padding: 2px 0;
    cursor: pointer;
    display: inline-flex;
    gap: 0.5em;
    align-items: center;
    margin-right: 20px;
    white-space: nowrap;
    line-height: 1.2; }
    @media (max-width: 480px) {
      .block-form01 label {
        margin-right: 5.1282051282vw; } }
    .block-form01 label input[type="radio"], .block-form01 label input[type="checkbox"] {
      width: 1.2em;
      height: auto;
      aspect-ratio: 1/1;
      line-height: 1.2; }
      @media (max-width: 480px) {
        .block-form01 label input[type="radio"], .block-form01 label input[type="checkbox"] {
          outline: none; } }
  @media (max-width: 480px) {
    .block-form01 input[type="submit"],
    .block-form01 input[type="button"] {
      border-radius: 0;
      -webkit-box-sizing: content-box;
      -webkit-appearance: button;
      appearance: button;
      border: none;
      box-sizing: border-box;
      cursor: pointer; } }
  @media (max-width: 480px) {
    .block-form01 input[type="submit"]::-webkit-search-decoration,
    .block-form01 input[type="button"]::-webkit-search-decoration {
      display: none; } }
  @media (max-width: 480px) {
    .block-form01 input[type="submit"]:focus,
    .block-form01 input[type="button"]:focus {
      outline-offset: -2px; } }
  .block-form01 .form3 {
    vertical-align: middle;
    width: 3%; }
  .block-form01 .form25 {
    width: 25%; }
    @media (max-width: 480px) {
      .block-form01 .form25 {
        width: 100%; } }
  .block-form01 .form45 {
    width: 45%; }
    @media (max-width: 480px) {
      .block-form01 .form45 {
        width: 100%; } }
  .block-form01 .form60 {
    width: 60%; }
    @media (max-width: 480px) {
      .block-form01 .form60 {
        width: 100%; } }
  .block-form01 .form90 {
    width: 93%; }
    @media (max-width: 480px) {
      .block-form01 .form90 {
        width: 100%; } }
  .block-form01 .important_text {
    line-height: 1.4;
    margin-bottom: 27px; }
  .block-form01 .inquiry_inset {
    margin-bottom: 25px; }
  .block-form01 .important_list {
    margin-bottom: 40px; }
    @media (max-width: 480px) {
      .block-form01 .important_list {
        margin-bottom: 8vw; } }
    .block-form01 .important_list li {
      text-indent: -16px;
      padding-left: 16px; }
      .block-form01 .important_list li:not(:last-child) {
        margin-bottom: 5px; }
        @media (max-width: 480px) {
          .block-form01 .important_list li:not(:last-child) {
            margin-bottom: 10px; } }
      @media (max-width: 480px) {
        .block-form01 .important_list li {
          text-indent: -17px;
          padding-left: 17px; } }
  .block-form01 .confirm_txt {
    text-align: center;
    margin-bottom: 40px;
    letter-spacing: 0.1em; }
    @media (max-width: 480px) {
      .block-form01 .confirm_txt {
        text-align: left;
        margin-bottom: 10.2564102564vw; } }
  .block-form01 .send_btn {
    width: 400px;
    max-width: 100%;
    height: 62px;
    margin: 0 auto; }
    @media (max-width: 480px) {
      .block-form01 .send_btn {
        height: 14.1025641026vw; } }
    .block-form01 .send_btn > .inner {
      width: 100%;
      height: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 1.7rem;
      letter-spacing: 0.1em;
      background-color: var(--base-color);
      border-radius: 50px;
      transition: opacity 0.3s; }
      @media (max-width: 480px) {
        .block-form01 .send_btn > .inner {
          font-size: 4.1025641026vw; } }
      @media (min-width: 480px) {
        .block-form01 .send_btn > .inner:hover {
          opacity: 0.7; } }

.contents_header {
  background-color: var(--base-background-color); }
  @media (max-width: 770px) {
    .contents_header {
      min-width: 100%; } }
  .contents_header .head_inner {
    display: flex;
    width: 100%;
    margin: 0 auto;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    min-height: 200px;
    padding: 40px; }
    @media (max-width: 480px) {
      .contents_header .head_inner {
        min-height: 28vw; } }
    .contents_header .head_inner .title {
      font-size: 3rem;
      line-height: 1.3;
      text-align: center; }
      @media (max-width: 480px) {
        .contents_header .head_inner .title {
          font-size: 5.5vw; } }

.breadcrumbs {
  max-width: 1230px;
  width: 100%;
  margin: 0 auto;
  padding: 5px 20px; }
  @media (max-width: 770px) {
    .breadcrumbs {
      padding: 5px 3vw; } }
  .breadcrumbs + .section {
    padding-top: 60px; }
    @media (max-width: 480px) {
      .breadcrumbs + .section {
        padding-top: 10vw; } }
  .breadcrumbs ul li {
    font-size: 1.3rem;
    margin-right: 5px;
    float: left; }
    .breadcrumbs ul li a {
      margin-right: 4px;
      display: inline-block;
      text-decoration: underline; }
  .breadcrumbs ul::after {
    content: "";
    display: block;
    clear: both; }

/*============================
お問い合わせフォーム
============================*/
.section {
  padding: 75px 0 110px; }
  @media (max-width: 480px) {
    .section {
      padding: 10vw 5vw; } }
  .section .section_title {
    font-size: 30px;
    line-height: 1.5;
    text-align: center;
    font-weight: 700;
    margin-bottom: 60px; }
    @media (max-width: 480px) {
      .section .section_title {
        font-size: 5.5vw;
        letter-spacing: 0;
        margin-bottom: 5vw; } }
  .section .section_inner {
    margin: 0 auto;
    width: 100%; }
    .section .section_inner .thanks_msg {
      text-align: center;
      line-height: 2; }
      @media (max-width: 480px) {
        .section .section_inner .thanks_msg {
          text-align: left; } }
      .section .section_inner .thanks_msg p {
        margin-bottom: 20px; }
      .section .section_inner .thanks_msg .send_inner {
        max-width: 1230px;
        width: 100%;
        margin: 0 auto;
        padding: 0 100px; }
        @media (max-width: 480px) {
          .section .section_inner .thanks_msg .send_inner {
            padding: 0; } }
        .section .section_inner .thanks_msg .send_inner .send_step_msg {
          font-size: 1.6rem;
          text-align: center;
          margin-bottom: 25px; }
          @media (max-width: 480px) {
            .section .section_inner .thanks_msg .send_inner .send_step_msg {
              margin-bottom: 3vw; } }
        .section .section_inner .thanks_msg .send_inner .send_guide_msg {
          text-align: center; }
          @media (max-width: 480px) {
            .section .section_inner .thanks_msg .send_inner .send_guide_msg {
              white-space: pre-wrap; } }
        .section .section_inner .thanks_msg .send_inner .send_error {
          padding: 0 0 30px; }
          .section .section_inner .thanks_msg .send_inner .send_error li {
            padding: 5px 0; }
            .section .section_inner .thanks_msg .send_inner .send_error li::before {
              color: #c2c2c2;
              font-size: 85%;
              font-family: "ＭＳ Ｐゴシック", Osaka, "ヒラギノ角ゴ Pro W3";
              margin-right: 8px;
              content: "\0025cf"; }
            .section .section_inner .thanks_msg .send_inner .send_error li span {
              color: #ff3333;
              margin-right: 5px;
              display: inline-block; }
        .section .section_inner .thanks_msg .send_inner .send_btn_inner {
          display: flex;
          justify-content: center;
          padding: 30px 0 0; }
          .section .section_inner .thanks_msg .send_inner .send_btn_inner .send_btn {
            min-height: 62px;
            color: #fff;
            font-size: 1.7rem;
            letter-spacing: 1.5px;
            line-height: 1;
            padding: 15px 47px 16px;
            cursor: pointer;
            outline: none;
            font-family: "Noto Sans JP", sans-serif, "Arial", "メイリオ", "Meiryo", verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic";
            background: var(--base-color);
            border: 2px solid var(--base-color);
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 30px;
            transition: 0.5s; }
            @media (max-width: 480px) {
              .section .section_inner .thanks_msg .send_inner .send_btn_inner .send_btn {
                width: mw(600) !important;
                min-height: mh(106);
                margin: 0 auto;
                transition: unset; } }
            .section .section_inner .thanks_msg .send_inner .send_btn_inner .send_btn:not(:last-child) {
              margin-right: 50px; }
              @media (max-width: 480px) {
                .section .section_inner .thanks_msg .send_inner .send_btn_inner .send_btn:not(:last-child) {
                  margin: 0 auto 5vw; } }
          .section .section_inner .thanks_msg .send_inner .send_btn_inner .btn_return {
            background: #797979;
            border-color: #797979;
            width: 300px; }
            @media (max-width: 480px) {
              .section .section_inner .thanks_msg .send_inner .send_btn_inner .btn_return {
                max-width: 300px;
                width: 100%;
                min-height: 55px;
                font-size: 4.5vw; } }
            .section .section_inner .thanks_msg .send_inner .send_btn_inner .btn_return + .btn_run {
              width: 200px; }
              @media (max-width: 480px) {
                .section .section_inner .thanks_msg .send_inner .send_btn_inner .btn_return + .btn_run {
                  max-width: 300px;
                  width: 100%;
                  min-height: 55px;
                  font-size: 4.5vw; } }
          @media (max-width: 480px) {
            .section .section_inner .thanks_msg .send_inner .send_btn_inner {
              display: block; } }
        .section .section_inner .thanks_msg .send_inner .send_confirm_table:not(:last-child) {
          margin-bottom: 60px; }
          @media (max-width: 480px) {
            .section .section_inner .thanks_msg .send_inner .send_confirm_table:not(:last-child) {
              margin-bottom: 5vw; } }
        .section .section_inner .thanks_msg .send_inner .send_confirm_table table {
          width: 100%;
          border-top: 1px solid #8a8a8a; }
          @media (max-width: 480px) {
            .section .section_inner .thanks_msg .send_inner .send_confirm_table table {
              border: none; } }
          .section .section_inner .thanks_msg .send_inner .send_confirm_table table td, .section .section_inner .thanks_msg .send_inner .send_confirm_table table th {
            position: relative;
            font-weight: normal;
            border-bottom: 1px solid #8a8a8a;
            padding: 40px;
            text-align: left; }
            @media (max-width: 480px) {
              #contents .section .section_inner .thanks_msg .send_inner .send_confirm_table table td,
              #contents .section .section_inner .thanks_msg .send_inner .send_confirm_table table th {
                border: none;
                padding: 13px 12px;
                display: block;
                width: 100%; } }
          @media (max-width: 480px) {
            .section .section_inner .thanks_msg .send_inner .send_confirm_table table tbody tr {
              display: block; }
              .section .section_inner .thanks_msg .send_inner .send_confirm_table table tbody tr:not(:last-child) {
                margin-bottom: 20px; } }
          .section .section_inner .thanks_msg .send_inner .send_confirm_table table tbody th {
            width: 27%;
            letter-spacing: 0;
            z-index: 1;
            color: var(--base-color);
            font-weight: bold; }
            @media (max-width: 480px) {
              #contents .section .section_inner .thanks_msg .send_inner .send_confirm_table table tbody th {
                border-bottom: 1px solid #8a8a8a; } }
          .section .section_inner .thanks_msg .send_inner .send_confirm_table table tbody td::after {
            width: 0;
            left: 0;
            top: 20px;
            bottom: 20px;
            border-left: 1px solid #8a8a8a;
            content: " ";
            position: absolute; }
            @media (max-width: 480px) {
              .section .section_inner .thanks_msg .send_inner .send_confirm_table table tbody td::after {
                content: none; } }
