@charset "utf-8";
/* CSS Document */

@media print, screen and (max-width: 768px){
	.pc_only { display:none;}
}
@media print, screen and (min-width: 769px){
	.sp_only { display:none;}
}









#sec01 .box_l {
	width:45%;
}
#sec01 .box_r {
	width:55%;
}
#sec01 h3 {
	font-size:150%;
	letter-spacing: .1em;
    margin-bottom: 20px;
	color:#4c9a87;
}
#sec01 .p01 {
	font-size:100%;
}
@media print, screen and (max-width: 768px){
	#sec01 .box_l {
		width:100%;
	}
	#sec01 .box_r {
		width:100%;
	}
}


#sec02 h2 {
	text-align:center;
	font-size:280%;
	font-weight:normal;
	margin-bottom:40px;
}

#sec02 .ul_flex1 {
	margin-bottom:50px;
}


#sec02 .box1 .ul_flex2 {
	font-size: 110%;
}

#sec02 .box1 .ul_flex2 h4{
	font-size: 115%;
}


#sec02 .img01 {
	width:100%;
}
#sec02 .box_r h3 {
	font-size:140%;
	font-weight:normal;
	margin-bottom:20px;
}
@media print, screen and (max-width: 768px){
	#sec02 .box_r h3 {
		margin-top:20px;
	}
}
#sec02 .box1 {
	margin-top:80px;
}
#sec02 .box1 h3 {
	font-size:200%;
	font-weight:normal;
	color: #4c9a87;
	text-align:center;
	position:relative;
}

#sec02 .box1 h3:after {
	content:"";
	display:block;
	width:80px;
	margin:20px auto 60px;
	border-bottom:solid 1px #4c9a87;
}


#sec02 .box2 {
	margin-top:100px;
}
#sec02 .box2:after {
	content:"";
	display:block;
	clear:both;
}
#sec02 .box2 img {
	float:left;
	width:calc(30% - 20px);
	margin:0 20px 20px 0;
}
#sec02 .box2 h3 {
	width:70%;
	float:right;
	font-size:130%;
	font-weight:bold;
	padding:0px 15px 15px;
	color: rgb(27, 175, 90);
}
#sec02 .box2 p {
	width:70%;
	float:right;
	padding:15px 15px;
	font-size:100%;
	line-height:1.5em;
}
@media print, screen and (max-width: 768px){
	#sec02 .box2 img {
		float:none;
		width:calc(100% - 40px);
		margin:20px 20px;
	}
	#sec02 .box2 h3 {
		float:none;
		width:100%;
		font-size:150%;
	}
	#sec02 .box2 p {
		font-size:110%;
		float:none;
		width:100%;
	}
}


#sec02 .box3 {
	border:solid 4px #4c9a87;
	padding:20px 15px;
	margin:100px 15px 0;
}
#sec02 .box3 h3 {
	font-size:300%;
	font-weight:normal;
	text-align:center;
	border-bottom:solid 2px #4c9a87;
	padding:30px 0;
	margin-bottom:30px;
}
@media screen and (max-width: 768px) {
	#sec02 .box3 h3 {
		font-size:180%;
		line-height:1.5em;
		padding:10px 0;
	}
}


#sec03 .box1 {
	padding:30px 15px;
	position:relative;
}
#sec03 .box1:after {
	content:"";
	display:block;
	position:absolute;
	bottom:0;
	left:50%;
	-webkit-transform: translate(-50%,0%);
    -moz-transform: translate(-50%,0%);
    transform: translate(-50%,0%);
	
	width:100vw;
	border-bottom:solid 1px #dddddd;
}

#sec03 .box1.border_none:after{
	display:none;
}

#sec03 .box1 .box_l img {
	border-radius:5px;
}
#sec03 .box1 .box_l p {
	padding:10px;
	font-size:90%;
	color:#CCC;
}
#sec03 .box1 .box_r .p01 {
	font-size:110%;
	padding-bottom:30px;
}
#sec03 .box1 .box_r .p02 {
	font-size:100%;
	padding-bottom:30px;
	line-height:1.5em;
	padding-bottom:30px;
}




#sec04 .box1 {
	padding:0px 15px;
	position:relative;
}
#sec04 .box1:after {
	content:"";
	display:block;
	position:absolute;
	bottom:0;
	left:50%;
	-webkit-transform: translate(-50%,0%);
    -moz-transform: translate(-50%,0%);
    transform: translate(-50%,0%);
	
	width:100vw;
	border-bottom:solid 1px #dddddd;
}
#sec04 .box1.border_none:after{
	display:none;
}
#sec04 .box1 img {
	width:30%;
	float:left;
	margin:0 30px 0 0;
}
#sec04 .box1 h4 {
	font-size:120%;
	color:#4c9a87;
	padding:30px 0 30px;
}
#sec04 .box1 p {
	font-size:100%;
}
#sec04 .box1.flr img {
	float:right;
	margin:0 0 0 30px;
}
@media screen and (max-width: 768px) {
	#sec04 .box1 img {
		width:100%;
		float:none;
	}
	#sec04 .box1 p {
		padding-bottom:30px;
		margin-bottom:15px;
	}
}

.box_gallery ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.box_gallery ul li {
	width:calc(100% / 5);
	list-style:none;
}
@media screen and (max-width: 768px) {
	.box_gallery ul li {
		width:calc(100% / 2);
	}
}



