@charset "utf-8";
/*
Theme Name: genova_tpl
Theme URI: http://genova.co.jp/
Description: genova template.
Version: 1.0
*/

/* =====================================
■ RESET
===================================== */
html {
   color: #000;
   background: #FFF
}

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

table {
   border-collapse: collapse;
   border-spacing: 0
}

fieldset,
img {
   border: 0
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
   font-style: normal;
   font-weight: normal
}

ol,
ul {
   list-style: none
}

caption,
th {
   text-align: left
}

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

q:before,
q:after {
   content: ''
}

abbr,
acronym {
   border: 0;
   font-variant: normal
}

sup {
   vertical-align: text-top
}

sub {
   vertical-align: text-bottom
}

input,
textarea,
select {
   font-family: inherit;
   font-size: inherit;
   font-weight: inherit;
   *font-size: 100%
}

legend {
   color: #000
}

#yui3-css-stamp.cssreset {
   display: none
}

:root {
   --cl-orange: #FAA34E;
   --cl-darkorange: #EC8C7D;
   --cl-blue: #3EBEB8;
}

.cl-orange {
   color: var(--cl-orange);
}

.cl-darkorange {
   color: var(--cl-darkorange);
}

.cl-blue {
   color: var(--cl-blue);
}


html,
body {
   scroll-behavior: auto !important;
}


/* =====================================
■BASE
===================================== */
html {
   font-size: 62.5%;
}

body {
   font-family: 'Noto Sans JP';
   font-style: normal;
   font-weight: 500;
   font-size: 15px;
   background: #FBFAE9;
   color: #5E5855;
   letter-spacing: 0.05em;
   line-height: 180%;
   position: relative;
   -webkit-text-size-adjust: 100%;
}

a {
   text-decoration: none;
   color: #333;
   vertical-align: middle;
   -moz-transition-duration: 0.7s;
   -o-transition-duration: 0.7s;
   -webkit-transition-duration: 0.7s;
   transition-duration: 0.7s;
}

a:focus,
*:focus {
   outline: none;
}

a[href^="tel:"] {
   pointer-events: none;
   cursor: text;
}

@media screen and (max-width: 767px) {
   a[href^="tel:"] {
      pointer-events: auto;
      cursor: pointer;
   }
}


/* =====================================
■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;
}

/*--------------------------------------
Icon fonts
--------------------------------------*/
@font-face {
   font-family: 'icomoon';
   src: url('img/fonts/icomoon.eot');
   src: url('img/fonts/icomoon.eot#iefix') format('embedded-opentype'),
      url('img/fonts/icomoon.ttf') format('truetype'),
      url('img/fonts/icomoon.woff') format('woff'),
      url('img/fonts/icomoon.svg#icomoon') format('svg');
   font-weight: normal;
   font-style: normal;
}

[class*='icon-']:not([class*='eicon-']):before {
   display: inline-block;
   font-family: 'icomoon';
   speak: none;
   font-style: normal;
   font-weight: normal;
   font-variant: normal;
   text-transform: none;
   line-height: 1;
   vertical-align: baseline;
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
}

.icon-blog:before {
   content: "\e900";
}

.icon-category:before {
   content: "\e901";
}

.icon-check:before {
   content: "\e902";
}

.icon-checked:before {
   content: "\e903";
}

.icon-down:before {
   content: "\e904";
}

.icon-facebook:before {
   content: "\e905";
}

.icon-google:before {
   content: "\e906";
}

.icon-line:before {
   content: "\e907";
}

.icon-twitter:before {
   content: "\e908";
}

.icon-arrow02:before {
   content: "\e909";
}

.icon-arrow01:before {
   content: "\e910";
}

.icon-search:before {
   content: "\e911";
}

.icon-tag:before {
   content: "\e912";
}


/*--------------------------------------
Pc sp change
--------------------------------------*/
.sp {
   display: none;
}

.mb {
   display: none;
}

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

   .sp {
      display: block !important;
   }
}

@media screen and (max-width: 480px) {
   .mb {
      display: block;
   }

   .pcm {
      display: none;
   }
}


/* =====================================
■Layout
===================================== */
/*--------------------------------------
container
--------------------------------------*/
.container {
   width: 100%;
   max-width: 1140px;
   padding: 0 30px;
   margin: 0 auto;
   -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
   -ms-box-sizing: border-box;
   -o-box-sizing: border-box;
   box-sizing: border-box;
}

.container:after {
   content: "";
   display: block;
   clear: both;
}

@media (max-width: 767px) {
   .container {
      padding: 0 20px;
   }
}

/*--------------------------------------
header
--------------------------------------*/
#wrapper {
   height: 100%;
   padding-top: 80px;
   box-sizing: border-box;
}


@media screen and (max-width: 1199px) and (min-width: 768px) {
   #wrapper {
      padding-top: 80px;
   }
}

@media screen and (max-width: 767px) {
   #wrapper {
      padding-top: 79px;
   }
}




/*--------------------------------------
SIDE
--------------------------------------*/
#sidebar {
   display: none;
}


/*--------------------------------------
CONTENT BOTTOM
--------------------------------------*/
.contact_section {
   padding: 53px 0 61px;
   text-align: center;
   background: #ccc;
   background-size: cover;
}

.contact_section .contact_tit {
   font-size: 34px;
   color: #fff;
   letter-spacing: 0.15em;
   line-height: 1.6;
   margin-bottom: 25px;
}

.contact_section .txt {
   font-size: 16px;
   color: #fff;
   letter-spacing: 0.1em;
   line-height: 2;
   margin-top: 30px;
}

.contact_section .contact_list li {
   float: left;
   width: 49.6%;
   margin-left: 0.8%;
}

.contact_section .contact_list li:first-child {
   margin: 0;
}


@media screen and (max-width: 767px) {
   .contact_section .contact_tit {
      font-size: 28px;
   }

   .contact_section .contact_list {
      max-width: 535px;
      margin: 0 auto;
   }

   .contact_section .contact_list li {
      float: none;
      width: 100%;
      margin-left: 0;
      margin-top: 10px;
   }
}


