@charset "utf-8";
body,h1,h2,h3,p,ul,a,dl,dt,dd,tr,th,td{
  margin: 0;
  padding: 0;
  color: color: #343333;;
}

ul{
  list-style: none;
  display: flex;
}

img{
  vertical-align: bottom;
  border: none;
}

a{
  text-decoration: none;
  color: #343333;
  display: block;
}
h2{
  border-bottom:4px solid #38b48b;
  margin-bottom: 30px;
}

section{
  margin-bottom: 50px;
}

/* header */
header{
  width: 1000px;
  padding: 10px 20px 30px;
  margin: 0 auto;
  display: flex;
}

header .tel{
  margin-left: auto;
}

header img{
  margin-left: 10px;
}

/* nav */
nav{
  border-bottom: 10px solid #38b48b;
}

nav ul{
  width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
  font-size: 1.25em;
  font-weight: bold;
  justify-content: space-between;
}

nav li a{
  display: block;
  position: relative;
}

nav li{
  margin-bottom: 5px;
}

nav li a:hover{
  color: #e95464;
}

nav a li::after{
  content: "";
  position: absolute;
  left: 10%;
  /*線の形状*/
  width: 120%;
  height: 10px;
  background:#e95464;
  /*アニメーションの指定*/
  transition: all .3s;
  transform: scale(0, 1);/*X方向0、Y方向1*/
  transform-origin: center top;/*上部中央基点*/
}

nav li a::after {
    transform: scale(1, 1);/*X方向にスケール拡大*/
}

/* main-image */
.main-image img{
  width: 100%;
  height: ;
}

.main-image p{
  font-size: 1.625em;
  text-align: center;
  color: #05402c;
  margin: 30px 0 110px;
}

/* 2カラム */
.content{
  width: 1110px;
  display: flex;
  margin: 0 auto;
}

.left-content{
  width: 750px;
  padding-left: 20px;
  margin: 0 auto;
}

.right-content{
  width: 300px;
  padding:0 20px;
  margin-top: -60px;
}

/* 施設見学 */
.sec1{
  display: flex;
  position: relative;
}

.sec1 img{
  position: absolute;
  margin-top: -60px;
}

.sec1 .text{
  background: #cfe4dd;
	padding: 10px 20px 30px 390px;
	margin-left: 45px;
}

.sec1 .text h2{
  text-align: center;
  border-bottom: none;
}

.sec1 .text p{
  margin-bottom: 1em;
}

.sec1 .text .reservation_form{
  border: 3px solid #e95464;
  border-radius: 5px;
  padding: 10px;
  text-align: center;
}

/* スケジュール */
.training{
  margin-bottom: 30px;
}

.sec2 p{
  margin-left: 40px;
}

.sec2 table{
  border-collapse: collapse;
  margin: 0 20px;
  width: 94%;
}

.sec2 th,td{
  border: 1px solid #343333;
  padding: 7px 0;
  text-align: center;
}

.sec2 .next-week{
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  background-color: #e6e4e4;
}

.sdw{
  width: 11%;
}

.autumn_festival{
  background-color: #f9a717;
}

.functional_training{
  background-color: #53da45;
}

/* 最新のお知らせ */
.sec3 h2{
  margin-bottom: 0;
}

.sec3 dl{
  width: 100%;
}

.sec3 dt{
  float: left;
  width: 20%;
}

.sec3 dt,dd{
  padding: 25px 0 25px 15px;
}

.sec3 dt:nth-last-of-type(odd),dd:nth-last-of-type(odd){
  background-color: #cfe4dd;
}

/* 電話でのお問合せ２ */
.tel2{
  text-align: center;
  margin-bottom: 50px;
}

/* right content */
.right-content .info{
  margin: 20px;
}

.info h3{
  margin-bottom: 1.125em;
  text-align: center;
}

.info p{
  margin-bottom: 1em;
}

.banner p{
  margin-bottom: 20px;
}

/* footer */
footer{
  background-color: #38b48b;
	width: 100%;
  padding: 50px 0;
}

footer ul a{
  color: #fff;
  text-decoration: none;
}

footer ul a:hover{
  text-decoration: underline;
}

footer p{
  color: #fff;
}

.footer-menu{
  width: 1000px;
  margin: 0 auto;
  text-align: center;
}

.inline{
  text-align: center;
  margin-bottom: 20px;
  justify-content: center;
}

.inline li{
  color: #fff;
  display: inline-block;
}

.footer-menu li a::after{
  content: "|";
}

/* サブタイトル */
.sub-title{
  width: 1010px;
  background-color: #38b48b;
  margin: 0 auto;
  display: flex;
  align-items: center;
  padding: 20px 30px;
}

.sub-title p{
  margin-left: 20px;
  font-size: 3.125em;
  font-weight: bold;
  color: #fff;
}

.bread-list{
  width: 1110px;
  margin: 0 auto;
}

.bread-list ul{
  padding: 15px 0 75px;
}

.bread-list li{
  margin-left: 20px;
}

.sub-menu{
  margin-top: -60px;
}

/* 施設案内 */
.f-info{
  display: flex;
}

.f-info .text{
  padding-left: 20px;
}

.f-info .text p{
  margin-bottom: 1em;
}

.t-room,.b-room{
  display: flex;
  position: relative;
}

.t-room .text,.b-room .text{
  margin-right: 25px;
  height: 300px;
}

.t-room .more-info,.b-room .more-info{
  border: 1px solid #45cea1;
  text-align: center;
  border-radius: 10px;
  padding: 10px 20px;
  position: absolute;
  bottom: 0;
  width: 240px;
}

.l-room,.d-room{
  display: flex;
  position: relative;
}

.l-room .text,.d-room .text{
  margin-left: 25px;
  height: 300px;
}

.l-room .more-info,.d-room .more-info{
  border: 1px solid #45cea1;
  text-align: center;
  border-radius: 10px;
  padding: 10px 20px;
  position: absolute;
  bottom: 0;
  width: 240px;
}

.t-room p,.l-room p,.b-room p,.d-room p{
  margin-bottom: 1em;
}

/* 施設での一日 */
.day table{
  border-collapse: collapse;
  width: 100%;
}

.day th,td{
  border: none;
  vertical-align: top;
  text-align: left;
}

.day td{
  text-align: left;
  padding-left: 15px;
}

.day th{
  border-right: 8px solid #45cea1;
  font-size: 1.5em;
  padding: 0 10px;
}

.time-schedule{
  font-size: 1.125em;
  font-weight: bold;
}