@charset "utf-8";

@-ms-viewport {
  width: device-width;
}

@viewport {
  width: device-width;
}

* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.pc{display:block!important;}
.sp{display:none!important;}



/*Contents layout
----------------------------------------------------*/
section:after,
.contents:after,
dl:after,
.path ul:after,
.single-box:after{
	visibility: hidden;
	display: block;
	font-size: 0px;
	content: " ";
	clear: both;
	height: 0;
}

article{
	width:1200px;
	margin:0 auto;
	padding:20px 0 50px 0;
}

header{
	width:1200px;
}

section.main{
	float:left;
	width:820px;
}

section.menu{
	float:right;
	width:380px;
}


/*navigation
----------------------------------------------------*/
.box_gnav{
	margin-bottom:20px;
	padding:30px 20px;
	border-radius:10px;
	box-shadow: 0px 0px 5px 0px #aaa;
	background:#FFF;
}

.box_gnav ul li{
	margin-bottom:3px;
}

.box_gnav ul li a{
	position:relative;
	padding:5px 10px;
	color:#FFF;
	display:block;
}

.box_gnav ul li a span{
	position:absolute;
	top:0;
	bottom:0;
	margin:auto;
	right:5%;
	width: 10px;
	height: 10px;
	border: 1px solid;
	border-color: #FFF #FFF transparent transparent;
	transform: rotate(45deg);
	display:block;
}

.box_menu{
	margin-bottom:20px;
	padding:20px 20px 30px 20px;
	border-radius:10px;
	box-shadow: 0px 0px 5px 0px #aaa;
	background:#FFF;
}

.box_menu ul li{
	margin-bottom:10px;
	padding:0 0 10px 15px;
	border-bottom:1px solid #BBB;
}

.box_menu ul li a{
	display:block;
}

.box_menu ul li ul li{
	margin-bottom:10px;
	padding:0 0 0 25px;
	background:url(../img/icon_level1-2.gif) no-repeat left 1.4rem;
	border-bottom:0;
	font-size:1.4rem;
}

.box_menu ul li ul li ul li{
	margin-bottom:10px;
	padding:0 0 0 20px;
	background:url(../img/icon_ul2.png) no-repeat left 1.2rem;
	border-bottom:0;
	font-size:1.4rem;
}

.box_news{
	padding:20px 20px 10px 20px;
	border-radius:10px;
	box-shadow: 0px 0px 5px 0px #aaa;
	background:#FFF;
}

.box_news dl{
	margin-bottom:20px;
	padding-bottom:20px;
	border-bottom:1px solid #BBB;
}

.box_news dl dt{
	float:left;
	width:120px;
}

.box_news dl dt img{
	width:100%;
	height:auto;
	display:block;
}

.box_news dl dd{
	float:right;
	width:200px;
	font-size:1.4rem;
}

.box_news dl dd span{
	font-size:1.2rem;
	display:block;
}

.box_news dl dd a{
	text-decoration:underline;
}

hr{
	display:none;
}

@keyframes show{
    from{
        opacity: 0;
    }
    to{
        opacity: 1;
    }
}

#acMenu ul li a +ul{
	height:0;
	display:none;
}

#acMenu ul li a.active +ul{
	height:auto;
	display:block;
	animation: show 1s linear 0s;
}

#acMenu ul li ul li a +ul{
	height:auto;
	display:block;
}

.box_search{
	width:380px;
	height:38px;
	margin-bottom: 20px;
	border-radius: 10px;
	box-shadow: 0px 0px 5px 0px #aaa;
	background: #FFF;
}

.box_search input[type="text"]{
	width:345px;
	height:34px;
	padding:7px;
	border:0;
	margin-left: 2px;
	display:inline-block;
}

.box_search input[type="submit"]{
	width:18px;
	height:38px;
	margin:0!important;
	padding:0!important;
	background:url(../img/btn_search.png) no-repeat center;
	border:0;
	text-indent:-9999px;
	overflow:hidden;
	cursor:pointer;
	display:inline-block;
}


