@charset "utf-8";
/* CSS Document */

.body .wrap{
	background: url(../images/bg_header.gif) repeat-x 0 0;
}

/* keyvisual */

.keyv{
	width: 100%;
	height:722px;
	overflow: hidden;
	position:relative;
	margin:0 auto 0 auto;
	padding:0;
	position: relative;
}

.keyv ul {
	width: 100%;
	height: 100%;
}

.keyv li{
	width: 100%;
	height: 722px;
	position: relative;
}
.keyv img{
	width: 100%;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%,0);
}

.keyv .catch {
	font-family: "Noto Sans Japanese";
	font-size: 495%;
	font-weight: bold;
	color: #fff;
	text-shadow:0px 0px 7px #000000;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 99;
	transform: translate(-50%,-50%);
}

#keyv .swiper-wrapper,
#keyv .swiper-slide {
	backface-visibility: hidden;
}

.swiper-button-prev,
.swiper-button-next {
	width: 36px !important;
}

.swiper-button-prev {
	left: 13px !important;
	background: url(../images/btn_prev.png) no-repeat center center !important;
}

.swiper-button-next {
	right: 13px !important;
	background: url(../images/btn_next.png) no-repeat center center !important;
}

.content {
	width: 100% !important;
}

.info-area {
	color: #fff;
	width: 100%;
	height: 50px;
	background: rgba(64,35,1,0.5);
	position: relative;
	top: -50px;
	z-index: 99;
}

