@charset "UTF-8";
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0;
}
h1, h2, h3, h4, h5, h6, th {
  font-weight: 600;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
ul, ol {
  list-style: none;
}
fieldset, img {
  border: 0;
}
address, caption, cite, code, dfn, em, th, var {
  font-style: normal;
  font-weight: normal;
}


body {
	animation: fadein 1.5s forwards;
}

@keyframes fadein {
	0% {opacity: 0}
	100% {opacity: 1}
}

@media (min-width: 992px) {
  .container {
    width: 100%;
    max-width: 1200px;
  }
}
/* ===================
clearfix 
===================*/
.clearfix:after {
  visibility: hidden;
  height: 0;
  display: block;
  font-size: 0px;
  content: " ";
  clear: both;
}
* html .clearfix {
  zoom: 1;
}
*:first-child + html .clearfix {
  zoom: 1;
}
/* ===================
画像余白クリア
===================*/
img {
  font-size: 0;
  line-height: 0;
  vertical-align: top;
  height: auto;
}
/* ===================
ブレークポイント 
===================*/
/* ===================
共通変数 
===================*/
/* ===================
汎用クラス 
===================*/
.bold {
  font-weight: bold;
}
.red {
  color: red;
}
.flexBox {
  display: -webkit-box;
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  display: flex;
}
/* ===================
共通スタイル 
===================*/
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html {}
body {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-style: normal;
  font-weight: 300;
  font-size: 16px;
  letter-spacing: 0;
  line-height: 1.75;
  color: #333;
  -webkit-text-size-adjust: 100%;
}
#scareaOff {
  overflow: hidden;
}
@media print, screen and (min-width: 992px) {
  body {
    font-size: 18px;
  line-height: 2;
  }
}
/* ===================
リンク
===================*/
a {
  outline: none;
  cursor: pointer;
}
a:link {
  text-decoration: none;
}
a:visited {
  text-decoration: none;
}
a:hover {
  text-decoration: none;
}
a:active {
  text-decoration: none;
}
a:hover img {
  opacity: 0.7;
}
/* ===================
ヘッダー
===================*/
@media print, screen and (min-width: 992px) {
  .header.sp {
    display: none;
  }
  .header.pc {
    max-width: 100%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    padding: 15px 0;
  }
  .logo {
    padding: 10px 20px;
    display: inline-block;
  }
  nav {
    margin-left: auto;
    font-size: 1em;
    font-weight: 600;
  }
  nav ul {
    display: flex;
  }
  nav ul li {
    padding: 10px 20px;
    position: relative;
  }
  ul {
    padding: 0;
    margin: 0;
    list-style: none;
  }
  a {
    color: #333;
    text-decoration: none;
  }
  nav a {
    outline: none;
    cursor: pointer;
  }
  nav a:link {
    text-decoration: none;
    color: #1BA086;
  }
  nav a:visited {
    text-decoration: none;
    color: #1BA086;
  }
  nav a:hover {
    text-decoration: none;
    color: #1BA086;
  }
  nav a:active {
    text-decoration: none;
    color: #1BA086;
  }
  nav {
    margin-left: auto;
  }
  nav .Item {
    text-decoration: none;
  }
  nav .Item-Text {
    position: relative;
    z-index: 1;
  }
  nav .Item-Text:after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -10px; /*テキストからの距離*/
    width: 0%; /*初期状態では下線非表示*/
    height: 1px; /*下線の高さ*/
    background: #1BA086; /*下線の色*/
    z-index: -1;
    transition: all 0.5s; /*アニメーション速度*/
  }
  nav .Item:hover .Item-Text:after {
    width: 100%; /*hover時に表示*/
  }
  nav a.netreserve {
    color: crimson;
  }
  nav a.netreserve .Item-Text:after {
    background: crimson; /*下線の色*/
  }
  nav a.netreserve::before {
    background-image: url("../images/common/colender.svg");
    content: "";
    margin-right: 0.625rem;
    display: inline-block;
    width: 2rem;
    height: 2rem;
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
    transform: translateY(3px);
  }
  nav a.netreserve:hover:before {
    transform: scale(1.2);
  }
  /* Submenu */
  header ul li ul {
    position: absolute;
    top: 25px;
    left: 0;
    width: 170px;
    padding: 0px;
  }
  header ul li ul li {
    display: inline-flex;
    padding: 0px;
    width: 300px;
    border-top: 1px solid #CCC;
    line-height: 1.6;
    font-size: 0.9em;
  }
  header ul li ul li a {
    background-color: #efefef;
    color: #333;
    width: 100%;
    padding: 15px;
  }
  header ul li ul li a:link {
    color: #333;
  }
  header ul li ul li a:visited {
    color: #333;
  }
  header ul li ul li a:hover {
    color: #333;
  }
  header ul li ul li a:active {
    color: #333;
  }
  header ul li ul li a:hover {
    background-color: #ddd;
  }
  header ul li ul {
    display: block;
    opacity: 0;
    transition: 1s all;
  }
  header ul li:hover ul {
    display: block;
    opacity: 1;
    transform: translateY(20px);
	  z-index: 2;
  }
}
/* ===================
スマホヘッダー
===================*/
header.pc {
  display: none;
}
header.sp {
  display: flex;
}
.container.head {
  padding: 0;
  margin: 0;
}
header.sp .logo img {
  width: 230px;
  margin-top: 20px;
  margin-left: 10px;
}
@media print, screen and (min-width: 992px) {
  .container.head {
    margin-right: auto;
    margin-left: auto;
  }
}
header .hamburger-menu {
  width: 100%;
  height: 80px;
  background-color: #FFF;
  position: fixed;
  z-index: 101;
  border-bottom: 1px solid #EEE;
}
.menu-content ul {
  height: 80%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 50px;
}
.menu-btn {
  position: fixed;
  top: 10px;
  right: 10px;
  display: flex;
  height: 60px;
  width: 60px;
  justify-content: center;
  align-items: center;
  z-index: 90;
  background-color: #1ba086;
  border-radius: 5px;
}
.menu-btn span, .menu-btn span:before, .menu-btn span:after {
  content: '';
  display: block;
  height: 3px;
  width: 25px;
  border-radius: 3px;
  background-color: #ffffff;
  position: absolute;
}
.menu-btn span:before {
  bottom: 8px;
}
.menu-btn span:after {
  top: 8px;
}
#menu-btn-check:checked ~ .menu-btn span {
  background-color: rgba(255, 255, 255, 0); /*メニューオープン時は真ん中の線を透明にする*/
}
#menu-btn-check:checked ~ .menu-btn span::before {
  bottom: 0;
  transform: rotate(45deg);
}
#menu-btn-check:checked ~ .menu-btn span::after {
  top: 0;
  transform: rotate(-45deg);
}
#menu-btn-check {
  display: none;
}
.menu-content {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 80;
  background-color: #1ba086;
  padding-top: 30px;
}
.menu-content ul {
  padding: 0px 10px 80px;
}
.menu-content ul li {
  border-bottom: solid 1px #ffffff;
  list-style: none;
}
.menu-content ul li .category_title {
  color: #FFF;
  text-decoration: none;
  padding: 9px 15px 10px 0;
  position: relative;
  display: block;
}
.menu-content .modalmenu_top.noimg a {
  display: block;
  width: 90%;
  padding: 15px;
  background-color: #FFF;
  text-align: center;
  font-weight: 600;
  margin: 40px auto 20px;
  border-radius: 5px;
}
.menu-content .modalmenu_top.noimg a::before {
  content: "";
  width: 10px;
  height: 10px;
  border-top: solid 2px #337ab7;
  border-right: solid 2px #337ab7;
  transform: rotate(45deg);
  position: absolute;
  right: 9%;
  top: 77px;
}
.menu-content .modalmenu_top img {
  max-width: 400px;
  width: 90%;
  margin: 0 auto 20px;
  display: block;
}
.menu-content ul li a {
  display: block;
  width: 100%;
  font-size: 15px;
  box-sizing: border-box;
  color: #ffffff;
  text-decoration: none;
  padding: 9px 15px 10px 0;
  position: relative;
}
.menu-content ul li a::before {
  content: "";
  width: 7px;
  height: 7px;
  border-top: solid 2px #ffffff;
  border-right: solid 2px #ffffff;
  transform: rotate(45deg);
  position: absolute;
  right: 11px;
  top: 16px;
}
.menu-content {
  overflow: auto;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 80px;
  left: 100%; /*leftの値を変更してメニューを画面外へ*/
  z-index: 80;
  background-color: #1ba086;
  transition: all 0.5s; /*アニメーション設定*/
}
#menu-btn-check:checked ~ .menu-content {
  left: 0; /*メニューを画面内へ*/
}
/* ===================
コンテンツ
===================*/
#top_img {
  margin-top: 80px;
  width: 100%;
  display: flex;
  height: 300px;
  background-color: #EEE;
  max-width: 100%;
  margin: 80px auto 0;
}
#top_img.about {
  background: url("../images/about_bg.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
#top_img.reserve {
  background: url("../images/reserve_bg.png?2023051601");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
#top_img.sanka {
  background: url("../images/sanka_bg.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
#top_img.hujinka {
  background: url("../images/hujinka_bg.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
#top_img.news {
  background: url("../images/news_bg.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
#top_img.about {
  background: url("../images/about_bg.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

#content h2 {
  margin-bottom: 25px;
  letter-spacing: 1px;
  text-align: center;
  font-size: 20px;
  padding: 30px;
  background: url("../images/common/h2_line.jpg") bottom repeat-x;
}
#content h3 {
  margin-top: 30px;
  margin-bottom: 30px;
  padding: 20px 25px;
  background-color: #1ba086;
  border-radius: 5px;
  font-size: 20px;
  color: #fff;
  width: 100%;
  display: inline-block;
}
#content h4 {
  margin-top: 0;
  margin-bottom: 15px;
  padding: 15px 20px;
  border: 1px solid #F791C2;
  border-radius: 5px;
  width: 100%;
  display: inline-block;
  line-height: 100%;
  font-size: 16px;
}
#content h5 {
  margin-top: 25px;
  margin-bottom: 15px;
  padding: 15px;
  border-top: 1px solid #333;
  border-bottom: 1px solid #333;
  width: 100%;
  display: inline-block;
  font-size: 16px;
}
.bnr img {
  width: 100%;
  max-width: 800px;
  display: block;
  margin: 15px 0;
}
p.index_bnr img {
width: 100%;
  display: block;
  margin: 30px auto;
	max-width: 900px;
}


#content ul {
  margin-bottom: 20px;
}
#content ul li {
  line-height: 165%;
  text-indent: -16px;
  margin-left: 16px;
}