/*header
----------------------------------------------------*/
header .box_ttl{
	float:left;
	width:800px;
	height:380px;
	margin-bottom:20px;
	/*padding-top:150px;*/
	border-radius:10px;
	box-shadow: 0px 0px 5px 0px #aaa;
	/*background:url(../img/bg_ttl2.jpg) no-repeat center top;
	background-size:cover;*/
	text-indent:-9999px;
	overflow:hidden;
	/*font-size:4.6rem;
	font-weight:bold;
	color:#000;*/
}

.box_logo{
	position:relative;
	float:right;
	width:380px;
	height:380px;
	margin-bottom:20px;
	/*padding-top:90px;*/
	border-radius:10px;
	box-shadow: 0px 0px 5px 0px #aaa;
	background:#000;
	/*background:url(../img/bg_logo2.jpg) no-repeat center top;
	background-size:cover;*/
	text-align:center;
	overflow:hidden;
}

.menu .box_logo{
	float:none;
}

.box_logo img{
	width:auto;
	height:380px;
	display:block;
}


/*top
----------------------------------------------------*/
.box_lead{
	float:left;
	width:390px;
	height:240px;
	margin:0 20px 20px 0;
	padding:30px 20px;
	border-radius:10px;
	box-shadow: 0px 0px 5px 0px #aaa;
	background:#FFF;
}

.box_lead h2{
	margin-bottom:20px;
	font-size:2.8rem;
}

.box{
	float:right;
	width:390px;
	height:500px;
	margin:0 20px 20px 0;
	border-radius:10px;
	box-shadow: 0px 0px 5px 0px #aaa;
	background:#FFF;
}

.box:nth-child(odd){
	float:left;
}

.box dl{
	position:relative;
}

.box dl dt{
	position:relative;
	height:250px;
	border-radius: 10px 10px 0 0 / 10px 10px 0 0;
	overflow:hidden;
}

.box dl dt a{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}

.box dl dt a img{
	width:100%;
	height:auto;
}

.box dl dt a:hover img{
	width:110%;
	height:auto;
	margin:-5% 0 0 -5%;
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-ms-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
}

.box dl dd{
	height:230px;
	padding:20px 20px 0 20px;
	line-height:1.8;
	overflow:hidden;
}

h2{
	margin-bottom:20px;
	font-size:2.2rem;
	font-weight:bold;
}

h2 a{
	padding-bottom:5px;
	border-bottom:1px solid #6c2735;
}


/*list
----------------------------------------------------*/
.box_cate,
.box_full{
	margin:0 20px 20px 0;
	padding:30px 20px;
	border-radius:10px;
	box-shadow: 0px 0px 5px 0px #aaa;
	background:#FFF;
}

.path{
	margin-bottom:20px;
	font-size:1.4rem;
}

.path ul li{
	display:inline;
}

.path ul li:before{
	content:" > "
}

.path ul li:first-child:before{
	content:"";
}

.path ul li a{
	text-decoration:underline;
}

.box_cate h1{
	margin-bottom:10px;
	font-size:3.4rem;
}

.box_lead.level2{
	float:none;
	width:auto;
	height:auto;
}

.box_full ul li{
	margin-bottom:60px;
	font-size:2.4rem;	
}

.box_full ul li ul{
	padding-top:30px;
}

.box_full ul.nochild li,
.box_full ul li ul li{
	margin-bottom:0;
}

.box_full ul.nochild li a,
.box_full ul li ul li a{
	position:relative;
	margin-bottom:10px;
	padding:0 0 10px 25px;
	border-bottom:1px solid #6c2735;
	font-size:1.6rem;
	display:block;
}

