@charset "utf-8";

/* reset
-------------------------------------------------------*/
/* http://meyerweb.com/eric/tools/css/reset/ 
v2.0 | 20110126
License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
box-sizing: border-box;
word-break: break-all;
word-wrap: break-word;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, main, menu, nav, section, small {
display: block;
}
body {
font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
font-size: 16px;
line-height: 1.6;
color: #111;
background: #fff;
height: 100%;
-webkit-text-size-adjust: none;
-webkit-overflow-scrolling: touch;/*iOSスクロールを滑らかにする*/
}
a {
color: #0076ce;
text-decoration: none;
transition: .2s;
}
a:hover {
opacity: 0.7;
text-decoration: underline;
}
b {
font-weight: bold;
}
img {
width: 100%;
vertical-align: top;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
    @media screen and (max-width: 768px) {
    body {
    font-size: 80%;
    }
    }
/* 
-------------------------------------------------------*/
ol::before,ol::after,
ul::before,ul::after {
display: none;
}
/* module
-------------------------------------------------------*/
#wrapper {
overflow: hidden;
min-width: 320px;
}
    @media screen and (max-width: 768px) {
    #wrapper {
    }
    }
.area {
padding: 0 20px;
}
.inner {
width: 100%;
max-width: 1070px;
margin: 0 auto;
}
    @media screen and (max-width: 768px) {
	.area {
	padding: 0 20px;
	}
    }
    @media screen and (max-width: 420px) {
    }
.pc {
display: block;
}
.sp {
display: none;
}
    @media screen and (max-width:768px){
    .sp {
    display: block;
    }
    .pc {
    display: none;
    }
    }
/* header
-------------------------------------------------------*/
#header {
width: 100%;
height: 80px;
background: #fff;
border-bottom: 1px solid #ddd;
padding: 0;
}
#header .inner {
display: flex;
flex-flow: row nowrap;
align-items: center;
justify-content: center;
max-width: 100%;
height: 100%;
}
#header .inner::after {
display: none;
}
#header .logo {
display: flex;
padding: 20px;
}
#header .logo a {
opacity: 1;
}
#header .logo img {
max-width:242px;
}
    @media screen and (max-width: 768px) {
    #header {
    height: 60px;
    }
    #header .inner {
	justify-content: center;
    }
    #header .wrap .logo {
    padding: 0;
    }
    }
/* footer
-------------------------------------------------------*/
#footer {
border-top: 1px solid #ddd;
padding: 50px 0;
}
#footer .txt {
text-align: center;
padding: 10px;
font-size: 80%;
}
#footer .copy {
text-align: center;
padding: 10px;
font-size: 80%;
}
#page_top {
position: fixed;
bottom: 10px;
right: 10px;
width: 40px;
height: 40px;
cursor: pointer;
border-radius: 20px;
background: #000;
z-index: 1;
display: flex;
justify-content: center;
align-items: center;
}
#page_top::before {
content: "";
width: 13px;
height: 13px;
border: 3px solid #fff;
border-bottom: none;
border-left: none;
transform: rotate(-45deg) translate(-2px,2px);
}
    @media screen and (max-width:768px){
    #page_top {
    width: 50px;
    height: 50px;
    }
    }
    @media screen and (max-width:420px){
    #page_top {
    width: 40px;
    height: 40px;
    }
    }

/* parts
-------------------------------------------------------*/
.bar {
}
.bar > * {
display: flex;
flex-flow: column;
justify-content: center;
align-items: center;
}
    @media screen and (max-width:768px){
	.bar {
	margin-bottom: 20px;
	}
    }
    @media screen and (max-width:420px){
    .bar {
    font-size: 160%;
    }
    }

    @media screen and (max-width:768px){
    }
/* area
-------------------------------------------------------*/

