/*------------------------------------------------------------
	gNavi
------------------------------------------------------------*/
header nav {
  width: 130rem;
}
.header-menu {
  padding: 50rem 0 4.8rem;
}
.header-menu .wrap {
  width: 1300px;
}
.header-menu li a {
  color: #81795f;
  font-weight: 600;
  text-align: left;
  font-size: 1.8rem;
}
.header-menu .column ul.treat-child li {
  font-size: 1.4rem;
  line-height: 2;
}
.header-menu .column ul.treat-child li:before {
  content: "-";
  font-size: 1.2rem;
}
.header-menu .column > ul:not([class]) > li {
  border-bottom: 1px solid;
  font-size: 1.4rem;
  line-height: 2;
}
.header-menu .treat01-child > li {
  font-size: 1.2rem;
  line-height: 2;
}
.header-menu .column ul.treat01-child li:before {
  content: '-';
}
div.wrap.row.sitemap {
  margin-top: 5rem;
}
main section table.ux-price-table {
  margin: 40px 0;
  width: 100%;
  border: solid 1px #000;
  border-collapse: separate;
}
main section table.ux-price-table th {
  background: #eae7e5;
  padding: .5em .8em;
  border: solid #c8c8c8;
  border-width: 0px 1px 1px 0px;
  vertical-align: middle;
  color: #595757; letter-spacing: 0;
}
main section table.ux-price-table td {
  background: #fff;
  text-align: center; letter-spacing: .1rem;
}
main section table.ux-price-table .txt-center {
  text-align: center;
}
main section table.ux-price-table th span {
  color: #9e3437;
  font-weight: 600;
}
main section table.ux-price-table td span {
  color: #9e3437;
  font-weight: 600;
}
.release-txt {
  margin-bottom: 2rem;
  text-align: right;
}
.release-txt span {
  font-size: 1rem;
}
main h1 {
  margin-bottom: 4rem;
}
@media screen and (max-width: 768px) {
  main {
    margin: 0rem 0 8rem;
  }
  main h1 {
    margin-bottom: 4rem;
  }
  main h1 + .tag-list + p {
    margin-bottom: 4rem;
  }
  main section table.ux-price-table th {
    text-align: center;
  }
  main section table.ux-price-table tr {
    display: flex;
    flex-wrap: wrap;
  }
  main section table.ux-price-table td {
    font-size: 1.2rem;
    vertical-align: middle;
    padding: 1em .6em;
  }
  main section table.ux-price-table .sp-w50 {
    width: 50% !important;
  }
  main section table.ux-price-table .sp-w100 {
    width: 100% !important;
    display: block;
    text-align: center;
  }
}
@media screen and (max-width: 1024px) {
  #gNavi {
    position: relative;
    z-index: 9991;
    overflow-y: scroll;
  }
  #gNavi .navi {
    box-sizing: border-box;
    display: block;
    margin: 0 auto;
    max-width: 90.5%;
    padding: 45px 10px 34px;
  }
  #gNavi .navi li {
    margin-left: 19px;
  }
  #gNavi .navi li a {
    padding-bottom: 4px;
    display: block;
    position: relative;
    text-align: center;
    color: #81795f;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.6;
    letter-spacing: 0.06em;
  }
  #gNavi .navi li a::after {
    width: 0;
    height: 2px;
    position: absolute;
    bottom: 1px;
    left: 50%;
    background: #81795f;
    content: "";
    transform: translateX(-50%);
    transition-duration: .3s;
  }
  #gNavi .navi li .subList {
    display: none;
  }
  #gNavi .navi li .subList.open {
    display: block;
  }
  #gNavi .navi li .switch.open:after {
    display: none;
  }
  #gNavi {
    width: 100%;
    height: 100%;
    position: fixed;
    left: 0;
    top: 0;
    color: #fff;
    background: #e6e6e4;
    overflow: auto;
    z-index: 9999 !important;
  }
  #gNavi .navi li {
    margin-left: 0;
    position: relative;
    border-bottom: 1px solid #81795f;
  }
  #gNavi .navi li a {
    padding: 5px 12px;
    text-align: left;
    font-size: 1.8rem;
  }
  #gNavi .navi li a::after {
    display: none;
  }
  #gNavi .navi li .switch {
    width: 38px;
    height: 38px;
    position: absolute;
    right: 3px;
    top: 0;
    display: block;
    z-index: 1;
  }
  #gNavi .navi li .switch::before {
    width: 12px;
    height: 2px;
    position: absolute;
    right: 50%;
    top: 50%;
    background: #81795f;
    content: "";
    transform: translate(50%, -50%);
  }
  #gNavi .navi li .switch::after {
    width: 2px;
    height: 12px;
    position: absolute;
    right: 50%;
    top: 50%;
    background: #81795f;
    content: "";
    transform: translate(50%, -50%);
  }
  #gNavi .navi li .switch.open.on:after {
    display: block;
  }
  #gNavi .navi li .switch.on::after {
    display: none;
  }
  #gNavi .navi li .subList {
    padding: 0 0 8px 10px;
  }
  #gNavi .navi li .subList ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  #gNavi .navi li .subList li {
    width: 44%;
    border: none;
  }
  #gNavi .navi li .subList li:nth-child(2n) {
    width: 48%;
  }
  #gNavi .navi li .subList li a {
    padding: 4px 0 0px;
    font-size: 1.4rem;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.5;
    margin-bottom: 10px;
  }
  #gNavi .navi li .subList li a .ruby {
    position: relative;
  }
  #gNavi .navi li .subList li a .ruby:before {
    position: absolute;
    top: -1.2em;
    transform: translateX(-50%) scale(.9);
    font-size: 1rem;
    font-weight: 400;
    left: 50%;
    white-space: nowrap;
  }
  #gNavi .navi li .subList li a .ruby.ruby01:before {
    content: "がんけんかすい";
  }
  #gNavi .navi li .subList li a .ruby.ruby02:before {
    content: "がんかこっせつ";
  }
  #gNavi .navi li .subList li a .ruby.ruby03:before {
    content: "もうこ";
  }
  #gNavi .navi li .subList li a .ruby.ruby04:before {
    content: "がんかしゅよう";
  }
  #gNavi .navi li .subList li a .ruby.ruby05:before {
    content: "かんおう";
  }
  #gNavi .navi li .subList li a .ruby.ruby06:before {
    content: "げんあつじゅつ";
  }
  #gNavi .spBox {
    margin: 0 auto;
    padding: 0 20px 75px 32px;
    max-width: 90.5%;
    font-weight: 500;
  }
  #gNavi .spBox a {
    color: #fff;
  }
  #gNavi .spBox .timeList {
    margin-bottom: 23px;
    font-size: 1.5rem;
    letter-spacing: 0.05em;
    line-height: 1.55;
  }
  #gNavi .spBox .timeList dt {
    float: left;
    clear: both;
  }
  #gNavi .spBox .timeList dd {
    padding-left: 5.25em;
  }
  #gNavi .spBox .timeList dd .bold {
    font-weight: 900;
  }
  #gNavi .spBox .tel {
    font-size: 2.9rem;
    font-weight: 900;
    line-height: 1.4;
  }
  #gNavi .spBox .address {
    font-size: 1rem;
    font-weight: 500;
  }
  header #gNavi .btn-nav {
    width: 35rem;
    display: block;
  }
  div#toc_container {
    height: 300px;
    display: block;
    overflow: auto;
  }
  div#toc_container.contracted {
    height: 40px !important;
  }
}
#top-page {
  background: linear-gradient(180deg, #fff, #efeee7);
}
.sec-intro {
  padding-left: 3.7rem;
  padding-top: 13.5rem;
  z-index: 2;
  margin-top: -5rem;
  margin-bottom: 5rem;
}
.sec-intro p strong {
  font-weight: 700;
  color: #9b3438;
}
.sec-intro .item01 {
  max-width: none;
  position: absolute;
  right: -28.5rem;
  top: 0rem;
  z-index: -1
}
.sec-intro .item02 {
  display: inline-block
}
.sec-intro .item03 {
  left: -28.4rem;
  position: absolute;
  top: 40rem
}
.sec-intro h2 {
  color: #a6987a;
  font-size: 3rem;
  letter-spacing: .15em;
  line-height: 1.6;
  margin-bottom: 5rem
}
.sec-intro h2 + p {
  line-height: 2.4;
  margin-bottom: 6.7rem;
}
.sec-intro h2.general {
  color: #a6987a;
  font-size: 1.7rem;
  font-weight: 600;
  padding-bottom: 1rem;
  position: relative;
  text-align: center
}
.sec-intro h2.general:before {
  background: #4d4d4d;
  bottom: 0;
  content: "";
  height: 1px;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 3rem
}
.sec-intro h2.general:after {
  color: #4d4d4d;
  content: attr(data-en);
  display: block;
  font-family: adobe-garamond-pro, serif;
  font-size: 7.6rem;
  font-weight: 400;
  line-height: 1;
  text-align: center
}
@media screen and (max-width:768px) {
  .mv + .news {
    z-index: 3 !important;
  }
  .sec-intro {
    padding-top: 15rem;
    padding-left: 2.7rem;
    padding-bottom: 5rem;
    margin-top: -12.5rem;
    margin-bottom: 5rem;
  }
  .btn-en {
    z-index: 4;
  }
  .btn-insta {
    z-index: 4;
  }
  .sec-intro .item01 {
    right: 0;
    top: 13.5rem
  }
  .sec-intro .item02 {
    left: 0;
    position: absolute;
    top: 25.5rem;
    width: 16.65rem;
    z-index: -1;
    opacity: 1;
  }
  .sec-intro .item03 {
    display: none;
  }
  .sec-intro .item04 {
    opacity: .9;
    position: absolute;
    right: 0;
    top: 31.5rem;
    width: 12rem;
    z-index: -1
  }
  .sec-intro h2 {
    font-size: 2.1rem;
    letter-spacing: .1em;
    line-height: 1.5;
    margin-bottom: 2.1rem;
    white-space: nowrap;
    margin-top: -3rem;
  }
  .sec-intro h2 + p {
    font-size: 1.5rem;
    line-height: 2;
    margin-bottom: 2rem;
  }
  .sec-medical {
    padding: 4rem 1.25rem 5rem;
  }
  .micro {
    width: 100%;
    margin-bottom: 2rem;
  }
}
/* policy------------------------------ */
.policy {
  background: url("../images/index/policy.jpg") center/cover;
}
.policy h2 {
  color: #81795f;
}
.policy h3 {
  border-bottom: 1px solid;
  font-size: 2.2rem;
  margin: 0rem 0 2.6rem;
  color: #80795f;
  font-family: YuMincho, 游明朝体, Yu Mincho, 游明朝, yu-mincho-pr6n, serif;
  font-weight: 600;
}
.policy .in {
    background: rgba(255, 255, 255, .88);
    padding: 75px 50px;
    width: calc(50% + 3.5rem);
}
.policy .in .policy-wrap{
    max-width: 850px;
    margin: 0 auto;
}
.policy p {
  margin-bottom: .75rem;
  font-size: 1.4rem;
}
.policy p strong {
  font-weight: 700;
  color: #9b3438;
}
.policy .btn {
  text-align: center;
}
.policy .name{ display: block; text-align: right; font-size: 3rem; margin-top: 4rem; }
.policy .name small{ display: block; font-size: 1.4rem; }

