@charset "UTF-8";

/* 
Theme Name: Genova Template
File: content.css
Theme Author: Genova Design
Author URL: https://genova.co.jp/
Template: genova_tpl
Description: This file is reserved for under pages (not top-page) and other elements
Version: 1.3
*/
/*-----------------------------------------------------------
■ 1 Under page
-----------------------------------------------------------*/
/*--------------------------------------
   general
--------------------------------------*/
body:not(.home) #content {
   background: url("../img/page-bg-bottom.webp") no-repeat center bottom/100% auto;
   padding: 0 30px 22%;
}

body:not(.home) #content>.container {
   background-color: #fff;
   max-width: 1200px;
   min-height: 600px;
   margin-bottom: 110px;
   padding: 80px 84px;
   border-radius: 32px;
}

body:not(.home) #content .deco-1 {
   width: 214px;
   position: absolute;
   top: -105px;
   left: -95px;
}

body:not(.home) #content .deco-2 {
   width: 167px;
   position: absolute;
   right: -52px;
   bottom: -52px;
}

.home #content {
   padding: 0;
}

@media screen and (max-width: 1200px) {
   body:not(.home) #content>.container {
      padding: 80px 30px;
   }
}

@media screen and (max-width: 767px) {
   body:not(.home) #content {
      background-size: 150% auto;
      padding: 40px 20px 24vw;
   }

   body:not(.home) #content>.container {
      border-radius: 24px;
      margin-bottom: 40px;
      padding: 50px 20px;
   }

   body:not(.home) #content .deco-1 {
      width: 84px;
      top: -40px;
      left: -10px;
   }

   body:not(.home) #content .deco-2 {
      width: 84px;
      right: -10px;
      bottom: -40px;
   }
}

/*--------------------------------------
   title holder
--------------------------------------*/
.title-holder {
   width: 100%;
   background: url("../img/kv-photo.webp") no-repeat center/cover;
   position: relative;
   padding: 212px 0 16%;
}

.title-holder:before {
   content: '';
   width: 100%;
   height: 100%;
   background-color: rgba(15, 112, 167, 0.4);
   position: absolute;
   top: 0;
   left: 0;
}

.title-holder:after {
   content: '';
   width: 100%;
   height: auto;
   padding-top: 22.7%;
   background: url("../img/kv-bg.webp") no-repeat center top/100% auto;
   position: absolute;
   bottom: 0;
   left: 0;
}

.title-holder .title-holder__inner {
   display: flex;
   justify-content: center;
   align-items: center;
   height: 100%;
   text-align: center;
}

.title-holder .container h1,
.title-holder .container h2 {
   font-weight: 500;
   font-size: 40px;
   letter-spacing: 0;
   line-height: 2;
   color: #FFFFFF;
   font-family: "Zen Maru Gothic", sans-serif;
}

.title-holder .container h1 .sub,
.title-holder .container h2 .sub {
   display: block;
   font-family: "Alfa Slab One", serif;
   font-weight: 400;
   font-style: normal;
   font-size: 16px;
   letter-spacing: 0.06em;
   line-height: 1;
   text-transform: uppercase;
}

@media screen and (max-width: 1024px) {
   .title-holder {
      padding: 14vw 0 18vw;
   }
}

@media screen and (max-width: 767px) {
   .title-holder {
      padding: 10vw 0 20vw;
   }

   .title-holder .container h1,
   .title-holder .container h2 {
      font-size: 32px;
   }

   .title-holder .container h1 .sub,
   .title-holder .container h2 .sub {
      font-size: 14px;
   }
}

/*--------------------------------------
   bread
--------------------------------------*/
#bread_area {
   display: flex;
   align-items: center;
   height: 22%;
   position: absolute;
   right: 0;
   bottom: 0;
   left: 0;
   z-index: 1;
}

#bread {
   max-width: 1080px;
   width: 100%;
   margin: 0 auto;
   padding: 0 30px;
   text-align: center;
   line-height: 1.3;
}

#bread li {
   display: inline;
   font-weight: 600;
   font-size: 16px;
   letter-spacing: 0.05em;
   color: #F3954E;
}

#bread li+li::before {
   content: ">";
   padding-right: .3em;
}

#bread li a {
   vertical-align: baseline;
   text-decoration: underline;
   color: #1E272C;
}

#bread li a:hover {
   text-decoration: none;
}

@media screen and (max-width: 767px) {
   #bread_area {
      height: auto;
   }

   #bread li {
      font-size: 12px;
   }
}

/*--------------------------------------
   titles
--------------------------------------*/
.under-title+.under-title {
   margin-top: 10px;
}

.under-title h2,
.under-title h3,
.under-title h4,
.under-title h5,
.under-title h6 {
   font-family: "Zen Maru Gothic", sans-serif;
   font-weight: 500;
   letter-spacing: 0.2em;
   line-height: 1.2;
   position: relative;
   margin-bottom: 20px;
}

.under-title h2 {
   display: grid;
   grid-template-columns: 52px 1fr;
   align-items: center;
   gap: 20px;
   background: #2D93CF;
   color: #fff;
   font-size: 28px;
   border-radius: 10px;
   padding: 8px 24px;
}

.under-title h2:before {
   content: '';
   display: block;
   width: 54px;
   height: 54px;
   background: url("../img/heading-icon-1.webp") no-repeat center/100% auto;
}

.under-title h3 {
   font-size: 28px;
   color: #0F70A7;
}

.under-title h3:after {
   content: '';
   width: 190px;
   height: 4px;
   border-radius: 4px;
   display: block;
   background-image: linear-gradient(to right, #F5A06A 33.33%, #F5A06A 33.33%, #C1D33A 33.33%, #C1D33A 66.66%, #61A6D4 66.66%, #61A6D4 100%);
   margin-top: 11px;
}

.under-title h4 {
   font-size: 24px;
   color: #0F70A7;
}

.under-title h5,
.under-title h6 {
   font-size: 20px;
   color: #0F70A7;
}

.under-title h4:not(:first-child) {
   margin-top: 40px;
}

@media screen and (max-width: 767px) {
   .under-title h2 {
      grid-template-columns: 40px 1fr;
      gap: 10px;
      font-size: 22px;
      padding: 8px 12px;
   }

   .under-title h2:before {
      width: 40px;
      height: 40px;
   }

   .under-title h3 {
      font-size: 22px;
   }

   .under-title h3:after {
      width: 100px;
   }

   .under-title h4 {
      font-size: 20px;
   }

   .under-title h5,
   .under-title h6 {
      font-size: 18px;
   }
}

/*--------------------------------------
   btn
--------------------------------------*/
.btn a {
   position: relative;
   display: inline-flex;
   align-items: center;
   min-width: 290px;
   height: 100px;
   padding: 0 68px 0 24px;
   margin: 0;
   border-radius: 10px;
   font-family: "Zen Maru Gothic", sans-serif;
   font-weight: 500;
   font-style: normal;
   font-size: 26px;
   line-height: 1.2;
   letter-spacing: 0;
   color: #fff;
   background: url("../img/btn-bg.webp") no-repeat center top/cover;
   text-align: left;
}

.btn a:after {
   content: '';
   width: 16px;
   height: 16px;
   background: url("../img/icons/btn-arrow.webp") no-repeat center top/cover;
   position: absolute;
   top: 50%;
   right: 25px;
   transform: translateY(-50%);
}

.btn a:hover {
   opacity: 0.7;
}

/* elementor btn */
.btn.elementor-widget-button a.elementor-button {
   display: inline-flex;
}

@media screen and (max-width: 767px) {
   .btn a {
      max-width: 100%;
      min-width: 100%;
      font-size: 22px;
      padding: 0 50px 0 20px;
   }
}

/*-----------------------------------------------------------
■ 2 Blocks
-----------------------------------------------------------*/
/*--------------------------------------
   google calendar
--------------------------------------*/
.google-calendar {
   position: relative;
   height: 0;
   padding-top: 500px;
   overflow: hidden;
}

.google-calendar iframe {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
}

@media screen and (max-width: 767px) {
   .google-calendar {
      padding-top: 400px;
   }
}

/*--------------------------------------
   map
--------------------------------------*/
.map {
   position: relative;
   width: 100%;
   padding-top: 300px;
}

.map iframe {
   position: absolute;
   top: 0;
   right: 0;
   width: 100% !important;
   height: 100% !important;
   border: none;
}

/*--------------------------------------
   treatment 診療科目
--------------------------------------*/
.treatment-block {
   padding: 55px;
   font-size: 16px;
   letter-spacing: 1.6px;
   color: #535353;
   background: #F0F5EF;
}

.treatment-block h2 {
   font-family: "秀英角ゴシック銀 B", "Shuei KakuGo Gin B";
   font-weight: bold;
   font-size: 33px;
   letter-spacing: 3.96px;
   color: #94C789;
}

.treatment-block .elementor-button {
   position: relative;
   width: 100%;
   font-family: "秀英角ゴシック銀 B", "Shuei KakuGo Gin B";
   font-weight: bold;
   text-align: left;
   line-height: 1;
   color: #FFFFFF;
   background: #94C789;
}

.treatment-block .elementor-button.elementor-size-sm {
   max-width: 250px;
   padding: 18px 25px;
   font-size: 18px;
   letter-spacing: 2px;
}

.treatment-block .elementor-button.elementor-size-md {
   max-width: 350px;
   padding: 20px 30px;
   font-size: 20px;
   letter-spacing: 2.4px;
}

.treatment-block .elementor-button.elementor-size-lg {
   max-width: 450px;
   padding: 22px 30px;
   font-size: 22px;
   letter-spacing: 3.5px;
}

.treatment-block .elementor-button::after {
   content: "";
   position: absolute;
   right: 20px;
   top: calc(50% - 4.5px);
   width: 0;
   height: 0;
   border-style: solid;
   border-width: 4.5px 0 4.5px 7px;
   border-color: transparent transparent transparent #ffffff;
}

@media screen and (max-width: 1024px) and (min-width: 768px) {
   .treatment-block {
      padding: 30px;
   }
}

@media screen and (max-width: 767px) {
   .treatment-block {
      padding: 30px 15px;
   }

   .treatment-block .elementor-button-wrapper {
      text-align: center;
   }
}

/*--------------------------------------
   timetable
--------------------------------------*/
table.timetable {
   width: 100%;
   table-layout: fixed;
   border-collapse: collapse;
}

.timetable th,
.timetable td {
   padding: 4px 0 5px;
   vertical-align: middle;
   text-align: center;
   font-size: 15px;
   line-height: 1;
}

.timetable thead th {
   padding: 0 0 10px;
   border-bottom: 1px solid #EBE9E7;
   font-weight: normal;
}

.timetable thead th:first-child {
   width: 20%;
   text-align: left;
   font-size: 18px;
   letter-spacing: 0.15em;
}

.timetable tbody tr td:first-child {
   padding-top: 17px;
   text-align: left;
   word-break: keep-all;
   white-space: nowrap;
   letter-spacing: 0.1em;
}

.timetable tbody tr:last-child td {
   padding-bottom: 17px;
   border-bottom: 1px solid #EBE9E7;
}

@media screen and (max-width: 767px) {
   .timetable thead th:first-child {
      width: 28%;
   }

   .timetable tbody th {
      letter-spacing: 0.05em;
   }
}

@media screen and (max-width: 480px) {

   .timetable th,
   .timetable td {
      font-size: 70%;
      letter-spacing: 0;
   }

   .timetable thead th:first-child {
      width: 32%;
      font-size: 16px;
   }
}

/*--------------------------------------
   image wrap
--------------------------------------*/
.image-wrap__left img {
   float: left;
   margin: 0 15px 15px 0;
}

.image-wrap__right img {
   float: right;
   margin: 0 0 15px 15px;
}

@media (max-width: 768px) {

   .image-wrap__left img,
   .image-wrap__right img {
      display: block;
      float: none;
      width: auto;
      margin: 0 auto;
   }
}

/*--------------------------------------
   border box
--------------------------------------*/
.frame-box {
   padding: 40px;
   border: 3px solid #9f9f9f;
}

.frame-box h3 {
   position: relative;
   padding-left: 20px;
   margin-bottom: 20px;
   overflow: hidden;
   font-family: "秀英丸ゴシック B", "Shuei MaruGo B";
   font-size: 26px;
   line-height: 1.6;
   letter-spacing: 0.15em;
   color: #686868;
}

.frame-box h3::before {
   content: "";
   position: absolute;
   left: 0;
   top: 50%;
   display: block;
   width: 8px;
   height: 8px;
   margin-top: -4px;
   border-radius: 50%;
   background: #2a81f3;
}

/*--------------------------------------
   Q&A
--------------------------------------*/
.qa .qa__block+.qa__block {
   margin-top: 40px;
}

.qa__block dt,
.qa__block dd {
   display: table;
   width: 100%;
   margin-bottom: 20px;
}

.qa__block .qa__num {
   display: table-cell;
   padding-right: 20px;
   vertical-align: top;
}

.qa__block dt .qa__num span,
.qa__block dd .qa__num span {
   display: block;
   width: 40px;
   height: 40px;
   border-radius: 50%;
   font-size: 22px;
   text-align: center;
   letter-spacing: 0;
   line-height: 40px;
   color: #fff;
   background: #94C789;
}

.qa__block dd .qa__num span {
   color: #94C789;
   background: #eff9e5;
}

.qa__block .qa__text {
   display: table-cell;
   width: 100%;
   vertical-align: middle;
}

.qa_list dt .qa__text {
   font-size: 18px;
}

/*--------------------------------------
   flow
--------------------------------------*/
.flow>li {
   position: relative;
   padding: 30px;
   margin-bottom: 70px;
   background: #F5FBF0;
}

.flow>li:last-child {
   margin-bottom: 0;
}

.flow>li::after {
   content: "";
   position: absolute;
   left: 50%;
   bottom: -40px;
   display: block;
   width: 22px;
   height: 22px;
   border-right: 3px solid #94C789;
   border-bottom: 3px solid #94C789;
   margin-left: -11px;
   -webkit-transform: rotate(45deg);
   -moz-transform: rotate(45deg);
   -o-transform: rotate(45deg);
   transform: rotate(45deg);
}

.flow>li:last-child::after {
   display: none;
}

.flow .flow__title {
   position: relative;
   overflow: hidden;
   font-size: 24px;
   line-height: 1.4;
   margin-bottom: 15px;
   color: #94C789;
}

.flow .flow__title span {
   display: inline-block;
   width: 30px;
   height: 30px;
   margin-right: 10px;
   vertical-align: top;
   text-align: center;
   font-size: 20px;
   line-height: 32px;
   letter-spacing: 0;
   color: #fff;
   background: #94C789;
}

/*--------------------------------------
   num list
--------------------------------------*/
.num-list {
   counter-reset: li;
}

.num-list .elementor-icon-list-items li {
   position: relative;
   padding-left: 35px;
   margin-bottom: 15px;
}

.num-list .elementor-icon-list-items li:last-child {
   margin-bottom: 0;
}

.num-list .elementor-icon-list-items li::before {
   content: counter(li, decimal);
   counter-increment: li;
   position: absolute;
   left: 0;
   top: 4px;
   display: block;
   width: 24px;
   height: 24px;
   text-align: center;
   font-size: 16px;
   line-height: 26px;
   letter-spacing: 0;
   color: #fff;
   background: #94C789;
}

/*--------------------------------------
   check list
--------------------------------------*/
#main .check-list .elementor-icon-list-items li {
   position: relative;
   padding: 2px 0 2px 30px;
}

