

#mainvisual {
	width:1080px;
	margin:30px auto;
	border-radius:25px;
	overflow:hidden;
	background:url(../img/bg_grad2.jpg) right;
	background-size:cover;
	display:flex;
}

#mainvisual div {
	text-align:right;
	width:690px;
	padding-top:55px;
}

#mainvisual div h2 {
	color:#fff;
	font-size:37px;
	padding-right:35px;
	
}

#mainvisual div h2 .en {
	font-size:22px;
	padding:15px 0;
	font-weight:normal;
	display:block;
}

/**/

#about .inner {
	width:1080px;
	margin:0 auto;
	padding:50px 0;
}

#about .inner dl {
	width:70%;
	margin:0 auto;
	display:flex;
	flex-wrap:wrap;
	border-top:2px dashed #ccc;
	font-size:21px;
}

#about .inner dl dt{
	width:23%;
	padding:20px 0;
	border-bottom:2px dashed #ccc;
	font-weight:bold;
}

#about .inner dl dd{
	width:77%;
	padding:20px 0;
	border-bottom:2px dashed #ccc;
}

#facility .inner {
	width:1080px;
	margin:0 auto;
	padding:50px 0;
}

#facility .inner h2 {
	margin-bottom:30px;
	position: relative;
    font-weight: bold;
    font-size: 26px;
    text-align:left;
	z-index:40;
}

#facility .inner h2:before {
    position: absolute;
    top: 49%;
    width: 88%;
    border-top: 2px dotted;
    content: '';
	right: 0;
	z-index:3;
}

#facility .inner p {
	margin-bottom:40px;
}

#facility .inner ul {
	display:flex;
	justify-content:space-between;
}

#facility .inner ul li img {
	overflow:hidden;
	border-radius:25px;
	margin-bottom:10px;
}

#facility .inner ul p {
	font-weight:bold;
}

#access {
	width:650px;
	background:#fff;
	border-radius:25px;
	margin:0 auto 40px auto;
	text-align:center;
	padding:30px 30px 60px 30px;
}

#access h2 {
	font-size:30px;
	margin-bottom:15px;
}

#access p {
	font-size:18px;
	margin-bottom:25px;
}

#access iframe {
	width:100%;
	height:350px;
	margin:0 auto 50px auto;
}

#access a {
	width:150px;
	color:#fff;
	background:#6791DC;
	border-radius:15px;
	border:5px solid #C8D7F2;
	padding:8px 20px;
}

/**/

#schedule .inner {
	width:1080px;
	margin:0 auto;
	padding:50px 0 50px 0;
}

#schedule h2 {
	font-size:17px;
	color:#fff;
	margin-bottom:30px;
	background:#6791DC;
	display:inline-block;
	border-radius:6px;
	padding:8px 10px;
	letter-spacing:2px;
}

#schedule h3 {
	font-size:36px;
	color:#1B3D79;
	margin-bottom:40px;
	letter-spacing:2px;
}

#schedule  p {
	font-size:17px;
	color:#1B3D79;
	line-height:180%;
	letter-spacing:1px;
	margin-bottom:40px;
}

#schedule .example {
	text-align:center;
	margin:0 auto 50px auto;
}

#schedule .years {
	width:510px;
	margin:0 auto;
	background:#fff;
	border-radius:27px;
	text-align:center;
	padding:25px;
}

#schedule .years h3 {
	font-size:30px;
	margin-bottom:15px;
}

#schedule .years p {
	font-size:16px;
	margin-bottom:25px;
}

#schedule .years ul {
	display:flex;
	justify-content:space-between;
	width:420px;
	margin:0 auto;
}

#schedule .years ul li {
	display:block;
	background:#FFB973;
	border-radius:50%;
	width:110px;
	height:110px;
}

#schedule .years ul li p {
	color:#fff;
	font-size:17px;
	font-weight:bold;
	line-height:130%;
	padding-top:32px;
	margin:0;
}

#schedule .years ul li:nth-child(3) p {
	padding-top:43px;
}

