@charset("UTF-8");

*{
	box-sizing:border-box;
	margin:0;
	padding:0;
	letter-spacing:0.04em;
}
body{
	font-family:メイリオ, Meiryo, 游ゴシック, YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN",  sans-serif;
	font-weight:500;
	font-size:14px;
	color:#1e1e1e;
	opacity: 0;
}

img{
	border:none;
}

ul,ol{
	list-style:none;
}

a{
	text-decoration:none;
	color:#000;
}
a.hover:hover{
	opacity:0.7;
	filter:alpha(opacity=70);
}
a.u-line{
	text-decoration:none;
}
a.u-line:hover{
	text-decoration:underline;
}


.sp{
	display:none;
}

.inner{
	width:1040px;
	margin:0 auto;
	position:relative;
}
.outer{
	width:100%;
	min-width:1040px;
	margin:auto;
}
.f-left{
	float:left;
}
.f-right{
	float:right;
}
.ov-hidden{
	overflow:hidden;
}
.clear{
	clear:both;
}
/* ************header************** */
header{
	border-bottom:1px solid #dcdcdc;
}
header .links{
	height:25px;
	background:#dfdfdc;
}
header .links .inner{
	height:25px;
}
header .links .f-right{
	margin-left:40px;
}
header .links a img{
	vertical-align:top;
	margin-top:6px;
}
header .header-main{
	height:130px;
}
header h1{
	padding-top:18px;
	font-size:100%;
}
header h1 a{
	color:#d0111b;
	font-weight:400;
}
header h1 a img{
	display:block;
	padding-top:5px;
}
.search-text{
	width:200px;
	height:30px;
	border:1px solid #dcdcdc;
	border-radius:4px;
	background:transparent;
	appearance:none;
	-moz-appearance:none;
	-webkit-appearance:none;
	padding:0 10px;
	display:inline-block;
	margin-right:10px;
}
.search-go{
	border:none;
	appearance:none;
	-moz-appearance:none;
	-webkit-appearance:none;
	width:30px;
	height:30px;
	padding-top:30px;
	background:url(../images/header-icon01.png) no-repeat;
	background-size:100% auto;
	cursor:pointer;
}
.search-area{
	position:absolute;
	right:70px;
	top:50px;
}
.menu-btn{
	position:absolute;
	right:0;
	top:50px;
	cursor:pointer;
	display:block;
}
.menu-btn .pc{
	display:block;
}
.menu-btn .pc:hover{
	opacity:0.7;
	filter:alpha(opacity=70);
}

/* ************.topbanner************* */
.topbanner{
	margin-bottom: 50px;
}
.topbanner table{
	margin-left: auto !important;
	margin-right: auto !important;
}
.topbanner table img{
	width: auto !important;
	max-width: 100%;
	height: auto !important;
}


/* ************.main-visual************* */
.main-visual{
	margin-top:40px;
	margin-bottom:40px;
}
.main-visual img{
	display:block;
	width:100%;
	height:auto;
}


/* ************#contents************* */
#contents{
	background:url(../images/back_img.jpg);
	background-position:center top;
	padding:20px 0 30px;
}

/* *************main contents*************** */
.main-contents{
	width:740px;
}

/* ************sidebar*************** */
.sidebar{
	width:260px;
}
/* .sidebar .posts {
 	margin-top: 8px;
	padding-bottom: 14px;
} */
.sidebar .posts li {
    border: 1px solid #dcdcdc;
    min-height: 370px;
    overflow: hidden;
    box-shadow: 0 2px 3px rgb(220 218 219 / 30%);
    padding-bottom: 20px;
 	margin: 0;
	width: 100%;
}
.sidebar .posts li .thumb {
    height: 172px;
    overflow: hidden;
}
.sidebar .posts li .thumb a {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
}
.sidebar .posts li .thumb img {
    display: block;
    width: 100%;
    height: auto;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}