.info-area .title {
	text-align: right;
	width: 20%;
	height: 50px;
	line-height: 50px;
	padding-right: 40px;
	position: absolute;
	background: #89d434;
	z-index: 99;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.info-area .title:after {
	content: '';
	display: block;
	visibility: visible;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 50px 27px 0 0;
	border-color: #8ad434 transparent transparent transparent;
	position: absolute;
	top: 0;
	right: -27px;
	z-index: 100;
}

.info-area .info {
	width: 80%;
	height: 50px;
	line-height: 50px;
	margin: 0 0 0 auto;
	padding-left: 60px;
	text-align: left;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.info-area .info .day {
	display: inline-block;
	margin-right: 35px;
}
.info-area .info a {
	display: block;
	width: 100%;
	color: #fff;
	text-decoration: none;
}
.info-area .info a:hover {
	text-decoration: underline;
}

.about-area,
.service-area,
.program-area,
.price-area,
.hospital-area,
.news-area {
	text-align: center;
	background: #fbf5e0;
	margin: 150px 0 0;
	position: relative;
}

.about-area .wrapper {
	width: 100%;
	height: 700px;
	position: relative;
	overflow: hidden;
}

.about-area .about-img {
	position: absolute;
	top: 0;
	right: 50%;
}

.about-area .about-text {
	text-align: left;
	width: 40%;
	padding: 50px;
	background: #fff;
	position: absolute;
	top: 80px;
	left: 50%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.service-area {
	padding: 0 0 70px;
}

.service-area .service-text-box.sec1 {
	width: 100%;
	height: 824px;
	position: relative;
}

.service-area .service-text-box.sec1 .copy {
	display: inline-block;
	position: relative;
	margin: 0 auto 0 0;
}
.service-area .service-text-box.sec1 .copy span {
	display: inline-block;
	font-family: "Noto Sans Japanese";
	font-size: 162.5%;
	font-weight: bold;
	line-height: 1.6;
	position: relative;
	text-align: center;
	z-index: 2;
}
.service-area .service-text-box.sec1 .copy:before {
	content: '';
	display: block;
	width: 75%;
	height: 9px;
	background: #d1fe87;
	margin: 0 auto;
	position: absolute;
	top: 23px;
    left: 50%;
	transform: translate(-50%,0);
    z-index: 1;
}
.service-area .service-text-box.sec1 .copy:after {
	content: '';
	display: block;
	width: 105%;
	height: 9px;
	background: #d1fe87;
	position: absolute;
	bottom: 3px;
    left: 50%;
	transform: translate(-50%,0);
    z-index: 1;
}

.service-area .service-text-box.sec1 .left-img {
	position: absolute;
	top: 0;
	right: 48%;
}
.service-area .service-text-box.sec1 .right-img {
	position: absolute;
	top: 50px;
	left: 52%;
	padding: 30px 0 0;
	background: #fff;
}
.service-area .service-text-box.sec1 .txt {
	width: 570px;
	height: 258px;
	position: absolute;
	bottom: -8px;
	right: 48%;
	padding: 45px;
	background: #fff;
	text-align: left;
}
.service-area .service-text > .sec2 {
	margin: 50px 0 0;
	text-align: center;
}

.service-area .service-text-box.sec2 {
	display: inline-block;
	width: 655px;
	position: relative;
}
.service-area .service-text-box.sec2 img {
	max-width: 100%;
}
.service-area .service-text-box.sec2 .txt {
	text-align: left;
	width: 576px;
	padding: 45px;
	background: #fff;
	margin: -50px 0 0 auto;
	position: relative;
	z-index: 2;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.service-area .sec2 .service-text-box.sec2:nth-child(1),
.service-area .sec2 .service-text-box.sec2:nth-child(3) {
	margin-right: 30px;
}
.service-area .sec2 .service-text-box.sec2:nth-child(2) { top: 40px; }
.service-area .sec2 .service-text-box.sec2:nth-child(3) { top: 60px; }
.service-area .sec2 .service-text-box.sec2:nth-child(4) { top: 180px; }

.service-area .service-text > .sec3 {
	margin: 230px 0 0;
	text-align: center;
}

.service-area .service-text-box.sec3 {
	display: inline-block;
	width: 655px;
	position: relative;
}
.service-area .service-text-box.sec3 img {
	max-width: 100%;
}
.service-area .service-text-box.sec3 .txt {
	text-align: left;
	width: 765px;
	padding: 45px;
	background: #fff;
	margin: -50px 0 0 auto;
	position: relative;
	left: 160px;
	z-index: 2;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.program-area {
	padding: 0 0 130px;
}
.program-area h4 {
	font-size: 180%;
}
.program-area h4 strong {
	font-size: 150%;
}
.program-area .flow-box {
	width: 1180px;
	height: 1110px;
	background: #fff;
	margin: 69px auto 0;
	position: relative;
}
.program-area .flow-box img {
	margin: -28px 0 0;
}
.program-area .flow-box .img-slider {
	width: 390px;
	height: 283px;
	background: #fff;
	border: solid 3px #86dd4b;
	padding: 32px;
	position: absolute;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.program-area .flow-box .img-slider .wrapper {
	width: 320px;
	height: 213px;
}
.program-area .flow-box .img-slider img {
	width: 100%;
	margin: 0;
}

.program-area .flow-box .img-slider.slider01:before,
.program-area .flow-box .img-slider.slider02:before,
.program-area .flow-box .img-slider.slider03:before,
.program-area .flow-box .img-slider.slider04:before {
	content: '';
	display: block;
	width: 18px;
	height: 18px;
	background: #86dd4b;
	border: solid 3px #fff;
	border-radius: 9px;
	position: absolute;
	top: 50%;
	right: -59px;
	margin-top: -9px;
	z-index: 99;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.program-area .flow-box .img-slider.slider01:after,
.program-area .flow-box .img-slider.slider02:after,
.program-area .flow-box .img-slider.slider03:after,
.program-area .flow-box .img-slider.slider04:after {
	content: '';
	display: block;
	visibility: visible;
	width: 50px;
	height: 3px;
	background: #86dd4b;
	position: absolute;
	top: 50%;
	right: -50px;
	margin-top: -2px;
}

.program-area .flow-box .img-slider.slider01 {
	top: 184px;
    left: 63px;
}
.program-area .flow-box .img-slider.slider02 {
	top: 293px;
    right: 63px;
}
.program-area .flow-box .img-slider.slider03 {
	top: 619px;
    left: 63px;
}
.program-area .flow-box .img-slider.slider04 {
	top: 729px;
    right: 63px;
}

.program-area .flow-box .img-slider.slider02:before {
	left: -57px;
}
.program-area .flow-box .img-slider.slider02:after {
	left: -50px;
}

.program-area .flow-box .img-slider.slider04:before {
	left: -57px;
}
.program-area .flow-box .img-slider.slider04:after {
	left: -50px;
}


.price-area { padding: 0 0 10px; }
.price-area .price-text {
	width: 1024px;
	margin: 0 auto 40px;
}
.content .price-area h3 {
	font-family: "Noto Sans Japanese";
	font-size: 115%;
	font-weight: bold;
	color: #80d100;
	text-align: left;
	display: block;
}
.content .price-area h3:before {
	content: none;
	display: none;
}
.price-area h3:after {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: #80d100;
	position: relative;
	bottom: -10px;
}

.price-area .price-text table {
	float: left;
	width: 492px;
}
.price-area .price-text table:nth-child(2) { margin-right: 40px; }
.price-area .price-text table tr {
	border-bottom: solid 1px #dbdbdb; 
}
.price-area .price-text table th {
	font-weight: bold;
}
.price-area .price-text table th:before {
	content: '';
	display: block;
	width: 14px;
	height: 14px;
	background: #80d100;
	border-radius: 7px;
	position: absolute;
	top: 11px;
	left: 5px;
}

.price-area .price-text table th,
.price-area .price-text table td {
	padding: 6px 15px 6px 25px;
	position: relative;
}

.price-area .price-text table td {
	text-align: left;
}
.price-area .price-text table td.right {
	text-align: right;
}

.price-area .price-text table tbody {
	border-top: solid 1px #dbdbdb;
}
.price-area .price-text table .no-border tr { border: none; }
.price-area .price-text table .no-border td.top { vertical-align: top; }
.price-area .price-text table .no-border td .small { font-size: 90%; }
.price-area .price-text table .no-border td.ti1 { padding-left: 15px; }
.price-area .price-text table .no-border td.ti2 { padding-left: 45px; }
.price-area .price-text table .no-border td.ti3 { padding-left: 67px; }
.price-area .price-text table .no-border td.ti4 { padding-left: 83px; }
	
.hospital-area {
	background: #fff;
}
.hospital-area .hospital-wrap {
	width: 100%;
	height: 600px;
	background: url(../images/bg_hospital.jpg) no-repeat center center;
	background-size: cover;
	position: relative;
}
.hospital-area .hospital-wrap .txt {
	text-align: left;
	width: 582px;
	margin: 0 10px 0 auto;
	padding: 45px;
	position: absolute;
	top: 80px;
	left: 50%;
	background: rgba(255,255,255,0.8);
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.news-area {
	margin: 150px 0 80px;
	padding: 0 0 1px;
}

.news-area dl {
	width: 1024px;
	height: auto;
    overflow: hidden;
    margin: 0 auto;
    padding: 15px;
	position: relative;
    border-bottom: 1px dotted #94978e;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.news-area dl:hover {
	background: #fffbef;
}

.news-area dl:first-child {
	border-top: 1px dotted #94978e;
}

.news-area dl:after {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	border-top: solid 1px #333;
	border-right: solid 1px #333;
	position: absolute;
	top: 50%;
	right: 20px;
	margin-top: -4px;
	transform: rotate(45deg);
}

.news-area dt {
	margin: 0;
}

.news-area dt a {
	font-size: 100%;
	font-weight: normal;
	color: #333;
	text-decoration: none;
}

.news-area dl dt {
	font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	float: left;
	margin-right: 15px;
	padding:0;
	font-size:100%;
}

.news-area dd {
	max-width: 950px;
	float: left;
	font-size:92%;
	margin-bottom: 0;
	padding:0;
}

.news-area dd a {
	color: #333;
	text-decoration: none;
}

.news-area dd.cat  {
	margin-right: 15px;
}

.news-area dd.cat span.cat-icon {
	font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	color: #fff;
	display: block;
	width: 85px;
	height: 24px;
	line-height: 24px;
	text-align: center;
	vertical-align: middle;
	background: #80d100;
}

.news-area dd.cat span.cat-icon.cat-campaign {
	background: #8e6515;
}

.news-area .news_btn {
	color: #fff;
	font-size: 118%;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	display: block;
	width: 275px;
	height: 55px;
	line-height: 55px;
	margin: 50px auto;
	background: #80d100;
	border: solid 1px #80d100;
	position: relative;
}
.news-area .news_btn:hover {
	background: none;
	color: #80d100;
}
.news-area .news_btn:after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    position: absolute;
    top: 50%;
    right: 20px;
    margin-top: -4px;
    transform: rotate(45deg);
}
.news-area .news_btn:hover:after {
	border-color:#80d100;
}

/* sidebar */


.regulation-area {
	margin: 75px 0 40px;
}

.regulation-area a {
    color: #333!important;
}

/* --- ext icon --- */

a[href$='pdf']{
	background: url(../images/fileicon/pdf.png) no-repeat 100% 50%;
	padding-right: 25px;
}

a.no-icon[href$='pdf']{
	background: none;
	padding-right: 0px;
}