#days_introduce .inner {
	width:1080px;
	margin:0 auto;
	padding:50px 0;
}

#days_introduce .inner h2 {
	margin-bottom:30px;
	position: relative;
    font-weight: bold;
    font-size: 26px;
    text-align:left;
	z-index:40;
}

#days_introduce .inner h2:before {
    position: absolute;
    top: 49%;
    width: 88%;
    border-top: 2px dotted;
    content: '';
	right: 0;
	z-index:3;
}

#days_introduce .inner h2.short:before {
    position: absolute;
    top: 49%;
    width: 62%;
    border-top: 2px dotted;
    content: '';
	right: 0;
	z-index:3;
}


#days_introduce .inner p {
	margin-bottom:40px;
}

#days_introduce .inner ul {
	display:flex;
	justify-content:space-between;
}

#days_introduce .inner ul li img {
	overflow:hidden;
	border-radius:25px;
	margin-bottom:10px;
}

#days_introduce .inner ul p {
	font-weight:bold;
}

/**/

#contact_area .inner {
	width:1080px;
	margin:0 auto;
	padding:50px 0;
}




/******* SP style *******/
@media only screen and (max-width: 767px) {
	
/**/
#mainvisual {
	width:90%;
	margin:30px auto;
	border-radius:25px;
	overflow:hidden;
	background:url(../img/bg_grad2.jpg) right;
	background-size:cover;
	display:flex;
	flex-wrap:wrap;
}

#mainvisual img.rainbow {
	width:100%;
	height:auto;
}

#mainvisual div {
	text-align:center;
	padding:20px;
}

#mainvisual div h2 {
	padding:0;
	margin:0;
	text-align:center;
}

#mainvisual div p {
	font-size:18px;
	color:#fff;
	font-weight:normal;
}

/**/

#about .inner {
	width:90%;
}

#about .inner dl {
	width:90%;
	font-size:18px;
}

#about .inner dl dt{
	width:25%;
}

#about .inner dl dd{
	width:75%;
}



#facility .inner {
	width:90%;
	margin:0 auto;
	padding:50px 0;
}

#facility .inner h2 {
	margin-bottom:30px;
	position: relative;
    font-weight: bold;
    font-size: 26px;
    text-align:left;
}

#facility .inner h2:after {
    position: absolute;
    top: 49%;
    width: 68%;
    border-top: 2px dotted;
    content: '';
	right: 0;
}

#facility .inner h2:before {
	width:1px;
}

#facility .inner p {
	margin-bottom:40px;
}

#facility .inner ul {
	flex-wrap:wrap;
}

#facility .inner ul li {
	width:47%;
}

#facility .inner ul li img {
	width:100%;
}

#access {
	width:70%;
	background:#fff;
	border-radius:25px;
	margin:0 auto 40px auto;
	text-align:center;
	padding:30px 30px 60px 30px;
}

/**/

#schedule .inner {
	width:90%;
	margin:0 auto;
	padding:50px 0;
}

#schedule .example {
	width:90%;
}

#schedule .example img {
	width:100%;
}

#schedule .years {
	width:90%;
	padding:30px 0;
}

#schedule .years ul {
	flex-wrap:wrap;
	width:90%;
}

#schedule .years ul li {
	width:90px;
	height:90px;
}

#schedule .years ul li p {
	color:#fff;
	font-size:16px;
	font-weight:bold;
	line-height:120%;
	padding-top:25px;
	margin:0;
}

#schedule .years ul li:nth-child(3) p {
	padding-top:35px;
}

#days_introduce .inner {
	width:90%;
	margin:0 auto;
	padding:50px 0;
}

#days_introduce .inner ul {
	flex-wrap:wrap;
}

#days_introduce .inner ul li {
	width:47%;
}

#days_introduce .inner li img {
	width:100%;
}

#days_introduce .inner h2 {
}

#days_introduce .inner h2:before {
    width: 65%;
}

#days_introduce .inner h2.short:before {
    width: 30%;
}

#contact_area .inner {
	width:90%;
	margin:0 auto;
	padding:50px 0;
}


}