.sidebar .posts .cat {
    margin: 14px 14px 0;
    display: inline-block;
}
.sidebar .posts .cat a {
    color: #fff;
    border-radius: 3px;
    background: #e60020;
    padding: 6px 14px;
    line-height: 1.1;
    font-size: 12px;
    display: block;
}
.sidebar .posts h2 {
    font-size: 100%;
    line-height: 1.5;
    padding: 0 14px 5px;
}
.sidebar .posts h2 a {
    letter-spacing: -0.05em;
}
.sidebar .posts .outline {
    padding: 0 14px;
    line-height: 1.428;
}
.latest-mag{
	border:1px solid #dfdfdc;
	text-align:center;
	margin-bottom:10px;
}
.latest-advertising ins{
	width: 100% !important;
	height: auto !important;
}
.latest-advertising img{
	width: 100% !important;
	height: auto !important;
}
.latest-mag a{
	display:block;
	width:100%;
	padding:22px 0 15px;
	font-size:16px;
}
.latest-mag p{
	padding-top:8px;
}
.latest-mag img{
	vertical-align:bottom;
	display:block;
	width:100%;
	height:auto;
	max-width:143px;
	margin:auto;
}
.banner-list img,.banner-list a{
	display:block;
	width:100%;
}
.banner-list li{
	margin-bottom:10px;
}
.banner-list .banner-list-child li{
	width: calc(50% - 5px);
}
.banner-list .banner-list-child{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.banner-list .banner-list-child li img{
	width: 100%;
}
/* *****************footer******************** */
footer{
	position:relative;
	border-top:1px solid #dcdcdc;
}
.footer-menu01{
	font-weight:600;
	padding-top:11px;
	padding-bottom:11px;
}
.footer-menu01 li{
	padding-right:30px;
}
.footer-menu01 li.icon{
	padding-right:40px;
}
.footer-menu01 li i{
	font-size:22px;
}
.footer-menu01 a,.footer-menu01 img{
	display:block;
}
.footer-menu02{
	font-size:12px;
	line-height:2;
	background:#dfdfdc;
	margin-bottom:54px;
}
.footer-menu02 li{
	padding-right:30px;
}
.copy-rights{
	font-size:12px;
	text-align:right;
	clear:both;
	padding-top:16px;
	padding-bottom:20px;
}
footer .logo *{
	display:block;
}
#page-top{
	position:absolute;
	right:-60px;
	top:-50px;
}
footer>div.inner{
	position:relative;
}
nav{
	position:fixed;
	top:0;
	right:-400px;
	width:400px;
	height:100%;	
	overflow:auto;
	background:#b70e17;
	color:#fff;
	line-height:1.1;
}
nav a{
	color:#fff;
}
nav>ul>li{
	padding-left:26px;
	padding-right:26px;
	border-bottom:1px solid #fff;
}
.global01 li{
	padding-top:15px;
	padding-bottom:15px;
	font-size:16px;
}
.blog-cat{
	font-size:0;
}
.blog-cat li{
	padding-top:10px;
	padding-right:10px;
}
.global02>li{
	padding-top:8px;
	padding-bottom:8px;
}
.blog-cat li{
	display:inline-block;
}
.blog-cat li a{
	color:#b70e17;
	display:block;
	background:#fff;
	font-size:12px;
	padding:5px 10px;
	border-radius:3px;	
}
.sns{
	font-size:26px;
}
.global02>li:nth-of-type(6){
	border:none;
}
.sns li{
	padding-right:13px;
}
.red{
	color:#d0111b;
}

.fb-like.fb_iframe_widget>span{
	vertical-align:top !important;
}
.share li{
	margin-right:8px;
}
.share li:last-of-type{
	margin-right:0;
}
/* **********************これ以下レスポンシブスタイル************************* */
@media screen and (max-width:767px){
body{
	background:#dfdedc;
	font-size:4.375vw;
}
	.pc{
		display:none !important;
	}
	.sp{
		display:block;
	}
	.inner{
		width:100%;
		margin:0 auto;
		position:relative;
		padding-left:4.68vw;
		padding-right:4.68vw;
	}
	.outer{
		min-width:100%;
		margin:auto;
	}


/* ************header************** */
header{
	border-bottom:1px solid #dcdcdc;
	background:#fcf9f9;
}

header .inner{
	padding-left: 4.68vw;
	padding-right: 4.68vw;
}
header .header-main{
	height:22vw;
}
header h1{
	padding-top:2.5vw;
	font-size:3.75vw;
}
header h1 a{
	color:#d0111b;
	font-weight:400;
}
header h1 a img{
	display:block;
	width:39vw;
	padding-top:1.5vw;
}
.search-text{
	color:#fff;
	border:1px solid #dcdcdc;
	border-radius:4px;
	background:#fff;
	appearance:none;
	-moz-appearance:none;
	-webkit-appearance:none;
	padding:0 10px;
	display:block;
	margin-right:0;
	float:left;
	width:80vw;
	height:8vw;
}
.search-go{
    width: 6.5vw;
    height: 6.5vw;
    padding-top: 6.5vw;
}
.search-area{
    display: block;
    width: 100%;
    padding: 4.68vw;
    position: absolute;
    left: 0;
    right: 0;
    top: 22vw;
    margin: auto;
    z-index: 999;
    background: #fcf9f9;
}
.search-slide-btn{
	width:5.625vw;
	position:absolute;
	top:10.25vw;
	right:16.25vw;
}
.search-slide-btn img{
	display:block;
	width:100%;
}

.menu-btn{
	position:absolute;
	right:4.68vw;
	top:10.25vw;
	cursor:pointer;
	display:block;
	width:6.25vw
}
.menu-btn .sp{
	display:block;
	width:100%;
}
.menu-btn .pc:hover{
	opacity:0.7;
	filter:alpha(opacity=70);
}
header .links{
	height:8.125vw;
}
header .links ul{
	width:25vw;
	padding-top:0.8vw;
	margin:auto;
	padding-left:0;
	padding-right:0;
}
header .links ul li{
	display:inline-block;
	width:100%;	
}
header .links ul li a,header .links ul li img{
	display:block;
	width:100%;
}
header .links .inner{
	height:auto;
}

/* ************.main-visual************* */
.main-visual.inner{
	padding:0;
}


/* ************sidebar*************** */
.sidebar{
	width:100%;
	padding-top:4.68vw;
	padding-bottom:0.45vw;
}

.banner-list img,.banner-list a{
	display:block;
	width:100%;
}
.banner-list li{
	margin-bottom:3.75vw;
}
.sidebar .posts {
    margin-top: 0;
}
.sidebar .posts li {
    background: #fff;
    padding-left: 4.6875vw;
    padding-right: 4.6875vw;
    margin-bottom: 4.6875vw;
    width: 100%;
    min-height: auto;
    box-shadow: none;
    margin-bottom: 3.125vw;
    margin-right: 0;
    padding-bottom: 6.25vw;
    padding-top: 6.25vw;

}
.sidebar .posts li .thumb {
    float: left;
    width: 36vw;
    height: 27vw;
    overflow: hidden;
}
.sidebar .posts .cat {
    margin: 0 4.6875vw 0;
}
.sidebar .posts .cat a {
    padding: 1vw 4vw;
    font-size: 4.375vw;
}
.sidebar .posts h2 {
    clear: both;
    font-size: 100%;
    line-height: 1.5;
    padding: 4.6875vw 0;
}

/* *************contents************** */
main.inner{
	padding:0;
}
	.main-contents.f-left{
		float:none;
		width:100%;
		padding:0;
		background:none;
	}
	.sidebar.f-right{
		float:none;
		width:100%;
		background:#fff;
		padding-left:4.6875vw;
		padding-right:4.6875vw;
	}
	 #contents{
		background:#dfdedc;
		padding-top:3.125vw;
		padding-bottom:0;
	}