iframe.info_mark{
	height: 200px;
}

.cat_nav_box{
	width: 100%;
	overflow: auto;
}

#content ul.cat_nav {
	display: flex;
	align-items: stretch;
    justify-content: space-between;  /* 横の位置指定 */
	flex-direction: row;
    min-width: 300px;
    max-width: 300px;
    font-size: 14px;
    margin: 0 auto 30px;
}

#content ul.cat_nav li {
  line-height: 150%;
  text-indent: 0;
  margin-left: 0;
	text-align: center;
	min-width: 90px;
	margin-right: 8px;
}

#content ul.cat_nav li:last-child{
	margin-right: 0;
}

#content ul.cat_nav li a{
	padding: 10px 15px;
	background-color: #EEE;
	display: block;
}

.index_content{
max-width: 1000px;
    margin: 0 auto;
}

.row.index_row{
	padding-top: 20px;
	padding-bottom: 20px;
}


.row.index_row.low{
	padding-top: 0;
	padding-bottom: 20px;
}



.row.index_row .circle_content{
    display: grid;
    color: #333;
    background-image: url("../images/common/circle_bg2.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: auto;
    width: 240px;
    height: 240px;
    border-radius: 50%;
    text-align: center;
    align-content: center;
	font-weight: 600;
	font-size: 20px;
	margin: 0 auto;
	transition-duration: 1s, 500ms;
    transition-property: background-color, font-size , border;
	line-height: 150%;
	border: 10px solid #EEF;
}

.row.index_row .circle_content:hover{
	font-size: 120%;
	cursor: pointer;
	border: 10px solid #EEF;
}



.row.index_row.low .circle_content.left{
	float: none;
	margin: 0 auto;
}

.row.index_row.low .circle_content.right{
	float: none;
	margin: 0 auto;
	}

.index_pc_circle{
	display: none;
}

.index_sp_circl{
	display: block;
}

.index_sp_circle img{
	max-width: 240px;
	text-align: center;
	display: block;
	margin: 0 auto;
}

table.callender.about {
    width: 100%;
    border: 2px solid #DDD;
    border-bottom: none;
    background-color: #FFF;
    border-right: none;
    margin: 0 0 20px 0;
    padding: 0;
  }
table.callender.about td {
    padding: 10px;
    border-bottom: 2px solid #CCC;
    border-right: 2px solid #CCC;
    text-align: center;
    color: coral;
  }
table.callender.about td.day {
    font-weight: 600;
    color: #333;
  }
table.callender.about td.wend {
    background-color: #fbeaea;
    color: #333;
  }
table.callender.about td.star {
    font-weight: 600;
    color: crimson;
  }
table.callender.about td.time {
    font-weight: 600;
    color: #333;
  }


@media print, screen and (min-width: 992px) {

.index_pc_circle{
	display: block;
}
	
	.index_sp_circle{
		display: none;
	}
	
iframe.info_mark{
	height: 140px;
}

table.callender.about {
  width: 100%;
	max-width: 1000px;
  border: 2px solid #DDD;
  border-bottom: none;
  background-color: #FFF;
  border-right: none;
  margin: 20px 0 30px;
  padding: 0;
}
.flowbox {
  overflow-x: auto; /* tableタグのはみ出た要素を隠す */
  white-space: nowrap; /* テキストの折り返しなし */
}
table.callender.about td {
  padding: 10px;
  border-bottom: 2px solid #CCC;
  border-right: 2px solid #CCC;
  text-align: center;
  color: coral;
}
table.callender.about td.day {
  font-weight: 600;
  color: #333;
}
table.callender.about td.wend {
  background-color: #fbeaea;
  color: #333;
}
table.callender.about td.star {
  font-weight: 600;
  color: crimson;
}
table.callender.about td.time {
  font-weight: 600;
  color: #333;
}
	
table.normal.about {
	max-width: 1000px;
	margin: 0 auto;
	}

	
  #top_img {
    margin-top: 0;
    width: 100%;
    display: block;
    height: 500px;
    background-color: #EEE;
    max-width: 1200px;
    margin: auto;
  }
	
.row.index_row.low .circle_content.left{
	float: right;
	margin-right: 40px;
}

.row.index_row.low .circle_content.right{
	float: left;
	margin-left: 40px;
}


  #content h2 {
    margin-bottom: 25px;
    letter-spacing: 2px;
    text-align: center;
    font-size: 2.8rem;
    padding: 30px;
    background: url("../images/common/h2_line.jpg") bottom repeat-x;
  }
  #content h3 {
    margin-top: 30px;
    margin-bottom: 15px;
    padding: 20px 25px;
    background-color: #1ba086;
    border-radius: 5px;
    font-size: 2.4rem;
    color: #fff;
    width: 100%;
    display: inline-block;
    letter-spacing: 1px;
  }
  #content h4 {
    margin-top: 10px;
    margin-bottom: 15px;
    padding: 15px 20px;
    border: 1px solid #F791C2;
    border-radius: 5px;
    width: 100%;
    display: inline-block;
    line-height: 100%;
    font-size: 2rem;
  }
  #content h5 {
    margin-top: 25px;
    margin-bottom: 15px;
    padding: 15px;
    border-top: 1px solid #000;
    border-bottom: 1px dotted #000;
    width: 100%;
    display: inline-block;
    font-size: 1.8rem;
  }
	#content ul {
		padding: 10px;
		margin-bottom: 20px;
	}

