@charset "utf-8";
/* CSS Document */
html {
  font-size: 10px;
}
body {
  font-family:zen-kaku-gothic-new, sans-serif;
  color: #333;
  margin: 0 auto;
	max-width: 1920px;
}
a {
  text-decoration: none;
}
li {
  list-style: none;
}
img {
  max-width: 100%;
}
.sp-only {
	display: none;
}
.flex {
	display: flex;
}
.row {
	flex-direction: row-reverse;
}
.wrap {
	flex-wrap: wrap;
}
.ffft {
	font-family: "Futura PT Medium", "Futura PT Bold", "Futura PT Light";
}
.ffym {
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}
.ffzm {
	font-family: zen-old-mincho, sans-serif;
}
.ffci {
	font-family: Cinzel, "Cinzel Black", "Cinzel Medium", "Cinzel SemiBold";
}
.ffzm {
	font-family:zen-kaku-mincho, sans-serif;
}
.ffst {
	font-family:Stencil;
}
.fwb {
	font-weight: 600;
}
.white {
	color: #fff;
}

.sp-only {
	display: none;
}
.spbr {
	display: none;
}

.cut {
	display: none;
}


/*========= 上部固定させるためのCSS ===============*/
#header {
	width:100%;
	height: 100px;
	background:#fff;
}
#header .inner {
	position: absolute;
	top: 30px;
	left: 50%;
	transform: translateX(-50%);
}
#header .inner h1 {
	width: 380px;
	margin: 0 auto;
	text-align: center;
}
#header .inner h1 a {
	display: block;
	margin-bottom: 10px;
}
#header .inner h1 a img {
	border-radius: 2rem;
}
#header .inner h1 span {
	font-size: 16px;
	font-weight: 500;
	color: #95B234;
}
.h-bar {
	width: 250px;
	margin: 20px auto 0 auto;
	background: #95ECB2;
	padding: 10px 0;
}
.h-bar p {
	font-weight: 500;
	font-size: 16px;
	text-align: center;
	color: #777;
}
.h-tel {
	position: absolute;
	top:30px;
	right: 50px;
	align-items: center;
	gap:10px;
}
.h-tel p {
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 3px;
	color: #777;
}
.h-tel img {
	width: 30px;
}
.h-tel a {
	display: block;
	font-size: 24px;
	font-weight: 500;
	letter-spacing: 3px;
	color: #777;
}


/*mainvisual*/
#mainvisual {
	width: 95%;
	height: 95vh;
	margin: 0 auto;
	border-radius: 5rem;
	background: url("../img/mainvisual.jpg");
	background-size: cover;
	z-index: -1;
	position: relative;	
}
#mainvisual::before {
	content: "";
	width: 900px;
	height: 135px;
	background: url("../img/frame.png");
	background-size: cover;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

.mv-icon {
	position: absolute;
	bottom: 150px;
	left: 50px;
	gap:30px;
}
.mv-icon img {
	width: 250px;
}
.mv-timetable {
	width: 530px;
	position: absolute;
	bottom: 150px;
	right: 50px;
}

/*head-nav*/
.head-nav {
	width: 1200px;
	margin: -50px auto 0 auto;
	padding: 3rem 0;
	box-sizing: border-box;
	background: rgba(45,133,89,0.9);
	border-radius: 2rem;
	
}
.head-nav nav {
	width: 90%;
	margin: auto;
}
.head-nav nav ul {
	justify-content: space-between;
}

.head-nav.fixed {
	position: fixed;/*fixedを設定して固定*/
  z-index: 999;/*最前面へ*/
  top:50px;/*位置指定*/
  left:0;/*位置指定*/
	padding: 0.8rem 0;
	width: 100%;
	background: rgba(255,255,255,0.8);
}
.head-nav.fixed ul {
	width: 80%;
	margin: auto;
}
.head-nav.fixed ul li,
.head-nav.fixed ul li a {
	color: #333;
}
.head-nav.fixed ul li span,
.head-nav.fixed ul li a span {
	color: #0D722F;
}

