/*------------------------------------------------------------------------------ 
  Base
------------------------------------------------------------------------------*/
html {
  font-size: 62.5%;
  line-height: 1.6; }

*,
*:after,
*:before {
  box-sizing: border-box; }

body {
  background: #f5f5f5;
  color: #241616;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(15px, 2vw, 18px);
  letter-spacing: .05em;
  margin: 0; }

a {
  color: #241616;
  text-decoration: none;
  transition: .3s; }
  a:hover {
    opacity: .8; }

h1 {
  font-size: clamp(25px, 3vw, 30px); }

h2 {
  font-size: clamp(22px, 3vw, 27px); }

h3 {
  font-size: clamp(20px, 3vw, 22px); }

h4 {
  font-size: clamp(19px, 2vw, 21px); }

h5 {
  font-size: clamp(17px, 2vw, 19px); }

h6 {
  font-size: clamp(15px, 2vw, 18px); }

h1,
h2,
h3,
h4,
h5,
h6,
strong {
  font-weight: 500; }

ul,
ol {
  margin: clamp(25px, 3vw, 35px) 0;
  padding-left: clamp(20px, 3vw, 40px); }

.in-bl {
  display: inline-block; }

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

.container {
  background: #fff;
  padding: 0 20px; }
  @media screen and (min-width: 768px) {
    .container {
      margin: 0 auto;
      padding: 0;
      width: 90%; } }

@media screen and (min-width: 1025px) {
  .sp {
    display: none; } }

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

.grecaptcha-badge {
  visibility: hidden; }

/*------------------------------------------------------------------------------ 
  Common
------------------------------------------------------------------------------*/
/* Flex
-----------------------------------------------------------*/
.flex {
  align-items: center;
  display: flex;
  flex-wrap: wrap; }

.between {
  justify-content: space-between; }

/* Pc Flex
-----------------------------------------------------------*/
@media screen and (min-width: 1025px) {
  .pc-flex {
    align-items: center;
    display: flex;
    flex-wrap: wrap; } }

@media screen and (min-width: 1025px) {
  .pc-between {
    justify-content: space-between; } }

@media screen and (min-width: 1025px) {
  .pc-around {
    justify-content: space-around; } }

/* Background
-----------------------------------------------------------*/
.bg {
  background: #fff;
  margin: clamp(30px, 4vw, 50px) auto;
  padding: clamp(40px, 6vw, 60px) clamp(30px, 5vw, 70px); }

/* Button
-----------------------------------------------------------*/
.btn {
  font-size: clamp(18px, 2vw, 20px);
  margin: clamp(20px, 3vw, 40px) auto;
  max-width: 400px; }
  .btn a {
    background: #fff;
    border: 2px solid #a0a0a0 !important;
    display: block;
    font-weight: 500;
    padding: 20px !important;
    text-align: center; }
    .btn a:hover {
      background: #a0a0a0 !important;
      color: #fff !important;
      opacity: 1; }

/* Line QR
-----------------------------------------------------------*/
.line-qr {
  text-align: center; }
  .line-qr img {
    width: clamp(150px, 20vw, 200px); }

/* Table
-----------------------------------------------------------*/
.wp-block-table {
  margin: clamp(45px, 5vw, 60px) 0; }
  .wp-block-table table {
    border-collapse: collapse; }
    .wp-block-table table td {
      padding: 15px; }
      @media screen and (max-width: 767px) {
        .wp-block-table table td {
          display: block; } }
      @media screen and (min-width: 768px) {
        .wp-block-table table td {
          padding: 20px; } }

