@charset "utf-8";
/* CSS Document */
*{
	margin: 0;
	padding: 0;
}
html{
	overflow: auto;
	height: 100%;
}
body {
	font-size: 16px;
	letter-spacing: 1px;
	font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;
	word-wrap : break-word;
	overflow-wrap : break-word;
}
img{
	vertical-align:bottom;
	width: 100%;
	height: auto;
}
h1,h2,h3,h4,h5{
	font-size:100%;
	font-weight: normal; 
}
ul,ol{
	list-style-type: none;
}
a{
	text-decoration: none;
}
address{
	font-style: normal;
}
h2:empty,h3:empty,h4:empty,h5:empty,h6:empty,p:empty{
	display: none!important;
}
/* ----- other ----- */
.red{
	color: red;
}
.square_img,.rectangle_img{
	position: relative;
	overflow: hidden;
	transition: all 0.3s;
}
.square_img img,.rectangle_img img{
	position: absolute;
	top: 50%;
	left: 50%;
	-ms-transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}
.rectangle_img img{
	width: 100%;
	height: auto;
}
.normal_img{
	text-align: center;
}
.clearfix::after{
	clear:both;
	content:".";
	visibility:hidden;
	display:block;
	height:0;
}
.inline_b{
	display: inline-block;
}
.table{
	display: table;
	width: 100%;
}
.table_cell{
	display: table-cell;
}
.flex_box{
	display:-webkit-box;
    display:-moz-box;
    display:-ms-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:-ms-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    justify-content: center;
    align-items: center;
	position: relative;
}
.width_wrap{
	width: 100%;
	max-width: 1280px;
	min-width: 1000px;
	margin: 0 auto;
	overflow: hidden;
}
.pc_hide{
	display: none;
}
.font_24{
	font-size: 24px;
	letter-spacing: 2px;
}
.font_20{
	font-size: 20px;
	letter-spacing: 2px;
}
.font_18{
	font-size: 18px;
	letter-spacing: 2px;
}
.font_16{
	font-size: 16px;
}
.pager{
	text-align: center;
	width: 70%;
	margin: 0 auto;
	border-top: 1px solid;
	border-bottom: 1px solid;
}
.pager li{
	display: inline-block;
	width: 15%;
	margin: 1%;
}
.pager li a{
	display: inline-block;
	padding: 5% 10%;
	transition: all 0.3s;
}
.pager li a:hover{
	opacity: 0.5;
}
.over_txt{
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.over_txt br{
	display: none;
}
/*ページ共通部分*/
#wrap{
	width: 100%;
	margin: 0 auto;
	min-width: 1000px;
	min-height: 100vh;
	overflow: hidden;
	display:-webkit-box;
    display:-moz-box;
    display:-ms-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:-ms-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
	position: relative;
}
.left_box{
	width: 30%;
	min-width: 300px;
}
.right_box{
	width: 70%;
	min-width: 700px;
}
header{
	position: relative;
	z-index: 99;
	vertical-align: top;
	box-shadow: 5px 0 10px rgba(0,0,0,0.3);
}
.right0{
	right:0!important;
	transition: all 0.8s;
}
.right100{
	right:100%!important;
	transition: all 0.8s;
}
header{
	transition: all 0.8s;
}
#menu_title svg{
	position: fixed;
	top: 50%;
	left: 33px;
	width: 15px;
	height: auto;
	transform: translate(0,-50%);
	z-index: 99;
}
.menu_bt{
	position: fixed;
	width: 30px;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 99;
	cursor: pointer;
}
.menu_bt svg{
	position: absolute;
	top: 50%;
	left: 50%;
	width: 20px;
	transform: translate(-50%,-50%);
}
header #header{
	width: 100%;
	min-height: 100vh;
	top: 0;
	left: 0;
	margin: 0 auto;
	transition: all 1s;
	box-sizing: border-box;
	padding-left: 30px;
}
header #header .menu_bt svg{
	width: 50px;
}
header #header #logo.square{
	width: 60%;
	padding: 15%;
	margin: 0 auto;
	max-width: 150px;
}
header #header #logo.rectangle{
	width: 80%;
	padding: 15% 10%;
	margin: 0 auto;
	max-width: 300px;
}
header #header #main_menu{
	width: 90%;
	margin: 0 auto;
	text-align: center;
}
header #header #main_menu .top_menu{
	display: inline-block;
	margin-bottom: 50px;
}
header #header #main_menu .top_menu li{
	display: block;
	margin-bottom: 10px;
	text-align: left;
}
header #header #main_menu .top_menu li a{
	transition: all 0.3s;
}
header #header #main_menu .top_menu li.menu_bt{
	transition: all 0.3s;
	cursor: pointer;
}
header #header #main_menu .sns_link{
	width: 80%;
	max-width: 350px;
	margin: 0 auto;
}
header #header #main_menu .sns_link li{
	display: block;
	width: 12%;
	margin: 0 4%;
	box-sizing: border-box;
}
header #header #main_menu .sns_link li a{
	display: block;
}
header #header #main_menu .sns_link li a img{
	height: 100%;
	width: auto;
	transition: all 0.3s;
}
header #header #main_menu .sns_link li a:hover img{
	opacity: 0.5;
}
.menu_open{
	overflow: hidden;
	height: 100vh;
}
#side_menu{
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	right: 100%;
	z-index: 9998;
	overflow: scroll;
}
#side_menu a{
	display: inline-block;
	transition: all 0.3s;
	padding-left: 20px;
}
#side_menu a:hover,#side_menu a.on_page{
	padding-left: 0;
}
#side_menu ul{
	position: absolute;
	top: 50%;
	left: 20%;
	transform: translate(0,-50%);
	overflow: hidden;
}
@media screen and (max-width: 700px) and (max-height: 400px){
#side_menu ul{
	position: absolute;
	top: 0;
	left: 20%;
	transform: translate(0,0);
	padding: 20px 0;
	overflow: scroll;
}
}
#side_menu ul li{
	line-height: 2;
	letter-spacing: 4px;
}
#side_menu ul li.close{
	margin-top: 10px;
	cursor: pointer;
	transition: all 0.3s;
	vertical-align: middle;
}
#side_menu ul li.close svg{
	width: 18px;
	height: 18px;
	vertical-align: middle;
	display: inline-block;
	padding: 10px;
}
#side_menu ul li.close:hover{
	opacity: 0.5;
}
/*footer*/
footer{
	text-align: center;
}
footer #footer{
	padding: 30px;
	box-sizing: border-box;
}
footer #footer #footer_link{
	text-align: right;
}
footer #footer #footer_link li{
	display: inline-block;
}
footer #footer #footer_link li a{
	transition: all 0.3s;
}
footer #footer #footer_link li a:hover{
	opacity: 0.5;
}
footer #footer #footer_link li::after{
	content: "/";
	display: inline-block;
	margin: 0 10px;
}
footer #footer #footer_link li:last-of-type::after{
	display: none;
}
footer #footer #footer_logo{
	width: 25%;
	margin: 30px auto;
}
footer #footer #footer_txt{
	display: inline-block;
}
footer #footer #footer_cms{
	text-align: left;
}
footer #copyright{
	padding: 10px;
}
/*page title*/
#page_title{
	padding: 50px;
	margin: 50px 0;
}
#page_title h2{
	box-sizing: border-box;
	padding: 0 50px;
	font-size: 30px;
}
/*page top*/
#page-top {
    position: fixed;
    bottom: 50px;
    right: 50px;
	z-index: 99;
}
#page-top a{
	height: 80px;
	width: 80px;
	display: block;
	border-radius: 50%;
	overflow: hidden;
	background-image: url(../img/page-top.png);
	background-position: center 40%;
	background-repeat: no-repeat;
	background-size: 50%;
	box-shadow: 0 2px 4px rgba(0,0,0,0.5);
	transition: all 0.3s;
}
#page-top a:hover{
	opacity: 0.7;
}
/*index.html*/
section{
	margin-bottom: 100px;
}
#main_img{
	width: 80%;
	margin: 10%;
}
#main_img img{
	box-shadow: 0 5px 15px rgba(0,0,0,0.2);
}
#intro{
	padding: 50px;
	position: relative;
}
#intro::before,#intro::after{
	content: "";
	display: block;
	position: absolute;
}
#intro::before{
	width: 1px;
	height: 100%;
	top: 0;
	right: 50px;
}
#intro::after{
	height: 1px;
	width: 100%;
	left: 0;
	bottom: 50px;
}
#intro .box_wrap{
	margin: 0 auto;
	max-width: 1000px;
	box-sizing: border-box;
	padding: 5%;
}
#intro .box_wrap h2{
	font-weight: bold;
	margin-bottom: 5%;
}
#contents{
	width: 90%;
}
#contents .box_wrap{
	margin-bottom: 50px;
}
#contents .box_wrap .flex_box{
	margin-bottom: 30px;
}
#contents .box_wrap .flex_box .box{
	width: 50%;
	text-align: center;
}
#contents .box_wrap .flex_box .box:first-of-type{
	box-sizing: border-box;
	padding: 5%;
}
#contents .box_wrap:nth-of-type(odd) .flex_box .box:first-of-type{
	-webkit-box-ordinal-group:2;
	-ms-flex-order:2;
	-webkit-order:2;
	order:2;
}
#contents .box_wrap:nth-of-type(odd) .flex_box .box:last-of-type{
	-webkit-box-ordinal-group:1;
	-ms-flex-order:1;
	-webkit-order:1;
	order:1;
}
#contents .box_wrap:nth-of-type(odd) .flex_box .box figure{
	text-align: left;
}
#contents .box_wrap:nth-of-type(even) .flex_box .box figure{
	text-align: right;
}
#contents .box_wrap .flex_box .box figure img{
	box-shadow: 0 2px 5px rgba(0,0,0,0.3);
}
#contents .box_wrap .flex_box .box h3{
	display: inline-block;
	text-align: left;
}
#contents .box_wrap > p{
	width: 70%;
	max-width: 700px;
	line-height: 2;
	margin: 0 auto;
}
/*top_cms*/
.top_cms{
	width: 90%;	
}
.top_cms_title{
	letter-spacing: 4px;
	margin-bottom: 50px;
}
.top_cms_title h3{
	padding: 5%;
}
.top_cms_title .more{
	width: 150px;
	font-size: 14px;
}
.top_cms_title .more a{
	display: block;
	transition: all 0.3s;
}
.page2_cms .box{
	width: 80%;
	margin: 0 auto;
	padding: 30px;
	border-bottom: 1px solid;
}
.page2_cms .box a{
	display: block;
	transition: all 0.3s;
}
.page2_cms .box a:hover{
	opacity: 0.5;
}
.page2_cms .box .date{
	font-size: 14px;
	letter-spacing: 4px;
}
.page2_cms .box:last-of-type{
	border-bottom: none;
}
.page3_cms .box {
	width: 80%;
	margin: 0 auto;
}
.page3_cms .box figure{
	width: 80%;
	max-width: 800px;
	margin: 0 auto 30px;
}
.page3_cms .box figure img{
	box-shadow: 0 2px 5px rgba(0,0,0,0.3);
}
.page3_cms .box h4{
	margin-bottom: 10px;
}
.page4_cms .box_wrap .box{
	width: 90%;
	border-bottom: 1px solid;	
	padding: 20px 0;
	margin: 0 auto;
    justify-content: flex-start;
    align-items: flex-start;
}
.page4_cms .box_wrap .box a{
	width: 100%;
	transition: all 0.3s;
}
.page4_cms .box_wrap .box a:hover{
	opacity: 0.5;
}
.page4_cms .box_wrap .box:last-of-type{
	border-bottom: none;
}
.page4_cms .box_wrap .box h4,.page4_cms .box_wrap .box p{
	display: block;
	width: 30%;
	padding: 0 10px;
	box-sizing: border-box;
}
.page4_cms .box_wrap .box p:last-of-type{
	font-size: 14px;
}
.page5_cms .box_wrap .box{
	width: 40%;
	padding: 3% 5%;
	float: left;
}
.page5_cms .box_wrap .box .rectangle_img{
	box-shadow: 0 2px 5px rgba(0,0,0,0.3);
	transition: all 0.35s;
}
.page5_cms .box_wrap .box .rectangle_img:hover{
		transform: translate(0,-10px);
}
.page6_cms .box{
	width: 90%;
	margin: 0 auto;
	padding: 20px 10px;
	box-sizing: border-box;
	border-bottom: 1px solid;
}
.page6_cms .box a{
	display: block;
	transition: all 0.3s;
}
.page6_cms .box a:hover{
	opacity: 0.5;
}
.page6_cms .box:last-of-type{
	border-bottom: none;
}
.page6_cms .box h4{
	margin-bottom: 10px;
}
/*page2.html*/
#page2 .cms_wrap{
	width: 90%;
}
#page2 .cms_wrap .box{
	padding: 5% 5% 5% 0;
	margin-bottom: 50px;
}
#page2 .cms_wrap .box .date{
	display: inline-block;
	padding: 10px 10px 10px 50px;
	letter-spacing: 4px;
	margin-bottom: 20px;
	box-shadow: 2px 2px 5px rgba(0,0,0,0.3);
}
#page2 .cms_wrap .box .box_title{
	margin-left: 7%;
	margin-bottom: 10px;
}
#page2 .cms_wrap .box .box_txt{
	margin-left: 7%;
}
#page2 .cms_wrap .box figure{
	width: 70%;
	margin: 30px auto 0;
}
#page2 .cms_wrap .box figure img{
	box-shadow: 0 2px 5px rgba(0,0,0,0.3);
}
/*page3.html*/
#page3{}
/*cate_list*/
.cate_list{
	text-align: center;
	margin-bottom: 20px;
}
.cate_list li{
	display: inline-block;
	text-align: left;
	letter-spacing: 2px;
}
.cate_list li::after{
	content: "/";
	display: inline-block;
	padding: 10px;
}
.cate_list li:last-of-type::after{
	display: none;
}
.cate_list li a{
	transition: all 0.3s;
}
.cate_list li a:hover{
	opacity: 0.3;
}
#page3 .cate{
	margin-bottom: 100px;
}
#page3 .cate .cate_img{
	width: 50%;
	margin: 0 auto 30px;
}
#page3 .cate .cate_img img{
	box-shadow: 0 2px 5px rgba(0,0,0,0.3);
}
#page3 .cate .cate_title{
	width: 70%;
	margin: 0 auto 10px;
}
#page3 .cate .cate_txt{
	width: 70%;
	margin: 0 auto 50px;
}
#page3 .cate .box{
	width: 70%;
	margin: 0 auto 30px;
	box-sizing: border-box;
	padding: 3%;
	border-radius: 10px;
	text-shadow: 0 1px 2px rgba(0,0,0,0.2);
}
#page3 .cate .box .box_title{
	margin-bottom: 10px;
}
#page3 .cate .box .box_txt{
	font-size: 14px;
}
/*page4.html*/
#page4{}
#page4 .cate{
	padding-left: 10%;
}
#page4 .cate .cate_title{
	padding: 10px;
	box-shadow: 2px 4px 4px rgba(0,0,0,0.3);
	position: relative;
	z-index: 1;
}
#page4 .cate .subcate{
	padding-left: 5%;
	width: 90%;
}
#page4 .cate .subcate .subcate_img{
	padding: 20px 0;
}
#page4 .cate .subcate .box_img{
	width: 50%;
	margin: 0 auto;
}
#page4 .cate .subcate .sub_title,#page4 .cate .subcate .sub_txt{
	padding: 10px;
	border-left: 1px solid;
}
#page4 .cate .subcate .sub_title{
	padding-top: 20px;
}
#page4 .cate .subcate .sub_txt{
	border-bottom: 1px solid;
	padding-bottom: 20px;
}
#page4 .cate .subcate .box_wrap{
	border-right: 1px solid;
	padding: 10px 10px 30px;
}
#page4 .cate .subcate .box_wrap .box{
	margin: 30px 10% 0;
}
#page4 .cate .subcate .box_wrap .box .table{
	border-bottom: 1px solid;
}
#page4 .cate .subcate .box_wrap .box .table .table_cell{
	width: 50%;
	padding: 5px;
}
#page4 .cate .subcate .box_wrap .box > .box_txt{
	font-size: 14px;
	padding: 10px;
}
/*page5.html*/
#page5{}
#page5 .cms_wrap{
	display:-webkit-box;
    display:-moz-box;
    display:-ms-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:-ms-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    justify-content: flex-start;
    align-items: center;
	position: relative;
}
#page5 .cms_wrap .box{
	width: 29%;
	margin: 2%;
	box-shadow: 0 5px 10px rgba(0,0,0,0.2);
	transition: all 0.5s;
}
#page5 .cms_wrap .box:hover{
	transform: translate(0,-10px);
}
#page5 .cms_wrap .pager{
	margin: 50px 15% 0;
}
#page5 .cms_wrap::after{
	clear:both;
	content:".";
	visibility:hidden;
	display:block;
	height:0;
}
/*page6.html*/
#page6{}
#page6 .cms_wrap{
	width: 100%;
}
#page6 .cms_wrap .box{
	width: 80%;
	padding: 10%;
	margin: 0 auto;
	box-shadow: 0 5px 8px rgba(0,0,0,0.2);
}
#page6 .cms_wrap .box .date{
	font-size: 14px;
	letter-spacing: 4px;
	border-bottom: 1px solid;
}
#page6 .cms_wrap .box .date{
}
#page6 .cms_wrap .box figure{
	width: 60%;
	margin: 0 auto;
	padding: 15px 0;
}
#page6 .cms_wrap .box figure img{
	box-shadow: 0 2px 5px rgba(0,0,0,0.3);
}
#page6 .cms_wrap .box .box_title{
	border-top: 1px solid;
	padding: 20px 10px 10px;
	margin-top: -1px;
}
#page6 .cms_wrap .box .box_txt{
	padding: 0 10px;
}
#page6 .cms_wrap .pager{
	margin-top: 5%;
}
/*page7.html*/
#page7{}
#page7 .box_wrap{
	width: 90%;
}
#page7 .box_wrap .top_txt{
	padding: 10px;
	padding-left: 5%;
	margin-bottom: 50px;
}
#page7 .box_wrap #form_box{
}
#page7 .box_wrap #form_box .box{
}
#page7 .box_wrap #form_box .box h3{
	width: 80%;
	padding: 10px;
	box-sizing: border-box;
	text-align: left;
	padding-left: 20%;
}
#page7 #form_box .box input[type="text"],#page7 #form_box .box textarea{
	width: 60%;
	padding: 5px 5px;
	margin: 20px 0;
	margin-left: 20%;
	box-sizing: border-box;
	border: none;
	border-radius: 3px;
}
#page7 #form_box .box input::-webkit-input-placeholder,#page7 #form_box .box textarea::-webkit-input-placeholder{
	font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;
	font-size: 14px;
}
#page7 #form_box .box input:-moz-placeholder,#page7 #form_box .box textarea:-moz-placeholder{
	font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;
	font-size: 14px;
}
#page7 #form_box .box input::-moz-placeholder,#page7 #form_box .box textarea::-moz-placeholder{
	font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;
	font-size: 14px;
}
#page7 #form_box .box input:-ms-input-placeholder,#page7 #form_box .box textarea:-ms-input-placeholder {
	font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;
	font-size: 14px;
}
#page7 #form_box #form_bt{
	margin-left: 20%; 
}
#page7 #form_box #form_bt div{
	display: inline-block;
	width: 25%;
	height: 50px;
	margin: 0 5%;
	position: relative;
	-ms-transition: all 0.5s;
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
}
#page7 #form_box #form_bt div input{
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 99;
	top: 0;
	left: 0;
	padding: 15px;
	cursor: pointer;
	border: none;
	background-color: transparent;
	-webkit-appearance: none;
}
#page7 #form_box #form_bt div:hover{
	transform: translate(0,-5px);
	box-shadow: 0 2px 4px rgba(0,0,0,0.5);
}
#page7 #form_box #form_bt div::after{
	display: block;
	position: absolute;
	width: auto;
	height: 18px;
	font-size: 18px;
	letter-spacing: 3px;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	line-height: 1;
	z-index: 98
}
#page7 #form_box #form_bt #submit::after{
	content: "送信";
}
#page7 #form_box #form_bt #reset::after{
	content: "クリア";
}

