@charset "utf-8";
/*********************************************************
全体
*********************************************************/
.clearfix:after{
  content: "";
  clear: both;
  display: block;
  visibility: hidden;
}
li {
  list-style: none;
}
body {
  max-width: 1600px;
  margin: 0 auto;
  font-size: 14px;
  font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro W3', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', Helvetica, Arial, sans-serif;
  line-height: 1.5;
}
.js-on {
  display: none;
}
a {
  text-decoration: none;
}
img {
  width: 100%;
}
.logo-img {
  max-width: 250px;
  display: block;
  margin: 0 auto;
}
/*********************************************************
ヘッダー
*********************************************************/
.sp-header {
  display: none;
}
#slide_menu {
  display: none;
}
.pc-header {
  padding: 15px 0 0;
}
.header-t1 {
  display: table;
  width: 100%;
  max-width: 960px;
  margin: 0 auto 25px;
}
.header-l,
.header-r {
  display: table-cell;
  width: 50%;
}
.header-t1 .header-l,
.header-t1 .header-r {
  vertical-align: top;
}
.header-t2 {
  display: table;
  width: 100%;
}
.header-t2 .header-l,
.header-t2 .header-r  {
  vertical-align: middle;
}
.header-t2 .uketsuke {
  border: 1px solid #ECECEC;
  padding: 8px;
  margin-bottom: 10px;
  font-size: 13px;
  font-weight: bold;
  text-align: center;
}
.header-t2 .header-r {
  text-align: center;
  padding: 0 8px;
}
.header-t3 {
  display: table;
  width: 100%;
}
.header-t3 .header-l {
  width: 60%;
  border-left: 1px solid #ECECEC;
  border-right: 1px solid #ECECEC;
  padding: 0 10px;
  box-sizing: border-box;
}
.header-a {
  font-weight: bold;
  text-align: center;
  color: #949494;
}
.header-info-title {
  font-size: 12px;
  padding: 5px 0;
  font-weight: bold;
  text-align: center;
  border: 1px solid #ECECEC;
  margin: 8px 0 4px;
  color: #6493ce;
}
.header-t3 table {
  width: 100%;
}
.header-t3 table td{
  font-size: 11px;
  font-weight: bold;
  line-height: 1.5;
}
.hokensho {
  font-size: 12px;
  font-weight: bold;
  border-top: 1px solid #ECECEC;
  padding-top: 4px;
}
.header-t3 .header-r {
  text-align: center;
  font-size: 10px;
  padding: 0 10px;
  box-sizing: border-box;
}
.header-r .header-tel {
  font-size: 16px;
  font-weight: bold;
  margin-top: 10px;
  color: #d54175;
}
.contact-btn a {
  color: #000;
  border-color: #000;
  border-style: solid;
  border-width: 2px 2px 4px 2px;
  border-radius: 2px;
  display: block;
  text-align: center;
  max-width: 200px;
  margin: 15px auto;
  padding: 8px;
  box-sizing: border-box;
}
.contact-btn a:hover {
  text-decoration: underline;
}
header .info-sns li {
  margin-right: 4px;
  width: 30px;
  height: 30px;
}
header .info-sns i {
  font-size: 30px;
}

