/*外注差分によるバッティング回避用CSS*/

#sitemap li {
    font-size: 13px;
    position: relative;
    padding-left: 20px;
}





#sitemap li:before {
    content: "";
    display: block;
    position: absolute;
    border-top: 1px solid #e50012;
    border-right: 1px solid #e50012;
    width: 5px;
    height: 5px;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    left: 5px;
    top: 7px;
}


#sitemap > li > ul > li > ul {
    margin-bottom: 5px;
}

#sitemap > li {
    margin-bottom: 15px;
}


#sitemap > li > ul > li > ul > li > ul {
    margin-bottom: 5px;
}

.rss_date {
    float: left;
    width: 15%;
}

.rss_title {
    float: right;
    width: 80%;
    margin-bottom: 10px;
	font-size:16px;
}

.rss_contents {
    float: right;
    width: 80%;
}
.sub_news_box dl a{
	color:#2778a7;
}

.sub_news_box dl a[target="_blank"]:after{
	content:"";
	display:inline-block;
	width:9px;
	height:8px;
	background:url(../image/icon_blank.gif) no-repeat center center;
	margin:0 3px;
}
.sub_news_box dl a:hover{
	text-decoration:underline;
}
.sub_news_box dl:after {
    content: "";
    display: block;
    clear: both;
}

.sub_news_box dl {
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 1px dotted #ccc;
}
.sub_news_box dl img{
	width:auto;
	height:auto;
	max-width:100%;
}

.sub_news_box table {
	width:100%;
	margin:10px 0;
}
.sub_news_box table tr > *{
	padding:5px 10px;
	border:1px solid #DDD;
}
.sub_news_box table tr > th{
	background:#EEE;
	font-weight:normal;
}

.news_link_list {
    margin-bottom: 50px;
}

.news_link_list:after {
    display: block;
    content: "";
    clear: both;
}


.news_link_list li {
    float: left;
    width: 22%;
    margin-right: 4%;
    text-align: center;
}


.news_link_list li:nth-of-type(4n) {
    margin-right: 0;
}


.news_link_list li a {
    display: block;
    width: 100%;
    padding: 10px;
    font-size: 16px;
    border: 1px solid #e50012;
    transition: 0.3s ease;
}

.news_link_list li a:hover,.news_link_list li.current a {
    background-color: #e9e9e9;
}

/*support*/
/*-------------------------------------------------------------------------*/
.support_box{
	padding:30px;
	border:1px solid #EEE;
	border-radius:8px;
}
.support_table{
	table-layout:fixed;
}
.support_table *{
	vertical-align:middle;
}
.support_table th{
	vertical-align:middle;
	width:300px;
	padding:10px 0;
	background:#FCE5E7;
	text-align:center;
	font-size:22px;
	font-weight:normal;
}
.support_table th.gray{
	background:#EBF0F3;
}
.support_table td{
	padding:10px 0 10px 20px;
}

.blog_box article{
	float:left;
	width:23.5%;
	margin-left:2%;
	margin-bottom:40px;
}

.blog_box article a{
	transition:0.5s;
}
.blog_box article a:hover{
	opacity:0.7;
}
.blog_box article:first-child{
	margin-left:0;
}
.blog_box h5{
	display:table;
	width:100%;
	position:relative;
	margin-bottom:15px;
}
.blog_box h5 span{
	display:table-cell;
	padding:20px 15px 15px 0;
	border-bottom:1px solid #CCC;
	font-size:16px;
	line-height:1.5;
	position:relative;
	z-index:1;
}
.blog_box h5:before{
	content:"";
	width:34px;
	height:1px;
	background:#E10415;
	position:absolute;
	left:0;
	bottom:0;
	z-index:10;
}

.blog_box h5 span:after{
	content:"";
	box-sizing:border-box;
	width:6px;
	height:6px;
	border-top:1px solid #E10415;
	border-right:1px solid #E10415;
	-webkit-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
	position:absolute;
	right:3px;
	top:calc(50% - 1px);
}
.support_img_wrap{
	overflow:hidden;
}
.support_img{
	padding-top:58%;
	background-size:cover;
	background-position:center center;
	transition:0.5s;
}

a:hover .support_img{
	-webkit-transform: scale(1.1);
	-moz-transform: scale(1.1);
	-o-transform: scale(1.1);
	-ms-transform: scale(1.1);
	transform: scale(1.1);
}

.free_btn a{
	clear:both;
	display:inline-block;
	min-width:260px;
	text-align:center;
	font-size:15px;
	line-height:1.5;
	background:#EEE;
	border:1px solid #CCC;
	border-radius:100px;
	padding:8px;
	transition:0.3s;
}
.free_btn a:hover{
	border-color:#333;
	background:#333;
	color:#FFF;
}

.support_box3 > ul > li{
	float:left;
	border-left:1px solid #CCC;
	margin-bottom:30px;
}
.support_box3 > ul > li:nth-child(1){
	width:32.5%;
	padding-right:2.5%;
	border-left:none;
}
.support_box3 > ul > li:nth-child(2){
	width:35%;
	padding:0 2.5%;
}
.support_box3 > ul > li:nth-child(3){
	width:32.5%;
	padding-left:2.5%;
}

.support_box3 h5{
	font-size:20px;
	line-height:1.5;
	margin-bottom:10px;
}

.support_box3 > ul > li li a{
	display:inline-block;
	position:relative;
	padding-left:15px;
	margin-bottom:8px;
	font-size:15px;
	line-height:1.5;
}

.support_box3 > ul > li li a:before{
	content:"";
	box-sizing:border-box;
	width:6px;
	height:6px;
	border-top:1px solid #E10415;
	border-right:1px solid #E10415;
	-webkit-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
	position:absolute;
	left:-3px;
	top:calc(50% - 3px);
}

