@charset "utf-8";

@import "base_layout.css";
@import "common_parts.css";

h1{
	height: 60px;
	text-align: center;
	line-height: 1.0;
	color: #FFF;
	text-shadow: 1px 1px 0px #000;
	margin: -1em 0 0 0;
}

/*animation
----------------------------------------------------------------------*/
body{
	background: url(../../img/toppage/mainph.jpg) no-repeat center top fixed;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}
@media screen and (max-width: 768px){
body{
	background: url(../../img/toppage/mainph.jpg) no-repeat center top fixed;
	-webkit-background-size: contain;
	-moz-background-size: contain;
	-o-background-size: contain;
	background-size: contain;
}
}

.anim{
	opacity: 0;
	transform: translate(0,60px); 
	-webkit-transform: translate(0,60px); 
	transition: .8s;
}

.anitl{
	opacity: 0;
	transform: translate(0,20px); 
	-webkit-transform: translate(0,20px); 
	transition: .4s;
}
.move{
	opacity: 1.0;
	transform: translate(0,0); 
	-webkit-transform: translate(0,0);
}

.delay1{
	transition-delay: .1s;
}
.delay2{
	transition-delay: .2s;
}
.delay3{
	transition-delay: .3s;
}
.delay4{
	transition-delay: .4s;
}
.delay5{
	transition-delay: .5s;
}
.delay6{
	transition-delay: .6s;
}
.delay7{
	transition-delay: .7s;
}


@media screen and (max-width: 768px){
.delay1,
.delay2,
.delay3,
.delay4,
.delay5,
.delay6,
.delay7{
	transition-delay: .1s;
}
}


/*breadcrumb
----------------------------------------------------------------------*/
section#main > nav{
	width: 1000px;
	margin: auto;
	padding: 0 0 20px 0;
}
section#main > nav ol{
	display: table;
	font-size: 12px;
	margin: 0 0 0 10px;
}
section#main > nav ol li{
	display: table-cell;
	vertical-align: middle;
	padding: 0 7px;
	color: #000;
}

section#main > nav ol li:first-child{
	background: url(../../img/common/icon_home.png) no-repeat left 0.2em;
	padding: 0 0 0 20px;
	-moz-background-size: 14px auto;
	background-size: 14px auto;
}
section#main > nav ol li a{
	background: url(../../img/common/ar_black1.png) no-repeat right 0.0em;
	padding: 0 25px 0 0;
	color: #000;
	-moz-background-size: 14px auto;
	background-size: 14px auto;
}
@media screen and (max-width: 768px){
section#main > nav{
	display: none;
}
}



/*title
************************************************************************************/
h2{
	text-align: center;
	font-size: 30px;
	font-weight: bold;
	background: url(../../img/common/icon_circle_red.png) no-repeat center bottom;
	-moz-background-size: 8px auto;
	background-size: 8px auto;
	padding: 0 0 15px 0;
	margin: 0 0 30px 0;
	color: #000;
}
h2 span{
	padding: 10px 0 0 0;
	font-size: 12px;
	font-weight: 600;
	color: #e50012;
	display: block;
}


h3{
	font-size: 24px;
	margin: 0 0 15px 0;
	padding: 0 0 15px 0;
	display: block;
	text-align: center;
}
h3 span{
	padding: 0 0 4px 0;
	border-bottom: 2px solid #e50012;
	display: inline-block;
}

h4{
	font-size: 21px;
	margin: 0 0 15px 0;
	padding: 0 0 15px 0;
	font-weight: bold;
}
h4.sub{
	margin: 0 0 5px 0;
	padding: 0 0 5px 0;
}
h4 span{
	border-bottom: 2px solid #000;
	padding: 0 0 4px 0;
	display: inline-block;
}

.eng_ttl{
	font-weight: 600;
	font-size: 14px;
	margin: 2px 0;
	padding: 2px 0;
}

h5{
	font-size: 20px;
	font-weight: bold;
	padding: 0 0 5px 0;
	margin: 0 0 5px 0;
}

.catch_copy{
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	padding: 10px 0 20px 0;
}

.white_base *{
	color: #FFF !important;
	border-color: #FFF !important;
}


@media screen and (max-width: 768px){
h1{
	font-size: 26px;
}
h2{
	font-size: 24px;
}

h3{
	font-size: 21px;
	margin: 0 0 15px 0;
	padding: 0 0 15px 0;
	display: block;
	text-align: center;
}
h3 span{
	padding: 0 0 4px 0;
	border-bottom: 2px solid #e50012;
	display: inline-block;
}

h4{
	font-size: 19px;
	margin: 0 0 15px 0;
	padding: 0 0 15px 0;
	font-weight: bold;
}
}