/*2階層目以降は横並びにしない*/
nav ul ul{
	display: block;
}
/*下の階層のulや矢印の基点にするためliにrelativeを指定*/
nav ul li{
	position: relative;
	text-align: center;
	font-size: 18px;
	font-weight: 500;
	color: #333;
	line-height: 1.5;
}

nav ul li a {
	display: block;
	text-align: center;
	font-size: 18px;
	font-weight: 500;
	color: #333;
	line-height: 1.5;
}
nav ul li span,
nav ul li a span {
	font-size: 15px;
	font-weight: 300;
	font-style:normal;
}


/*== 2・3階層目の共通設定 */

/*下の階層を持っているulの指定*/
.head-nav nav li.has-child ul{
    /*絶対配置で位置を指定*/
	position: absolute;
	left:50%;
	top:8rem;
	transform: translateX(-50%);
	z-index: 5;
    /*形状を指定*/
	background:#D9F8E3;
	width:180px;
    /*はじめは非表示*/
	visibility: hidden;
	opacity: 0;
    /*アニメーション設定*/
	transition: all .3s;
}
.head-nav nav .has-child ul li a{
	padding: 1rem 0;
	font-size:13px;
	text-align: center;
}
/*hoverしたら表示*/
.head-nav nav li.has-child:hover > ul,
.head-nav nav li.has-child ul li:hover > ul,
.head-nav nav li.has-child:active > ul,
.head-nav nav li.has-child ul li:active > ul{
  visibility: visible;
  opacity: 1;
}

/*ナビゲーションaタグの形状*/
.head-nav nav li.has-child ul li a{
	display: block;
	color: #333;
	border-bottom:solid 1px rgba(255,255,255,0.6);
}

.head-nav nav li.has-child ul li:last-child a{
	border-bottom:none;
}

.head-nav nav li.has-child ul li a:hover,
.head-nav nav li.has-child ul li a:active{
	background:#54C2A8;
}


@media screen and (max-width:1300px) {
	.head-nav {
		width: 90%;
	}
}


/*news*/
#news {
	margin-top: 150px;
	background: #F5FEE9;
	padding: 5rem 0;
}

.ttl-news {
	width: 1000px;
	margin: auto;
	border-bottom: 1px solid #777777;
	padding-bottom: 10px;
	padding-left: 65px;
	box-sizing: border-box;
	position: relative;
}
.ttl-news::before {
	content: "";
	width: 50px;
	height: 44px;
	background: url("../img/deco01.png");
	background-size: cover;
	position: absolute;
	top:-1rem;
	left: 0;
}
.ttl-news h4 {
	font-size: 28px;
	font-weight: 500;
	letter-spacing: 3px;
}
.ttl-news h4 span:first-child {
	margin-left: 15px;
}
.ttl-news h4 span {
	font-size: 20px;
	font-weight: 300;
}
.ttl-news h4 span.bl {
	color: #7398D1;
}
.ttl-news h4 span.gr {
	color: #95B234;
}
.ttl-news h4 span.or {
	color: #FBB94B;
}
.ttl-news h4 span.ye {
	color: #F6EB51;
}
#news .inner {
	margin: auto;
	width: 1000px;
	padding: 5rem 0 15rem 0;
}
#news .inner dl {
	justify-content: space-between;
	align-items: center;
	font-size: 18px;
	color: #333;
}
#news .inner dl dt {
	width: 15%;
}
#news .inner dl dd {
	width: 85%;
}



/*information*/
.ttl-big h4 {
	font-size: 80px;
	text-align: center;
	color: #95B234;
	letter-spacing: 10px;
}
.ttl-big .ja {
	width: 250px;
	margin: 3rem auto 0 auto;
	border-top: 3px dashed #707070;
	border-bottom: 3px dashed #707070;
	padding: 1.5rem 0;
}
.ttl-big .ja p {
	font-size: 20px;
	font-weight: 500;
	color: #777;
	text-align: center;
	letter-spacing: 3px;
}