#main .check-list .elementor-icon-list-items li::before {
   content: "";
   position: absolute;
   left: 0;
   top: 8px;
   display: block;
   height: 19px;
   width: 19px;
   border: 2px solid #94C789;
}

#main .check-list .elementor-icon-list-items li::after {
   content: "";
   position: absolute;
   left: 7px;
   top: 11px;
   display: block;
   width: 5px;
   height: 11px;
   border: solid #94C789;
   border-width: 0 2px 2px 0;
   -webkit-transform: rotate(45deg);
   -moz-transform: rotate(45deg);
   -o-transform: rotate(45deg);
   transform: rotate(45deg);
}

/*--------------------------------------
   anchor link list
--------------------------------------*/
.anchor-links {
   padding: 25px 35px;
   background: #f2fbeb;
   list-style: none;
}

.anchor-links .elementor-icon-list-items li {
   position: relative;
   display: inline-block;
   width: auto;
   padding-left: 16px;
   margin: 5px 30px 5px 0;
   line-height: 1.6;
}

.anchor-links .elementor-icon-list-items li a {
   text-decoration: underline;
}

.anchor-links .elementor-icon-list-items li a:before {
   content: "";
   position: absolute;
   top: 8px;
   left: 0;
   display: block;
   width: 0;
   height: 0;
   border-top: 5px solid transparent;
   border-bottom: 5px solid transparent;
   border-left: 8px solid #94C789;
   -webkit-transition-duration: 0.6s;
   -ms-transition-duration: 0.6s;
   -moz-transition-duration: 0.6s;
   transition-duration: 0.6s;
}

.anchor-links .elementor-icon-list-items li a:hover:before {
   -webkit-transform: rotate(90deg);
   -moz-transform: rotate(90deg);
   -o-transform: rotate(90deg);
   transform: rotate(90deg);
}

.anchor-links .elementor-icon-list-items li a:hover {
   text-decoration: none;
   color: #94C789;
}

@media screen and (max-width: 767px) {
   .anchor-links .elementor-icon-list-items li {
      display: block;
      width: 100%;
      margin: 5px 0;
   }
}

/*--------------------------------------
   post box
--------------------------------------*/
.post-box {
   margin: 30px auto 0 auto;
}

.post-box__header {
   position: relative;
   padding: 0 0 28px;
   border-bottom: 1px solid #EBE9E7;
}

.post-box__header h2 {
   text-align: center;
   font-size: 22px;
   font-weight: bold;
   letter-spacing: 0.15em;
   line-height: 1;
   color: #000000;
}

.post-box__summary-link {
   position: absolute;
   right: 0;
   top: 0;
   font-size: 13px;
   text-decoration: underline;
   color: #473019;
}

.post-box__summary-link:hover {
   text-decoration: none;
}

.post-box dl {
   padding: 15px 0 20px;
   background-size: 20px 1px;
}

.post-box dl dt {
   line-height: 1;
   margin-bottom: 10px;
   font-size: 13px;
   color: #72706E;
}

.post-box dl dt .new-label {
   display: inline-block;
   width: 37px;
   height: 13px;
   padding: 0;
   margin: -2px 0 0 10px;
   vertical-align: middle;
   line-height: 13px;
   font-size: 9px;
   font-weight: bold;
   letter-spacing: 0;
   text-indent: 0;
   text-align: center;
   color: #fff;
   background: #B09DC8;
}

.post-box dl dd a:hover {
   text-decoration: underline;
}

/*--------------------------------------
two columns table
--------------------------------------*/
.two-columns-table th,
.two-columns-table td {
   border-bottom: 1px solid #94C789;
   vertical-align: top;
   line-height: 1.6;
}

.two-columns-table tr:first-child th,
.two-columns-table tr:first-child td {
   border-top: 1px solid #94C789;
}

.two-columns-table th {
   width: 30%;
   padding: 13px 0px 10px 14px;
}

.two-columns-table td {
   padding: 13px 14px 10px;
}

/*-----------------------------------------------------------
■ 2 Blog
-----------------------------------------------------------*/
/*--------------------------------------
   post
--------------------------------------*/
#posts {
   float: left;
   width: 65%;
}

#blogDetail,
#blogList {
   min-height: 850px;
   margin-top: 40px;
   margin-bottom: 103px;
}

#blogList .post {
   padding-bottom: 35px;
   font-size: 16px;
   line-height: 2;
}

.posts__list li {
   position: relative;
   float: left;
   width: 45%;
   margin-left: 10%;
   margin-bottom: 75px;
}

.posts__list li:nth-child(2n+1) {
   margin-left: 0;
   clear: both;
}

.posts__list li .post__category {
   position: absolute;
   left: 0;
   top: 0;
   margin: 0;
   line-height: 1;
   z-index: 10;
}

.post .post__category a,
.posts__list .post__category a {
   display: inline-block;
   min-width: 107px;
   height: 25px;
   padding: 2px 8px;
   font-family: "ヒラギノ角ゴ W6 JIS2004", "Hiragino Kaku Gothic W6 JIS2004";
   font-size: 12px;
   font-weight: bold;
   letter-spacing: 0;
   line-height: 20px;
   text-transform: uppercase;
   color: #fff;
   background: #0F70A7;
}

.post .post__category a:hover,
.posts__list .post__category a:hover {
   background: #000;
}

.post .post__category a:before,
.posts__list .post__category a:before {
   margin-right: 7px;
   vertical-align: baseline;
   font-size: 10px;
}