@media screen and (max-width: 767px) {
  .is-style-regular table {
    border-bottom: 1px solid #737373; } }
.is-style-regular table td {
  border: 1px solid #737373; }
  @media screen and (max-width: 767px) {
    .is-style-regular table td {
      border-bottom: none; } }

@media screen and (max-width: 1024px) {
  .is-style-stripes tr td:nth-of-type(odd) {
    border-bottom: 1px solid #a0a0a0; } }

.fee-table table thead {
  background: #ebebeb;
  border: none; }
  .fee-table table thead th {
    font-weight: 500; }
@media screen and (max-width: 767px) {
  .fee-table table td {
    display: table-cell; } }
.fee-table table td:first-of-type {
  font-weight: 500; }

/* Contact Form
-----------------------------------------------------------*/
.wpcf7 {
  margin: 70px auto 0; }
  .wpcf7 label {
    display: block;
    margin: 0 auto clamp(25px, 3vw, 30px); }
    @media screen and (min-width: 768px) {
      .wpcf7 label {
        max-width: 650px;
        width: 80%; } }
  .wpcf7 .wpcf7-form-control-wrap {
    display: block;
    text-align: center; }
    .wpcf7 .wpcf7-form-control-wrap input.wpcf7-form-control.wpcf7-text,
    .wpcf7 .wpcf7-form-control-wrap textarea.wpcf7-form-control.wpcf7-textarea {
      border: 1px solid #241616;
      margin-top: clamp(5px, 2vw, 10px);
      padding: 10px;
      width: 100%; }
    .wpcf7 .wpcf7-form-control-wrap .wpcf7-acceptance label {
      max-width: 100%;
      width: 100%; }
  .wpcf7 textarea {
    height: 120px; }
    @media screen and (min-width: 768px) {
      .wpcf7 textarea {
        height: 250px; } }
  .wpcf7 input[type="checkbox"] {
    height: 20px;
    vertical-align: -3px;
    width: 25px; }
  .wpcf7 input.wpcf7-submit {
    background: #fff;
    border: 3px solid #a0a0a0;
    color: #241616;
    cursor: pointer;
    font-size: clamp(18px, 2vw, 20px);
    font-weight: bold;
    letter-spacing: 10px;
    padding: 20px 0;
    transition: .3s;
    width: 100%; }
    @media screen and (min-width: 768px) {
      .wpcf7 input.wpcf7-submit {
        display: block;
        margin: auto;
        max-width: 600px;
        width: 70%; } }
    .wpcf7 input.wpcf7-submit:hover {
      background: #a0a0a0;
      color: #fff; }
  .wpcf7 .recaptcha {
    font-size: 15px; }
    @media screen and (min-width: 1025px) {
      .wpcf7 .recaptcha {
        text-align: center; } }
    .wpcf7 .recaptcha a {
      font-weight: 500; }
  .wpcf7 .wpcf7-response-output {
    font-size: clamp(15px, 2vw, 18px); }

/*------------------------------------------------------------------------------- 
  Header
------------------------------------------------------------------------------*/
header {
  background: #a0a0a0; }
  header .header-img {
    margin: 0; }
    @media screen and (max-width: 1024px) {
      header .header-img {
        padding: 35px 0; } }
  header #head-nav {
    background: #fff; }
    header #head-nav input[type="checkbox"] {
      display: none; }
    header #head-nav input[type="checkbox"]:checked ~ .line:after {
      opacity: 1;
      visibility: visible; }
    header #head-nav input[type="checkbox"]:checked ~ .line span {
      background: #737373;
      left: 50%;
      width: 30px; }
      header #head-nav input[type="checkbox"]:checked ~ .line span:first-of-type {
        top: 57%;
        transform: translate(-50%, -50%) rotate(-45deg); }
      header #head-nav input[type="checkbox"]:checked ~ .line span:nth-of-type(2) {
        opacity: 0;
        transform: translateX(30px); }
      header #head-nav input[type="checkbox"]:checked ~ .line span:last-of-type {
        top: 57%;
        transform: translate(-50%, -50%) rotate(45deg); }
    header #head-nav input[type="checkbox"]:checked ~ #nav {
      opacity: 1;
      visibility: visible; }
    header #head-nav .line {
      height: 65px;
      position: fixed;
      right: 0;
      top: 0;
      width: 75px;
      z-index: 100; }
      @media screen and (min-width: 1025px) {
        header #head-nav .line {
          display: none; } }
      header #head-nav .line span {
        background: #fff;
        display: block;
        height: 2px;
        left: 25%;
        position: absolute;
        transition: .2s;
        width: 35px; }
        header #head-nav .line span:first-of-type {
          top: 34%; }
        header #head-nav .line span:nth-of-type(2) {
          top: 50%; }
        header #head-nav .line span:last-of-type {
          bottom: 31%; }
      header #head-nav .line:after {
        content: '';
        height: 65px;
        opacity: 0;
        position: absolute;
        right: 5px;
        top: 5px;
        transition: .3s;
        visibility: hidden;
        width: 65px; }
    header #head-nav #nav {
      font-size: 18px;
      list-style: none;
      margin: 0;
      padding: 0; }
      @media screen and (max-width: 1024px) {
        header #head-nav #nav {
          background: #fff;
          left: 0;
          height: 100vh;
          opacity: 0;
          overflow-x: hidden;
          overflow-y: scroll;
          padding: 70px 20px 10px;
          position: fixed;
          top: 0;
          transition: .3s;
          visibility: hidden;
          width: 100%;
          z-index: 99; } }
      @media screen and (min-width: 1025px) {
        header #head-nav #nav {
          margin: auto;
          max-width: 1500px; } }
      header #head-nav #nav li {
        padding: 25px 15px; }

/*------------------------------------------------------------------------------- 
  Page Common
------------------------------------------------------------------------------*/
#front-page .wp-block-group,
#sub .wp-block-group {
  margin: clamp(30px, 4vw, 50px) auto; }
#front-page ul li:not(:last-of-type),
#front-page ol li:not(:last-of-type),
#sub ul li:not(:last-of-type),
#sub ol li:not(:last-of-type) {
  margin-bottom: 15px; }