/*HEADER*/

/*--------------------------------------
	general
--------------------------------------*/

#header {
   /*position: fixed;
	top: 0;
	left: 0;*/
   width: 100%;
   background: #fff;
   z-index: 1000;
   -moz-transition-duration: 0.7s;
   -o-transition-duration: 0.7s;

   -webkit-transition-duration: 0.7s;
   transition-duration: 0.7s;
}

/* container */
.header__main-container,
.header__sub-container {
   display: -webkit-flex;
   display: flex;
   -webkit-justify-content: space-between;
   justify-content: space-between;
   -webkit-align-items: center;
   align-items: center;
}

.header__main-container {}

.header__sub-container {
   flex-grow: 1;
   flex-shrink: 0;
   flex-basis: 220px;
}

/* menu */
.menu-text {}

/* sub menu */
header .g-nav>li>.up-menu sub {
   color: #94C789;
}


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

   /* container */
   .header__main-container {
      padding: 0px;
      -webkit-flex-direction: column;
      flex-direction: column;
   }

   .header__sub-container {
      width: calc(100% - 40px);
      margin: 10px 20px;
      flex-grow: initial;
      flex-shrink: initial;
      flex-basis: initial;
   }

}


/*--------------------------------------
	logo
--------------------------------------*/

header .header__logo {
   padding-right: 20px;
}

header .header__logo img {
   width: 100%;
   max-width: 250px;
}


/*--------------------------------------
	nav
--------------------------------------*/

header .header__nav nav ol {
   display: -webkit-flex;
   display: flex;
   -webkit-justify-content: flex-end;
   justify-content: flex-end;
   -webkit-align-items: flex-start;
   align-items: flex-start;
}

header .header__nav nav ol>li:hover {}

header .header__nav nav ol>li.current_page_item .menu-text,
header .header__nav nav ol>li:hover .menu-text {
   color: #0FA632;
   font-weight: 700;
}



header .header__nav nav ol>li .up-menu {
   position: relative;
   width: auto;
   vertical-align: middle;
   text-align: center;
   font-size: 15px;
   letter-spacing: 0.08em;
   line-height: 1.2;
   color: #5E5855;
   cursor: pointer;
   -moz-transition-duration: 0.7s;
   -o-transition-duration: 0.7s;
   -webkit-transition-duration: 0.7s;
   transition-duration: 0.7s;
   font-weight: 500;
}

header .header__nav nav ol>li>.up-menu a,
header .header__nav nav ol>li>.up-menu span {
   display: block;
   padding: 1.6rem 17px;
   margin: 0 auto;
   font-family: 'Zen Maru Gothic';
   font-style: normal;
   font-weight: 500;
}

header .header__nav nav ol>li>.up-menu sub {
   display: block;
   padding-top: 10px;
   font-size: 10px;
   letter-spacing: 0.25em;
}




.menu-item-has-children {
   position: relative;
}



@media screen and (min-width: 768px) {

   header .header__nav nav ol>li dl {
      pointer-events: none;
   }

   header .header__nav nav ol .menu-item .up-menu {
      position: relative;
   }

   header .header__nav nav ol .menu-item .up-menu::after {}


   .menu-item-has-children:hover::after {
      content: "";
      position: absolute;
      left: 0;
      bottom: -20px;
      width: 100%;
      height: 40px;
   }

   header .header__nav nav ol .menu-item:last-child .up-menu::after {
      display: none;
   }
}


@media screen and (max-width: 1299px) and (min-width: 768px) {

   header .header__nav nav ol>li .up-menu {
      font-size: 1.2vw;
   }


   header .header__nav nav ol .menu-item .up-menu::after {
      top: 1vw;
   }

   header .header__nav nav ol>li>.up-menu a,
   header .header__nav nav ol>li>.up-menu span {
      padding: 1.6rem 10px;
   }


}


@media screen and (max-width: 767px) {
   .navigation__container {
      padding: 11px 20px 100px;
      width: 100%;
      box-sizing: border-box;
      position: relative;
      min-height: 100vh;
   }

   .navigation__container .logo {
      width: 140px;
      margin-bottom: 30px !important;
   }



   header .header__nav {
      background-color: #fff;
      border-radius: 20px;
      overflow: hidden;
   }

   header .header__nav nav ol {
      -webkit-flex-direction: column;
      flex-direction: column;
   }

   header .header__nav nav ol>li {
      position: relative;
      width: 100%;
      border-left: none;
   }

   header .header__nav nav ol>li>.up-menu {
      display: block;
      width: 100%;
      height: auto;
      padding: 0;
      text-align: left;
      font-size: 20px;
   }

   header .header__nav nav ol>li>.up-menu:hover {}

   header .header__nav nav ol>li>.up-menu a,
   header .header__nav nav ol>li>.up-menu span {
      padding: 0px;
   }

   header .header__nav nav ol>li>.up-menu span {
      margin: 0;
   }

   header .header__nav nav ol>li>span {
      position: relative;
   }

   header .header__nav nav ol>li .up-menu .menu-text,
   header .header__nav nav ol>li>.up-menu sub {}

   header .header__nav nav ol>li.page_item .menu-text,
   header .header__nav nav ol>li.hover .menu-text {
      color: #E38423;
   }

   header .header__nav nav ol>li.page_item .menu-text {
      color: #5E5855;
      padding: 23px 30px;
      font-size: 18px;
      font-weight: 500;


   }

   header .header__nav nav ol>li.current_page_item .menu-text,
   header .header__nav nav ol>li:hover .menu-text {
      color: #0FA632;
      font-weight: 700;
   }




   header .header__nav nav ol>li+li {
      margin-left: 0px;
   }

   header .header__nav nav ol>li ul li {}

   .menu-item-has-children .up-menu::after {
      content: "";
      position: absolute;
      top: 50%;
      right: 0;
      width: 16px;
      height: 16px;
      border-bottom: 2px solid #222;
      border-left: 2px solid #222;
      margin-top: -14px;
      -moz-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      -webkit-transform: rotate(-45deg);
      transform: rotate(-45deg);
      -moz-transition-duration: 0.2s;
      -o-transition-duration: 0.2s;
      -webkit-transition-duration: 0.2s;
      transition-duration: 0.2s;
   }

   .menu-item-has-children.hover .up-menu::after {
      margin-top: -3px;
      -moz-transform: rotate(135deg);
      -ms-transform: rotate(135deg);
      -webkit-transform: rotate(135deg);
      transform: rotate(135deg);
   }



   header .header__nav nav ol>li dl {
      position: relative;
      top: 0;
      padding: 0;
      background: none;
   }

   header .header__nav nav ol>li dl li {
      padding-left: 0;
   }

   header .header__nav nav ol>li dl li::before {
      display: none;
   }

   header .header__nav nav ol>li dt {
      display: none;
   }



   header .header__nav nav ol li a::before {
      content: "";
      background: url("./img/toggle_arrow.svg") no-repeat center center;
      background-size: 100% auto;
      width: 12px;
      height: 12px;
      position: absolute;
      top: 50%;
      right: 20px;
      transform: translateY(-50%);
   }

   header .header__nav nav ol li a {
      background: url("./img/toggle_line.png") repeat-x left bottom;
   }

   header .header__nav nav ol li:last-child a {
      background: none;
   }





   header .header__nav nav ol>li.hover>span+dl,
   header .header_menu .header__nav nav ol>li>span:hover+dl {
      opacity: 1;
      pointer-events: auto;
   }

   .header-ct {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;

   }

   .header-ct__wrap {
      display: flex;
      justify-content: space-between;
      gap: 1px;
      background: #fff;

   }

   .header-ct__wrap .fixed__btn__tel {
      background: #7ABA4F;
   }

   .header-ct__wrap .fixed__btn__web {
      background: #59AB22;
      display: none;
   }

   .header-ct__wrap p {
      /* width: 50%; */
      width: 100%;
   }

   .header-ct__wrap i {
      width: 17px;
   }

   .header-ct__wrap a {
      display: flex;
      width: 100%;
      justify-content: center;
      align-items: center;
      gap: 10px;
      font-size: 20px;
      color: #fff;
      line-height: 1;
      height: 64px;
   }


}