.posts__list li .post__image {
   position: relative;
   overflow: hidden;
   min-height: 26px;
   margin-bottom: 20px;
}

.posts__list li .post__image a {
   display: block;
   width: 100%;
   height: 100%;
   padding-top: 54%;
}

.posts__list li .post__image a span {
   position: absolute;
   top: 0;
   left: 0;
   display: block;
   width: 100%;
   height: 100%;
   background-position: center;
   background-size: cover;
   background-repeat: no-repeat;
   -moz-transform: scale(1);
   -ms-transform: scale(1);
   -webkit-transform: scale(1);
   transform: scale(1);
   -moz-transition: ease-in-out .2s;
   -o-transition: ease-in-out .2s;
   -webkit-transition: ease-in-out .2s;
   transition: ease-in-out .2s;
}

.posts__list li .post__image a:hover span {
   -moz-transform: scale(1.1);
   -ms-transform: scale(1.1);
   -webkit-transform: scale(1.1);
   transform: scale(1.1);
}

.posts__list li .post__image span.noimage {
   background: url('../img/thumbnail.png') no-repeat center / cover;
   overflow: hidden;
   line-height: 0;
   text-indent: 100%;
}

.posts__list h3 {
   margin-bottom: 35px;
   font-size: 18px;
   font-weight: bold;
   line-height: 1.4;
   letter-spacing: 0;
}

.posts__list h3 a:hover {
   color: #0F70A7;
}

.posts__list .post__excerpt {
   margin-bottom: 16px;
   font-size: 14px;
   line-height: 1.5;
   letter-spacing: 0;
   color: #72706E;
}

@media screen and (max-width: 1000px) {
   .posts__list li {
      width: 48%;
      margin-left: 4%;
   }

   .posts__list li:nth-child(2n+1) {
      margin-left: 0;
   }
}

@media screen and (max-width: 767px) {
   #posts {
      float: none;
      width: 100%;
   }

   .posts__list li {
      margin-bottom: 50px;
   }
}

@media screen and (max-width: 480px) {
   .posts__list li {
      float: none;
      width: 100%;
      margin-left: 0;
   }

   #blogDetail .post__header h2 {
      font-size: 22px;
      line-height: 1.4;
   }

   #blogDetail .post__content h3 {
      padding: 26px 5px 26px 20px;
      margin: 35px 0 30px;
      font-size: 20px;
      line-height: 1.4;
   }

   #blogDetail .post__content h4 {
      font-size: 19px;
   }
}

/*--------------------------------------
   blog detail
--------------------------------------*/
#blogDetail .post {
   padding-bottom: 35px;
   font-size: 14px;
   line-height: 1.7;
   color: #0F0E0E;
}

#blogDetail .post__header {
   padding: 0px;
   margin-bottom: 25px;
}

#blogDetail .post__header h1 {
   font-size: 30px;
   font-weight: bold;
   line-height: 1.8;
   letter-spacing: 0.05em;
}

#blogDetail .post__header .post__meta {
   margin-bottom: 45px;
}

#blogDetail .post__header .post__meta .post__date {
   margin-top: 22px;
}

@media screen and (max-width: 767px) {

   #blogDetail .post__header .post__category,
   #blogDetail .post__header .post__meta .post__date {
      float: none;
   }
}

/*--------------------------------------
   post date
--------------------------------------*/
.post .post__date,
.posts__list .post__date {
   font-size: 10px;
   letter-spacing: 0;
   color: #0F70A7;
}

.post .post__date span,
.posts__list .post__date span {
   margin-left: 10px;
}

.post .post__date span::before,
.posts__list .post__date span::before {
   margin-right: 5px;
   font-size: 9px;
}

.post .post__date span a,
.posts__list .post__date span a {
   vertical-align: baseline;
   color: #94C789;
}

.post .post__date span a:hover,
.posts__list .post__date span a:hover {
   text-decoration: underline;
}

.post__content {
   overflow: hidden;
   letter-spacing: 0;
   line-height: 2.3;
}

.post__content a {
   color: #0000ee;
   text-decoration: underline;
}

.post__content h2 {
   font-size: 1.5em;
}

.post__content h3 {
   font-size: 1.4em;
}

.post__content h4 {
   font-size: 1.3em;
}

.post__content h5 {
   font-size: 1.2em;
}

div#blogDetail .post__content img {
   width: auto;
   height: auto;
   max-width: 100%;
}

/*--------------------------------------
   bloginfo box
--------------------------------------*/
.blog-info-box {
   display: table;
   width: 100%;
   margin-top: 60px;
   background: #EBE9E7;
}

.blog-info-box .blog-info-box__name {
   display: table-cell;
   width: 50%;
   padding: 29px 30px;
   border-right: 1px solid #BFBEBD;
   vertical-align: middle;
}

.blog-info-box .blog-info-box__name .icon-blog {
   position: relative;
   display: block;
   padding-left: 25px;
   font-size: 16px;
   line-height: 1.6;
   color: #373431;
}

.blog-info-box .blog-info-box__name .icon-blog::before {
   position: absolute;
   left: 0;
   top: 50%;
   display: block;
   margin-top: -8px;
   font-size: 15px;
   color: #0F70A7;
}

.blog-info-box .blog-info-box__share {
   display: table-cell;
   width: 50%;
   padding: 30px 10px;
   vertical-align: middle;
   text-align: center;
}

.blog-info-box .blog-info-box__share li {
   display: inline-block;
   margin: 0 5px;
   vertical-align: middle;
}

.blog-info-box .blog-info-box__share li a {
   display: block;
   overflow: hidden;
   width: 50px;
   height: 50px;
   border-radius: 50%;
   font-size: 0;
   line-height: 1;
}

.blog-info-box .blog-info-box__share li a::before {
   color: #fff;
}

.blog-info-box .blog-info-box__share .icon-facebook {
   background: #4967A3;
}

.blog-info-box .blog-info-box__share .icon-facebook:hover {
   background: #587cc1;
}

.blog-info-box .blog-info-box__share .icon-facebook::before {
   margin-top: 12px;
   font-size: 26px;
}

.blog-info-box .blog-info-box__share .icon-line {
   background: #18BC01;
}

.blog-info-box .blog-info-box__share .icon-line:hover {
   background: #1cde00;
}

.blog-info-box .blog-info-box__share .icon-line::before {
   font-size: 29px;
   margin-top: 11px;
}

.blog-info-box .blog-info-box__share .icon-twitter {
   background: #11BBEF;
}

.blog-info-box .blog-info-box__share .icon-twitter:hover {
   background: #13C7FE;
}

.blog-info-box .blog-info-box__share .icon-twitter::before {
   margin-top: 14px;
   font-size: 24px;
}

.blog-info-box .blog-info-box__share .icon-google {
   background: #E05C4F;
}

.blog-info-box .blog-info-box__share .icon-google:hover {
   background: #fb7468;
}

.blog-info-box .blog-info-box__share .icon-google::before {
   margin-top: 15px;
   font-size: 20px;
}

@media screen and (max-width: 1000px) and (min-width: 768px) {
   .blog-info-box .blog-info-box__share li {
      margin: 0 3px;
   }

   .blog-info-box .blog-info-box__share li a {
      width: 40px;
      height: 40px;
   }

   .blog-info-box .blog-info-box__share .icon-facebook::before {
      margin-top: 9px;
      font-size: 22px;
   }

   .blog-info-box .blog-info-box__share .icon-line::before {
      margin-top: 8px;
      font-size: 25px;
   }

   .blog-info-box .blog-info-box__share .icon-twitter::before {
      margin-top: 11px;
      font-size: 20px;
   }

   .blog-info-box .blog-info-box__share .icon-google::before {
      margin-top: 12px;
      font-size: 16px;
   }
}

@media screen and (max-width: 767px) {
   .blog-info-box {
      display: block;
   }

   .blog-info-box .blog-info-box__name {
      display: block;
      width: 100%;
      padding: 20px;
      border-right: none;
      border-bottom: 1px solid #BFBEBD;
      text-align: center;
   }

   .blog-info-box .blog-info-box__name .icon-blog {
      display: inline-block;
      text-align: left;
   }

   .blog-info-box .blog-info-box__share {
      display: block;
      width: 100%;
      padding: 20px 10px;
   }
}

/*--------------------------------------
   navigation
--------------------------------------*/
.navigation {
   margin-top: 52px;
   overflow: hidden;
}

.navigation::after {
   content: "";
   display: table;
   clear: both;
}

.navigation .prev {
   float: left;
   width: 100px;
}

.navigation .next {
   float: right;
   width: 100px;
}

.navigation a {
   position: relative;
   display: block;
   width: 100%;
   height: 40px;
   border-radius: 5px;
   text-align: center;
   font-size: 14px;
   font-weight: bold;
   line-height: 40px;
   letter-spacing: 0.1em;
   color: #373431;
   background: #BFBEBD;
}

.navigation a:hover {
   background: #0F70A7;
   color: #C4D1D8;
}

.navigation .prev a span {
   padding-left: 8px;
}

.navigation .next a span {
   padding-right: 8px;
}

.navigation .prev a span::before {
   position: absolute;
   left: 8px;
   top: 50%;
   display: block;
   margin-top: -5px;
   font-size: 10px;
}

.navigation .next a span::before {
   position: absolute;
   right: 8px;
   top: 50%;
   display: block;
   margin-top: -5px;
   font-size: 10px;
}

.navigation ul {
   display: -webkit-flex;
   display: flex;
   max-width: 200px;
   margin: 0 auto;
}

.navigation li {
   display: -webkit-flex;
   display: flex;
   margin: 0 1px 0 2px;
   width: 30px;
}

@media screen and (max-width: 767px) {
   .navigation {
      margin-top: 35px;
   }

   .navigation ul {
      padding-top: 20px;
      clear: both;
   }
}

/*--------------------------------------
   pagination
--------------------------------------*/
.pagination {
   position: relative;
   padding-top: 52px;
   border-top: 1px solid #72706E;
   overflow: hidden;
}

.pagination ul {
   text-align: center;
}

.pagination ul li {
   display: inline-block;
   width: 30px;
   font-family: "ヒラギノ角ゴ W6 JIS2004", "Hiragino Kaku Gothic W6 JIS2004";
}

.pagination ul li a,
.pagination ul li span.dots {
   position: relative;
   display: block;
   width: 100%;
   height: 40px;
   border-radius: 5px;
   text-align: center;
   font-size: 16px;
   line-height: 40px;
   letter-spacing: 0;
   font-weight: 400;
   color: #373431;
   background: #BFBEBD;
}

