/*
Theme Name: SC
Theme URI: https://example.com
Author: SC
Author URI: https://example.com
Description: SC
Version: 1.0
*/


* {
    box-sizing: border-box;
  }
  
  html {
    font-size: 62.5%;
  }
  
  body {
  /*   font-family: "Noto Serif JP", Sans-serif, "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; */
      font-family: 'Kosugi Maru', sans-serif;
    font-size: 1.4em;
    color: #000;
    letter-spacing: .1em;
    line-height: 2em;
  }
  
  body.fixed {
    position: fixed;
  }
  
  a {
    text-decoration: none;
  }
  
  a:focus, *:focus {
    outline: none;
  }
  
  a[href^="tel:"] {
    pointer-events: none;
    cursor: text;
  }
  
  a img {
    transition-duration: .7s;
  }
  
  a:hover img {
    opacity: .5;
  }
  
  img {
    vertical-align: bottom;
  }
  
  @media screen and (max-width: 767px) {
    a[href^="tel:"] {
      pointer-events: auto;
      cursor: pointer;
    }
  }
  
  /* =====================================
    ELEMENTOR
  ===================================== */
  .elementor-container.elementor-column-gap-default > .elementor-column > .elementor-element-populated {
    padding: 0 30px;
  }
  
  @media (max-width: 480px) {
    .elementor-container.elementor-column-gap-default > .elementor-column > .elementor-element-populated {
      padding: 0 20px;
    }
  }
  
  /* =====================================
    ブレイクポイント切替
  ===================================== */
  .tb, .sp, .mb {
    display: none;
  }
  
  @media (max-width: 1024px) {
    .tb {
      display: initial;
    }
    .pc-tb {
      display: none;
    }
  }
  
  @media (max-width: 767px) {
    .sp {
      display: initial;
    }
    .pc {
      display: none;
    }
  }
  
  @media (max-width: 480px) {
    .mb {
      display: initial;
    }
    .pc-mb {
      display: none;
    }
  }
  
  /* =====================================
      MODULE
  ===================================== */
  /* float */
  .fr {
    float: right !important;
  }
  
  .fl {
    float: left !important;
  }
  
  /* clears */
  .clearfix {
    *zoom: 1;
  }
  
  .clearfix:after {
    content: "";
    display: table;
    clear: both;
  }
  
  .cl {
    clear: both !important;
  }
  
  /* text indent */
  .textHide {
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
  }
  
  /* text-align */
  .tac {
    text-align: center !important;
  }
  
  .tar {
    text-align: right !important;
  }
  
  .tal {
    text-align: left !important;
  }
  
  /* font-weight */
  .fb {
    font-weight: bold !important;
  }
  
  /*--------------------------------------
    Heading
  --------------------------------------*/
  .h2_style {
      
  }
  @media screen and (max-width: 767px){
      .h2_style {
          margin: 0!important;
          margin-top: 5rem!important;
  }
  }
  body.page:not(.home), body.single .post {
    /* h2 */
    /* h3 */
    /* h4 */
    /* h5 */
  }
  
  body.page:not(.home) .under_h2_v1 > .elementor-widget-container, body.single .post .under_h2_v1 > .elementor-widget-container {
    position: relative;
  /*   margin-bottom: 50px; */
  /*   padding: 0 8.88vw; */
    display: inline-block;
  }
  
  body.page:not(.home) .under_h2_v1 > .elementor-widget-container:before, body.page:not(.home) .under_h2_v1 > .elementor-widget-container:after, body.single .post .under_h2_v1 > .elementor-widget-container:before, body.single .post .under_h2_v1 > .elementor-widget-container:after {
  /*   content: "";
    position: absolute;
    top: 50%;
    display: inline-block;
    background: #6a5d45; */
  }
  
  body.page:not(.home) .under_h2_v1 > .elementor-widget-container:before, body.single .post .under_h2_v1 > .elementor-widget-container:before {
  /*   margin-top: -2.5px;
    left: 0;
    width: 5px;
    height: 5px;
    border-radius: 50%; */
  }
  
  body.page:not(.home) .under_h2_v1 > .elementor-widget-container:after, body.single .post .under_h2_v1 > .elementor-widget-container:after {
    margin-top: -.5px;
    left: 0;
    width: 7.82vw;
    height: 1px;
  }
  
  @media (min-width: 1280px) {
    body.page:not(.home) .under_h2_v1 > .elementor-widget-container:after, body.single .post .under_h2_v1 > .elementor-widget-container:after {
      width: 100px;
    }
  }
  
  @media (max-width: 1440px) {
    body.page:not(.home) .under_h2_v1 > .elementor-widget-container, body.single .post .under_h2_v1 > .elementor-widget-container {
  /*     padding: 0 128px; */
    }
  }
  
  @media (max-width: 767px) {
    body.page:not(.home) .under_h2_v1 > .elementor-widget-container, body.single .post .under_h2_v1 > .elementor-widget-container {
      margin-bottom: 30px;
      padding: 0 20px;
    }
    body.page:not(.home) .under_h2_v1 > .elementor-widget-container:after, body.single .post .under_h2_v1 > .elementor-widget-container:after {
      width: 12%;
    }
  }
  
  body.page:not(.home) .under_h2_v1 h2:before, body.page:not(.home) .under_h2_v1 h2:after, body.single .post .under_h2_v1 h2:before, body.single .post .under_h2_v1 h2:after {
  /*   content: "";
    position: absolute;
    top: 50%;
    display: inline-block;
    background: #6a5d45; */
  }
  
  body.page:not(.home) .under_h2_v1 h2:before, body.single .post .under_h2_v1 h2:before {
    margin-top: -2.5px;
    right: 0;
    width: 5px;
    height: 5px;
    border-radius: 50%;
  }
  
  body.page:not(.home) .under_h2_v1 h2:after, body.single .post .under_h2_v1 h2:after {
  /*   margin-top: -.5px;
    right: 0;
    width: 7.82vw;
    height: 1px; */
  }
  
  @media (min-width: 1280px) {
    body.page:not(.home) .under_h2_v1 h2:after, body.single .post .under_h2_v1 h2:after {
      width: 100px;
    }
  }
  
  @media (max-width: 767px) {
    body.page:not(.home) .under_h2_v1 h2:after, body.single .post .under_h2_v1 h2:after {
      width: 12%;
    }
  }
  
  body.page:not(.home) h2, body.single .post h2 {
    font-size: 2.6rem;
    line-height: 1.45;
    letter-spacing: .2em;
  }
  body.page:not(.home) h2 span, body.single .post h2 span{
    background: linear-gradient(transparent 52%, #f9cb68 0%);
  }
  @media (max-width: 767px) {
    body.page:not(.home) h2, body.single .post h2 {
      font-size: 4.8vw;
        background: none;
    }
      body.page:not(.home) h2 span, body.single .post h2 span{
      font-size: 2.6rem;
  }
  }
  
  @media (max-width: 480px) {
    body.page:not(.home) h2, body.single .post h2 {
      font-size: 2.0rem;
    }
  }
  
  body.page:not(.home) .main h3, body.single .post .main h3 {
      position: relative;
      margin-bottom: 30px;
      padding-bottom: 10px;
      font-size: 1.8rem;
      font-weight: bold;
      line-height: 1.94;
      letter-spacing: 1px;
      font-size: 23px;
      font-weight: bold;
      margin-bottom: 30px;
      color: #19347c;
      border-bottom: dotted 6px #f9cb68;
      max-width: 600px;
  }
  
  @media (max-width: 767px) {
    body.page:not(.home) .main h3, body.single .post .main h3 {
      font-size: 4vw;
      margin: 0 auto 30px;
      text-align: center;
  /* 	 margin: 0 10px 20px!important; */
    }
  }
  
  @media (max-width: 480px) {
    body.page:not(.home) .main h3, body.single .post .main h3 {
      font-size: 2.2rem;
    }
  }
  
  body.page:not(.home) .main h3:before, body.single .post .main h3:before {
  /*   content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 80px;
    height: 4px;
    background: #cabc9a; */
  }
  
  body.page:not(.home) .main h3:after, body.single .post .main h3:after {
  /*   content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: calc(100% - 80px);
    height: 4px;
    background: #6e6451; */
  }
  
  body.page:not(.home) .main .h3v1 h3, body.single .post .main .h3v1 h3 {
    margin-bottom: 15px;
    padding: 0;
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: .2em;
    color: #987b38;
  }
  
  @media (max-width: 767px) {
    body.page:not(.home) .main .h3v1 h3, body.single .post .main .h3v1 h3 {
      font-size: 3.8vw;
    }
  }
  
  @media (max-width: 480px) {
    body.page:not(.home) .main .h3v1 h3, body.single .post .main .h3v1 h3 {
      font-size: 2.1rem;
    }
  }
  
  body.page:not(.home) h4, body.single .post h4 {
    margin-bottom: 22px;
    line-height: 1.625;
    letter-spacing: .16em;
    font-weight: bold;
    color: #384d9f;
      font-size: 2rem;
  }
  
  @media (max-width: 767px) {
    body.page:not(.home) h4, body.single .post h4 {
      font-size: 3.46vw;
    }
  }
  
  @media (max-width: 480px) {
    body.page:not(.home) h4, body.single .post h4 {
      font-size: 1.9rem;
    }
  }
  
  body.page:not(.home) .img_alt h4, body.single .post .img_alt h4 {
    position: absolute;
    top: 10px;
    right: 10px;
    padding-left: 0;
  }
  
  body.page:not(.home) .img_alt h4:before, body.single .post .img_alt h4:before {
    display: none;
  }
  
  @media (max-width: 1024px) {
    body.page:not(.home) .img_alt h4, body.single .post .img_alt h4 {
      font-size: 1.4rem;
    }
  }
  
  @media (max-width: 767px) {
    body.page:not(.home) .img_alt h4, body.single .post .img_alt h4 {
      font-size: 4vw;
      top: 2.4vw;
      right: 9vw;
    }
  }
  
  body.page:not(.home) h5, body.single .post h5 {
    display: inline;
    margin-bottom: .2em;
    font-weight: 600;
    letter-spacing: .18em;
    background: linear-gradient(transparent 70%, #e0eaf4 0%);
  }
  /*--------------------------------------
    Template
  --------------------------------------*/
  .h3_container{
  
  }
  .h3_style h3{
      font-size: 23px;
      font-weight: bold;
      margin-bottom: 30px;
      color: #19347c;
  }
  .h3_style h3 span{
  /* 	border-bottom: dotted 6px #f9cb68; */
      letter-spacing: 1px;
  }
  .h4_style h4{
      margin-bottom: 22px;
      line-height: 1.625;
      letter-spacing: .16em;
      font-weight: bold;
      color: #19347c;
  }
  @media screen and (max-width: 767px){
      .h3_container{
      padding: 0 10px;
  }
      .h3_style h3{
          margin: 35px 0 30px;
          font-size: 20px;
          padding: 26px 5px 12px 15px;
          line-height: 1.4;
          margin: 35px 0 30px;
          border-bottom: dotted 6px #f9cb68;
  }
      .h3_style h3 span{
      border-bottom: none;
  }
  }
  .txt_style p{
      margin: 20px 0;
  }
  .txt_style p{
      margin: 0!important;
  }
  .con_10{
      padding: 0 10px;
  }
  .bk_or {
      background: #f9cb68;
      padding: 120px 20px;
  }
  .bk_or .elementor-row {
      max-width: 1080px;
  }
  /*--------------------------------------
    Buttons
  --------------------------------------*/
  /* general */
  .elementor-size-sm {
    min-width: 296px;
  }
  
  [data-widget_type="button.default"] .elementor-button {
    position: relative;
    border-color: transparent;
    min-width: 350px;
    text-align: center;
    letter-spacing: .15em;
  }
  
  @media (max-width: 1024px) {
    [data-widget_type="button.default"] .elementor-button {
      min-width: 330px;
    }
    [data-widget_type="button.default"] .elementor-button .elementor-button-text {
      font-size: 1.8rem;
    }
  }
  
  @media (max-width: 767px) {
    [data-widget_type="button.default"] .elementor-button {
      max-width: 550px;
      min-width: 240px;
    }
    [data-widget_type="button.default"] .elementor-button.elementor-button-link {
      width: 100%;
    }
    [data-widget_type="button.default"] .elementor-button .elementor-button-text {
      font-size: 3.46vw;
    }
  }
  
  @media (max-width: 480px) {
    [data-widget_type="button.default"] .elementor-button.elementor-size-sm {
      padding: 20px 60px 20px 20px;
    }
    [data-widget_type="button.default"] .elementor-button .elementor-button-text {
      font-size: 1.8rem;
    }
  }
  
  [data-widget_type="button.default"] .elementor-button:before {
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -.5px;
    right: 30px;
    width: 28px;
    height: 1px;
    background: #fff;
  }
  
  [data-widget_type="button.default"] .elementor-button:after {
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -3.5px;
    right: 30px;
    border-top: 3.5px solid transparent;
    border-bottom: 3.5px solid transparent;
    border-left: 10px solid #fff;
  }
  
  [data-widget_type="button.default"] .elementor-button .elementor-button-content-wrapper {
    justify-content: center;
  }
  
  [data-widget_type="button.default"] .elementor-button:hover:before {
    background: #908363;
  }
  
  [data-widget_type="button.default"] .elementor-button:hover:after {
    border-left: 10px solid #908363;
  }
  
  /* 2列並びボタン */
  .btn2col {
    margin: 0 auto;
    max-width: 760px;
  }
  
  @media (max-width: 767px) {
    .btn2col {
      text-align: center;
    }
    .btn2col .elementor-col-50:first-child {
      margin-bottom: 5.33vw;
    }
  }
  
  .btns [data-widget_type="button.default"] .elementor-button {
    min-width: 100%;
    padding: 22px 40px 22px 10px;
  }
  
  .btns [data-widget_type="button.default"] .elementor-button:before, .btns [data-widget_type="button.default"] .elementor-button:after {
    right: 14px;
  }
  
  /*--------------------------------------
    Tables
  --------------------------------------*/
  /* info table*/
  .infoTable dl {
    margin: 0 auto;
    display: flex;
    width: 100%;
    max-width: 700px;
    margin-bottom: 1em;
    font-size: 1.6rem;
  }
  
  .infoTable dl dt {
    padding-bottom: 10px;
    border-bottom: 2px solid #384d9f;
    min-width: 6em;
    font-weight: bold;
    color: #384d9f;
    text-align: center;
  }
  
  .infoTable dl dd {
    padding-left: 20px;
    width: calc(100% - 6em);
    border-bottom: 2px solid #384d9f;
  }
  
  .infoTable dl + p {
    font-size: 1.6rem;
    line-height: 1.9;
  }
  
  .infoTable.v2 dl {
    width: 100%;
    max-width: 500px;
  }
  
  .infoTable.v2 dl dt, .infoTable.v2 dl dd {
    padding-left: 1em;
  }
  
  @media (max-width: 767px) {
    .infoTable.v2 dl dt, .infoTable.v2 dl dd {
      padding-left: .5em;
    }
  }
  
  .infoTable.v2 dl dt {
    min-width: 11em;
    border-bottom: 1px solid #908363;
  }
  
  @media (max-width: 480px) {
    .infoTable.v2 dl dt {
      min-width: 7em;
    }
  }
  
  .infoTable.v2 dl dd {
    width: 100%;
    border-bottom: 1px solid #ddd;
  }
  
  .infoSub {
    font-size: 1.4rem;
      padding-top: 1rem;
  }
  
  @media (max-width: 767px) {
    .infoSub {
      font-size: 2.66vw;
      line-height: 2;
       border-bottom: 5px dotted #cddc39;
      padding-bottom: 15px;
      margin-bottom: 20px;
    }
  }
  
  /* info table2*/
  .infoTable2 dl {
    border-top: 1px dashed #ddd;
    display: flex;
    border-bottom: 1px dashed #ddd;
    padding: .5em 0;
  }
  
  .infoTable2 dl + dl {
    border-top: none;
  }
  
  .infoTable2 dt {
    font-weight: 600;
    min-width: 10em;
  }
  
  @media (max-width: 1024px) {
    .infoTable2 {
      font-size: 1.4rem;
    }
  }
  
  @media (max-width: 767px) {
    .infoTable2 dl {
      display: block;
    }
    .infoTable2 br.tb {
      display: none;
    }
  }
  
  @media (max-width: 360px) {
    .infoTable2 br.tb {
      display: block;
    }
  }
  
  /* timetable */
  .timetable {
    width: 100%;
    font-size: 1.6rem;
    letter-spacing: .14em;
  }
  
  @media (max-width: 1024px) {
    .timetable {
      font-size: 1.4rem;
    }
  }
  
  @media (max-width: 767px) {
    .timetable {
      font-size: 2.93vw;
    }
  }
  
  .timetable th, .timetable td {
    padding: 10px 8px;
    text-align: center;
  }
  
  @media (max-width: 1024px) {
    .timetable th, .timetable td {
      padding: 15px 8px;
    }
  }
  
  .timetable thead th {
    background: #19347c;
    font-weight: bold;
    color: #fff;
  }
  
  .timetable thead th:last-child {
  /*   min-width: 6em; */
  }
  
  .timetable tbody th, .timetable tbody td {
    background: #fff;
  /*   border-right: 1px solid #271e0e;
    border-bottom: 1px solid #271e0e; */
  }
  
  .timetable tbody th {
  /*   border-left: 1px solid #271e0e; */
    min-width: 10em;
    letter-spacing: .15em;
    color: #352e1d;
  }
  
  .timetable tbody td {
    color: #f9cb68;
  }
  
  .timetable.white thead th {
    border-left: none;
    background: #fff;
    color: #3a301d;
  }
  
  .timetable.white tbody th, .timetable.white tbody td {
    background: transparent;
    border: none;
  /*   border-bottom: 1px solid #fff; */
    color: #fff;
  }
  
  /* table01 */
  .table01 table {
    width: 100%;
    border-top: 1px solid #352e1d;
  }
  
  .table01 table th, .table01 table td {
    padding: .8em .6em;
    border-right: 1px solid #352e1d;
    border-bottom: 1px solid #352e1d;
    line-height: 1.2;
    text-align: center;
  }
  
  @media (max-width: 480px) {
    .table01 table th, .table01 table td {
      padding: .4em .2em;
    }
  }
  
  .table01 table th:last-child, .table01 table td:last-child {
    border-right: none;
  }
  
  .table01 table b {
    color: #335435;
  }
  
  /* case table */
  .table_case .elementor-col-33 {
    align-items: center;
    padding: 20px 38px;
    font-size: 1.4rem;
    line-height: 1.85;
  }
  
  @media (max-width: 767px) {
    .table_case .elementor-col-33 {
      padding: 3.6vw 5.3vw;
      font-size: 2.93vw;
    }
  }
  
  @media (max-width: 767px) {
    .table_case .elementor-col-33 {
      padding: 3.6vw 3vw;
    }
  }
  
  @media (max-width: 480px) {
    .table_case .elementor-col-33:first-child {
      width: 25%;
    }
  }
  
  @media (max-width: 767px) {
    .table_case .elementor-inner-section > .elementor-container {
      flex-wrap: initial;
    }
  }
  
  .table_case .elementor-inner-section:first-child .elementor-col-33 {
    padding: 0;
    background: #3a301d;
  }
  
  .table_case .elementor-inner-section:first-child .elementor-col-33:not(:last-child) {
    border-right: 1px solid #fff;
  }
  
  .table_case .elementor-inner-section:first-child .elementor-col-33 h3 {
    margin-bottom: 0;
    padding: 20px 10px;
    font-size: 1.6rem;
    letter-spacing: .15em;
    color: #fff;
  }
  
  @media (max-width: 767px) {
    .table_case .elementor-inner-section:first-child .elementor-col-33 h3 {
      font-size: 1.5rem;
    }
  }
  
  @media (max-width: 480px) {
    .table_case .elementor-inner-section:first-child .elementor-col-33 h3 {
      font-size: 1.2rem;
    }
  }
  
  .table_case .elementor-inner-section:first-child .elementor-col-33 h3:before, .table_case .elementor-inner-section:first-child .elementor-col-33 h3:after {
    display: none;
  }
  
  .table_case .elementor-inner-section:not(:first-child) h4 {
    margin-bottom: 0;
    font-size: 1.6rem;
    color: #3a301d;
  }
  
  @media (max-width: 767px) {
    .table_case .elementor-inner-section:not(:first-child) h4 {
      font-size: 1.5rem;
    }
  }
  
  @media (max-width: 480px) {
    .table_case .elementor-inner-section:not(:first-child) h4 {
      font-size: 1.2rem;
    }
  }
  
  .table_case .elementor-inner-section:nth-child(2n+1) {
    background: #f9cb68;
  }
  
  .table_case p,
  .table_case li{
    margin-bottom: 0 !important;
      font-size: 1.3rem;
      padding: 5px;
  }
  
  .table_case.v2 .elementor-inner-section > .elementor-container .elementor-col-33:first-child {
    padding: 20px 18px;
    width: 160px;
    text-align: center;
  }
  
  @media (max-width: 767px) {
    .table_case.v2 .elementor-inner-section > .elementor-container .elementor-col-33:first-child {
      padding: 20px 10px;
      width: 130px;
    }
  }
  
  @media (max-width: 480px) {
    .table_case.v2 .elementor-inner-section > .elementor-container .elementor-col-33:first-child {
      padding: 10px 6px;
      width: 66px;
    }
  }
  
  .table_case.v2 .elementor-inner-section > .elementor-container .elementor-col-33:nth-child(2) {
    width: calc(100% - 300px);
  }
  
  @media (max-width: 767px) {
    .table_case.v2 .elementor-inner-section > .elementor-container .elementor-col-33:nth-child(2) {
      width: calc(100% - 260px);
    }
  }
  
  @media (max-width: 480px) {
    .table_case.v2 .elementor-inner-section > .elementor-container .elementor-col-33:nth-child(2) {
      padding: 10px;
      width: calc(100% - 140px);
    }
  }
  
  .table_case.v2 .elementor-inner-section > .elementor-container .elementor-col-33:last-child {
    padding: 20px 18px;
    width: 140px;
    text-align: center;
  }
  
  @media (max-width: 767px) {
    .table_case.v2 .elementor-inner-section > .elementor-container .elementor-col-33:last-child {
      padding: 20px 10px;
      width: 130px;
    }
  }
  
  @media (max-width: 480px) {
    .table_case.v2 .elementor-inner-section > .elementor-container .elementor-col-33:last-child {
      padding: 10px 6px;
      width: 74px;
    }
  }
  
  /* case table2 */
  .table_case2 .elementor-col-50 {
    align-items: center;
    padding: 20px 38px;
    font-size: 1.6rem;
    line-height: 1.85;
  }
  
  @media (max-width: 767px) {
    .table_case2 .elementor-col-50 {
      padding: 3.6vw 5.3vw;
      font-size: 2.93vw;
    }
  }
  
  @media (max-width: 767px) {
    .table_case2 .elementor-col-50 {
      padding: 3.6vw 3vw;
    }
  }
  
  .table_case2 .elementor-col-50 h4 {
    color: #fff;
  }
  
  .table_case2 .elementor-col-50:first-child {
    width: 100px !important;
    padding: 20px;
    background: #3a301d;
    text-align: center;
  }
  
  @media (max-width: 480px) {
    .table_case2 .elementor-col-50:first-child {
      width: 70px !important;
      padding: 10px;
    }
  }
  
  .table_case2 .elementor-col-50:first-child h4 {
    margin-bottom: 0;
    color: #fff;
  }
  
  @media (max-width: 480px) {
    .table_case2 .elementor-col-50:first-child h4 {
      font-size: 1.6rem;
    }
  }
  
  @media (max-width: 480px) {
    .table_case2 .elementor-col-50:first-child {
      width: 30%;
    }
  }
  
  .table_case2 .elementor-col-50:last-child {
    width: calc(100% - 100px) !important;
  }
  
  @media (max-width: 767px) {
    .table_case2 .elementor-inner-section > .elementor-container {
      flex-wrap: initial;
    }
  }
  
  .table_case2 .elementor-inner-section:nth-child(odd) {
    background: #f6f5f0;
  }
  
  .table_case2 .elementor-inner-section:not(:last-child) .elementor-col-50:first-child {
    border-bottom: 1px solid #fff;
  }
  
  .table_case2 .elementor-widget-container p:last-child {
    margin-bottom: 0;
  }
  
  .table_col-3.table, .table_col-3 table {
    max-width: 1000px;
  }
  
  .table_col-3 th, .table_col-3 td {
    border-bottom: 1px solid #6e6451;
    border-right: 1px solid #6e6451;
  }
  
  .table_col-3 th:last-child, .table_col-3 td:last-child {
    border-right: none;
  }
  
  .table_col-3 thead th {
    padding: 17px 10px;
    background: #3a301d;
    font-size: 1.6rem;
    line-height: 1.75;
    letter-spacing: .15em;
    text-align: center;
    color: #fff;
  }
  
  .table_col-3 tbody tr:nth-child(even) {
    background: #f6f5f0;
  }
  
  .table_col-3 tbody th {
    padding: 20px 38px;
  }
  
  .table_col-3 tbody th h4 {
    margin-bottom: 0;
    font-size: 1.6rem;
    color: #3a301d;
  }
  
  @media (max-width: 767px) {
    .table_col-3 tbody th h4 {
      font-size: 1.5rem;
    }
  }
  
  @media (max-width: 480px) {
    .table_col-3 tbody th h4 {
      font-size: 1.2rem;
    }
  }
  
  .table_col-3 tbody th img {
    min-width: 160px;
  }
  
  .table_col-3 tbody td {
    padding: 20px 10px;
    font-size: 1.4rem;
    line-height: 1.85;
  }
  
  .table_col-3.v2 table {
    width: 100%;
    max-width: 600px;
  }
  
  .table_col-3.v2 table th, .table_col-3.v2 table td {
    padding: 8px 10px;
  }
  
  .table_col-3.v2 table tbody tr:first-child {
    background: #6e6451;
    color: #fff;
  }
  
  /*--------------------------------------
    スクロールヒント
  --------------------------------------*/
  .table-scroll-wrap {
    overflow: auto;
  }
  
  .table-scroll .scroll-hint-icon {
    height: 100px;
  }
  
  /*--------------------------------------
    Boxes
  --------------------------------------*/
  /* box01 */
  .box01 {
    border: 2px solid #ddd;
  }
  
  .box01.step:after {
    content: "";
    position: absolute;
    bottom: -30px;
    left: 50%;
    margin-left: -30px;
    border-top: 20px solid #002d5b;
    border-right: 30px solid transparent;
    border-left: 30px solid transparent;
  }
  
  /* box02 */
  .box02 > div {
    border: 2px solid #ddd;
  }
  
  /* post box */
  .post-box {
    background: rgba(211, 173, 120, 0.05);
    padding: 8%;
  }
  
  /* frame gold box */
  .frame_gold {
    position: relative;
  }
  
  .frame_gold:before, .frame_gold:after {
    content: "";
    position: absolute;
  }
  
  .frame_gold:before {
    top: -63px;
    left: 76px;
    width: 157px;
    height: 171px;
    background: url("/wp-content/uploads/frame_gold-left.png") no-repeat center center;
  }
  
  @media (max-width: 1024px) {
    .frame_gold:before {
      left: 30px;
    }
  }
  
  @media (max-width: 767px) {
    .frame_gold:before {
      left: 0;
      top: -13vw;
    }
  }
  
  .frame_gold:after {
    bottom: -61px;
    right: 76px;
    width: 165px;
    height: 175px;
    background: url("/wp-content/uploads/frame_gold-right.png") no-repeat center center;
  }
  
  @media (max-width: 1024px) {
    .frame_gold:after {
      right: 30px;
    }
  }
  
  @media (max-width: 767px) {
    .frame_gold:after {
      right: 0;
      bottom: -13vw;
    }
  }
  
  /*--------------------------------------
    Lists
  --------------------------------------*/
  /* checkbox list */
  .list01 li {
    position: relative !important;
    padding-left: 1.8em !important;
    margin-bottom: 1em;
    font-size: 1.6rem;
  }
  
  .list01 li:before {
    display: block;
    content: '';
    position: absolute;
    top: 5px;
    left: 0;
    width: 1.2em;
    height: 1.2em;
    background: #fff;
    border: 2px solid #bfbfbf;
  }
  
  .list01 li:after {
    display: block;
    content: '';
    position: absolute !important;
    top: 10px;
    left: 4px !important;
    width: 12px !important;
    height: 6px;
    border-left: 2px solid #3a301d;
    border-bottom: 2px solid #3a301d;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  
  /* list price */
  .list_price li {
    margin-bottom: 1em !important;
    letter-spacing: .2em;
  }
  
  .list_price li:before {
    content: "・";
  }
  
  /* simple list */
  .list02 li {
    align-items: flex-start !important;
  }
  
  .list02 li:before {
    content: "・";
    color: #3a301d;
  }
  
  .list02 li.elementor-icon-list-item .elementor-icon-list-text {
    font-size: 1.6rem;
  }
  
  /*--------------------------------------
    Image float right
  --------------------------------------*/
  .img_fr .elementor-image-box-wrapper {
    display: block !important;
  }
  
  .img_fr .elementor-image-box-wrapper img {
    vertical-align: bottom;
  }
  
  .img_fr .elementor-image-box-wrapper .elementor-image-box-img {
    margin-left: 3.125vw !important;
    float: right;
    text-align: center;
  }
  
  @media (max-width: 767px) {
    .img_fr .elementor-image-box-wrapper .elementor-image-box-img {
      display: block;
      margin: 0 auto 4% !important;
      float: none;
      text-align: center;
    }
  }
  
  /*--------------------------------------
    Image float left
  --------------------------------------*/
  .img_fl .elementor-image-box-wrapper {
    display: block !important;
  }
  
  .img_fl .elementor-image-box-wrapper img {
    vertical-align: bottom;
  }
  
  .img_fl .elementor-image-box-wrapper .elementor-image-box-img {
    margin-right: 3.125vw !important;
    float: left;
  }
  
  @media (max-width: 767px) {
    .img_fl .elementor-image-box-wrapper .elementor-image-box-img {
      display: block;
      margin: 0 auto 4% !important;
      float: none;
      text-align: center;
    }
  }
  
  /*--------------------------------------
    Flow box
  --------------------------------------*/
  @media (max-width: 480px) {
    .flowBoxWrap {
      padding: 0 20px !important;
    }
  }
  
  .flowBox {
    padding: 60px 7.8vw 80px;
    background: #fff;
      border-radius: 10px;
  }
  
  @media (max-width: 767px) {
    .flowBox {
      padding: 12vw 10px;
      margin: 40px 0 40px;
    }
  }
  
  @media (max-width: 480px) {
    .flowBox {
      padding: 12vw 0;
    }
  }
  
  .flowBox .elementor-section-boxed:not(:last-child) {
    margin-bottom: 54px;
  }
  .flowBox .elementor-section-boxed:first-child {
    margin-bottom: 0;
  }
  .flowBox.arrow .elementor-section-boxed:not(:last-child):after {
    content: "";
    position: absolute;
    left: 50%;
    margin-left: -23px;
    bottom: -35px;
    display: block;
    border-top: 14px solid #908363;
    border-right: 23px solid transparent;
    border-left: 23px solid transparent;
  }
  
  .flowBox h3 {
    margin: 15px 0 10px !important;
    padding: 0 !important;
    display: flex;
  /*   font-family: 'Crimson Text';
    font-style: italic; */
    font-size: 1.8rem;
    font-weight: normal !important;
    line-height: 1.5 !important;
    letter-spacing: .1em;
    color: #19347c !important;
  }
  .flow_tit p{
      color: #384d9f;
      font-size: 20px!important;
      font-weight: bold;
  }
  .step {
      position: relative;
  }
  .step:after {
      content: "";
      display: inline-block;
      height: 15px;
      background: url(/wp-content/themes/basic_tpl/img/sozai.png) no-repeat;
      background-size: contain;
      margin-right: 8px;
      width: 100%;
      bottom: -40px;
      position: absolute;
  }
  .step:last-child:after {
      content: none;
  }
  
  @media (max-width: 767px) {
    .flowBox h3 {
      font-size: 4vw;
    }
      .step:after {
      content: "";
      display: inline-block;
      height: 15px;
      background: url(/wp-content/themes/basic_tpl/img/step_arrow_sp.png) no-repeat;
      background-size: contain;
      margin-right: 8px;
      width: 100%;
      bottom: -40px;
      position: absolute;
  }
      .step .elementor-row{
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: flex-start;
      align-items: flex-start;
      -webkit-flex-direction: column-reverse;
      flex-direction: column-reverse;	
      }
      .flow_txt {
      padding: 20px 30px 10px;
  }
      .flow_tit p {
      font-size: 2rem!important;
  }
  }
  
  @media (max-width: 480px) {
    .flowBox h3 {
      font-size: 2.25rem;
    }
  }
  
  .flowBox h3:before, .flowBox h3:after {
    display: none;
  }
  
  .flowBox h3 sup {
    margin-left: 8px;
    vertical-align: initial;
    font-size: 1.8rem;
    font-weight: bold !important;
    line-height: 1.5;
  }
  
  @media (max-width: 767px) {
    .flowBox h3 sup {
      font-size: 6.66vw;
    }
  }
  
  @media (max-width: 480px) {
    .flowBox h3 sup {
      font-size: 3.75rem;
    }
  }
  
  .flowBox h3 sub {
    font-family: "Noto Serif JP", Sans-serif, "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-style: normal;
    font-size: 2.2rem;
    font-weight: bold;
    vertical-align: baseline;
    margin-left: 1em;
    color: #908363;
  }
  
  .flowBox .elementor-widget-text-editor {
    position: relative;
  /*   padding: 6px 0 6px 20px; */
  }
  
  .flowBox .elementor-widget-text-editor:before {
  /*   content: "";
    position: absolute;
    top: 0;
    left: 4px;
    width: 1px;
    height: 100%;
    background: #000; */
  }
  
  .flowBox .elementor-widget-text-editor p {
    margin-bottom: 0;
    font-size: 1.5rem;
    line-height: 1.85;
    letter-spacing: .1em;
  }
  
  @media (max-width: 767px) {
    .flowBox .elementor-widget-text-editor p {
      font-size: 3.46vw;
    }
  }
  
  @media (max-width: 480px) {
    .flowBox .elementor-widget-text-editor p {
      font-size: 1.6rem;
    }
  }
  /*--------------------------------------
    List STYLE 
  --------------------------------------*/
  .simple_list ul li{
      list-style: none;
  }
  
  
  /*--------------------------------------
    Price 2 col
  --------------------------------------*/
  .price_2col .elementor-col-50 > div, .price_2col .elementor-col-100 > div {
    padding: 3.9vw 4.68vw 1.8vw !important;
    border: 1px solid #352e1d;
  }
  
  .price_2col .v2.elementor-widget-heading {
    position: absolute;
    top: calc(-4.6vw - .5em);
    text-align: center;
  }
  
  .price_2col .v2.elementor-widget-heading h3 {
    padding: 0 24px;
    display: inline-block;
    background: #fff;
  }
  
  .price_2col .elementor-icon-list-text {
    display: flex;
    align-items: center;
    width: 100%;
  }
  
  .price_2col .elementor-icon-list-text b {
    font-weight: normal;
  }
  
  .price_2col .elementor-icon-list-text span {
    margin-left: auto;
    min-width: 7em;
    text-align: right;
  }
  
  /*--------------------------------------
    PDFアイコンリンク
  --------------------------------------*/
  .link-pdf a {
    border-bottom: 1px solid #3f556b;
  }
  
  .link-pdf a:before {
    content: "";
    position: relative;
    top: 2px;
    margin-right: .2em;
    display: inline-block;
    width: 1em;
    height: 1.1em;
    background: url(/wp-content/uploads/ico_pdf.png) no-repeat center center/100%;
  }
  
  .link-pdf a:hover {
    border-bottom: none;
  }
  
  /*--------------------------------------
    Loop slider
  --------------------------------------*/
  .loopslider, .loopslider2 {
    margin: 0 auto;
    width: 100%;
    padding-top: 18.75%;
    text-align: left;
    position: relative;
    overflow: hidden;
  }
  
  @media (min-width: 1280px) {
    .loopslider, .loopslider2 {
      padding-top: 240px;
    }
  }
  
  .loopslider ul, .loopslider2 ul {
    overflow: hidden;
    display: inline-block;
    overflow: hidden;
  }
  
  .loopslider ul li, .loopslider2 ul li {
    width: 100%;
    height: 18.75%;
    float: left;
    display: inline;
    overflow: hidden;
  }
  
  @media (min-width: 1280px) {
    .loopslider ul li, .loopslider2 ul li {
      height: 240px;
    }
  }
  
  .loopslider ul:after, .loopslider2 ul:after {
    content: ".";
    height: 0;
    clear: both;
    display: block;
    visibility: hidden;
  }
  
  .loopslider2 ul {
    float: right;
  }
  
  .loopslider2 ul li {
    float: right;
  }
  
  /*--------------------------------------
    Text box
  --------------------------------------*/
  .txtbox1 .elementor-image-box-description {
    position: relative;
    padding: 16px 0 16px 20px;
    font-size: 1.6rem;
    line-height: 1.85;
  }
  
  @media (max-width: 767px) {
    .txtbox1 .elementor-image-box-description {
      font-size: 3.2vw;
    }
  }
  
  @media (max-width: 480px) {
    .txtbox1 .elementor-image-box-description {
      font-size: 1.7rem;
    }
  }
  
  .txtbox1 .elementor-image-box-description:before {
    content: "";
    position: absolute;
    top: 0;
    left: 5px;
    width: 1px;
    height: 100%;
    background: #000;
  }
  
  .txtbox1 strong {
    background: linear-gradient(transparent 60%, #e4dac3 60%);
    font-weight: bold;
    color: #987b38;
  }
  
  /*--------------------------------------
    Q&A
  --------------------------------------*/
  /* qa */
  .qa .elementor-accordion .elementor-accordion-item {
    border: none;
  }
  
  .qa .elementor-accordion .elementor-tab-title {
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: .15em;
    color: #987b38;
  }
  
  @media (max-width: 767px) {
    .qa .elementor-accordion .elementor-tab-title {
      padding: 12px 0;
      font-size: 3.73vw;
    }
  }
  
  @media (max-width: 480px) {
    .qa .elementor-accordion .elementor-tab-title {
      font-size: 1.9rem;
    }
  }
  
  .qa .elementor-accordion .elementor-tab-title:after {
    content: "CLOSE";
    margin-left: 5px;
    display: inline-block;
    padding: 3px 8px 4px;
    background: #987b38;
    border-radius: 10px;
    font-size: 1.2rem;
    color: #fff;
  }
  
  .qa .elementor-accordion .elementor-tab-title.elementor-active:after {
    content: "OPEN";
  }
  
  /* qa2 */
  .qa2 {
    margin-bottom: 1em;
  /*   border-bottom: 1px solid #908363; */
  }
  
  .qa2 h4 {
    margin-bottom: 0.4em !important;
    padding-left: 2em;
    text-indent: -1.6em;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: .15em;
    color: #987b38;
  }
  
  @media (max-width: 767px) {
    .qa2 h4 {
      font-size: 3.73vw;
    }
  }
  
  @media (max-width: 480px) {
    .qa2 h4 {
      font-size: 1.5rem;
    }
  }
  
  .qa2 h4:before {
    content: "Q";
    margin-right: .7em;
  }
  
  .qa2 .elementor-widget-text-editor p {
    padding-left: 0.4em;
  }
  
  /* =====================================
      LAYOUT
  ===================================== */
  /*--------------------------------------
      container
  --------------------------------------*/
  .container {
  /*   width: 100%;
    max-width: 1060px;
    margin: 0 auto;
    padding: 0 30px; */
  }
  
  .container:after {
    content: "";
    display: block;
    clear: both;
  }
  
  /*--------------------------------------
      Header
  --------------------------------------*/
  /* general */
  #header {
    position: fixed;
    top: 0;
    z-index: 13;
  /*   display: flex;
    justify-content: flex-end;
    align-items: center; */
    width: 100%;
    transition-duration: .7s;
  /*   max-width: 1080px; */
    margin: 0 auto 10px;
      background: #fff;
  }
  .hd_container {
      width: 100%;
      max-width: 1080px;
      margin: auto;
      z-index: 11;
      display: flex;
      justify-content: flex-end;
      align-items: center;
      width: 100%;
      transition-duration: .7s;
      /* max-width: 1080px; */
      margin: 0 auto 10px;
  }
  
  @media (max-width: 767px) {
    #header {
      padding-bottom: 5.466%;
    }
  }
  
  @media (max-width: 480px) {
    #header {
      padding-bottom: 20px;
        z-index: 98;
    }
  }
  
  #header .logo {
   padding: 37px 0 0 0px;
      width: 35%;
  }
  
  #header .logo img {
    width: 360px;
      /* max-width: 222px; */
  }
  
  @media (max-width: 1024px) {
    #header .logo {
      padding: 25px 0 0 20px;
    }
    #header .logo img {
      max-width: 260px;
    }
  }
  
  @media (max-width: 900px) {
    #header .logo img {
      max-width: 160px;
    }
  }
  
  @media (max-width: 767px) {
    #header .logo {
      padding: 5.466% 0 0 4.66%;
        z-index: 100;
    }
    #header .logo img {
      width: 44.4vw;
      height: auto;
      max-width: 333px;
      min-width: 318px;
    }
  }
  
  @media (max-width: 480px) {
    #header .logo img {
      min-width: 230px;
    }
  }
  
  #header .right {
    margin-left: auto;
  /*   display: flex; */
    align-items: center;
      width: 65%;
  }
  
  #header .infoBox {
      padding: 23px 23px 12px;
      min-width: 220px;
      /* background: #3a301d; */
      text-align: center;
      line-height: 1;
      letter-spacing: .15em;
      font-family: 'Crimson Text';
      color: #fff;
      text-align: right;
  }
  #header .infoBox .tel_txt{
      color: #384d9f;
      font-size: 3rem;
      font-family: 'Kosugi Maru', sans-serif;
      margin: 0;
  }
  #header .infoBox .tel_txt span{
      position: relative;
  }
  #header .infoBox .tel_txt span:before{
  content: url(/wp-content/themes/basic_tpl/img/icon-tel.png);
      position: absolute;
      top: -20px;
      left: -57px;
      display: inline-block;
      transform: scale(0.4);
  }
  @media (max-width: 1024px) {
    #header .infoBox {
      padding: 18px;
      min-width: 180px;
    }
  }
  
  @media (max-width: 900px) {
    #header .infoBox {
      padding: 14px 10px;
      min-width: 140px;
    }
  }
  
  @media (max-width: 767px) {
    #header .infoBox {
      display: none;
    }
  }
  
  #header .infoBox a {
    color: #fff;
  }
  
  #header .infoBox sup {
    font-size: 2.2rem;
  }
  
  @media (max-width: 1024px) {
    #header .infoBox sup {
      font-size: 1.8rem;
    }
  }
  
  @media (max-width: 900px) {
    #header .infoBox sup {
      font-size: 1.4rem;
    }
  }
  
  #header .infoBox sup a:before {
    content: "";
    margin-right: 4px;
    display: inline-block;
    width: 17px;
    height: 18px;
    background: url("/wp-content/uploads/ico-tel.svg") no-repeat;
  }
  
  @media (max-width: 1024px) {
    #header .infoBox sup a:before {
      width: 15px;
      height: 16px;
      vertical-align: bottom;
    }
  }
  
  @media (max-width: 900px) {
    #header .infoBox sup a:before {
      width: 10px;
      height: 12px;
    }
  }
  
  #header .infoBox sub {
    margin-top: 8px;
    display: block;
    font-size: 1.4rem;
  }
  
  @media (max-width: 900px) {
    #header .infoBox sub {
      margin-top: 4px;
      font-size: 1.1rem;
    }
  }
  
  /*
  .infoWrap {
      @media (max-width: $point-sp) {
          .elementor-row {
              flex-direction: column-reverse;
          }
      }
  }
  */
  .infoBlock {
    position: fixed !important;
    z-index: 10;
    bottom: 0;
    left: 0;
    width: 100%;
    transition-duration: .7s;
  }
  
  .infoBlock ul {
    display: flex;
  }
  
  .infoBlock ul li {
    width: 50%;
  }
  
  .infoBlock ul li:first-child a {
    background: #335435;
    font-size: 4.53vw;
  }
  
  .infoBlock ul li:first-child a:before {
    content: "";
    display: inline-block;
    background-image: url("/wp-content/themes/basic_tpl/img/ico-tel.svg");
    width: 4.4vw;
    height: 5.6vw;
    background-size: 100%;
    vertical-align: middle;
    margin: -4px 3.2vw 0 0;
  }
  
  .infoBlock ul li:last-child a {
    background: #352e1d;
    font-size: 4.4vw;
  }
  
  .infoBlock ul li:last-child a:before {
    content: "";
    display: inline-block;
    background-image: url("/wp-content/themes/basic_tpl/img/ico-reserve.svg");
    width: 5.33vw;
    height: 6.133vw;
    background-size: 100%;
    vertical-align: middle;
    margin: -4px 3.2vw 0 0;
  }
  
  .infoBlock ul li a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 14.6vw;
    padding: 20p;
    color: #fff;
    letter-spacing: .1em;
    text-align: center;
  }
  
  .fixedBg {
  /*   background: rgba(144, 131, 99, 0.7); */
  }
  
  /* gnav */
  .gnav {
      text-align: end;
  }
  .gnav_sp {
       width: 80%;
      margin: auto;
  }
  .gnav_sp img{
       width: 100%;
  }
  .gnav .menu > li {
    position: relative;
    display: inline-block;
    line-height: 1.6;
  }
  .gnav .menu > li:last-child {
     border-bottom: none;
  }
  
  .gnav .menu > li a {
    padding: 0 25px;
    font-size: 1.3rem;
    color: #000;
    vertical-align: text-top;
  }
  
  @media (max-width: 1280px) {
    .gnav .menu > li a {
      padding: 0 20px;
    }
  }
  
  @media (max-width: 1200px) {
    .gnav .menu > li a {
      padding: 0 10px;
    }
  }
  
  @media (max-width: 1100px) {
    .gnav .menu > li a {
      padding: 0 5px;
      font-size: 1.5rem;
    }
      .gnav .menu > li:last-child a:after {
      top: -7px;
      right: -154px;
      width: 100%;
  }
  }
  
  @media (max-width: 1024px) {
    .gnav .menu > li a {
      font-size: 1.4rem;
    }
  }
  
  @media (max-width: 900px) {
    .gnav .menu > li a {
      font-size: 1.1rem;
    }
  }
  
  .gnav .menu > li > a:hover {
    opacity: .5;
  }
    .gnav .menu > li a {
      padding-left: 0;
        position: relative;
    }
  .gnav .menu > li a:before {
       content: '';
      content: '';
      display: inline-block;
      background-image: url(/wp-content/themes/basic_tpl/img/gnav_dot.png);
      position: absolute;
      top: -7px;
      left: -19px;
      width: 100%;
      height: 27px;
      background-size: contain;
      background-repeat: no-repeat;
    }
      .gnav .menu > li:last-child a:after {
  /* 	 content: '';
      display: inline-block;
      background-image: url(/wp-content/themes/basic_tpl/img/gnav_dot.png);
      position: absolute;
      top: -7px;
      right: -150px;
      width: 100%;
      height: 27px;
      background-size: contain;
      background-repeat: no-repeat; */
    }
  @media (min-width: 1280px) {
    .gnav .menu > li a {
      padding-left: 0;
        position: relative;
    }
  }
  @media screen and (max-width: 1279px) and (min-width: 768px){
      .gnav .menu > li a:before {
      top: -6px;
      left: -17px;
    }
          .gnav .menu > li:last-child a:after {
  /*     top: -7px;
      right: -141px;
      width: 100%; */
    }
  }
  
  .gnav .menu .menu-item-has-children > a {
    transition-duration: .7s;
  }
  
  @media (max-width: 767px) {
      .gnav .menu > li a:before {
       content: none;
    }
    .gnav .menu .menu-item-has-children > a:after {
      content: "＋";
      margin-left: 1.38em;
      font-size: 1.1em;
      transition-duration: .7s;
    }
          .gnav .menu > li {
     border-bottom: 5px dotted #f9cb68;
  }
  }
  
  .gnav .menu .menu-item-has-children > a:hover + .sub-menu {
    pointer-events: auto;
    opacity: 1;
  }
  
  .gnav .menu .menu-item-has-children.hover > a:after {
    content: "−";
  }
  
  .gnav .menu .menu-item-has-children.hover .parent + .sub-menu {
    height: auto;
    opacity: 1;
  }
  
  .gnav .menu .sub-menu {
    pointer-events: none;
    opacity: 0;
    position: absolute;
    top: 0;
    left: calc((100% - 160px) / 2);
    width: 160px;
    padding: 40px 0 0;
    transition-duration: .7s;
    z-index: 3;
  }
  .sub-menu li a:before{
      content: none!important;
  }
  
  @media (max-width: 767px) {
    .gnav .menu .sub-menu {
      position: relative;
      left: 0;
      width: 100%;
      margin-top: 0;
      padding: 0;
      height: 0;
      pointer-events: auto;
      overflow: hidden;
    }
  }
  
  .gnav .menu .sub-menu:hover {
    opacity: 1;
    pointer-events: auto;
  }
  
  .gnav .menu .sub-menu ul {
      border-radius: 10px;
  }
  .gnav .menu .sub-menu li {
      display: block;
      background: rgb(249 203 104 / 92%);
  }
  
  @media (max-width: 767px) {
    .gnav .menu .sub-menu li {
      background: rgb(34 54 131);
      border-bottom: 1px solid #fff;
    }
  }
  
  .gnav .menu .sub-menu li:first-child {
    padding-top: 10px;
  }
  
  .gnav .menu .sub-menu li:last-child {
    padding-bottom: 10px;
  }
  
  .gnav .menu .sub-menu li a {
    display: block;
    padding: 12px 8px;
    font-size: 1.3rem;
    color: #fff;
    text-align: center;
    letter-spacing: .15em;
    transition-duration: .7s;
  }
  
  @media (max-width: 1200px) {
    .gnav .menu .sub-menu li a {
      font-size: 1.1rem;
      padding: 10px 6px;
    }
      .gnav .menu > li a:before {
      top: -6px;
      left: -11px;
  }
  }
  
  @media (max-width: 767px) {
    .gnav .menu .sub-menu li a {
      width: 100%;
      padding: 3% 9.8%;
      font-size: 4vw;
      background: none;
      text-align: left;
    }
  }
  
  .gnav .menu .sub-menu li a:hover {
    background: rgba(255, 255, 255, 0.3);
  }
  
  @media (max-width: 767px) {
    .gnav {
      display: none;
      position: fixed;
      z-index: 98;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      overflow-y: scroll;
      background: #fff;
    }
    .gnav .menu {
      margin: 24% 0 16%;
        padding: 0 20px;
    }
    .gnav .menu > li {
      display: block;
      margin: 0;
      text-align: left;
    }
    .gnav .menu > li a {
      display: block;
      padding: 6.66% 9.8%;
      font-size: 4.8vw;
    }
  }
  
  #menu-gnav .sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1;
    width: 100%;
    list-style: none;
    padding: 0;
    -webkit-transition-duration: .7s;
    -ms-transition-duration: .7s;
    -o-transition-duration: .7s;
    transition-duration: .7s;
    opacity: 0;
    filter: alpha(opacity=0);
    -ms-filter: "alpha( opacity=0 )";
  }
  
  #menu-gnav > li:hover .sub-menu {
    opacity: 1;
    filter: alpha(opacity=100);
    -ms-filter: "alpha( opacity=100 )";
    top: 100%;
  }
  
  #menu-gnav .sub-menu li {
    width: 100%;
    border-bottom: 1px solid #fff;
  }
  
  #menu-gnav .sub-menu li a {
    padding: 5px 0;
  }
  
  .toggleMenu {
    display: none;
    position: absolute;
    top: 4vw;
    right: 36px;
    width: 66px;
    height: 60px;
    z-index: 99;
    color: #fff;
    cursor: pointer;
  }
  
  @media (max-width: 767px) {
    .toggleMenu {
      display: block;
    }
  }
  
  @media (max-width: 480px) {
    .toggleMenu {
      right: 20px;
      width: 44px;
      height: 40px;
    }
  }
  
  .menu-trigger,
  .menu-trigger span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
  }
  
  .menu-trigger {
    position: relative;
    width: 66px;
    height: 60px;
    text-align: center;
  }
  
  @media (max-width: 480px) {
    .menu-trigger {
      width: 44px;
      height: 40px;
    }
  }
  
  /*
  .menu-trigger:after {
      content: "MENU";
      display: block;
      line-height: 1;
      font-size: 1.6rem;
      letter-spacing: 0.025em;
      font-weight: 500;
      margin-top: 88%;
      color: #fff;
      margin-left: -1px;
  }
  .active .menu-trigger:after {
      content: "CLOSE";
  }
  */
  .menu-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #223683;
  }
  
  .menu-trigger span:nth-of-type(1) {
    top: 6px;
  }
  
  .menu-trigger span:nth-of-type(2) {
    top: 30px;
  }
  
  @media (max-width: 480px) {
    .menu-trigger span:nth-of-type(2) {
      top: 22px;
    }
  }
  
  .menu-trigger span:nth-of-type(3) {
    bottom: 0;
  }
  
  .toggleMenu.active .menu-trigger span:nth-of-type(3) {
    bottom: 7px;
  }
  
  .toggleMenu.active .menu-trigger span:nth-of-type(1) {
    -webkit-transform: translateY(10px) rotate(-45deg);
    transform: translateY(10px) rotate(-45deg);
    top: 20px;
  }
  
  @media screen and (max-width: 480px) {
    .toggleMenu.active .menu-trigger span:nth-of-type(1) {
      top: 8px;
    }
  }
  
  .toggleMenu.active .menu-trigger span:nth-of-type(2) {
    opacity: 0;
  }
  
  .toggleMenu.active .menu-trigger span:nth-of-type(3) {
    -webkit-transform: translateY(-10px) rotate(45deg);
    transform: translateY(-10px) rotate(45deg);
    bottom: 16px;
  }
  
  @media screen and (max-width: 480px) {
    .toggleMenu.active .menu-trigger span:nth-of-type(3) {
      bottom: 10px;
    }
  }
  
  /*
  @media screen and (max-width: $point-mb) {
      .menu-trigger {
          &:after {
              font-size: 1.2rem;
              margin-top: 32px;
          }
      }
  }
  */
  /*--------------------------------------
      MainVisual
  --------------------------------------*/
  .main {
      margin-top: 124px;
  }
  .mv .catch {
    position: absolute;
    z-index: 2;
    top: 12vw;
    left: 37.4%;
    width: auto !important;
  }
  
  .mv .catch h1 {
    font-size: 2.34vw;
    line-height: 2.16;
    letter-spacing: .28em;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    color: #fff;
  }
  
  @media (max-width: 767px) {
      .main {
      margin-top: 90px;
  }
    .mv .catch {
      top: 26.26vw;
      left: 23.7%;
    }
    .mv .catch h1 {
      font-size: 5.33vw;
      line-height: 1.87;
    }
  }
  
  /* top slider */
  .home .swiper-container-horizontal > .swiper-pagination-bullets {
    bottom: 30px;
  }
  
  .home .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 8px;
  }
  
  .home .swiper-pagination-bullet {
    background: transparent;
    width: 38px;
    border: 1px solid #fff;
    border-radius: 0;
    opacity: 1;
  }
  
  .home .swiper-pagination-bullet-active {
    background: #fff;
  }
  
  .home .swiper-slide {
    height: 56.25vw !important;
  }
  
  .home .swiper-slide .elementor-slide-heading {
    letter-spacing: .2em;
  }
  
  @media (max-width: 767px) {
    .home .swiper-slide {
      height: 177.73vw !important;
    }
  }
  
  /*--------------------------------------
      Main
  --------------------------------------*/
  body:not(.home) .main {
    padding-bottom: 40px;
  }
  
  /*--------------------------------------
      POSTS
  --------------------------------------*/
  .post a {
    color: #3f556b;
  }
  
  /*--------------------------------------
      SIDE
  --------------------------------------*/
  .side {
    position: fixed;
    z-index: 10;
    top: 27vh;
    right: 0;
    width: 7vw;
    max-width: 90px;
  }
  
  .side ul {
    display: flex;
    flex-direction: column;
  }
  
  .side ul img {
    width: 100%;
  }
  
  /*--------------------------------------
      Content bottom
  --------------------------------------*/
  .content-bottom {
    padding: 0 30px;
  }
  
  @media (max-width: 767px) {
    .content-bottom {
      padding: 0 20px;
    }
  }
  
  .content-bottom .container {
    padding: 40px 0 38px;
    background: #f7f9f4;
    text-align: center;
  }
  
  .content-bottom .container p {
    margin-bottom: 0;
  }
  
  .content-bottom h3 {
    position: relative;
    margin-bottom: 1.5em;
    padding: 0 100px;
    display: inline-block;
    font-size: 2rem;
    font-weight: normal;
    color: #352e1d;
  }
  
  @media (max-width: 1024px) {
    .content-bottom h3 {
      font-size: 1.8rem;
    }
  }
  
  @media (max-width: 767px) {
    .content-bottom h3 {
      padding: 0 15vw;
    }
  }
  
  @media (max-width: 480px) {
    .content-bottom h3 {
      padding: 0 13vw;
      font-size: 1.4rem;
      letter-spacing: .05em;
    }
  }
  
  .content-bottom h3:before, .content-bottom h3:after {
    content: "";
    position: absolute;
    top: 50%;
    display: block;
    width: 80px;
    height: 1px;
    background: #352e1d;
  }
  
  @media (max-width: 767px) {
    .content-bottom h3:before, .content-bottom h3:after {
      width: 10vw;
    }
  }
  
  .content-bottom h3:before {
    left: 0;
  }
  
  .content-bottom h3:after {
    right: 0;
  }
  
  .content-bottom .tel {
    font-size: 3.2rem;
    font-weight: normal;
  }
  
  @media (max-width: 480px) {
    .content-bottom .tel {
      font-size: 2.6rem;
    }
  }
  
  .content-bottom .tel a {
    color: #352e1d;
  }
  
  .content-bottom .tel sub {
    position: relative;
    bottom: 2px;
    left: 40px;
    font-size: 1.4rem;
    color: #352e1d;
  }
  
  @media (max-width: 767px) {
    .content-bottom .tel sub {
      bottom: 0;
      left: 0;
      display: block;
      margin: 10px auto 0;
    }
  }
  
  /*--------------------------------------
      FOOTER
  --------------------------------------*/
  #footer {
    background: url("/wp-content/themes/basic_tpl/img/bg_footer.png") no-repeat center center/cover;
    padding: 70px 30px 0;
    color: #fff;
  }
  
  @media (max-width: 1024px) {
    #footer {
      padding: 60px 20px 30px;
    }
  }
  
  @media (max-width: 767px) {
    #footer {
      background: url("/wp-content/themes/basic_tpl/img/ft_bg_sp.png") no-repeat center center/cover;
      padding: 10.66vw 20px 0;
    }
      .fixed_tel {
          width: 100%;
      position: fixed;
      bottom: 0;
      left: 0;
      z-index: 22;
      }
          .fixed_tel img{
          width: 100%;
      }
  }
  
  #footer .wrap {
    margin: 0 auto;
    max-width: 1080px;
    display: flex;
  }
  
  #footer .col1 {
  /*   padding: 0 10% 0 8px; */
    width: 65%;
      margin-right: 3%;
  }
  
  @media (max-width: 767px) {
    #footer .col1 {
      width: 100%;
    }
  }
  
  #footer .col1 p {
    font-size: 1.4rem;
    line-height: 1.857;
    letter-spacing: .15em;
  }
  
  @media (max-width: 1024px) {
    #footer .col1 p {
      font-size: 1.2rem;
    }
  }
  
  @media (max-width: 767px) {
    #footer .col1 p {
      font-size: 3.2vw;
      line-height: 1.85;
    }
  }
  
  #footer .col2 {
    width: 20%;
  }
  
  @media (max-width: 767px) {
    #footer .col2 {
      display: none;
    }
  }
  
  #footer .col3 {
    width: 20%;
  }
  
  @media (max-width: 767px) {
    #footer .col3 {
      display: none;
    }
  }
  
  #footer h3 {
  /*   font-family: 'Crimson Text'; */
    margin: 2px 0 1.4em;
    font-size: 1.6rem;
  }
  
  #footer .menu li {
    font-size: 1.2rem;
    line-height: 3;
    letter-spacing: .15em;
    text-align: left;
  }
  
  @media (max-width: 1024px) {
    #footer .menu li {
      font-size: 1.1rem;
    }
  }
  
  #footer .menu li:before {
      content:  "";     /* 空の要素作成 */
      width:  5px;               /* 幅指定 */
      height:  5px;              /* 高さ指定 */
      display:  inline-block;     /* インラインブロックにする */
      background-color: #fff;  /* 背景色指定 */
      border-radius:  50%;        /* 要素を丸くする */
      position:  relative;        /* 位置調整 */
      top: -1px;                  /* 位置調整 */
      margin-right: 5px;  
  }
  
  #footer .menu li a {
    color: #fff;
      padding-left: 10px;
  }
  
  #footer .logo {
    margin-bottom: 1em;
    font-size: 1.8rem;
    letter-spacing: .2em;
  }
  
  @media (max-width: 767px) {
    #footer .logo {
      font-size: 4vw;
    }
  }
  
  @media (max-width: 480px) {
    #footer .logo {
      font-size: 2.25rem;
    }
  }
  
  #footer .timetable {
    margin: 20px 0 7px;
    font-size: 1.4rem;
  }
  
  @media (max-width: 767px) {
    #footer .timetable {
      margin: 8vw 0 7px;
      font-size: 2.93vw;
    }
  }
  
  #footer .timetable th, #footer .timetable td {
    line-height: 1;
  }
  
  #footer .timetable tbody td {
    font-size: 1.6rem;
      color: #f9cb68;
  }
  
  @media (max-width: 767px) {
    #footer .timetable tbody td {
      font-size: 2.93vw;
    }
  }
  
  #footer .infoSub {
    font-size: 1.2rem;
    line-height: 1.5;
  }
  
  @media (max-width: 767px) {
    #footer .infoSub {
      font-size: 2.66vw;
    }
  }
  
  #footer .copyright {
  /*   margin-top: 50px; */
    display: block;
    font-size: 1rem;
    letter-spacing: .2em;
    text-align: center;
      padding-bottom: 40px; 
  }
  
  @media (max-width: 767px) {
    #footer .copyright {
      font-size: 2.7vw;
      line-height: 1.4;
       margin: 0!important;
    }
      #footer .infoSub {
      border-bottom: none;
  }
      #footer .timetable.white {
      max-width: 100%!important;
      width: 100%;
  }
  }
  #footer .timetable.white {
          background: none;
      color: #fff;
      border-top: 1px solid #fff;
      border-bottom: 1px solid #fff;
      max-width: 500px;
      width: 100%;
  }
  #footer .timetable.white thead th {
      background: none;
      color: #fff;
  }
  
  
  /*--------------------------------------
    Pagetop
  --------------------------------------*/
  .pagetop {
    position: fixed;
    z-index: 10;
    right: 10px;
    bottom: 10px;
    transition-duration: .7s;
  }
  
  @media (max-width: 767px) {
    .pagetop {
      bottom: 15vw;
    }
  }
  
  .pagetop a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    background: #b9c8d8;
  }
  
  .pagetop a:after {
    content: "";
    display: block;
    width: 34px;
    height: 8px;
    background: url("/wp-content/themes/basic_tpl/img/ico-arrow01.svg") no-repeat;
    background-size: 100%;
    transform: rotate(-90deg);
  }
  
  .pagetop a:hover {
    opacity: .7;
  }
  
  .pagetop span {
    display: none;
  }
  
  .pagetop.scrollOn {
    opacity: 0;
  }
  
  /*--------------------------------------
    お知らせ
  --------------------------------------*/
  .newsBlock {
  /*   padding: 18px 0; */
  /*   background: #908363; */
      border: 1px solid #19347c;
      height: 656px;
      max-width: 480px;
      margin-left: auto;
  }
  .newsBlock .elementor-widget-wrap{
    padding: 0!important;
  }
  
  @media (max-width: 767px) {
    .newsBlock {
      margin: 0 10px 30px;
        max-width: 100%!important;
    }
  }
  
  .newsBlock a {
      display: block;
      transition-duration: .7s;
      color: #19347c;
      border-bottom: 2px solid #f9cb68;
  }
  
  .newsBlock a + a {
    border-top: 1px solid #fff;
  }
  
  .newsBlock a:hover {
    background: rgba(255, 255, 255, 0.3);
  }
  
  .newsBlock dl {
  /*   display: flex; */
    padding: 25px 0;
    font-size: 1.4rem;
  }
  
  .newsBlock dl dt {
    margin-right: 6.25vw;
  /*   font-family: 'Crimson Text'; */
  }
  
  .newsBlock dl dt .newsLabel {
    position: absolute;
    top: 34px;
    display: inline-block;
    margin-left: 5px;
    padding: 3px 5px 2px 6px;
    background: #fff;
    font-size: 1.1rem;
    line-height: 1;
    color: #908363;
      background: #f9cb68;;
      border-radius: 5px;
  }
  .newsWrap{
      padding: 5px 35px;
  }
  .news_top {
      background: #19347c;
      color: #fff;
      padding: 20px 30px;
  }
  .news_top h2{
  
  }
  .news_top a{
      position: absolute;
      right: 30px;
      top: calc(50% - 15px);
      font-size: 1.1rem;
      color: #fff;
      border: none;
  }
  .news_top a img{
      vertical-align: middle;
      width: 50px;
      margin-left: 1rem;
  }
  @media (min-width: 1280px) {
    .newsBlock dl dt {
      margin-right: 80px;
        font-size: 2.0rem;
    }
      
  }
  
  .newsBlock dl dd {
    letter-spacing: .15em;
      color: #000;
  }
  
  @media (max-width: 767px) {
    .newsBlock dl {
      flex-wrap: wrap;
    }
    .newsBlock dl dt, .newsBlock dl dd {
      width: 100%;
    }
    .newsBlock dl dt {
      margin-bottom: .2em;
      font-size: 3.8vw;
    }
    .newsBlock dl dd {
      font-size: 3vw;
    }
      .newsWrap{
      padding: 30px 20px;
  }
  }
  
  @media (max-width: 480px) {
    .newsBlock dl dt {
      font-size: 2rem;
    }
    .newsBlock dl dd {
      font-size: 1.6rem;
        line-height: 1.5;
    }
  }
  
  .newsBlock .h2v2.white {
    min-width: 234px;
    margin-bottom: 0;
    font-size: 1.8rem;
  }
  
  @media (max-width: 767px) {
    .newsBlock .h2v2.white {
      text-align: center !important;
      font-size: 4vw;
    }
  }
  
  @media (max-width: 480px) {
    .newsBlock .h2v2.white {
      font-size: 22.5rem;
    }
  }
  
  .newsBlock .h2v2.white .elementor-widget-container h2 sup {
    padding: 0 6vw;
  }
  
  @media (min-width: 1280px) {
    .newsBlock .h2v2.white .elementor-widget-container h2 sup {
      padding: 0 76px;
    }
  }
  
  @media (max-width: 767px) {
    .newsBlock .h2v2.white .elementor-widget-container h2 sup {
      padding: 0 20.53vw;
    }
  }
  
  .newsBlock .h2v2.white .elementor-widget-container h2 sup .line-left:after, .newsBlock .h2v2.white .elementor-widget-container h2 sup .line-right:after {
    width: 4.375vw;
  }
  
  @media (min-width: 1280px) {
    .newsBlock .h2v2.white .elementor-widget-container h2 sup .line-left:after, .newsBlock .h2v2.white .elementor-widget-container h2 sup .line-right:after {
      width: 56px;
    }
  }
  
  @media (max-width: 767px) {
    .newsBlock .h2v2.white .elementor-widget-container h2 sup .line-left:after, .newsBlock .h2v2.white .elementor-widget-container h2 sup .line-right:after {
      width: 13.3vw;
    }
      .news_container{
      padding: 0!important;
  }
  }
  .news_container{
      max-width: 1080px;
      margin: auto;
      padding: 90px 0 0;
  }
  /*--------------------------------------
    お問い合わせ
  --------------------------------------*/
  .wrap_contact {
    max-width: 800px;
    margin: 0 auto;
  }
  
  .inquiryForm_message {
    text-align: center;
  }
  
  /* step list */
  .step_list {
    width: 467px;
    margin: 0 auto 90px;
  }
  
  .step_list li {
    position: relative;
    float: left;
    width: 100px;
    margin-left: 83px;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    line-height: 1;
    color: #BFBEBD;
  }
  
  .step_list li:first-child {
    margin: 0;
  }
  
  .step_list li span {
    position: relative;
    display: block;
    width: 54px;
    height: 54px;
    margin: 0 auto 12px;
    border-radius: 50%;
    text-align: center;
    font-size: 22px;
    font-weight: bold;
    letter-spacing: 0;
    line-height: 58px;
    color: #fff;
    background: #BFBEBD;
  }
  
  .step_list li span::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 54px;
    display: block;
    width: 130px;
    height: 1px;
    background: #bfbebd;
  }
  
  .step_list li:last-child span::after {
    display: none;
  }
  
  .step_list li.current {
    color: #373431;
  }
  
  .step_list li.current span {
    background: #6e6451;
  }
  
  .step_list li span.current:after {
    background: #6e6451;
  }
  
  .inquiryForm_message .step_catch {
    padding: 0 20px;
    margin-bottom: 44px;
    text-align: center;
    font-size: 16px;
    letter-spacing: 0.05em;
    color: #373431;
  }
  
  .inquiryFormTable {
    padding: 22px 30px 0;
    border-top: 1px solid #707070;
    font-size: 16px;
  }
  
  .inquiryFormTable dl {
    display: table;
    width: 100%;
  }
  
  .inquiryFormTable dt,
  .inquiryFormTable dd {
    display: table-cell;
    padding: 20px 0 24px;
    vertical-align: top;
    text-align: left;
  }
  
  .inquiryFormTable dt {
    position: relative;
    width: 29%;
    padding-top: 31px;
    border-right: none;
    letter-spacing: 0.1em;
    font-weight: bold;
    color: #2C2F30;
  }
  
  .inquiryFormTable dd {
    position: relative;
    padding-right: 40px;
  }
  
  .inquiryFormTable .wpcf7-list-item {
    display: block;
    width: 100%;
    margin: 0 0 13px;
  }
  
  .wpcf7-list-item-label {
    position: relative;
  }
  
  span.wpcf7-list-item-label::before,
  span.wpcf7-list-item-label::after {
    display: none;
  }
  
  .wpcf7-form-control-wrap {
    display: block;
  }
  
  .inquiryFormTable input,
  .inquiryFormTable textarea,
  .inquiryFormTable select {
    display: block;
    width: 100%;
    padding: 13px 14px 14px;
    border: 1px solid #BFBEBD;
    border-radius: 5px;
    color: #333;
    background: #EBE9E7;
  }
  
  .inquiryFormTable textarea {
    resize: vertical;
  }
  
  .inquiryFormTable select {
    position: relative;
    background: #ECECEC url(/wp-content/themes/genova_tpl/img/icons/ico_select.svg) no-repeat 96% center;
    background-size: 12px 10px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
  }
  
  .inquiryFormTable select::-ms-expand {
    display: none;
  }
  
  .inquiryFormTable input:focus,
  .inquiryFormTable textarea:focus,
  .inquiryFormTable select:focus {
    box-shadow: 0 0 3px 1px #908363;
  }
  
  /* checkbox and radio*/
  .inquiryFormTable dd.radio_box {
    padding-top: 32px;
  }
  
  .inquiryFormTable dd.radio_box .wpcf7-list-item {
    margin-right: 30px;
    display: inline-block;
    width: auto;
  }
  
  .inquiryFormTable dd.radio_box .wpcf7-list-item:last-child {
    margin-right: 0;
  }
  
  .inquiryFormTable dd.radio_box input[type="radio"]:disabled:not(:checked) {
    display: none;
  }
  
  .inquiryFormTable dd.radio_box .result_txt {
    display: inline-block;
  }
  
  .inquiryFormTable input[type="radio"] {
    margin-right: 10px;
    display: inline-block;
    width: auto;
  }
  
  /*
  .inquiryFormTable input[type="checkbox"],
  .inquiryFormTable input[type="radio"] {
      -moz-opacity: 0;
      opacity: 0;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      position: absolute;
  }
  .inquiryFormTable input[type="radio"] + span::before,
  .inquiryFormTable input[type="checkbox"] + span::before {
      display: inline-block;
      margin-bottom: 2px;
      margin-right: 10px;
      font-family: 'icomoon';
      font-style: normal;
      font-weight: normal;
      font-variant: normal;
      text-transform: none;
      line-height: 1;
      vertical-align: middle;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
  }
  .inquiryFormTable input[type="checkbox"] + span::before {
      content: "\ea53";
      border-radius: 2px;
  }
  .inquiryFormTable input[type="checkbox"]:checked + span::before {
      content: "\ea52";
      color: #354fa8;
  }
  .inquiryFormTable input[type="checkbox"]:focus + span::before{
      box-shadow: 0px 0px 2px 2px $accent-color;
  }
  .inquiryFormTable input[type="radio"] + span::before {
      content: "\ea56";
      border-radius: 50%;
  }
  .inquiryFormTable input[type="radio"]:checked + span::before {
      content: "\ea54";
      color: #354fa8;
  }
  .inquiryFormTable input[type="radio"]:focus + span::before{
      box-shadow: 0px 0px 2px 2px $accent-color;
  }
  */
  /* checkbox and radio confimation screen */
  /*
  .confirm_table input[type="checkbox"]:not(:checked) + span,
  .confirm_table input[type="radio"]:not(:checked) + span{
      display: none;
  }
  .inquiryFormTable .wpcf7-checkbox > span:first-child,
  .inquiryFormTable .wpcf7-radio > span {
      padding-top: 10px;
  }
  .inquiryFormTable .wpcf7-radio {
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: flex-start;
      justify-content: flex-start;
      -webkit-align-items: flex-start;
      align-items: flex-start;
  }
  .inquiryFormTable .wpcf7-radio > .wpcf7-list-item {
      width: auto;
      margin-right: 20px;
  }
  .inquiryFormTable .wpcf7-radio > .wpcf7-list-item:last-child {
      margin-right: 0;
  }
  .failed .verified_table.inquiryFormTable input.wpcf7-validates-as-required,
  .invalid .verified_table.inquiryFormTable input.wpcf7-validates-as-required {
      border: 1px solid $sub-color;
      background: #fff;
      box-shadow: 0 0 5px rgba(111, 186, 44, 0.5);
  }
  .inquiryFormTable input.wpcf7-not-valid {
      border: 1px solid #D93636 !important;
      background: #FDD2D2 !important;
  }
  .inquiryFormTable .comment {
      display: block;
      margin-top: 0.4em;
      font-size: 13px;
      letter-spacing: 0;
      color: #63696A;
  }
  */
  /* required and optional */
  .inquiryFormTable .required {
    position: absolute;
    top: 36px;
    right: 28px;
    display: inline-block;
    padding-left: 0;
    width: 46px;
    height: 22px;
    border-radius: 10px;
    text-align: center;
    font-size: 14px;
    font-weight: 700;
    line-height: 22px;
    color: #fff;
    background: #D93636;
  }
  
  .inquiryFormTable .optional {
    position: absolute;
    top: 36px;
    right: 28px;
    display: inline-block;
    width: 46px;
    height: 22px;
    padding-left: 0;
    border-radius: 10px;
    text-align: center;
    font-size: 14px;
    font-weight: 700;
    line-height: 22px;
    color: #fff;
    background: #63696A;
  }
  
  .inquiryFormTable .btBox {
    text-align: center;
    margin: 103px 0 80px;
  }
  
  .inquiryFormTable .btBox:after {
    content: "";
    display: block;
    clear: both;
  }
  
  .inquiryFormTable .btBox input[type="submit"] {
    display: block;
    width: 100%;
    padding: 29px 32px 28px 30px;
    border: none;
    margin: 0 auto;
    border-radius: 0 !important;
    font-size: 26px;
    letter-spacing: 0.1em;
    line-height: 1.2;
    color: #fff;
    background: #908363 !important;
    background-size: 6px 10px;
    cursor: pointer;
    outline: 0px;
    -webkit-appearance: none;
  }
  
  .inquiryFormTable .btBox input[type="submit"].disabled {
    padding: 29px 40px 28px 40px;
    opacity: 1 !important;
    color: #BFBEBD;
    background: #72706E !important;
    background-size: 6px 10px;
    pointer-events: none;
    cursor: default;
  }
  
  .inquiryFormTable .btBox input[type="submit"].abled {
    padding: 29px 40px 28px 40px;
    background-position: 96% center !important;
  }
  
  .inquiryFormTable .wpcf7-back {
    float: left;
    width: 37.5% !important;
    padding: 29px 30px 28px;
    border: none;
    margin: 0 auto;
    border-radius: 0 !important;
    outline: 0px;
    text-align: left;
    font-size: 26px;
    letter-spacing: 0.1em;
    line-height: 1.2;
    color: #fff;
    background: #72706E url(/wp-content/themes/genova_tpl/img/icons/ico_arrow02.png) no-repeat 92% center !important;
    background-size: 6px 10px;
    cursor: pointer;
    -webkit-appearance: none;
  }
  
  .inquiryFormTable .wpcf7-submit {
    float: right;
    width: 58.5% !important;
    text-align: left;
  }
  
  .inquiryFormTable .btBox input[type="submit"]:hover,
  .inquiryFormTable .btBox input[type="button"]:hover {
    opacity: 0.8;
  }
  
  span.verify_icon {
    position: absolute;
    top: 13px;
    right: -42px;
    display: none;
    width: 25px;
    height: 25px;
  }
  
  .verified_table .wpcf7-validates-as-required:not(.wpcf7-not-valid) + .verify_icon {
    display: block;
  }
  
  .verified_table .wpcf7-validates-as-required:not(.wpcf7-not-valid) + .verify_icon::before {
    vertical-align: top;
    font-size: 25px;
    color: #6e6451;
  }
  
  .inquiryFormTable .wpcf7-not-valid-tip {
    color: #DE5050;
    font-weight: normal;
    display: block;
    font-size: 12px;
  }
  
  .file_btn {
    position: relative;
    display: block;
    width: 123px;
    height: 30px;
    margin-top: 13px;
    overflow: hidden;
    text-align: center;
    font-size: 14px;
    line-height: 30px;
    color: #fff;
    background: #807B7B;
    cursor: pointer;
  }
  
  .file_btn .wpcf7-form-control-wrap {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 30px;
    margin: 0;
    opacity: 0;
    filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);
  }
  
  div.wpcf7 input[type="file"] {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 30px;
    padding: 0;
    border: 0;
  }
  
  .failed .confirm_table input[type="text"],
  .failed .confirm_table input[type="tel"],
  .failed .confirm_table input[type="email"],
  .failed .confirm_table input[type="date"],
  .failed .confirm_table textarea,
  .failed .confirm_table select,
  .failed .confirm_table input[type="checkbox"] {
    display: none;
  }
  
  .failed .confirm_table .required,
  .failed .confirm_table .optional {
    display: none;
  }
  
  .failed .confirm_table .wpcf7-list-item-label {
    display: none;
  }
  
  .failed .confirm_table span.comment {
    display: none;
  }
  
  .failed .confirm_table .wpcf7-form-control-wrap.your-email_confirm {
    display: none;
  }
  
  .result_txt {
    display: block;
    word-break: break-all;
    white-space: pre-wrap;
  }
  
  .failed .confirm_table .wpcf7-list-item {
    padding-left: 0;
  }
  
  .failed .confirm_table dt,
  .failed .confirm_table dd {
    padding: 12px 0 10px;
  }
  
  .wpcf7-mail-sent-ok,
  div.wpcf7 .ajax-loader,
  div.wpcf7-validation-errors {
    display: none !important;
  }
  
  @media screen and (max-width: 1060px) {
    .inquiryFormTable dt {
      width: 35%;
    }
  }
  
  @media screen and (max-width: 767px) {
    .step_list {
      width: 400px;
      margin: 0 auto 60px;
    }
    .step_list li {
      margin-left: 50px;
    }
    .inquiryFormTable dl {
      display: block;
    }
    .inquiryFormTable dt,
    .inquiryFormTable dd {
      display: block;
      width: 100%;
      padding: 0;
    }
    .inquiryFormTable dd {
      padding: 10px 0 30px;
    }
    .inquiryFormTable .required,
    .inquiryFormTable .optional {
      position: static;
      display: inline-block;
      margin-left: 20px;
      margin-top: -2px;
      vertical-align: middle;
    }
    .inquiryFormTable .btBox {
      margin: 50px 0;
    }
    .inquiryFormTable .btBox input[type="submit"],
    .inquiryFormTable .wpcf7-back {
      text-align: center;
      float: none;
      width: 100% !important;
      padding: 29px 20px 28px 20px;
      font-size: 20px;
      background-position: 96% center !important;
    }
    .inquiryFormTable .btBox input[type="submit"].disabled,
    .inquiryFormTable .btBox input[type="submit"].abled {
      padding: 29px 20px 28px 20px;
    }
    .inquiryFormTable .wpcf7-back {
      margin-bottom: 15px;
    }
    .file_btn {
      margin-top: 0;
    }
    .failed .confirm_table dt,
    .failed .confirm_table dd {
      padding: 5px 0;
    }
  }
  
  @media screen and (max-width: 480px) {
    .step_list {
      width: 270px;
    }
    .step_list li {
      width: 70px;
      margin-left: 30px;
      font-size: 16px;
    }
    .step_list li span:after {
      width: 60px;
    }
    .inquiryForm_message .step_catch {
      font-size: 12px;
      letter-spacing: 0;
    }
    .inquiryFormTable .btBox input[type="submit"],
    .inquiryFormTable .wpcf7-back {
      font-size: 16px;
      letter-spacing: 0.1em;
    }
  }
  
  /*--------------------------------------
    Sitemap
  --------------------------------------*/
  .sitemap .main {
    padding: 80px 30px 60px;
  }
  
  .sitemap .main .menu {
    margin: 0 auto;
    max-width: 800px;
  }
  
  .sitemap .main .menu li {
    width: 100%;
    border-bottom: 1px dashed #ccc;
    position: relative;
  }
  
  .sitemap .main .menu li:first-child {
    border-top: 1px dashed #ccc;
  }
  
  .sitemap .main .menu li a {
    position: relative;
    display: block;
    padding: 19px 40px 15px 25px;
    text-align: left;
    color: #6e6451;
    transition-duration: .3s;
  }
  
  .sitemap .main .menu li a:before {
    position: absolute;
    content: '';
    display: block;
    background: #6e6451;
    width: 8px;
    height: 8px;
    left: 5px;
    top: 29px;
  }
  
  .sitemap .main .menu li a:after {
    display: block;
    content: "";
    width: 10px;
    height: 10px;
    border-top: 2px solid #ccc;
    border-right: 2px solid #ccc;
    box-sizing: border-box;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 18px;
    margin-top: -5px;
  }
  
  .sitemap .main .menu li a:hover {
    text-decoration: none;
    background: #908363;
    color: #fff;
  }
  
  .sitemap .main .menu li a:hover:before {
    background: #fff;
  }
  
  .sitemap .main .menu li li:last-child {
    border-bottom: none;
  }
  
  .sitemap .main .menu li li a {
    padding-left: 40px;
  }
  
  .sitemap .main .menu li li a:before {
    left: 25px;
  }
  
  /*--------------------------------------
    404ページ
  --------------------------------------*/
  .error404 .main {
    margin: 0 auto;
    padding: 80px 30px 60px;
    max-width: 800px;
    text-align: center;
    font-size: 2.4rem;
    line-height: 2;
  }
  
  @media (max-width: 767px) {
    .error404 .main {
      font-size: 1.8rem;
    }
  }
  
  @media (max-width: 480px) {
    .error404 .main {
      font-size: 1.6rem;
    }
  }
  
  /*--------------------------------------
    Sp時のTelボタン
  --------------------------------------*/
  .btn_cv_sptel {
    position: fixed;
    width: 100%;
      max-width: 100%;
    bottom: 0;
    left: 0;
    transition-duration: .7s;
      z-index: 23;
  }
  
  .btn_cv_sptel a {
    color: #fff;
    display: flex;
    flex-wrap: wrap;
  /*   padding: 3.2vw 20px;
    background: #3a301d; */
    justify-content: center;
    text-align: center;
    line-height: 1;
    letter-spacing: .15em;
    font-family: 'Crimson Text';
  }
  .btn_cv_sptel a img{
      width: 100%;
      max-width: 100%;
  }
  
  .btn_cv_sptel sup {
    width: 100%;
    font-size: 5.33vw;
  }
  
  .btn_cv_sptel sup:before {
    content: "";
    margin-right: 1.8vw;
    display: inline-block;
    width: 3.4vw;
    height: 3.6vw;
    background: url("/wp-content/uploads/ico-tel.svg") no-repeat;
  }
  
  .btn_cv_sptel sub {
    margin-top: 2.4vw;
    display: block;
    font-size: 3.2vw;
  }
  
  /* =====================================
    TOP
  ===================================== */
  /*--------------------------------------
    General
  --------------------------------------*/
  .home {
    font-size: 1.6rem;
    /* h2 */
    /* h3 */
    /* list no type1 */
  }
  
  .home .h2v1 h2 {
    font-weight: normal;
    color: #fff;
  }
  
  .home .h2v1 h2 sup {
    font-family: 'Crimson Text';
    font-style: italic;
    font-size: 3rem;
    letter-spacing: .1em;
  }
  
  .home .h2v1 h2 sub {
    margin-top: .8em;
    display: block;
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: .2em;
  }
  
  .home .h2v2 {
    position: relative;
    margin-bottom: 60px;
  }
  
  .home .h2v2 > .elementor-widget-container {
    margin-bottom: 60px;
  }
  
  @media (max-width: 767px) {
    .home .h2v2 > .elementor-widget-container {
      margin-bottom: 8.7%;
    }
  }
  
  .home .h2v2 h2 {
    font-size: 2.6rem;
    line-height: 1.7;
    letter-spacing: .2em;
    color: #352e1d;
  }
  
  @media (max-width: 767px) {
    .home .h2v2 h2 {
      font-size: 4.8vw;
    }
  }
  
  .home .h2v2 h2 sup {
    position: relative;
    display: inline-block;
    padding: 0 11.7vw;
  }
  
  @media (min-width: 1280px) {
    .home .h2v2 h2 sup {
      padding: 0 150px;
    }
  }
  
  @media (max-width: 480px) {
    .home .h2v2 h2 sup {
      font-size: 2.4rem;
    }
  }
  
  .home .h2v2 h2 sub {
    display: block;
    font-size: 1.6rem;
    letter-spacing: .15em;
    color: #987b38;
  }
  
  @media (max-width: 767px) {
    .home .h2v2 h2 sub {
      font-size: 2.93vw;
      line-height: 1.45;
    }
  }
  
  @media (max-width: 480px) {
    .home .h2v2 h2 sub {
      font-size: 1.65rem;
    }
  }
  
  .home .h2v2 h2 sup + sub, .home .h2v2 h2 sub + sup {
    margin-top: 2vw;
  }
  
  .home .h2v2 h2 .line-left:before, .home .h2v2 h2 .line-left:after {
    content: "";
    position: absolute;
    top: 50%;
    display: inline-block;
    background: #6a5d45;
  }
  
  .home .h2v2 h2 .line-left:before {
    margin-top: -2.5px;
    left: 0;
    width: 5px;
    height: 5px;
    border-radius: 50%;
  }
  
  .home .h2v2 h2 .line-left:after {
    margin-top: -.5px;
    left: 0;
    width: 7.82vw;
    height: 1px;
  }
  
  @media (min-width: 1280px) {
    .home .h2v2 h2 .line-left:after {
      width: 100px;
    }
  }
  
  .home .h2v2 h2 .line-right:before, .home .h2v2 h2 .line-right:after {
    content: "";
    position: absolute;
    top: 50%;
    display: inline-block;
    background: #6a5d45;
  }
  
  .home .h2v2 h2 .line-right:before {
    margin-top: -2.5px;
    right: 0;
    width: 5px;
    height: 5px;
    border-radius: 50%;
  }
  
  .home .h2v2 h2 .line-right:after {
    margin-top: -.5px;
    right: 0;
    width: 7.82vw;
    height: 1px;
  }
  
  @media (min-width: 1280px) {
    .home .h2v2 h2 .line-right:after {
      width: 100px;
    }
  }
  
  .home .h2v2.white h2 {
    color: #fff;
  }
  
  .home .h2v2.white h2 .line-left:before, .home .h2v2.white h2 .line-left:after, .home .h2v2.white h2 .line-right:before, .home .h2v2.white h2 .line-right:after {
    background: #fff;
  }
  
  .home .h2v3 > .elementor-widget-container {
    margin-bottom: 60px;
  }
  
  @media (max-width: 767px) {
    .home .h2v3 > .elementor-widget-container {
      margin-bottom: 9.46vw;
    }
  }
  
  .home .h2v3 h2 {
    font-size: 2.6rem;
    line-height: 1.7;
    letter-spacing: .2em;
  }
  
  @media (max-width: 767px) {
    .home .h2v3 h2 {
      font-size: 4.8vw;
    }
  }
  
  @media (max-width: 480px) {
    .home .h2v3 h2 {
      font-size: 2.4rem;
    }
  }
  
  .home .h3v1 h3 {
    margin-bottom: 15px;
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: .2em;
    color: #987b38;
  }
  
  @media (max-width: 767px) {
    .home .h3v1 h3 {
      font-size: 3.8vw;
    }
  }
  
  @media (max-width: 480px) {
    .home .h3v1 h3 {
      font-size: 2.1rem;
    }
  }
  
  .home .listNo01 li {
    padding: 12px 0 0 15px;
    background: url("/wp-content/themes/basic_tpl/img/font_noutica01.svg") no-repeat left top;
    margin-bottom: 15px;
    font-size: 1.5rem;
    line-height: 1.4;
  }
  
  .home .listNo01 li:nth-child(2) {
    background: url("/wp-content/themes/basic_tpl/img/font_noutica02.svg") no-repeat left top;
  }
  
  .home .listNo01 li:nth-child(3) {
    background: url("/wp-content/themes/basic_tpl/img/font_noutica03.svg") no-repeat left top;
  }
  
  .home .listNo01 li:nth-child(4) {
    background: url("/wp-content/themes/basic_tpl/img/font_noutica04.svg") no-repeat left top;
  }
  
  @media (max-width: 1024px) {
    .home .listNo01 li {
      font-size: 1.4rem;
    }
  }
  
  /*--------------------------------------
    Lead catch
  --------------------------------------*/
  .lead_catch {
    padding: 22px 0;
    background: #6e6451;
  }
  
  /*--------------------------------------
    Top01
  --------------------------------------*/
  .top01 {
    padding: 80px 0 100px;
  }
  
  @media (max-width: 767px) {
    .top01 {
      padding: 10vw 0 13.3vw;
    }
    .top01 .txtbox1 .elementor-image-box-content {
      margin-top: 5.33vw;
    }
  }
  
  /*--------------------------------------
    Top02
  --------------------------------------*/
  .top02 {
    padding: 82px 0 67px;
    background: url("/wp-content/uploads/bg_top02.jpg") no-repeat center center/cover;
  }
  
  .omotenashi5 {
    margin: 0 auto;
    padding-top: 559px;
    max-width: 591px;
  }
  
  @media (max-width: 640px) {
    .omotenashi5 {
      max-width: 300px;
    }
  }
  
  .omotenashi5 ul {
    text-align: center;
    font-weight: bold;
  }
  
  .omotenashi5 ul:before {
    content: "おもてなし";
    position: absolute;
    top: 213px;
    left: calc(50% - 90px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 42px;
    width: 180px;
    height: 180px;
    background: url("/wp-content/uploads/bg_top-circle01.png") no-repeat center center;
    font-size: 2.2rem;
    letter-spacing: .2em;
    color: #3a301d;
  }
  
  @media (max-width: 640px) {
    .omotenashi5 ul:before {
      top: 280px;
      left: calc(50% - 66px);
      width: 132px;
      height: 132px;
      background-size: 100%;
      font-size: 1.6rem;
    }
  }
  
  .omotenashi5 ul li {
    position: absolute !important;
    width: 202px;
  }
  
  @media (max-width: 640px) {
    .omotenashi5 ul li {
      width: 148px;
    }
  }
  
  .omotenashi5 ul li:first-child {
    top: 0;
    left: calc(50% - 101px);
  }
  
  @media (max-width: 640px) {
    .omotenashi5 ul li:first-child {
      left: calc(50% - 74px);
    }
  }
  
  .omotenashi5 ul li:nth-child(2) {
    top: 141px;
    left: 0;
  }
  
  .omotenashi5 ul li:nth-child(3) {
    top: 141px;
    right: 0;
  }
  
  .omotenashi5 ul li:nth-child(4) {
    top: 356px;
    left: 62px;
  }
  
  @media (max-width: 640px) {
    .omotenashi5 ul li:nth-child(4) {
      top: 408px;
      left: 0;
    }
  }
  
  .omotenashi5 ul li:nth-child(5) {
    top: 356px;
    right: 62px;
  }
  
  @media (max-width: 640px) {
    .omotenashi5 ul li:nth-child(5) {
      top: 408px;
      right: 0;
    }
  }
  
  .omotenashi5 ul li a {
    justify-content: center;
    width: 202px;
    height: 202px;
    background: url("/wp-content/uploads/bg_top-circle02.png") no-repeat center center;
    font-size: 1.6rem;
    letter-spacing: .15em;
    color: #fff;
  }
  
  @media (max-width: 640px) {
    .omotenashi5 ul li a {
      width: 148px;
      height: 148px;
      background-size: 100%;
      font-size: 1.2rem !important;
      line-height: 1.8;
    }
  }
  
  .omotenashi5 ul li a:hover {
    opacity: .7;
  }
  
  /*--------------------------------------
    Top03
  --------------------------------------*/
  .top03 {
    position: relative;
    padding: 82px 0 100px;
  }
  
  @media (max-width: 767px) {
    .top03 {
      padding: 13.33vw 0 17.33vw;
    }
  }
  
  .top03 figure a:before {
    content: "";
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition-duration: .7s;
  }
  
  .top03 figure a:hover:before {
    background: rgba(255, 255, 255, 0.7);
  }
  
  .top03 .panel4 {
    color: #fff;
  }
  
  .top03 .panel4 h3 {
    font-size: 1.6rem;
  }
  
  @media (max-width: 767px) {
    .top03 .panel4 h3 {
      font-size: 2.1rem;
      letter-spacing: .15em;
    }
  }
  
  .top03 .panel4 h3 span {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  
  .top03 .panel4 .elementor-image-box-description {
    padding: 10px 10px 0;
    font-size: 1.3rem;
  }
  
  @media (max-width: 767px) {
    .top03 .panel4 .elementor-image-box-description {
      font-size: 2.66vw;
    }
  }
  
  @media (max-width: 480px) {
    .top03 .panel4 .elementor-image-box-description {
      font-size: 1.5rem;
    }
  }
  
  @media (max-width: 767px) {
    .top03 .panel4 .elementor-col-25 {
      width: 50%;
    }
  }
  
  @media (max-width: 480px) {
    .top03 .panel4 .elementor-col-25 {
      width: 100%;
    }
    .top03 .panel4 .elementor-widget-container {
      padding: 30px 20px !important;
    }
  }
  
  .top03 .block_caries, .top03 .block_perio, .top03 .block_denture, .top03 .block_beauty {
    position: initial;
  }
  
  .top03 .block_caries {
    border-right: 1px solid #fff;
  }
  
  @media (max-width: 767px) {
    .top03 .block_caries {
      border-bottom: 1px solid #fff;
    }
  }
  
  @media (max-width: 480px) {
    .top03 .block_caries {
      border-right: none;
    }
  }
  
  .top03 .block_caries figure {
    min-width: 43px;
  }
  
  .top03 .block_perio {
    border-right: 1px solid #fff;
  }
  
  @media (max-width: 767px) {
    .top03 .block_perio {
      border-bottom: 1px solid #fff;
    }
  }
  
  @media (max-width: 480px) {
    .top03 .block_perio {
      border-right: none;
    }
  }
  
  .top03 .block_perio figure {
    min-width: 64px;
  }
  
  .top03 .block_denture {
    border-right: 1px solid #fff;
  }
  
  @media (max-width: 480px) {
    .top03 .block_denture {
      border-right: none;
      border-bottom: 1px solid #fff;
    }
  }
  
  .top03 .block_denture figure {
    min-width: 75px;
  }
  
  .top03 .block_beauty figure {
    min-width: 73px;
  }
  
  .top03 .panel1 .elementor-image-box-wrapper {
    justify-content: center;
  }
  
  .top03 .panel1 .elementor-image-box-content {
    width: auto;
  }
  
  .top03 .panel1 .block_child {
    border-top: 1px solid #fff;
  }
  
  .top03 .panel1 h3 {
    position: relative;
    padding-right: 94px;
    display: inline-block;
    font-size: 1.8rem;
    letter-spacing: .15em;
    color: #fff;
  }
  
  @media (max-width: 767px) {
    .top03 .panel1 h3 {
      font-size: 2.1rem;
      line-height: 1;
      vertical-align: bottom;
    }
  }
  
  @media (max-width: 480px) {
    .top03 .panel1 h3 {
      padding-right: 30px;
      line-height: 1.2;
    }
  }
  
  .top03 .panel1 h3:before {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    margin-top: -2.5px;
    border-top: 3.5px solid transparent;
    border-bottom: 3.5px solid transparent;
    border-left: 11px solid #fff;
  }
  
  .top03 .panel1 h3:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    margin-top: .5px;
    width: 29px;
    height: 1px;
    background: #fff;
  }
  
  .top03 .panel1 figure {
    min-width: 38px;
  }
  
  @media (max-width: 767px) {
    .top03 .panel1 .elementor-image-box-wrapper {
      display: flex;
      justify-content: center;
    }
    .top03 .panel1 .elementor-image-box-wrapper .elementor-image-box-img {
      margin: 0 10.66vw 0 0 !important;
    }
  }
  
  @media (max-width: 480px) {
    .top03 .panel1 .elementor-image-box-wrapper .elementor-image-box-img {
      margin: 0 20px 0 0 !important;
    }
  }
  
  /*--------------------------------------
    Top04
  --------------------------------------*/
  .top04 {
    padding: 100px 0;
    background: url("/wp-content/uploads/bg_top04.jpg") no-repeat center center;
    background-size: cover;
    color: #fff;
  }
  
  @media (max-width: 767px) {
    .top04 {
      padding: 12vw 0 14vw;
      background: url("/wp-content/uploads/bg_top04-sp.jpg") no-repeat center center/cover;
    }
  }
  
  .top04 p {
    font-size: 1.8rem;
    line-height: 2;
    letter-spacing: .15em;
  }
  
  @media (max-width: 767px) {
    .top04 p {
      font-size: 3.2vw;
    }
  }
  
  @media (max-width: 480px) {
    .top04 p {
      font-size: 1.9rem;
    }
  }
  
  /*--------------------------------------
    Top05
  --------------------------------------*/
  .top05 {
    padding: 80px 0 100px;
  }
  
  @media (max-width: 767px) {
    .top05 {
      padding: 24vw 30px 22vw;
    }
  }
  
  @media (max-width: 480px) {
    .top05 {
      padding: 24vw 10px 22vw;
    }
  }
  
  .top05 p {
    padding: 0 30px;
    font-size: 1.8rem;
    line-height: 2;
  }
  
  @media (max-width: 767px) {
    .top05 p {
      font-size: 3.46vw;
    }
  }
  
  @media (max-width: 480px) {
    .top05 p {
      font-size: 1.7rem;
    }
  }
  
  /*--------------------------------------
    Top06
  --------------------------------------*/
  .top06 {
    padding: 80px 0 100px;
    background: url("/wp-content/uploads/bg_top06.jpg") no-repeat center center/cover;
  }
  
  @media (max-width: 767px) {
    .top06 {
      padding: 15.4vw 0 17.33vw;
      background: url("/wp-content/uploads/bg_top06-sp.jpg") no-repeat center center/cover;
    }
  }
  
  .top06 .elementor-widget-text-editor .elementor-widget-container {
    display: flex;
  }
  
  .top06 p {
    margin: 0 auto;
    line-height: 2.2;
    color: #fff;
  }
  
  @media (min-width: 768px) {
    .top06 p {
      -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
    }
  }
  
  @media (max-width: 767px) {
    .top06 p {
      font-size: 3.2vw;
      line-height: 2.5;
      letter-spacing: .15em;
    }
  }
  
  @media (max-width: 480px) {
    .top06 p {
      font-size: 1.7rem;
    }
  }
  
  /*--------------------------------------
    Top07
  --------------------------------------*/
  .top07 {
    padding: 80px 0 197px;
  }
  
  @media (max-width: 767px) {
    .top07 {
      padding: 13.33vw 0 6vw;
    }
  }
  
  .top07 .elementor-image-box-content {
      position: relative;
      top: -127px;
      margin-right: -28px;
      padding: 40px 126px 54px 32px;
      /* width: 100%; */
      background: #223167;
      border-radius: 10px;
      z-index: -1;
  }
  .top07 .elementor-image-box-img img{
      position: relative;
          position: absolute;
      right: 0;
      top: -63px;
      width: 52%;
      border-radius: 10px;
  }
  
  .top07 .elementor-image-box-content h3 {
    margin-bottom: 16px;
    font-size: 2rem;
    line-height: 1.5;
    letter-spacing: .2em;
    color: #c8c2b4;
  }
  
  @media (max-width: 767px) {
    .top07 .elementor-image-box-content h3 {
      font-size: 3.73vw;
    }
      .top07 .elementor-image-box-img img{
          position: initial;
      border-radius: 10px;
          width: 100%;
  }
  }
  
  @media (max-width: 480px) {
    .top07 .elementor-image-box-content h3 {
      font-size: 2.1rem;
    }
  }
  
  .top07 .elementor-image-box-content p {
    position: relative;
    padding: 13px 0 13px 20px;
    color: #fff;
  }
  
  @media (max-width: 767px) {
    .top07 .elementor-image-box-content p {
      font-size: 3.2vw;
      line-height: 1.85;
    }
  }
  
  @media (max-width: 480px) {
    .top07 .elementor-image-box-content p {
      font-size: 1.2rem;
        padding: 0;
    }
  }
  
  .top07 .elementor-image-box-content p:before {
  /*   content: "";
    position: absolute;
    top: 0;
    left: 4px;
    display: block;
    width: 1px;
    height: 100%;
    background: #fff; */
  }
  
  @media (max-width: 767px) {
    .top07 figure {
      text-align: right;
    }
    .top07 figure img {
      max-width: 90%;
    }
    .top07 .elementor-widget-image-box .elementor-image-box-content {
      top: -20px;
      margin: 0;
      width: 85.5%;
      padding: 8.2vw 30px 8.2vw 32px;
    }
  }
  
  @media (max-width: 480px) {
    .top07 .elementor-widget-image-box .elementor-image-box-content {
      top: -20px;
      width: 94%;
    }
  }
  
  /*--------------------------------------
    Top08
  --------------------------------------*/
  .top08 {
    padding: 80px 0;
    background: url("/wp-content/uploads/bg_top08.jpg") no-repeat center center/cover;
  }
  
  @media (max-width: 767px) {
    .top08 {
      padding: 13.3vw 0 17.3vw;
      background: url("/wp-content/uploads/bg_top08-sp.jpg") no-repeat center center/cover;
    }
  }
  
  @media (max-width: 480px) {
    .top08 .infoSub {
      margin-top: 10px;
    }
  }
  
  .top08 .timetable {
    margin-top: 30px;
  }
  
  @media (max-width: 767px) {
    .top08 .timetable {
      margin-top: 0;
    }
  }
  
  .top08 .timetable th, .top08 .timetable td {
    padding: 4px 6px;
  }
  
  .top08 .txtbox1 .elementor-image-box-description {
    padding-right: 8px;
    line-height: 2.2;
  }
  
  @media (max-width: 767px) {
    .top08 .txtbox1 .elementor-image-box-description {
      padding-right: 0;
    }
  }
  
  /* =====================================
      UNDER
  ===================================== */
  /*--------------------------------------
      General
  --------------------------------------*/
  body:not(.home) {
    font-size: 1.5rem;
    /* btn01 */
  }
  
  @media (max-width: 767px) {
    body:not(.home) {
      font-size: 3vw;
    }
  }
  
  @media (max-width: 480px) {
    body:not(.home) {
      font-size: 1.6rem;
    }
  }
  
  body:not(.home) p {
    margin-bottom: 1em;
  }
  
  body:not(.home) p a, body:not(.home) dd a {
    color: #3f556b;
  }
  
  body:not(.home) .content-bottom {
    margin: 8% auto 4.68%;
  }
  
  @media (max-width: 767px) {
    body:not(.home) .content-bottom {
      margin: 16% auto 9.4%;
    }
  }
  
  body:not(.home) strong, body:not(.home) .color1 {
    color: #987b38;
  }
  
  @media (max-width: 480px) {
    body:not(.home) .btn01 .elementor-button {
      padding: 12px 62px 12px 20px;
      text-align: left;
      font-size: 1.4rem;
    }
  }
  
  /*--------------------------------------
      Mainimage
  --------------------------------------*/
  .home .mainimage {
    position: relative;
    overflow: hidden;
  }
   .mainimage {
      margin-top: 125px;
  }
  .home .mainimage .mainCatch, .home .mainimage .mainBnr {
    position: absolute;
    z-index: 1;
    left: 10.85%;
  }
  
  @media (max-width: 1024px) {
    .home .mainimage .mainCatch, .home .mainimage .mainBnr {
      left: 0;
      padding: 0 4vw;
    }
  }
  
  .home .mainimage .mainCatch {
    top: 23.04vw;
    display: inline;
    width: auto;
    font-size: 2.65625vw;
    letter-spacing: .2em;
    color: #fff;
  }
  
  @media (max-width: 767px) {
    .home .mainimage .mainCatch {
      top: 67.8vw;
      width: 100%;
      font-size: 6.3vw;
    }
  }
  
  .home .mainimage .mainCatch sub {
    margin-top: 1em;
    padding-top: 1em;
    display: block;
    border-top: 1px solid #fff;
    font-size: 1.64vw;
  }
  
  @media (max-width: 767px) {
    .home .mainimage .mainCatch sub {
      font-size: 4.6vw;
      line-height: 1.55;
      letter-spacing: .2em;
    }
  }
  
  .home .mainimage .mainBnr {
    top: 33.75vw;
    width: auto;
  }
  
  @media (max-width: 767px) {
    .home .mainimage .mainBnr {
      top: 106.6vw;
      width: 100%;
    }
  }
  
  @media (max-width: 767px) {
    .home .mainimage .mainBnr ul {
      display: flex;
    }
  }
  
  .home .mainimage .mainBnr li {
    padding: 2.343vw 3.9vw;
    display: inline-block;
    font-size: 1.5625vw;
    letter-spacing: .14em;
    border: 1px solid #fff;
    color: #fff;
  }
  
  .home .mainimage .mainBnr li:not(:last-child) {
    margin-right: 1.4vw;
  }
  
  @media (max-width: 767px) {
    .home .mainimage .mainBnr li {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 33.33%;
      padding: 2.343vw 10px;
      font-size: 3.467vw;
      line-height: 1.34;
      text-align: center;
    }
  }
  
  @media (max-width: 480px) {
    .home .mainimage .mainBnr li {
      font-size: 3.3vw;
    }
  }
  
  .under_mainimage {
    background: #ccc;
    background-size: cover;
    display: table;
    width: 100%;
    height: 21.25vw;
    background: url("/wp-content/themes/basic_tpl/img/h1_bg.png") no-repeat center center/cover;
  }
  
  @media (min-width: 1280px) {
    .under_mainimage {
  /*     height: 450px; */
    }
  }
  
  @media (max-width: 767px) {
    .under_mainimage {
      height: 56vw;
      background: url("/wp-content/themes/basic_tpl/img/h1_bg_sp") center center/cover;
    }
  }
  
  .under_mainimage .inner {
    display: table-cell;
    vertical-align: middle;
    padding: 22px 20px 22px;
  }
  
  @media (max-width: 1024px) {
    .under_mainimage .inner {
      padding: 19px 20px 19px;
    }
  }
  
  @media (max-width: 900px) {
    .under_mainimage .inner {
      padding: 15px 20px 15px;
    }
      .gnav .menu > li:last-child a:after {
      top: -7px;
      right: -130px;
  }
  }
  
  @media (max-width: 767px) {
    .under_mainimage .inner {
      padding: 6vw 20px 6vw;
    }
  }
  
  .under_mainimage .container h1 {
    font-size: 2.6rem;
    color: #fff;
    letter-spacing: .2em;
    line-height: 1.4;
    text-align: center;
  }
  
  @media (max-width: 767px) {
    .under_mainimage .container h1 {
      font-size: 5.33vw;
    }
  }
  
  /* -------------------------------------
      Bread
  ------------------------------------- */
  .bread {
    max-width: 1060px;
    margin: 14px auto 30px;
    padding: 0 30px;
    width: 100%;
    text-align: left;
    line-height: 1.3;
  }
  
  .bread li {
    font-size: 1.2rem;
    letter-spacing: 0.05em;
    display: inline;
  }
  
  .bread li + li:before {
    padding-right: .3em;
    content: "−";
  }
  
  .bread li a {
    color: #000;
    text-decoration: underline;
    vertical-align: baseline;
  }
  
  .bread li a:hover {
    text-decoration: none;
  }
  
  /*--------------------------------------
    Anchor Links
  --------------------------------------*/
  .anchorLinks {
    margin-bottom: 60px;
    padding: 35px 0 10px;
    background: #223167;
      border-radius: 10px;
  }
  
  @media (max-width: 767px) {
    .anchorLinks {
      margin-bottom: 50px;
    }
  }
  
  @media (max-width: 480px) {
    .anchorLinks {
      padding: 25px 0 0;
    }
  }
  
  .anchorLinks ul {
    display: flex;
    flex-wrap: wrap;
  }
  
  .anchorLinks li {
    position: relative;
    margin-bottom: 25px !important;
    padding: 0 20px !important;
    width: 50%;
    font-size: 1.6rem;
    line-height: 1.5;
    justify-content: center;
  }
  
  @media (max-width: 767px) {
    .anchorLinks li {
      width: 100%;
      justify-content: left;
    }
  }
  
  .anchorLinks li a {
    position: relative;
    display: inline-block !important;
    width: auto !important;
    padding-left: 27px;
    color: #fff;
    transition-duration: .7s;
  }
  
  .anchorLinks li a:before {
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -3px;
    left: 0;
    width: 8px;
    height: 8px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(45deg);
    transition-duration: .7s;
  }
  
  .anchorLinks li a:after {
    content: "";
    position: absolute;
    bottom: -4px;
    left: 0;
    display: block;
    width: 0;
    height: 1px;
    background: #fff;
  }
  
  @media (max-width: 767px) {
    .anchorLinks li a:hover {
      text-decoration: underline;
    }
  }
  
  .anchorLinks li a:hover:before {
    margin-top: -6px;
    transform: rotate(135deg);
  }
  
  @media (min-width: 768px) {
    .anchorLinks li a:hover:after {
      animation: hover-anchorLinks .7s forwards;
    }
  }
  
  .anchorLinks.col3 li {
    width: 33.33%;
    justify-content: left;
    padding: 0 30px !important;
  }
  
  @media (max-width: 767px) {
    .anchorLinks.col3 li {
      width: 50%;
    }
  }
  
  @media (max-width: 480px) {
    .anchorLinks.col3 li {
      width: 100%;
    }
  }
  
  .anchorLinks.col4 li {
    width: 25%;
  }
  
  @media (max-width: 767px) {
    .anchorLinks.col4 li {
      justify-content: left;
      width: 50%;
    }
  }
  
  @media (max-width: 480px) {
    .anchorLinks.col4 li {
  width: 100%!important;
    }
        .anchorLinks.col4 li a{
  width: 100%!important;
    }
      .anchorLinks li a {
          width: 100%!important;
  }
  }
  
  .anchorLinks.left li {
    justify-content: left;
  }
  
  /*--------------------------------------
    Step box
  --------------------------------------*/
  @media (max-width: 767px) {
    .stepBox .elementor-row {
      justify-content: center;
    }
  }
  
  @media (max-width: 767px) {
    .stepBox .elementor-col-50, .stepBox .elementor-col-33, .stepBox .elementor-col-25 {
      width: 50%;
    }
  }
  
  @media (max-width: 767px) {
    .stepBox.gallreyBox .elementor-col-33, .stepBox.gallreyBox .elementor-col-25 {
      width: 50%;
    }
  }
  
  .stepBox .elementor-col-50:not(:first-child) .elementor-image-box-img, .stepBox .elementor-col-50:not(:first-child) .elementor-image-gallery, .stepBox .elementor-col-33:not(:first-child) .elementor-image-box-img, .stepBox .elementor-col-33:not(:first-child) .elementor-image-gallery, .stepBox .elementor-col-25:not(:first-child) .elementor-image-box-img, .stepBox .elementor-col-25:not(:first-child) .elementor-image-gallery {
    position: relative;
  }
  
  .stepBox .elementor-col-50:not(:first-child) .elementor-image-box-img:before, .stepBox .elementor-col-50:not(:first-child) .elementor-image-gallery:before, .stepBox .elementor-col-33:not(:first-child) .elementor-image-box-img:before, .stepBox .elementor-col-33:not(:first-child) .elementor-image-gallery:before, .stepBox .elementor-col-25:not(:first-child) .elementor-image-box-img:before, .stepBox .elementor-col-25:not(:first-child) .elementor-image-gallery:before {
    content: "";
    position: absolute;
    top: 50%;
    left: -42px;
    display: block;
    width: 34px;
    height: 1px;
    background: #002d5b;
  }
  
  .stepBox .elementor-col-50:not(:first-child) .elementor-image-box-img:after, .stepBox .elementor-col-50:not(:first-child) .elementor-image-gallery:after, .stepBox .elementor-col-33:not(:first-child) .elementor-image-box-img:after, .stepBox .elementor-col-33:not(:first-child) .elementor-image-gallery:after, .stepBox .elementor-col-25:not(:first-child) .elementor-image-box-img:after, .stepBox .elementor-col-25:not(:first-child) .elementor-image-gallery:after {
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -3px;
    left: -22px;
    display: block;
    border-top: 3.5px solid transparent;
    border-bottom: 3.5px solid transparent;
    border-left: 16px solid #002d5b;
  }
  
  .stepBox .elementor-col-50:not(:first-child) .elementor-image-gallery, .stepBox .elementor-col-33:not(:first-child) .elementor-image-gallery, .stepBox .elementor-col-25:not(:first-child) .elementor-image-gallery {
    position: inherit;
  }
  
  @media (max-width: 767px) {
    .stepBox .elementor-col-25:nth-child(3) .elementor-image-box-img:before, .stepBox .elementor-col-25:nth-child(3) .elementor-image-box-img:after {
      display: none;
    }
  }
  
  .stepBox .elementor-image-box-title {
    display: inline-block;
    padding: 4px 10px 5px 15px;
    background: #002d5b;
    font-size: 1.4rem;
    line-height: 1.857;
    color: #fff;
  }
  
  @media (max-width: 480px) {
    .stepBox .elementor-image-box-title {
      padding: 4px 6px 7px 10px;
      font-size: 1.1rem;
      line-height: 1.4;
    }
  }
  
  .stepBox .elementor-image-box-img, .stepBox .elementor-image-gallery {
    text-align: center;
  }
  
  .stepBox img {
    margin-bottom: 7px;
    vertical-align: bottom;
  }
  
  .stepBox h4 {
    margin-top: .5em;
    color: #002d5b;
  }
  
  /*--------------------------------------
    ギャラリーボックス
  --------------------------------------*/
  .gallreyBox img {
    border: none !important;
    vertical-align: bottom;
  }
  
  .gallreyBox .gallery-item {
    margin: 0 !important;
  }
  
  @media (max-width: 480px) {
    .gallreyBox .gallery-item {
      width: 50% !important;
    }
  }
  
  @media (max-width: 480px) {
    .gallreyBox br {
      clear: inherit !important;
    }
  }
  
  @media (max-width: 767px) {
    .gallreyBox .elementor-col-33 {
      width: 33.333%;
    }
  }
  
  @media (max-width: 480px) {
    .gallreyBox .elementor-col-33 {
      width: 100%;
    }
  }
  
  /*--------------------------------------
    Style Fixed
  --------------------------------------*/
  @media (max-width: 767px) {
    .styleFixed .elementor-col-50 {
      width: 50%;
    }
  }
  
  @media (max-width: 767px) {
    .styleFixed .elementor-col-33 {
      width: 33%;
    }
  }
  
  @media (max-width: 767px) {
    .styleFixed.case1 .elementor-col-33:first-child, .styleFixed.case1 .elementor-col-33:last-child {
      width: 47%;
    }
  }
  
  @media (max-width: 767px) {
    .styleFixed.case1 .elementor-col-33:nth-child(2) {
      width: 6%;
      padding: 0;
    }
  }
  
  @media (max-width: 767px) {
    .styleFixed .elementor-col-25 {
      width: 25%;
    }
  }
  
  /*--------------------------------------
    医師紹介ブロック
  --------------------------------------*/
  .intro_staff {
    padding: 6.25vw 8.5vw;
    background: #f6f5f0;
  }
  
  @media (min-width: 1280px) {
    .intro_staff {
      padding: 80px 110px;
    }
  }
  
  @media (max-width: 767px) {
    .intro_staff {
      padding: 12vw 30px;
    }
    .intro_staff .elementor-image-box-img {
      text-align: center;
    }
  }
  
  @media (max-width: 480px) {
    .intro_staff {
      font-size: 3.75rem;
    }
  }
  
  .intro_staff .elementor-image-box-content {
    padding-top: 3%;
  }
  
  .intro_staff .elementor-image-box-content h3.elementor-image-box-title {
    margin-bottom: 16px;
    padding: 0;
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: .2em;
    color: #987b38;
  }
  
  @media (max-width: 767px) {
    .intro_staff .elementor-image-box-content h3.elementor-image-box-title {
      font-size: 3.73vw;
    }
  }
  
  @media (max-width: 480px) {
    .intro_staff .elementor-image-box-content h3.elementor-image-box-title {
      font-size: 2.1rem;
    }
  }
  
  .intro_staff .elementor-image-box-content h3.elementor-image-box-title:before, .intro_staff .elementor-image-box-content h3.elementor-image-box-title:after {
    display: none;
  }
  
  .intro_staff .elementor-image-box-description {
    position: relative;
    margin-bottom: 0;
    padding: 6px 0 6px 20px;
    font-size: 1.6rem;
    line-height: 1.85;
    letter-spacing: .1em;
  }
  
  @media (max-width: 767px) {
    .intro_staff .elementor-image-box-description {
      font-size: 3.2vw;
    }
  }
  
  @media (max-width: 480px) {
    .intro_staff .elementor-image-box-description {
      font-size: 1.6rem;
    }
  }
  
  .intro_staff .elementor-image-box-description:before {
    content: "";
    position: absolute;
    top: 0;
    left: 4px;
    width: 1px;
    height: 100%;
    background: #000;
  }
  
  @media (max-width: 767px) {
    .intro_staff .sp-order .elementor-col-50:first-child {
      order: 2;
    }
    .intro_staff .sp-order .elementor-col-50:last-child {
      order: 1;
    }
  }
  
  /*--------------------------------------
    ヒストリーブロック
  --------------------------------------*/
  .block_history .elementor-widget-wrap .elementor-section {
    position: relative;
    padding: 14px 0;
  }
  
  .block_history .elementor-widget-wrap .elementor-section:before {
    content: "";
    position: absolute;
    top: 0;
    left: 22px;
    width: 1px;
    height: 100%;
    background: #000;
  }
  
  .block_history .elementor-widget-wrap .elementor-section:after {
    content: "";
    position: absolute;
    top: 31px;
    margin-top: -6.5px;
    left: 16px;
    width: 13px;
    height: 13px;
    background: #987b38;
    border-radius: 50%;
  }
  
  .block_history .elementor-widget-wrap .elementor-section:nth-child(even) {
    background: #f6f5f0;
  }
  
  .block_history .elementor-container .elementor-col-50, .block_history .elementor-container .elementor-col-33 {
    font-size: 1.6rem;
    letter-spacing: .1em;
  }
  
  @media (max-width: 767px) {
    .block_history .elementor-container .elementor-col-50, .block_history .elementor-container .elementor-col-33 {
      font-size: 3.2vw;
    }
  }
  
  @media (max-width: 480px) {
    .block_history .elementor-container .elementor-col-50, .block_history .elementor-container .elementor-col-33 {
      font-size: 1.6rem;
    }
  }
  
  @media (max-width: 480px) {
    .block_history .elementor-container .elementor-col-50:not(:first-child) > .elementor-element-populated, .block_history .elementor-container .elementor-col-33:not(:first-child) > .elementor-element-populated {
      padding: 0 10px 0 0 !important;
    }
  }
  
  .block_history .elementor-container .elementor-col-50:first-child, .block_history .elementor-container .elementor-col-33:first-child {
    letter-spacing: .03em;
  }
  
  @media (max-width: 480px) {
    .block_history .elementor-container .elementor-col-50:first-child, .block_history .elementor-container .elementor-col-33:first-child {
      font-size: 1.4rem;
    }
    .block_history .elementor-container .elementor-col-50:first-child > .elementor-element-populated, .block_history .elementor-container .elementor-col-33:first-child > .elementor-element-populated {
      padding-left: 40px !important;
    }
  }
  
  .block_history .elementor-container .elementor-col-50:first-child strong, .block_history .elementor-container .elementor-col-33:first-child strong {
    font-family: 'Crimson Text';
    font-size: 3rem;
    color: #987b38;
  }
  
  @media (max-width: 480px) {
    .block_history .elementor-container .elementor-col-50:first-child strong, .block_history .elementor-container .elementor-col-33:first-child strong {
      font-size: 2.4rem;
    }
  }
  
  @media (max-width: 767px) {
    .block_history .elementor-container .elementor-col-50:first-child br, .block_history .elementor-container .elementor-col-33:first-child br {
      display: none;
    }
  }
  
  @media (max-width: 480px) {
    .block_history .elementor-container .elementor-col-50:first-child br, .block_history .elementor-container .elementor-col-33:first-child br {
      display: block;
    }
  }
  
  .block_history .elementor-container .elementor-col-50 p, .block_history .elementor-container .elementor-col-33 p {
    margin-bottom: 0;
  }
  
  .block_history .elementor-container .elementor-col-50 p img, .block_history .elementor-container .elementor-col-33 p img {
    margin: 11px 0 6px;
  }
  
  @media (max-width: 767px) {
    .block_history .elementor-container .col3 > .elementor-container {
      flex-wrap: wrap;
    }
  }
  
  @media (max-width: 767px) {
    .block_history .elementor-container .elementor-col-33:not(:first-child) {
      width: 100%;
      padding-left: 20px;
    }
    .block_history .elementor-container .elementor-col-33:nth-child(2) {
      margin-bottom: 30px;
    }
    .block_history .elementor-container .elementor-col-33 .elementor-widget-image {
      text-align: left;
    }
  }
  
  @media (max-width: 480px) {
    .block_history .elementor-container .elementor-col-33:first-child {
      min-width: 100% !important;
    }
    .block_history .elementor-container .elementor-col-33:first-child br {
      display: none;
    }
    .block_history .elementor-container .elementor-col-33:not(:first-child) {
      padding-left: 40px !important;
    }
  }
  
  @media (max-width: 767px) {
    .block_history .elementor-section .elementor-container {
      flex-wrap: initial;
    }
  }
  
  @media (max-width: 767px) {
    .block_history .elementor-section .elementor-container > .elementor-column:first-child {
      min-width: 200px;
    }
  }
  
  @media (max-width: 600px) {
    .block_history .elementor-section .elementor-container > .elementor-column:first-child {
      min-width: 184px;
    }
  }
  
  @media (max-width: 480px) {
    .block_history .elementor-section .elementor-container > .elementor-column:first-child {
      min-width: 122px;
    }
  }
  
  /*--------------------------------------
    下層診療時間表
  --------------------------------------*/
  .block_info {
    padding: 50px 8%;
    background: #f6f5f0;
  }
  
  @media (max-width: 1024px) {
    .block_info {
      padding: 40px 4%;
    }
  }
  
  @media (max-width: 767px) {
    .block_info {
      padding: 7.35% 30px;
    }
  }
  
  .block_info .infoSub li:first-child {
    margin-top: 24px;
  }
  
  @media (max-width: 1024px) {
    .block_info .infoSub li:first-child {
      margin-top: 0;
    }
  }
  
  .block_info .infoSub li:last-child {
    margin-top: 10px;
  }
  
  .block_info .timetable th, .block_info .timetable td {
    padding: 6px 8px;
  }
  
  @media (max-width: 1024px) {
    .block_info .timetable th, .block_info .timetable td {
      padding: 2px 4px;
    }
  }
  
  /*--------------------------------------
    下層 アクセスブロック
  --------------------------------------*/
  .block_access .elementor-image-box-content h3.elementor-image-box-title {
    margin-bottom: 16px;
    padding: 0;
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: .2em;
    color: #987b38;
  }
  
  @media (max-width: 767px) {
    .block_access .elementor-image-box-content h3.elementor-image-box-title {
      font-size: 3.73vw;
    }
  }
  
  @media (max-width: 480px) {
    .block_access .elementor-image-box-content h3.elementor-image-box-title {
      font-size: 1.9rem;
    }
  }
  
  .block_access .elementor-image-box-content h3.elementor-image-box-title:before, .block_access .elementor-image-box-content h3.elementor-image-box-title:after {
    display: none;
  }
  
  .inquiryFormTable select {
    width: 140%;
    margin-bottom: 20px;
  }
  
  .inquiryFormTable .halfWidth {
    width: 100px;
  }
  
  .hope1_month, .hope2_month, .hope3_month, .hope1_time, .hope2_time, .hope3_time, .hope1_min, .hope2_min, .hope3_min, .inlineFormParts .halfWidth {
    display: inline-block;
  }
  
  .inlineFormParts .halfWidth {
    margin-right: 20px;
  }
  
  .hope1_day, .hope2_day, .hope3_day {
    display: inline-block;
    margin-left: 20px;
  }
  
  @media (max-width: 767px) {
    .inquiryFormTable .expected_date dd {
      padding-left: 10px;
    }
  }
  
  @media (max-width: 480px) {
    .inquiryFormTable .halfWidth {
      width: 86px;
      padding: 10px;
    }
    .inlineFormParts .halfWidth {
      margin-right: 5px;
    }
    .hope1_day, .hope2_day, .hope3_day {
      margin-left: 5px;
    }
  }
  
  .inquiryFormTable select {
    position: relative;
    background: #ECECEC url(/wp-content/uploads/ico_select.png) no-repeat right center;
    background-size: contain;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
  }
  
  .inquiryFormTable select::-ms-expand {
    display: none;
  }
  
  /* =====================================
    KEY FRAMES
  ===================================== */
  /*--------------------------------------
    アンカーリンク二重線
  --------------------------------------*/
  @keyframes hover-anchorLinks {
    0% {
      width: 0;
    }
    100% {
      width: 100%;
    }
  }
  /*# sourceMappingURL=sourcemaps/style.css.map */
  
  /*--------------------------------------
  　　テーブル
  --------------------------------------*/
  .table_case .elementor-row{
      flex-wrap: initial!important;
  }
  .table_row01 .table_cal01 h4,
  .table_row01 .table_cal02 h4,
  .table_row01 .table_cal03 h4,
  .table_row01 .table_cal04 h4{
  color: #fff!important;
  }
  .table_row01 {
    background: #223167!important;
  }
  .table_cal01 h4,
  .table_cal02 h4,
  .table_cal03 h4,
  .table_cal04 h4{
     font-size: 1.5rem!important;
  }
  .elementor-column.elementor-element-ff0858e{
      padding: 0;
      width: 55%;
      border-right: 1px solid #fff;
  }
  
  .elementor-column.elementor-element-2cbdca93,
  .elementor-column.elementor-element-77ea77c1,
  .elementor-column.elementor-element-c3cf268,
  .elementor-column.elementor-element-fb0ec4b,
  .elementor-column.elementor-element-5a8e000{
      width: 10%;
      padding: 10px;
      border-right: 1px solid #fff;
  }
  .elementor-element-bba685f{
      width: 30%;
  }
  .elementor-element-cb61f18 {
      width: 30%;
  }
  .elementor-element-a73fc53 {
      width: 30%;
  }
  @media screen and (max-width: 767px){
      .elementor-column.elementor-element-ff0858e{
      border-right: none;
  }
  }
  /*--------------------------------------
  　　テーブル02
  --------------------------------------*/
      .price_ortho_sec table {
          width: 100%;
      }
      .price_ortho_sec table tr:first-child {
          background: #223167!important;
          color: #fff!important;
      }
      .price_ortho_sec table tr:nth-child(odd) {
          background: #f9cb68;
          color: #000;
      }
      .price_ortho_sec table tr td {
          border: solid 1px #fff;
          font-size: 2rem;
          padding: 15px;
          text-align: center;
      }
      @media screen and (max-width:767px){
      .price_ortho_sec table tr td {
      font-size: 1.5rem;
      }  
      }
  
  .implant_table .price_ortho_sec table tr td {
      border: solid 1px #fff;
      font-size: 1.7rem;
      padding: 15px;
      text-align: left;
  }
  .implant_table .price_ortho_sec table tr td:first-child {
      width: 13%;
  }
  .implant_table .price_ortho_sec table tr td:nth-child(2) {
      width: 25%;
  }
  .implant_table .price_ortho_sec table tr td:nth-child(3) {
      width: 20%;
  }
  .implant_table .price_ortho_sec table tr td:last-child {
      width: 20%;
  }
  .implant_table .price_ortho_sec table tr td ul li {
      position: relative;
      padding: 10px;
  }
  .implant_table .price_ortho_sec table tr td ul li:before {
      content: "";
      width: 5px;
      height: 5px;
      display: inline-block;
      background-color: #223167;
      border-radius: 50%;
      position: absolute;
      left: 0px;
      top: 23px;
  }
  @media screen and (max-width:767px){
      .price_ortho_sec table tr td {
      font-size: 1.5rem;
      }  
      .implant_table .price_ortho_sec table tr td {
      border: solid 1px #fff;
      font-size: 1.2rem;
      padding: 5px;
      text-align: left;
      line-height: 1.3;
  }
      .elementor-section.elementor-section-boxed > .elementor-container {
  /* 	padding: 0 20px; */
  }
      }
  .info_container .elementor-container{
      max-width: 1080px;
  }