/*page8.html*/
#page8{
	margin-bottom: 20px;
}
#page8 .box_wrap{
	width: 90%;
	padding: 50px;
	box-sizing: border-box;
}
#page8 .box_wrap .box{
	padding: 20px;
}
#page8 .box_wrap .box h3{
	letter-spacing: 4px;
}
#page8 .box_wrap .box p{
	letter-spacing: 2px;
	padding-left: 20px;
}
#map{
	width: 90%;
	padding: 50px;
	box-sizing: border-box;
}
#map h3{
	font-size: 28px;
	letter-spacing: 2px;
	margin-bottom: 20px;
}
#map iframe{
	width: 100%;
	height: 500px;
}
/*page9.html*/
#page9{}
#page9 .box_wrap{
	width: 90%;
}
#page9 .box_wrap .box{
	padding: 5%;
	margin-bottom: 30px;
}
#page9 .box_wrap .box h3{
	margin-bottom: 20px;
}
#page9 .box_wrap .box p a{
	display: inline-block;
	line-height: 1;
	padding: 3px;
	margin: 0 5px;
	border-bottom: 1px solid;
	transition: all 0.3s;
}
#page9 .box_wrap .box p a:hover{
	opacity: 0.5;
}
/*page10.html*/
#page10{}
#page10 .box_wrap{
	width: 50%;
	text-align: left;
}
#page10 .box_wrap ul{
	padding-left: 20%;
}
#page10 .box_wrap ul li{
	margin-top: 30px;
}
#page10 .box_wrap ul li a{
	display: inline;
	padding: 10px;
	padding-left: 30px;
	position: relative;
	transition: all 0.5s;
	text-shadow: 0 1px 2px rgba(0,0,0,0.2);
	line-height: 1;
	vertical-align: middle;
}
#page10 .box_wrap ul li a svg{
	width: 18px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translate(0,-9px);
}
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {  
#page10 .box_wrap ul li a svg{
	left: 0;
	top: 0;
	transform: translate(0,-5px);
}
}
/*表示を切り替えるウィンドウサイズの指定*/
@media screen and (max-width: 780px){
.width_wrap{
	width: 100%;
	max-width: 100%;
	min-width: 100%;
	margin: 0 auto;
	overflow: hidden;
}
body {
	font-size: 14px;
}
.font_24{
	font-size: 20px;
}
.font_20{
	font-size: 18px;
}
.font_18{
	font-size: 16px;
	letter-spacing: 1px;
}
.font_16{
	font-size: 14px;
}
/*ページ共通部分*/
#wrap{
	min-width: 100%;
}
.left_box{
	width: 30%;
	min-width: 30%;
}
.right_box{
	width: 70%;
	min-width: 70%;
}