.pagination ul li span.dots {
   background: none;
}

.pagination ul li a:hover {
   background: #0F70A7;
   color: #C4D1D8;
}

.pagination ul li span.current {
   position: relative;
   display: block;
   width: 100%;
   height: 40px;
   border-radius: 5px;
   text-align: center;
   font-size: 16px;
   line-height: 40px;
   letter-spacing: 0;
   font-weight: 400;
   background: #0F70A7;
   color: #C4D1D8;
}

.pagination ul li .prev {
   position: absolute;
   left: 0;
   top: 52px;
   display: block;
   width: 100px;
   padding-left: 8px;
}

.pagination ul li .next {
   position: absolute;
   right: 0;
   top: 52px;
   display: block;
   width: 100px;
   padding-right: 8px;
   font-weight: bold;
}

.pagination ul li .prev span::before {
   position: absolute;
   left: 8px;
   top: 50%;
   display: block;
   margin-top: -5px;
   font-size: 10px;
}

.pagination ul li .next span::before {
   position: absolute;
   right: 8px;
   top: 50%;
   display: block;
   margin-top: -5px;
   font-size: 10px;
}

/*-----------------------------------------------------------
■ 2 Side
-----------------------------------------------------------*/
/*--------------------------------------
   general
--------------------------------------*/
.blogside {
   float: right;
   width: 28%;
}

.blogside h2.widgettitle {
   display: none;
}

.blogside h2 {
   padding-bottom: 9px;
   margin-bottom: 24px;
   border-bottom: 2px solid #373431;
   font-size: 18px;
   font-weight: bold;
   letter-spacing: 0.1em;
   line-height: 1;
   color: #373431;
}

.blogside h2 span {
   display: inline-block;
   margin-left: 10px;
   vertical-align: middle;
   font-size: 14px;
   letter-spacing: 0;
   color: #72706E;
}

@media screen and (max-width: 1000px) and (min-width: 768px) {
   .blogside {
      float: right;
      width: 30%;
   }

   .blogside h2 {
      font-size: 14px;
      letter-spacing: 0;
   }

   .blogside h2 span {
      font-size: 12px;
   }
}

@media screen and (max-width: 767px) {
   .blogside {
      float: none;
      width: 100%;
      padding: 46px 0 0;
      border-top: 1px solid #5D5555;
      margin-top: 35px;
   }
}

/*--------------------------------------
   search box
--------------------------------------*/
.blogside .search-box {
   margin-bottom: 40px;
}

.blogside .search-box label {
   display: none;
}

.blogside .search-box #searchform {
   position: relative;
}

.blogside .search-box #s {
   height: 55px;
   width: 100%;
   padding: 0 40px 0 14px;
   border: none;
   font-size: 13px;
   color: #72706E;
   background: #EBE9E7;
}

.blogside .search-box .icon-search::before {
   position: absolute;
   right: 16px;
   top: 50%;
   margin-top: -8px;
   color: #0F70A7;
}

.blogside .search-box #searchsubmit {
   position: absolute;
   top: 50%;
   right: 16px;
   width: 15px;
   height: 15px;
   border: none;
   margin-top: -8px;
   font-size: 0;
   background: none;
   cursor: pointer;
}

/*--------------------------------------
   category box
--------------------------------------*/
.blogside .category-box {
   margin-bottom: 50px;
}

.blogside .category-box ul li {
   padding-bottom: 16px;
   border-bottom: 1px solid #b8c2c1;
   margin-bottom: 18px;
   text-transform: uppercase;
   color: #000;
}

.blogside .category-box ul li:last-child {
   margin-bottom: 0;
}

.blogside .category-box ul li a {
   font-size: 18px;
   font-weight: bold;
   letter-spacing: 0.1em;
   color: #373431;
   -moz-transition: all .3s ease;
   -o-transition: all .3s ease;
   -webkit-transition: all .3s ease;
   transition: all .3s ease;
}

.blogside .category-box ul li a span {
   display: block;
   font-size: 14px;
   letter-spacing: 0;
   color: #373431;
   -moz-transition: all .3s ease;
   -o-transition: all .3s ease;
   -webkit-transition: all .3s ease;
   transition: all .3s ease;
}

.blogside .category-box ul li a:hover,
.blogside .category-box ul li a:hover span {
   color: #0F70A7;
}

/*--------------------------------------
   recent box
--------------------------------------*/
.recent-box {
   margin-bottom: 50px;
}

.recent-box li {
   padding-bottom: 13px;
   border-bottom: 1px solid #BFBEBD;
   margin-bottom: 22px;
   font-size: 13px;
   line-height: 1.3;
}

.recent-box li:last-child {
   margin-bottom: 0;
}

.recent-box li .recent-box__thumbnail {
   position: relative;
   float: right;
   width: 48px;
   height: 48px;
   margin-left: 12px;
   overflow: hidden;
}

.recent-box li .recent-box__thumbnail a {
   display: block;
   width: 48px;
   height: 48px;
   line-height: 1;
}

.recent-box li .recent-box__thumbnail a span {
   display: block;
   width: 100%;
   height: 100%;
   background-position: center;
   background-repeat: no-repeat;
   background-size: cover;
   -moz-transform: scale(1);
   -ms-transform: scale(1);
   -webkit-transform: scale(1);
   transform: scale(1);
}

.recent-box li .recent-box__thumbnail a:hover {
   -moz-transform: scale(1.1);
   -ms-transform: scale(1.1);
   -webkit-transform: scale(1.1);
   transform: scale(1.1);
}

.recent-box li h3 a {
   color: #373431;
   -moz-transition: all .3s ease;
   -o-transition: all .3s ease;
   -webkit-transition: all .3s ease;
   transition: all .3s ease;
}

.recent-box li h3 a:hover {
   color: #0F70A7;
}

.recent-box__date {
   margin-top: 5px;
   font-size: 10px;
   color: #72706E;
}

.recent-box li .recent-box__date {
   margin-top: 15px;
}

/*--------------------------------------
   tag box
--------------------------------------*/
.blogside .tag-box {
   margin-bottom: 40px;
}

.blogside .tag-box h2 {
   margin-bottom: 12px;
}

.blogside .tag-box .tagcloud a {
   display: inline-block;
   padding: 7px 10px;
   border: 1px solid #72706E;
   margin-bottom: 9px;
   border-radius: 3px;
   font-size: 14px !important;
   letter-spacing: 0;
   line-height: 1;
   color: #373431;
   -moz-transition: all .3s ease;
   -o-transition: all .3s ease;
   -webkit-transition: all .3s ease;
   transition: all .3s ease;
}

.blogside .tag-box .tagcloud a:hover {
   color: #fff;
   background: #0F70A7;
}

/*--------------------------------------
   archive box
--------------------------------------*/
.archive-box {
   font-size: 14px;
   line-height: 1.4;
}

.archive-box>ul>li {
   margin-top: 20px;
}

.archive-box>ul>li:first-child {
   margin: 0;
}

.archive-box ul li p {
   position: relative;
   display: inline-block;
   padding-left: 22px;
   margin: 0;
   cursor: pointer;
}

.archive-box ul li p:visited {
   color: #373431;
}

.archive-box ul li p:hover {
   font-weight: bold;
   color: #0F70A7;
}

.archive-box ul li p.acv_open {
   font-weight: bold;
   color: #0F70A7;
}

.archive-box ul li p::before {
   content: '';
   position: absolute;
   top: 4px;
   left: 0;
   display: block;
   width: 8px;
   height: 8px;
   border-right: 1px solid #0F70A7;
   border-bottom: 1px solid #0F70A7;
   -moz-transform: rotate(-45deg);
   -ms-transform: rotate(-45deg);
   -webkit-transform: rotate(-45deg);
   transform: rotate(-45deg);
}

.archive-box ul li p.acv_open::before {
   top: 1px;
   left: 2px;
   -moz-transform: rotate(45deg);
   -ms-transform: rotate(45deg);
   -webkit-transform: rotate(45deg);
   transform: rotate(45deg);
}

.archive-box ul li a {
   color: #373431;
}

.archive-box ul li a:link {
   text-decoration: underline;
}

.archive-box ul li a:visited {
   color: #373431;
}

.archive-box ul li a:hover {
   color: #0F70A7;
   font-weight: bold;
}

.archive-box ul li a:active {
   color: #0F70A7;
}

.archive-box ul li ul {
   margin-left: 44px;
}

.archive-box ul li li {
   margin-top: 10px;
}

.archive-box ul li ul.hide {
   display: none;
}

/*-----------------------------------------------------------
 ■ 4 Special under pages
-----------------------------------------------------------*/
/*--------------------------------------
   sitemap
--------------------------------------*/
.sitemap>ul {
   margin: 0 auto;
   background: none;
}

.sitemap>ul>li {
   position: relative;
   border-bottom: 1px dashed #ccc;
   margin: 0;
   line-height: 1.4;
}

.sitemap>ul>li:first-child {
   border-top: 1px dashed #ccc;
}

.sitemap>ul>li::before {
   content: '';
   position: absolute;
   left: 0;
   top: 25px;
   display: block;
   width: 8px;
   height: 8px;
   border-radius: 50%;
   background: #2D93CF;
}

.sitemap>ul>li a {
   position: relative;
   display: block;
   padding: 19px 40px 15px 20px;
   background: none;
}

.sitemap>ul>li a::after {
   content: "";
   position: absolute;
   top: 50%;
   right: 18px;
   display: block;
   width: 10px;
   height: 10px;
   border-top: 2px solid #ccc;
   border-right: 2px solid #ccc;
   margin-top: -5px;
   -moz-transform: rotate(45deg);
   -ms-transform: rotate(45deg);
   -webkit-transform: rotate(45deg);
   transform: rotate(45deg);
}

.sitemap>ul>li a:hover {
   color: #2D93CF;
}

/*-----------------------------------------------------------
 ■ 5 Contact
-----------------------------------------------------------*/
.wrap_contact {
   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: flex;
   justify-content: center;
   align-items: center;
   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: 1;
   color: #fff;
   background: #BFBEBD;
   padding-bottom: 4px;
}

.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: #0F70A7;
}

.step_list li span.current:after {
   background: #0F70A7;
}

.inquiryForm_message .step_catch {
   margin-bottom: 44px;
   text-align: center;
   font-size: 16px;
   letter-spacing: 0.05em;
   color: #373431;
}

.inquiryFormTable {
   padding-top: 22px;
   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;
}

.inquiryFormTable .wpcf7-list-item {
   display: block;
   width: 100%;
   margin: 0;
}