/*.in_page_menu
************************************************************************************/
.in_page_menu{
	margin: 0 0 40px 0;
}


.in_page_menu ul{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-justify-content: left;
	justify-content: left;
}
.in_page_menu ul li{
	margin: 3px 0.5%;
}

.in_page_menu ul li a{
	display: block;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	border: 2px solid #000;
	border-radius: 1.5em;
	-webkit-border-radius: 1.5em;
	-moz-border-radius: 1.5em;
	
	position: relative;
	z-index: 2;
	background-color: #fff;
	line-height: 40px;
	overflow: hidden;
	
	color: #000;
	text-decoration: none;
	
	text-align: center;
}

.in_page_menu ul li a,
.in_page_menu ul li a::before,
.in_page_menu ul li a::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.in_page_menu ul li a::before,
.in_page_menu ul li a::after{
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}


.in_page_menu ul li a::after {
	top: -100%;
	width: 100%;
	height: 100%;
}
.in_page_menu ul li a:hover::after {
	top: 0;
	background-color: #000;
}

.in_page_menu ul li a:hover{
	color: #FFF;
	text-decoration: none;
}



.btnNormal{
	display: inline-block;
}
.btnNormal a{
	display: inline-block;
	width: 100%;
	text-align: center;
	text-decoration: none;
	outline: none;
	
	position: relative;
	z-index: 2;
	background-color: #000;
	border: 1px solid #000;
	color: #FFF;
	line-height: 60px;
	font-size: 15px;
	padding: 0 50px;
}
.btnNormal a::before,
.btnNormal a::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
	
	top: 0;
	width: 50%;
	height: 100%;
	background-color: #000;
}
.btnNormal a,
.btnNormal a::before,
.btnNormal a::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}



.btnNormal a:hover {
	background-color: #e50012;
	border-color: #000;
	color: #FFF;
}

.btnNormal a::before {
	right: 0;
}
.btnNormal a::after {
	left: 0;
}
.btnNormal a:hover::before,
.btnNormal a:hover::after {
	width: 0;
	background-color: #000;
}

@media screen and (max-width: 768px){
.btnNormal a{
	line-height: 2.1em;
	font-weight: bold;
	padding: 7px 30px;
}
}

/*section
************************************************************************************/
article{
}


section.main{
	padding: 15px 0;
}


.article{
	padding: 40px 0;
	/*padding: 40px 20px;*/
	margin: 0 auto;
	text-align: left;
}

.article:after {
    content: "";
    display: block;
    clear: both;
    height: 1px;
    overflow: hidden;
}
/*\*/
* html .article{
    height: 1em;
}
.article{
    display: block;
}
/* ▲ */
/* for IE7 */
*:first-child+html .article{
	zoom:1;
}

.article_box{
	border: 1px solid #000;
	margin: 15px 15px;
}
.article_box.text{
	padding: 0 10px 10px 10px !important;
}

.article_border{
	border-bottom: 1px solid #000;
}
.article_border.white_base{
	border-bottom: 1px solid #FFF;
}

.article_innner{
	padding-bottom: 15px;
	margin-bottom: 15px;
}