body.nav-Opened,
body.nav-Opened *,
body.nav-Opened *:hover,
body.nav-Opened *:focus,
body.nav-Opened *:active {
   touch-action: none !important;
   pointer-events: none !important;
}


body.nav-Opened {
   overflow: hidden !important;
   -webkit-overflow-scrolling: touch !important;
   touch-action: none !important;
   pointer-events: none !important;
}

body.nav-Opened #ft-fixed,
body.nav-Opened #ft-fixed *,
body.nav-Opened .toggle-menu,
body.nav-Opened .header__main-container,
body.nav-Opened .header__main-container * {
   touch-action: auto !important;
   pointer-events: visible !important;
}


body.nav-Opened #header:after {
   opacity: 1;
   visibility: visible;
}



/*--------------------------------------
	toggle menu
--------------------------------------*/


header .toggle-menu {
   display: none;
   position: fixed;
   top: 0;
   z-index: 9999;
   right: 0;
   width: 70px;
   height: 45px;
   padding-top: 25px;
}

header .toggle-menu::before {
   content: "";
   background: #86C9D2;
   position: absolute;
   top: 0;
   right: 0;
   width: 70px;
   height: 70px;
   border-bottom-left-radius: 20px;
}

.toggle-menu__trigger,
.toggle-menu__trigger span {
   display: inline-block;
   -moz-transition: all .4s;
   -o-transition: all .4s;
   -webkit-transition: all .4s;
   transition: all .4s;
}

.toggle-menu__trigger {
   position: relative;
   display: block;
   width: 24px;
   height: 18px;
   padding: 0;
   border: 0px;
   margin: 0;
   text-align: center;
   background: none;
   margin: 0 auto;
}

.toggle-menu__trigger span {
   position: absolute;
   left: 0;
   width: 100%;
   height: 2px;
   background-color: #fff;
}

.toggle-menu__trigger span:nth-of-type(1) {
   top: 0;
}

.toggle-menu__trigger span:nth-of-type(2) {
   top: 8px;
}

.toggle-menu__trigger span:nth-of-type(3) {
   bottom: 0;
   width: 70%;
}

.toggle-menu.active .toggle-menu__trigger span:nth-of-type(1) {
   -moz-transform: translateY(10px) rotate(-45deg);
   -ms-transform: translateY(10px) rotate(-45deg);
   -webkit-transform: translateY(10px) rotate(-45deg);
   transform: translateY(10px) rotate(-45deg);
}

.toggle-menu.active .toggle-menu__trigger span:nth-of-type(2) {
   opacity: 0;
}

.toggle-menu.active .toggle-menu__trigger span:nth-of-type(3) {
   -moz-transform: translateY(-10px) rotate(45deg);
   -ms-transform: translateY(-10px) rotate(45deg);
   -webkit-transform: translateY(-10px) rotate(45deg);
   transform: translateY(-6px) rotate(45deg);
   width: 100%;
}


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

   header .toggle-menu {
      display: block;

   }

}

/*END HEADER*/


/*--------------------------------------
FOOTER
--------------------------------------*/



/*Pagination CSS*/
ul.page-numbers {
   list-style: none;
   margin: 0;
}

.page-numbers:after {
   content: ".";
   display: block;
   clear: both;
   visibility: hidden;
   line-height: 0;
   height: 0;
}

ul.page-numbers li {
   display: block;
   float: left;
   margin: 0 4px 4px 0;
   text-align: center;
}

.page-numbers a,
.page-numbers span {
   line-height: 1.6em;
   display: block;
   padding: 0 6px;
   height: 18px;
   line-height: 18px;
   font-size: 12px;
   text-decoration: none;
   font-weight: 400;
   cursor: pointer;
   border: 1px solid red;
   color: #888;
}

.page-numbers a span {
   padding: 0
}

.page-numbers a:hover,
.page-numbers.current,
.page-numbers.current:hover {
   color: #000;
   background: #f7f7f7;
   text-decoration: none;
}