.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;
   font-size: 14px;
}

.inquiryFormTable textarea {
   resize: vertical;
}

.inquiryFormTable select {
   position: relative;
   background: #ECECEC url("../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 #0F70A7;
}

/* checkbox and radio*/
.inquiryFormTable .wpcf7-radio .wpcf7-list-item-label,
.inquiryFormTable .wpcf7-checkbox .wpcf7-list-item-label {
   display: inline-grid;
   align-items: center;
   grid-template-columns: 16px 1fr;
   gap: 10px;
}

.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: block;
   font-family: 'icomoon';
   font-style: normal;
   font-weight: normal;
   font-variant: normal;
   text-transform: none;
   line-height: 1;
   speak: none;
   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: #0F70A7;
}

.inquiryFormTable input[type="radio"]+span::before {
   content: "\ea56";
   border-radius: 50%;
}

.inquiryFormTable input[type="radio"]:checked+span::before {
   content: "\ea54";
   color: #0F70A7;
}

/* checkbox and radio confimation screen */
.confirm_table input[type="checkbox"]:not(:checked)+span,
.confirm_table input[type="radio"]:not(:checked)+span {
   display: none;
}

.inquiryFormTable dd>.wpcf7-form-control-wrap:has(.wpcf7-radio):first-child {
   padding-top: 10px;
}

.inquiryFormTable .wpcf7-checkbox>span:first-child,
.inquiryFormTable .wpcf7-radio>span {
   padding-top: 0;
}

.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;
   flex-wrap: wrap;
   gap: 0 20px;
}

.inquiryFormTable .wpcf7-radio>.wpcf7-list-item {
   width: auto;
}

.inquiryFormTable .wpcf7-radio>.wpcf7-list-item:last-child {
   margin-right: 0;
}

.custom-wpcf7c-confirmed .verified_table.inquiryFormTable input.wpcf7-validates-as-required,
.invalid .verified_table.inquiryFormTable input.wpcf7-validates-as-required {
   border: 1px solid #94C789;
   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: "." !important;
   clear: both !important;
   display: block !important;
   height: 0 !important;
   visibility: hidden !important;
}

.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: #0F70A7 url("../img/icons/ico_arrow02.png") no-repeat 95% center !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 url("../img/icons/ico_arrow01.png") no-repeat 96% center !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("../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: #94C789;
}

.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;
}

.custom-wpcf7c-confirmed .confirm_table input[type="text"],
.custom-wpcf7c-confirmed .confirm_table input[type="tel"],
.custom-wpcf7c-confirmed .confirm_table input[type="email"],
.custom-wpcf7c-confirmed .confirm_table input[type="date"],
.custom-wpcf7c-confirmed .confirm_table textarea,
.custom-wpcf7c-confirmed .confirm_table select,
.custom-wpcf7c-confirmed .confirm_table input[type="checkbox"],
.custom-wpcf7c-confirmed .confirm_table .wpcf7-radio,
.custom-wpcf7c-confirmed .confirm_table .wpcf7-checkbox {
   display: none;
}

.custom-wpcf7c-confirmed .confirm_table .required,
.custom-wpcf7c-confirmed .confirm_table .optional {
   display: none;
}

.custom-wpcf7c-confirmed .confirm_table .wpcf7-list-item-label {
   display: none;
}

.custom-wpcf7c-confirmed .confirm_table span.comment {
   display: none;
}

.custom-wpcf7c-confirmed .confirm_table .wpcf7-form-control-wrap.your-email_confirm {
   display: none;
}

.result_txt {
   display: block;
   word-break: break-all;
   white-space: pre-wrap;
}

.custom-wpcf7c-confirmed .confirm_table .wpcf7-list-item {
   padding-left: 0;
}

.custom-wpcf7c-confirmed .confirm_table dt,
.custom-wpcf7c-confirmed .confirm_table dd {
   padding: 12px 0 10px;
}

.custom-wpcf7c-confirmed .confirm_table dd>.wpcf7-form-control-wrap:has(.wpcf7-radio):first-child {
   padding-top: 0;
}

.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 0;
   }

   .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:after {
      content: "." !important;
      clear: both !important;
      display: block !important;
      height: 0 !important;
      visibility: hidden !important;
   }

   .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;
   }

   .custom-wpcf7c-confirmed .confirm_table dt,
   .custom-wpcf7c-confirmed .confirm_table dd {
      padding: 5px 0;
   }

   .inquiryFormTable .wpcf7-radio {
      flex-direction: column;
      flex-wrap: nowrap;
   }

   .inquiryFormTable dd>.wpcf7-form-control-wrap:has(.wpcf7-radio):first-child {
      padding-top: 0px;
   }
}

@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;
   }
}

/*-----------------------------------------------------------
■ 
-----------------------------------------------------------*/
#menu-list {
   padding: 70px 0;
}

#menu-list .box-1 {
   background-color: #C4D1D8;
   border-radius: 32px;
   padding: 28px 32px;
}

#menu-list .box-1 .elementor-widget-wrap {
   gap: 30px;
}

#menu-list .box-1 .elementor-widget-heading {
   width: auto;
   flex: 1 0 0;
}

#menu-list .box-1 h3 {
   font-weight: 500;
   font-size: 22px;
   line-height: 1.8;
}

#menu-list .box-1 .btn-green,
#menu-list .box-1 .btn-yellow {
   width: 280px;
   text-align: center;
}

#menu-list .box-1 .btn-green .elementor-button,
#menu-list .box-1 .btn-yellow .elementor-button {
   display: flex;
   justify-content: center;
   align-items: center;
   height: 145px;
   padding: 18px 36px 30px;
   border-radius: 24px;
}

#menu-list .box-1 .btn-green .elementor-button:after,
#menu-list .box-1 .btn-yellow .elementor-button:after {
   content: '';
   width: 22px;
   height: 22px;
   background: url("../img/icons/btn-arrow.webp") no-repeat center top/cover;
   position: absolute;
   bottom: 10px;
   right: 10px;
}

#menu-list .box-1 .btn-green .elementor-button-text,
#menu-list .box-1 .btn-yellow .elementor-button-text {
   display: block;
   font-weight: 500;
   font-size: 26px;
   line-height: 2;
}

#menu-list .box-1 .btn-green .elementor-button-text span,
#menu-list .box-1 .btn-yellow .elementor-button-text span {
   display: block;
   font-size: 20px;
   border-radius: 50px;
   margin-top: 5px;
}

#menu-list .box-1 .btn-green .elementor-button {
   background-color: #90C969;
}

#menu-list .box-1 .btn-green .elementor-button-text span {
   background-color: #DBF2CC;
   color: #6DBD38;
}

#menu-list .box-1 .btn-yellow .elementor-button {
   background-color: #BBBD4A;
}

#menu-list .box-1 .btn-yellow .elementor-button-text span {
   background-color: #ECECCE;
   color: #A2A432;
}

#menu-list .box-2 {
   padding-top: 90px;
}

#menu-list .box-2 .elementor-row {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 56px 80px;
}

#menu-list .box-2 .elementor-column {
   width: 100%;
   background-color: #E3F3F7;
   border-radius: 32px;
   overflow: hidden;
   transition: all 0.3s;
}

#menu-list .box-2 .elementor-widget-image img {
   max-width: 101%;
}

#menu-list .box-2 h3 {
   font-family: "Zen Maru Gothic", sans-serif;
   font-weight: 500;
   font-size: 32px;
   line-height: 1.2;
   color: #fff;
   position: absolute;
   right: 0;
   bottom: 100%;
   left: 0;
   padding: 0 35px 35px;
}

#menu-list .box-2 h3 span {
   display: block;
   font-size: 14px;
   line-height: 1.1;
   letter-spacing: 0.06em;
   color: rgba(255, 255, 255, 0.6);
   padding-bottom: 12px;
}

#menu-list .box-2 .elementor-widget-text-editor:not(.concerns) {
   padding: 20px 45px 0;
}

#menu-list .box-2 .concerns {
   padding: 10px 45px 0;
}

#menu-list .box-2 .concerns .elementor-text-editor {
   background-color: #fff;
   border-radius: 10px;
   padding: 12px 15px;
}

#menu-list .box-2 .concerns .elementor-text-editor h4 {
   color: #2D93CF;
   font-family: "Zen Maru Gothic", sans-serif;
   font-weight: 500;
   font-size: 16px;
   line-height: 1.2;
   padding-bottom: 10px;
}

#menu-list .box-2 .concerns .elementor-text-editor ul li {
   padding-left: 10px;
   position: relative;
}

#menu-list .box-2 .concerns .elementor-text-editor ul li:before {
   content: '';
   width: 4px;
   height: 4px;
   background: #0F70A7;
   border-radius: 50%;
   position: absolute;
   top: 13px;
   left: 0;
}

#menu-list .box-2 .elementor-widget-button {
   text-align: right;
   padding: 10px 45px 20px;
}

#menu-list .box-2 .elementor-button {
   background: transparent;
   font-family: "Alfa Slab One", serif;
   font-weight: 400;
   font-style: normal;
   font-size: 16px;
   line-height: 1.8;
   letter-spacing: 0.05em;
   padding: 0;
}

#menu-list .box-2 .elementor-button .elementor-button-text {
   display: inline-block;
   background: url("../img/top/btn-arrow-orange.png") no-repeat center right/14px auto;
   border-bottom: 2px solid #2D93CF;
   padding-right: 20px;
   color: #61A6D4;
   transition: all 0.3s;
}

#menu-list .box-2 .elementor-button:hover .elementor-button-text {
   border-bottom-color: transparent;
}

@media screen and (max-width: 1199px) {

   #menu-list .box-1 .btn-yellow,
   #menu-list .box-1 .btn-green {
      width: calc(50% - 150px);
   }

   #menu-list .box-1 .btn-yellow .elementor-button,
   #menu-list .box-1 .btn-green .elementor-button {
      padding: 18px 15px 30px;
   }
}

@media screen and (max-width: 1099px) {
   #menu-list .box-1 .elementor-widget-wrap {
      flex-wrap: wrap;
   }

   #menu-list .box-1 .elementor-widget-heading {
      width: 100%;
      flex: inherit;
      text-align: center;
   }

   #menu-list .box-1 h3 br.pc {
      display: none;
   }

   #menu-list .box-1 .btn-yellow,
   #menu-list .box-1 .btn-green {
      width: calc(50% - 15px);
   }
}