#content ul li {
  text-indent: -16px;
  margin-left: 16px;
	line-height: 175%;
  }
}

@media print, screen and (max-width: 501px) {

table.callender.about {
	font-size: 9px;
  }
table.callender {
	font-size: 9px;
  }
}
	
#sride_img img{
	width: 100%;
	display: block;
	}

#sride_img {
	margin-top: 80px;
}

@media print, screen and (min-width: 992px) {
	
#sride_img {
  width: 100%;
  display: block;
  height: auto;
  background-color: #EEE;
  max-width: 100%;
  margin: 0 auto 30px;
	max-width: 1300px;
}
}

#sride_img img{
	width: 100%;
	display: block;
	}

ol#breadcrumb {
  margin-top: 10px;
}
ol#breadcrumb li {
  display: inline-block;
  font-size: 1.2rem;
}
ol#breadcrumb li a {
  color: #1BA086;
}
ol#breadcrumb li a:link {
  color: #1BA086;
}
ol#breadcrumb li a:visited {
  color: #1BA086;
}
ol#breadcrumb li a:hover {
  color: #1BA086;
}
ol#breadcrumb li a:active {
  color: #1BA086;
}
ol#breadcrumb li a:hover {
  text-decoration: underline;
}
ol#breadcrumb li:before {
  margin: 0 8px;
  content: ">";
  color: #000;
}
ol#breadcrumb li:first-child:before {
  margin: 0;
  content: '';
}
#content {
  margin-top: 30px;
}
#content .wrap_contents {
  margin-bottom: 30px;
  overflow: hidden;
}
#content .button_green {
  display: block;
  margin: 30px auto;
  width: 100%;
  max-width: 500px;
  padding: 15px;
  text-align: center;
  background-color: #1BA086;
  color: #fff;
  font-size: 1.8rem;
  font-weight: bold;
}
#content .button_green:hover {
  text-decoration: none;
  opacity: 0.7;
}
#content p {
  margin-bottom: 15px;
  padding: 0 10px;
}
#content .faq p {
  margin-bottom: 15px;
  margin-left: 45px;
  text-indent: -30px;
}
#content .arrow_box {
  border: #E0E8FE 7px solid;
  padding: 0 20px 0 20px;
  width: 100%;
}
#content .arrow_box h4 {
  margin-top: 20px;
}