.page-numbers:hover {
   text-decoration: none
}


/* iPhone X */

@media only screen and (min-device-width: 375px) and (min-device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait) {
   footer:after {
      background: rgba(122, 186, 79, 1);
      content: '';
      position: fixed;
      bottom: 0;
      left: 0;
      right: 0;
      height: 36px;
      z-index: 99;
   }


}


/* iPhone XR */

@media only screen and (min-device-width: 414px) and (min-device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait) {
   footer:after {
      background: rgba(122, 186, 79, 1);
      content: '';
      position: fixed;
      bottom: 0;
      left: 0;
      right: 0;
      height: 36px;
      z-index: 99;
   }


}


/* iPhone 11 */

@media only screen and (device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2),
only screen and (device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3),
only screen and (device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) {
   footer:after {
      background: rgba(122, 186, 79, 1);
      content: '';
      position: fixed;
      bottom: 0;
      left: 0;
      right: 0;
      height: 36px;
      z-index: 99;
   }


}

@media screen and (min-width: 768px) {
   footer:after {
      display: none;
   }
}


/**/
.wrap {
   max-width: 1000px;
   margin: 0 auto;
   position: relative;
}

.ob-img {
   background-size: cover;
   background-position: center center;
   position: relative;
}

.ob-img img {
   -o-object-fit: cover;
   object-fit: cover;
   width: 100% !important;
   height: 100% !important;
}

@media screen and (min-width: 768px) {
   .ob-img img {
      position: absolute;
      top: 0px;
      left: 0px;
      right: 0px;
      bottom: 0px;
   }

   .d__flex {
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
   }

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

.contact__frame {
   background: #D5E89E url("./img/contact_bg.png") repeat center center;
   padding: 50px 0;
}

.contact__frame p {
   margin: 0;
}

.contact__frame .contact__frame__inner {
   max-width: 940px;
   margin: 0 auto;
   text-align: center;
}

.contact__frame .contact__frame__inner .contact__frame__inner__top {
   margin-bottom: 40px;
}

.contact__frame .contact__frame__inner__left__title {
   font-size: 38px;
   line-height: 1;
   margin-bottom: 22px;
}

.contact__frame .contact__frame__inner__left__text {
   font-size: 18px;
   font-weight: 700;
   letter-spacing: 3px;
}

.contact__frame .contact__frame__inner__bottom {
   display: flex;
   /* justify-content: space-between; */
   justify-content: center;
}

.contact__frame .contact__frame__inner__bottom .contact__frame__bnr {
   width: 49%;
   display: flex;
   align-items: center;
   justify-content: center;
   position: relative;
   background: #fff;
   border-radius: 20px;
   overflow: hidden;
   transition: all 0.3s ease;
}
.contact__frame .contact__frame__inner__bottom .bnr__web {
   display: none;
}

.contact__frame .contact__frame__inner__bottom .contact__frame__bnr::before {
   content: "";
   width: 66px;
   height: 66px;
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   left: 0;
   z-index: 1;
   touch-action: none;
}

.contact__frame .contact__frame__inner__bottom .contact__frame__bnr:hover {
   opacity: 0.7;
}

.contact__frame .contact__frame__inner__bottom .contact__frame__bnr.bnr__tel:hover {
   opacity: 1;
}

.contact__frame .contact__frame__inner__bottom .contact__frame__bnr.bnr__tel::before {
   background: url("./img/contact-i01.png") no-repeat center center;
   background-size: 100% auto;
}

.contact__frame .contact__frame__inner__bottom .contact__frame__bnr.bnr__web::before {
   background: url("./img/contact-i02.png") no-repeat center center;
   background-size: 100% auto;
}

.contact__frame .contact__frame__inner__bottom .contact__frame__bnr.bnr__web::after {
   content: "";
   background: url("./img/i-web.svg") no-repeat center center;
   background-size: 100% auto;
   position: absolute;
   width: 17px;
   height: 17px;
   bottom: 15px;
   right: 17px;
}

.contact__frame .contact__frame__inner__bottom a {
   display: flex;
   width: 100%;
   position: relative;
   height: 139px;
   flex-direction: column;
   justify-content: center;
   z-index: 2;
   color: #5E5855;
}

.contact__frame .contact__frame__inner__bottom dl {
   padding-left: 42px;
   text-align: center;
}

.contact__frame .contact__frame__inner__bottom dl dt {
   font-size: 18px;
   line-height: 1;
   margin-bottom: 7px;
   letter-spacing: 2px;
}

.contact__frame .contact__frame__inner__bottom .bnr__web dl {
   padding-bottom: 0;
}

.contact__frame .contact__frame__inner__bottom .bnr__web dl dt {
   margin-bottom: 13px;
}

.contact__frame .contact__frame__inner__bottom dl dd {
   line-height: 1;
}

.contact__frame .contact__frame__inner__bottom dl dd span {
   color: #7ABA4F;
   font-size: 35px;
}

.contact__frame .contact__frame__inner__bottom .bnr__web dl dd {
   font-size: 32px;
}

.contact__frame .contact__frame__inner__bottom .bnr__tel dl dd {
   font-size: 45px;
   display: flex;
   align-items: center;
   justify-content: center;
   letter-spacing: 4px;

}

.contact__frame .contact__frame__inner__bottom .bnr__tel dl dd span img {
   display: block;
   line-height: 1;
}

@media screen and (max-width: 767px) {
   .contact__frame {
      background: #D5E89E url("./img/contact_bg_sp.png") repeat center center;
      padding: 50px 0;
   }

   .contact__frame .contact__frame__inner .contact__frame__inner__top {
      margin-bottom: 25px;
   }

   .contact__frame .contact__frame__inner__left__title {
      font-size: 26px;
      margin-bottom: 16px;
   }

   .contact__frame .contact__frame__inner__left__text {
      font-size: 15px;
      line-height: 25px;
   }

   .contact__frame .contact__frame__inner__bottom {
      flex-wrap: wrap;
      gap: 10px;
   }

   .contact__frame .contact__frame__inner__bottom .contact__frame__bnr {
      width: 100%;
   }

   .contact__frame .contact__frame__inner__bottom .contact__frame__bnr::before {
      width: 45px;
      height: 45px;
   }

   .contact__frame .contact__frame__inner__bottom .contact__frame__bnr:hover {
      opacity: 1;
   }

   .contact__frame .contact__frame__inner__bottom .contact__frame__bnr.bnr__web::after {
      width: 12px;
      height: 12px;
      bottom: 11px;
      right: 12px;
   }

   .contact__frame .contact__frame__inner__bottom a {
      width: 100%;
      height: 95px;
   }

   .contact__frame .contact__frame__inner__bottom dl {
      padding-left: 30px;
      text-align: center;
   }

   .contact__frame .contact__frame__inner__bottom dl dt {
      font-size: 15px;
      margin-bottom: 2px;
      letter-spacing: 0;
   }


   .contact__frame .contact__frame__inner__bottom .bnr__web dl {
      padding-bottom: 0;
   }

   .contact__frame .contact__frame__inner__bottom .bnr__web dl dt {
      margin-bottom: 7px;
   }


   .contact__frame .contact__frame__inner__bottom .bnr__web dl dd {
      font-size: 24px;
   }

   .contact__frame .contact__frame__inner__bottom dl dd span {
      font-size: 27px;
   }

   .contact__frame .contact__frame__inner__bottom .bnr__tel dl dd {
      font-size: 35px;
      letter-spacing: 2px;
   }
}

#footer {
   padding: 48px 0;
   text-align: center;
   background-color: #fff;
}