/* contents
-------------------------------------------------------*/
#contents .inner {
display: flex;
justify-content: space-between;
padding: 50px 0;
}
@media screen and (max-width:800px){
	#contents .inner {
	display: block;
	}
}
#main {
flex: 1 0 0;
max-width: 720px;
padding-right: 30px;
}
.pr_txt {
display: flex;
font-size: 80%;
margin-bottom: 20px;
}
.pr_txt .icon {
width: 30px;
background: #999;
color: #fff;
text-align: center;
margin-right: 10px;
}
.date_txt {
display: flex;
align-items: center;
}
.date_txt::before {
content: "";
display: inline-block;
margin-right: 6px;
background-repeat: no-repeat;
background-position: center;
width: 13px;
height: 13px;
background-image: url("../images/icon-clock.svg");
}
.sns {
display: flex;
padding-bottom: 40px;
}
.sns > *{
padding-right: 7px;
}
.sns img {
width: auto;
}
#main .title {
font-size: 145%;
font-weight: bold;
margin-bottom: 20px;
}
.date_txt {
font-size: 80%;
padding-bottom: 10px;
margin-bottom: 10px;
border-bottom: 1px solid #eee;
}
.main_txt {
line-height: 1.8;
margin-bottom: 2em;
}
.main_txt_bottom {
margin-bottom: 10px;
}
.main_img {
text-align: center;
margin-bottom: 30px;
}
.main_img span {
display: block;
text-align: left;
font-size: 80%;
line-height: 1.4;
padding: 10px 0;
max-width: 580px;
margin: 0 auto;
}
.main_img img {
width: auto;
max-width: 100%;
}
@media screen and (max-width:500px){
	.main_img span {
	text-align: center;
	}
}
.main_tit {
font-size: 140%;
font-weight: bold;
padding-top: 20px;
margin-bottom: 30px;
line-height: 1.2;
}
.layout {
display: flex;
}
.layout.typeR {
flex-flow: row-reverse nowrap;
}
.layout .main_img {
flex: 0 1 250px;
margin-bottom: 10px;
}
.layout .main_txt {
flex: 1 0 0;
padding-left: 30px;
}
.layout.typeR .main_txt {
padding-left: 0;
padding-right: 30px;
}
@media screen and (max-width:800px){
	#main {
	padding-right: 0;
	}
}
@media screen and (max-width:500px){
	.layout {
	display: block;
	}
	.layout .main_txt {
	padding-left: 0;
	}
	.layout.typeR .main_txt {
	padding-right: 0;
	}
}
#side {
flex: 0 1 300px;
}
#side a {
text-decoration: none;
color: #000;
}
#side a:hover {
text-decoration: underline;
}
.side_ban {
padding-bottom: 50px;
}
.side_ban .ban {
margin-bottom: 20px;
text-align: center;
width: auto;
}
.side_ban .ban img {
max-width: 300px;
}
@media screen and (max-width:800px){
	.side_ban {
	display: flex;
	flex-flow: row wrap;
	padding-bottom: 30px;
	}
	.side_ban .ban {
	width: 50%;
	padding: 0 10px;
	}
}
@media screen and (max-width:500px){
	.side_ban .ban {
	width: 100%;
	padding: 0;
	}
}
.side_tit {
font-size: 140%;
font-weight: bold;
padding-bottom: 15px;
margin-bottom: 20px;
line-height: 1.2;
border-bottom: 1px solid #eee;
}
.side_link_list {
padding-bottom: 10px;
}
.side_link_list .item {
padding-bottom: 10px;
}
.side_link_list .item > * {
display: flex;
color: #000;
}
.side_link_list .img {
flex: 0 1 52px;
}
.side_link_list .txt {
padding: 0 0 0 10px;
flex: 1 0 0;
font-size: 90%;
line-height: 1.5;
height: 3em;
overflow: hidden;
align-self: center;
}
.more {
margin-bottom: 40px;
}
@media screen and (max-width:500px){
	.more {
	text-align: right;
	}
}
.side_rank_list {
padding-bottom: 10px;
}
.side_rank_list .item {
position: relative;
padding-bottom: 10px;
}
.side_rank_list .num {
position: absolute;
width: 20px;
height: 20px;
display: flex;
align-items: center;
justify-content: center;
background: #333;
color: #fff;
font-size: 80%;
}
.side_rank_list .item:nth-child(1) .num {
background-color: #c8a353;
}
.side_rank_list .item:nth-child(2) .num {
background-color: #999999;
}
.side_rank_list .item:nth-child(3) .num {
background-color: #925814;
}
.side_rank_list .item > * {
display: flex;
color: #000;
}
.side_rank_list .img {
flex: 0 1 96px;
}
.side_rank_list .txt {
padding: 0 0 0 10px;
flex: 1 0 0;
font-size: 90%;
line-height: 1.5;
height: 4.5em;
overflow: hidden;
align-self: center;
}
.side_article_list {
padding-bottom: 10px;
}
.side_article_list .item {
position: relative;
padding-bottom: 10px;
}
.side_article_list .item > * {
display: flex;
color: #000;
}
.side_article_list .img {
flex: 0 1 96px;
}
.side_article_list .txt {
padding: 0 0 0 10px;
flex: 1 0 0;
font-size: 90%;
line-height: 1.5;
height: 4.5em;
overflow: hidden;
align-self: center;
}
#bottom {
padding-bottom: 50px;
}
.bottom_tit {
font-size: 140%;
font-weight: bold;
padding-bottom: 15px;
margin-bottom: 20px;
line-height: 1.2;
border-bottom: 1px solid #eee;
}
.bottom_news_list {
padding-bottom: 10px;
display: flex;
flex-flow: row wrap;
}
.bottom_news_list .item {
position: relative;
padding-bottom: 15px;
flex: 0 0 33.33%;
}
.bottom_news_list .item > * {
display: flex;
color: #000;
}
.bottom_news_list .img {
flex: 0 1 138px;
}
.bottom_news_list .txt {
padding: 0 30px 0 10px;
flex: 1 0 0;
font-size: 90%;
line-height: 1.5;
height: 4.5em;
overflow: hidden;
align-self: flex-start;
}
@media screen and (max-width:800px){
	.bottom_news_list .item {
	flex: 0 0 50%;
	}
	.bottom_news_list .txt {
	padding-right: 10px;
	}
}
@media screen and (max-width:600px){
	.bottom_news_list .item {
	flex: 0 0 100%;
	}
	.bottom_news_list .txt {
	padding-right: 0;
	}
}
/* pan
-------------------------------------------------------*/
#pan {
padding: 10px 0;
}
#pan ol {
display: flex;
}
#pan ol li:not(:last-child)::after {
content: ">";
padding: 0 10px;
}
#pan a {
color: #111;
}
@media screen and (max-width: 1160px) {
	#pan {
	padding: 10px;
	}
}