.box_full ul.nochild li a span,
.box_full ul li ul li a span{
	position:absolute;
	top:-8px;
	bottom:0;
	margin:auto;
	left:0;
	width: 8px;
	height: 8px;
	border: 1px solid;
	border-color: #191970 #191970 transparent transparent;
	transform: rotate(45deg);
	display:block;
}

.more-link{
	padding-bottom: 3px;
	border-bottom: 1px solid #6c2735;
	font-size:0.8em;
}

.screen-reader-text{
	display:none;
}


/*single
----------------------------------------------------*/
.box_full.single{
	padding:0;
}

.box_full.single .contents{
	padding:30px 20px;
}

/*.box_full.single .ph{
	height:530px;
	margin-bottom:30px;
	border-radius: 10px 10px 0 0 / 10px 10px 0 0;
	overflow:hidden;		
}*/

.box_full.single .ph{
	float:right;
	width:400px;
	height:300px;
	margin:0 0 30px 30px;
	border-radius: 0 10px 0 0 / 0 10px 0 0;
	overflow:hidden;		
}

.box_full.single img{
	width:100%;
	height:auto;
}

.box_full.single h1{
	padding:10px 0 50px 0;
	font-size:3.4rem;
	color:#6c2735;
}

.box_full.single h2{
	margin-bottom:30px;
	font-size:2.4rem;	
}

.box_full.single h3{
	margin-bottom:20px;
	padding-bottom:10px;
	border-bottom:1px solid #BBB;
	font-size:1.8rem;	
}

.box_full.single strong{
	color:#E30000;
}

.box_full.single p,
.box_full.single ul,
.box_full.single ol,
.box_full.single table,
.box_full.single figure{
	margin:0 0 50px 0;
}

.box_full.single ul li{
	margin-bottom:0.5rem;
	padding-left:20px;
	background:url(../img/icon_ul2.png) no-repeat left 1.2rem;
	font-size:1.6rem;
}

.box_full.single .path ul li{
	margin-bottom:0;
	padding-left:0;
	background:none;
	display:inline;
}

.box_full.single table th,
.box_full.single table td{
	padding:10px;
	border:1px solid #CCC;
	font-size:0.8em;
}

.box_full.single table th{
	background:#F2F2F2;
}

.box_full.single .kakomi,
.box_full.single .wp-block-group{
	margin-bottom:50px;
	padding:30px 30px 0 30px;
	border:1px solid #BBB;
	border-radius:10px;
}

.box_full.single .btn{
	position:relative;
	width:500px;
	margin:0 auto;
	padding:20px;
	font-size:2.4rem;
	color:#FFF;
	text-align:center;
	display:block;
	clear:both;
}

.box_full.single .btn span{
	position:absolute;
	top:0;
	bottom:0;
	margin:auto;
	right:5%;
	width: 10px;
	height: 10px;
	border: 1px solid;
	border-color: #FFF #FFF transparent transparent;
	transform: rotate(45deg);
	display:block;
}

input{
	width:60%;
	padding:10px;
	border:1px solid #CCC;
	border-radius:5px;
}

textarea{
	width:100%;
	padding:10px;
	border:1px solid #CCC;
	border-radius:5px;
}

input[type="submit"]{
	width:500px;
	margin:0 auto;
	padding:20px;
	border:0;
	font-size:2.0rem;
	color:#FFF;
	text-align:center;
	display:block;
	cursor:pointer;
}


/*search
----------------------------------------------------*/
.box_full.search{
	padding:30px 20px;
}

.chatch-img{
	float:left;
	width:25%;
	padding-top:0.6em;
}

.single-desc{
	float:right;
	width:72%;
}

.pagination{
	margin-bottom:20px;
	text-align:center;
}

.page-numbers{
	padding:2px 8px;
}


/*footer
----------------------------------------------------*/
footer{
	width:1200px;
	margin:0 auto;
	padding:50px 0;
	text-align:right;
	font-size:1.2rem;
	clear:both;
}