#information {
	padding: 10rem 0;
	position: relative;
}
#information::before {
	content: "";
	width: 600px;
	height: 370px;
	background: url("../img/bg-info01.png");
	background-size: cover;
	position: absolute;
	top: 15rem;
	left: 0;
	opacity: 0.5;
	z-index: -1;
}
#information::after {
	content: "";
	width: 600px;
	height: 370px;
	background: url("../img/bg-info02.png");
	background-size: cover;
	position: absolute;
	bottom: 0rem;
	right: 0;
	opacity: 0.5;
	z-index: -1;
}
#information .inner {
	width: 1200px;
	margin: 5rem auto 0 auto;
	align-items: center;
	justify-content: space-between;
}
#information .inner .left,
#information .inner .right {
	width: 50%;
}
.info-logo {
	width: 300px;
	margin: auto;
}
.info-logo img {
	border-radius: 2rem;
}
.info-ja {
	font-size: 20px;
	text-align: center;
	font-weight: 500;
	color: #0D722F;
	margin-top: 1.5rem;
}
.info-tel {
	display: block;
	text-align: center;
	color: #777;
	font-size: 38px;
	font-style: Book;
	font-weight: 300;
	letter-spacing: 3px;
	margin-top: 1.5rem;
}
.info-adress {
	text-align: center;
	font-size: 18px;
	line-height: 2;
	color: #777;
	margin-top: 1.5rem;
}
.info-map iframe {
	border-radius: 2rem;
}

.access-icon {
	margin: 10rem auto 0 auto;
	align-items: center;
	justify-content: center;
	gap:100px;
}
.access-icon .item {
	width: 400px;
	border-radius: 10rem;
	position: relative;
	padding: 6rem 0 3rem 0;
	background: #fff;
}
.access-icon .item .a-icon {
	width: 100px;
	position: absolute;
	top:-50px;
	left: 50%;
	transform: translate(-50%);
}
.access-icon .item p {
	text-align: center;
	color: #777;
	font-size: 24px;
	font-weight: 500;
	letter-spacing: 3px;
}
.access-icon .item.car {
	border: 3px dashed #40E598;
}
.access-icon .item.tra {
	border: 3px dashed #518DBB;
}
.access-icon .item.car span {
	color: #54C2A8;
}
.access-icon .item.tra span {
	color: #49A3C5;
}


/*time*/
#timetable {
	padding: 10rem 0 10rem 0;
	margin: 15rem auto 5rem auto;
	background: #FCF8E8;
	position: relative;
}
#timetable::before {
	content: "";
	width: 100%;
	height: 50px;
	background: url("../img/bg-time-top.png");
	background-size: cover;
	position: absolute;
	top:-50px;
	left: 0;
	z-index: -1;
}
#timetable::after {
	content: "";
	width: 100%;
	height: 50px;
	background: url("../img/bg-time-bottom.png");
	background-size: cover;
	position: absolute;
	bottom:-50px;
	left: 0;
	z-index: -1;
}
#timetable .inner {
	width: 1200px;
	margin: auto;
	align-items: center;
	justify-content: space-between;
	position: relative;
}
#timetable .inner::before {
	content: "";
	width: 230px;
	height: 185px;
	background: url("../img/deco03.png");
	background-size: cover;
	position: absolute;
	bottom: -200px;
	left: 0;
}
#timetable .inner::after {
	content: "";
	width: 234px;
	height: 250px;
	background: url("../img/deco02.png");
	background-size: cover;
	position: absolute;
	bottom: -100px;
	right: 0;
	z-index: 0;
}
#timetable .inner .left 
#timetable .inner .right {
	width: 50%;
}
.ttl-time {
	width: 350px;
	margin: 0 auto 5rem auto;
	background: #fff;
	border-radius: 3rem;
	padding: 1.5rem 0;
	position: relative;
	z-index: 1;
}
.ttl-time::before {
	content: "";
	width: 60px;
	height: 60px;
	background: url("../img/icon-cal.png");
	background-size: cover;
	position: absolute;
	top: -25px;
	left: 50px;
	z-index: 2;
}
.ttl-time::after {
	content: "";
	position: absolute;
  bottom: -15px;   /* 縦軸をセンタリングする */ 
  left: 50%;
  transform: translateX(-50%);   /* 縦軸をセンタリングする */  
  border-right: 15px solid transparent;
  border-left: 15px solid transparent;
  border-top: 15px solid #fff;
}
.ttl-time p {
	text-align: center;
	font-size: 24px;
	letter-spacing: 3px;
	font-weight: 500;
	color: #FBB94B;
}
.t-timetable {
	width: 530px;
	margin: auto;
}
.page-link {
	width: 300px;
	margin: 5rem auto 0 auto;
	background: #fff;
	padding: 2.5rem 0;
	box-shadow: 2px 2px 5px rgba(0,0,0,0.2);
}
.page-link a {
	display: block;
	text-align: center;
	line-height: 1;
	font-size: 20px;
	letter-spacing: 3px;
	color: #777;
	font-weight: 500;
}
.page-link a span {
	font-size: 14px;
	color: #0D722F;
}
.page-link:hover,
.page-link:active {
	background: rgba(205,241,205,1.00);
}