/*--グローバルナビ--*/
.pc-nav {
  border-top: 5px solid #c3c2c1;
}
.dropmenu{
  *zoom: 1;
  list-style-type: none;
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  padding: 0;
}
.dropmenu:before, .dropmenu:after{
  content: "";
  display: table;
}
.dropmenu:after{
  clear: both;
}
.dropmenu li{
  position: relative;
  float: left;
  margin: 0;
  padding: 0;
  text-align: center;
  white-space: nowrap;
}
.dropmenu > li:first-child{
  width: 130px;
}
.dropmenu > li:nth-child(2){
  width: 130px;
}
.dropmenu > li:nth-child(3){
  width: 150px;
}
.dropmenu > li:nth-child(4){
  width: 170px;
}
.dropmenu > li:nth-child(5){
  width: 130px;
}
.dropmenu > li:nth-child(6){
  width: 120px;
}
.dropmenu > li:nth-child(7){
  width: 130px;
}
.dropmenu > li:nth-child(8){
  width: 120px;
}
.dropmenu li a{
  display: block;
  margin: 0;
  padding: 25px 0;
  color: #666;
  font-size: 13px;
  font-weight: bold;
  line-height: 1;
  text-decoration: none;
  position: relative;
}
.dropmenu > li > a:hover:before,
.on_hover:before,
#page1 .dropmenu > li:first-child > a:before,
#page2 .dropmenu > li:nth-child(2) > a:before,
#page3 .dropmenu > li:nth-child(3) > a:before,
#page4 .dropmenu > li:nth-child(4) > a:before,
#page5 .dropmenu > li:nth-child(5) > a:before,
#page6 .dropmenu > li:nth-child(6) > a:before,
#page7 .dropmenu > li:nth-child(7) > a:before,
#page8 .dropmenu > li:nth-child(8) > a:before {
  background-color: #949494;
  content: "";
  width: 100%;
  height: 5px;
  position: absolute;
  top: -5px;
  right: 0;
  left: 0;
}
#page1 .dropmenu > li:first-child > a:after,
#page2 .dropmenu > li:nth-child(2) > a:after,
#page3 .dropmenu > li:nth-child(3) > a:after,
#page4 .dropmenu > li:nth-child(4) > a:after,
#page5 .dropmenu > li:nth-child(5) > a:after,
#page6 .dropmenu > li:nth-child(6) > a:after,
#page7 .dropmenu > li:nth-child(7) > a:after,
#page8 .dropmenu > li:nth-child(8) > a:after{
  border-style: solid;
  border-width: 6px 5px 0;
  border-color: #949494 transparent transparent transparent;
  content: "";
  margin: auto;
  width: 0;
  height: 0;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.dropmenu li ul{
  list-style: none;
  position: absolute;
  z-index: 9999;
  top: 100%;
  left: 0;
  margin: 0;
  padding: 0;
}
.dropmenu li ul li{
  width: 100%;
  white-space: nowrap;
  background: #FFF;
}
.dropmenu li ul li a{
  padding: 13px 15px;
  border-top: 1px solid #EEE;
  text-align: left;
}
.dropmenu li:hover > a{
  background: #ECECEC;
}
.dropmenu li a:hover{
  background: #ECECEC;
}
#dropmenu li ul li{
  overflow: hidden;
  height: 0;
  transition: .2s;
}
#dropmenu li:hover ul li{
  overflow: visible;
  height: 38px;
}
/*********************************************************
メイン
*********************************************************/
#main {
  max-width: 960px;
  margin: 0 auto;
  padding: 30px 0 50px;
}
.contents-box1 section:nth-child(n+2),
.contents-box2 section:nth-child(n+2),
.contents-box3 section:nth-child(n+2),
.contents-box4 section:nth-child(n+2),
.contents-box5 section:nth-child(n+2),
.contents-box6 section:nth-child(n+2){
  margin-top: 30px;
}
/*-----------------------
トップページ
-----------------------*/
/*--メインイメージ--*/
.main-image {
  max-width: 1600px;
  margin: 0 auto;
  position: relative;
}
.imgarea-txt,
.imgarea-txt2 {
  position: absolute;
  z-index: 999;
}
.imgarea-txt {
  left: 15%;
  top: 14px;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: #949494;
}
.imgarea-txt p {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  color: #FFF;
  font-weight: bold;
  text-align: center;
  width: 100%;
}
.imgarea-txt2 {
  bottom: 15px;
  left: 50%;
  width: 600px;
  padding: 8px;
  margin-left: -300px;
  background: #FFF;
  border: 1px solid #EEE;
  box-sizing: border-box;
  text-align: center;
  font-size: 18px;
  font-weight: bold;
}
.main-message {
  z-index: 10000;
  position: absolute;
  top: 28%;
  left: 50%;
  margin-left: -350px;
  width: 100%;
  max-width: 700px;
  background: rgba(83,83,83,.7);
  color: #FFF;
  font-weight: bold;
  font-size: 28px;
  text-align: center;
  padding: 5% 0;
  box-sizing: border-box;
}
/*--トップページコンテンツ--*/
.top-contents-title {
  font-size: 36px;
  text-align: center;
  line-height: 1.5;
  margin-bottom: 30px;
}
.top-contents1-body {
  max-width: 768px;
  margin: 0 auto;
}
.top-contents1-body li {
  margin-bottom: 1em;
}
.top-contents1-body li:last-child {
  margin-bottom: 0;
}
.top-contents1-body li i{
  font-size: 24px;
  color: #03a3cc;
  vertical-align: middle;
}
.top-contents1-2 {
  margin-top: 50px;
}