@media screen and (max-width: 1024px) {
   #menu-list .box-2 .elementor-row {
      gap: 56px 40px;
   }

   #menu-list .box-2 h3 {
      font-size: 25px;
      padding: 20px;
   }

   #menu-list .box-2 .elementor-widget-text-editor:not(.concerns) {
      padding: 20px 20px 0;
   }

   #menu-list .box-2 .concerns,
   #menu-list .box-2 .elementor-widget-button {
      padding: 10px 20px 0;
   }

   #menu-list .box-2 .elementor-widget-button {
      padding-bottom: 20px;
   }
}

@media screen and (max-width: 767px) {
   #menu-list {
      padding: 0;
   }

   #menu-list .box-1 {
      border-radius: 24px;
      padding: 24px;
   }

   #menu-list .box-1 .elementor-widget-wrap {
      gap: 16px;
   }

   #menu-list .box-1 .elementor-widget-heading {
      text-align: left;
   }

   #menu-list .box-1 h3 {
      font-size: 20px;
   }

   #menu-list .box-1 .btn-green,
   #menu-list .box-1 .btn-yellow {
      width: 100%;
   }

   #menu-list .box-2 {
      padding-top: 40px;
   }

   #menu-list .box-2 .elementor-row {
      grid-template-columns: 1fr;
      gap: 40px;
   }

   #menu-list .box-2 .elementor-column {
      border-radius: 24px;
   }

   #menu-list .box-2 h3 {
      font-size: 24px;
   }
}

@media screen and (max-width: 389px) {
   #menu-list .box-1 h3 {
      font-size: 18px;
   }
}

div#ez-toc-container {
   max-width: 1200px;
   border: 3px solid #2D93CF !important;
   margin: 0 auto 90px;
   padding: 36px 105px;
   border-radius: 50px;
   font-family: "Zen Maru Gothic", sans-serif;
   font-weight: 500;
   font-size: 15px;
   letter-spacing: 0.05em;
   line-height: 30px;
}

div#ez-toc-container ul {
   display: flex;
   align-items: center;
   flex-wrap: wrap;
   gap: 10px 24px;
}

div#ez-toc-container ul.ez-toc-list a {
   display: inline-block;
   background: url("../img/icons/arrow-circle-right.webp") no-repeat center left/30px auto;
   padding-left: 36px;
   color: #1E272C !important;
   line-height: 30px;
}

.ez-toc-section,
.ez-toc-section-end {
   opacity: 0;
   position: absolute;
   top: auto;
   right: 0;
   bottom: 100%;
   left: 0;
}

body:not(.home) #content>.container div#ez-toc-container {
   display: none !important;
}

@media screen and (max-width: 1024px) {
   div#ez-toc-container {
      padding: 36px;
   }
}

@media screen and (max-width: 767px) {
   div#ez-toc-container {
      border-radius: 24px;
      font-size: 14px;
      line-height: 24px;
      margin-bottom: 40px;
      padding: 20px;
   }

   div#ez-toc-container ul {
      flex-direction: column;
      align-items: flex-start;
      flex-wrap: nowrap;
   }

   div#ez-toc-container ul.ez-toc-list a {
      background-size: 24px auto;
      line-height: 24px;
      padding-left: 30px;
   }
}

.features .elementor-inner-section:not(:last-child) {
   margin-bottom: 80px;
}

.features .elementor-inner-section .elementor-row {
   align-items: flex-start;
   flex-wrap: nowrap;
}

.features .elementor-inner-section .text {
   width: 620px;
   background-color: rgba(224, 244, 255, 0.9);
   border-radius: 10px;
   margin-top: 40px;
   padding: 30px 24px 40px;
   z-index: 1;
}