#footer img {
   width: 100%;
   height: auto;
}

#footer .footer__logo {
   width: 229px;
   margin: 0 auto 24px;
}

#footer p {
   margin: 0;
   font-size: 13px;
   line-height: 180%;
   color: #5E5855;
}

#footer p a:hover {
   text-decoration-line: underline;
   text-underline-offset: 4px;
}

@media screen and (max-width: 767px) {
   #footer {
      padding: 10vw 0 30vw;
   }
}


i img {
   display: block;
   line-height: 1;
}

#header {
   position: fixed;
   background: #FBFAE9;
   top: 0;
   left: 0;
   right: 0;
}

#header img {
   width: 100%;
   height: auto;
}

#header p {
   margin: 0;
}

#header .header__wrap {
   display: flex;
   justify-content: flex-end;
   align-items: center;
}

#header .header__left {
   position: absolute;
   width: 229px;
   top: 11px;
   left: 20px;
}

#header .header__right {
   /* width: 320px; */
   width: 220px;
   border-bottom-left-radius: 20px;
   overflow: hidden;
   height: 90px;
   margin-left: 30px;
   font-family: 'Zen Maru Gothic';
   font-style: normal;
   font-weight: 500;
}

#header .header__right .header__btn {
   display: flex;
   align-items: center;
   justify-content: flex-end;
}

#header .header__right .header__btn li {
   /* width: 50%; */
   width: 100%;
   color: #fff;
}

#header .header__right .header__btn li a {
   display: flex;
   flex-direction: column;
   height: 90px;
   align-items: center;
   justify-content: center;
   color: #fff;
   width: 100%;
}

#header .header__right .header__btn li a i {
   display: block;
   width: 20px;
   height: 15px;
   margin: 0 auto 10px;
}

#header .header__right .header__btn .header__btn__tel {
   background: #7ABA4F;
}

#header .header__right .header__btn .header__btn__tel span {
   font-size: 19px;
}

#header .header__right .header__btn .header__btn__web {
   background: #59AB22;
   transition: all 0.3s ease;
   display: none;
}

#header .header__right .header__btn .header__btn__web:hover {
   opacity: 0.5;
}

#header .header__right .header__btn .header__btn__web span {
   font-size: 15px;
   letter-spacing: 0.05em;
   padding: 0 10px;
}

#header .header__right .header__btn .header__btn__web span span {
   font-size: 17px;
   padding: 0;
}

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

   #header .header__wrap {
      display: block;
   }

   #header .header__left {
      width: 189px;
      top: 5px;
      left: 15px;
   }

   #header .header__right {
      display: none;
   }
}



#ft-fixed {
   position: fixed;
   bottom: 0;
   left: 0;
   right: 0;
   z-index: 123;
   background: #59AB22;
}

#ft-fixed p {
   margin: 0;
}

#ft-fixed .ft-fixed__shared {
   display: flex;
   justify-content: space-between;
   align-items: center;
   width: 100%;
}

#ft-fixed .ft-fixed__left {
   width: calc(100% - 64px);
   display: flex;
   justify-content: space-between;
}

#ft-fixed .ft-fixed__left .fixed__btn__tel {
   background: #7ABA4F;
}

#ft-fixed .ft-fixed__left .fixed__btn__web {
   background: #59AB22;
   display: none;
}

#ft-fixed .ft-fixed__left p {
   /* width: 50%; */
   width: 100%;
}

#ft-fixed .ft-fixed__left i {
   width: 17px;
}

#ft-fixed .ft-fixed__left a {
   display: flex;
   width: 100%;
   justify-content: center;
   align-items: center;
   gap: 10px;
   font-size: 20px;
   color: #fff;
   line-height: 1;
   height: 64px;
}

#ft-fixed .fixed__up {
   width: 64px;
   background: #C1C7C8;
   height: 64px;
}

.nav-Opened .header__main-container {
   opacity: 1;
   visibility: visible;
}

@media screen and (max-width: 767px) {
   .header__main-container {
      position: fixed;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      transition: all 0.35s ease;
      overflow: auto;
      padding-bottom: 0px;
      background: #FBFAE9;
      z-index: 998;
      opacity: 0;
      visibility: hidden;
   }
}

.title__c {
   text-align: center;
}

.title__c h2 {
   color: #5E5855;
   font-size: 43px;
   line-height: 170%;
   letter-spacing: 1px;
   font-weight: 500;
}

.title__c h2 span {
   display: block;
   color: #FAA34E;
   font-size: 18px;
   font-weight: 700;
   line-height: 1;
   margin-bottom: 3px;
   letter-spacing: 2px;
}