/*feature*/
#feature {
	padding: 10rem 0;
	background: url("../img/bg-fea01.png")no-repeat right top 38% / auto, url("../img/bg-fea02.png")no-repeat left bottom / auto;
}
.feature-wrapper {
	width: 95%;
	margin: 10rem auto 0 auto;
	flex-direction: column;
	gap:10rem;
}
.feature-wrapper .item {
	align-items: center;
	justify-content: space-between;
}
.f-index,
.f-img {
	width: 50%;
}
.f-index .container {
	width: 90%;
	margin: auto;
	background: #fff;
	box-shadow: 0 2px 5px rgba(0,0,0,0.2);
	padding: 5rem 0;
}
.f-ttl {
	text-align: center;
	font-size: 80px;
	letter-spacing: 3px;
	line-height: 0.8;
}
.f-ttl span {
	font-size: 20px;
}
.f-main {
	font-size: 28px;
	font-weight: 500;
	line-height: 1.7;
	color: #777;
	letter-spacing: 5px;
	text-align: center;
	margin: 3rem auto;
}
.f-txt {
	width: 60%;
	margin: auto;
	font-size: 17px;
	line-height: 2;
	letter-spacing: 2px;
}
.f01-ttl {
	color: #54C2A8;
}
.f02-ttl {
	color: #49A3C5;
}
.f03-ttl {
	color: #FBB94B;
}
.f04-ttl {
	color: #EE67B8;
}


@media screen and (max-width:1300px) {
	.feature-wrapper {
		width: 98%;
	}
	.f-index .container {
		width: 95%;
	}
	.f-txt {
		width: 80%;
	}
}


/*greeting*/
#greeting {
	margin: 15rem auto;
	background: #EBF3F6;
	position: relative;
}
#greeting::before {
	content: "";
	width: 100%;
	height: 80px;
	background: url("../img/bg-gre-top.png");
	background-size: cover;
	background-position: center;
	position: absolute;
	top:-80px;
	left: 50%;
	transform: translateX(-50%);
}
#greeting::after {
	content: "";
	width: 100%;
	height: 80px;
	background: url("../img/bg-gre-bottom.png");
	background-size: cover;
	background-position: center;
	position: absolute;
	bottom:-80px;
	left: 50%;
	transform: translateX(-50%);
}
#greeting .container {
	padding: 10rem 0;
	position: relative;
}
#greeting .container::before {
	content: "";
	width: 600px;
	height: 400px;
	background: url("../img/bg-gre01.png");
	background-size: cover;
	position: absolute;
	top:0;
	left: 0;
}
#greeting .container::after {
	content: "";
	width: 600px;
	height: 400px;
	background: url("../img/bg-gre02.png");
	background-size: cover;
	position: absolute;
	bottom:0;
	right: 0;
	z-index: 1;
}
#greeting .container .inner {
	width: 1200px;
	margin: auto;
	justify-content: space-between;
	align-items: center;
}
#greeting .container .inner .left,
#greeting .container .inner .right {
	width: 48%;
	margin: auto;
	z-index: 2;
}
.greeting-txt {
	font-size: 16px;
	line-height: 2;
	margin-top: 3rem;
}


@media screen and (max-width:1300px) {
	#greeting .container::before {
		content: "";
		width: 400px;
		height: 266px;
	}
	#greeting .container::after {
		content: "";
		width: 400px;
		height: 266px;
	}
}