.text{
	padding: 10px;
	line-height: 1.8;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
.text20{
	padding: 20px;
}
.text p,
.text20 p{
	padding: 0 0 1em 0;
}
.text p:last-child,
.text20 p:last-child{
	padding: 0;
}
.text:after,
.text20:after{
    content: "";
    display: block;
    clear: both;
    height: 1px;
    overflow: hidden;
}
/*\*/
* html .text,
* html .text20{
    height: 1em;
}
.text,
.text20{
    display: block;
}
*:first-child+html .text,
*:first-child+html .text20{
	zoom:1;
}


/*itemBox
----------------------------------------------------------------------*/
.itemBox{
	margin: 30px 0;
}
.itemBox ul{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-justify-content: left;
	justify-content: left;
}
.itemBox ul li{
	display: block;
	padding: 10px;
	margin: 2px 0.5%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

.itemBox ul li.item1{
	width: 99%;
}
.itemBox ul li.item2{
	width: 49%;
}
.itemBox ul li.item3{
	width: 32%;
}
.itemBox ul li.item4{
	width: 24%;
}
.itemBox ul li.item5{
	width: 19%;
}
.itemBox ul li.box{
	border: 1px solid #df0615;
}
.itemBox ul li.line{
	border-right: 1px solid #df0615;
}
.itemBox ul li.none{
	border: 0;
}

.itemBox ul li .image{
	text-align: center;
	margin: 0 0 5px 0;
	padding: 0;
}
.itemBox ul li .image img{
	max-width: 100%;
	height: auto;
}
.itemBox ul li .caption{
	text-align: center;
	padding: 0;
}
.itemBox ul li .cmt{
	text-align: left;
	padding: 7px 0 0 0;
}

@media screen and (max-width: 768px){
.itemBox ul li.item1{
	width: 99%;
}
.itemBox ul li.item2{
	width: 49%;
}
.itemBox ul li.item3{
	width: 32%;
}
.itemBox ul li.item4{
	width: 49%;
}
.itemBox ul li.item5{
	width: 49%;
}
.itemBox ul li.line{
	border: 1px solid #df0615;
}
}
@media screen and (max-width: 480px){
.itemBox ul li.item1,
.itemBox ul li.item2,
.itemBox ul li.item3,
.itemBox ul li.item4,
.itemBox ul li.item5{
	width: 99%;
}
}


/*frameImage
----------------------------------------------------------------------*/
.frameImage{
	width: 400px;
	margin: 0 15px 15px;
	border: 1px solid #FFF;
	padding: 10px;
}
.frameImage.noborder{
	border: 0;
	margin: 0;
}
.frameImage .image{
	margin: 0;
	padding: 0;
}
.frameImage .image img{
	width: 400px;
	height: auto;
}
.frameImage .caption{
	margin: 5px 0 0 0;
	padding: 0;
}
@media screen and (max-width: 768px){
.frameImage{
	width: 400px;
	margin: 15px auto;
	border: 1px solid #FFF;
	padding: 10px;
}
}

@media screen and (max-width: 480px){
.frameImage{
	width: auto;
	margin: 15px auto;
	border: 1px solid #FFF;
	padding: 10px;
}
.frameImage img{
	max-width: 100%;
	height: auto;
}
}

/*table
----------------------------------------------------------------------*/
table.normal{
	width: 100%;
	margin: 15px auto;
	border-collapse:collapse;
	border: 0;
	border-top: 1px solid #000;
}

table.normal caption{
	padding: 5px 0;
	text-align: left;
	display: block;
	font-weight: bold;
}
table.normal caption:before{
	content: "■";
}

table.normal th{
	padding: 5px 10px;
	border-bottom: 1px solid #000;
	background-color: #EEE;
	font-weight: bold;
}

table.normal td{
	padding: 5px 10px;
	border-left: 1px dotted #000;
	border-right: 1px dotted #000;
	border-bottom: 1px solid #000;
}
table.normal tr td:last-child{
	border-right: 0;
}

table.normal thead th{
	background: #666;
	color: #FFF;
	text-align: center;
}
table.normal th span{
	font-size: 80%;
	font-weight: normal;
}

table.widenone{
	width: auto !important;
	margin: 5px 0 15px 0;
}

/*border-no*/
table.noborder{
	width: 100%;
	margin: 15px auto;
	border-collapse:collapse;
	border: 0;
}
table.noborder th{
	text-align: left;
}
table.noborder th,
table.noborder td{
	padding: 15px;
}

/*line*/
table.lineBtm{
	width: 100%;
	border-collapse:collapse;
	border: 0;
}

table.lineBtm caption{
	padding: 5px 0;
	text-align: left;
	font-size: 14px;
}

table.lineBtm th{
	padding: 10px;
	text-align: left;
	border-bottom: 1px dotted #666666;
}

table.lineBtm td{
	padding: 10px;
	border-bottom: 1px dotted #666666;
}

/**/
dl.normal{
	margin: 5px 0 1.5em 0;
}
dl.normal dt{
	color: #f89a05;
	font-weight: bold;
	margin: 0 0 0 0;
	padding: 0 0 0 0;
}
dl.normal dt:before{
	content: "■";
}
dl.normal dd{
	margin: 0 0 10px 10px;
}

/**/
.divTable{
	display: table;
	table-layout: fixed;
	border-collapse: separate;
	border-spacing: 5px 0;
}
.divTable .cell{
	display: table-cell;
}
.divTable .cell.top{
	vertical-align: top;
}
.divTable .cell.middle{
	vertical-align: top;
}
.divTable .cell.bottom{
	vertical-align: bottom;
}

@media screen and (max-width: 768px){
.divTable{
	display: block;
	width: 100%;
	margin: 0;
}
.divTable .cell{
	display: block;
	width: 100%;
	margin: 5px 0;
}
table.noborder{
	display: block;
	width: 99%;
	margin: 15px auto;
	border-collapse:collapse;
	border: 0;
}
table.noborder tbody{
	display: block;
	width: 100%;
}
table.noborder tr{
	display: block;
	padding: 0 0 15px 0;
	width: 100%;
}
table.noborder th{
	text-align: left;
}
table.noborder th,
table.noborder td{
	padding: 5px;
	display: list-item;
	width: 100%;
	display: block;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
	
}
@media screen and (max-width: 620px) {
/*sp*/
table.normal{
	display: block;
	width: 99%;
	border: 0 !important;
}
table.normal tbody{
	display: block;
	width: 100%;
}
table.normal tr{
	display: block;
	margin-bottom: 0;
	width: 100%;
	border-bottom: 1px solid #000;
}
table.normal th,
table.normal td{
	display: list-item;
	width: 100%;
	display: block;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
table.normal th{
	margin-bottom: 5px;
	list-style-type: none;
	width: 100%;
	display: block;
	padding: 5px!important;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
table.normal td{
	margin-left: 0;
	padding: 0 0 5px 0 !important;
	width: 100%;
	list-style-type: none;
	border: 0 !important;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
}


/* inWP
************************************************************************************/
.inWP table{
	width: 100%;
	margin: 5px auto 15px auto;
	border-collapse:collapse;
	border: 0;
}

.inWP table caption{
	padding: 5px 0;
	text-align: left;
	display: block;
	width: 100%;
	font-weight: bold;
}
.inWP table caption:before{
	content: "■";
}

.inWP table th{
	padding: 10px 10px;
	text-align: center;
	border-bottom: 1px dotted #000;
	color: #000;
}
.inWP table th span{
	background: #deff43;
	padding: 0 2px;
}
.inWP table td{
	padding: 10px 10px;
	border-bottom: 1px dotted #000;
}
.inWP table tr:last-child th,
.inWP table tr:last-child td{
	border-bottom: 1px solid #000;
}

.inWP table thead th{
	background: #999;
	color: #FFF;
}


/*画像寄せ
----------------------------------------------------------------------*/
.alignleft {
	float: left;
	margin: 0 10px 10px 0;
}

.alignright {
	float: right;
	margin: 0 0 10px 10px;
}

.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
	clear: both;
}
@media screen and (max-width: 768px){
.inWP img{
	max-width: 100%;
	height: auto;
}
.alignleft {
	float: none;
	margin: 5px auto;
	display: block;
}

.alignright {
	float: none;
	margin: 5px auto;
	display: block;
}

.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
	clear: both;
}
}

/*各パーツ
----------------------------------------------------------------------*/
.inWP ol{
	list-style-type: decimal;
	margin: 0 0 20px 2em;
}
.inWP ol li{
	margin: 5px 0;
}

.inWP ul{
	list-style-type: disc;
	margin: 0 0 20px 2em;
}
.inWP ul li{
	margin: 5px 0;
}


/*ページング
----------------------------------------------------------------------*/
.page_navi{
	text-align: center;
}

ul.page_navi li{
	margin: 10px 0 15px 0;
	background: none;
	padding: 0;
	list-style-type: none;
	display: inline-block;
}

ul.page_navi li span{
	background: #e50012;
	width: 3.5em;
	height: 3.5em;
	border-radius: 50%;
	color: #fff;
	text-align: center;
	line-height: 3.5;
	margin: 0 2px;
	display: block;
    -webkit-transition: all 0.9s ease-in-out;
    -moz-transition: all 0.9s ease-in-out;
    -o-transition: all 0.9s ease-in-out;
    transition: all 0.9s ease-in-out;
}
ul.page_navi li a{
	background: #999;
	width: 3.5em;
	height: 3.5em;
	border-radius: 50%;
	color: #fff;
	text-align: center;
	line-height: 3.5;
	margin: 0 2px;
	display: block;
	text-decoration: none;
    -webkit-transition: all 0.9s ease-in-out;
    -moz-transition: all 0.9s ease-in-out;
    -o-transition: all 0.9s ease-in-out;
    transition: all 0.9s ease-in-out;
}

ul.page_navi li:hover span,
ul.page_navi li:hover a{
	background: #000;
}

.screen-reader-response,
.wpcf7-not-valid-tip,
.wpcf7-response-output{
	color: #F00;
	display: block;
	padding: 0.3em 0;
}

.navi .cmt{
	text-align:center;
}