#content .flowbox {
  overflow-x: auto; /* tableタグのはみ出た要素を隠す */
  white-space: nowrap; /* テキストの折り返しなし */
}
#content table.normal {
  width: 100%;
  border: 2px solid #DDD;
  border-bottom: none;
  background-color: #FFF;
  border-right: none;
  margin: 10px 0 40px 0;
  padding: 0;
}

#content table.normal.about {
	margin: 30px 0 30px;	
}
#content table.normal th {
  padding: 10px;
  border-bottom: 2px solid #CCC;
  border-right: 2px solid #CCC;
  text-align: center;
  float: none;
  width: auto;
  margin: 0;
  font-weight: 600;
  width: 230px;
}

#content table.normal.about th{
	width: 50%;
		text-align: left;

}

#content table.normal.about td {
	width: 50%;
	text-align: left;
}


#content table.normal td {
  padding: 10px;
  border-bottom: 2px solid #CCC;
  border-right: 2px solid #CCC;
  text-align: left;
  float: none;
  width: auto;
}
#content table.normal tr:nth-child(odd) {
  background-color: #EEE;
}
@media print, screen and (max-width: 991px) {
	
#content table.normal.about th{
	width: auto;
	text-align: left;
}

#content table.normal.about td {
	width: auto;
	text-align: left;
}	
  #content table.normal tr:nth-child(odd) {
  }
  #content .flowbox {
    overflow-x: auto; /* tableタグのはみ出た要素を隠す */
    white-space: normal; /* テキストの折り返しなし */
  }
  #content table.normal {
  }
  #content table.normal th {
	  width: auto;
	  min-width: 150px;

  }
  #content table.normal td {
	  width: auto;

  }
  #content img.w_cal {
    text-align: center;
    margin: 0 auto;
    display: block;
    width: 100%;
    max-width: 350px;
  }
}

  #content img.w_cal {
    text-align: center;
    margin: 0 auto;
    display: block;
    width: 100%;
    max-width: 350px;
  }