.features .elementor-inner-section .text:after {
   content: '';
   background-image: linear-gradient(to bottom, #F5A06A 33.33%, #F5A06A 33.33%, #C1D33A 33.33%, #C1D33A 66.66%, #61A6D4 66.66%, #61A6D4 100%);
   width: 4px;
   height: 190px;
   position: absolute;
   top: -20px;
   border-radius: 4px;
}

.features .elementor-inner-section .text .elementor-widget-wrap {
   align-items: center;
   flex-wrap: wrap;
   gap: 4px 25px;
}

.features .elementor-inner-section .no {
   width: 100px;
   color: #2D93CF;
   font-size: 70px;
   line-height: 1.2;
   letter-spacing: 0.06em;
}

.features .elementor-inner-section .no .elementor-heading-title {
   line-height: inherit;
}

.features .elementor-inner-section .elementor-widget-heading:not(.no) {
   width: calc(100% - 125px);
}

.features .elementor-inner-section h3 {
   font-weight: 500;
   font-size: 20px;
   line-height: 1.8;
   letter-spacing: 0.2em;
}

.features .elementor-inner-section h3 small {
   font-size: 16px;
}

.features .elementor-inner-section .balloon {
   width: 122px;
   position: absolute;
   top: -50px;
   right: 0;
}

.features .elementor-inner-section .photo {
   width: 460px;
}

.features .elementor-inner-section .photo img {
   border-radius: 10px;
}

.features .elementor-inner-section.img-l .elementor-row {
   flex-direction: row-reverse;
}

.features .elementor-inner-section.img-l .text {
   margin-left: -50px;
   padding-right: 48px;
}

.features .elementor-inner-section.img-l .text:after {
   right: 18px;
}

.features .elementor-inner-section:not(.img-l) .text {
   margin-right: -50px;
   padding-left: 48px;
}

.features .elementor-inner-section:not(.img-l) .text:after {
   left: 18px;
}

@media screen and (max-width: 1250px) {
   .features .elementor-inner-section .balloon {
      right: -20px;
   }
}

@media screen and (max-width: 1200px) {
   .features .elementor-inner-section .balloon {
      width: 92px;
   }
}

@media screen and (max-width: 1024px) {
   .features .elementor-inner-section .elementor-row {
      flex-direction: column;
   }

   .features .elementor-inner-section .photo,
   .features .elementor-inner-section .text {
      width: 100%;
   }

   .features .elementor-inner-section .text {
      border-radius: 10px 10px 0 0;
      margin-top: 0;
   }

   .features .elementor-inner-section .balloon {
      right: 0;
   }

   .features .elementor-inner-section .photo img {
      border-radius: 0 0 10px 10px;
   }

   .features .elementor-inner-section.img-l .elementor-row {
      flex-direction: column;
   }

   .features .elementor-inner-section.img-l .text {
      margin-left: 0;
      padding-right: 48px;
   }

   .features .elementor-inner-section.img-l .text:after {
      right: 18px;
   }

   .features .elementor-inner-section:not(.img-l) .text {
      margin-right: 0;
      padding-left: 48px;
   }

   .features .elementor-inner-section:not(.img-l) .text:after {
      left: 18px;
   }
}

@media screen and (max-width: 767px) {
   .features .elementor-inner-section .text {
      padding: 30px 20px;
   }

   .features .elementor-inner-section .text .elementor-widget-wrap {
      flex-direction: column;
      flex-wrap: nowrap;
      gap: 10px;
   }

   .features .elementor-inner-section .text .elementor-widget-heading:not(.no),
   .features .elementor-inner-section .text .no {
      width: 100%;
   }

   .features .elementor-inner-section .text .no {
      font-size: 50px;
   }

   .features .elementor-inner-section .text .balloon {
      top: -40px;
   }

   .features .elementor-inner-section.img-l .text {
      padding-right: 30px;
   }

   .features .elementor-inner-section.img-l .text:after {
      right: 12px;
   }

   .features .elementor-inner-section:not(.img-l) .text {
      padding-left: 30px;
   }

   .features .elementor-inner-section:not(.img-l) .text:after {
      left: 12px;
   }
}

.access .elementor-row {
   justify-content: space-between;
   flex-wrap: nowrap;
   gap: 30px;
}

.access .elementor-column {
   width: 460px;
}

.access .photo,
.access .text {
   width: 460px !important;
}

.access .tb-time table {
   width: 100%;
   margin-bottom: 24px;
}

.access .tb-time table th,
.access .tb-time table td {
   font-size: 16px;
   text-align: center;
   border-bottom: 1px solid #ACD9E3;
   line-height: 1;
   padding: 18px 0;
}

.access .tb-time table thead th {
   width: 20px;
   padding-top: 0;
}

.access .tb-time table thead th:first-child {
   font-family: "Zen Maru Gothic", sans-serif;
   font-weight: 500;
   font-size: 18px;
   color: #0F70A7;
   text-align: left;
}

.access .tb-time table tbody th {
   text-align: left;
}

.access .tb-time table tbody td {
   font-weight: 400;
   font-size: 18px;
}

.access .txt-info {
   padding-bottom: 46px;
}

.access .txt-info table {
   width: 100%;
}

.access .txt-info table th,
.access .txt-info table td {
   line-height: 1.7;
   vertical-align: middle;
   border-bottom: 1px solid #ACD9E3;
   padding: 20px 0;
   text-align: left;
}

.access .txt-info table th {
   width: 86px;
   color: #2D93CF;
   font-weight: 700;
}

.access .txt-info table td {
   padding-left: 24px;
}

.access .txt-info table tr:first-child th,
.access .txt-info table tr:first-child td {
   padding-top: 0;
}

.access .gmap .elementor-widget-container {
   width: 100%;
   height: 245px;
   overflow: hidden;
   border-radius: 32px;
}

.access .gmap iframe {
   display: block;
   width: 100%;
   height: 100%;
}

.access .elementor-widget-image {
   max-width: 401px;
   margin: 20px auto 0;
}

.page-id-1903 .access .txt-info {
   padding-bottom: 0;
}

.page-id-1903 .access .txt-info table th {
   width: 100px;
}

.page-id-1903 .access .txt-info table td {
   padding-left: 4px;
}

@media screen and (max-width: 1024px) {
   .access .elementor-row {
      flex-direction: column;
      justify-content: flex-start;
   }

   .access .elementor-column,
   .access .photo,
   .access .text {
      width: 100% !important;
   }
}

@media screen and (max-width: 767px) {

   .access .tb-time table th,
   .access .tb-time table td {
      font-size: 14px;
   }

   .access .tb-time table thead th {
      width: auto;
   }

   .access .tb-time table thead th:first-child {
      width: 32%;
      font-size: 14px;
   }

   .access .tb-time table tbody td {
      font-size: 16px;
   }
}

.clinic .elementor-row {
   flex-direction: column;
   flex-wrap: nowrap;
   gap: 36px;
   border: 1px solid #0F70A7;
   border-radius: 20px;
   padding: 30px 40px 60px;
}

.clinic .elementor-column {
   width: 100% !important;
}

.clinic .item-1 .elementor-text-editor table {
   width: 100%;
   table-layout: fixed;
   border-bottom: 1px dashed #B4D1E2;
}

.clinic .item-1 .elementor-text-editor table td {
   line-height: 1.7;
   padding: 0 24px;
}

.clinic .item-1 .elementor-text-editor table td:not(:last-child) {
   border-right: 1px dashed #B4D1E2;
}

.clinic .item-1 .elementor-text-editor table td:first-child {
   padding-left: 0;
}

.clinic .item-1 .elementor-text-editor table td:last-child {
   padding-right: 0;
}

.clinic .item-1 .elementor-text-editor table td {
   vertical-align: top;
   padding-bottom: 32px;
}

.clinic .item-1 .elementor-text-editor table td h3 {
   display: grid;
   grid-template-columns: 45px 1fr;
   align-items: center;
   gap: 10px;
   font-family: "Zen Maru Gothic", sans-serif;
   font-weight: 500;
   font-size: 18px;
   line-height: 1.2;
   letter-spacing: 0.12em;
   color: #0F70A7;
   margin-bottom: 16px;
}

.clinic .item-1 .elementor-text-editor table td p:not(:last-child) {
   margin-bottom: 10px;
}

.clinic .item-1 .elementor-text-editor table td sub {
   font-size: 12px;
}

.clinic .item-1 .elementor-text-editor table td:first-child p {
   display: grid;
   grid-template-columns: 60px 1fr;
}

.clinic .item-1 .elementor-text-editor table td:first-child p strong {
   color: #2D93CF;
   font-weight: 500;
}

.clinic .item-2 .elementor-widget-wrap {
   justify-content: space-between;
   align-items: flex-end;
   flex-wrap: nowrap;
   gap: 30px;
}

.clinic .item-2 .elementor-widget-image {
   width: 430px;
}

.clinic .item-2 .elementor-widget-text-editor {
   width: 412px;
   line-height: 1.7;
}

.clinic .item-2 .elementor-widget-text-editor h3 {
   color: #0F70A7;
   font-family: "Zen Maru Gothic", sans-serif;
   font-weight: 500;
   font-size: 18px;
   line-height: 1.2;
   letter-spacing: 0.12em;
   margin-bottom: 36px;
}

.clinic .item-2 .elementor-widget-text-editor h4 {
   color: #2D93CF;
   font-weight: 500;
   letter-spacing: 0.02em;
   margin-bottom: 5px;
}

.clinic .item-2 .elementor-widget-text-editor h4:first-of-type {
   margin-top: 32px;
}

.clinic .item-2 .elementor-widget-text-editor p:not(:last-child) {
   margin-bottom: 24px;
}

@media screen and (max-width: 1024px) {
   .clinic .item-1 .elementor-text-editor table {
      display: block;
   }

   .clinic .item-1 .elementor-text-editor table tbody,
   .clinic .item-1 .elementor-text-editor table tr,
   .clinic .item-1 .elementor-text-editor table td {
      display: block;
   }

   .clinic .item-1 .elementor-text-editor table th,
   .clinic .item-1 .elementor-text-editor table td {
      padding: 20px 0;
   }

   .clinic .item-1 .elementor-text-editor table th:not(:last-child),
   .clinic .item-1 .elementor-text-editor table td:not(:last-child) {
      border-right: 0;
      border-bottom: 1px dashed #B4D1E2;
   }

   .clinic .item-1 .elementor-text-editor table th:first-child,
   .clinic .item-1 .elementor-text-editor table td:first-child {
      padding-top: 0;
   }

   .clinic .item-2 .elementor-widget-wrap {
      flex-direction: column;
      justify-content: flex-start;
      align-items: flex-start;
   }

   .clinic .item-2 .elementor-widget-image,
   .clinic .item-2 .elementor-widget-text-editor {
      width: 100%;
   }
}

@media screen and (max-width: 767px) {
   .clinic .elementor-row {
      padding: 30px 20px;
   }
}

.elementor-slideshow__title {
   display: none;
}

.frame1 {
   background-color: #fff;
   border: 1px solid #0F70A7;
   border-radius: 20px;
   color: #819099;
   font-weight: 400;
   font-size: 13px;
   line-height: 1.6;
   padding: 35px 45px;
}

.frame1 .elementor-row {
   justify-content: space-between;
   flex-wrap: nowrap;
   gap: 50px;
}

.frame1 .elementor-row:before {
   content: '';
   width: auto;
   height: auto;
   border-left: 1px dashed #B4D1E2;
   position: absolute;
   top: 0;
   bottom: 0;
   left: 50%;
}

.frame1 h3 {
   font-family: "Zen Maru Gothic", sans-serif;
   font-weight: 500;
   font-size: 20px;
   line-height: 1.2;
   color: #0F70A7;
   margin-bottom: 8px;
}

@media screen and (max-width: 767px) {
   .frame1 {
      padding: 30px 20px;
   }

   .frame1 .elementor-row {
      flex-direction: column;
      gap: 20px;
   }

   .frame1 .elementor-row:before {
      display: none;
   }

   .frame1 .elementor-column:not(:last-child) {
      border-bottom: 1px dashed #B4D1E2;
      padding-bottom: 20px;
   }
}

.about-slider {
   display: flex;
   justify-content: space-between;
}

.about-slider .main {
   width: 57.5%;
}

.about-slider .main .slick-list,
.about-slider .main .slick-track {
   height: 100%;
}

.about-slider .main .slick-slide {
   width: calc(50% - 5px);
   height: inherit;
}

.about-slider .main .slick-slide img {
   width: 100%;
   max-width: inherit;
   height: 100%;
   object-fit: cover;
}

.about-slider .nav {
   width: 38.5%;
}

.about-slider .nav .slick-track {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
   width: 100% !important;
   transform: translate3d(0, 0, 0) !important;
}

.about-slider .nav .slick-track:before,
.about-slider .nav .slick-track:after {
   display: none;
}

.about-slider .nav .slick-slide {
   width: calc(50% - 5px);
   height: inherit;
   cursor: pointer;
   background-color: #000;
   cursor: pointer;
}

.about-slider .nav .slick-slide img {
   width: 100%;
   max-width: inherit;
   height: 100%;
   object-fit: cover;
   transition: all 0.3s;
}

.about-slider .nav .slick-slide:hover img,
.about-slider .nav .slick-current img {
   opacity: 0.5;
}

@media screen and (max-width: 767px) {
   .about-slider {
      flex-direction: column;
      gap: 10px;
   }

   .about-slider .main,
   .about-slider .nav {
      width: 100%;
   }

   .about-slider .main .slick-slide {
      height: 60vw;
   }

   .about-slider .nav .slick-slide {
      width: calc(33.33% - 7px);
      height: 20vw;
   }
}

.list-checked .elementor-text-editor ul {
   line-height: 1.7;
}

.list-checked .elementor-text-editor ul:not(:last-child) {
   margin-bottom: 20px;
}

.list-checked .elementor-text-editor ul li {
   background: url("../img/icons/icon-checked.webp") no-repeat top 2px left/20px auto;
   padding-left: 28px;
}

.list-checked .elementor-text-editor ul li:not(:last-child) {
   padding-bottom: 16px;
}

@media screen and (max-width: 767px) {
   .list .elementor-text-editor ul li:not(:last-child) {
      padding-bottom: 8px;
   }
}

body:not(.home) .list {
   border: 1px solid #0F70A7;
   border-radius: 20px;
   padding: 40px 50px 60px;
}

body:not(.home) .list h3 {
   font-family: "Zen Maru Gothic", sans-serif;
   font-weight: 500;
   font-size: 20px;
   line-height: 30px;
   color: #0F70A7;
   text-align: center;
   margin-bottom: 36px;
}

body:not(.home) .list h3:after {
   content: '';
   display: block;
   width: 167px;
   border-bottom: 1px dashed #0F70A7;
   margin: 14px auto 0;
}

body:not(.home) .list .elementor-text-editor ul {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 16px;
   line-height: 1.7;
}

body:not(.home) .list .elementor-text-editor ul li {
   background: url("../img/icons/icon-checked.webp") no-repeat top 2px left/20px auto;
   padding-left: 28px;
}

@media screen and (max-width: 767px) {
   body:not(.home) .list {
      padding: 30px 20px;
   }

   body:not(.home) .list .elementor-text-editor ul {
      grid-template-columns: 1fr;
      gap: 8px;
   }
}

.flow1 {
   counter-reset: section;
}

.flow1 .elementor-row {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 64px;
}

.flow1 .elementor-column {
   width: 100% !important;
   background-color: #E3F3F7;
   border: 1px solid #0F70A7;
   padding: 15px 20px;
   counter-increment: section;
   border-radius: 20px;
}

.flow1 .elementor-column:not(:last-child):before {
   content: '';
   width: 0;
   height: 0;
   border-width: 16px 0 16px 22px;
   border-color: transparent transparent transparent #0F70A7;
   border-style: solid;
   position: absolute;
   top: 50%;
   left: 100%;
   transform: translateY(-50%);
   margin-left: 24px;
}

.flow1 h3 {
   display: grid;
   grid-template-columns: 50px 1fr;
   align-items: center;
   font-family: "Zen Maru Gothic", sans-serif;
   font-weight: 500;
   font-size: 16px;
   line-height: 1.7;
   color: #0F70A7;
}

.flow1 h3:before {
   content: "0"counter(section);
   color: #2D93CF;
   font-family: "Alfa Slab One", serif;
   font-weight: 400;
   font-size: 30px;
   line-height: 1.2;
   letter-spacing: 0.06em;
}

.flow1 .elementor-widget-text-editor {
   padding-top: 10px;
}

@media screen and (max-width: 1024px) {
   .flow1 .elementor-row {
      grid-template-columns: 1fr;
   }

   .flow1 .elementor-column:not(:last-child):before {
      border-width: 22px 16px 0 16px;
      border-color: #0F70A7 transparent transparent transparent;
      top: 100%;
      left: 50%;
      transform: translateX(-50%);
      margin-top: 24px;
      margin-left: 0;
   }
}

.flow2 {
   counter-reset: section;
}

.flow2 .elementor-widget-wrap {
   gap: 24px;
}

.flow2 .elementor-widget-heading {
   display: flex;
   justify-content: center;
   align-items: center;
   width: 150px !important;
   height: 150px !important;
   background-color: #E3F3F7;
   border-radius: 50%;
   counter-increment: section;
}

.flow2 .elementor-widget-heading:after {
   content: "0"counter(section);
   color: #2D93CF;
   font-family: "Alfa Slab One", serif;
   font-weight: 400;
   font-size: 30px;
   line-height: 1.2;
   letter-spacing: 0.06em;
   position: absolute;
   top: 12px;
   left: 0;
}

.flow2 .elementor-widget-heading:not(:last-child):before {
   content: '';
   width: 24px;
   height: 0;
   border-top: 1px solid #0F70A7;
   position: absolute;
   top: 50%;
   left: 100%;
}

.flow2 .elementor-heading-title {
   font-family: "Zen Maru Gothic", sans-serif;
   font-weight: 500;
   font-size: 16px;
   line-height: 1.7;
   text-align: center;
   color: #0F70A7;
}

.page-id-1890 .flow2 .elementor-widget-heading:after {
   top: -10px;
}

@media screen and (max-width: 1251px) {
   .flow2 .elementor-widget-wrap {
      gap: 10px;
   }

   .flow2 .elementor-widget-heading {
      width: 140px !important;
      height: 140px !important;
   }

   .flow2 .elementor-widget-heading:not(:last-child):before {
      width: 10px;
   }
}

@media screen and (max-width: 1024px) {
   .flow2 .elementor-widget-wrap {
      width: 320px;
      gap: 20px;
      margin: 0 auto;
   }

   .flow2 .elementor-widget-heading {
      width: 150px !important;
      height: 150px !important;
   }

   .flow2 .elementor-widget-heading:not(:last-child):before {
      width: 20px;
   }

   .flow2 .elementor-widget-heading:nth-child(even):before {
      width: 100px;
      top: 162px;
      right: 75%;
      left: auto;
      transform: rotate(-45deg);
   }
}

@media screen and (max-width: 767px) {
   .flow2 .elementor-widget-wrap {
      width: 100%;
      gap: 20px 10px;
   }

   .flow2 .elementor-widget-heading {
      width: calc(50% - 5px) !important;
      height: 38vw !important;
   }

   .flow2 .elementor-widget-heading:after {
      top: 8px;
   }

   .flow2 .elementor-widget-heading:nth-child(even):before {
      top: 41.2vw;
      right: 75%;
   }
}

.interview-btn .elementor-widget-wrap {
   justify-content: center;
   gap: 50px;
}

.interview-btn .elementor-widget-button {
   width: 280px !important;
}

.interview-btn .btn-green,
.interview-btn .btn-yellow {
   text-align: center;
}

.interview-btn .btn-green .elementor-button,
.interview-btn .btn-yellow .elementor-button {
   display: flex;
   justify-content: center;
   align-items: center;
   height: 145px;
   padding: 18px 36px 30px;
   border-radius: 24px;
}

.interview-btn .btn-green .elementor-button:after,
.interview-btn .btn-yellow .elementor-button:after {
   content: '';
   width: 22px;
   height: 22px;
   background: url("../img/icons/btn-arrow.webp") no-repeat center top/cover;
   position: absolute;
   bottom: 10px;
   right: 10px;
}

.interview-btn .btn-green .elementor-button-text,
.interview-btn .btn-yellow .elementor-button-text {
   display: block;
   font-weight: 500;
   font-size: 26px;
   line-height: 2;
}

.interview-btn .btn-green .elementor-button-text span,
.interview-btn .btn-yellow .elementor-button-text span {
   display: block;
   font-size: 20px;
   border-radius: 50px;
   margin-top: 5px;
}

.interview-btn .btn-green .elementor-button {
   background-color: #90C969;
}

.interview-btn .btn-green .elementor-button-text span {
   background-color: #DBF2CC;
   color: #6DBD38;
}

.interview-btn .btn-yellow .elementor-button {
   background-color: #BBBD4A;
}

.interview-btn .btn-yellow .elementor-button-text span {
   background-color: #ECECCE;
   color: #A2A432;
}

@media screen and (max-width: 767px) {
   .interview-btn .elementor-widget-wrap {
      flex-direction: column;
      align-items: center;
      gap: 20px;
   }

   .interview-btn .elementor-widget-button {
      width: 100% !important;
   }
}

.table .elementor-row {
   flex-wrap: wrap;
   gap: 24px 50px;
}

.table .elementor-column {
   width: calc(50% - 25px) !important;
   border: 1px solid #0F70A7;
   border-radius: 15px;
   padding: 40px;
}

.table h4,
.table h5 {
   font-family: "Zen Maru Gothic", sans-serif;
   font-weight: 500;
   font-size: 20px;
   line-height: 40px;
   letter-spacing: 0.04em;
   color: #0F70A7;
   border-bottom: 1px dashed #ACD9E3;
   margin-bottom: 16px;
   padding-bottom: 16px;
}

.table ul li {
   padding-left: 18px;
   position: relative;
}

.table ul li:before {
   content: '';
   width: 8px;
   height: 8px;
   background-color: #2969A9;
   position: absolute;
   top: 11px;
   left: 0;
   border-radius: 50%;
}

@media screen and (max-width: 767px) {
   .table .elementor-row {
      flex-direction: column;
      flex-wrap: nowrap;
      gap: 30px;
   }

   .table .elementor-column {
      width: 100% !important;
      border-radius: 10px;
      padding: 20px;
   }

   .table h4,
   .table h5 {
      font-size: 18px;
      line-height: 26px;
   }
}

.list-menu-banner .elementor-row {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 56px 80px;
}

.list-menu-banner .elementor-column {
   width: 100% !important;
   background-color: #E3F3F7;
   border-radius: 32px;
   overflow: hidden;
   transition: all 0.3s;
}

.list-menu-banner .elementor-widget-image img {
   max-width: 101%;
}

.list-menu-banner h3 {
   font-family: "Zen Maru Gothic", sans-serif;
   font-weight: 500;
   font-size: 32px;
   line-height: 1.2;
   color: #fff;
   position: absolute;
   right: 0;
   bottom: 100%;
   left: 0;
   padding: 0 45px 35px;
}

.list-menu-banner h3 span {
   display: block;
   font-size: 14px;
   line-height: 1.1;
   letter-spacing: 0.06em;
   color: rgba(255, 255, 255, 0.6);
   padding-bottom: 12px;
}

.list-menu-banner .elementor-widget-text-editor:not(.concerns) {
   padding: 20px 45px 0;
}

.list-menu-banner .concerns {
   padding: 10px 45px 20px;
}

.list-menu-banner .concerns .elementor-text-editor {
   background-color: #fff;
   border-radius: 10px;
   padding: 12px 15px;
}

.list-menu-banner .concerns .elementor-text-editor h4 {
   color: #2D93CF;
   font-family: "Zen Maru Gothic", sans-serif;
   font-weight: 500;
   font-size: 16px;
   line-height: 1.2;
   padding-bottom: 10px;
}

.list-menu-banner .concerns .elementor-text-editor ul li {
   padding-left: 10px;
   position: relative;
}

.list-menu-banner .concerns .elementor-text-editor ul li:before {
   content: '';
   width: 4px;
   height: 4px;
   background: #0F70A7;
   border-radius: 50%;
   position: absolute;
   top: 13px;
   left: 0;
}

@media screen and (max-width: 1024px) {
   .list-menu-banner .elementor-row {
      gap: 56px 40px;
   }

   .list-menu-banner h3 {
      font-size: 25px;
      padding: 20px;
   }

   .list-menu-banner .elementor-widget-text-editor:not(.concerns) {
      padding: 20px 20px 0;
   }

   .list-menu-banner .concerns,
   .list-menu-banner .elementor-widget-button {
      padding: 10px 20px 20px;
   }
}

@media screen and (max-width: 767px) {
   .list-menu-banner .elementor-row {
      grid-template-columns: 1fr;
      gap: 40px;
   }

   .list-menu-banner .elementor-column {
      border-radius: 24px;
   }

   .list-menu-banner h3 {
      font-size: 24px;
   }
}

.interview-form .inquiryFormTable .wpcf7-form-control-wrap:not(:last-child) {
   margin-bottom: 10px;
}

.interview-form .inquiryFormTable .comment {
   display: inline-block;
   margin-top: 0;
}

.interview-form .inquiryFormTable dl dd h3 {
   font-weight: 700;
   font-size: 18px;
   margin-bottom: 20px;
   padding-top: 7px;
}

.interview-form .inquiryFormTable dl dd h3 span {
   display: inline-block;
   font-weight: 400;
   font-size: 14px;
}

#wpcf7-f2024-p2018-o2 .radio-6,
#wpcf7-f2024-p2018-o2 .radio-7,
#wpcf7-f2024-p2018-o2 .radio-8,
#wpcf7-f2024-p2018-o2 .radio-9,
#wpcf7-f2024-p2018-o2 .radio-10,
#wpcf7-f2024-p2018-o2 .checkbox-5 {
   display: inline-block;
}