@media screen and (max-width: 767px) {
   .title__c h2 {
      font-size: 28px;
      letter-spacing: 4px;
   }

   .title__c h2 span {
      font-size: 12px;
      margin-bottom: 6px;
   }
}


.timetable__t {
   width: 100%;
   background: #FFFFFF;
}

.timetable__t thead {
   background: #8F7E70;
   color: #fff;
   font-size: 14px;
}

.timetable__t thead th,
.timetable__t thead td {
   text-align: center;
   padding: 2px 0;
}

.timetable__t thead th {
   width: 13px;
   font-size: 14px;
   text-align: left;
   padding-left: 22px;
}

.timetable__t thead td {
   width: 9.5%;
}

.timetable__t thead td:last-child {
   width: 15%;
}

.timetable__t tbody tr {
   border-bottom: 1px solid #B9B9B9;
}

.timetable__t tbody tr th,
.timetable__t tbody tr td {
   padding: 9px 0;
}

.timetable__t tbody tr th {
   font-weight: 400;
   text-align: center;
   font-size: 17px;
   letter-spacing: 0px;
}

.timetable__t tbody tr td span {
   display: block;
   width: 14px;
   margin: 0 auto;
}

.timetable__t tbody tr td span img {
   display: block;
   line-height: 1;
   width: 100%;
}

.timetable__t tbody tr td:last-child {
   width: 55px;
}

@media screen and (max-width: 767px) {
   .timetable__t thead {
      font-size: 13px;
   }

   .timetable__t thead th,
   .timetable__t thead td {
      padding: 5px 0;
      line-height: 1;
   }

   .timetable__t thead th {
      width: 86px;
      text-align: center;
   }

   .timetable__t thead td {
      width: 9%;
   }

   .timetable__t thead td:last-child {
      width: 22px;
   }

   .timetable__t tbody tr th,
   .timetable__t tbody tr td {
      padding: 5px 0;
      font-size: 13px;
   }

   .timetable__t tbody tr td span {
      width: 14px;
   }

   .timetable__t tbody tr td:last-child {
      width: 45px;
   }
}

#about {
   position: relative;
   padding: 148px 0 153px;
}

#about::before,
#about::after {
   content: "";
   position: absolute;
}

#about::before {
   left: 0;
   top: -200px;
   background: url("./img/about_deco01.png") no-repeat top center;
   background-size: 100% auto;
   width: 386px;
   height: 686px;
}

.home #about::before {
   left: 0;
   top: -49px;
   background: url("./img/about_deco01.png") no-repeat top center;
   background-size: 100% auto;
   width: 386px;
   height: 686px;
}

#about::after {
   right: 0;
   bottom: -169px;
   background: url("./img/about_deco03.png") no-repeat top center;
   background-size: 100% auto;
   width: 504px;
   height: 470px;
}

#about .wrap::before {
   content: "";
   background: url("./img/about_deco02.png") no-repeat top center;
   background-size: 100% auto;
   position: absolute;
   width: 287px;
   height: 74px;
   top: 59px;
   left: calc(50% + 334px);
}

#about .title__c {
   margin-bottom: 39px;
}

#about .about__wrap {
   display: flex;
   justify-content: space-between;
   gap: 20px;
   align-items: flex-start;
   position: relative;
   z-index: 2;
}

#about .about__wrap .left {
   width: 47%;
   border-radius: 40px;
   overflow: hidden;
   margin-top: 8px;
}

#about .about__wrap .left .mmap {
   width: 100%;
   height: 510px;
}

#about .about__wrap .left .mmap iframe {
   width: 100%;
   height: 100%;
}

#about .about__wrap .right {
   width: 47%;
}

#about .about__wrap .right .box {
   margin-bottom: 44px;
}

#about .about__wrap .right .timetable__t {
   margin-bottom: 9px;
}

#about .about__wrap .right .tb-note {
   font-size: 17px;
   line-height: 30px;
}

#about .about__wrap .right .tb-note span {
   background: #fff;
   display: inline-block;
   padding: 2px 11px;
   margin-right: 10px;
}

#about .about__wrap .right .tb-note i {
   width: 16px;
   display: inline-block;
}

@media screen and (max-width: 767px) {
   #about {
      padding: 13vw 0 14vw;
   }

   #about::before {
      left: 0;
      top: -200px;
      background: url("./img/about_deco01_sp.png") no-repeat top center;
      background-size: 100% auto;
      width: 138px;
      height: 258px;
   }

   .home #about::before {
      left: 0;
      top: -25vw;
      background: url("./img/about_deco01_sp.png") no-repeat top center;
      background-size: 100% auto;
      width: 138px;
      height: 258px;
   }

   #about::after {
      right: 0;
      bottom: -14vw;
      background: url("./img/about_deco03_sp.png") no-repeat top center;
      background-size: 100% auto;
      width: 217px;
      height: 201px;
   }

   #about .wrap::before {
      width: 116px;
      height: 30px;
      top: 110vw;
      left: auto;
      right: -5px;
   }

   #about .title__c {
      margin-bottom: 7vw;
   }

   #about .about__wrap {
      display: block;
      padding: 0 30px;
   }

   #about .about__wrap .left {
      width: 100%;
      margin-top: 0;
      margin-bottom: 27px;
   }

   #about .about__wrap .left .mmap {
      height: 61vw;
   }

   #about .about__wrap .right {
      width: 100%;
   }

   #about .about__wrap .right .box {
      margin-bottom: 8vw;
   }

   #about .about__wrap .right .timetable__t {
      margin-bottom: 1vw;
   }

   #about .about__wrap .right .tb-note {
      font-size: 14px;
      line-height: 26px;
   }

   #about .about__wrap .right .tb-note span {
      padding: 2px 5px;
      margin-right: 10px;
   }

   #about .about__wrap .right .tb-note i {
      width: 14px;
   }
}

#doctor {
   padding: 111px 0 164px;
   position: relative;
}

#doctor::before,
#doctor::after {
   content: "";
   position: absolute;
   width: 504px;
   height: 470px;
}