/* ===================
サイドバー
===================*/
aside nav dl {
  margin-bottom: 15px;
}
aside nav dt img {
  width: 100%;
}
aside nav dd {
  border-bottom: 1px dotted #000;
}
aside nav dd a {
  display: block;
  padding: 10px 5px;
  width: 100%;
  height: 100%;
}
aside nav dd a:hover {
  background-color: #eee;
  text-decoration: none;
}
aside nav dd a:before {
  content: url("../images/common/sile_link_icon.png");
  margin-right: 10px;
  vertical-align: middle;
}
.side_info {
  width: 100%;
  border: 2px solid #1BA086;
  border-radius: 5px;
}
.side_info img {
  display: block;
  margin-top: 10px;
  width: 100%;
  height: auto;
}
.side_info p {
  margin: 10px;
}
.side_info .gmap {
  margin-bottom: 10px;
  text-align: center;
}
.side_info iframe {
  width: 90%;
  height: auto;
}
/* ===================
フッター
===================*/
footer {
  margin-top: 30px;
}
footer .ft_bottom {}
footer .wrap_contents {
  margin: 0;
  padding: 15px;
}
footer h3 {
  font-size: 20px;
  margin-bottom: 0;
}
footer p.sub_text {
  margin: 0 0 15px 0;
}
footer p img {
  width: 100%;
  padding: 20px 0;
}
footer table.callender {
  width: 100%;
  border: 2px solid #DDD;
  border-bottom: none;
  background-color: #FFF;
  border-right: none;
  margin: 20px 0 0 0;
  padding: 0;
}
footer .flowbox {
  overflow-x: auto; /* tableタグのはみ出た要素を隠す */
}
footer table.callender td {
  padding: 10px;
  border-bottom: 2px solid #CCC;
  border-right: 2px solid #CCC;
  text-align: center;
  color: coral;
}
footer table.callender td.day {
  font-weight: 600;
  color: #333;
}
footer table.callender td.wend {
  background-color: #fbeaea;
  color: #333;
}
footer table.callender td.star {
  font-weight: 600;
  color: crimson;
}
footer table.callender td.time {
  font-weight: 600;
  color: #333;
}
footer .footer_info {
  padding-top: 50px;
  padding-bottom: 50px;
  background-color: #EEE;
  border-bottom: 1px solid #FFF;
  border-top: 1px solid #FFF;
}
footer .flex_box_list {
  display: none;
}
footer .felx_box_top {
  text-align: center;
  padding: 50px 0;
}
footer .felx_box_top img {
  max-width: 300px;
  padding: 20px;
}
footer address {
  margin-bottom: 0;
}
.copy_right {
  text-align: center;
  padding: 20px 10px;
  background-color: #1ba086;
  color: #FFF;
}
@media print, screen and (min-width: 992px) {
  footer {
    padding-bottom: 50px;
    border-top: 2px solid #CCC;
  }
  footer .ft_bottom {
    display: block;
  }
  footer .flex_box_list {
    display: block;
  }
  footer .felx_box_top {
    text-align: left;
    padding: 0;
  }
  footer .felx_box_top img {
    max-width: 300px;
    padding: 0;
  }
  footer .wrap_contents {
    margin: 0;
    padding: 0;
  }
  footer h3 {
    font-size: 2.3rem;
    margin-bottom: 25px;
  }
  footer p.sub_text {
    margin: 50px 0 50px 50px;
  }
  footer p img {
    width: 100%;
    padding: 0 20px 20px 0px;
  }
  footer table.callender {
    width: 100%;
    border: 2px solid #DDD;
    border-bottom: none;
    background-color: #FFF;
    border-right: none;
    margin: 0 0 50px 0;
    padding: 0;
  }
  footer table.callender td {
    padding: 10px;
    border-bottom: 2px solid #CCC;
    border-right: 2px solid #CCC;
    text-align: center;
    color: coral;
  }
  footer table.callender td.day {
    font-weight: 600;
    color: #333;
  }
  footer table.callender td.wend {
    background-color: #fbeaea;
    color: #333;
  }
  footer table.callender td.star {
    font-weight: 600;
    color: crimson;
  }
  footer table.callender td.time {
    font-weight: 600;
    color: #333;
  }
  footer .footer_info {
    padding-top: 50px;
    padding-bottom: 50px;
    background-color: #EEE;
    border-bottom: 1px solid #FFF;
    border-top: 1px solid #FFF;
  }
  footer .ft_bottom {
    padding-top: 50px;
  }
  footer h1 {
    font-size: 2.5rem;
    line-height: 100%;
    margin-top: 5px;
  }
  footer address {
    font-weight: 300;
    margin-top: 20px;
    margin-bottom: 5px;
    font-size: 1.5rem;
  }
  footer p.phone {
    font-size: 1.5rem;
  }
  footer a {
    color: #333;
    transition: color 1s;
  }
  footer a:link {}
  footer a:hover {
    color: crimson;
  }
  footer a:visited {}
  footer a:active {}
  footer ul li {
    font-size: 1.4rem;
    font-weight: 600;
    margin-bottom: 5px;
    letter-spacing: 0;
  }
  footer .row {
    display: flex;
    padding: 0 15px;
  }
  footer .row .flex_box_list {
    margin-left: auto;
  }
  footer .row .flex_box_list .flex_item {
    display: inline-flex;
    margin-left: 30px;
  }
  footer a {
    text-decoration: none;
  }
  footer .Item-Text {
    position: relative;
    z-index: 1;
  }
  footer .Item-Text:after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -5px; /*テキストからの距離*/
    width: 0%; /*初期状態では下線非表示*/
    height: 1px; /*下線の高さ*/
    background: #DC143C; /*下線の色*/
    z-index: -1;
    transition: all 0.5s; /*アニメーション速度*/
  }
  footer a:hover .Item-Text:after {
    width: 100%; /*hover時に表示*/
  }
  footer .Item-Text.nest {
    font-weight: 600;
  }
  footer p.logo {
    padding: 0;
    margin-top: 20px;
  }
}
#content.index .flexBox {
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
}
#content.index aside {
  -webkit-order: 2;
  /* Safari */
  order: 2;
}
#content.index .wrap_contents2 {
  -webkit-order: 1;
  /* Safari */
  order: 1;
}
@media print, screen and (min-width: 992px) {
  #content.index .row.flexBox {
    display: block;
  }
  #content.index ul.flexBox {
    margin-top: 30px;
    -webkit-flex-wrap: wrap;
    /* Safari */
    flex-wrap: wrap;
    -webkit-justify-content: space-around;
    /* Safari */
    justify-content: space-around;
  }
  #content.index ul.flexBox li {
    margin: 10px 10px;
  }
  #content.index ul.flexBox li a {
    display: block;
    width: 100%;
    height: 100%;
  }
  #content.index ul.flexBox li a img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
  }
}
@media print, screen and (min-width: 992px) {
  #content.index ul.flexBox {
    -webkit-flex-wrap: nowrap;
    /* Safari */
    flex-wrap: nowrap;
  }
}
#content.index .info_motherClass h3 {
  margin: 50px 0;
  background-color: inherit;
  padding: inherit;
}
#content.index .info_motherClass h3:before {
  content: none;
}
#content.index .info_motherClass h3 img {
  width: 100%;
  max-width: 449px;
  height: auto;
}
#content.index .info_motherClass ul {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
}
#content.index .info_motherClass ul li {
  width: 100%;
  padding: 15px;
  height: auto;
}
#content.index .info_motherClass ul li a {
  display: block;
  width: 100%;
  height: auto;
}
#content.index .info_motherClass ul li a img {
  display: block;
  width: 100%;
  height: auto;
}
@media print, screen and (min-width: 992px) {
  #content.index .info_motherClass ul li {
    width: 33%;
    padding: 15px;
  }
}
#content.index .info_fujin p {
  text-align: center;
  line-height: 1.75;
}
#content.index .info_fujin p:last-child {
  color: #1BA086;
  font-size: 2rem;
}
#content.index .info_fujin p:last-child img {
  margin: 15px 0;
}
#content .news_box {
  max-width: 100%;
  margin: 0 auto;
  background-color: #FFF;
	padding: 0 10px;
}
#content .news_box p.category {
  font-size: 12px;
  border: #1ba086 1px solid;
  background-color: #FFF;
  color: #1ba086;
  font-weight: 600;
  border-radius: 5px;
  display: inline-block;
	margin-bottom: 10px;
	float: none;
	text-align: center;
	min-width: 80px;
}
#content .news_box p.date {
  font-size: 14px;
  font-weight: 600;
  margin-right: 10px;
  line-height: 100%;