/*medical info*/
#medical-info {
	padding: 10rem 0 0 0;
}
.medical-list {
	margin: 5rem auto;
	max-width: 1300px;
}
.medical-list ul {
	justify-content: center;
	gap: 3rem;
	align-items: flex-start;
}
.medical-list ul li {
	width: 400px;
	background: #D9F8E3;
	padding: 5rem 0;
	border-radius: 2rem;
}
.medical-list ul li a {
	display: block;
	text-align: center;
}
.medical-list ul li a img {
	width: 55%;
	margin: auto;
}
.medical-list ul li a p {
	text-align: center;
	font-size: 28px;
	font-weight: 500;
	color: #333;
	line-height: 1;
	margin-top: 3rem;
	letter-spacing: 3px;
}
.medical-list ul li a p span {
	font-size: 16px;
	color: #0D722F;
	letter-spacing: 3px;
}


/*--- スライドショー ---*/
#slideshow {
	padding: 5rem 0;
}

/*==================================================
スライダーのためのcss
===================================*/
.slider img {
    width:100%;/*スライダー内の画像を横幅100%に*/
    height:auto;
	margin: 5rem auto 0 auto;
}

/*slickのJSで書かれるタグ内、スライド左右の余白調整*/
.slider .slick-slide {
    margin:0 1rem;/*スライド左右の余白調整*/
}



/*footer*/
#footer {
	margin-top: 10rem;
}
#footer .container {
	justify-content: space-between;
	align-items: flex-start;
}
#footer .container .left,
#footer .container .right {
	width: 50%;
}
#footer .container .left iframe {
	width: 100%;
	border-top-right-radius: 3rem;
}
#footer .container .right .inner {
	width: 90%;
	margin: auto;
}
.foot-time {
	width: 550px;
	margin: 2rem auto 0 auto;
}
.foot-icon {
	justify-content: center;
	align-items: center;
	gap:3rem;
	margin-top: 2rem;
}
.foot-icon img {
	width: 220px;
}
.copy {
	padding: 1rem 0;
	background: #54C2A8;
}
.copy p {
	font-size: 12px;
	text-align: center;
}




/*-- 下層 --*/
/*mainvisual*/
#s-mainvisual {
	width: 97%;
	height: 65vh;
	margin: 0 auto;
	border-radius: 5rem;
	background: url("../img/s-mainvisual.jpg");
	background-size: cover;
	background-position: center;
	z-index: -1;
	position: relative;	
}
#s-mainvisual::before {
	content: "";
	width: 900px;
	height: 135px;
	background: url("../img/frame.png");
	background-size: cover;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
.page-ttl {
	position: absolute;
	top:55%;
	left: 50%;
	transform: translateX(-50%);
}
.page-ttl h2 {
	text-align: center;
	font-size: 80px;
	font-family: "Zen Maru Gothic", serif;
	text-shadow: 2px 2px 5px rgba(0,0,0,0.2);
	letter-spacing: 10px;
	line-height: 0.8;
}
.page-ttl h2 span {
	font-size: 28px;
	letter-spacing: 3px;
	font-weight: 400;
}
.sec-padding {
	padding: 10rem 0 5rem 0;
}
.sec-ttl {
	width: 350px;
	height: 140px;
	margin: auto;
	background: url("../img/bg-sec-ttl.png");
	background-size: cover;
	padding-top: 60px;
	box-sizing: border-box;
}
.sec-ttl h4 {
	font-size: 28px;
	font-weight: 500;
	text-align: center;
	letter-spacing: 3px;
	position: relative;
}
.sec-ttl h4::before {
	content: "";
	width: 50px;
	height: 3px;
	background: #F3E66C;
	position: absolute;
	bottom:-1.5rem;
	left: 50%;
	transform: translateX(-50%);
}