#sec05 h2 {
	text-align:center;
	font-size:280%;
	font-weight:normal;
	margin-bottom:40px;
}
@media screen and (max-width: 768px) {
	#sec05 h2 {
		font-size:200%;
		line-height:1.1em;
	}
}


#sec06 h2 {
	text-align:center;
	font-size:280%;
	font-weight:normal;
	margin-bottom:40px;
}
@media screen and (max-width: 768px) {
	#sec06 h2 {
		font-size:200%;
		line-height:1.1em;
	}
}



#sec07 h2 {
	text-align:center;
	font-size:280%;
	font-weight:normal;
	margin-bottom:40px;
}
#sec07 .box_l img {
	margin-bottom:20px;
}
#sec07 .box_r p {
	font-size:110%;
	padding-bottom:20px;
	line-height:1.4em;
}
#sec07 .box_r ul li {
	margin-left:30px;
	font-size:110%;
	padding-bottom:5px;
	line-height:1.4em;
}
@media screen and (max-width: 768px) {
	#sec07 h2 {
		font-size:200%;
		line-height:1.1em;
	}
	#sec07 .box_r p {
		font-size:110%;
	}
	#sec07 .box_r ul li {
		font-size:110%;
	}
}



#sec08 h2 {
	text-align:center;
	font-size:280%;
	font-weight:normal;
	margin-bottom:40px;
}
@media screen and (max-width: 768px) {
	#sec08 h2 {
		font-size:200%;
		line-height:1.1em;
	}
}



#sec09 h2 {
	text-align:center;
	font-size:280%;
	font-weight:normal;
	margin-bottom:40px;
}
#sec09 table {
	border-collapse:collapse;
	width:calc(100% - 30px);
	margin:0 15px;
}
#sec09 table th {
	border-bottom:solid 1px #dddddd;
	padding:15px 15px;
	width:20%;
	font-size:120%;
	line-height:1.4em;
	vertical-align:top;
}
#sec09 table td {
	border-bottom:solid 1px #dddddd;
	padding:15px 15px;
	font-size:110%;
	line-height:1.4em;
}
@media screen and (max-width: 768px) {
	#sec09 h2 {
		font-size:200%;
		line-height:1.1em;
	}
	#sec09 table th {
		padding:5px 5px;
		font-size:110%;
	}
	#sec09 table td {
		padding:5px 5px;
		font-size:110%;
	}
}



#sec10 h2 {
	text-align:center;
	font-size:280%;
	font-weight:normal;
	margin-bottom:40px;
}
#sec10 table {
	border-collapse:collapse;
	width:calc(100% - 30px);
	margin:0 15px;
}
#sec10 table th {
	border-bottom:solid 1px #dddddd;
	padding:15px 15px;
	width:20%;
	font-size:120%;
	line-height:1.4em;
	vertical-align:top;
	text-align:center;
}
#sec10 table td {
	border-bottom:solid 1px #dddddd;
	padding:15px 15px;
	font-size:110%;
	line-height:1.4em;
}
#sec10 table td iframe {
	width:100%;
	height:400px;
	margin-top:20px;
}
@media screen and (max-width: 768px) {
	#sec10 h2 {
		font-size:200%;
		line-height:1.1em;
	}
	#sec10 table th {
		padding:5px 5px;
		font-size:110%;
	}
	#sec10 table td {
		padding:5px 5px;
		font-size:110%;
	}
}


.contents_bottom {
	background-image:url(../images/bg_6.jpg);
	background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
	min-height:480px;
	position:relative;
}
.contents_bottom:after {
	content:"";
	display:block;
	position:absolute;
	width:100%;
	height:100%;
	top:0;
	left:0;
	z-index:1;
	background: -webkit-linear-gradient(left,rgba(255,255,255,0) 0,rgba(255,255,255,0) 40%,rgba(230,234,233,.9) 47%,#ebefee 50%);
	background: linear-gradient(left,rgba(255,255,255,0) 0,rgba(255,255,255,0) 40%,rgba(230,234,233,.9) 47%,#ebefee 50%);
	background: -moz-linear-gradient(left,rgba(255,255,255,0) 0,rgba(255,255,255,0) 40%,rgba(230,234,233,.9) 47%,#ebefee 50%);
}
.contents_bottom .box1 {
	width:50%;
	max-width:490px;
	position:absolute;
	top:50%;
	left:50%;
	-webkit-transform: translate(0%,-50%);
    -moz-transform: translate(0%,-50%);
    transform: translate(0%,-50%);
	z-index:2
}

.contents_bottom .box1 h3 {
	text-shadow: 0 0 8px #fff, 0 0 3px #fff, 0 0 2px #fff, 0 0 1px #fff, 0 0 4px #fff, 0 0 3px #fff;
	font-size:32px;
	margin:0px 0 30px;
	line-height:1.1em;
	font-weight:normal;
}
.contents_bottom .box1 p {
	text-shadow: 0 0 8px #fff, 0 0 3px #fff, 0 0 2px #fff, 0 0 1px #fff, 0 0 4px #fff, 0 0 3px #fff;
	line-height:1.5em;
}
@media screen and (max-width: 768px) {
	.contents_bottom {
		min-height:330px;
	}
	.contents_bottom .box1 {
		width:70%;
		left:30%;
	}
}