@media screen and (max-width:768px) {
  .policy {
    padding-top: 0;
    background: none;
  }
  .policy:before {
    content: "";
    display: block;
    width: 100%;
    height: 250px;
    background: url("../images/index/policy-sp.jpg") center/cover no-repeat;
  }
  .policy h2 {
    text-align: center;
  }
  .policy h2 span:after {
    margin: 5px auto 15px;
  }
  .policy p {
    font-size: 1.3rem;
  }
  .policy .in {
    width: 100%;
    margin: 0;
    border-radius: 0;
    padding: 35px 5vw 35px;
  }
  .policy .name{ font-size: 2.5rem; }
  .policy .name small{ font-size: 1.1rem; line-height: 1.6; }
}

/*==================================================
スライダーのためのcss
===================================*/
.slider {
    z-index: -9;
}
.slider img {
    width:100%;/*スライダー内の画像を横幅100%に*/
    height:auto;
}

.slider .slick-slide {
    margin:0px;
}


/*==================================================
modaal css
===================================*/
/*全て共通：hideエリアをはじめは非表示*/
.hide-area{
	display: none;
}

/*全て共通：モーダルのボタンの色を変更したい場合*/
.modaal-close:after, 
.modaal-close:before{
	background:#ccc;	
}

.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before{
	background:#666;
}
    
.modaal-close{
right: 70px;
top: 25px;
}

@media screen and (max-width:768px){
.modaal-close {
    right: 10px;
    top: 105px;
	}
}

#g-nav{
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position:fixed;
    z-index: 999;
    /*ナビのスタート位置と形状*/
  bottom:-120%;
    left:0;
  width:100%;
    height: 100vh;/*ナビの高さ*/
  background:#999;
    /*動き*/
  transition: all 0.6s;
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive{
    bottom: 0;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999; 
    width: 100%;
    height: 100vh;/*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/
#g-nav ul {
    position: absolute;
    z-index: 999;
    top:50%;
    left:50%;
    transform: translate(-50%,-50%);
	height: 300px;
    display: block;
    overflow: auto;
    width: 300px;
}

/*リストのレイアウト設定*/

#g-nav li{
  list-style: none;
    text-align: center; 
}

#g-nav li a{
  color: #333;
  text-decoration: none;
  padding:10px;
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: bold;
}

div#toc_container ul li{ text-align: left;}