/*医院紹介*/
.policy-top {
	width: 1200px;
	margin: 5rem auto 0 auto;
	position: relative;
}
.policy-top::before {
	content: "";
	width: 250px;
	height: 150px;
	background: url("../img/deco08.png");
	background-size: cover;
	position: absolute;
	bottom:1rem;
	left: 0;
	opacity: 0.5;
}
.policy-top::after {
	content: "";
	width: 255px;
	height: 178px;
	background: url("../img/deco09.png");
	background-size: cover;
	position: absolute;
	bottom:1rem;
	right: 0;
	opacity: 0.5;
}
.policy-top p {
	font-size: 26px;
	font-weight: 500;
	line-height: 2;
	text-align: center;
}
.policy-top p span {
	color: #FBB94B;
}
.policy-container {
	width: 100%;
	margin: 5rem auto 0 auto;
	padding: 13rem 0 10rem 0;
	background: url("../img/bg-policy.jpg");
	background-position: center;
	background-size: cover;
	position: relative;
}
.policy-container::before {
	content: "";
	width: 100%;
	height: 50px;
	background: url("../img/bg-policy-top.png");
	background-position: center;
	background-size: cover;
	position: absolute;
	top:0;
	left: 0;
}
.policy-container::after {
	content: "";
	width: 100%;
	height: 50px;
	background: url("../img/bg-policy-bottom.png");
	background-position: center;
	background-size: cover;
	position: absolute;
	bottom:0;
	left: 0;
}
.policy-container .wrapper {
	flex-direction: column;
	gap: 60px;
}
.policy-container .wrapper .item {
	width: 1100px;
	margin: auto;
	background: rgba(255,255,255,0.8);
	padding: 3rem 5rem;
	box-sizing: border-box;
	position: relative;
}
.policy-no {
	font-size: 50px;
	font-weight: 500;
	letter-spacing: 3px;
	color: #0D722F;
	position: absolute;
	top: -30px;
	left: -30px;
}
.policy-ttl {
	font-size: 20px;
	font-weight: 500;
	color: #0D722F;
	margin-bottom: 2rem;
}
.policy-txt {
	font-size: 16px;
	line-height: 2;
}


/*clinic-gallery*/
.pic-wrapper {
	width: 1200px;
	margin: 5rem auto;
}
.pic-wrapper ul {
	gap:75px;
	align-items: flex-start;
}
.pic-wrapper ul li {
	width: 350px;
	margin-bottom: 3rem;
}
.ga-ttl {
	padding: 2rem 0;
}
.ga-ttl01 {
	background: #54C2A8;
}
.ga-ttl02 {
	background: #49A3C5;
}
.ga-ttl03 {
	background: #E5B158;
}
.ga-ttl p {
	text-align: center;
	font-weight: 500;
	letter-spacing: 3px;
	font-size: 20px;
}


/*doctor*/
.doc-index {
	width: 1200px;
	margin: 5rem auto;
	justify-content: space-between;
	align-items: center;
}
.doc-index .left {
	width: 52%;
}
.doc-index .right {
	width: 42%;
}
.doc01 {
	position: relative;
}
.doc01::before {
	content: "";
	width: 200px;
	height: 80px;
	background: url("../img/deco10.png");
	background-size: cover;
	position: absolute;
	bottom: 2rem;
	left: -5rem;
}
.doc02 {
	position: relative;
}
.doc02::before {
	content: "";
	width: 200px;
	height: 82px;
	background: url("../img/deco11.png");
	background-size: cover;
	position: absolute;
	bottom: 2rem;
	left: -5rem;
}
.doc-txt {
	font-size: 16px;
	line-height: 2;
	margin-bottom: 3rem;
}
.doc-name {
	font-weight: 500;
	font-size: 24px;
	letter-spacing: 3px;
}
.doc-name span {
	font-size: 16px;
	color: #0D722F;
	letter-spacing: 2px;
	margin-left: 2rem;
}
.doc-career {
	width: 1200px;
	margin: auto;
	justify-content: space-between;
}
.doc-career .item {
	width: 550px;
}
.ca-ttl {
	border-top-left-radius: 2rem;
	border-top-right-radius: 2rem;
	background: #54C2A8;
	padding: 2rem 0;
}
.ca-ttl p {
	text-align: center;
	font-size: 20px;
	letter-spacing: 2px;
	font-weight: 500;
}
.ca-inner {
	border-bottom-left-radius: 2rem;
	border-bottom-right-radius: 2rem;
	background: #EEFCF9;
	padding: 2rem 1rem;
	box-sizing: border-box;
}
.ca-inner dl {
	justify-content: space-between;
	font-size: 15px;
}
.ca-inner dl dd {
	width: 16%;
	margin-bottom: 1.5rem;
}
.ca-inner dl dt {
	width: 84%;
	margin-bottom: 1.5rem;
}
.ca-inner ul {
	flex-direction: column;
	font-size: 15px;
	gap: 1.5rem;
}

