@charset "utf-8";

/*

font-family: 'Crimson Text', serif;
font-family: 'Marcellus SC', serif;
font-family: 'Lato', sans-serif;

*/

body { color: #585a5b; background: #ffffff; letter-spacing: .05em; line-height: 1.75; font-size: 16px; font-family: '游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif; }
a { color: #8AB689; }
a:hover { color: #007F12; text-decoration: none; }
a img { border: none; }
a:hover img { opacity: 0.7; }
select::-ms-expand {display: none;}
select {-webkit-appearance: none;-moz-appearance: none;appearance: none;width: 100%;margin-bottom: 20px;padding: 10px;font-size: 15px;line-height: 1.1em;border: 1px solid #eee;border-radius: 5px;}
select:focus {outline: 3px solid #8AB689;border-radius: 5px;overflow: hidden;}
::selection { background-color: rgba(241,237,231,0.88); }
::-moz-selection { background-color: rgba(241,237,231,0.88); }
video {max-width: 100%; }


.content { margin-bottom: 60px; }
.content, .sidebar { width: 100%; }


/* ヘッダー -----------------------------------------------------*/
.header { position: absolute; top: 0; left: 0; width: 100%; height: 100px; z-index: 998; background-color: rgba(255,255,255,0.6); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); }
.header.fiexd { top: 0; left: 0; }
.header .header-logo { width: 236px; margin-top: 13px; }
.header .header-right { width: 890px; }

.pc-nav .menu { position: relative; height: inherit; margin: 0 auto; text-align: center; }
.pc-nav .menu > li > a { position: relative; display: table-cell; height:100px; padding: 0 10px; vertical-align: middle; line-height: 1.2; text-align: center; color: #585a5b; font-size: 15px; font-weight: 400; }
.pc-nav .menu > li > a::before { position: absolute; bottom: 20px; left: 0; right: 0; margin: auto; width: 0; height:2px; display: block; content: ''; transition: ease .4s; background: linear-gradient(90deg, #007F12 0%, #007F12 50%, #009d32 50%, #009d32 100%); }
.pc-nav .menu > li > a > span { display: block; color: #8AB689; font-size: 10px; font-family: 'Marcellus SC', serif; transform: scale(1, 0.86); }
.pc-nav .menu > li > a > span:first-letter { font-size: 13px;}
.pc-nav .menu > li:nth-child(7) > a { background: #009d32; }
/* .pc-nav .menu > li:nth-child(9) > a { background: #8AB689; } */
.pc-nav .menu > li:nth-child(7) > a,
/* .pc-nav .menu > li:nth-child(9) > a, */
.pc-nav .menu > li:nth-child(7) > a > span
/* ,.pc-nav .menu > li:nth-child(9) > a > span  */
{ color: #fff; }
.pc-nav .menu > li:nth-child(7) > a::before
/* ,.pc-nav .menu > li:nth-child(9) > a::before  */
{ display: none; }
.pc-nav .menu > li:hover > a { text-decoration: none; opacity: .8; }
.pc-nav .menu > li:hover > a::before { width: 72%; }
/*
.pc-nav .menu > li:hover:nth-child(2) .sub-menu::before { left: 96px; }
.pc-nav .menu > li:hover:nth-child(4) .sub-menu::before { left: 308px; }
*/
.pc-nav .sub-menu { position: absolute; z-index: 999; display: none; width: 100%; top: 96%; left: 0%; padding: 22px 30px; border: 2px solid #009d32; background-color: #fff7ea; border-radius: 26px; -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); }
.pc-nav .sub-menu::before{ position: absolute; top: -14px;  content: ""; width: 0; height: 0; border-left: 13px solid transparent; border-right: 13px solid transparent; border-bottom: 13px solid #009d32; }
.pc-nav > ul > li:nth-child(3) .sub-menu::before{ left: 193px; }
.pc-nav > ul > li:nth-child(4) .sub-menu::before{ left: 288px; }
.pc-nav .sub-menu > li { float: left; width: calc(100% / 3); }
.pc-nav .sub-menu > li > a { display: block; position: relative; color: #585a5b; padding: 8px 16px 8px 19px; text-align: left; font-size: 14px; transition: .2s; }
.pc-nav .sub-menu > li > a:hover { opacity: .8; }
.pc-nav .sub-menu > li > a::before { position: absolute; left: 0; top: 13px; display: block; width: 13px; height: 13px; line-height: 1; color: #009d32; content: "\f138"; font-family: 'Font Awesome 5 Free'; font-weight: 900; }



/* スマホメニュー -----------------------------------------------------*/
.sp-nav { position: fixed; top: 0; left: 0; z-index: 999; width: 100%; background-color: rgba(255,255,255,0.9); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); }
.sp-nav { overflow-y: scroll; -webkit-overflow-scrolling: touch; overflow-x: hidden; }
.sp-nav-content { height: 64px; }
.sp-nav-logo { width: 200px; margin-top: 11px; margin-left: 6%; }
.sp-nav-icon img { max-width: 22px; }
.sp-under-nav { position: fixed; bottom: 0; left: 0; right: 0; width: 100%; border-radius: 12px 12px 0 0; overflow: hidden; z-index: 998; }
.sp-under-nav li { position: relative; width: calc(100%/2); }
.sp-under-nav li a { display: block; text-align: center; background-color: #8AB689; color: #fff; line-height: 56px; font-size: 15px; }
.sp-under-nav li a i { color: #fff; font-size: 14px; }
.sp-under-nav li:nth-child(2)::before { content: ''; position: absolute; top: 0; bottom: 0; margin: auto; display: block; width: 1px;  height: 26px; border-radius: 2px; background-color: #fff; }
/* .sp-under-nav li:nth-child(2)::before,
.sp-under-nav li:nth-child(2)::after { content: ''; position: absolute; top: 0; bottom: 0; margin: auto; display: block; width: 1px;  height: 26px; border-radius: 2px; background-color: #fff; }
.sp-under-nav li:nth-child(2)::before { left: 0; }
.sp-under-nav li:nth-child(2)::after { right: 0; } */
#sp-menu1-btn { display: block; width: 64px; height: 64px; position: absolute; right: -5px; text-align: center; z-index: 999; }
#sp-menu1-btn i { position: relative; top: 25px; font-size: 9px; font-style: normal; color: #585a5b; font-weight: 600; }
#sp-menu1-btn i::before { content: 'MENU'; font-family: 'Marcellus SC', serif; }
#sp-menu1-btn.is-active i::before { content: 'CLOSE'; }
#sp-menu1-btn span { display: block; background: #585a5b; width: 33px; height: 2px; position: absolute; left: -3px; right: 0; margin: 0 auto; transition: all 0.4s; -webkit-transition: all 0.4s; -moz-transition: all 0.4s; }
#sp-menu1-btn span:nth-child(1) { top: 14px; }
#sp-menu1-btn span:nth-child(2) { margin-top: -8px; top: 50%; }
#sp-menu1-btn span:nth-child(3) { bottom: 28px; }
#sp-menu1-btn i { position: absolute; left: -3px; right: 0; top: auto; bottom: 6px; font-size: 9px; font-style: normal; color: #585a5b; font-weight: 600; }
#sp-menu1-btn.is-active { }
#sp-menu1-btn.is-active i { color: #585a5b; }
#sp-menu1-btn.is-active span { background: #585a5b; }
#sp-menu1-btn.is-active span:nth-child(1) { top: 16px; -webkit-transform: translateY(8px) rotate(225deg); -moz-transform: translateY(8px) rotate(225deg); -ms-transform: translateY(8px) rotate(225deg); transform: translateY(8px) rotate(225deg); }
#sp-menu1-btn.is-active span:nth-child(2) { opacity: 0; }
#sp-menu1-btn.is-active span:nth-child(3) { -webkit-transform: translateY(-8px) rotate(-225deg); -moz-transform: translateY(-8px) rotate(-225deg); -ms-transform: translateY(-8px) rotate(-225deg); transform: translateY(-8px) rotate(-225deg); }
#sp-menu1 { display: none; overflow: auto; background: rgba(255,255,255,.96); }
#sp-menu1 .menu li { position: relative; display: block; width: 100%; line-height: 1.4; font-size: 15px; font-weight: normal; text-align: left; }
#sp-menu1 .menu li a { display: block; position: relative; width: 100%; padding: 14px; background: #8AB689; color: #fff; border-bottom: 1px solid #fff; text-align: center; text-decoration: none; font-weight: 500; font-size: 16px; }
#sp-menu1 .menu li a::before { content: '>'; position:absolute; top: 13px; right: 16px; color: #fff; }
#sp-menu1 .sub-menu { display: none; position: relative; }
#sp-menu1 .sub-menu li a { display: block; position: relative; background: #009d32; color: #fff; }
#sp-menu1 .sub-menu li a span { overflow: hidden; text-overflow: ellipsis; }
#sp-menu1 .sub-menu-bt { width: 50px; height: 50px; background: #009d32; color: #fff; border-left: 1px solid #fff; position: absolute; top: 0; right: 0; z-index: 2; }
#sp-menu1 .sub-menu-bt::before { content: ''; position: absolute; top: 24px; right: 15px; width: 16px; border-top: 1px solid #fff; display: block; margin:0 auto; }
#sp-menu1 .sub-menu-bt::after { content: ''; position: absolute; top: 24px; right: 15px; width: 16px; border-top: 1px solid #fff; display: block; margin:0 auto; transform:rotate(90deg); }
#sp-menu1 .sub-menu-bt.is-active::after { opacity: 0; }
#sp-menu1 .sp-menu1-close-btn { display: block; width: 50%; margin: 20px auto 40px; text-align: center; color: #8AB689; padding: 12px; border: 1px solid #8AB689; border-radius: 40px; font-family: 'Marcellus SC', serif; }


/* メイン -----------------------------------------------------*/
.home .mainvisual { height: auto; background: none; }
.home .mainvisual .container-or { position: absolute; top: 0; left: 0; right: 0; margin: auto; display: table; height: 100%; margin-top: 0; }

.mainvisual { height: 280px; overflow: hidden; background-image: url(../images/main_bg.png); background-size: cover; background-position: center; background-repeat: no-repeat; }
.mainvisual .container-or { position: relative; z-index: 10; }
.mainvisual .main-slide { position: relative; z-index: 1; }
.mainvisual .main-cat { position: absolute; z-index: 9; top: 32%; left: 0; margin: auto; width: 53%; }
.mainvisual .headline-inner { display: table-cell; vertical-align: middle; text-align: center; }
.mainvisual .headline-flame { display: table; width: 100%; height: 216px; margin-top: 64px; letter-spacing: 0.15em; text-shadow: 0 0 5px rgb(255 255 255 / 70%); }
.mainvisual .headline-flame p { position: relative; margin-bottom: 0; color: #009d32; font-family: 'Crimson Text', serif; text-shadow: #ffffff 1px 1px 5px, #ffffff -1px 1px 5px, #ffffff 1px -1px 5px, #ffffff -1px -1px 5px; }
.mainvisual .headline-flame p::before,
.mainvisual .headline-flame p::after { position: relative; content:'-'; }
.mainvisual .headline-flame p::before { left:-0.5em; }
.mainvisual .headline-flame p::after { right:-0.5em; }
.mainvisual .headline-flame .headline { font-weight: bold; font-size: 25px; }
.underline { text-decoration: underline solid 1px;}
.disc { list-style: disc; padding-left: 20px;}
.disc li { list-style: disc;}
.circle { list-style: circle; padding-left: 20px; }
.circle li { list-style: circle; }
.decimal { list-style: decimal; padding-left: 20px;}
.decimal li { list-style: decimal;}
.childPageBox {
  border: 1px solid rgb(204, 204, 204);
  margin: 20px 10px;
}
.childPageBox h4 {
  font-weight: lighter;
  margin: 15px 0px 20px;
  padding: 5px 0px 10px 20px;
  font-size: 14px;
  border-top: none;
  border-right: none;
  border-left: none;
  border-image: initial;
  border-bottom: 1px solid rgb(204, 204, 204);
  color: rgb(133, 118, 91);
}
.childPageBox ul {
  margin: 0px 20px 15px;
  padding: 0px;
  display: block;
  overflow: hidden;
  font-size: 85.7%;
  line-height: 125%;
}
.childPageBox ul li {
  float: left;
  display: block;
  width: 50%;
  list-style: none;
  margin: 0px 0px 10px;
}
.childPageBox ul li a {
  background: url(../images/icons/arrow01_gray.gif) left 5px no-repeat;
  padding: 2px 0px 0px 17px;
  text-decoration: none;
  display: block;
  overflow: hidden;
  color: rgb(133, 118, 91);
}

@media (max-width: 659px) {
  .childPageBox {
    margin: 20px 0px;
  }
  .childPageBox ul li {
    width: 100%;
    line-height: 1.4;
  }
  .childPageBox ul li a {
    background-position: 0 9px;
  }
}
/* トップページ -----------------------------------------------------*/
.top-news .news-box { position: relative; top: -80px; z-index: 10; margin: 0 6%; padding: 20px 30px 30px; background: #fff; }
.top-news .news-box .btn { margin: 20px auto 0; text-align: center; }
.top-news .news-box .btn a { margin: 0 auto; }
.top-news .news-titl { margin-bottom: 1.25em; }
.top-news .news-titl::after { content: none; }
.top-news .news-titl h2 { font-size: 16px; }
.top-news .news-titl h2::before { content: none; position: relative; top: -5px; display: inline-block; width: 50px; height: 1px; background: rgba(51,68,85,0.5); margin-right: 12px; }
.top-news .news-titl p { font-size: 30px; }
.top-news .news-titl p:first-letter{font-size: 40px; }
.top-news .news-btn { /*position: absolute; left: 0; bottom: 15px;*/ text-align:center; margin-top:20px; }
.top-news .news-list li { position: relative; margin-bottom: 10px; border-bottom: 1px solid #ebf1f9; }
.top-news .news-list li::before { content: ''; display: block; width: 0; height: 0; border-top: .2em solid transparent; border-bottom: .2em solid transparent; border-left: 0.6em solid #007F12; position: absolute; top: calc(50% - .2em); left: -1em; transition: .9s all cubic-bezier(0.19, 1, 0.22, 1); transform: translateX(-1em) scaleY(0); -webkit-backface-visibility: hidden; backface-visibility: hidden; }
.top-news .news-list li::after { content: ''; display: block; width: 0; height: 1px; background: #007F12; position: absolute; bottom: -1px; left: 0; transition: .9s all cubic-bezier(0.19, 1, 0.22, 1); }
.top-news .news-list li:hover::before { transform: none; }
.top-news .news-list li:hover::after { width: 100%; }
.top-news .news-list li a { padding-bottom: 3px; color: #585a5b; display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.top-news .news-list .date { font-family: 'Crimson Text', serif; }
.top-news .news-list .cate { display: none; }
.top-news .news-list .titl { overflow: hidden; text-overflow: ellipsis; display: block; }

.top-time .table-2 { margin-bottom: 20px; padding: 8px 8px 0; background: #8AB689; border: 3px solid #f5f2e8; }
.top-time .table-2 table { width: 100%; max-width: 100%; }
.top-time .table-2 tr:not(:first-child) th { font-size: 1.15em; }
.top-time .table-2 th { font-size: 1em; }
.top-time .table-2 td { font-size: 1em; }
.top-time .calendar_before { display: none; }
.top-time .calendar_after { display: block; }
.top-time .calendar_controls2 { padding: 0 0 15px; }

.top-clinic { overflow: hidden; }
.top-clinic .clinic-r { width: 75%; margin: 336px auto 0; position: relative; z-index: 4; }
.top-clinic .clinic-r a { display: block; }
.top-clinic .clinic-r img { max-width:290px; width:100%; height:auto; }
.top-clinic .clinic-titl { margin-top: -60px; text-align: left; align-items: baseline; }
.top-clinic .clinic-titl::after { content: none; }
.top-clinic .clinic-titl h2::before { content: ''; position: relative; top: -5px; display: inline-block; width: 30px; height: 1px; background: rgba(51,68,85,0.5); margin-right: 12px; }
.top-clinic .clinic-titl h2 { margin-left: 30px; font-size: 18px; }
.top-clinic .clinic-box::before { content: ''; position: absolute; top: 67px; right: -100px; width: 80%; height: 534px; background-color: #f5f2e8; z-index: 1}
.top-clinic .clinic-box::after { content: ''; position: absolute; top: 87px; right: -230px; margin: auto; width: 520px; height: 390px; background-size: cover; background-position: top center; z-index: 2; }
.top-clinic .clinic-box .img { margin-left: 100px; }
.top-clinic .clinic-box .text { position: absolute; top: 150px; left: 0; width: 88%; padding: 20px 10px 10px; background-color: rgba(255, 255, 255, 0.96); box-shadow: 0px 3px 69.35px 3.65px rgb(102 102 102 / 5%); box-sizing: border-box; }
.top-clinic .clinic-box .sub { position: absolute; top: -75px; left: 0; margin: 0; font-size: 24px; letter-spacing: 0.08em; line-height: 40px; }
.top-clinic .clinic-box .sub { color: #333333; font-family:; -webkit-writing-mode: vertical-rl; -moz-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; -ms-writing-mode: vertical-rl; writing-mode: vertical-rl; }
.top-clinic .clinic-box .sub span { display: block; padding-top: 75px; }
.top-clinic .clinic-box > * { z-index: 3; }

.top-gree { padding: 60px 0 20px; background:#fff; }
.top-gree::after { content: ''; position: absolute; bottom: 140px; height: 550px; width: 78%; background-color: #f5f2e8; z-index: 1; }
.top-gree .heading-1::after { content: none; }
.top-gree .gree-box .text { letter-spacing: 0.04em; line-height: 1.8125; }
.top-gree .gree-box .text p { margin-bottom: 30px; }
.top-gree .gree-box .sub { position: absolute; top: -9px; right: -82px; margin: 0; font-size: 24px; line-height: 40px; color: #333333; letter-spacing: 0.08em; writing-mode: vertical-rl; }
.top-gree .gree-box .sub span { display: block; padding-top: 20px; }
.top-gree .gree-box .sub { color: #333333; font-family: ; -webkit-writing-mode: vertical-rl; -moz-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; -ms-writing-mode: vertical-rl; writing-mode: vertical-rl; }
.top-gree .gree-r { margin-bottom: 0; }
.top-gree .gree-l { width: 72%; z-index: 2; }
.top-diag { padding: 60px 0; background: #fff; }

.top-diag .diag-box a { position: relative; -ms-flex: 0 0 47%; flex: 0 0 47%; max-width: 47%; height: 155px; border: 3px dotted #f5f2e8; border-radius: 100%; margin-bottom: 20px; transition: all .8s; }
.top-diag .diag-box a::after { content: ''; display: block; width: 0; height: 1px; background: #007F12; position: absolute; bottom: -1px; left: 0; transition: .8s all cubic-bezier(0.19, 1, 0.22, 1); }
.top-diag .diag-box a:nth-child(1) img { width: 50px; }
.top-diag .diag-box a:nth-child(2) img { width: 42px; }
.top-diag .diag-box a:nth-child(3) img { width: 50px; }
.top-diag .diag-box a:nth-child(4) img { width: 32px; }
.top-diag .diag-box a:nth-child(5) img { width: 43px; }
.top-diag .diag-box a:nth-child(6) img { width: 50px; }
.top-diag .diag-box a:nth-child(7) img { width: 50px; }
.top-diag .diag-box a:nth-child(8) img { width: 40px; }
.top-diag .diag-box a:hover { opacity: .8; border-color: #f2dcbb; animation: vertical 1.5s ease-in-out infinite alternate; }
.top-diag .diag-box a:hover span { color: #8AB689; }
.top-diag .diag-box a:hover i { transform: rotateY(360deg); }
.top-diag .diag-box i { width: 70px; height: 70px; transition: 1s; transform: rotateY(0deg); }
.top-diag .diag-box img { width: 60px; }
.top-diag .diag-box span { color: #585a5b; font-size: 16px; font-weight: bold; letter-spacing: .04em; line-height: 1.4; transition: all .3s; }

.top-symp { padding: 60px 0 40px; background: url(../images/symp_bg.png); background-position: center; background-size: cover; }
.top-symp .img{ position: relative; top: -145px; left: -460px; }
.top-symp .symp-box { z-index:2; }
.top-symp .symp-tab .tab { margin-bottom: 20px; justify-content: space-between; }
.top-symp .symp-tab .tab li { width: 48%; padding: 10px; margin-bottom: .8em; background: #009d32; color: #fff; border-radius: 10px; cursor: pointer; transition: ease .2s; }
.top-symp .symp-tab .tab li:last-child { margin-right: 0; }
.top-symp .symp-tab .tab li.selected { background: #007F12!important; }
.top-symp .symp-tab .tab li:hover { background: #009d32; }
.top-symp .symp-list { overflow: auto; height: 246px; }
.top-symp .symp-list li { position: relative; overflow: hidden; width: 90%; margin-bottom: .2em; border-radius: 10px; text-align: center; border: 6px solid transparent; transition: all .2s; }
.top-symp .symp-list li:hover { border-color: #f5f2e8; }
.top-symp .symp-list li a { display: block; padding: 10px; padding-left: 25px; background: #fff; text-align: left; transition: all .2s; }
.top-symp .symp-list li span { padding: 0 20px; font-weight: bold; background-image: url(../images/cross.svg); background-size: 10px; background-position: center left; background-repeat: no-repeat; }
.top-diag .diagnosis_list li { margin-bottom: 12px; width: 48%; }
.top-diag .diagnosis_list li a { display: block; padding: 24px 12px 20px; background-color: #f4f4f4; border-radius: 12px; text-align: center; transition: all 1s ease-out; }
.top-diag .diagnosis_list li img { margin: 0 auto 12px; width: 52px; height: 45px; }
.top-diag .diagnosis_list li p { position: relative; color: #585a5b; font-size: 15px; margin-bottom: 0; min-height: 2rem; line-height: 1.3; }
.top-treatment .treatment_list li { width: 50%; }
.top-treatment .treatment_list li a { display: block; }
.top-treatment .treatment_list .treatmene_name { position: absolute; bottom: 0; right: 0; z-index: 1; padding: 8px; font-size: 14px; letter-spacing: .16em; line-height: 1; background-color: #fff; color: #585a5b; margin-bottom: 0;}
.top-treatment .treatment_list .ouju { position: absolute; top: 10px; left: 10px; z-index: 1; padding: 8px; font-size: 11px; letter-spacing: .16em; line-height: 1; background-color: #009d32; color: #fff; margin-bottom: 0; border-radius: 14px; }
.top-icl{padding: 40px 0; background: url(../images/symp_bg.png); background-position: center; background-size: cover;}
.top-icl .flex{align-items: center;    justify-content: center;}
.top-icl .flex .icl-box{width:50%;}
.top-icl .flex .icl-box img{margin: 0 15px;width: calc(100% - 30px);display: block;}
@media (max-width: 575px){
  .top-icl{padding: 25px 0; background: url(../images/symp_bg.png); background-position: center; background-size: cover;}
  .top-icl .flex .icl-box{width:100%;}
  .top-icl .flex .icl-box img{margin: 15px auto;width: 80%;}
}

/* 色 -----------------------------------------------------*/
.bg-5{ background: #fbfdf0;}



/* フッター -----------------------------------------------------*/
.bnr-slide { padding: 40px 0 0; }

.panel-bnr .bnr-l,
.panel-bnr .bnr-r { overflow: hidden; height: 300px; }
.panel-bnr .bnr-l:hover .img,
.panel-bnr .bnr-r:hover .img { transform: scale(1.05); }
.panel-bnr .img { position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; z-index: 0; transition: ease .4s; }
.panel-bnr .img::before { position: absolute; z-index: 1; top: 0; left: 0; right: 0;  width: 100%; height: 100%; background: rgb(171 147 113 / 30%); display: block; content: ''; }
.panel-bnr .img img { height: 100%; min-height: 100%; max-width: none; }
.panel-bnr .text { position: relative; z-index: 1; }
.panel-bnr .titl { color: #fff; }
.panel-bnr .titl::after { content: none; }
.panel-bnr .titl h2 { font-size: 16px; }
.panel-bnr .titl p { font-size: 25px; color: #fff; }
.panel-bnr .titl p:first-letter { font-size: 35px; }
.panel-bnr .btn a { background: #fff; color: #8AB689; }
.panel-bnr .btn a:hover { color: #fff; }

.footer .gmap { height: 360px; }
.footer .gmap-link { position: absolute; bottom: 24px; left: 0; right: 0; margin: auto; width: 200px; display: block; }
.footer-top { padding: 62px 0 58px; }
.footer-top .footer-logo { width: 90%; margin: 0 auto 20px; left: -1.5%; }
.footer-bottom { padding-top: 45px; padding-bottom: 64px; background-color: #009d32; }
.footer-bottom .footer-logo { width: 70%; }
.footer-tel { padding-top: 0; }
.footer-tel a { display: inline-block; position: relative; color: #8AB689; line-height: 1; font-size: 40px; font-weight: normal; font-family: 'Crimson Text', serif; }
.footer-tel a:hover { text-decoration: none; }
.footer-tel i { font-size: 21px; position: relative; top: -2px; transform: rotate(22deg); }
.footer-reser { margin-left: 20px; }
.footer-reser a { display: inline-block; padding: 10px; border: 1px solid #8AB689; font-size: 14px; transition: all .4s; }
.footer-reser a:hover { border-color: #007F12; }
.footer-med { letter-spacing: 0.05em; font-weight: 400; font-style: normal; }
.footer-med span { display: inline-block; margin-top: 10px; margin-right: 6px; padding: 3px 10px; color: #fff; background-color: #009d32; border-radius: 5px; text-align: center; letter-spacing: 0.05em; }
.footer-sche .table-1 { padding: 8px 8px 0; background: #f5f2e8; }
.footer-sche .table-1 table { width: 100%; max-width: 100%; }
.footer-sche p { display: inline-block; letter-spacing: 0.05em; }
.footer-nav .menu > li { display: inline-table; position: relative; height: inherit; }
.footer-nav .menu > li > a { padding: 0 15px; vertical-align: middle; color: #fff; text-align: center; font-weight: bold; font-size: 15px; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; justify-content: center; align-items: center; flex-flow: column; }
.footer-nav .menu > li > a::before { position: absolute; left: 0; right: 0; bottom: -10px; width: 100%; height: 1px; margin: auto; background-color: #fff; -webkit-transition-duration: 0.15s; transition-duration: 0.15s; -webkit-transition-timing-function: ease-out; transition-timing-function: ease-out; transform: scaleX(0); content: ''; z-index: 1;}
.footer-nav .menu > li > a:hover::before { transform: scaleX(1); }
.footer-nav .menu > li > a > span { position: relative; }
.footer-nav .menu > li > a > span:nth-child(1) { padding-bottom: 10px; line-height: 1; letter-spacing: 0.06em; font-weight: 400; font-size: 18px; font-family: 'Marcellus SC', serif; }
.footer-nav .menu > li > a > span:nth-child(2) { font-weight: normal; }
.footer-nav .sub-menu { display: none!important; }

.pagetop { position: absolute; top: 0; right: 0; bottom: auto; width: 40px; height: 40px; border: 1px solid #fff; border-radius: 50%; text-align: center; cursor: pointer; transition: 0.2s ease-in-out; }
.pagetop i { position: relative; color: #fff; }
.pagetop:hover { bottom: 4px; background: #007F12; }
.copy { color: #fff; }
.copy small { line-height: 1; color: #ffffff; font-weight: 300; font-size: 13px; letter-spacing: 0.09em; font-family: 'Marcellus SC', serif; }


/* サイドバー -----------------------------------------------------*/
.sidebar label { display: none; }
.sidebar select { margin-bottom: 0; }
.sidebar .widget-titl { margin-bottom: 28px; padding-left: 16px; font-size: 24px; letter-spacing: .1em; line-height: 1.22; border-left: solid 4px #8AB689; }
.sidebar .widget-item:not(:last-child) { margin-bottom: 46px; }
.sidebar .widget-item li { border-bottom: solid 1px #eee; font-weight: 600; }
.sidebar .widget-item li a { position: relative; display: inline-block; padding: 16px 0 16px 30px; color: #585a5b; }
.sidebar .widget-item li a::before { content: ''; position: absolute; top: 2px; bottom: 0; left: 0; margin: auto; display: inline-block; width: 7px; height: 7px; border-top: solid 2px #8AB689; border-right: solid 2px #8AB689; transform: translateY(-3px) rotate(45deg); }
.sidebar .widget-item li span { display: block; }
.sidebar .widget-item .titl { font-size: 16px; }
.sidebar .widget-item .date { color: #aaa; font-size: 12px; }
.sidebar .widget-category .children { margin-bottom: 0; padding-left: 15px; }
.sidebar .widget-category .children > li { margin-bottom: 0; border-bottom: none; }
.sidebar .widget-category .children > li:last-child { margin-bottom: 0; }
.sidebar .widget-category .children > li > a { padding-left: 20px; }
.sidebar .widget-category .children > li > a::before { display: inline-block; width: 7px; height: 2px; background: #eee; border: none; transform: none; }
.sidebar .screen-reader-text { font-size: 0; }

.sidebar_col { display: flex; flex-wrap: wrap; }
.sidebar_col .main_col { -ms-flex: 0 0 80%; flex: 0 0 80%; max-width: 80%; padding-right: 10px; }
.sidebar_col .side_col { -ms-flex: 0 0 20%; flex: 0 0 20%; max-width: 20%; padding-left: 10px; }
@media (max-width: 659px) {
.sidebar_col .main_col { -ms-flex: 0 0 80%; flex: 0 0 100%; max-width: 100%; padding-right: 0; }
.sidebar_col .side_col { -ms-flex: 0 0 20%; flex: 0 0 100%; max-width: 100%; padding-right: 0; }
}

.sidebar ul li:first-child a { border-top:1px solid #CCC; }
.sidebar ul a { border-bottom:1px solid #CCC; border-left:1px solid #CCC; border-right:1px solid #CCC; display:block; padding:10px; }

/* body.page .heading-1 { display: none; } */

/* アーカイブ -----------------------------------------------------*/
.archive-content .post,
.single-content  .post { padding: 6%; border-radius: 20px; font-weight: 400; font-family: 'Crimson Text', serif; }
.archive-content .date,
.single-content  .date { font-size: 13px; color: #b5b5b5; font-family: 'Crimson Text', serif; }
.archive-content .titl,
.single-content  .titl { line-height: 1.4; }
.archive-content .cate span,
.single-content  .cate span { font-size: 13px; padding: 6px 12px; background-color: #8AB689; color: #fff; line-height: 1; border-radius: 16px; display: inline-block; vertical-align: middle; white-space: nowrap; }
.archive-content .titl a { font-size: 1.3em; color: #585a5b; letter-spacing: .08em; text-decoration: none; transition: all .4s ease; }
.archive-content .titl a:hover { color: #8AB689; }
.single-content .titl { font-size: 26px; color: #585a5b; letter-spacing: .08em; }
.single-content .thumbnail { text-align: center; margin-bottom: 100px; }
.single-content .thumbnail img { margin: 0 auto; }

/*パンくず*/
.breadcrumb { width: auto; padding: 20px 0; font-size: 14px; line-height: 1; font-weight: 400; font-style: normal; }
.breadcrumb i { margin-right: 5px; color: #8AB689; }
.breadcrumb li { margin-right: 5px; margin-bottom: 12px; line-height: 1; }
.breadcrumb li::after { font-family: FontAwesome; content: '>'; padding-left: 10px; }
.breadcrumb li:last-child::after { content: none; }

/*ページネーション*/
.pagination { margin:45px auto; }
.pagination > * { font-weight: 700; font-size: 14px; }
.pagination a,
.pagination span { display: block; padding: 3px; }
.pagination a { transition: all .4s ease; }
.pagination a:hover { opacity: .8; }
.pagination .prev,
.pagination .next,
.pagination .prev-link,
.pagination .next-link { position: relative; }
.pagination .prev,
.pagination .prev-link { border-left: none; }
.pagination .next-link a { border-left: 0; }
.pagination .next a,
.pagination .next-link a { display: block; padding: 3px; color: #8AB689; }
.pagination .prev,
.pagination .prev-link a { padding-left: 16px; padding-right: 0; }
.pagination .next,
.pagination .next-link a { padding-right: 16px; padding-left: 0; }
.pagination .prev i,
.pagination .next i,
.pagination .prev-link i,
.pagination .next-link i { position: absolute; top: 0; bottom: 0; margin: auto; height: 13px; }
.pagination .prev i,
.pagination .prev-link i { left: 0; }
.pagination .next i,
.pagination .next-link i { right: 0; }
.pagination .prev i::before,
.pagination .next i::before,
.pagination .prev-link i::before,
.pagination .next-link i::before{color: #8AB689; }
.pagination .list-link { margin-right: 20px; margin-left: 20px; }
.pagination .list-link a { padding: 3px 0; }

/*404*/
.notfound {}


/* その他 -----------------------------------------------------*/

/*スマホナビ*/
.fixed { position: fixed; top: 0; left: 0; right: 0; }

/*アニメーション*/
@keyframes arrow { 0% { transform: translateX(0px); } 49% { transform: translateX(1.875em); } 50% { transform: translateX(-1.875em); } 100% { transform: translateX(0); } }
@keyframes horizontal {  0% { transform: translateX(0px); } 100% { transform: translateX(-3px); } }
@keyframes vertical {  0% { transform: translateY(0px); } 100% { transform: translateY(-6px); } }
@keyframes zoomUp {  0% { transform:  scale(1); } 100% { transform:  scale(1.15); } }

/*perfect-scrollbar*/
[class*="scroll-box-"] { position: relative; width: 100%; height: 300px; margin-bottom: 30px; overflow-y: scroll; }
[class*="scroll-box-"] .ps__rail-x,
[class*="scroll-box-"] .ps__rail-y { opacity: 1}
[class*="scroll-box-"] .ps__rail-y { width: 8px; background-color: #fff!important; border-radius: 6px; }
[class*="scroll-box-"] .ps__thumb-y { background-color: #007F12; width: 8px; right: 0; }
[class*="scroll-box-"] .ps--active-x > .ps__rail-x,
[class*="scroll-box-"] .ps--active-y > .ps__rail-y { background-color: #ffdce2; position: absolute; }
[class*="scroll-box-"] .ps__rail-y:hover > .ps__thumb-y,
[class*="scroll-box-"] .ps__rail-y:focus > .ps__thumb-y,
[class*="scroll-box-"] .ps__rail-y.ps--clicking .ps__thumb-y { background-color: #fd284c; }
[class*="scroll-box-"] .ps__rail-x,
[class*="scroll-box-"] .ps:hover > .ps__rail-y,
[class*="scroll-box-"] .ps--focus > .ps__rail-x,
[class*="scroll-box-"] .ps--focus > .ps__rail-y,
[class*="scroll-box-"] .ps--scrolling-x > .ps__rail-x,
[class*="scroll-box-"] .ps--scrolling-y > .ps__rail-y { opacity: 1; }

/*slickslide*/
.slick { position: relative; padding: 10px 30px; margin-bottom: 60px; background: #f5f2e8; }
.slick *:focus { outline: 0!important; }
.slick-list li { margin: 0 10px; }
.slick-arrow { position: absolute; top: 0; bottom: 0; margin: auto; width: 20px; height: 100%; background: #8AB689; font-size: 0; border: 0; }
.slick-prev { left: 0; }
.slick-next { right: 0; }
.slick-arrow::before { content: ''; position: absolute; top: 0; bottom: 0; margin: auto; display: block; width: 8px; height: 8px; border-top: 2px solid #ffffff; border-right: 2px solid #ffffff; }
.slick-prev::before { left: 8px; transform: rotate(-135deg); }
.slick-next::before { right: 8px; transform: rotate(45deg); }

.bnr-slide .bx-wrapper .bx-pager.bx-default-pager a { background: #8AB689; }
.bnr-slide .bx-wrapper .bx-pager.bx-default-pager a:hover,
.bnr-slide .bx-wrapper .bx-pager.bx-default-pager a.active,
.bnr-slide .bx-wrapper .bx-pager.bx-default-pager a:focus { background: #007F12; }

.slick-dots { position: absolute; left: 0; right: 0; bottom: -36px; margin: auto; width: 100%; text-align: center; }
.slick-dots li { display: inline-block; }
.slick-dots li:not(:first-child) { margin-left: 16px; }
.slick-dots li button { width: 10px; height: 10px; padding: 0; font-size: 0; border: 0; border-radius: 100%; background: #8AB689; }
.slick-dots .slick-active button { transform: scale(1.1); background: #007F12; }

/*タイトル*/
.heading { position: relative; text-align: center;  display: flex; align-items: center; justify-content: center; flex-wrap: wrap; flex-flow: column; word-break: break-all; }
.heading-1::after { content: ''; display: inline-block; width: 85px; height: 2px; background: #007F12; margin-top: 30px; }
.heading-1 h2 { font-weight: normal; font-size: 20px; line-height: 1; letter-spacing: .04em; margin-top: 20px; }
.heading-1 p { font-weight: 500; font-size: 25px; line-height: 1; letter-spacing: .1em; font-family: 'Marcellus SC', serif; margin-bottom: 0; color: #009d32; }
.heading-1 p:first-letter { font-size: 50px; }
.heading-2::after { content: ''; display: block; width: 3.75em; height: .625em; background: url(../images/heading_dot.svg); background-size: 100% 100%; margin-top: .8em; }
.heading-2 h2 { font-weight: normal; font-size: 26px; line-height: 1; letter-spacing: .04em; width: 100%; display: flex; align-items: center; justify-content: center; flex-wrap: nowrap; overflow: hidden; white-space: nowrap; }
.heading-2 h2::before,
.heading-2 h2::after { content: ''; display: block; width: 7em; height: 1px; background: rgba(51,68,85,0.2); }
.heading-2 h2::before { margin-right: 1.4em; }
.heading-2 h2::after { margin-left: 1.4em; }
.heading-2 p { font-weight: 500; font-size: 18px; letter-spacing: .1em; font-family: 'Marcellus SC', serif; margin-bottom: 0; color: #009d32; }
.heading-2 p:first-letter { font-size: 23px; }

.titl-1,.titl-2,
.titl-4,.titl-5,
.titl-7,.titl-9,.titl-10 { font-size: 23px; }
.titl--1,.titl--2,.titl--3 { font-size: 20px; }
.titl-10{position: relative; border-bottom: 3px solid #8AB689; line-height: 32px; margin-right: 10px; padding: 0 0 5px 25px;}
.titl-10::before {position: absolute; top: -8px; left: 7px; transform: rotate( 45deg ); -webkit-transform: rotate( 45deg ); height: 12px; width: 12px; background: #009d32; content: "";}
.titl-10::after{position: absolute; top: 8px; left: 2px; transform: rotate( 15deg ); -webkit-transform: rotate( 15deg ); height: 8px; width: 8px; background: #F1E3A7; content: "";}
/* .titl-1.point {position: relative;padding: 0 0 14px;border-bottom: 1px solid #009d32;text-align: left;letter-spacing: 0.08em;line-height: 1.4;font-family: 'M PLUS Rounded 1c', sans-serif;font-weight: normal;}
.titl-1.point span {display: block;font-size: 11px;letter-spacing: 0.1em;color: #009d32;font-style: italic;font-family: 'Noto Sans', sans-serif;font-weight: 500;}
.titl-1.point em {margin-left: 3px;font-size: 16px;letter-spacing: 0.05em;color: #009d32;font-family: 'Roboto',sans-serif;} */
.titl-2 {position: relative;padding: 14px 0 14px;text-align: left;letter-spacing: 0.15em;line-height: 1.4;font-weight: normal;}
.titl-2.log {padding: 8px 14px 8px 55px;}
.titl-2.log::before {content: '';position: absolute;width: 40px;height: 40px;top: 7px;left: 0;margin: auto;background-image: url(../images/logo_icon.svg);background-repeat: no-repeat;background-position: center;background-size: cover;}
.titl-3 {position: relative;padding: 8px 0 10px 18px;text-align: left;letter-spacing: 0.15em;line-height: 1.4;font-weight: normal;border-left: 4px solid #009d32;}
.titl-4 {position: relative;padding: 6px 0 10px 18px;text-align: left;letter-spacing: 0.15em;line-height: 1.4;font-weight: normal;border-left: 4px solid #009d32;border-bottom: 1px solid #009d32;}
.titl-5 {position: relative;padding: 6px 0 10px;text-align: left;letter-spacing: 0.15em;line-height: 1.4;font-weight: normal;}
.titl-5::after {content: "";position: absolute;bottom: 0;left: 0;display: block;width: 100%;height: 2px;background: -moz-linear-gradient(to right, #009d32, transparent);background: -webkit-linear-gradient(to right, #009d32, transparent);background: linear-gradient(to right, #009d32, transparent);}
/* .titl-6 {position: relative;padding: 10px 0 10px 22px;text-align: left;letter-spacing: 0.15em;line-height: 1.4;font-weight: normal;color: #ffffff;background: #009d32;border-radius: 6px;} */
.titl-6 { margin-bottom: 40px; padding: 10px 40px; font-size: 23px; border-radius: 16px; background-color: #f7f6f0;}
@media (max-width: 659px) { .titl-6 {padding: 10px 20px; font-size: 17px; margin-bottom: 15px; }}
.titl-7 {position: relative;padding: 8px 0 8px 16px;text-align: left;letter-spacing: 0.15em;line-height: 1.4;font-weight: normal;border: 6px solid #009d32;border-radius: 12px;}
.titl-8 {position: relative;padding: 6px 0 6px 35px;text-align: left;letter-spacing: 0.15em;line-height: 1.4;font-weight: normal; font-size: 22px;}
.titl-8::before {content:"";position:absolute;top: 14px;left: 0;margin: auto;width: 22px;height: 22px;display: block;border: 4px solid #0f7459;border-radius: 100%;}
.titl-9 {position: relative;padding: 6px 0 6px 35px;text-align: left;letter-spacing: 0.15em;line-height: 1.4;font-weight: normal;}
.titl-9::before {content:"";position:absolute;top: 20px;left: 0;margin: auto;width: 22px;height: 4px;display: block;background: #0f7459;border-radius: 3px;}
/* .titl-10 {position: relative;padding: 16px 0;letter-spacing: 0.15em;line-height: 1.4;font-weight: normal;border-top: 1px solid #f8deba;border-bottom: 1px solid #f8deba;} */
.titl-11 { margin: 15px 0 30px; font-size: 24px; text-align: center; color: #009688; }
.border-top { border-top: 1px solid #ccc; display: block; padding-top: 20px; }
.border-box { border-radius: 16px; border: 1px solid #ccc; overflow: hidden; padding: 32px;}
.border-box .title { padding: 16px; border-radius: 8px; background-color: #f5f5f5; line-height: 1.5; text-align: center; overflow: hidden; width: 100%; font-size: 22px;}
@media (max-width: 659px) { .border-box { padding: 10px; }
.border-box .title { padding: 5px; font-size: 17px; } }
@media (max-width: 659px) { .titl-11 { padding: 0; margin: 30px 0 15px; } }
.titl--1 {position: relative;padding: 0;letter-spacing: 0.15em;line-height: 1.4;font-weight: normal;}
.titl--1 .dou {padding-bottom: 6px;border-bottom: 4px double #009d32;line-height: 2;}
.titl--1 .arr {padding: 0 0 6px 30px;}
.titl--1 .arr::before {content: '';position: absolute;width: 20px;height: 20px;top: 3px;left: 0;margin: auto;background-image: url(../images/line-arrow.svg);background-repeat: no-repeat;background-position: center;background-size: cover;}
.titl--1 .dot {position: relative;display: inline-block;}
.titl--1 .dot::after {content: '';position: absolute;bottom: 0;left: 0;background: url(../images/line-dot.svg) repeat-x;background-size: 6px 2px;width: 100%;height: 2px;}
.titl--2 {position: relative;padding: 0;letter-spacing: 0.15em;line-height: 1.4;font-weight: normal;}
.titl--2 span {display: inline-block;padding: 8px 12px;border: 1px solid #009d32;}
.titl--3 {position: relative;padding: 0;letter-spacing: 0.15em;line-height: 1.4;font-weight: normal;}
.titl--3 span {display: inline-block;padding: 8px 12px;border-bottom: 4px double #009d32;}

/*ボタン*/
.button-1 a { display: inline-block; max-width: 100%; background: #8AB689; color: #fff; letter-spacing: .1em; line-height: 1.4; font-size: 12px; font-family: 'Marcellus SC', serif; overflow: hidden; }
.button-1 span:first-letter { font-size: 16px; }
.button-1 a { position: relative; transition: .9s all cubic-bezier(0.19, 1, 0.22, 1); padding: 16px 20px; position: relative; overflow: hidden; -webkit-backface-visibility: hidden; backface-visibility: hidden; border: none; will-change: transform; }
.button-1 a::before { content: ''; display: block; position: absolute; width: 100%; height: 100%; opacity: 0; transition: .6s all cubic-bezier(0.19, 1, 0.22, 1); top: 0; left: 0; transform: rotate(45deg); z-index: -1; background: #007F12; }
.button-1 a:hover { transform: scale(1.05); }
.button-1 a:hover::before { opacity: 1; transform: scale(2) rotate(0deg); }
.button-1 a:hover i { animation: arrow .2s ease-in-out 1 alternate; }
.button-2 a { width: 14em; max-width: 100%; background: #8AB689; color: #fff; letter-spacing: .1em; line-height: 1.4; font-size: 12px; font-family: 'Marcellus SC', serif; overflow: hidden; }
.button-2 span:first-letter { font-size: 16px; }
.button-2 a { position: relative; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; transition: .9s all cubic-bezier(0.19, 1, 0.22, 1); padding: 16px 20px; position: relative; overflow: hidden; -webkit-backface-visibility: hidden; backface-visibility: hidden; border: none; will-change: transform; }
.button-2 a::before { content: ''; display: block; position: absolute; top: 0; left: 0; width: 0; width: 0; height: 100%; transition: all .2s; top: 0; left: 0; z-index: -1; background: #007F12; }
.button-2 i { position: relative; transition: all .2s; }
.button-2 a:hover::before { width: 100%;}
.button-2 a:hover i { animation: arrow .2s ease-in-out 1 alternate;}
.button-3 a { max-width: 100%; background: #8AB689; color: #fff; letter-spacing: .1em; line-height: 1.4; font-size: 12px; font-family: 'Marcellus SC', serif; overflow: hidden; }
.button-3 span:first-letter { font-size: 16px; }
.button-3 a { font-size: 16px; position: relative; display: inline-block; transition: .9s all cubic-bezier(0.19, 1, 0.22, 1); padding: 16px 120px 16px 40px; position: relative; overflow: hidden; -webkit-backface-visibility: hidden; backface-visibility: hidden; border: none; will-change: transform; }
.button-3 a::before { content: ''; display: block; position: absolute; top: 0; left: 0; width: 0; width: 0; height: 100%; transition: all .2s; z-index: -1; background: #007F12; }
.button-3 a::after { content: ''; display: block; position: absolute; top: 0; bottom: 0; right: -50px; margin: auto; width: 100px; height: 1px; transition: all .2s; z-index: -1; background: #ffffff; }
.button-3 a:hover::before { width: 100%; }
.button-3 a:hover::after { right: 0; }
.button-3 a:hover i { animation: arrow .2s ease-in-out 1 alternate; }


/*テーブル*/
.table-1 table { font-size: .86em; border-spacing: 0; border-collapse: collapse; white-space: nowrap; color: #585a5b; font-family: 'Crimson Text', serif; }
.table-1 tr:not(:first-child) th { font-size: 1.15em; }
.table-1 tr:not(:first-child) td { color: #8AB689; }
.table-1 tr:not(:last-child) { border-bottom: 1px solid #585a5b; }
.table-1 tr:first-child td,
.table-1 tr:first-child th { padding: 5px 0; }
.table-1 td, .table-1 th { padding: 8px 0; font-size: 1em; vertical-align: middle; text-align:center; font-weight: normal; }
.table-1 th { width: 30%; letter-spacing: 0.1em; white-space: nowrap; }
.table-1 td { width: 10%; letter-spacing: 0; }
.table-2 table { font-size: .86em; border-spacing: 0; border-collapse: collapse; white-space: nowrap; background: #8AB689; color: #ffffff; font-family: 'Crimson Text', serif; }
.table-2 tr:not(:first-child) th { font-size: 1.15em; }
.table-2 tr:not(:last-child) { border-bottom: 1px solid #ffffff; }
.table-2 tr:first-child td,
.table-2 tr:first-child th { padding: 5px 0; }
.table-2 td, .table-2 th { padding: 8px 0; font-size: 1em; vertical-align: middle; text-align:center; font-weight: normal; }
.table-2 th { width: 30%; letter-spacing: 0.1em; white-space: nowrap; }
.table-2 td { width: 10%; letter-spacing: 0; }
.table-3 table { font-size: .86em; border-spacing: 0; border-collapse: collapse; white-space: nowrap; overflow: hidden; }
.table-3 tr:first-child > * { background: #8AB689; color: #ffffff; padding-top: 6px; padding-bottom: 6px; }
.table-3 th,
.table-3 td { padding: 10px 0; }
.table-3 th { width: 30%; padding-left: 12px; }
.table-3 td { width: 10%; text-align: center; color: #8AB689; }

.calendar { min-width: auto; max-width: 100%; }
.calendar-1 .show_sm_pc { display: none!important; }
.calendar-1 .calendar_title,
.calendar-1 .calendar_info,
.calendar-1 .sm .calendar_info,
.calendar-1 .calendar_updated_at { display: none; }
.calendar-1 .show_today,
.calendar-1 .show_day,
.calendar-1 .show_month { border-color: #8AB689; color: #8AB689; }
.calendar-1 .show_today:hover,
.calendar-1 .show_day:hover,
.calendar-1 .show_month:hover,
.calendar-1 .show_day.current,
.calendar-1 .show_month.current { border-color: #8AB689; background-color: #8AB689; }
.calendar-1 .show_pc { border-color: #8AB689; }
.calendar-1 .show_sm,
.calendar-1 .show_pc { padding: 6px 30px; color: #8AB689; border-top: 2px solid #8AB689; border-bottom: 2px solid #8AB689; font-size: 20px; }
.calendar-1 .show_pc:hover,
.calendar-1 .show_pc.current { border-top: 2px solid #8AB689; border-bottom: 2px solid #8AB689; border-right: 2px solid #8AB689; background-color: #8AB689; }
.calendar-1 .show_sm { border-left: 2px solid #8AB689; }
.calendar-1 .show_sm:hover,
.calendar-1 .show_sm.current{ border-color: #8AB689; background: #8AB689; }
.calendar-1 .calendar_controls3 { padding: 0; }
.calendar-1 .calendar table { display: inline-table; margin-bottom: 30px; background: #f5f2e8; font-family: 'Crimson Text', serif; }
.calendar-1 .calendar th,
.calendar-1 .calendar td { font-weight: normal; text-align: center; }
.calendar-1 .calendar th { background: #8AB689; color: #fff; }
.calendar-1 .text_label1,
.calendar-1 .text_label2,
.calendar-1 .text1_hours,
.calendar-1 .text2_hours { width: auto; }
.calendar-1 .calendar th.text_label > div,
.calendar-1 .calendar td .schedule_content > div { height: auto!important; min-height: auto!important; }
.calendar-1 .calendar tr:first-child th { line-height: 26px; }
.calendar-1 .calendar td span,
.calendar-1 .calendar th > div,
.calendar-1 .calendar th.text_label > div > div,
.calendar-1 .calendar td .schedule_content > div > div { line-height: 32px; }
.calendar-1 .schedule_detail { width: 100%; table-layout: fixed; border-collapse: collapse; }
.calendar-1 .schedule_detail1,
.calendar-1 .schedule_detail2 { line-height: 1; vertical-align: middle; }
.calendar-1 .schedule_text { text-align: center; }
.calendar-1 .schedule_text { height: 60px; display: flex; }
.calendar-1 div.schedule_text1,
.calendar-1 div.schedule_text2 { border-color: #fff; }
.calendar-1 td .calendar_sat { color: #585a5b; }
.calendar-1 td .calendar_sun { color: #585a5b; }
.calendar-1 th.calendar_sun { background: #8AB689; color: #fff; }
.calendar-1 th.calendar_sat { background: #8AB689; color: #fff; }
.calendar-1 table.full_calendar_table th,
.calendar-1 table.full_calendar_table td,
.calendar-1 table.calendar_table th,
.calendar-1 table.calendar_table td { border: 2px solid #fff; }
.calendar-1 .calendar_ymd,
.calendar-1 .calendar_ym { color: #8AB689; font-size: 16px; }
.calendar-1 .prev_link,
.calendar-1 .next_link { display: flex; align-items: center; }
.calendar-1 .schedule_detail th,
.calendar-1 .schedule_detail td { padding: 0 10px; border: 2px solid #fff; }
.calendar-1 .schedule_detail th { width: 30%; }
.calendar-1 .schedule_detail td { width: 70%; }
.calendar-1 .calendar_date_controls { margin-bottom: 0; }
.calendar-1 .calendar_date_controls,
.calendar-1 .calendar_controls2 { padding: 15px 0; }
.calendar-1 .today { display: block; color: #009d32; background: #f2dbb5; border-radius: 0; border: 0; }

/* ボックス */
.box-5 {position: relative; padding: 0.5em 1em; border-radius: 8px; border: solid 3px #009d32; }
.box-5 dt{position: absolute; display: inline-block; top: -13px; left: 10px; padding: 0 9px; line-height: 1; font-size: 19px; font-weight: bold; color: #009d32; background: #fff;}
.box-5 dd {margin: 0; padding: 10px;}

/*mainslider [js]*/
.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img { animation: zoomUp 10s linear 0s 1 normal both; }
.slide-img img { display: block; width: 100%; }


/* ページ -----------------------------------------------------*/

/*サイトマップ*/
.sitemap-box .menu { width: auto; margin: 0 auto; padding-left:3%; }
.sitemap-box .menu li { margin-bottom: 16px; font-weight: bold; }
.sitemap-box .menu li a { position: relative; display: block; padding-left: 30px; text-decoration: none; color: #585a5b; font-size: 16px; font-weight: 600; transition: all .4s ease-out; outline: none; }
.sitemap-box .menu li a::before { content: ''; position: absolute; top: 5px; bottom: 0; left: 0; margin: auto; display: inline-block; width: 7px; height: 7px; border-top: solid 2px #8AB689; border-right: solid 2px #8AB689; transform: translateY(-3px) rotate(45deg); }
.sitemap-box .sub-menu { margin: 20px 0 10px; padding-left: 30px; }
.sitemap-box .sub-menu li a { padding-left: 20px; font-size: 14px; }
.sitemap-box .sub-menu li a::before { top: 0; width: 7px; height: 2px; background: #eee; border: none; transform: none; }

/* コンタクトレンズ */
.contactlends .img01 img{ border-radius: 20px; border: 2px solid #00a13a; }
.contactlends .box01 .title { margin-bottom: 30px; font-size: 24px; color: #4db6ac; }
.contactlends .box01 dl { display: table; margin: 0 0 20px; }
.contactlends .box01 dt { color: #4c4b4c; text-decoration: underline; line-height: 1.4; font-size: 18px; font-weight: normal; }
.contactlends .box01 dd { margin: 0px 0px 30px; padding: 0px; }

/* オルソケラトロジー */
.orthokeratology .box01 .title { margin-bottom: 30px; font-size: 24px; color: #4db6ac; }
.orthokeratology .box02 li { margin-bottom: 0; padding: 5px 0; text-align: center; }
.orthokeratology .box02 li:nth-child(odd) { background: #f9f9f9; }
.orthokeratology .box02 li:nth-child(even) { background: #f5f5d0; }
.orthokeratology .table01 table { border: 1px solid #00a73b; margin-top: 20px; width: 100%; }
.orthokeratology .table01 td { border: 1px solid #00a73b; text-align: center; line-height: 1.4; background: #f0f5c4; padding: 10px 15px; }
.orthokeratology .table01 th { background: #00a73b; border: 1px solid #32b05a; color: #fff; font-weight: bold; text-align: center; box-shadow: none;  padding: 10px 15px; }
@media (max-width: 659px){
  .orthokeratology .table01 td { font-size: 10px; padding: 10px 0; }
  .orthokeratology .table01 th { font-size: 10px; padding: 10px 0; }
}

/* ICL */
.icl .table01, .vision_collection .table01 { border: 1px solid #ccc; background: #f6f5f8; }
.icl .table01 ul, .vision_collection .table01 ul { margin: 20px 0 20px 25px; padding-right: 25px; }

/* レーザー光凝固治療 */
.laser_treatment .table01 dl { display: table; width: 100%; margin: 30px 0; }
.laser_treatment .table01 dt { float: left; width: 5%; height: auto; margin: 0 0 20px; line-height: 1.2; }
.laser_treatment .table01 dt span {color: #bdcd55; font-size: 35px; font-weight: normal; }
.laser_treatment .table01 dd { float: left; width: 80%; margin: 0; padding-left: 5%; border-left: 1px solid #bdcd55; }
@media (max-width: 659px){
  .laser_treatment .table01 dd { border-left: none; padding-left: 30px; width: 90%; }
}

/* 診療メニュー */
.treat-menu-box { margin-bottom: 80px; }
.treat-menu-box .treat-list { text-align: center; margin: 0 auto; }
.treat-menu-box .treat-list li { -ms-flex: 0 0 20%; flex: 0 0 20%; max-width: 20%; }
.treat-menu-box .treat-list li a { position: relative; display: block; height: 56px; padding: 14px 0 14px 7px; background-color: #fff; margin: 2px; font-weight: bold; border: solid 1px rgb(50, 158, 63); color: rgb(50, 158, 63); transition: all 0.5s 0s ease; }
.treat-menu-box .treat-list li a span { position: relative; top: 50%; transform : translateY(-50%); display: inline-block;}
.treat-menu-box .treat-list li a.now { background: rgb(50, 158, 63); color: #fff; }
.treat-menu-box .treat-list li a:hover { background: rgb(50, 158, 63); color: #fff; }
.treat-menu-box .treat-list li a::before {
    position: absolute;
    display: block;
    content: "";
    top: 0;
    bottom: 0;
    left: 7px;
    margin: auto;
    width: 7px;
    height: 7px;
    border-top: 2px solid rgb(50, 158, 63);
    border-right: 2px solid rgb(50, 158, 63);
    -webkit-transform: rotate( 45deg );
    transform: rotate( 45deg );
    transition: all 0.5s 0s ease;
}
.treat-menu-box .treat-list li a:hover::before { border-top: 2px solid #fff; border-right: 2px solid #fff; }
@media (max-width: 659px){
  .treat-menu-box .treat-list li { -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; }
  .treat-menu-box .treat-list li a { margin: 5px; font-size: 14px; height: 78px; }
}

/* 乱視矯正白内障手術 */
.astigmatism_surgery .table01, .exam_for_surgery .table01 { border-top: 1px solid #ccc; margin: 10px -1px 24px 0; text-align: left; width: 100%; border-collapse: collapse; border-spacing: 0; font-size: 85.7%; line-height: 141.7%; }
.astigmatism_surgery .table01 th, .exam_for_surgery .table01 th { border: 1px solid #ffb84e; background: #fff3e0; color: #ffb84e; font-weight: bold; text-align: center; padding: 10px 15px; font-size: 18px; }
.astigmatism_surgery .table01 td, .exam_for_surgery .table01 td { border: 1px solid #ffb84e; padding: 10px 15px; font-size: 16px; }
.astigmatism_surgery .table02 div { margin: 0 0 15px; background: #fafae7; padding: 10px 15px; }
.astigmatism_surgery .table02 .title { font-size: 22px; }

.table03 table { border: 1px solid #00a73b; margin-top: 20px; margin: 10px -1px 24px 0; text-align: left; width: 100%; border-collapse: collapse; border-spacing: 0; line-height: 141.7%;}
.table03 table th { background: #00a73b; border: 1px solid #32b05a; color: #fff; font-weight: bold; text-align: center; box-shadow: none; padding: 10px 15px; vertical-align: top;}
.table03 table td { border: 1px solid #00a73b; text-align: center; line-height: 1.4; background: #f0f5c4; padding: 10px 15px; vertical-align: top; }


/*医師紹介*/
.dr { overflow: hidden; }
.dr .doctor-box .heading-1::after { content: none; }
.dr .doctor-box .text { letter-spacing: 0.04em; line-height: 1.8125; }
.dr .doctor-box .text p { margin-bottom: 30px; }
.dr .doctor-box .sub { position: absolute; top: -9px; right: -82px; margin: 0; font-size: 24px; line-height: 40px; color: #333333; letter-spacing: 0.08em; writing-mode: vertical-rl; }
.dr .doctor-box .sub span { display: block; padding-top: 20px; }
.dr .doctor-box .sub { color: #333333; font-family: ; -webkit-writing-mode: vertical-rl; -moz-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; -ms-writing-mode: vertical-rl; writing-mode: vertical-rl; }
.dr .doctor-box .name { font-weight: 600; font-size: 14px; }
.dr .doctor-box .name span { position: relative; font-size: 22px; padding-top: 16px; letter-spacing: .16em; }
.dr .doctor-box .name em { position: absolute; top: 0; left: 6px; letter-spacing: .08em; font-style: normal; font-size: 10px; }
.dr .doctor-r { position: relative; z-index: 1; }
.dr .doctor-l { width: 72%; z-index: 2; }
.dr .doctor-l::after { content: ''; position: absolute; top: 0; left: -60px; height: 500px; width: 120%; background-color: #f5f2e8; z-index: -1; }
.dr .doctor-2 .doctor-l { margin-left: 28%; padding-bottom: 30px; }
.dr .doctor-2 .doctor-l::after { top: 0; right: 0; height: 390px;}
.dr .doctor-2 .dashed-list li { padding-bottom: 8px; }

.doctor-box02 .dr_list .dr_prof h3 { font-size: 25px; color: #009d32; }
.doctor-box02 .dr_list .dr_prof .e_name { font-style: italic;}
/* .doctor-box02 .dr_list .dr_prof .specialty{ position: relative;} */
.doctor-box02 .dr_list .dr_prof .specialty::before{ content: ""; display: block; border-top: 1px solid #666; margin: 25px 0; }

.doctor-box03 {display: -ms-flexbox; display:flex; -ms-flex-wrap: wrap; flex-wrap: wrap; border-bottom: dashed 2px #8AB689}
.doctor-box03:last-child{border-bottom: none;}
.doctor-box03 .leftbox, .doctor-box03 .rightbox{-ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; }
/* .doctor-box03 .centerbox{-ms-flex: 0 0 33.3%; flex: 0 0 33.3%; max-width: 33.3%;} */
/* .doctor-box03 .rightbox{-ms-flex: 0 0 33.3%; flex: 0 0 33.3%; max-width: 33.3%;} */
.doctor-box03 .titl-1 {font-size: 25px;}
.doctor-box03 .titl-1::before{content: ''; display: inline-block; background-image: url(../favicons/android-chrome-256x256.png); background-size: contain; vertical-align: middle; width: 30px; height: 30px; margin-right: 15px;}
.doctor-box03 img{border-radius: 12px}
.doctor-box03 .name{font-size: 25px; color: #009d32;}
.doctor-box03 .name span{font-size: 14px; padding-right: 10px; color: #585a5b;}
/* .doctor-box03 .position{ font-size: 16px; margin-bottom: 0;}
.doctor-box03 .name{ font-size: 25px; margin: 5px; color: #009d32;} */
@media (max-width: 659px){
  .doctor-box03 .leftbox, .doctor-box03 .centerbox, .doctor-box03 .rightbox{-ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; padding: 0;}
}
/*診療案内*/
/* .medical-box li { margin-bottom: 16px;}
.medical-box li a { font-size: 16px; }
.medical-box li a,
.medical-box li .titl--1 .dot { display: block; }
.medical-box li .titl--1 .arr::before { top: 0; } */
/* .mtreat-box .mtreat-list { border: 2px solid #f5edd4; } */
.mtreat-box .mtreat-list { border-bottom: 2px dashed #C7DBC6; }
.mtreat-box .accordion-btn { position: relative; padding: 15px 15px 15px 40px; letter-spacing: .08em; }
.mtreat-box .accordion-btn span { position: relative; }
.mtreat-box .accordion-btn::before { content: '+'; position: absolute; top: 8px; left: 12px; color: #009d32; font-size: 23px; font-family: 'Crimson Text', serif; }
.mtreat-box .accordion-content { position: relative; }
.mtreat-box .accordion-content p:last-child { margin-bottom: 0; }

/*アクセス*/
.access-box .heading-1::before { background-image: url(../images/access_icon.png); }
.access-box iframe { width: 100%; }
.access-box .access-map dt { margin-bottom: 10px; }
.access-box .access-info { margin-top: 60px; padding: 15px 6% 10px; border-radius: 12px; background: #eec362; color: #fff; opacity: 0.9;}
.access-box .access-info dt { margin-bottom: 6px; }
.access-box .access-info dd { margin-bottom: 3px; font-size: 14px; }
.clinicinfo li { padding: 12px 0; border-bottom: 1px solid #E8E8E8; }
.clinicinfo li:last-child { padding: 12px 0 0 0; border: none; }
.clinicinfo dl:after { display: block; clear: both; content: ''; }
.clinicinfo dt { margin-bottom: 4px; padding-left: 2px; color: #8AB689; letter-spacing: 0.1em; font-weight: 700; font-style: normal; }
.clinicinfo dd { margin-bottom: 0; }
.clinicinfo table { max-width: 520px; width: 100%; margin-bottom: 1em; border: 1px solid #E8E8E8; }
.clinicinfo .depart span { display: inline-block; margin-right: 6px; }

/*院内設備　facility flexslider[js]*/
.facility-slide .flexslider{ position:relative; margin: 0; }
.facility-slide .flexslider li div{ display:table; position:relative; margin-top:-46px; margin-left:10px; background-color: rgba(255,255,255,0.9); }
.facility-slide .flexslider p{ display:table-cell; padding:8px 10px; vertical-align:middle; font-size:16px; font-weight:bold; color:#002A64; }
.facility-slide .flex-control-thumbs .flex-active img{ border: 5px solid #aaa; }
.facility-slide .flex-control-nav.flex-control-thumbs{ width: 100%; margin-top: 40px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start;}
.facility-slide .flex-control-thumbs li { margin-bottom: 10px; -ms-flex: 0 0 23%; flex: 0 0 23%; max-width: 23%; }
.facility-slide .flexslider li div h4{ padding: 5px 10px; font-weight: bold; }
.facility-slide .flex-direction-nav { display: none; opacity: 0; }

@media (min-width: 576px) {

.facility-slide .flexslider { float: left; width: 82%; margin: 0 0 60px; }
.facility-slide .flexslider li div { margin-top:-60px; margin-left:20px; }
.facility-slide .flex-control-nav.flex-control-thumbs{ position:absolute; right: -22%; top: 0; bottom: auto; width: 18%; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start;}
.facility-slide .flex-control-thumbs li { -ms-flex: 0 0 48%; flex: 0 0 48%; max-width: 48%; }

}

/*よくある質問*/
.scroll-list { text-align: center; }
.scroll-list li {  margin-bottom: 16px; letter-spacing: .08em; }
.scroll-list li a { position: relative; display: block; padding: 10px 10px 14px; background: #009d32; color: #ffffff; border-radius: 10px; transition: ease .4s; }
.scroll-list li a::after { content: ''; position: absolute; left: 0; right: 0; bottom: 8px; margin: auto; width: 6px; height: 6px; border-bottom: 2px solid #ffffff; border-right: 2px solid #ffffff; transform: rotate(45deg); transition: ease .4s; }
.scroll-list li a:hover { opacity: .8; }
.scroll-list li a:hover::after { bottom: 6px; }
.qa-box .qa-titl { font-size: 32px; letter-spacing: .08em; }
.qa-box .qa-list { border: 1px solid #C7DBC6; }
.qa-box .accordion-btn { position: relative; padding: 15px 15px 15px 40px; letter-spacing: .08em; }
.qa-box .accordion-btn span { position: relative; border-bottom: 4px solid #C7DBC6; }
.qa-box .accordion-btn::before { content: 'Q'; position: absolute; top: 8px; left: 12px; color: #009d32; font-size: 23px; font-family: 'Crimson Text', serif; }
.qa-box .accordion-content { position: relative; border-top: 2px dashed #C7DBC6; }
.qa-box .accordion-content p:last-child { margin-bottom: 0; }

/*ご予約について*/
.flow-box .titl { font-size: 18px; font-family: 'Crimson Text', serif; }
.flow-box .titl span { font-size: 21px; margin-right: 6px; }
.flow-box .flow-l { padding: 12px 6%; }

/*担当医表*/
.drcalendar .calendar_title { display: none; }
.drcalendar .calendar_info { display: none; }

/*症状から探す*/
.symptoms-list { overflow: hidden; border: 6px solid #009d32; border-radius: 12px; }
.symptoms-titl { padding: 8px 10px 10px; color: #ffffff; background: #009d32; font-size: 20px; }
.symptoms-content .scroll-box { overflow: auto; height: 140px; margin: 20px; }
.symptoms-content .scroll-box > div { overflow: auto; height: 140px; position: relative; }
.symptoms-content picture { display: block; }
.symptoms-content ul {margin-right: 26px;}
.symptoms-content li { padding: 3px 0 3px 18px; border-bottom: 1px dashed #009d32; position: relative; }
.symptoms-content li a { display: block; color: #585a5b; transition: ease .4s; }
.symptoms-content li:hover { opacity: .8; }
.symptoms-content li a:hover { color: #007F12; }
.symptoms-content li::before { content: ''; position: absolute; top: 14px; left: 0; display: block; width: 10px; height: 10px; background: url(../images/cross.svg); background-size: 100%; }
.symptoms-content [class*="scroll-box-"] { margin: 0; height: auto; }
.symptoms-content [class*="scroll-box-"] .ps__thumb-y,
.symptoms-content [class*="scroll-box-"] .ps__rail-y { width: 4px; }
.symptoms-content [class*="scroll-box-"] .ps__thumb-y:hover,
.symptoms-content [class*="scroll-box-"] .ps__rail-y:hover { width: 4px; background: #007F12; opacity: 1!important; }
.symp { padding: 60px 0 40px; background: #f5f2e8; background-position: center; background-size: cover; }
.symp .img{ position: relative; top: -145px; left: -460px; }
.symp .symp-box { z-index:2; }
.symp .symp-tab .tab { margin-bottom: 20px; justify-content: space-between; }
.symp .symp-tab .tab li { width: 48%; padding: 10px; margin-bottom: .8em; background: #009d32; color: #fff; border-radius: 10px; cursor: pointer; transition: ease .2s; }
.symp .symp-tab .tab li:last-child { margin-right: 0; }
.symp .symp-tab .tab li.selected { background: #007F12!important; }
.symp .symp-tab .tab li:hover { background: #009d32; }
.symp .symp-list { overflow: auto; height: 255px; }
.symp .symp-list li { position: relative; overflow: hidden; width: 90%; margin-bottom: .2em; border-radius: 10px; text-align: center; border: 6px solid transparent; transition: all .2s; }
.symp .symp-list li:hover { border-color: #f5f2e8; }
.symp .symp-list li a { display: block; padding: 10px; padding-left: 25px; background: #fff; text-align: left; transition: all .2s; }
.symp .symp-list li span { padding: 0 20px; font-weight: bold; background-image: url(../images/cross.svg); background-size: 10px; background-position: center left; background-repeat: no-repeat; }

/*健康診断*/
.price-table table { display: table; width: 100%; max-width: 100%; }
.price-table th,
.price-table td { padding: 10px 16px; display: block; }
.price-table th { width: 100%; background: #007F12; color: #fff; }
.price-table td { width: 100%; background: #f5f2e8; text-align: left; }


/* iphone5-5s-se */
@media screen and (max-width:320px) {

body { font-size: 15px; }

/* スマホメニュー -----------------------------------------------------*/

/* メイン -----------------------------------------------------*/

/* トップページ -----------------------------------------------------*/


}


/* pc-ipad */
@media (min-width: 576px) {

html, body { min-width: 1200px; }

.content,
.sidebar { margin-bottom: 100px; }
.content { width: 840px; }

/* メイン -----------------------------------------------------*/
.mainvisual { height: 340px; }
.mainvisual .headline-flame { height: 240px; margin-top: 100px; }
.mainvisual .headline-flame .headline { font-size: 27px; }


/* トップページ -----------------------------------------------------*/
.top-news { padding-bottom: 200px; }
.top-news .news-box { position: absolute; top: -100px; left: 0; right: 0; margin: auto; height: auto; padding: 50px 60px 35px; }
.top-news .news-box .btn { margin: 0 0 10px; text-align: left; }
.top-news .news-box .btn a { margin: 0; }
.top-news .news-left { width: 18%; }
.top-news .news-right { width: 76%; }
.top-news .news-titl { margin-bottom: 30px; text-align: left; align-items: flex-start; }
.top-news .news-titl h2::before { content: ''; }
.top-news .news-list li { margin-bottom: 15px; }
.top-news .news-list .titl { display: inline; margin-left: 30px; }
.top-time { margin-top: 60px; }
.top-time .table-2 { margin: 65px auto 20px auto; padding: 30px 64px 28px 60px; border: 8px solid #f5f2e8; width: 80%; }
/*.top-time .table-2 tr:not(:first-child) th { font-size: 1.3em; }
.top-time .table-2 th { font-size: 1.15em; }
.top-time .table-2 td { font-size: 1.15em; }*/
.top-time .calendar-tab { margin-bottom: 0; }
.top-clinic .clinic-l { margin-right: 50px; }
.top-clinic .clinic-r { margin: 227px 0 0; width: auto; }
.top-clinic .clinic-box { margin-bottom: 100px; }
.top-clinic .clinic-box::before { width: 82vw; top: auto; bottom: -100px; }
.top-clinic .clinic-box::after { top: auto; bottom: -60px; right: 40px; }
.top-clinic .clinic-box .img { margin-left: 0; }
.top-clinic .clinic-box .text { top: 300px; left: -186px; width: 620px; padding: 20px 60px 40px; }
.top-clinic .clinic-box .sub { top: 0; left: 50px; font-size: 28px; line-height: 49px; }
.top-clinic .clinic-l { margin-left: auto; margin-right: 50px; }
.top-gree { padding: 160px 0 40px; }
.top-gree::after { bottom: 120px; height: 619px; width: 42.2vw; }
.top-gree .gree-box .sub { top: -109px; right: 12px; line-height: 49px; font-size: 28px; }
.top-gree .gree-r { margin-bottom: 60px; }
.top-gree .gree-l { width: auto; }
.top-diag .diag-box a { -ms-flex: 0 0 23%; flex: 0 0 23%; max-width: 23%; height: 272px; margin-bottom: 26px; }
.top-diag .diag-box a:nth-child(1) img { width: 70px; }
.top-diag .diag-box a:nth-child(2) img { width: 62px; }
.top-diag .diag-box a:nth-child(3) img { width: 70px; }
.top-diag .diag-box a:nth-child(4) img { width: 45px; }
.top-diag .diag-box a:nth-child(5) img { width: 63px; }
.top-diag .diag-box a:nth-child(6) img { width: 70px; }
.top-diag .diag-box a:nth-child(7) img { width: 70px; }
.top-diag .diag-box a:nth-child(8) img { width: 60px; }
.top-diag .diag-box i { width: 120px; height: 120px; }
.top-diag .diag-box span { font-size: 18px; }
.top-symp .symp-tab .tab { margin-bottom: 46px; }
.top-symp .symp-tab .tab li { width: 180px; padding: 15px; margin-right: 1em; margin-bottom: 0; }
.top-symp .symp-tab .tab { justify-content: center; }
.top-symp .tab-panel { height: 260px; }
.top-symp .symp-list { overflow: visible; height: auto; }
.top-symp .symp-list li { width: 30%; margin-bottom: .8em; margin-right: 1em;}
.top-symp .symp-list li:nth-child(3n) { margin-right: 0; }
.top-symp .symp-list li a { padding: 15px; }
.top-symp [class*="scroll-box-"] .ps__rail-x,
.top-symp [class*="scroll-box-"] .ps__rail-y { display: none!important; }
.top-video { padding: 60px 0 0; }
.top-diag .diagnosis_list li { margin-bottom: 45px; width: 24%; }
.top-diag .diagnosis_list li a { display: block; padding: 40px; background-color: #f4f4f4; border-radius: 32px; text-align: center; transition: all 1s ease-out; }
.top-diag .diagnosis_list li a:hover { background-color: #fff; box-shadow: 0 0 64px rgb(4 9 21 / 13%); }
.top-diag .diagnosis_list li img { margin-bottom: 20px; width: 104px; height: 91px;}
.top-diag .diagnosis_list li p { position: relative; color: #585a5b; font-size: 20px; margin-bottom: 0; }
.top-diag .diagnosis_list li p::before {content: ''; position: absolute; top: calc(50% - 3px); right: -8px; display: block; width: 8px; height: 8px; border-top: solid 2px #8AB689; border-right: solid 2px #8AB689; transform: rotate(45deg); }
.top-treatment .treatment_inner { position: relative; z-index: 0; }
.top-treatment .treatment_inner::after { content: ''; display: block; position: absolute; top: 0; bottom: 0; left: 100px; right: 0; z-index: -1; background-color: #f5f8f9;}
.top-treatment .treatment_list li { width: 33.33%; }
.top-treatment .treatment_list li a { display: block; }
.top-treatment .treatment_list .box01 { padding-top: 250px; padding-right: 20px; }
.top-treatment .treatment_list .box02 { padding: 130px 0 50px; }
.top-treatment .treatment_list .treatmene_name { position: absolute; bottom: 0; right: 0; z-index: 1; padding: 8px 16px; font-size: 20px; letter-spacing: .16em; line-height: 1; background-color: #fff; color: #585a5b; margin-bottom: 0}
.top-treatment .treatment_list .ouju { top: 15px; left: 15px; font-size: 14px; }
/* フッター -----------------------------------------------------*/
.bnr-slide { padding: 60px 0 20px; }

.panel-bnr .bnr-l,
.panel-bnr .bnr-r { overflow: hidden; height: 400px; }
.panel-bnr .img img { height: auto; min-width: 100%; }

.footer .gmap { height: 100%; }
.footer .gmap-kunk { left: 80px; right: auto; }
.footer-top { padding: 82px 0 78px; }
.footer-top .footer-logo { width: 420px; padding-right: 0; margin: 0; margin-bottom: 30px; left: auto; }
.footer-bottom { padding-bottom: 32px; }
.footer-bottom .footer-logo { width: auto; }
.footer-med span { margin-top: 0; margin-bottom: 5px;}
.footer-sche .table-1 { padding: 20px 24px 18px 20px; background: #f5f2e8; }
.pagetop { top: auto; bottom: -6px; width: 57px; height: 57px; }


/* アーカイブ -----------------------------------------------------*/
.archive-content .post,
.single-content .post { padding: 30px; }
.archive-content .titl a,
.single-content .titl { font-size: 30px; }

/*パンくず*/
.breadcrumb { padding: 60px 0; }

/*ページネーション*/
.pagination a,
.pagination span { padding: 16px; }
.pagination .next a,
.pagination .next-link a { padding: 16px; }
.pagination .prev,
.pagination .prev-link a { padding-left: 24px; padding-right: 0; }
.pagination .next,
.pagination .next-link a { padding-right: 24px; padding-left: 0; }
.pagination .list-link a { padding: 16px 0; }


/* その他 -----------------------------------------------------*/

.heading-1 p { font-size: 40px; }

/*タイトル*/
.titl-1, .titl-2,.titl-3,
.titl-4,.titl-5,
.titl-7,.titl-9,.titl-10 {font-size: 28px;}
.titl--1,.titl--2,.titl--3 {font-size: 23px;}
.titl-2.hai {padding: 14px 14px 14px 65px;}
.titl-2.hai::before {width: 50px;height: 50px;top: 8px;}
.titl-3 {padding: 10px 0 10px 24px;}
.titl-4 {padding: 6px 0 12px 24px;}
.titl-5 {padding: 6px 0 13px;}
.titl-7 {padding: 12px 0 12px 18px;border: 8px solid #f8deba;}
.titl-9::before {top: 22px;}
.titl--1 {position: relative;padding: 0;letter-spacing: 0.15em;line-height: 1.4;font-weight: normal;}
.titl--1 .dou {padding-bottom: 6px;border-bottom: 4px double #009d32;}
.titl--1 .arr {padding: 0 0 6px 30px;}
.titl--1 .arr::before {content: '';position: absolute;width: 20px;height: 20px;top: 6px;left: 0;margin: auto;background-image: url(../images/line-arrow.svg);background-repeat: no-repeat;background-position: center;background-size: cover;}
.titl--1 .dot {position: relative;display: inline-block;}
.titl--1 .dot::after {content: '';position: absolute;bottom: 0;left: 0;background: url(../images/line-dot.svg) repeat-x;background-size: 6px 2px;width: 100%;height: 2px;}
.titl--2 {position: relative;padding: 0;letter-spacing: 0.15em;line-height: 1.4;font-weight: normal;}
.titl--2 span {display: inline-block;padding: 8px 12px;border: 1px solid #009d32;}
.titl--3 {position: relative;padding: 0;letter-spacing: 0.15em;line-height: 1.4;font-weight: normal;}
.titl--3 span {display: inline-block;padding: 8px 12px;border-bottom: 4px double #009d32;}

/*テーブル*/
.table-1 table { font-size: 16px; }
.table-1 tr:first-child td,
.table-1 tr:first-child th { padding: 5px 0; }
.table-1 td, .table-1 th { padding: 8px 0; }
.table-2 table { font-size: 16px; }
.table-3 table { font-size: 16px; }
.table-3 th { padding-left: 24px; }

/*ボタン*/
.button-1 a { padding: 20px; }
.button-2 a { padding: 20px; }
.button-3 a { padding: 20px 120px 20px 40px; }

/*カレンダー*/
.calendar-1 .calendar tr:first-child th { line-height: 32px; }
.calendar-1 .calendar td span,
.calendar-1 .calendar th > div,
.calendar-1 .calendar th.text_label > div > div,
.calendar-1 .calendar td .schedule_content > div > div { line-height: 60px; }
.calendar-1 table.full_calendar_table th,
.calendar-1 table.full_calendar_table td,
.calendar-1 table.calendar_table th,
.calendar-1 table.calendar_table td { border: 4px solid #fff; }
.calendar-1 .calendar_ym { font-size: 20px; }


/* ページ -----------------------------------------------------*/

/*サイトマップ*/
.sitemap-box .menu {width: 760px;}
.sitemap-box .menu li a {font-size: 20px;}
.sitemap-box .sub-menu li a {font-size: 16px;}

/*医師紹介*/
.dr .doctor-box .name span { font-size: 26px; }
.dr .doctor-box .sub { top: -109px; right: -20px; line-height: 49px; font-size: 28px; }
.dr .doctor-r { margin-bottom: 60px; }
.dr .doctor-l { width: auto; }
.dr .doctor-l::after { top: auto; bottom: 120px; left: auto; right: 0; height: 619px; width: 42.2vw; }
.dr .doctor-1 { padding-top: 116px; }
.dr .doctor-2 .doctor-l { margin-left: 0; }
.dr .doctor-2 { padding-top: 60px; }
.dr .doctor-2 .dashed-list li { padding-bottom: 0; }
.dr .doctor-2 .doctor-l { padding-bottom: 0; }
.dr .doctor-2 .doctor-l::after { top: 30px; left: 0; right: auto; height: 460px; }

/*診療案内*/
/* .medical-box ul { text-align: center; }
.medical-box li { display: inline-block; margin: 0 16px 16px 0; }
.medical-box li a { font-size: 20px; }
.medical-box li a,
.medical-box li .titl--1 .dot { display: inline; }
.medical-box li .titl--1 .arr { padding-bottom: 8px; } */
.qa-box .accordion-btn { padding: 20px 20px 20px 48px; font-size: 18px; }
.qa-box .accordion-btn::before { top: 12px; left: 16px; font-size: 26px; }


/*アクセス*/
.access-box .access-info {position: absolute;top: 60px;right: 20px;margin-top: auto;padding: 20px 27px 13px;}
.clinicinfo dl:after {display: block;clear: both;content: "";}
.clinicinfo dt {float: left;width: 25%;margin-bottom: 0;}
.clinicinfo dd {float: left;width: 75%;}
.clinicinfo table {max-width: 520px;width: 100%;}

/*院内設備　facility flexslider[js]*/
.facility-slide .flexslider {float: left;width: 75%;}
.facility-slide .flex-control-nav.flex-control-thumbs {position:absolute;right: -34%;top: 0;width: 30%;margin-top: 0;}
.facility-slide .flex-control-thumbs li {-ms-flex: 0 0 47%; flex: 0 0 47%; max-width: 47%; margin-bottom: 16px; }
.facility-slide .flex-control-thumbs li img { border: 5px solid #e0e0e0; }

/*症状から探す*/
.symp .symp-tab .tab { margin-bottom: 46px; }
.symp .symp-tab .tab li { width: 180px; padding: 15px; margin-right: 1em; margin-bottom: 0; }
.symp .symp-tab .tab { justify-content: center; }
.symp .tab-panel { height: 260px; }
.symp .symp-list { overflow: visible; height: auto; }
.symp .symp-list li { width: 30%; margin-bottom: .8em; margin-right: 1em;}
.symp .symp-list li:nth-child(3n) { margin-right: 0; }
.symp .symp-list li a { padding: 15px; }
.symp [class*="scroll-box-"] .ps__rail-x,
.symp [class*="scroll-box-"] .ps__rail-y { display: none!important; }

/*よくある質問*/
.scroll-list li { display: inline-block; margin-right: 16px; }
.scroll-list li:last-child { margin-right: 0; }
.scroll-list li a { padding: 12px 24px 16px; }
.qa-box .accordion-btn { padding: 20px 20px 20px 48px; font-size: 18px; }
.qa-box .accordion-btn::before { top: 12px; left: 16px; font-size: 26px; }
.qa-box .accordion-content {  }

/*ご予約について*/
.flow-box .titl { font-size: 20px; }
.flow-box .titl span { font-size: 23px; }
.flow-box .flow-l { padding: 30px; }

/*健康診断*/
.price-table table { width: auto; min-width: 500px; }
.price-table tr { border-bottom: 2px solid #ffffff; }
.price-table th,
.price-table td { display: table-cell; padding: 10px 20px; border-radius: 6px; }
.price-table th { width: 50%; }
.price-table td { width: 50%; border-left: 2px solid #ffffff; text-align: right; }

/*動脈硬化*/


}