header #header{
	min-height: 100%;
}
header #header #main_menu{
	width: 90%;
	margin: 0 auto;
	text-align: center;
	transition: none;
}
/*page title*/
#page_title{
	padding: 30px;
	margin: 30px 0;
}
#page_title h2{
	box-sizing: border-box;
	padding: 0;
	font-size: 28px;
}
/*page top*/
#page-top {
    bottom: 20px;
    right: 20px;
}
#page-top a{
	height: 50px;
	width: 50px;
}
/*index.html*/
#intro{
	padding: 30px;
	position: relative;
}
#intro::before{
	right: 30px;
}
#intro::after{
	bottom: 30px;
}
#intro .box_wrap{
	padding: 3%;
}
#contents{
	width: 100%;
}
#contents .box_wrap .flex_box .box:first-of-type{
	box-sizing: border-box;
	padding: 3%;
}
#contents .box_wrap .flex_box .box h3{
	font-size: 16px;
}
#contents .box_wrap > p{
	width: 80%;
}

/*top_cms*/
.top_cms{
	width: 100%;	
}
/*page2.html*/
#page2 .cms_wrap{
	width: 100%;
}
/*page3.html*/
#page3 .cate{
	margin-bottom: 100px;
}
#page3 .cate .cate_img{
	width: 80%;
}
#page3 .cate .cate_title{
	width: 80%;
}
#page3 .cate .cate_txt{
	width: 80%;
}
#page3 .cate .box{
	width: 80%;
}
/*page4.html*/
#page4 .cate{
	padding-left: 5%;
}
#page4 .cate .subcate .box_wrap .box{
	margin: 30px 5% 0;
}
#page4 .cate .subcate .box_img{
	width: 80%;
	margin: 0 auto;
}