margin-top: 7px;
    margin-bottom: 10px;
    float: left;
}
#content .news_box p.title {
  font-weight: 600;
  font-size: 16px;
  border-bottom: 1px solid #CCC;
  padding-bottom: 10px;
line-height: 150%;
}
#content .news_box img {
  max-width: 100%;
  margin-bottom: 10px;
}
#content.news h2 {
  margin-bottom: 20px;
}
#content.news h3 {
  margin-top: 0;
  margin-bottom: 20px;
}

  #content.news a {
    color: #333;
    transition: color 0.5s;
  }
  #content.news a:link {}
  #content.news a:hover {
    color: crimson;
  }
  #content.news a:visited {}
  #content.news a:active {}

#content .newsdetail_box p.date{
	font-weight: 600;
	fpmt-size:80%;
	width: 100%;
	background-color: #EEE;
	padding: 10px 20px;
	margin-bottom: 30px;
}

#content.news .newsdetail_box h3{
	margin-bottom: 10px;
}


@media print, screen and (min-width: 992px) {
  #content .news_box {
    max-width: 991px;
    margin: 0 auto 0;
    background-color: #FFF;
    padding: 0 20px 10px 20px;
  }
  #content .news_box p.category {
    font-size: 13px;
    border: #1ba086 1px solid;
    background-color: #FFF;
    color: #1ba086;
    font-weight: 600;
    border-radius: 5px;
    display: inline-block;
	  float: left;
	  text-align: center;
	  min-width:80px;
  }
  #content .news_box p.date {
    font-size: 15px;
    float: left;
    font-weight: 600;
    margin-right: 15px;
    line-height: 100%;
    margin-top: 6px;
  }
  #content .news_box p.title {
    font-weight: 600;
    font-size: 2rem;
    border-bottom: 1px solid #CCC;
    padding-bottom: 10px;
  }
  #content .news_box img {
    max-width: 100%;
    margin-bottom: 10px;
  }
  #content.news h3 {
    margin-top: 0;
    margin-bottom: 40px;
  }
}
#content table p {
  margin: 0;
  padding: 0;
}
.row .staff img {
  width: 100%;
  display: block;
  max-width: 400px;
  margin: 0 auto;
}
.row .staff p {
  text-align: center;
}
@media print, screen and (min-width: 992px) {
  .row .staff img {
    width: 100%;
    display: block;
    max-width: 100%;
  }
}
.title_a {
  position: relative;
  font-weight: bold;
  line-height: 130%;
  margin-bottom: 10px;
  padding: 10px;
  padding-left: 30px;
  color: #FF0004;
  padding-top: 9px;
}
.title_a:before {
  content: '';
  border-radius: 30px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  height: 12px;
  width: 12px;
  display: block;
  position: absolute;
  top: 13px;
  left: 5px;
  background-color: #FFBCBD;
  box-shadow: 0 0 2px 2px rgba(255, 255, 255, 0.2) inset
}
input.wpcf7-form-control.wpcf7-submit {
  padding: 12px 20px;
  width: 200px;
  margin: 0 auto;
  display: block;
}
input, button, select, textarea {
  font-family: inherit;
  font-size: inherit;
  max-width: 100%;
  line-height: inherit;
  width: 100%;
  padding: 10px;
}
label {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 5px;
  font-weight: 700;
  width: 100%;
}
.wpcf7-not-valid-tip {
  color: red;
}
.screen-reader-response ul {
  display: none;
}
.yoyaku_box {
  width: 49%;
  display: inline-block;
}
.yoyaku_box.left_box {
  float: left;
  margin-right: 1%;
}
.yoyaku_box.right_box {
  float: right;
  margin-left: 1%;
}
.yoyaku_box .yoyaku-title {
  width: 100%;
  padding: 13px 7px 9px;
  text-align: center;
  background-color: #F21E8C;
  font-weight: bold;
  color: #FFF;
  font-size: 22px;
  line-height: 110%;
}
.yoyaku_box .yoyaku-title .small {
  font-size: 15px;
}
.yoyaku_box .yoyaku-text {
  background-color: #FFFEEC;
  padding: 25px 20px 10px 20px;
  font-size: 16px;
}
#content .yoyaku_box .yoyaku-text ul li {
  text-indent: -28px;
  margin-left: 28px;
  margin-bottom: 20px;
  line-height: 165%;
}
.button_frame {
  width: 100%;
  display: flex;
}
.yoyaku_button {
  text-align: center;
  background-color: #1ba086;
  font-size: 18px;
  color: #fff;
  width: 100%;
  max-width: 500px;
  display: table;
  margin: 30px auto 30px;
  border-radius: 5px;
}
.yoyaku_button a {
  padding: 20px;
  display: inline-block;
  width: 100%;
  height: auto;
  color: #FFF;
  font-weight: bold;
  border-radius: 5px;
transition-duration: 1s, 500ms;
    transition-property: background-color, font-size;
}
.yoyaku_button a:link{
  color: #FFF;
}
.yoyaku_button a:hover{
  color: #FFF;
	background-color: #FFA9C1;
	font-size: 22px;
}
.yoyaku_button a:active{
  color: #FFF;
}
.yoyaku_button a:visited{
  color: #FFF;
}
#content.news .yoyaku_button a{
  color: #FFF;