/* ************sidebar**************** */
	.sidebar .twitter-area h3{
		height:9.375vw;
		background:#be1a20;
		padding-top:2vw;
		margin-bottom:4.375vw;
	}
	.sidebar .twitter-area h3 img.sp{
		display:inline-block;
		height:5.3125vw;
		width:auto;
	}
	.sidebar .twitter-area{
		width:100%;
		margin-bottom:6.25vw;
	}
	.sidebar .time-line{
		padding-left:0;
		padding-right:0;
		margin:auto;
	}
	.sidebar .time-line img.sp{
		display:block;	
		width:100%;
	}

	.sidebar .special-contents, .sidebar .service{
		width:100%;
	}
	.sidebar .special-contents h3, .sidebar .service h3{
		margin-bottom:4.375vw;
		height:9.375vw;
		font-size:5.625vw;
		line-height:9.375vw;
	}
	.sidebar .special-contents ul, .sidebar .service ul{
		padding:0 15px 5vw;
    	width: 100%;
    	margin-bottom: 0;
	}
	.sidebar .special-contents ul a img, .sidebar .service ul a img{
		display:block;
		width:100%;
	}
	.sidebar .special-contents ul li,.sidebar .service ul li{
		margin-bottom:3.125vw;
	}
	.sidebar .special-contents ul li:last-child,.sidebar .service ul li:last-child{
		margin-bottom:0;
	}
	div.time-line iframe,div.time-line{
		height:110vw !important;
		width:100% !important;
	}

/* *************footer**************** */
.footer-menu01 {
	text-align:center;
	padding-top:5.4vw;
	padding-bottom:6.25vw;
	background:#fff;
}
.footer-menu01 li{
	display:inline-block;
	padding:0 2.7vw;
	float:none;
	vertical-align:middle;
}
.footer-menu01 li.icon{
	padding:0 2.7vw;
}
.footer-menu01 a, .footer-menu01 img {
    display: inline-block;
	font-size:3.125vw;
	padding:0;
	vertical-align:bottom;
}
footer>div.inner {
	background:#dfdedc;
	text-align:center;
}
footer>div.inner .f-right{
	float:none;
	width:30.625vw;
	margin-left:auto;
	margin-right:auto;
	padding-top:4.375vw;
	padding-bottom:2.5vw;
	display:block;
}
footer>div.inner .f-right img{
	display:block;
	width:100%;
}
.copy-rights {
    font-size: 12px;
    text-align: center;
    padding-top: 0;
    padding-bottom: 3.125vw;
}
#page-top {
    right: 4.68vw;
    top: 18vw;
	z-index:9999;
}


/* ********************global navi***************** */
nav {
    position: absolute;
    top: 30.125vw;
    right: 0;
	left:0;
	margin:auto;
    width: 100%;
    height: calc(100% - 30.125vw);
	display:none;
}

nav>ul>li{
	padding-left:4.6875vw;
	padding-right:4.6875vw;
}
.global01 li{
	padding-top::4.6875vw;
	padding-bottom::4.6875vw;
	font-size:4.375vw;
}
.blog-cat li{
	padding-top:2.5vw;
	padding-right:2.5vw;
}
.global02>li{
	padding-top:2.5vw;
	padding-bottom:2.5vw;
}
.blog-cat li{
	display:inline-block;
}
.blog-cat li a{
	color:#b70e17;
	display:block;
	background:#fff;
	font-size:3.125vw;
	padding:1.5vw 4.6875vw;
}
.sns{
	font-size:26px;
}
}