@charset "utf-8";

/* reset
--------------------------------------- */

html{
	box-sizing:border-box;
}

*,
::before,
::after{
	background-repeat:no-repeat;
	box-sizing:inherit;
}

*{
	padding:0;
	margin:0;
}

a{
	background-color:transparent;
}

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

h1, h2, h3, h4, h5, h6{
	margin: 0;
	padding: 0;
	border: 0;
	font-style:normal;
	font-weight: normal;
	font-size: 100%;
	vertical-align: baseline;
}

ol, ul{
    list-style:none;
}

.cf::before,
.cf::after{
	content:"";
	display:table;
}

.cf::after{
	clear:both;
}

div::after,
ul::after,
ol::after,
dl::after,
dt::after,
dd::after{
    content:"";
    display:block;
    clear:both;
}


/* common
--------------------------------------- */

html{
	font-size:62.5%;
}

body{
	font-family:'Noto Sans JP',"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size:1.4rem;
	line-height:1.765;
	color:#222;
}

@media screen and (max-width: 767px) {

body{
	font-size:1.3rem;
	line-height:1.6;
}

}

img{
	max-width:100%;
	height:auto;
}

@media screen and (min-width: 768px) {

.pc_hidden{
	display:none;
}

}

@media screen and (max-width: 767px) {

.sp_hidden{
	display:none;
}

}


/* head
--------------------------------------- */

.head{
	max-width:1000px;
	margin:0 auto;
	margin-bottom: 50px;
}

@media screen and (max-width: 767px) {

.head{
	margin-bottom: 20px;

}
	
}

/* main

--------------------------------------- */


.main {
	max-width:1000px;
	margin:0 auto;
	margin-bottom: 60px;
}


.cont01 {
	margin-bottom: 20px;
}

.cont01 p {
	font-size: 1.6rem;
}

@media screen and (max-width: 1000px) {

.cont01 p {
	width:94%;
	margin:0 auto;
}

}

.cont01 h2 {
	font-size: 3.7rem;
	color:#E01E3A;
	line-height:1.5;
	text-align: center;
	margin-bottom: 20px;
	padding-bottom:20px;
	letter-spacing:2px;
	position: relative;
}

@media screen and (max-width: 950px) {

.cont01 h2 {
	font-size: 2.7rem;
}

}