/*s-timetable*/
#s-timetable {
	position: relative;
}
#s-timetable::before {
	content: "";
	width: 600px;
	height: 370px;
	background: url("../img/bg-info01.png");
	background-size: cover;
	position: absolute;
	top: 25rem;
	left: 0;
	opacity: 0.5;
	z-index: -1;
}
#s-timetable::after {
	content: "";
	width: 600px;
	height: 370px;
	background: url("../img/bg-info02.png");
	background-size: cover;
	position: absolute;
	bottom: 20rem;
	right: 0;
	opacity: 0.5;
	z-index: -1;
}
.st-img {
	width: 800px;
	margin: 5rem auto;
}
.access-map {
	width: 800px;
	margin: 5rem auto;
}
.access-map iframe {
	border-radius: 2rem;
	width: 100%;
}

/*parking*/
#parking .container {
	margin: 10rem 0;
	padding: 7rem 0;
	background: #E8FCF4;
	position: relative;
}
#parking .container::before {
	content: "";
	width: 100%;
	height: 50px;
	background: url("../img/bg-parking-top.png");
	background-position: center;
	background-size: cover;
	position: absolute;
	top:-50px;
	left: 0;
}
#parking .container::after {
	content: "";
	width: 100%;
	height: 50px;
	background: url("../img/bg-parking-bottom.png");
	background-position: center;
	background-size: cover;
	position: absolute;
	bottom:-50px;
	left: 0;
}
.parking-img {
	align-items: center;
	justify-content: center;
	gap:50px;
}
.parking-img img {
	width: 450px;
	border-radius: 2rem;
}
.parling-txt {
	font-size: 15px;
	line-height: 2;
	width: 900px;
	margin: 3rem auto 0 auto;
}

/*medical*/
.medical-top {
	width: 1200px;
	margin: 5rem auto;
	justify-content: space-between;
	align-items: center;
}
.medical-top .left {
	width: 55%;
}
.medical-top .right {
	width: 40%;
}
.mt-txt {
	font-size: 18px;
	line-height: 2;
}
.medical-container {
	margin: 5rem auto;
	background: #E8FCE9;
	padding: 5rem 0;
	position: relative;
}
.medical-container::before {
	content: "";
	width: 100%;
	height: 50px;
	background: url("../img/bg-medical-top.png");
	background-position: center;
	background-size: cover;
	position: absolute;
	top:-50px;
	left: 0;
}
.medical-container::after {
	content: "";
	width: 100%;
	height: 50px;
	background: url("../img/bg-medical-bottom.png");
	background-position: center;
	background-size: cover;
	position: absolute;
	bottom:-50px;
	left: 0;
}
.medical-container .inner {
	width: 1000px;
	margin: auto;
	background: #fff;
	padding: 5rem 5rem 8rem 5rem;
	box-sizing: border-box;
	border-radius: 2rem;
	position: relative;
}
.medical-container .inner::before {
	content: "";
	width: 336px;
	height: 60px;
	background: url("../img/deco04.png");
	background-size: cover;
	position: absolute;
	bottom:1rem;
	right: 1rem;
}
.medical-txt {
	font-size: 16px;
	font-weight: 500;
	line-height: 2;
}

