#page_title{
	height:300px;
	background-size:cover !important;
	margin:0px auto 100px;
	position:relative;
}
#page_title h2{
	max-width:50%;
	position:absolute;
	margin:auto;
	left:0;
	right:0;
	bottom:20px;
	color:#fff;
}
#page_title h2 .icon img{
	height:110px;
	width:auto;
	display:block;
	margin:0 0 20px;
}
#page_title small{
	display:block;
	position:absolute;
	line-height:1em;
	left:0;
	right:0;
	margin:auto;
}
main{
	position:relative;
}
main section{
	margin:0 auto 100px;
}

main section h3{
	/*background:#00a77b;*/
	background:url('../images/common/bg_h3.png') no-repeat left center;
	line-height:80px;
	border-radius:20px;
	position:relative;
	margin:0 auto 40px;
	max-width:1100px;
	padding:0 0 0 100px;
	color:#00a77b
}

main section h3 img{
	vertical-align:middle;
	margin-right:10px;
}
/*
main section h3:before{
	content:"";
	display:block;
	height:80px;
	background:url('../images/common/midashi_l_white.svg') no-repeat left 20px center;
	max-width:1100px;
	position:absolute;
	margin:auto;
	top:0;
	left:0;
	right:0;
}
main section h3:after{
	content:"";
	display:block;
	height:80px;
	background:url('../images/common/midashi_r_white.svg') no-repeat right 20px center;
	max-width:1100px;
	position:absolute;
	margin:auto;
	top:0;
	left:0;
	right:0;
}
*/
main section article{
	max-width:1100px;
	padding:0 60px;
	box-sizing:border-box;
	margin:0 auto;
	text-align: justify;
}
main section article:after{
	content:"";
	display:block;
	clear:both;
}
main section h4{
	color:#00a77b;
	position:relative;
	margin:0 auto 15px;
}
main section h5{
	font-size:24px;
	margin:0 auto 15px;
}
main section article ul,
main section article ol{
	padding:0 0 0 20px;
}
main section article table{
	width:100%;
}
main section article th{
	white-space:nowrap;
	color:#00a77b;
}
main section article th,
main section article td{
	border-bottom:1px solid #ccc;
	padding:10px 15px;
}
#subnav{
	border:4px solid #00ab7c;
	border-radius:20px;
	background:#fff;
	padding:20px;
	right:15%;
	line-height:2em;
	position: fixed;
    right: 0;
    padding: 10px;
    top: 110px;
	z-index:2000;
}
#subnav a{
	text-decoration:none;
}
#subnav a:before{
}
.photogallery{
	display:flex;
	flex-wrap:wrap;
	padding:0;
	list-style:none;
	gap:30px;
}
.photogallery li{
	width:calc((100% - 60px) / 3);
}
.photogallery li img{
	display:block;
	width:100%;
	height:220px;
	object-fit:cover;
	border-radius:10px;
}
.photogallery2{
	display:flex;
	flex-wrap:wrap;
	padding:0;
	list-style:none;
	gap:30px;
}
.photogallery2 li{
	width:calc((100% - 60px) / 3);
}
.photogallery2 li img{
	display:block;
	width:100%;
	height:auto;
	border-radius:10px;
}
main section article iframe{
	display:block;
	border-radius:20px;
	width:100%;
	height:400px;
	margin:40px auto;
}
main section article .more {
	padding:40px 0 0;
}
main section article .more a{
	border:4px solid #05b085;
	color:#222;
	display:block;
	max-width:600px;
	position:relative;
	background:#fff;
	margin:0 auto;
	line-height:52px;
	white-space:nowrap;
	text-align:center;
	text-decoration:none;
	font-weight:700;
	border-radius:5px;
}
main section article .more a:before{
	display:block;
	content:"";
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	margin:auto;
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
	border-left: 8px solid #05b085;
	border-right: 0;
}
main section article .more a:hover{
	background:#05b085;
	color:#fff;
}
.comment_photo{
	gap:50px;
	display:flex;
}
.pageslide{
	width:100%;
	padding:0 !important;
}
.pageslide img{
	object-fit:cover;
	display:block;
	width:100%;
	height:100%;
	border-radius:20px;
}
.shisetsu_photo{
	padding:0;
	display:flex;
	flex-wrap:wrap;
	gap:30px;
	list-style:none;
}
.shisetsu_photo li{
	width:calc((100% - 60px) / 3);
}
.shisetsu_photo li img{
	display:block;
	width:100%;
	height:220px;
	object-fit:cover;
	border-radius:10px;
}

#form table {
	width: 100%;
}

#form th {
	white-space: nowrap;
	text-align: left;
	padding: 10px 0;
	font-weight:normal;
	vertical-align: top;
}

#form td {
	padding: 10px 10px 10px 50px;
	vertical-align: top;
}

.hissu {
	color: #fff;
	float:right;
	border-radius:5px;
	padding:0 5px;
	background:#ea5350;
}

input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
	border: 1px solid #ccc;
	border-radius: 6px;
	width: 100%;
	padding: 5px;
	box-sizing: border-box;
}

select {
	border: 1px solid #ccc;
	border-radius: 6px;
	width: 200px;
	padding: 5px;
	box-sizing: border-box;
}

.short {
	width: 100px !important;
}

.middle {
	width: 300px !important;
	margin: 0 0 10px;
}

.month,
.day {
	width: 60px !important;
	margin-left: 20px !important;
}

input.radio {
	width: auto;
}

#form #tel {
	width: 320px !important;
}

#submit_btn{
	text-align:center;
}
#submit_btn input {
	color: #222;
	border: 0;
	display: block;
	width:100%;
	border-radius:10px;
	text-align:center;
	margin: 20px auto 20px;
	line-height: 60px;
	border:4px solid #7ebd6a;
	max-width:300px;
	background:#fff;
}

#address1 {
	width: 100px;
}
#news{
	margin:0 auto 120px;
}
#news_header{
}
#news article{
	margin:0 auto;
	max-width:1100px;
	max-height:550px;
	overflow:auto;
	border-top:1px solid #dddddd;
	border-bottom:1px solid #dddddd;
}
#news article dl{
	padding:15px 0;
	border-bottom:1px solid #dddddd;
	display:flex;
	gap:40px;
}
#news article dl:last-child{
	border:0;
}
#news article dt{
	width:340px;
	display:flex;
	justify-content:space-between;
	flex:none;
	line-height:30px;
}
#news article dt time{
	padding:0 0 0 15px;
}
#news article dt .cat{
	display:block;
	width:200px;
	color:#fff;
	border-radius:10px;
	text-align:center;
	height:30px;
	box-sizing:border-box;
}
.cat2 .cat,
.cat3 .cat,
.cat4 .cat,
.cat5 .cat,
.cat6 .cat,
.cat7 .cat,
.cat8 .cat,
.cat9 .cat,
.cat10 .cat,
.cat11 .cat,
.cat12 .cat,
.cat13 .cat,
.cat14 .cat,
.cat15 .cat,
.cat16 .cat,
.cat17 .cat,
.cat18 .cat,
.cat19 .cat{
	background:#91cb58;
}
.cat3 .cat{
	background:#22b8d3;
}
.cat4 .cat{
	background:#f38c8d;
}
.galleryslide li{
	padding:0 10px;
}
.column2{
	display:flex;
	gap:60px;
}
video {
width: 100%;
height: auto;
display: block;
}
.photo_comment{
	display:flex;
	gap:40px;
	margin-bottom:30px;
}
.photo_comment figure{
	width:450px;
	flex:none;
}
.photo_comment .comment{
	width:calc(100% - 490px);
	flex:none;
}