/*page5.html*/
#page5 .cms_wrap .box{
	width: 44%;
	margin: 3%;
	float: left;
}
/*page6.html*/
#page6 .cms_wrap .box figure{
	width: 80%;
	margin: 0 auto;
	padding: 15px 0;
}
/*page7.html*/
#page7 .box_wrap{
	width: 100%;
}
#page7 .box_wrap .top_txt{
	margin-bottom: 40px;
}
#page7 .box_wrap #form_box .box{
	margin-bottom: 30px;
}
#page7 .box_wrap #form_box .box h3{
	width: 40%;
	padding: 10px;
	box-sizing: border-box;
	margin-bottom: 10px;
	text-align: right;
}
#page7 #form_box .box input[type="text"],#page7 #form_box .box textarea{
	width: 70%;
	padding: 5px 5px;
	margin-left: 15%;
	box-sizing: border-box;
	border: none;
}
#page7 #form_box #form_bt{
	margin-left: 15%; 
}
#page7 #form_box #form_bt div{
	display: inline-block;
	width: 30%;
	height: 50px;
	margin: 0 5%;
	position: relative;
	-ms-transition: all 0.5s;
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
}
#page7 #form_box #form_bt div::after{
	height: 16px;
	font-size: 16px;
}
/*page8.html*/
#page8 .box_wrap{
	width: 100%;
	padding: 30px;
	box-sizing: border-box;
}
#map{
	width: 100%;
	padding: 30px;
	box-sizing: border-box;
}
#map h3{
	font-size: 24px;
}
#map iframe{
	width: 100%;
	height: 400px;
}
/*page9.html*/
#page9{}
#page9 .box_wrap{
	width: 100%;
}
/*page10.html*/
#page10 .box_wrap{
	width: 70%;
	text-align: left;
}
#page10 .box_wrap ul li::after{
	right: 0;
}
}
/*表示を切り替えるウィンドウサイズの指定*/
@media screen and (max-width: 700px){
.sp_hide{
	display: none;
}
.pc_hide{
	display: block;
}
.pager {
	border: none;
	padding-top: 5%;
}
.pager li:not(.prev):not(.next){
	display: none;
}
.pager li{
	width: 35%;
	margin: 0 5%;
}
.pager li a{
	display: block;
	padding: 5%;
	box-sizing: border-box;
	border: none;
}
/*page title*/
#page_title{
	padding: 20px;
}
#page_title h2{
	box-sizing: border-box;
	padding: 0;
	font-size: 20px;
}
/*ページ共通部分*/
#wrap{
	display: block;
}
#wrap{

}
.left_box,.right_box{
	width: 100%;
}
header{
	position: fixed;
	z-index: 99;
	width: 100%;
	top: 0;
	left: 0;
	max-width: 100%;
	height: auto;
	min-height: auto;
	box-shadow: 0 5px 10px rgba(0,0,0,0.5);
}
header #header{
	position: static;
	margin-top: 0!important;
	transition: all 0s;
	padding-left: 0;
}
header #header #logo.square{
	width: 25%;
	padding: 20px 5%;
	margin: 0;
	max-width: 25%;
}
header #header #logo.rectangle{
	width: 50%;
	padding: 20px 5%;
	margin: 0;
	max-width: 50%;
}
header #header .menu_bt{
	position: absolute;
	top: 50%;
	left: 75%;
	width: 20%;
	transform: translate(0,-50%);
	line-height: 1;
	background-color: transparent;
}
header #header #main_menu{
	display: none;
}
#side_menu ul li{
	margin-bottom: 10px;
}
footer .sns_link{
	display: flex;
	margin: 0 auto;
	width: 100%;
	padding: 20px 0;
}
footer .sns_link li{
	width: 20%;
	max-width: 40px;
	text-align: center;
	vertical-align: middle;
	box-sizing: border-box;
	margin: 0 10px;
}
footer .sns_link li a{
	display: block;
	width: 40px;
	height: 40px;
	overflow: hidden;
}
footer #footer #footer_cms{
	font-size: 14px;
}
footer #copyright{
	font-size: 12px;
	vertical-align: middle;
	line-height: 1;
}
footer #copyright:first-letter{
	font-size: 20px;
	vertical-align: middle;
}
/*index.html*/
section{
	margin-bottom: 50px;
}
#main_img{
	width: 90%;
	margin: 10% 5%;
}
#intro .box_wrap{
	margin: 0 auto;
	box-sizing: border-box;
	padding: 0 30px 30px 0;
}
#contents .box_wrap{
	margin-bottom: 50px;
}
#contents .box_wrap .flex_box{
	display: block;
	padding: 15px;
}
#contents .box_wrap .flex_box .box{
	width: 100%;
	text-align: center;
}
#contents .box_wrap:nth-of-type(odd) .flex_box .box figure{
	text-align: center;
}
#contents .box_wrap:nth-of-type(even) .flex_box .box figure{
	text-align: center;
}
#contents .box_wrap .flex_box .box:first-of-type{
	box-sizing: border-box;
	padding: 0;
	margin-bottom: 10px;
}
#contents .box_wrap .flex_box .box h3{
	padding: 20px 0;
}
#contents .box_wrap > p{
	width: 90%;
	max-width: 90%;
	margin: 0 auto;
}
/*top_cms*/
.top_cms{
	width: 100%;	
}
.top_cms_title{
	letter-spacing: 4px;
	margin-bottom: 50px;
}
.top_cms_title.table{
	display: block;
	padding: 5% 10px;
	box-sizing: border-box;
}
.top_cms_title h3{
	display: block;
	padding: 0;
}
.top_cms_title .more{
	width: 100%;
	font-size: 14px;
	display: block;
	text-align: right;
}
.top_cms_title .more a{
	display: inline-block;
}
.page2_cms .box{
	width: 90%;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 10px;
}
.page2_cms .box .date{
	font-size: 12px;
}
.page3_cms .box {
	width: 90%;
	margin: 0 auto;
}
.page3_cms .box figure{
	width: 90%;
	max-width: 90%;
	margin: 0 auto 30px;
}
.page4_cms .box_wrap .box{
	padding: 10px 0;
}
.page4_cms .box_wrap .box a{
	display: block;
}
.page4_cms .box_wrap .box a:hover{
	opacity: 0.5;
}
.page4_cms .box_wrap .box:last-of-type{
	border-bottom: none;
}
.page4_cms .box_wrap .box h4,.page4_cms .box_wrap .box p{
	display: block;
	width: 90%;
	box-sizing: border-box;
	padding: 5px 10px;
	border-bottom: 1px dashed;
	margin: 0 auto;
}
.page4_cms .box_wrap .box p:last-of-type{
	border-bottom: none;
}
.page5_cms .box_wrap .box{
	width: 70%;
	padding: 3% 5%;
	margin: 0 auto;
	float: none;
}
.page5_cms .box_wrap .box .rectangle_img{
	box-shadow: 0 2px 5px rgba(0,0,0,0.3);
	transition: all 0.3s;
}
.page5_cms .box_wrap .box .rectangle_img:hover{
	opacity: 0.5;
}
.page6_cms .box{
	width: 90%;
	margin: 0 auto;
	padding: 20px 10px;
	box-sizing: border-box;
	border-bottom: 1px solid;
}
.page6_cms .box a{
	display: block;
	transition: all 0.3s;
}
.page6_cms .box a:hover{
	opacity: 0.5;
}
.page6_cms .box:last-of-type{
	border-bottom: none;
}
.page6_cms .box h4{
	margin-bottom: 10px;
}
/*page2.html*/
#page2 .cms_wrap{
	width: 100%;
}
#page2 .cms_wrap .box{
	padding: 5%  0;
}
#page2 .cms_wrap .box .box_title{
	margin: 0 auto 10px;
	width: 90%;
}
#page2 .cms_wrap .box .box_txt{
	margin: 0 auto;
	width: 90%;
}
#page2 .cms_wrap .box figure{
	width: 80%;
	margin: 30px auto 0;
}
/*page3.html*/
/*cate_list*/
.cate_list{
	margin-bottom: 50px;
}
.cate_list li{
	display: block;
	width: 90%;
	text-align: right;
	margin-bottom: 20px;
	box-sizing: border-box;
}
.cate_list li::after{
	display: none;
}
.cate_list li a{
	display: block;
	padding: 10px;
}
#page3 .cate{
	margin-bottom: 100px;
}
#page3 .cate .cate_img{
	width: 80%;
	margin: 0 auto 20px;
}
#page3 .cate .cate_title{
	width: 90%;
	margin: 0 auto 10px;
}
#page3 .cate .cate_txt{
	width: 80%;
	margin: 0 auto 50px;
}
#page3 .cate .box{
	width: 90%;
	margin: 0 auto 30px;
	box-sizing: border-box;
	padding: 5%;
	border-radius: 10px;
	text-shadow: 0 1px 2px rgba(0,0,0,0.2);
}
/*page4.html*/
#page4{}
#page4 .cate{
	padding-left: 5%;
}
#page4 .cate .cate_title{
	padding: 5px 10px;
}
#page4 .cate .subcate .subcate_img{
	padding: 15px 0;
}
#page4 .cate .subcate .box_img{
	width: 70%;
	margin: 0 auto;
}
#page4 .cate .subcate .box_wrap{
	padding: 10px 10px 20px;
}
#page4 .cate .subcate .box_wrap .box{
	margin: 30px 5px 0;
}
#page4 .cate .subcate .box_wrap .box .table{
	border: 1px solid;
	padding: 5px;
	box-sizing: border-box;
}
#page4 .cate .subcate .box_wrap .box .table .table_cell{
	width: 100%;
	box-sizing: border-box;
	display: block;
}
#page4 .cate .subcate .box_wrap .box .table .box_title{
	border-bottom: 1px dashed;
}
#page4 .cate .subcate .box_wrap .box > .box_txt{
	font-size: 14px;
	padding: 10px;
}
/*page5.html*/
#page5 .cms_wrap .box{
	width: 90%;
	margin: 30px auto;
	float: none;
}
#page7 .box_wrap #form_box .box h3{
	width: 100%;
	padding: 10px;
	padding-left: 5%;
	box-sizing: border-box;
	margin-bottom: 20px;
	text-align: left;
}
#page7 #form_box .box input[type="text"],#page7 #form_box .box textarea{
	width: 80%;
	padding: 5px 5px;
	margin-left: 10%;
	box-sizing: border-box;
	border: none;
}
#page7 #form_box .box input::-webkit-input-placeholder,#page7 #form_box .box textarea::-webkit-input-placeholder{
	font-size: 12px;
}
#page7 #form_box .box input:-moz-placeholder,#page7 #form_box .box textarea:-moz-placeholder{
	font-size: 12px;
}
#page7 #form_box .box input::-moz-placeholder,#page7 #form_box .box textarea::-moz-placeholder{
	font-size: 12px;
}
#page7 #form_box .box input:-ms-input-placeholder,#page7 #form_box .box textarea:-ms-input-placeholder {
	font-size: 12px;
}
#page7 #form_box #form_bt{
	margin-left: 10%; 
}
#page7 #form_box #form_bt div{
	display: inline-block;
	width: 35%;
	height: 50px;
	margin: 0 5%;
	position: relative;
	-ms-transition: all 0.5s;
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
}
#page7 #form_box #form_bt div::after{
	height: 16px;
	font-size: 14px;
}
/*page8.html*/
#page8 .box_wrap{
	padding: 20px;
}
#page8 .box_wrap .box{
	padding: 10px;
}
#map{
	padding: 20px;
}
#map h3{
	font-size: 18px;
}
#map iframe{
	width: 100%;
	height: 300px;
}
/*page10.html*/
#page10 .box_wrap{
	width: 90%;
}
}
/*表示を切り替えるウィンドウサイズの指定*/
@media screen and (max-width: 850px) and (max-height:500px){
header #header #main_menu .top_menu{
	display: inline-block;
	margin-bottom: 30px;
}
header #header #main_menu .top_menu li:not(.menu_bt){
	display: none;
}

}
@media screen and (max-width: 700px) and (max-height:400px){
header #header #logo.square{
	width: 15%;
	padding: 10px 2%;
	margin: 0;
	max-width: 15%;
}
header #header #logo.rectangle{
	width: 25%;
	padding: 10px 2%;
	margin: 0;
	max-width: 25%;
}
}