.cont01 h2:after {
		content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 7px;
	background: -webkit-repeating-linear-gradient(-45deg, #559DD8, #559DD8 2px, #fff 2px, #fff 4px);
	background: repeating-linear-gradient(-45deg, #559DD8, #559DD8 2px, #fff 2px, #fff 4px);
}

h3 {
	font-size: 3.2rem;
	font-weight:900;
	text-align: center;
	color: #0233AF;
	margin-bottom: 40px;
	line-height: 1.4;
}

h3 .text {
	font-size:5.2rem;
	margin-left:5px;
	color:#0049B2;
}

@media screen and (max-width: 950px) {

h3 {
	font-size: 2.2rem;
	margin-bottom: 20px;
}

h3 .text {
	font-size:2.2rem;
}

}

.cont02 h4 {
	max-width:94%;
	margin:0 auto;
	font-size: 2.6rem;
	font-weight:900;
	padding:9px 0 9px 20px;
	background:#1E72C6;
	border-radius:7px 7px 0 0;
	color:#fff;
	letter-spacing:2px;
	line-height:1;
	display:-ms-flexbox;
	display:flex;
	align-items:center;
}

.cont02 h4 .icon {
	color: #0B308E;
	display:inline-block;
	font-size:1.7rem;
	border-right:1px solid #634C24;
	border-bottom:1px solid #634C24;
	padding:6px 6px 7px 9px;
	background-color:#EDC032;
	letter-spacing:-1px;
	line-height:1;
	margin-right:13px;
	vertical-align:middle;
}

.cont02 .box {
	max-width:94%;
	margin:0 auto;
	border-left: 2px solid #1E72C6;
	border-bottom: 2px solid #1E72C6;
	border-right: 2px solid #1E72C6;
	padding: 20px 30px 20px 30px;
	margin-bottom: 40px;
	background-color:#FCFCFC;
}

.cont02 .box .title {
	font-size: 2.2rem;
	line-height:1.5;
	color: #E01E3A;
	border-bottom:1px dotted #E01E3A;
	margin-bottom:10px;
	padding-bottom:5px;
}

.cont02 .box .left {
	width: 65%;
	float: left;
}

.cont02 .box .right {
	width: 30%;
	float: right;
	text-align:center;
}

@media screen and (max-width: 767px) {

.cont02 .box .left,
.cont02 .box .right {
	width:100%;
	float:none;
}

.cont02 .box .left{
	margin-bottom:10px;
}

}

.cont02 .box p {
	font-size: 1.6rem;
}

.cont02 .center {
	text-align: center;
	margin-bottom: 40px;
}

.cont03 {
	margin-bottom: 30px;
	
}

@media screen and (max-width: 1000px) {

.cont03 {
	width:94%;
	margin:0 auto 60px;
}

}

.cont03 h4{
	font-size:2.1rem;
	font-weight:bold;
	color:#333;
	line-height:1.2;
	margin-bottom:20px;
	text-align:center;
}

.cont03 ul {
	background-color: #EACB68;
	border-radius:8px;
	margin-bottom:40px;
	border: 1px solid #E5AB1A;
}

.cont03 li {
	width: 33.33333333%;
	padding: 20px 25px 25px 25px;
	float: left;
	border-right:2px dashed #FFFFFF;
}

.cont03 li:last-child {
	border:none;
}

@media screen and (max-width: 767px) {

.cont03 li {
	width:100%;
	border-right:none;
	border-bottom:2px dashed #FFFFFF;
}

}

.cont03 li p {
	background-color:#fff;
	padding:17px;
	border-top:2px solid #C4A37A;
	border-bottom: 2px solid #C4A37A;
}

/* .cont03 li 背景
--------------------------------------- */
.cont03 li p{
	position:relative;
	z-index:1;
	overflow:hidden;
}

.cont03 li p::before{
	content:"";
	position:absolute;
	bottom:-35px;
	right:-10px;
	font-family:Arial, Helvetica, sans-serif;
	font-size:25rem;
	font-weight:700;
	color:#eee;
	line-height:1;
	z-index:-1;
}

@media screen and (max-width: 767px) {


.cont03 li p::before{
	bottom:-20px;
	font-size:15rem;
}

}

.cont03 li:nth-child(1) p::before{
	content:"1";
}

.cont03 li:nth-child(2) p::before{
	content:"2";
}

.cont03 li:nth-child(3) p::before{
	content:"3";
}

/* .cont03 li 背景 ここまで
--------------------------------------- */

.cont03 .box {
	max-width:86%;
	margin:0 auto;
	border: 2px solid #ccc;
	padding:15px 45px 30px 45px;
}

.cont03 .box .left {
	width:52%;
	float:left;
}

.cont03 .box .right{
	width:45%;
	float:right;
	text-align:center;
}

@media screen and (max-width: 767px) {

.cont03 .box {
	max-width:100%;
	padding:15px 20px 30px 20px;
}

.cont03 .box .left,
.cont03 .box .right{
	width:100%;
	float:none;
}

.cont03 .box .left{
	margin-bottom:10px;
}

}

.cont03 .box .left p {
	line-height:1.5;
}

.cont03 .box .left p:nth-child(2){
	margin-top:5px;
	margin-bottom: 10px;
	padding-top: 10px;
	border-top:1px solid #ccc;
}

.cont03 .box .left .indent {
	padding-left:1.4rem;
	text-indent:-1.4rem;

}

h5 {
	font-size:2.4rem;
	text-align:center;
	margin-bottom:13px;
	letter-spacing: 4px;
	color: #1E72C6;
}

@media screen and (max-width: 767px) {
	
h5 {
	font-size:2.1rem;
}
	
}

.schedule {
	max-width:86%;
	margin:0 auto;
	margin-bottom: 40px;
}

.schedule .left {
	width: 48.5%;
	float: left;
}

.schedule .left th {
	background-color: #F4CBCB;
}

.schedule table {
	width: 100%;
	font-size: 1.6rem;
	line-height: 1.4;
	background-color: #f4f4f4;
}

.schedule th {
	padding: 5px;
	font-size: 1.8rem;
	font-weight: normal;
}

.schedule td {
	padding: 8px 8px 8px 13px;
	border: 1px solid #666;
}

.schedule .right {
	width: 48.5%;
	float: right;
}

.schedule .right th {
	background-color: #B5D2E5;
}


@media screen and (max-width: 767px) {

.schedule {
	max-width:94%;
	margin:0 auto 60px;
}

.schedule .left,
.schedule .right{
	width:100%;
	float:none;
}

.schedule .left{
	margin-bottom:20px;
}

}


.cont04 {
	padding:0 30px;	
}

.cont04 li{
	width: 22.75%;
	margin-right:3%;
	border: 1px solid #ccc;
	padding: 22px 16px 16px 16px;
	background-color: #FFF;
	float: left;
	text-align:center;
}

.cont04 li:last-child{
	margin-right:0;
}

@media screen and (max-width: 767px) {

.cont04 {
	padding:0;
	width:94%;
	margin:0 auto;	
}

.cont04 li{
	width:100%;
	margin-right:0;
}

.cont04 li:nth-child(n+2){
	margin-top:15px;
}

}

.cont04 li strong{
	display:block;
	font-weight:normal;
	color:#b22;
	line-height:1.3;
	margin-top:10px;
}

.cont04 li h4 {
	font-size:1.8rem;
}

.cont04 li p:last-child{
	color:#555;
	font-size:1.3rem;
	line-height:1.6;
	text-align:left;
	margin-top:4px;
	padding-top:7px;
	border-top: 1px dotted #999;
}


/* foot
--------------------------------------- */

.foot {
	margin:0 auto;
	padding:20px 40px 60px 40px;
	background-color: aliceblue;
	border-top:1px solid #ccc;
}

.foot .contact {
	max-width:900px;
	margin:0 auto;
}

.foot p {
	font-size:2rem;
	font-weight:900;
	margin-bottom:10px;
}

.foot ul {
	width:47.5%;
	margin-right:5%;
	float:left;
}

.foot ul:last-child{
	margin-right:0;
}

.foot li:nth-child(1){
	padding:2px 20px;
	border:1px solid #666;
	display:inline;
}

.foot li:nth-child(2){
	font-size:2rem;
	margin-top:12px;
	margin-bottom:3px;
	line-height:1;
}

@media screen and (max-width: 767px) {

.foot {
	padding:20px 15px;
}

.foot p {
	font-size:1.8rem;
}

.foot ul {
	width:100%;
	margin-right:0;
	margin-top:15px;
	float:none;
}
	
.foot li:nth-child(1){
	display:block;
}

}

/* scrooll top
---------------------------------------- */

#scroolltop{
	position:fixed;
	right:10px;
	bottom:10px;
	width:50px;
	height:50px;
	background:#5896D5;
	color:#fff;
	font-size:110%;
	text-align:center;
	text-decoration:none;
	z-index:1000;
	-webkit-transition:all 0.3s;
	-moz-transition:all 0.3s;
	transition:all 0.3s;
	transform:scale(0);
}

#scroolltop:hover{
	opacity:0.8;
	text-decoration:none;
}

#scroolltop.show{
	transform:scale(1);
	-webkit-transform:translateZ(1);
}

a#scroolltop{
	display:block;
}

#scroolltop:before,
#scroolltop:after{
	position:absolute;
	left:50%;
	content:"";
	width:0;
	height:0;
}

#scroolltop:before{
	top:50%;
}

#scroolltop:after{
	top:50%;
	z-index:-1;
}

@media screen and (min-width: 768px) {

#scroolltop{
	width:50px;
	height:50px;
}

#scroolltop:before,
#scroolltop:after{
	margin-left:-10px;
	border:10px solid transparent;
}

#scroolltop:before{
	margin-top:-14px;
	border-bottom:10px solid #5896D5;
}

#scroolltop:after{
	margin-top:-15px;
	border-bottom:10px solid #fff;
}

}

@media screen and (max-width: 767px) {

#scroolltop{
	width:30px;
	height:30px;
}

#scroolltop:before,
#scroolltop:after{
	margin-left:-5px;
	border:5px solid transparent;
}

#scroolltop:before{
	margin-top:-6px;
	border-bottom:5px solid #5896D5;
}

#scroolltop:after{
	margin-top:-8px;
	border-bottom:5px solid #fff;
}

}