.support_box3 > ul > li li a:hover{
	text-decoration:underline;
}

.movie_box3 li{
	float:left;
	width:32%;
	margin-left:2%;
}
.movie_box3 li:first-child{
	margin-left:0;
}

.movie{
	height:0;
	padding-top:calc(100% * (360 / 640));
	position: relative;
}
.movie iframe{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}

.movie_caption{
	display:table;
	width:100%;
	position:relative;
}
.movie_caption .valign_m{
	display:table-cell;
	border-bottom:1px solid #CCC;
	padding:15px 0;
	font-size:16px;
	line-height:1.5;
}

.movie_caption:before{
	content:"";
	width:34px;
	height:1px;
	background:#E10415;
	position:absolute;
	left:0;
	bottom:0;
}

.movie_box4 li{
	float:left;
	width:24.1%;
	margin-left:1.2%;
}
.movie_box4 li:first-child{
	margin-left:0;
}

.movie_box4 li img{
	width:100%;
	height:auto;
}

/*contact*/
/*-------------------------------------------------------------------------*/

.box_tel{
	border:1px solid #E2E7ED;
	border-radius:8px;
	text-align:center;
	overflow:hidden;
	font-size:13px;
}
.box_tel h4{
	font-size:22px;
	padding:10px;
	background:#EBF0F3;
}

.box_tel_l {
    float: left;
    width: 33%;
    background: url(../image/common/icon_contact_tel.gif) no-repeat center 10px;
    padding: 45px 10px 20px;
    position: relative;
}

.box_tel_r {
    float: left;
    width: 33%;
    background: url(../image/common/icon_contact_fax.gif) no-repeat center 10px;
    padding: 45px 10px 20px;
    position: relative;	
}

.foot_contact .box_tel_l {
    float: left;
    width: 50%;
    background: url(../image/common/icon_contact_tel.gif) no-repeat center 10px;
    padding: 45px 10px 20px;
    position: relative;
}

.foot_contact .box_tel2_in {
    width: 50% !important;
    font-size: 19px;
}

.box_tel_l:after,.box_tel_r:after{
	content:"";
	width:1px;
	height:calc(100% - 60px);
	position:absolute;
	top:30px;
	right:0;
	background:#DDD;
}

.box_tel_num{
	font-size:15px;
}
.box_tel_num .num{
	font-size:28px;
	font-weight:bold;
	margin-left:10px;
}

.box_tel .box_tel2_in a {
    display: block;
    width: 100%;
    border: 1px solid #ccc;
    border-radius: 12px;
    padding: 8px;
    transition: 	0.3s ease;
}

.box_tel .box_tel2_in a:hover{
	background-color: #e10415;
	color: #fff;	
}


.box_tel .box_tel2_in {
    width: 33%;
    font-size: 19px;
}



.box_tel2{
	font-size:0;
	padding:40px 0;
	background:#EEE;
	text-align:center;
}
.box_tel2:nth-of-type(n+2){
	padding-top:0;
}

.box_tel2_in,.box_tel3_in{
	display:inline-block;
	width:50%;
	font-size:14px;
	padding:60px 2.5% 10px;
}
.box_tel2_in:nth-child(even),
.box_tel3_in:nth-child(3n+2),.box_tel3_in:nth-child(3n){
	border-left:1px solid #CCC;
}

.box_tel2 .btn a{
	display: inline-block;
	width:100%;
	max-width:300px;
	text-align:center;
	border:1px solid #333;
	background:#FFF;
	padding:10px 35px 10px 20px;
	border-radius:100px;
	position:relative;
	transition:0.3s;
}


.box_tel3_in{
	display:inline-block;
	width:33.3333%;
	font-size:14px;
	padding:60px 2.5% 10px;
}




.box_tel2 .btn a:after,.box_tel3 .btn a:after{
	content:"";
	box-sizing:border-box;
	width:8px;
	height:8px;
	border-top:1px solid #333;
	border-right:1px solid #333;
	-webkit-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
	position:absolute;
	right:20px;
	top:calc(50% - 4px);
	transition:0.3s;
}

.sub_foot_contact {
    display: block;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 27px;
    font-size: 15px;
    transition: 0.3s ease;
}

.sub_foot_contact:hover {
    background-color: #e10415;
    color: #fff;
}

.box_tel2 .btn a:hover{
	background:#E10415;
	border-color:#E10415;
	color:#FFF;
}
.box_tel2 .btn a:hover:after{
	border-top:1px solid #FFF;
	border-right:1px solid #FFF;
}

.view{
	background: url(../image/common/icon_contact_view.gif) no-repeat center 10px;
}
.catalog{
	background: url(../image/common/icon_contact_catalog.gif) no-repeat center 9px;
}
.mail{
	background: url(../image/common/icon_contact_mail.gif) no-repeat center 10px;
}

/*bg*/
/*-----------------------------------------------------------------*/
.bg_gray{
	background:#EEE;
	padding:25px;
}
.check_list li{
	padding:5px 0 5px 20px;
	position:relative;
}
.check_list li:before{
	content:"";
	box-sizing: border-box;
	width:12px;
	height:12px;
	border:1px solid #666;
	position:absolute;
	left:0;
	top:calc(50% - 6px);
	background:#FFF;
}

.check_list li:after{
	content:"";
	box-sizing: border-box;
	width:14px;
	height:8px;
	border-left:2px solid #E50012;
	border-bottom:2px solid #E50012;
	-webkit-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	transform: rotate(-45deg);
	position:absolute;
	left:0px;
	top:calc(50% - 8px);
}