#wpcf7-f2024-p2018-o2 .wpcf7-form-control-wrap.checkbox-2 {
   margin-bottom: 0;
}

#wpcf7-f2026-p2020-o2 .inquiryFormTable:not(.confirm_table) p:has(.menu-1, .menu-2, .menu-3) {
   display: grid;
   grid-template-columns: 1fr auto;
   align-items: center;
   gap: 10px;
}

#wpcf7-f2026-p2020-o2 .inquiryFormTable.confirm_table p:has(.menu-1, .menu-2, .menu-3) {
   display: inline-flex;
}

#wpcf7-f2026-p2020-o2 .checkbox-12 {
   display: inline-block;
}

#wpcf7-f2026-p2020-o2 .text-21,
#wpcf7-f2026-p2020-o2 .text-22 {
   margin-bottom: 0;
}

@media screen and (max-width: 767px) {
   .interview-form .inquiryFormTable dl dd h3 {
      padding-top: 0;
   }
}
/*20260403*/
.single.single-post .single_content {
  font-size: 21px;
}
.post .post__date time {
  font-size: 15px;
}
@media (max-width: 767px) {
   .elementor-widget-image-box.elementor-position-right .elementor-image-box-wrapper .elementor-image-box-img {
   		width: 100% !important;
	   margin: 0 0 20px !important;
   }
}
@media (min-width: 768px) {

   .elementor-widget-image-box.elementor-position-left .elementor-image-box-wrapper, .elementor-widget-image-box.elementor-position-right .elementor-image-box-wrapper {
      display: block !important;
   }

   .elementor-widget-image-box .elementor-image-box-wrapper .elementor-image-box-img {
   	float: right;
   	width: 35% !important;
   	margin: 0 0 20px 5% !important;
   }
}