transition-duration: 1s, 500ms;
    transition-property: background-color, font-size;
}
#content.news .yoyaku_button a:link{
  color: #FFF;
}
#content.news .yoyaku_button a:hover{
  color: #FFF;
	background-color: #FFA9C1;
	font-size: 22px;
}
#content.news .yoyaku_button a:active{
  color: #FFF;
}
#content.news .yoyaku_button a:visited{
  color: #FFF;
}



.bold {
  font-weight: bold;
}
.center_box {
  text-align: center;
}
.link_text a {
  color: blue;
  font-weight: bold;
}

@media print, screen and (min-width: 992px) {
#content ul.list_box {
  background-color: #EEE;
  padding: 20px 20px 10px 20px;
}
#content ul.list_box li {
  text-indent: -15px;
  margin-left: 15px;
  margin-bottom: 10px;
  line-height: 165%;
}}

ul.list_box {
  background-color: #EEE;
  padding: 20px 20px 5px 20px;
}
ul.list_box li {
  text-indent: -15px;
  margin-left: 15px;
  margin-bottom: 10px;
  line-height: 150%;
}
ul.ul_base {
  text-indent: -15px;
  margin-left: 15px;
  margin-bottom: 10px;
}
table.app {
  margin: 30px auto;
}
table.app td {
  padding: 7px;
}
table.app td img {
  max-width: 100%;
}
@media print, screen and (max-width: 767px) {
  .yoyaku_box {
    width: 100%;
    display: inline-block;
  }
  .yoyaku_box.left_box {
    float: left;
    margin-right: 0;
    margin-bottom: 30px;
  }
  .yoyaku_box.right_box {
    float: left;
    margin-left: 0;
  }
  aside {
    display: none;
  }
  footer .list-group-item li {
    line-height: 150%;
  }
  header .h_tel {
    display: none;
  }
}


/* Pager style（外部化可） */
.pager{
	text-align:center;
	clear:both;
 white-space: nowrap;
	overflow-x: auto;
	margin: 0 auto;
	 
}

#content p.pager{
	margin-bottom: 40px;
	padding: 10px 0;
}


/*ページャーボタン*/
.pager a{
    border: 1px solid #CCC;
    border-radius: 5px 5px 5px 5px;
    color: #333;
    font-size: 14px;
    padding: 8px 12px 8px;
    text-decoration: none;
	margin:0 5px;
	font-weight: 600;
}

/*現在のページのボタン*/
.pager a.current{
    background: #DDD;
    border: 1px solid #CCC;
    border-radius: 5px 5px 5px 5px;
    color: #fff;
    font-size: 14px;
    padding: 8px 12px 8px;
	margin:0 5px;
    text-decoration: none;
}

.pager a:hover{
    background:#DDD;
    color: #fff;
}

.overPagerPattern{
	padding:0 2px ;	
}