/*--トップページコンテンツ1--*/
.contents-box1 .box {
  float: left;
  width: 23.5%;
  text-align: center;
}
.contents-box1 .box:nth-of-type(n+2){
  margin: 0 0 0 2%;
}
.contents-box1 .title,
.contents-box1 .sub-title {
  font-size: 16px;
  font-weight: bold;
  margin: 10px 0;
}
.contents-box1 .title {
  color: #d54175;
}
.btitle{
  border-top: 1px solid #E9E9E9;
  border-bottom: 1px solid #E9E9E9;
  padding: 10px 0;
}
.contents-box1 p {
  font-size: 12px;
  line-height: 1.5;
}
.contents-box1 .photo {
  margin-bottom: 15px;
}
.top-contents1-2 h3 {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
}
.top-contents1-2 h3 span {
  font-size: 24px;
  font-weight: bold;
  display: block;
  color: #03a3cc;
  margin: 0 0 10px 0;
}
.top-care img,
.top-training img {
  display: block;
  margin: 0 auto;
  max-width: 400px;
}
.sougo img {
  display: block;
  max-width: 90px;
  margin: 0 auto;
}
img.sougo-sp {
  display: none !important;
}
/*--トップページコンテンツ2--*/
.top-contents2 {
  margin-top: 50px;
}
.contents-box2 .box {
  display: table;
  width: 100%;
}
.contents-box2 .title {
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 30px;
  color: #6493ce;
}
.contents-box2 .box-photo,
.contents-box2 .box-text {
  display: table-cell;
  vertical-align: middle;
}
.contents-box2 .box-photo {
  width: 30%;
  text-align: center;
}
.contents-box2 .photo {
  margin-bottom: 10px;
}
.contents-box2 .photo img {
  max-width: 200px;
  display: block;
  margin: 0 auto;
}
.contents-box2 .box-text,
.contents-box2 .box-photo {
  text-align: center;
}
#page2 #main > .contents-box2 section:first-child .box-text {
  text-align: left;
}
#page2 #main > .contents-box3 .box-text {
  text-align: center;
}
/*--トップページコンテンツ3--*/
.top-contents3 {
  margin-top: 50px;
}
.contents-box3 .box {
  display: table;
  width: 100%;
}
.contents-box3 .title {
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 30px;
  color: #6493ce;
}
.contents-box3 span {
  display: block;
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 30px;
  color: #2D2D2D;
}
.contents-box3 .box-photo,
.contents-box3 .box-text {
  display: table-cell;
  vertical-align: middle;
}
.contents-box3 .box-photo {
  width: 30%;
  text-align: center;
}
.contents-box3 .photo {
  margin-bottom: 10px;
}
.contents-box3 .box-text {
  padding: 30px;
  box-sizing: border-box;
}
/*--トップページコンテンツ4--*/
.top-contents4 {
  margin-top: 50px;
}
.top-contents4 img {
  max-width: 230px;
}
.top-contents4-2 .box {
  width: 32%;
}
.top-contents4-2 img {
  max-width: 300px;
}
/*--トップページコンテンツ5--*/
.top-contents5 {
  margin: 50px 0;
}
/*--トップページコンテンツ6--*/
.top-contents6 {
  margin: 50px 0;
}
.top-info-area {
  border: 2px solid #666;
  padding: 10px;
  box-sizing: border-box;
  position: relative;
  line-height: 1.5;
}
.top-info-title {
  position: absolute;
  top: -20px;
  border: 2px solid #666;
  padding: 8px;
  text-align: center;
  font-weight: bold;
  background: #FFF;
}
.top-info-icon {
  position: absolute;
  right: 0;
  top: 0;
  border-bottom: 2px solid #666;
  border-left: 2px solid #666;
  padding: 8px;
  box-sizing: border-box;
  border-radius: 0 0 0 5px;
  background: #FFF;
}
.top-info-icon li {
  float: left;
  padding-right: 8px;
  font-size: 12px;
}
.top-info-logo {
  max-width: 257px;
}
.top-info-area .top-info-logo {
  display: block;
  margin: 30px 0 20px 10px;
}
.top-info-table {
  display: table;
  width: 100%;
  border-collapse: separate;
  border-spacing: 30px 0;
}
.top-info-left,
.top-info-right {
  display: table-cell;
  vertical-align: middle;
}
.top-info-left img {
  max-width: 350px;
}
.top-info-right img {
  max-width: 230px;
  display: block;
  margin: 0 auto;
}
.top-info-table2 {
  display: table;
  width: 100%;
  border-collapse: separate;
  border-spacing: 30px 0;
}
.top-info-table2 .top-info-left,
.top-info-table2 .top-info-right {
  display: table-cell;
  width: 50%;
}
.top-info-table2 .top-info-left table {
}
.top-info-table2 .top-info-left td,
.top-info-table2 .top-info-left th {
  text-align: center;
  padding: 8px;
}
.top-info-table2 .top-info-left th {
  font-weight: bold;
  font-size: 12px;
}
.top-info-ltitle {
  font-weight: bold;
  border-bottom: 1px solid #ECECEC;
  border-top: 1px solid #ECECEC;
  padding: 6px 0;
}