#doctor::before {
   background: url("./img/doctor_deco-1.png") no-repeat top center;
   background-size: 100% auto;
   top: -147px;
   left: 0;
}

#doctor::after {
   background: url("./img/doctor_deco-2.png") no-repeat top center;
   background-size: 100% auto;
   bottom: -152px;
   right: 0;
}

#doctor .title__c {
   margin-bottom: 36px;
}

#doctor .doctor__wrap {
   max-width: 940px;
   margin: 0 auto;
   display: flex;
   gap: 20px;
   justify-content: space-between;
   position: relative;
   z-index: 2;
}

#doctor .doctor__wrap .left {
   width: 447px;
}

#doctor .doctor__wrap .left .thumbs {
   border-radius: 20px;
   overflow: hidden;
   position: relative;
   margin-bottom: 22px;
}

#doctor .doctor__wrap .left .thumbs .ob-img {
   width: 100%;
   height: 346px;
}

#doctor .doctor__wrap .left .thumbs .thumbs__detail {
   position: absolute;
   bottom: 0;
   right: 0;
   z-index: 2;
   width: 123px;
   height: 76px;
   font-weight: 700;
   color: #fff;
   letter-spacing: 2px;
}

#doctor .doctor__wrap .left .thumbs .thumbs__detail::after {
   content: "";
   background: url("./img/doctor_mask.png") no-repeat top center;
   background-size: 100% auto;
   position: absolute;
   width: 202px;
   height: 142px;
   bottom: 0;
   right: 0;
   z-index: -1;
}

#doctor .doctor__wrap .left .thumbs .thumbs__detail small {
   font-size: 14px;
   letter-spacing: 5px;
}

#doctor .doctor__wrap .left .thumbs .thumbs__detail span {
   font-size: 20px;
   display: block;
}

#doctor .doctor__wrap .left .thumbs ul {
   position: absolute;
   bottom: 14px;
   left: 18px;
   font-weight: 900;
}

#doctor .doctor__wrap .left .thumbs ul li span {
   display: inline-block;
   line-height: 1;
   padding: 9px 9px;
   background: #fff;
   border-radius: 5px;
   overflow: hidden;
   letter-spacing: 0;
}

#doctor .doctor__wrap .left .thumbs ul li+li {
   margin-top: -1px;
}

#doctor .doctor__wrap .info {
   background: #FFFFFF;
   border-radius: 20px;
   padding: 27px 0;
   display: flex;
   justify-content: space-between;
   gap: 20px;
   align-items: center;
}

#doctor .doctor__wrap .info h3 {
   color: #3EBEB8;
   font-weight: 500;
   font-size: 22px;
   width: 93px;
   text-align: right;
}

#doctor .doctor__wrap .info ul {
   width: 297px;
}

#doctor .doctor__wrap .info ul li {
   position: relative;
   margin: 2px 0;
}

#doctor .doctor__wrap .info ul li::before {
   content: "";
   background: #5E5855;
   width: 6px;
   height: 6px;
   border-radius: 50%;
   position: absolute;
   top: 10px;
   left: -18px;
}

#doctor .doctor__wrap .info ul li+li {
   margin-top: 0;
}

#doctor .doctor__wrap .right {
   width: 419px;
   margin-left: auto;
}

#doctor .doctor__wrap .right .box {
   margin-bottom: 40px;
   padding-top: 6px;
}

#doctor .doctor__wrap .right .box dl {
   margin-bottom: 54px;
}

#doctor .doctor__wrap .right .box dl dt {
   margin-bottom: 22px;
   font-size: 26px;
   line-height: 190%;
   letter-spacing: 3px;
}

#doctor .doctor__wrap .right .box dl dd {
   line-height: 220%;
}

#doctor .doctor__wrap .right .box .bnr__shared {
   width: 324px;
   margin-left: auto;
}

@media screen and (max-width: 767px) {
   #doctor {
      padding: 15vw 0 21vw;
   }

   #doctor::before,
   #doctor::after {
      width: 240px;
      height: 223px;
   }

   #doctor::before {
      top: -12vw;
      left: 0;
   }

   #doctor::after {
      bottom: -4vw;
      right: 0;
   }

   #doctor .title__c {
      margin-bottom: 6vw;
   }

   #doctor .doctor__wrap {
      display: block;
      padding-left: 19px;
      padding-right: 19px;
   }

   #doctor .doctor__wrap .left {
      width: 100%;
      margin-bottom: 5vw;
   }

   #doctor .doctor__wrap .left .thumbs {
      margin-bottom: 3vw;
   }

   #doctor .doctor__wrap .left .thumbs .ob-img {
      height: 70vw;
   }

   #doctor .doctor__wrap .left .thumbs .thumbs__detail {
      bottom: 0;
      right: 0;
      width: 116px;
      height: 73px;
   }

   #doctor .doctor__wrap .left .thumbs .thumbs__detail::after {
      width: 189px;
      height: 134px;
      bottom: -2px;
   }

   #doctor .doctor__wrap .left .thumbs .thumbs__detail small {
      margin-bottom: 2px;
   }

   #doctor .doctor__wrap .left .thumbs ul {
      bottom: 10px;
      left: 17px;
      font-size: 14px;
   }

   #doctor .doctor__wrap .left .thumbs ul li span {
      padding: 5px 8px;
      letter-spacing: 0px;
   }

   #doctor .doctor__wrap .left .thumbs ul li+li {
      margin-top: 0;
   }

   #doctor .doctor__wrap .info {
      padding: 5vw 28px;
      display: block;
   }

   #doctor .doctor__wrap .info h3 {
      font-size: 18px;
      width: 100%;
      margin-bottom: 10px;
      line-height: 1;
      text-align: left;
   }

   #doctor .doctor__wrap .info ul {
      width: 100%;
   }

   #doctor .doctor__wrap .info ul li {
      padding-left: 14px;
      margin: 0;
      line-height: 140%;
   }

   #doctor .doctor__wrap .info ul li::before {
      width: 6px;
      height: 6px;
      left: 0;
      top: 50%;
      transform: translateY(-50%);
   }

   #doctor .doctor__wrap .info ul li+li {
      margin: 0;

   }

   #doctor .doctor__wrap .right {
      width: 100%;
      margin-left: 0;
   }

   #doctor .doctor__wrap .right .box {
      margin-bottom: 0;
      padding: 0 11px;
   }

   #doctor .doctor__wrap .right .box dl {
      margin-bottom: 10vw;
   }

   #doctor .doctor__wrap .right .box dl dt {
      margin-bottom: 5vw;
      font-size: 24px;
      line-height: 170%;
   }

   #doctor .doctor__wrap .right .box dl dd {
      line-height: 180%;
   }

   #doctor .doctor__wrap .right .box .bnr__shared {
      width: 88%;
      margin: 0 auto;
   }
}