/*interview*/
.interview-top {
	margin: 10rem auto;
	background: #E9FEF2;
	padding: 5rem 0;
	position: relative;
}
.interview-top::before {
	content: "";
	width: 100%;
	height: 50px;
	background: url("../img/bg-interview-top.png");
	background-position: center;
	background-size: cover;
	position: absolute;
	top:-50px;
	left: 0;
}
.interview-top::after {
	content: "";
	width: 100%;
	height: 50px;
	background: url("../img/bg-interview-bottom.png");
	background-position: center;
	background-size: cover;
	position: absolute;
	bottom:-50px;
	left: 0;
}
.interview-top .inner {
	width: 1000px;
	margin: auto;
	background: #fff;
	padding: 5rem 5rem 8rem 5rem;
	box-sizing: border-box;
	position: relative;
}
.interview-top .inner::before {
	content: "";
	width: 180px;
	height: 52px;
	background: url("../img/deco12.png");
	background-size: cover;
	position: absolute;
	bottom:1rem;
	right: 1rem;
}
.it-txt-b {
	font-weight: 500;
	text-align: center;
	font-size: 20px;
	margin-bottom: 2.5rem;
	letter-spacing: 2px;
}
.it-txt-s {
	font-size: 16px;
	line-height: 2;
}
.interview-wrapper {
	width: 1000px;
	margin: 5rem auto;
	flex-direction: column;
	gap:5rem;
}
.interview-wrapper .item {
	background: url("../img/bg-interview.jpg");
	border-radius: 2rem;
	padding: 5rem 0;
	flex-direction: column;
	gap:3rem;
}
.i-ttl {
	width: 85%;
	margin: auto;
	background: #0D722F;
	padding: 2rem 0;
}
.i-ttl p {
	font-size: 20px;
	font-weight: 500;
	text-align: center;
	letter-spacing: 1.5px;
}
.i-inner {
	width: 85%;
	margin: auto;
	background: #fff;
	padding: 3rem 5rem;
	box-sizing: border-box;
}
.i-inner p {
	font-size: 16px;
	line-height: 2;
}





/*---------------------------------------------*/

/*トップリンク*/
/*リンクの形状*/
#page-top a{
	display: flex;
	justify-content:center;
	align-items:center;
	background:#fff;
	border: 1px solid #874316;
	border-radius: 50%;
	width: 60px;
	height: 60px;
	color: #7d7d7d;
	text-align: center;
	text-transform: uppercase; 
	text-decoration: none;
	font-size:0.6rem;
	transition:all 0.3s;
}

/*リンクを右下に固定*/
#page-top {
	position: fixed;
	right: 10px;
	bottom:10px;
	z-index: 2;
    /*はじめは非表示*/
	opacity: 0;
	transform: translateY(100px);
}

/*　上に上がる動き　*/

#page-top.UpMove{
	animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 0;
	transform: translateY(100px);
  }
  to {
    opacity: 1;
	transform: translateY(0);
  }
}

/*　下に下がる動き　*/

#page-top.DownMove{
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 1;
	transform: translateY(0);
  }
  to {
  	opacity: 1;
	transform: translateY(100px);
  }
}




/*==================================================
ふわっ
===================================*/

/* その場で */
.fadeIn{
animation-name:fadeInAnime;
animation-duration:1.0s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeInAnime{
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* 下から */

.fadeUp{
animation-name:fadeUpAnime;
animation-duration:1.0s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/* 上から */

.fadeDown{
animation-name:fadeDownAnime;
animation-duration:1.0s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeDownAnime{
  from {
    opacity: 0;
  transform: translateY(-100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/* 左から */

.fadeLeft{
animation-name:fadeLeftAnime;
animation-duration:1.0s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeLeftAnime{
  from {
    opacity: 0;
  transform: translateX(-100px);
  }

  to {
    opacity: 1;
  transform: translateX(0);
  }
}

/* 右から */

.fadeRight{
animation-name:fadeRightAnime;
animation-duration:1.0s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeRightAnime{
  from {
    opacity: 0;
  transform: translateX(100px);
  }

  to {
    opacity: 1;
  transform: translateX(0);
  }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
 
.fadeInTrigger,
.fadeUpTrigger,
.fadeDownTrigger,
.fadeLeftTrigger,
.fadeRightTrigger{
    opacity: 0;
}


/*==================================================
スタート時は要素自体を透過0にするためのopacity:0;を指定する
===================================*/

.box{
	opacity: 0;
}

/*==================================================
動かしたい動き（今回は” ふわっ” を採用）
===================================*/

.fadeUp {
animation-name:fadeUpAnime;
animation-duration:1.0s;
animation-fill-mode:forwards;
opacity: 0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
	transform: translateY(100px);
  }

  to {
    opacity: 1;
	transform: translateY(0);
  }
}