.chu {
  font-size: 12px;
  padding: 7px 0 15px;
}
.top-info-left .point {
  background: #d54175;
  color: #FFF;
  text-align: center;
  padding: 8px;
}
.top-info-right {
  text-align: center;
}
.top-info-tel {
  font-size: 36px;
  font-weight: bold;
  color: #6493ce;
  border-bottom: 1px solid #666;
  padding-bottom: 8px;
}
.top-info-tel span {
  font-size: 16px;
  font-weight: bold;
}
.top-info-kyushin p,
.top-info-address p {
  border: 1px solid #4E4E4E;
  padding: 3px;
  text-align: center;
  width: 150px;
  box-sizing: border-box;
  margin: 20px auto 10px;
}
.top-info-box {
  display: table;
  width: 100%;
}
.top-info-kyushin,
.top-info-address {
  display: table-cell;
  width: 50%;
}
.info-sns {
  margin-top: 15px;
}
.info-sns ul {
  display: inline-block;
  text-align: center;
}
.info-sns li {
  display: inline-block;
  height: 40px;
  vertical-align: middle;
  margin-right: 8px;
}
.info-snsn li:last-child {
  margin-right: 0;
}
.info-sns a {
  color: #525252;
}
.info-sns img {
  max-width: 40px;
}
.info-sns i {
  font-size: 40px;
}
/*-----------------------
施設案内
-----------------------*/
.contents {
  margin-top: 50px;
}
.page-title {
  background: #949494;
  text-align: center;
  position: relative;
  padding: 60px 0;
}
.page-title:after {
  border-style: solid;
  border-width: 13px 12px 0;
  border-color: #949494 transparent transparent transparent;
  content: "";
  margin: auto;
  width: 0;
  height: 0;
  position: absolute;
  bottom: -13px;
  left: 0;
  right: 0;
}
.page-title h2 {
  font-size: 30px;
  font-weight: bold;
  color: #FFF;
  margin-bottom: 20px;
}
.page-title .pankuzu {
  font-size: 10px;
  color: #FFF;
}
.page-title .pankuzu a {
  color: #FFF;
}
.page-title .pankuzu a:hover {
  text-decoration: underline;
}
.page-title .pankuzu span:after {
  content: "＞";
  padding: 0 5px;
}
.text-contents {
  text-align: center;
}
.text-contents h3 {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 20px;
  color: #6493ce;
}
.text-contents strong {
  display: block;
  font-weight: bold;
  margin-bottom: 20px;
}
/*--ギャラリー--*/
.gallery-img {
  box-sizing: border-box;
  margin: 15px auto;
}
.gallery ul {
}
.thumbnail {
  float: left;
  width: 19.2%;
  background: #FFF;
  box-sizing: border-box;
  border: 1px solid #626262;
  margin: 0 1% 0 0;
}
.thumbnail:last-child {
  margin: 0 0 0 0;
}
.thumbnail img {
  max-width: 300px;
  padding: 2.406738868832732%;
  display: block;
  box-sizing: border-box;
}
.thumbnail img:hover {
  opacity: 0.7;
}
/*-----------------------


ケアメニュー・トレーニングメニュー
-----------------------*/
.menu-shousai .photo {
  border: 1px solid #ECECEC;
  padding: 5px;
  display: block;
}
.menu-shousai .photo img {
  display: block;
}
.kaisetsu {
  font-weight: bold;
  font-size: 16px;
  text-align: center;
  color: #757575;
  margin: 30px 0;
}
.kouka {
  margin: 30px 0 0;
}
.kouka ul {
  width: 95%;
  margin: 0 auto;
}
.kouka li {
  float: left;
  width: 31.3%;
  border: 2px solid #d54175;
  color: #d54175;
  padding: 20px 0;
  text-align: center;
  font-weight: bold;
  box-sizing: border-box;
  border-radius: 15px;
  margin: 1%;
}
.price-care {
  font-weight: bold;
}
.price-care span {
  color: #d54175;
  font-size: 18px;
  font-weight: bold;
}
#page3 .text-contents p {
  margin-bottom: 15px;
}
#page3 .text-contents p:last-child {
  margin-bottom: 0;
}
#page3 .text-contents .setsumei,
#page4 .text-contents .setsumei {
  line-height: 2;
  text-align: left;
  display: inline-block;
}
/*-----------------------
アクセス
-----------------------*/
.access-flow li {
  float: left;
  width: 30%;
  margin: 0 5% 0 0;
  position: relative;
}
.access-flow li:after {
  font-family: FontAwesome;
  content: "\f061";
  position: absolute;
  top: 40%;
  right: -13%;
  font-size: 30px;
  color: #000;
}
.access-flow:first-child li:last-child,
.access-flow:last-child li:last-child {
  margin: 0;
}
.access-flow:first-child li:nth-of-type(3):after,
.access-flow:last-child li:nth-of-type(3):after {
  display: none;
  content: "";
}
.access-flow .access-image {
  margin-bottom: 10px;
}
.access-flow .access-text span {
  float: left;
  background: #656565;
  color: #FFF;
  text-align: center;
  font-size: 18px;
  font-weight: bold;
  padding: 10px 20px;
  margin: 0 5px 5px 0;
}
.access-flow2 {
  margin-top: 50px;
}
.access-map {
  margin-top: 30px;
}
/*-----------------------
お知らせ
-----------------------*/
.information li {
  border-bottom: 1px dashed #989898;
  padding: 0 0 10px 5px;
  margin: 0 0 1.5em 0;
}
.information a {
  color: #000;
}
.theme {
  background: #d54175;
  color: #FFF;
  padding: 5px;
  font-size: 12px;
  margin-right: 10px;
}
.opendate {
  margin-right: 20px;
  color: #757575;
}
.info-title {
  font-weight: bold;
}
/*-----------------------
お知らせ詳細
-----------------------*/
.blog-wrap {
  max-width: 800px;
  margin: 0 auto;
  padding: 15px;
  box-sizing: border-box;
  border: 1px solid #CCC;
}
.blog-title {
  border-bottom: 1px solid #989898;
  padding: 0 0 10px 8px;
  margin: 0 0 10px 0;
}
.blog-title h3 {
  display: inline-block;
  vertical-align: middle;
  font-weight: bold;
  color: #707070;
}
.blog-date {
  border: 1px solid #989898;
  padding: 3px;
  font-size: 12px;
  width: 100px;
  text-align: center;
  margin: 0 3px 20px auto;
}
.blog-body p {
  margin: 0 0 1em 0;
}.blog-body p:last-child,
.blog-body p:nth-last-child(2) {
  margin: 0;
}
.blog-img img {
  display: block;
  padding: 5px;
  margin: 1em 0 0 0;
  border: 1px solid #CCC;
  box-sizing: border-box;
}
/*-----------------------
お問合せ
-----------------------*/
#form {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
  height: 700px;
}
#form iframe {
  width:100%;
  height:100%;
  border:none;
  border-radius: 8px;
  background: #FFF;
}
#sp-form {
  display: none;
}
#page8 .title {
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 30px;
  color: #6493ce;
}
.number {
  font-size: 24px;
  text-align: center;
  font-weight: bold;
  color: #d54175;
}
@media screen and (max-width: 980px){
  #form  {
    display: none;
  }
  #sp-form {
    display: block;
  }
  #sp-form a {
    display: block;
    background: #ffc4b1;
    border-radius: 5px;
    width: 50%;
    margin: 0 auto;
    color: #444;
    font-weight: bold;
    font-size: 18px;
    box-sizing: border-box;
    text-decoration: none;
    text-align: center;
    padding: 25px 0;
  }
}
@media screen and (max-width: 768px){
  #sp-form a {
    width: 60%;
  }
}
@media screen and (max-width: 480px){
  #sp-form a {
    width: 70%;
  }
}
/*********************************************************
フッター
*********************************************************/
footer {
  background: #949494;
}
.pc-footer {
  max-width: 960px;
  margin: 0 auto;
  color: #FFF;
  padding: 20px 0;
}
.fbox1,
.fbox2,
.fbox3 {
  float: left;
  width: 32%;
  font-size: 12px;
}
.fbox1,
.fbox2 {
  margin-right: 2%;
}
.fbox2 .ftext {
  text-align: center;
}
.ftitle {
  background: #FFF;
  color: #666;
  font-size: 13px;
  text-align: center;
  font-weight: bold;
  padding: 9px 0;
  margin-bottom: 10px;
  border-radius: 5px;
}
.ftext {
  text-align: center;
}
.ftext ul {
  display: inline-block;
}
.pc-footer li {
  padding-bottom: 8px;
  text-align: left;
}
.pc-footer li i {
  padding: 0 5px 0 0;
}
.pc-footer li a {
  color: #FFF;
}
.finfo {
  text-align: center;
  background: #FFF;
  padding: 30px 0;
}
.flogo {
  margin-bottom: 15px;
}
.faddress {
  font-size: 12px;
  line-height: 1.5;
  margin-bottom: 15px;
}
.copy {
  font-size: 10px;
}
/*********************************************************
マップ
*********************************************************/
.ggmap {
  position: relative;
  padding-bottom: 40%;
  height: 0;
  overflow: hidden;
}
.ggmap iframe,
.ggmapr object,
.ggmap embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/*********************************************************
PageTopボタン
*********************************************************/
#page-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
}
#page-top a {
  background: #666;
  text-decoration: none;
  color: #fff;
  text-align: center;
  display: block;    
  opacity: 0.6;
  padding: 3px 0;
  /*角丸*/
  /*
  width: 50px;
  border-radius: 5px;
  */
  /*円*/
  vertical-align:middle;
  border-radius: 50%;
  height: 50px;
  width: 50px;
  box-sizing: border-box;
}
#page-top a:hover {
  text-decoration: none;
  background: #999;
  opacity: 1;
}
/*********************************************************
ローディング
*********************************************************/
#loading {
  width: 100%;
  height: 100%;
  margin: 0;
  background: #FFF;/*背景*/
  opacity: 1.0;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
}
#loading img {
  max-width: 24px;
  position:absolute;
  top:50%;
  left:50%;
  margin-top:-10px;/*画像の高さの半分マイナス*/
  margin-left:-10px;/*画像の幅の半分マイナス*/
}