.ipadn {
   display: none;
}

@media screen and (max-width: 1199px) {
   .ipadn {
      display: block;
   }
}

@media screen and (max-width: 1199px) and (min-width: 768px) {
   .wrap {
      padding-left: 20px;
      padding-right: 20px;
   }
}

@media screen and (max-width: 1099px) and (min-width: 768px) {
   body {
      font-size: 14px;
   }

   #header .header__left {

      width: 135px;
      top: 9px;
      left: 20px;
   }

   #header .header__right .header__btn li a {
      height: 60px;
   }

   #header .header__right .header__btn .header__btn__tel span {
      font-size: 15px;
   }

   #header .header__right .header__btn li a i {
      display: block;
      width: 17px;
      height: 9px;
      margin: 0 auto 10px;
   }

   #header .header__right .header__btn .header__btn__web span span {
      font-size: 14px;
   }

   #header .header__right .header__btn .header__btn__web span {
      font-size: 12px;
   }

   #header .header__right {
      width: 150px;
      height: 60px;
      margin-left: 7px;
   }

   .contact__frame .contact__frame__inner__left__title {
      font-size: 35px;
   }

   .contact__frame .contact__frame__inner__bottom dl dt {
      font-size: 16px;
      margin-bottom: 7px;
      letter-spacing: 1px;
   }

   .contact__frame .contact__frame__inner__bottom .bnr__web dl dd {
      font-size: 28px;
   }

   .contact__frame .contact__frame__inner__bottom dl dd span {
      font-size: 32px;
   }

   .contact__frame .contact__frame__inner__bottom .bnr__tel dl dd {
      font-size: 40px;
   }

   .contact__frame .contact__frame__inner__bottom .contact__frame__bnr::before {
      width: 50px;
      height: 50px;
   }

   .contact__frame .contact__frame__inner__bottom a {
      height: 120px;
   }

   .contact__frame .contact__frame__inner__bottom .contact__frame__bnr.bnr__web::after {
      width: 14px;
      height: 14px;
   }



   .title__c h2 span {
      font-size: 16px;
   }

   .title__c h2 {
      font-size: 38px;
   }

   #about .about__wrap .left,
   #about .about__wrap .right {
      width: 49%;
   }

   #about .about__wrap .right .tb-note,
   .timetable__t tbody tr th {
      font-size: 15px;
   }

   #doctor .doctor__wrap .left {
      width: 47%;
   }

   #doctor .doctor__wrap .right {
      width: 50%;
   }

   #doctor .doctor__wrap .info {
      padding: 20px;
      gap: 10px;
   }

   #doctor .doctor__wrap .info h3 {
      width: 18%;
   }

   #doctor .doctor__wrap .info ul {
      width: 70%;
   }
}


@media screen and (max-width: 359px) {
   #doctor .doctor__wrap .right .box {
      padding: 0;
   }

   #about .about__wrap,
   #doctor .doctor__wrap .info,
   #doctor .doctor__wrap {

      padding-left: 15px;
      padding-right: 15px;
   }

   .contact__frame .contact__frame__inner__left__text {
      font-size: 14px;
      letter-spacing: 2px;
   }
}


.scrolling {
   overflow: hidden;
   height: 236px;
}

.scrolling .ob-img {
   width: 356px;
   height: 236px;
}

@media screen and (max-width: 767px) {
   .scrolling {
      height: 135px;
   }

   .scrolling .ob-img {
      width: 203px;
      height: 135px;
   }
}



.table__s {
   width: 100%;
}

.table__s dl {
   font-size: 17px;
   line-height: 24px;
   display: flex;
   position: relative;
   justify-content: space-between;
   padding: 17px 0;
   text-align: left;
   align-items: center;
   letter-spacing: 0px;
}

.table__s dl::after,
.table__s dl::before {
   content: "";
   position: absolute;
   width: 100%;
   height: 1px;
   bottom: 0;
   left: 0;
}

.table__s dl::before {
   width: 71px;
   border-bottom: 1px solid var(--cl-darkorange);
   z-index: 1;
}

.table__s dl::after {
   right: 0;
   border-bottom: 1px solid #B9B9B9;
}

.table__s dl dt {
   font-weight: 700;
   width: 110px;
   font-size: 14px;
}

.table__s dl dd {
   width: calc(100% - 97px);
   font-weight: 400;
}

.table__s dl:first-child {
   padding-top: 0;
}

@media screen and (max-width: 767px) {
   .table__s {
      width: 100%;
   }

   .table__s dl {
      font-size: 14px;
      line-height: 1.6;
      padding: 11px 0;
   }

   .table__s dl::before {
      width: 50px;
   }

   .table__s dl dt {
      width: 95px;
      font-size: 13px;
   }

   .table__s dl dd {
      width: calc(100% - 85px);
   }
}

@media screen and (max-width: 1199px) and (min-width: 768px) {
   .table__s dl {
      font-size: 15px;
      padding: 12px 0;
   }
}

#contact__feature {
   padding: 59px 0 75px;
}

@media screen and (max-width: 767px) {
   #contact__feature {
      padding: 10vw 30px 9vw;
   }
}


@media screen and (max-width: 767px) {
   #contact__feature {
      padding: 10vw 30px 9vw;
   }
}

@media screen and (max-width: 767px) {
   #contact__feature {
      padding-left: 15px;
      padding-right: 15px;
   }
}

/**/