#front-page .caution,
#sub .caution {
  font-size: clamp(20px, 3vw, 22px);
  border: 2px solid #e70012;
  display: inline-block;
  padding: 5px 25px;
  margin-bottom: 0; }

/*------------------------------------------------------------------------------- 
  Front Page
------------------------------------------------------------------------------*/
#front-page {
  background: #f5f5f5;
  padding: clamp(40px, 6vw, 65px) 0; }
  #front-page h2 {
    color: #737373;
    text-align: center; }
  #front-page .wp-block-group {
    background: #fff;
    padding: clamp(40px, 6vw, 60px) clamp(30px, 5vw, 70px); }
    #front-page .wp-block-group .inner {
      padding: 0; }
      #front-page .wp-block-group .inner:last-of-type {
        margin-bottom: 0; }
  #front-page #tel {
    max-width: 700px;
    text-align: center; }
    @media screen and (min-width: 768px) {
      #front-page #tel {
        width: 70%; } }
  #front-page #problem .btn,
  #front-page #menu .btn {
    margin-top: clamp(45px, 6vw, 75px); }
  #front-page #problem h2 {
    text-align: left; }
  #front-page #menu .btn {
    max-width: 300px; }
  #front-page #about table td:first-of-type {
    background: #f5f5f5;
    font-weight: 500; }
    @media screen and (min-width: 768px) {
      #front-page #about table td:first-of-type {
        text-align: center;
        width: 30%; } }
  #front-page #about .inner {
    margin-top: clamp(60px, 7vw, 75px); }
    #front-page #about .inner h3 {
      border-bottom: 2px solid #a0a0a0; }
    #front-page #about .inner h4 {
      background: #ebebeb;
      display: inline-block;
      margin-top: clamp(40px, 5vw, 50px);
      padding: 10px 20px; }
    #front-page #about .inner .wp-block-table {
      margin-top: 0; }
      #front-page #about .inner .wp-block-table table td strong {
        display: inline-block;
        margin-bottom: 8px; }
  #front-page #contact h2 {
    margin-bottom: clamp(45px, 5vw, 60px); }

/*------------------------------------------------------------------------------ 
  Sub Page
------------------------------------------------------------------------------*/
#sub h1 {
  margin: clamp(50px, 6vw, 65px) 0;
  text-align: center; }
#sub .is-layout-flex {
  row-gap: 40px; }
  #sub .is-layout-flex .fee-table {
    width: 100%; }
    @media screen and (min-width: 768px) {
      #sub .is-layout-flex .fee-table {
        width: 48%; } }
    #sub .is-layout-flex .fee-table td {
      width: 50%; }

/*------------------------------------------------------------------------------ 
  Footer
------------------------------------------------------------------------------*/
footer {
  background: #fff; }
  footer #foot-in {
    padding: 55px 20px; }
    @media screen and (max-width: 1024px) {
      footer #foot-in .foot-info {
        margin-bottom: 40px; } }
    footer #foot-in .foot-info .foot-logo {
      margin-bottom: 40px; }
      @media screen and (max-width: 1024px) {
        footer #foot-in .foot-info .foot-logo {
          text-align: center; } }
      footer #foot-in .foot-info .foot-logo img {
        width: clamp(300px, 30vw, 400px); }
    @media (min-width: 600px) and (max-width: 1024px) {
      footer #foot-in .foot-info .address {
        margin: auto;
        max-width: 500px;
        width: 65%; } }
    footer #foot-in .foot-info .address .time {
      line-height: 1.8; }
    footer #foot-in .foot-contact .tel {
      font-size: clamp(30px, 4vw, 38px);
      font-weight: 500;
      margin-bottom: 30px;
      text-align: center; }
      footer #foot-in .foot-contact .tel a {
        color: #737373; }
        footer #foot-in .foot-contact .tel a .en {
          font-size: clamp(18px, 2vw, 25px); }
  footer #copyright {
    font-size: clamp(14px, 2vw, 16px);
    padding: 5px 7px;
    text-align: center; }
  footer #goTop .up {
    background: #fff;
    border: 2px solid #a0a0a0;
    border-radius: 50%;
    bottom: 45px;
    height: 50px;
    padding: 12px;
    position: fixed;
    right: 10px;
    transition: .3s;
    width: 50px;
    z-index: 80; }
    footer #goTop .up:hover {
      cursor: pointer;
      opacity: .8; }
    @media screen and (min-width: 768px) {
      footer #goTop .up {
        height: 55px;
        padding: 15px;
        right: 30px;
        width: 55px; } }
    footer #goTop .up img {
      vertical-align: baseline; }
  footer #goTop .v-enter-active,
  footer #goTop .v-leave-active {
    transition: opacity .3s; }
  footer #goTop .v-enter-from,
  footer #goTop .v-leave-to {
    opacity: 0; }

/*# sourceMappingURL=style.css.map */
